/* Sky & Stay v3.0.9 — unified site navigation tokens for public pages.
   Colors are always supplied by the CMS theme_css_vars($site).
   This file must load after page-specific CSS. */
:root {
  --theme-nav-bg:#fff;
  --theme-nav-text:#183831;
  --theme-readable-nav:#183831;
  --theme-readable-nav-active:#bf8c42;
  --theme-menu-hover:#bf8c42;
  --theme-border:#dfe7e3;
  --theme-button-bg:#315c35;
  --theme-readable-button:#fff;
  --theme-section-bg:#f7f5ef;
}
/* Shared header (homepage, course calendar, shop, booking, guest/student portals) */
.site-header,
.public-site .site-header {
  background:var(--theme-nav-bg)!important;
  color:var(--theme-readable-nav)!important;
  border-bottom:1px solid var(--theme-border)!important;
  box-shadow:0 8px 28px rgba(9,34,42,.08)!important;
}
.site-header .site-brand,
.site-header .site-brand-name,
.site-header .site-brand-name small,
.site-header .site-menu > a,
.site-header .site-menu > details > summary,
.site-header .site-mobile-trigger {
  color:var(--theme-readable-nav)!important;
}
.site-header .site-menu > a:hover,
.site-header .site-menu > a.chosen,
.site-header .site-menu > details[open] > summary,
.site-header .site-menu > details > summary:hover,
.site-header .site-menu .public-nav-dropdown > a.chosen {
  color:var(--theme-readable-nav-active,var(--theme-menu-hover))!important;
}
.site-header .site-menu > a::after {
  background:var(--theme-menu-hover)!important;
}
.site-header .public-nav-dropdown,
.site-header .site-menu.is-open,
.site-header .site-languages,
.site-header .public-nav-group .public-nav-dropdown {
  background:var(--theme-nav-bg)!important;
  border-color:var(--theme-border)!important;
}
.site-header .public-nav-dropdown a,
.site-header .site-languages a,
.site-header .site-languages a.chosen {
  color:var(--theme-readable-nav)!important;
}
.site-header .public-nav-dropdown a:hover,
.site-header .public-nav-dropdown a.chosen {
  color:var(--theme-readable-nav-active,var(--theme-menu-hover))!important;
  background:color-mix(in srgb,var(--theme-menu-hover) 12%,var(--theme-nav-bg))!important;
}
.site-header .site-head-cta {
  background:var(--theme-button-bg)!important;
  color:var(--theme-readable-button)!important;
  border-color:var(--theme-button-bg)!important;
}
.site-header .site-menu > a,
.site-header .site-menu summary {
  font-family:system-ui,-apple-system,'Segoe UI',sans-serif!important;
  font-size:13px!important;
  font-weight:750!important;
  letter-spacing:0!important;
  text-shadow:none!important;
}
/* SkiService uses its own structural header but the same CMS tokens. */
.ski-site .ski-header {
  background:var(--theme-nav-bg)!important;
  border-bottom:1px solid var(--theme-border)!important;
  color:var(--theme-readable-nav)!important;
}
.ski-site .ski-header .ski-logo,
.ski-site .ski-header .ski-logo small,
.ski-site .ski-header .ski-nav > a,
.ski-site .ski-header .ski-drop > summary,
.ski-site .ski-header .ski-menu-button,
.ski-site .ski-header .ski-lang a {
  color:var(--theme-readable-nav)!important;
}
.ski-site .ski-header .ski-nav > a:hover,
.ski-site .ski-header .ski-drop[open] > summary,
.ski-site .ski-header .ski-lang a.active {
  color:var(--theme-readable-nav-active,var(--theme-menu-hover))!important;
}
.ski-site .ski-header .ski-nav,
.ski-site .ski-header .ski-sub {
  background:var(--theme-nav-bg)!important;
  border-color:var(--theme-border)!important;
}
.ski-site .ski-header .ski-sub a {color:var(--theme-readable-nav)!important}
.ski-site .ski-header .ski-sub a:hover {color:var(--theme-readable-nav-active,var(--theme-menu-hover))!important}
@media(max-width:920px) {
  .site-header .site-menu.is-open {background:var(--theme-nav-bg)!important}
  .site-header .site-menu.is-open > a {color:var(--theme-readable-nav)!important}
  .site-header .site-menu.is-open > details > summary {color:var(--theme-readable-nav)!important}
}
