/*!
 * DSL Adventures — global header, mobile drawer and footer (child theme).
 * Tokens and base components live in dsl-design-system.css (sections 26–27). This file adds the
 * live header states (A default · B overlay · C scrolled/hidden), the drawer shell and the site footer.
 * Behaviour: assets/js/dsl-ui.js. Loaded on every page that prints the theme header.
 */

/* ---------- Page scrolling ---------- */
html{scroll-padding-top:calc(var(--dsl-header-h) + 12px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
html.dsl-drawer-open{overflow:hidden}

/* ---------- Header A: default light, sticky ---------- */
.dsl-site-header{position:sticky;top:0;transition:transform var(--dsl-dur) var(--dsl-ease),background-color var(--dsl-dur) var(--dsl-ease),border-color var(--dsl-dur) var(--dsl-ease),box-shadow var(--dsl-dur) var(--dsl-ease)}
.dsl-site-header .dsl-header__inner{gap:clamp(12px,1.6vw,28px)}
.dsl-site-header .dsl-header__actions{gap:8px}
.dsl-site-header .dsl-header__cta{min-height:44px;padding:0 1.25rem;font-size:.875rem}
.dsl-site-header.no-anim{transition:none}

/* ---------- Header C: scrolled (solid) and hidden while scrolling down ---------- */
.dsl-site-header.is-scrolled{background:#fff;border-bottom-color:var(--dsl-border);box-shadow:0 12px 28px -24px rgba(10,35,66,.55)}
.dsl-site-header.is-hidden{transform:translateY(calc(-100% - 2px));box-shadow:none}

/* ---------- Header B: overlay, transparent over the dark Home hero ---------- */
.dsl-site-header--overlay{position:absolute;top:0;left:0;right:0;background:transparent;border-bottom-color:rgba(255,255,255,.14)}
.dsl-site-header--overlay.is-fixed{position:fixed}
.dsl-site-header--overlay:not(.is-scrolled){--dsl-focus:var(--dsl-accent)}
.dsl-site-header--overlay:not(.is-scrolled) .dsl-logo,
.dsl-site-header--overlay:not(.is-scrolled) .dsl-nav-link,
.dsl-site-header--overlay:not(.is-scrolled) .dsl-nav-link:hover{color:#fff}
.dsl-site-header--overlay:not(.is-scrolled) .dsl-logo__sub{color:var(--dsl-on-dark-muted)}
.dsl-site-header--overlay:not(.is-scrolled) .dsl-header__burger{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.32);color:#fff}
.dsl-site-header--overlay:not(.is-scrolled) .dsl-header__burger:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.6)}
.dsl-site-header--overlay:not(.is-scrolled) .dsl-header__wa:hover{background:rgba(255,255,255,.1)}

/* Logged-in admin bar */
.admin-bar .dsl-site-header{top:32px}
@media (max-width:782px){.admin-bar .dsl-site-header{top:46px}}
@media (max-width:600px){.admin-bar .dsl-site-header{top:0}.admin-bar .dsl-site-header--overlay:not(.is-fixed){top:46px}}

/* ---------- Temporary text wordmark (no brand symbol until the final logo exists) ---------- */
.dsl-wordmark{flex:none;min-height:var(--dsl-touch)}
.dsl-wordmark .dsl-logo__text{gap:5px}
.dsl-wordmark .dsl-logo__name{font-size:1.125rem;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
.dsl-wordmark .dsl-logo__sub{font-size:.59375rem;letter-spacing:.32em}
.dsl-wordmark:focus-visible{outline-offset:6px}
@media (min-width:1025px){.dsl-wordmark .dsl-logo__name{font-size:1.25rem}}

/* ---------- Mobile / tablet drawer (below 1025px) ---------- */
.dsl-drawer-backdrop{position:fixed;inset:0;z-index:95;background:rgba(6,24,31,.56)}
.dsl-site-drawer{z-index:100;max-width:100%}
.dsl-site-drawer .dsl-drawer__menu{margin:0;padding:0;list-style:none}
.dsl-site-drawer .dsl-drawer__link{width:100%}
.dsl-site-drawer .dsl-drawer__link::after{content:"";flex:none;width:8px;height:8px;margin-right:6px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);opacity:.45}
.dsl-site-drawer .dsl-drawer__link:hover{color:var(--dsl-primary)}
.dsl-site-drawer .dsl-drawer__foot .dsl-btn{min-height:50px}
.dsl-site-drawer .dsl-drawer__contact a,.dsl-site-drawer .dsl-drawer__contact span{display:inline-flex;align-items:center;min-height:44px}
@media (prefers-reduced-motion:no-preference){
  .dsl-site-drawer:not([hidden]){animation:dsl-drawer-in var(--dsl-dur) var(--dsl-ease)}
  .dsl-drawer-backdrop:not([hidden]){animation:dsl-fade-in var(--dsl-dur) var(--dsl-ease)}
}
@keyframes dsl-drawer-in{from{transform:translateX(100%)}to{transform:none}}
@keyframes dsl-fade-in{from{opacity:0}to{opacity:1}}
@media (min-width:1025px){.dsl-site-drawer,.dsl-drawer-backdrop{display:none!important}}
.admin-bar .dsl-site-drawer{top:32px}
@media (max-width:782px){.admin-bar .dsl-site-drawer{top:46px}}
@media (max-width:600px){.admin-bar .dsl-site-drawer{top:0}}

/* ---------- Footer ---------- */
.dsl-site-footer .dsl-footer__brand .dsl-logo{justify-self:start}
.dsl-site-footer .dsl-footer__list .dsl-footer-link{padding-block:2px}
.dsl-site-footer .dsl-footer__contact a{overflow-wrap:anywhere}
.dsl-site-footer .dsl-footer__social{margin-top:4px}
.dsl-footer__social .is-pending{cursor:default;opacity:.85}
.dsl-footer__social-note{flex-basis:100%;margin:2px 0 0;font-size:.8125rem;color:var(--dsl-on-dark-muted)}
.dsl-footer__copy{margin:0}
@media (max-width:1024px){.dsl-site-footer .dsl-footer-link,.dsl-site-footer .dsl-footer__contact a{display:inline-flex;align-items:center;min-height:44px}.dsl-site-footer .dsl-footer__contact{gap:0}}
@media (max-width:767.98px){.dsl-site-footer .dsl-footer__col--contact{grid-column:1 / -1}}
/* Current section (Tours on tour pages) */
.dsl-nav-link.is-current-section{color:var(--dsl-primary)}
.dsl-nav-link.is-current-section::after{transform:scaleX(1)}
.dsl-drawer__link.is-current-section,.dsl-drawer__link[aria-current="page"]{color:var(--dsl-primary);box-shadow:inset 3px 0 0 var(--dsl-accent)}

/* ---------- Header dropdowns (Tours, Destinations): design system .dsl-dropdown ---------- */
.dsl-nav-item{position:relative}
.dsl-nav-toggle{margin:0;border:0;background:none;cursor:pointer;line-height:1.2;-webkit-appearance:none;appearance:none}
.dsl-nav-toggle .dsl-icon{width:.875rem;height:.875rem;transition:transform var(--dsl-dur) var(--dsl-ease)}
.dsl-nav-toggle[aria-expanded="true"]{color:var(--dsl-primary)}
.dsl-nav-toggle[aria-expanded="true"] .dsl-icon{transform:rotate(180deg)}
.dsl-nav-toggle[aria-expanded="true"]::after{transform:scaleX(1)}
.dsl-site-header--overlay:not(.is-scrolled) .dsl-nav-toggle[aria-expanded="true"]{color:#fff}
.dsl-site-header--overlay:not(.is-scrolled) .dsl-nav-toggle .dsl-icon{color:var(--dsl-on-dark-muted)}
.dsl-nav-dropdown{position:absolute;top:100%;left:50%;z-index:90;min-width:280px;margin-top:20px;transform:translateX(-50%);--dsl-focus:var(--dsl-secondary)}
.dsl-nav-dropdown::before{content:"";position:absolute;left:0;right:0;top:-22px;height:22px}
.dsl-header__nav .dsl-nav-dropdown ul{display:grid;gap:2px;margin:0;padding:0;list-style:none}
.dsl-nav-dropdown .dsl-nav-sub{font-family:var(--dsl-font-head);font-size:.96875rem;white-space:nowrap}
.dsl-nav-dropdown .dsl-nav-sub small{flex:none}
.dsl-nav-dropdown .dsl-nav-sub[aria-current="page"]{background:var(--dsl-cream);color:var(--dsl-primary);box-shadow:inset 3px 0 0 var(--dsl-accent)}
.dsl-nav-dropdown .dsl-nav-sub:focus-visible{outline:3px solid var(--dsl-focus);outline-offset:-3px}
@media (prefers-reduced-motion:no-preference){.dsl-nav-dropdown:not([hidden]){animation:dsl-fade-in var(--dsl-dur-fast,.15s) var(--dsl-ease)}}

/* ---------- Drawer accordions (Tours, Destinations) ---------- */
.dsl-site-drawer .dsl-drawer__group>summary{outline-offset:2px}
.dsl-site-drawer .dsl-drawer__group>summary:hover{color:var(--dsl-primary)}
.dsl-site-drawer .dsl-drawer__group.is-current-section>summary{color:var(--dsl-primary)}
.dsl-site-drawer .dsl-drawer__sub a{padding-inline:8px}
.dsl-site-drawer .dsl-drawer__sub a:hover{color:var(--dsl-primary)}
.dsl-site-drawer .dsl-drawer__sub a[aria-current="page"]{color:var(--dsl-primary);font-weight:600;box-shadow:inset 3px 0 0 var(--dsl-accent)}