/* Sky & Stay v2.0: configurable colors and public dropdown navigation. */
.public-site{background:var(--theme-body-bg)!important;color:var(--theme-text)!important;--site-ink:var(--theme-heading);--site-muted:var(--theme-muted);--site-pale:var(--theme-section-bg);--site-dark:var(--theme-footer-bg);--brand:var(--theme-primary);--gold:var(--theme-accent);--site-accent:var(--theme-accent)}
.public-site h1,.public-site h2,.public-site h3,.public-site h4{color:var(--theme-heading)}
.public-site p,.public-site .rich-content p{color:var(--theme-muted)}
.public-site .site-header{background:var(--theme-nav-bg)!important;border-color:var(--theme-border)!important}
.public-site .site-brand,.public-site .site-brand-name,.public-site .site-menu>a,.public-site .site-menu summary,.public-site .site-mobile-trigger{color:var(--theme-nav-text)!important}
.public-site .site-menu>a.chosen,.public-site .site-menu>a:hover,.public-site .site-menu .chosen{color:var(--theme-menu-hover)!important}
.public-site .site-menu a:after{background:var(--theme-menu-hover)!important}
.public-site .site-hero:before,.public-site .interior-hero:before{background:linear-gradient(90deg,var(--theme-hero-overlay),color-mix(in srgb,var(--theme-hero-overlay) 74%,transparent),transparent)!important}
.public-site .site-hero h1,.public-site .site-hero p,.public-site .interior-hero h1,.public-site .interior-hero p{color:var(--theme-hero-text)!important}
.public-site .site-features,.public-site .site-gallery,.public-site .aside-card,.public-site .site-contact-form{background:var(--theme-section-bg)!important}
.public-site .site-feature-card,.public-site .feature-info,.public-site .trust-points span,.public-site .split-copy,.public-site .site-languages,.public-site .lodge-booking-panel{background:var(--theme-card-bg)!important}
.public-site .site-feature-card,.public-site .site-languages,.public-site .site-contact-form{border-color:var(--theme-border)!important}
.public-site .site-head-cta,.public-site .pill-button.primary,.public-site .pill-button.filled,.public-site button.pill-button{background:var(--theme-button-bg)!important;color:var(--theme-button-text)!important}
.public-site .pill-button.outline{background:transparent!important;border-color:var(--theme-button-outline)!important;color:var(--theme-hero-text)!important}
.public-site .new-footer,.public-site .site-cross{background:var(--theme-footer-bg)!important;color:var(--theme-footer-text)!important}
.public-site .new-footer a,.public-site .new-footer .footer-wordmark,.public-site .new-footer .footer-end,.public-site .site-cross h2{color:var(--theme-footer-text)!important}
.public-site .site-cross p,.public-site .new-footer p{color:var(--theme-footer-text)!important;opacity:.78}
.public-site .site-contact-form input,.public-site .site-contact-form textarea{border-color:var(--theme-border)!important}
.public-nav-group{position:relative;flex-shrink:0}
.public-nav-group summary{list-style:none;cursor:pointer;font-weight:750;font-size:13px;white-space:nowrap;display:flex;gap:7px;align-items:center;padding:10px 0}
.public-nav-group summary::-webkit-details-marker{display:none}
.public-nav-group summary span{color:var(--theme-accent)}
.public-nav-dropdown{position:absolute;top:calc(100% + 12px);left:-15px;min-width:235px;padding:12px;background:var(--theme-nav-bg);border:1px solid var(--theme-border);border-radius:17px;box-shadow:0 22px 50px rgba(0,0,0,.16);display:grid;gap:3px;z-index:100}
.public-nav-dropdown a{display:block;padding:10px 12px;border-radius:9px;white-space:nowrap;font-weight:650;color:var(--theme-nav-text)!important}
.public-nav-dropdown a:hover{background:var(--theme-section-bg)!important;color:var(--theme-menu-hover)!important}
.public-nav-dropdown a:after{display:none!important}
@media(max-width:920px){.public-nav-group{width:100%}.public-nav-dropdown{position:static;box-shadow:none;min-width:0;padding:7px 10px;margin:5px 0;background:var(--theme-section-bg)}.public-nav-group summary{padding:10px 0}.site-menu.is-open{background:var(--theme-nav-bg)!important;max-height:70vh;overflow-y:auto}}

/* ParaLodge: outline hero button slowly fills with its configurable border color. */
.public-site.lodge-site .site-hero .pill-button.outline {
    background: linear-gradient(var(--theme-button-outline), var(--theme-button-outline)) left center / 0% 100% no-repeat !important;
    border-color: var(--theme-button-outline) !important;
    color: var(--theme-hero-text) !important;
    transition: background-size .65s cubic-bezier(.22,1,.36,1), color .35s ease, transform .2s ease !important;
}
.public-site.lodge-site .site-hero .pill-button.outline:hover,
.public-site.lodge-site .site-hero .pill-button.outline:focus-visible {
    background-size: 100% 100% !important;
    color: var(--theme-heading) !important;
}
@media (prefers-reduced-motion: reduce) {
    .public-site.lodge-site .site-hero .pill-button.outline { transition: none !important; }
}


/* v2.0.1: automatic contrast for fully configurable colors.
   The chosen colors stay untouched in admin; only unreadable text is corrected. */
.public-site{color:var(--theme-readable-body)!important}
.public-site .site-header .site-brand,
.public-site .site-header .site-brand-name,
.public-site .site-header .site-brand-name small,
.public-site .site-header .site-menu>a,
.public-site .site-header .site-menu summary,
.public-site .site-header .site-mobile-trigger,
.public-site .site-header .site-languages,
.public-site .site-header .site-languages a{color:var(--theme-readable-nav)!important}
.public-site .site-header .site-menu>a:hover,
.public-site .site-header .site-menu>a.chosen,
.public-site .site-header .site-menu .chosen{color:var(--theme-readable-nav-active)!important}
.public-site .site-header .site-languages{background:var(--theme-nav-bg)!important;border:1px solid var(--theme-border)!important}
.public-site .site-header .site-menu .public-nav-dropdown{background:var(--theme-nav-bg)!important}
.public-site .site-header .site-menu .public-nav-dropdown a{color:var(--theme-readable-nav)!important}
.public-site .site-header .site-menu .public-nav-dropdown a:hover{color:var(--theme-readable-section)!important}
.public-site .site-overview,
.public-site .interior-main,
.public-site .site-contact{color:var(--theme-readable-body)!important}
.public-site .site-overview h2,
.public-site .interior-main h2,
.public-site .site-contact h2,
.public-site .breadcrumbs,
.public-site .contact-meta,
.public-site .contact-meta strong{color:var(--theme-readable-body-heading)!important}
.public-site .site-overview p,
.public-site .interior-main .rich-content p,
.public-site .site-contact p,
.public-site .breadcrumbs a{color:var(--theme-readable-body)!important}
.public-site .site-features,
.public-site .site-gallery{color:var(--theme-readable-section)!important}
.public-site .site-features h2,
.public-site .site-gallery h2,
.public-site .aside-card h3{color:var(--theme-readable-section-heading)!important}
.public-site .site-features .features-heading p,
.public-site .site-gallery p,
.public-site .aside-card p{color:var(--theme-readable-muted-section)!important}
.public-site .site-feature-card,
.public-site .feature-info,
.public-site .trust-points span,
.public-site .split-copy,
.public-site .lodge-booking-panel{color:var(--theme-readable-card)!important}
.public-site .site-feature-card h3,
.public-site .feature-info h3,
.public-site .split-copy h2,
.public-site .lodge-booking-panel h2{color:var(--theme-readable-card-heading)!important}
.public-site .site-feature-card p,
.public-site .feature-info p,
.public-site .split-copy p,
.public-site .lodge-booking-panel p,
.public-site .lodge-booking-panel small{color:var(--theme-readable-muted-card)!important;opacity:1!important}
.public-site .feature-info .micro-label,
.public-site .split-copy .micro-label,
.public-site .lodge-booking-panel .micro-label{color:var(--theme-readable-card)!important}
.public-site .trust-points span{color:var(--theme-readable-card)!important}
.public-site .site-contact-form{color:var(--theme-readable-section)!important}
.public-site .site-contact-form label{color:var(--theme-readable-section)!important}
.public-site .site-contact-form input,
.public-site .site-contact-form textarea{background:#ffffff!important;color:#17362f!important}
.public-site .site-head-cta,
.public-site .pill-button.primary,
.public-site .pill-button.filled,
.public-site button.pill-button{color:var(--theme-readable-button)!important}
.public-site .pill-button.primary:hover,
.public-site .pill-button.filled:hover{filter:brightness(1.04)}
.public-site .lodge-booking-panel .pill-button.outline{color:var(--theme-readable-card)!important;border-color:var(--theme-button-outline)!important}
.public-site .new-footer,
.public-site .new-footer a,
.public-site .new-footer p,
.public-site .new-footer .footer-wordmark,
.public-site .new-footer .footer-end,
.public-site .site-cross,
.public-site .site-cross h2,
.public-site .site-cross p{color:var(--theme-readable-footer)!important}
.public-site .new-footer p,.public-site .site-cross p{opacity:1!important}
.public-site .site-cross .micro-label,
.public-site .new-footer .micro-label{color:var(--theme-readable-footer)!important}
/* Keep the ParaLodge outline hover fill, but ensure text is readable once filled. */
.public-site.lodge-site .site-hero .pill-button.outline:hover,
.public-site.lodge-site .site-hero .pill-button.outline:focus-visible{color:var(--theme-readable-outline)!important}

/* v2.5: information menus can contain multiple subjects; remain usable on smaller screens. */
.public-nav-dropdown{max-height:min(72vh,620px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:920px){.public-nav-dropdown{max-height:none;overflow:visible}}
