/* ========== Header nav (menu widget 45d52b66 has the old blue hard-coded): accessible blue for Support + hover ========== */
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item.elementor-item-active { color: var(--av-blue, #0A72BB); }
.elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu > li:last-child > a.elementor-item { background: var(--av-blue, #0A72BB) !important; transition: background-color .2s ease; }
.elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu > li:last-child > a.elementor-item:hover { background: var(--av-blue-hover, #085E9B) !important; }
/* Phone/tablet menu: solid panel with the page dimmed behind it, Support as a button */
@media (max-width: 1024px) {
	.elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container { background: var(--av-bg, #fff) !important; box-shadow: 0 12px 32px rgba(11, 31, 58, .12), 0 0 0 100vmax rgba(11, 31, 58, .45) !important; clip-path: inset(0 -100vmax -100vmax -100vmax); }
	.elementor-location-header .elementor-nav-menu--dropdown > .elementor-nav-menu > li:last-child > a { margin: 12px 20px 16px; justify-content: center; border: 0 !important; border-radius: 10px; background: var(--av-blue, #0A72BB) !important; color: #fff !important; font-weight: 600; }
	.elementor-location-header .elementor-nav-menu--dropdown > .elementor-nav-menu > li:last-child > a:hover { background: var(--av-blue-hover, #085E9B) !important; }
}

/* ========== Dark theme: blue TEXT is lightened so it reads on navy (6:1+); buttons, white-text chips and white cards keep the deeper blue ========== */
html[data-theme="dark"] { --av-blue: #4FB0F0; --av-blue-hover: #7CC6F5; }
html[data-theme="dark"] :is(.e-button-base, button, input[type="submit"], .av-btn, .av-btn-primary, .e-form-submit-button-base, .av-bb-buy, .av-sbar-btn, #place_order, .wc-forward, .button, .av-cart-count, .av-ms-next,
	.elementor-location-header .elementor-nav-menu > li:last-child > a,
	[data-id="e667c8d"], [data-id="38627bcb"], [data-id="125401d1"], [data-id="519f3613"], [data-id="799f8ed0"],
	:has(> [data-id="e667c8d"]), :has(> [data-id="38627bcb"])) { --av-blue: #0A72BB; --av-blue-hover: #085E9B; }
/* Dark theme: form labels were Elementor's near-black default */
html[data-theme="dark"] form.e-form-base .e-form-label-base { color: var(--av-navy, #E8EFF5) !important; }
/* Dark theme: "All products" link on product pages (was ocean blue, 3.6:1) */
html[data-theme="dark"] [data-id="7f1577a1"], html[data-theme="dark"] [data-id="7f1577a1"] a { color: var(--av-blue) !important; }

/* ========== Keyboard focus: clear ring on every interactive element ========== */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 2px solid var(--av-blue, #0A72BB) !important; outline-offset: 2px !important; }
:where(.av-section-dark, .av-on-dark, .elementor-location-footer, [data-id="7234ca85"]) :where(a, button, input, summary, [tabindex]):focus-visible,
html[data-theme="dark"] :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline-color: #5CC3FF !important; }

/* ========== AV · Text page (legal / long text), content inside #av-text ========== */
#av-text { max-width: 760px; margin: 0 auto; color: var(--av-navy, #0B1F3A); }
#av-text h2 { margin: 48px 0 14px; font-size: 24px; line-height: 1.25; font-weight: 700; letter-spacing: -.01em; color: var(--av-navy, #0B1F3A); }
#av-text h2:first-child { margin-top: 0; }
#av-text h3 { margin: 28px 0 10px; font-size: 18px; font-weight: 600; color: var(--av-navy, #0B1F3A); }
#av-text p, #av-text li { font-size: 16px; line-height: 1.7; color: var(--av-muted, #4A5D70); }
#av-text p { margin: 0 0 16px; }
#av-text ul, #av-text ol { margin: 0 0 18px; padding-left: 22px; }
#av-text li { margin: 0 0 8px; }
#av-text strong, #av-text b { color: var(--av-navy, #0B1F3A); font-weight: 600; }
#av-text a { color: var(--av-blue, #0A72BB); font-weight: 600; text-decoration: none; }
#av-text a:hover { text-decoration: underline; }
#av-text .av-updated { display: inline-block; margin: 0 0 32px; padding: 6px 12px; border-radius: 999px; background: var(--av-ice, #EAF5FD); color: var(--av-navy, #0B1F3A); font-size: 13px; font-weight: 600; }
#av-text .av-callout { margin: 32px 0; padding: 20px 22px; border-radius: 14px; background: var(--av-bg-alt, #F5F8FB); }
#av-text .av-callout p:last-child { margin-bottom: 0; }
#av-text .wp-block-heading { scroll-margin-top: 110px; }

/* ========== Home hero photo on phones: lighter file (1536px instead of 2560px), same framing ========== */
@media (max-width: 767px) {
	[data-id="7234ca85"] { background-image: linear-gradient(180deg, #fff 0%, #fff 30%, rgba(255, 255, 255, .85) 42%, rgba(255, 255, 255, .3) 56%, rgba(255, 255, 255, 0) 70%), linear-gradient(180deg, rgba(11, 31, 58, 0) 62%, rgba(11, 31, 58, .55) 82%, rgba(11, 31, 58, .82) 100%), url('/wp-content/uploads/2026/10/aquavue-hero-marina-hd-1536x768.jpg') !important; background-size: auto, auto, 2560px auto !important; }
	html[data-theme="dark"] body [data-id="7234ca85"] { background-image: linear-gradient(180deg, #0A1524 0%, #0A1524 30%, rgba(10, 21, 36, .85) 42%, rgba(10, 21, 36, .3) 56%, rgba(10, 21, 36, 0) 70%), linear-gradient(180deg, rgba(10, 21, 36, 0) 62%, rgba(10, 21, 36, .6) 82%, rgba(10, 21, 36, .88) 100%), url('/wp-content/uploads/2026/10/aquavue-hero-marina-hd-1536x768.jpg') !important; }
}

/* ========== Page fixes (Oct 13 UI/UX audit) ========== */
/* Solace 4G hero (page 137): bundle rows are links to the product page, so they react like links */
:is([data-id="553c77f7"], [data-id="54aaa67a"], [data-id="14afb916"]) { cursor: pointer; border-radius: 10px; transition: background-color .2s ease, padding .2s ease; }
:is([data-id="553c77f7"], [data-id="54aaa67a"], [data-id="14afb916"]):hover { background-color: var(--av-ice, #EAF5FD); padding-left: 12px !important; padding-right: 12px !important; }
/* About (page 141): "What we do" icons on a 48px tile */
[data-id="412ded15"] img { width: 48px !important; height: 48px !important; max-width: none; padding: 12px; box-sizing: border-box; border-radius: 12px; background: var(--av-ice, #EAF5FD); object-fit: contain; }
/* About team on phones: initials beside the name instead of stacked (shorter list) */
@media (max-width: 767px) {
	:is([data-id="55c7f110"], [data-id="3db62a7d"], [data-id="1a432550"], [data-id="3f6eccdc"]) { display: grid !important; grid-template-columns: 56px minmax(0, 1fr); column-gap: 16px; row-gap: 2px; align-items: center; align-content: center; }
	:is([data-id="55c7f110"], [data-id="3db62a7d"], [data-id="1a432550"], [data-id="3f6eccdc"]) > :first-child { grid-row: span 2; margin: 0 !important; }
	:is([data-id="55c7f110"], [data-id="3db62a7d"], [data-id="1a432550"], [data-id="3f6eccdc"]) > p { margin: 0 !important; }
}
/* Marinas (page 138) photo cards on phones: darker fade behind the text so it reads on bright photos */
@media (max-width: 767px) {
	[data-id="5ff769d2"] { background-image: linear-gradient(180deg, rgba(11, 31, 58, .05) 0%, rgba(11, 31, 58, .55) 45%, rgba(11, 31, 58, .92) 100%), url('/wp-content/uploads/2026/10/aquavue-marina-docks-aerial.jpg') !important; }
	[data-id="75fff76b"] { background-image: linear-gradient(180deg, rgba(11, 31, 58, .05) 0%, rgba(11, 31, 58, .55) 45%, rgba(11, 31, 58, .92) 100%), url('/wp-content/uploads/2026/10/aquavue-smart-pillar-photo.jpg') !important; }
	[data-id="41cf4090"] { background-image: linear-gradient(180deg, rgba(11, 31, 58, .05) 0%, rgba(11, 31, 58, .55) 45%, rgba(11, 31, 58, .92) 100%), url('/wp-content/uploads/2026/10/aquavue-gate-kiosk.jpg') !important; }
	[data-id="2c9ba870"] { background-image: linear-gradient(180deg, rgba(11, 31, 58, .05) 0%, rgba(11, 31, 58, .55) 45%, rgba(11, 31, 58, .92) 100%), url('/wp-content/uploads/2026/10/aquavue-couple.jpg') !important; }
}
/* News (page 147): cards are links; same height per row, gentle hover */
[data-id="67e86583"] { grid-auto-rows: 1fr; }
[data-id="67e86583"] > a { color: inherit; text-decoration: none; cursor: pointer; }
[data-id="67e86583"] > a img { transition: transform .35s ease; }
[data-id="67e86583"] > a :is(h2, h3) { transition: color .2s ease; }
[data-id="67e86583"] > a:hover img { transform: scale(1.03); }
[data-id="67e86583"] > a:hover :is(h2, h3) { color: var(--av-blue, #0A72BB) !important; }
[data-id="67e86583"] > a :is(h2, h3)::after { content: " \2192"; color: var(--av-blue, #0A72BB); }

/* ========== Forms ========== */
/* Multi-step forms (class av-msform: Dealer, Affiliate apply): after a successful submit, show only the thank-you message */
.av-msform.form-state-success > :not(.e-form-success-message-base) { display: none !important; }
/* Footer newsletter (form 6d07793c): its message shows under the pill; on phones make room so it doesn't cover the copyright line */
@media (max-width: 767px) {
	[data-id="6d07793c"].form-state-success, [data-id="6d07793c"].form-state-error { margin-bottom: 64px !important; }
}
/* Checkboxes and radios in Elementor forms: brand blue, comfortable size (native, so they follow dark mode too) */
form.e-form-base input[type="checkbox"], form.e-form-base input[type="radio"] { width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--av-blue, #0A72BB); cursor: pointer; }
/* Field labels readable (at least 14px) */
form.e-form-base label.e-form-label-base { font-size: max(14px, 1em) !important; }

/* ========== Footer (template 188) ========== */
/* Logo instead of typed wordmark (brightened like the header logo in dark mode so "VUE" reads on navy) */
[data-id="5b762f40"] { width: 170px; height: 34px; font-size: 0 !important; line-height: 0 !important; color: transparent !important; background: url('/wp-content/uploads/2026/10/aquavue-logo-300x60.png') left center / contain no-repeat; filter: brightness(1.35); }
[data-id="5b762f40"] span { display: none; }
/* App Store / Google Play as small outlined badges with icons (needs to beat Elementor's link reset .e-paragraph-link-base) */
.elementor-location-footer :is([data-id="319cb0c9"], [data-id="1af62d71"]) a.e-paragraph-link-base { display: inline-flex !important; align-items: center; gap: 8px; padding: 8px 14px 8px 12px; border: 1px solid rgba(255, 255, 255, .22); border-radius: 10px; color: #fff !important; font-size: 14px; font-weight: 600; text-decoration: none !important; cursor: pointer; transition: background-color .2s ease, border-color .2s ease; }
.elementor-location-footer :is([data-id="319cb0c9"], [data-id="1af62d71"]) a.e-paragraph-link-base::before { content: ""; width: 18px; height: 18px; flex: 0 0 18px; background: url('/wp-content/uploads/2026/10/av-icon-apple.png') center / contain no-repeat; }
.elementor-location-footer [data-id="1af62d71"] a.e-paragraph-link-base::before { background-image: url('/wp-content/uploads/2026/10/av-icon-googleplay.png'); }
.elementor-location-footer :is([data-id="319cb0c9"], [data-id="1af62d71"]) a.e-paragraph-link-base:hover { background-color: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .45); }
/* Social links: one row of text links with dot separators (tablet/desktop), a short list on phones like the other footer columns */
.elementor-location-footer [data-id="25e4a3bd"] { flex-wrap: nowrap; gap: 0 !important; align-items: center; }
.elementor-location-footer [data-id="25e4a3bd"] > p + p::before { content: "\00b7"; margin: 0 8px; opacity: .55; }
@media (max-width: 767px) {
	.elementor-location-footer [data-id="25e4a3bd"] { flex-direction: column; align-items: flex-start; gap: 10px !important; }
	.elementor-location-footer [data-id="25e4a3bd"] > p + p::before { content: none; }
}

/* ========== Home reviews (grid 5d3a015a): one row, two per slide, slides on its own (site.js adds .av-rv-on + dots) ========== */
[data-id="5d3a015a"].av-rv-on { display: flex !important; grid-template-columns: none !important; gap: 32px !important; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; overscroll-behavior-x: contain; }
[data-id="5d3a015a"].av-rv-on::-webkit-scrollbar { display: none; }
[data-id="5d3a015a"].av-rv-on > * { flex: 0 0 calc(50% - 16px); scroll-snap-align: start; min-width: 0; }
@media (max-width: 767px) { [data-id="5d3a015a"].av-rv-on > * { flex-basis: 100%; } }
.av-rv-dots { display: flex; justify-content: center; gap: 10px; margin-top: 28px; }
.av-rv-dots button { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 999px; background: #C9D6E2; cursor: pointer; transition: width .25s ease, background-color .25s ease; }
.av-rv-dots button[aria-current="true"] { width: 28px; background: var(--av-blue, #0A72BB); }

/* ========== Body text: one size site-wide (client feedback 2026-10-26). Intros/leads were 17px and card/step text 15px;
   all regular body copy is now 16px. Small meta text (captions, dates, labels: 12–14px) is unchanged.
   Classes are each element's own Elementor style (found by scanning every page for 15/17px light text). ========== */
body .elementor .e-10092832-da3d,
body .elementor .e-107a71db-237d,
body .elementor .e-12b01ea7-f03e,
body .elementor .e-1618d3a8-43da,
body .elementor .e-161b162a-9798,
body .elementor .e-17b59d69-28c2,
body .elementor .e-17ba8841-633c,
body .elementor .e-18ef4b7b-d4d9,
body .elementor .e-18fab415-9562,
body .elementor .e-1d02e921-6211,
body .elementor .e-1d12c5e1-e4f9,
body .elementor .e-1de6724c-fde9,
body .elementor .e-1e27be5-dd4b,
body .elementor .e-1f1a882c-af95,
body .elementor .e-1f5fb251-5e19,
body .elementor .e-1fb5ca14-84fa,
body .elementor .e-2003475-739d,
body .elementor .e-212d5f3-e1f9,
body .elementor .e-22105504-6e77,
body .elementor .e-22985683-b42f,
body .elementor .e-25082779-cf29,
body .elementor .e-25808755-ea3f,
body .elementor .e-29a11549-69b4,
body .elementor .e-2a075ed9-2425,
body .elementor .e-2fe08f5c-2b8b,
body .elementor .e-30007bf8-4a60,
body .elementor .e-306de26-aeee,
body .elementor .e-3100d819-c4af,
body .elementor .e-334aa506-8ddb,
body .elementor .e-346acda4-da15,
body .elementor .e-3565bff7-56d3,
body .elementor .e-36c7431a-ade4,
body .elementor .e-3b1e0094-2bb8,
body .elementor .e-3ba0ac94-27ea,
body .elementor .e-3c5bcc8-8e8a,
body .elementor .e-3e56e52c-d50c,
body .elementor .e-3f480c46-e4c1,
body .elementor .e-41a15031-d70f,
body .elementor .e-435a2d93-d0a0,
body .elementor .e-43c80ee1-57ff,
body .elementor .e-43cb4da4-49bf,
body .elementor .e-4566cc7f-bb22,
body .elementor .e-4728cb3b-bdda,
body .elementor .e-476159e6-bb8b,
body .elementor .e-4c168a8d-fd24,
body .elementor .e-4f9cc8a1-19bc,
body .elementor .e-51545419-29f1,
body .elementor .e-52799648-cb8b,
body .elementor .e-5292446-9a80,
body .elementor .e-5348e109-b8e0,
body .elementor .e-53f5d462-b42a,
body .elementor .e-5413a8ed-8086,
body .elementor .e-549c4380-b1a8,
body .elementor .e-55096a89-c03b,
body .elementor .e-56a63199-90ae,
body .elementor .e-56d68adb-3f28,
body .elementor .e-58cf4a93-3960,
body .elementor .e-58eadea4-af0a,
body .elementor .e-5ad21963-b735,
body .elementor .e-5b5e3ce-ddf6,
body .elementor .e-5b955481-19b7,
body .elementor .e-5bbc2c6b-d096,
body .elementor .e-5bbe8751-5c6d,
body .elementor .e-5befd9e6-11f4,
body .elementor .e-5dce4c4b-2de2,
body .elementor .e-5e0bb061-b971,
body .elementor .e-5e3bf3e5-a35e,
body .elementor .e-5e9c1fcd-b0db,
body .elementor .e-603e850-adf5,
body .elementor .e-612f06bb-ed9c,
body .elementor .e-61ab93c5-1ee5,
body .elementor .e-6345194e-bf2c,
body .elementor .e-6aa9f756-aec2,
body .elementor .e-6c77d5ea-8001,
body .elementor .e-6d06d43f-28d9,
body .elementor .e-6ec333e8-25c5,
body .elementor .e-6fb2877b-b13a,
body .elementor .e-705d2965-7162,
body .elementor .e-72f14da7-67db,
body .elementor .e-74282b2f-decd,
body .elementor .e-74d334ef-d61b,
body .elementor .e-760a0042-af6b,
body .elementor .e-76782cca-eb9a,
body .elementor .e-7699e138-2ba4,
body .elementor .e-76a46d3d-8a3e,
body .elementor .e-787682c3-7a12,
body .elementor .e-78e1367f-5476,
body .elementor .e-7aa8de5e-691c,
body .elementor .e-7aeede6a-d9cb,
body .elementor .e-7e97da46-969f,
body .elementor .e-8ba7254-8b86,
body .elementor .e-90ab2f3-354d,
body .elementor .e-ad097d1-e736,
body .elementor .e-b25f537-a36b,
body .elementor .e-bcc3b73-73c5,
body .elementor .e-c1c3bdb-6cdc,
body .elementor .e-c7439f8-d458,
body .elementor .e-cc3f6a1-cc11,
body .elementor .e-edebd05-28de,
body .elementor .e-f6649a9-39e1,
body .elementor .av-lead,
body .elementor .av-pick-note,
body .elementor .av-faq-a { font-size: 16px !important; line-height: 1.65 !important; }

/* ========== Phone buttons (client feedback 2026-10-26): every call-to-action button (.av-btn) is full width and the same
   height, text centred; pairs/groups of buttons stack with even spacing. Form submit buttons match. ========== */
@media (max-width: 767px) {
	.elementor :has(> .av-btn), .elementor :has(> a[href*="apps.apple.com"]), .elementor :has(> a[href*="play.google.com"]) { flex-direction: column !important; flex-wrap: nowrap !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; }
	.elementor .av-btn { width: 100% !important; max-width: none !important; min-height: 48px !important; box-sizing: border-box; justify-content: center !important; align-items: center !important; text-align: center !important; white-space: normal; }
	.elementor a[href*="apps.apple.com"]:not(.av-btn), .elementor a[href*="play.google.com"]:not(.av-btn) { width: 100% !important; justify-content: center !important; box-sizing: border-box; }
	.elementor form.e-form-base .e-form-submit-button-base { width: 100% !important; min-height: 48px !important; justify-content: center; text-align: center; }
}
