/* Public website layout adapter. Canonical navigation physics and colours remain separate. */
html:not(.park-app-navigation) .park-public-page { --pw-header-height:100px; padding-top:0; }
html:not(.park-app-navigation) .park-operational-header { display:none; }
.park-app-navigation .park-public-header { display:none; }
html:not(.park-app-navigation) .park-public-home .hero { margin-top:0; padding-top:var(--pw-header-height); }
.park-public-header { z-index:1100; }
.park-public-header .park-header-wordmark { display:inline-flex; }
html:not(.park-app-navigation) .park-public-page #pw-tabbar { display:none; }
html:not(.park-app-navigation) .park-public-page .skip-link { z-index:1200; }
@media(max-width:900px) {
  html:not(.park-app-navigation) .park-public-page { --pw-header-height:94px; padding-bottom:env(safe-area-inset-bottom, 0px); }
  .park-public-header .park-header-wordmark { display:none; }
  html:not(.park-app-navigation) .park-public-page.has-book-bar { padding-bottom:calc(82px + env(safe-area-inset-bottom,0px)); }
  html:not(.park-app-navigation) .park-public-page .book-bar { bottom:0; padding-bottom:calc(10px + env(safe-area-inset-bottom,0px)); }
  html:not(.park-app-navigation) .park-public-page .space-panel:not([hidden]) { bottom:0; }
  html:not(.park-app-navigation) .park-public-page .side-search-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px; }
  html:not(.park-app-navigation) .park-public-page .side-search-row select { min-width:0; width:100%; }
}

/* Clearance belongs inside the page surface, never in a separate header band. */
html:not(.park-app-navigation) .park-public-page > .flash-stack { padding-top:var(--pw-header-height); }
.park-public-page:has(.search-shell) .park-public-header:not(.is-enhanced) .park-header-wordmark > span:first-child { color:#f7f3eb; }
.park-public-page:has(.search-shell) .park-public-header:not(.is-enhanced) .park-header-wordmark > span:last-child,
.park-public-page:has(.search-shell) .park-public-header:not(.is-enhanced) :is(.park-header-brand,.park-header-login) > .park-mobile-label { color:#d6b77b; }
html:not(.park-app-navigation) .park-public-page #main > :is(.page-head,.section):nth-child(1 of :not(script):not(style)) { padding-top:calc(var(--pw-header-height) + var(--park-leading-space,80px)); }
html:not(.park-app-navigation) .park-public-page #main > .page-head { --park-leading-space:64px; }
html:not(.park-app-navigation) .park-public-page .search-layout { height:100vh; height:100dvh; }
html:not(.park-app-navigation) .park-public-page .side-search { padding-top:calc(var(--pw-header-height) + 14px); }
html:not(.park-app-navigation) .park-public-page .search-map .map-style-ctl,
html:not(.park-app-navigation) .park-public-page .search-map .map-area-btn { top:calc(var(--pw-header-height) + 12px); }
html:not(.park-app-navigation) .park-public-page .search-map .mapboxgl-ctrl-top-left,
html:not(.park-app-navigation) .park-public-page .search-map .mapboxgl-ctrl-top-right { top:var(--pw-header-height); }
.park-public-header .park-nav-link.park-over-map-dark:not(.active) { color:#f7f3eb; }
.park-public-header .park-nav-link.park-over-map-light:not(.active) { color:#07130d; }
.park-public-header .park-over-satellite:not(.active) { text-shadow:0 1px 3px #07130d; }
.park-public-header .park-caption-dark { color:#d6b77b!important; }
.park-public-header .park-caption-light { color:#07130d!important; }
.park-public-header.park-brand-dark .park-header-wordmark > span:first-child { color:#f7f3eb; }
.park-public-header.park-brand-dark .park-header-wordmark > span:last-child { color:#d6b77b; }
@media(max-width:880px) {
  html:not(.park-app-navigation) .park-public-page #main > .section { --park-leading-space:52px; }
  html:not(.park-app-navigation) .park-public-page .search-layout { height:auto; }
  html:not(.park-app-navigation) .park-public-page .search-map .map-style-ctl { top:12px; }
  html:not(.park-app-navigation) .park-public-page .search-map .map-area-btn { top:auto; }
  html:not(.park-app-navigation) .park-public-page .search-map .mapboxgl-ctrl-top-left,
  html:not(.park-app-navigation) .park-public-page .search-map .mapboxgl-ctrl-top-right { top:0; }
}
html:not(.park-app-navigation) .park-public-page .search-map:fullscreen .map-style-ctl { top:12px; }
html:not(.park-app-navigation) .park-public-page .search-map:fullscreen .mapboxgl-ctrl-top-left,
html:not(.park-app-navigation) .park-public-page .search-map:fullscreen .mapboxgl-ctrl-top-right { top:0; }

/* On desktop, map tools form one column aligned with the real Log in action. */
@media(min-width:901px) {
  html:not(.park-app-navigation) .park-public-page .search-map .map-style-ctl {
    left:auto;
    right:var(--park-map-tools-right,24px);
    top:var(--park-map-style-top,calc(var(--pw-header-height) - 8px));
    width:var(--park-map-tools-width,52px);
    flex-direction:column;
  }
  html:not(.park-app-navigation) .park-public-page .search-map .mapboxgl-ctrl-top-right,
  html:not(.park-app-navigation) .park-public-page .search-map:fullscreen .mapboxgl-ctrl-top-right {
    right:var(--park-map-tools-right,24px);
    top:var(--park-map-zoom-top,calc(var(--pw-header-height) + 166px));
  }
  html:not(.park-app-navigation) .park-public-page .search-map .mapboxgl-ctrl-top-right > .mapboxgl-ctrl { margin:0; }
}

/* Approved desktop primary action pill. Keep existing dimensions and mobile circle. */
@media(min-width:901px) { .park-public-header .park-header-login { border-radius:30px; } }

/* Desktop map tools use the IDWelly rail surface and a circular icon lens.
   The existing compact mobile controls and generated header stay separate. */
.park-map-style-slider { display:none; }
.park-map-style-icon, .park-map-tooltip { display:none; }
@media(min-width:901px) {
  html:not(.park-app-navigation) .park-public-page .search-map {
    --park-map-glass-background:#12201af0;
    --park-map-glass-filter:none;
    --park-map-tool-ink:#f7f3eb;
    --park-map-icon-filter:invert(1);
  }
  html:not(.park-app-navigation) .park-public-page .search-map :is(.map-style-ctl,.mapboxgl-ctrl-group:has(.mapboxgl-ctrl-zoom-in)) {
    border:1px solid #ffffff4d;
    padding:3px;
    gap:2px;
    border-radius:30px;
    background:var(--park-map-glass-background);
    backdrop-filter:var(--park-map-glass-filter);
    -webkit-backdrop-filter:var(--park-map-glass-filter);
    box-shadow:inset 0 1px 1px #ffffff30,inset 0 -1px 1px #00000038,0 4px 18px #00000018;
    isolation:isolate;
  }
  html:not(.park-app-navigation) .park-public-page .search-map .map-style-ctl {
    overflow:visible;
    touch-action:pan-x;
    user-select:none;
    font-family:Inter,Arial,sans-serif;
    line-height:1.65;
  }
  html:not(.park-app-navigation) .park-public-page .map-style-ctl button {
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:44px;
    height:44px;
    padding:0;
    border:0;
    border-radius:24px;
    background:transparent;
    color:var(--park-map-tool-ink);
    font-family:inherit;
    font-size:12px;
    font-weight:400;
    line-height:1.65;
    transition:color .3s;
  }
  html:not(.park-app-navigation) .park-public-page .map-style-ctl button.active { background:#16291ff0; color:#d6b77b; }
  html:not(.park-app-navigation) .park-public-page .map-style-ctl.park-map-lens-ready button.active { background:transparent; }
  .park-map-style-visual { display:flex; align-items:center; justify-content:center; pointer-events:none; }
  .park-map-style-slider {
    display:block;
    position:absolute;
    left:3px;
    right:3px;
    top:0;
    height:44px;
    border-radius:24px;
    background:#16291ff0;
    border:1px solid #ffffff0a;
    box-shadow:inset 0 1px 2px #00000024,0 1px 2px #00000012;
    overflow:hidden;
    transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
    pointer-events:none;
  }
  .park-map-style-slider:is(.is-moving,.is-dragging) {
    z-index:2;
    background:rgb(22 41 31 / calc(.94 - .84 * var(--lens-energy,0)));
    border-color:rgb(237 250 240 / calc(.04 + .26 * var(--lens-energy,0)));
    box-shadow:inset 0 1px 1px rgb(255 255 255 / calc(.6 * var(--lens-energy,0))),inset 0 -1px 1px rgb(255 255 255 / calc(.44 * var(--lens-energy,0))),inset 1px 0 1px rgb(255 255 255 / calc(.15 * var(--lens-energy,0))),inset -1px 0 1px rgb(0 0 0 / calc(.3 * var(--lens-energy,0))),0 2px 4px #00000020;
    will-change:transform,height;
  }
  .park-map-style-lens { position:absolute; top:-1px; left:-1px; width:calc(100% + 2px); opacity:0; pointer-events:none; }
  .park-map-has-lens .park-map-style-slider:is(.is-moving,.is-dragging) .park-map-style-lens { opacity:1; }
  .park-map-style-copy { position:absolute; left:0; width:100%; display:flex; align-items:center; justify-content:center; color:#d6b77b; font-size:12px; white-space:nowrap; }
  .park-map-style-copy > span { display:flex; align-items:center; justify-content:center; transform:scale(calc(1 + .045 * var(--lens-energy,0))); }
  .park-map-style-icon { display:block; width:21px; height:21px; }
  .park-map-style-text { display:none; }
  .park-map-tooltip {
    display:block;
    position:absolute;
    right:calc(100% + 13px);
    top:50%;
    z-index:5;
    padding:7px 11px;
    border:1px solid #d6b77b66;
    border-radius:10px;
    background:#12201af5;
    color:#f7f3eb;
    font-size:12px;
    font-weight:500;
    line-height:1.4;
    white-space:nowrap;
    box-shadow:0 3px 14px #00000024;
    opacity:0;
    visibility:hidden;
    transform:translate(4px,-50%);
    transition:opacity .14s ease,transform .14s ease,visibility .14s;
    cursor:default;
  }
  .park-map-tooltip::after { content:''; position:absolute; left:100%; top:0; width:13px; height:100%; }
  #style-ctl button:not([data-tooltip-dismissed]):is(:hover,:focus-visible) .park-map-tooltip { opacity:1; visibility:visible; transform:translate(0,-50%); }
  html:not(.park-app-navigation) .park-public-page .search-map .mapboxgl-ctrl-group:has(.mapboxgl-ctrl-zoom-in) {
    display:flex;
    align-items:center;
    width:var(--park-map-tools-width,52px);
    flex-direction:column;
    height:auto;
    overflow:visible;
  }
  html:not(.park-app-navigation) .park-public-page .search-map .mapboxgl-ctrl-group:has(.mapboxgl-ctrl-zoom-in) button {
    flex:0 0 44px;
    min-width:44px;
    width:44px;
    height:44px;
    border:0;
    border-radius:24px;
    background:transparent;
    transition:background-color .18s ease;
  }
  html:not(.park-app-navigation) .park-public-page .search-map .mapboxgl-ctrl-group:has(.mapboxgl-ctrl-zoom-in) button:hover { background:#ffffff24; }
  html:not(.park-app-navigation) .park-public-page .search-map .mapboxgl-ctrl-group:has(.mapboxgl-ctrl-zoom-in) button:active { background:#16291f55; }
  html:not(.park-app-navigation) .park-public-page .search-map .mapboxgl-ctrl-group:has(.mapboxgl-ctrl-zoom-in) .mapboxgl-ctrl-icon { filter:var(--park-map-icon-filter); }
  html:not(.park-app-navigation) .park-public-page .search-map :is(.map-style-ctl,.mapboxgl-ctrl-group:has(.mapboxgl-ctrl-zoom-in)) button:focus-visible { outline:2px solid #d6b77b; outline-offset:-3px; }
  @supports (backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)) {
    html:not(.park-app-navigation) .park-public-page .search-map {
      --park-map-glass-background:rgba(18,32,26,.28);
      --park-map-glass-filter:blur(18px) saturate(1.6);
      --park-map-tool-ink:#07130d;
      --park-map-icon-filter:none;
    }
    html:not(.park-app-navigation) .park-public-page .search-map.park-map-dark { --park-map-tool-ink:#f7f3eb; --park-map-icon-filter:invert(1); }
    html:not(.park-app-navigation) .park-public-page .search-map:not(.park-map-dark) :is(.map-style-ctl,.mapboxgl-ctrl-group:has(.mapboxgl-ctrl-zoom-in)) button:focus-visible { outline-color:#80612b; }
  }
  @media(prefers-reduced-motion:reduce) { .map-style-ctl *,.search-map .mapboxgl-ctrl-group button { transition:none!important; } }
  @media(forced-colors:active) {
    html:not(.park-app-navigation) .park-public-page .search-map :is(.map-style-ctl,.mapboxgl-ctrl-group:has(.mapboxgl-ctrl-zoom-in)) { background:Canvas; border-color:CanvasText; }
    html:not(.park-app-navigation) .park-public-page .map-style-ctl button { color:ButtonText; }
    html:not(.park-app-navigation) .park-public-page .map-style-ctl.park-map-lens-ready button.active { color:HighlightText; background:Highlight; }
    html:not(.park-app-navigation) .park-public-page .search-map :is(.map-style-ctl,.mapboxgl-ctrl-group:has(.mapboxgl-ctrl-zoom-in)) button:focus-visible { outline-color:Highlight; }
    .park-map-style-slider { display:none; }
  }
}

/* The opening surface fills the visible viewport and grows when content needs it. */
html:not(.park-app-navigation) .park-public-home .hero { min-height:100vh; min-height:100svh; min-height:100dvh; height:auto; }

/* Keep account notices visible without changing the measured map tool width. */
.park-public-header .park-header-login { position:relative; }
.park-account-badge { position:absolute; top:-5px; right:-5px; min-width:20px; height:20px; padding:0 4px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#16291f; color:#d6b77b; border:1px solid #d6b77b; font-size:10px; font-weight:600; line-height:1; pointer-events:none; }
