/* Public boating identity. Embedded pages retain their municipality's own theme. */
body.boating-nautical{
 --sea-navy:#082f49;--sea-blue:#075985;--sea-teal:#087f8c;--sea-sky:#e5f2f7;
 --sea-ink:#123b50;--sea-muted:#526f7e;--sea-line:#cbdde5;--sea-sand:#f4ecdd;
 background:#f2f7f9;color:var(--sea-ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
}
.boating-nautical>header{height:96px;padding:16px max(24px,calc((100vw - 1360px)/2));gap:28px;border-bottom:0;background:#fff}
.boating-nautical .brand img{width:172px}
.boating-nautical .brand small{color:var(--sea-blue);font-size:10px;letter-spacing:3px;font-weight:750}
.boating-nautical :is(.waterbody-search,.map-service-search){max-width:800px;gap:8px}
.boating-nautical :is(input:not([type=checkbox]):not([type=file]),select,textarea){border-color:var(--sea-line);border-radius:10px;background:#fff;color:var(--sea-ink)}
.boating-nautical button{background:var(--sea-blue);border-radius:10px;font-weight:700}
.boating-nautical .secondary{background:var(--sea-sky);color:var(--sea-navy)}
.boating-nautical :is(button,a,input,select,textarea):focus-visible{outline:3px solid #c48c38;outline-offset:3px}
.boating-nautical .boating-service-nav{background:var(--sea-navy);border-bottom:1px solid #174b69;padding:8px max(24px,calc((100vw - 1360px)/2));gap:7px}
.boating-nautical .boating-service-nav a{min-height:40px;border:1px solid transparent;border-radius:7px;background:transparent;color:#e4f1f7;font-size:12px;padding:8px 14px}
.boating-nautical .boating-service-nav a:hover{background:#174b69;border-color:#38657e;color:#fff}
.boating-nautical .view-toolbar{height:72px;padding:12px max(24px,calc((100vw - 1360px)/2));border-color:var(--sea-line);background:#eaf3f7;gap:20px}
.boating-nautical .view-switch{padding:4px;background:#d9e8ef;border-radius:12px;gap:4px}
.boating-nautical .view-switch button{background:transparent;color:var(--sea-navy);padding:9px 18px}
.boating-nautical .view-switch button[aria-pressed=true]{background:var(--sea-navy);color:#fff;box-shadow:0 3px 8px #082f491a}
.boating-nautical .lake-info{text-shadow:none}
.boating-nautical .lake-info strong{font-size:14px;color:var(--sea-navy)}
.boating-nautical .lake-info small{font-size:10px;color:var(--sea-muted)}
.boating-nautical #view-location{border:1px solid #bdd4df;background:#fff;color:var(--sea-blue)}
.boating-nautical.view-list aside{padding:18px max(24px,calc((100vw - 1200px)/2));background:#fff;border-bottom:1px solid var(--sea-line);gap:10px 16px}
.boating-nautical .boating-filter-field{color:var(--sea-muted);font-size:11px;letter-spacing:.04em}
.boating-nautical .boating-filter-field select{font-size:14px;letter-spacing:0}
.boating-nautical #place-search{min-height:46px;background:#f7fafb}
.boating-nautical #place-count{color:var(--sea-muted);font-size:11px}
.boating-nautical #listing-view{max-width:1248px;padding:26px 24px 56px}
.boating-nautical .listing-heading{position:relative;isolation:isolate;overflow:hidden;min-height:164px;margin-bottom:24px;padding:26px 32px;border-radius:16px;background:linear-gradient(115deg,#082f49 0%,#0b4c6d 60%,#14657c 100%);color:#fff;box-shadow:0 10px 30px #082f4912}
.boating-nautical .listing-heading::after{content:"";position:absolute;z-index:-1;inset:auto -8% -45px;height:90px;border:1px solid #b7e2eb40;border-radius:50%;box-shadow:0 -12px 0 -11px #b7e2eb40,0 -25px 0 -24px #b7e2eb35;transform:rotate(-3deg);pointer-events:none}
.boating-nautical .listing-heading>.eyebrow{position:relative;margin:0 0 10px;font-size:10px;font-weight:750;letter-spacing:.15em;color:#b8dbe8}
.boating-nautical .listing-heading h1{position:relative;max-width:80%;margin:0;font:400 clamp(32px,4vw,48px)/1.12 Georgia,serif;letter-spacing:-.02em;color:#fff;overflow-wrap:anywhere}
.boating-nautical .listing-heading>#listing-lake-region{position:relative;margin:12px 0 0;font-size:13px;line-height:1.5;color:#d1e7ef}
.boating-nautical .listing-heading>#listing-location-status{position:relative;margin:8px 0 0;font-size:11px;color:#d1e7ef}
.boating-nautical .boating-hero-chart{position:absolute;z-index:-1;right:-12px;top:0;height:100%;width:42%;color:#c2e8ef;opacity:.35;pointer-events:none}
.boating-nautical .listing-card{border:1px solid #d1e0e7;border-radius:14px;box-shadow:0 5px 18px #123b5009;transition:box-shadow .18s ease,transform .18s ease}
.boating-nautical .listing-open{background:#dbeaf0}
.boating-nautical .listing-placeholder{background:linear-gradient(145deg,#164e6a,#0c7280);color:#d9f1f4;opacity:1}
.boating-nautical .listing-placeholder svg{width:58px;height:58px;filter:drop-shadow(0 3px 8px #082f4933)}
.boating-nautical .listing-content{padding:18px}
.boating-nautical .listing-category{font-size:11px;font-weight:650;color:var(--sea-muted);line-height:1.45}
.boating-nautical .listing-title{background:none;color:var(--sea-navy);font:700 21px/1.25 system-ui,sans-serif}
.boating-nautical .listing-description{color:var(--sea-muted);font-size:13px;line-height:1.65}
.boating-nautical .listing-content .tags span{background:#eaf3f7;color:var(--sea-blue);border-radius:7px;font-size:10px}
.boating-nautical .listing-map{background:var(--sea-sky);color:var(--sea-blue);border:1px solid #c9dfe8;border-radius:9px}
.boating-nautical .listing-open .listing-distance{background:#fffffff2;color:var(--sea-navy);box-shadow:0 2px 8px #082f491a;border-radius:8px}
.boating-nautical .listing-page-button{background:#fff;color:var(--sea-blue);border:1px solid var(--sea-line);border-radius:9px}
.boating-nautical .listing-page-button.active{background:var(--sea-navy);color:#fff;border-color:var(--sea-navy)}
.boating-nautical #listing-page-status{color:var(--sea-muted)}
.boating-nautical .empty{background:#e9f3f7;border:1px dashed #b7d0dd;color:var(--sea-muted);border-radius:12px}
.boating-nautical .map-buttons button{background:#fff;color:var(--sea-blue);border:1px solid var(--sea-line);box-shadow:0 3px 12px #082f4926;border-radius:10px}
.boating-nautical #toggle-lake-focus{background:#fff;color:var(--sea-blue);border:1px solid #bed6e1}
.boating-nautical .place-tile{border-color:var(--sea-line);border-radius:10px;color:var(--sea-ink)}
.boating-nautical .tile-symbol{background:var(--sea-sky);color:var(--sea-blue)}
.boating-nautical dialog{border-color:var(--sea-line);border-radius:18px;color:var(--sea-ink)}
.boating-nautical .dialog-head h2{color:var(--sea-navy)}
.boating-nautical :is(.dialog-head,.card-actions){border-color:var(--sea-line)}
.boating-nautical .dialog-head button{background:var(--sea-sky);color:var(--sea-navy)}
.boating-nautical .opening-open{color:#08734d}.boating-nautical .opening-closed{color:#a33838}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.boating-nautical .listing-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px #123b5018}}
@media(max-width:1000px) and (min-width:761px){.boating-nautical>header{gap:16px;padding-inline:20px}.boating-nautical .map-service-search select{width:145px;flex-basis:145px}}
@media(max-width:760px){
 .boating-nautical>header{height:auto;min-height:116px;padding:12px 14px;gap:10px;grid-template-columns:minmax(0,1fr) auto}
 .boating-nautical .brand img{width:150px}.boating-nautical .brand small{font-size:9px;letter-spacing:2.5px}
 .boating-nautical .waterbody-search{gap:6px}.boating-nautical .waterbody-search button{padding:10px;font-size:12px}
 .boating-nautical header .boating-menu-toggle{background:#eaf3f7;color:var(--sea-navy);border:1px solid #c7dce6;border-radius:10px}
 .boating-nautical .boating-service-nav{padding:0;border:0}.boating-nautical .boating-service-nav.menu-open{padding:8px 10px 10px}
 .boating-nautical .boating-service-nav a{min-height:44px;background:#16455f;border-color:#2b5a72;font-size:12px;padding:8px 6px}
 .boating-nautical .view-toolbar{height:auto;min-height:66px;padding:10px 12px;gap:10px;background:#e5f0f5}
 .boating-nautical .mobile-view-select select{background:var(--sea-sand);border-color:#cfc9b9;color:var(--sea-navy);border-radius:9px;font-size:12px;font-weight:750}
 .boating-nautical .lake-info strong{font-size:12px;line-height:1.3}.boating-nautical .lake-info small{font-size:9px;line-height:1.4}
 .boating-nautical #view-location{border-radius:50%;min-height:44px}
 .boating-nautical.view-list aside{padding:16px;gap:11px 10px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .boating-nautical .boating-filter-field>span{margin-bottom:6px}
 .boating-nautical #listing-view{padding:18px 16px 36px}
 .boating-nautical .listing-heading{min-height:148px;margin-bottom:18px;padding:22px 20px;border-radius:12px}
 .boating-nautical .listing-heading>.eyebrow{font-size:10px;letter-spacing:.12em;max-width:85%;margin-bottom:11px}
 .boating-nautical .listing-heading h1{font-size:32px;max-width:86%}
 .boating-nautical .listing-heading>#listing-lake-region{font-size:11px;line-height:1.5;max-width:90%;margin-top:10px}
 .boating-nautical .boating-hero-chart{width:54%;right:-30px;opacity:.25}
 .boating-nautical #listing-cards{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .boating-nautical .listing-card{border-radius:11px;box-shadow:0 4px 14px #123b5009}
 .boating-nautical .listing-content{padding:10px 9px 12px}
 .boating-nautical .listing-category{font-size:10px;line-height:1.4;margin:0 0 6px}
 .boating-nautical .listing-title{font-size:14px;line-height:1.35}
 .boating-nautical .listing-placeholder svg{width:42px;height:42px}
 .boating-nautical .listing-open .listing-distance{font-size:10px;line-height:1.3;padding:4px 5px}
 .boating-nautical .listing-opening{font-size:11px}
 .boating-nautical dialog{border-radius:18px 18px 0 0}
}
@media(prefers-reduced-motion:reduce){.boating-nautical .listing-card{transition:none}}
