/* Subpage family (Mission and vision, content pages). Spacing, type and colour are native controls and kit bindings; this file holds only state, tier switches and what no control reaches. */

/* Side nav: sticky beside the content; the current item carries weight 800 (a bound type step cannot change weight per state). */
.iwg-sidenav { position: sticky; top: 40px; align-self: start; }
.iwg-sidenav__item { transition: background-color 180ms linear; }
.iwg-sidenav__item .elementor-heading-title { transition: color 180ms linear; }
.elementor .iwg-sidenav .iwg-sidenav__item--current .elementor-heading-title { font-weight: 800; }
.iwg-sidenav__item:not(.iwg-sidenav__item--current):hover .elementor-heading-title,
.iwg-sidenav__item:not(.iwg-sidenav__item--current):focus-visible .elementor-heading-title { color: var(--e-global-color-intwater_blue); }
.iwg-sidenav__item:focus-visible { background-color: var(--e-global-color-intwater_band); outline: none; }
.iwg-sidenav__item .elementor-heading-title { border-left: 0; }
.iwg-sidenav__contact .elementor-button { background: transparent; }

/* Prose: emphasis, lists and links inside Text Editor copy. */
.iwg-prose strong { font-weight: 800; color: var(--e-global-color-intwater_ink); }
.iwg-prose ul, .iwg-prose ol { margin: 0 0 8px; padding-left: 1.25em; }
.iwg-prose li { margin: 0 0 8px; }
.iwg-prose .elementor-widget-text-editor a { text-decoration: underline; text-underline-offset: 3px; }
.iwg-prose .elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* The comp's enquire and action buttons set the arrow 12px from the label (style.css .iwg-arrow defaults to 10px). */
html body .iwg-enquire .iwg-arrow, html body .iwg-actions .iwg-arrow { --iwg-arrow-gap: 12px; }

/* Text measures in ch of the paragraph's own font (the comp's max-width: Nch). */
.iwg-ch-60 p { max-width: 60ch; }
.iwg-ch-68 p { max-width: 68ch; }

/* Reference tables (the one HTML widget per table page). Type reads the kit's card-body step. */
.iwg-table { width: 100%; border-collapse: collapse; margin: 0;
	font-family: var(--e-global-typography-intwater_card_body-font-family), sans-serif; font-weight: var(--e-global-typography-intwater_card_body-font-weight);
	font-size: var(--e-global-typography-intwater_card_body-font-size); line-height: var(--e-global-typography-intwater_card_body-line-height); color: var(--e-global-color-intwater_body); }
.iwg-prose .iwg-table td { padding: 14px 18px; border-bottom: 1px solid var(--e-global-color-intwater_border_row); vertical-align: top; }
.iwg-prose .iwg-table tr:nth-child(even) td { background: var(--e-global-color-intwater_zebra); }
.iwg-prose .iwg-table td:first-child { color: var(--e-global-color-intwater_ink); }
.iwg-prose .iwg-table tr:hover td { background: var(--e-global-color-intwater_row_hover); }

/* Contact cells and label images keep their own link colour. */
.iwg-cell a { text-decoration: underline; text-underline-offset: 3px; }
.iwg-cell .elementor-widget-text-editor p + p { margin-top: 10px; }

@media (max-width: 767px) {
	/* Side nav collapses above the content as chips (the comp's chip colours: current fills blue). */
	.iwg-sidenav { position: static; }
	.iwg-sidenav .iwg-sidenav__list { border-top-width: 0; }
	.elementor .iwg-sidenav .iwg-sidenav__item.e-con { width: auto; border-width: 1px; border-style: solid; border-color: var(--e-global-color-intwater_card_border); }
	.elementor .iwg-sidenav .iwg-sidenav__item--current.e-con { border-color: var(--e-global-color-intwater_blue); background-color: var(--e-global-color-intwater_blue); }
	.elementor .iwg-sidenav .iwg-sidenav__item .iwg-sidenav__label { padding: 9px 14px; border-left-width: 0; }
	.elementor .iwg-sidenav .iwg-sidenav__item--current .elementor-heading-title { color: var(--e-global-color-intwater_white); }
	.iwg-sidenav__contact { display: none; }
	.iwg-prose .iwg-table td { padding: 12px 10px; }
	.iwg-prose .iwg-table td:last-child { white-space: nowrap; }
}

/* Imported reference tables scroll inside their own wrapper instead of widening the page (QA D1). */
html body .elementor .iwg-table-wrap { max-width: 100%; min-width: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* Portal gate prompt (includes/portal.php) replaces a gated page's whole body for visitors without access. */
.intwater-portal-gate { max-width: 750px; padding: 72px clamp(20px, 5vw, 40px) 88px; }
.intwater-portal-gate h2 { margin: 0 0 14px; }
.intwater-portal-gate p { margin: 0 0 12px; }
