/* ZENITH SPA / responsive flag language selector / stage 01 */
.zenith-locale { position:relative;flex:none;isolation:isolate; }
.zenith-locale-toggle { display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:7px 9px;border:1px solid #dcd9cf;border-radius:6px;background:rgba(255,255,255,.72);color:#35483a;cursor:pointer;font-family:inherit;font-size:12px;font-weight:650;white-space:nowrap;transition:border-color .18s ease,background-color .18s ease; }
.zenith-locale-toggle:hover,.zenith-locale-toggle[aria-expanded="true"] { background:#fff;border-color:#bba57e; }
.zenith-locale-toggle:focus-visible,.zenith-locale-option:focus-visible { outline:3px solid #bba57e;outline-offset:2px; }
.zenith-locale-flag,.zenith-locale-option img { width:27px;height:18px;flex:none;display:block;object-fit:cover;border-radius:2px;border:1px solid rgba(0,0,0,.09);box-shadow:0 1px 2px rgba(0,0,0,.08); }
.zenith-locale-chevron { color:#738071;transition:transform .18s ease;flex:none; }
.zenith-locale-toggle[aria-expanded="true"] .zenith-locale-chevron { transform:rotate(180deg); }
.zenith-locale-options { position:absolute;z-index:300;top:calc(100% + 9px);right:0;min-width:204px;margin:0;padding:8px;list-style:none;background:#fffdf9;border:1px solid #e6e0d5;border-radius:9px;box-shadow:0 14px 40px rgba(32,43,35,.17);max-height:min(75dvh,400px);overflow-y:auto;overscroll-behavior:contain; }
.zenith-locale-options[hidden] { display:none!important; }
.zenith-locale-options li { margin:0;padding:0; }
.zenith-locale-option { display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:8px 10px;border-radius:5px;font-family:inherit;font-size:12px;line-height:1.3;letter-spacing:0;color:#3d493f;text-decoration:none;white-space:nowrap; }
a.zenith-locale-option:hover,a.zenith-locale-option.is-current { background:#f1f2ec;color:#2d4534; }
.zenith-locale-check { margin-left:auto;color:#647e63;font-size:15px; }
.zenith-locale-option.is-pending { color:#84867f;cursor:default; }
.zenith-locale-option.is-pending img { opacity:.72; }
.zenith-locale-option small { margin-left:auto;font-size:10px;color:#92958c; }
@media(max-width:900px){.header-tools .zenith-locale{display:block;}.zenith-locale-toggle{min-height:38px;padding:6px 7px;gap:5px;} .zenith-locale-current{display:none;} .zenith-locale-options{min-width:190px;} }
@media(max-width:600px){.header-tools .zenith-locale{display:block;} .header-tools{gap:6px;} .zenith-locale-toggle{min-width:49px;min-height:37px;} .zenith-locale-flag{width:25px;height:17px;} .zenith-locale-chevron{width:11px;height:11px;} }
@media(max-width:350px){.zenith-locale-toggle{min-width:44px;padding:5px 5px;gap:3px;}.zenith-locale-flag{width:22px;height:15px;} }
@media(prefers-reduced-motion:reduce){.zenith-locale-chevron,.zenith-locale-toggle{transition:none;} }


/* Stage 02: uncluttered responsive header. Desktop booking button is unchanged. */
@media (max-width: 900px) {
  /* The booking action stays available inside the mobile menu and throughout the site. */
  .site-header .header-tools .header-contact { display: none !important; }
  .site-header .header-inner { justify-content: space-between; gap: 12px; }
  .site-header .header-tools { margin-left: auto; gap: 8px; flex: none; }
  .site-header .wordmark { min-width: 0; flex: 0 1 auto; }
  .site-header .menu-toggle { display: flex; width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 10px; }
  .site-header .zenith-locale-toggle { width: 44px; min-width: 44px; min-height: 44px; padding: 7px 5px; gap: 4px; border-color: #e5dfd5; }
  .site-header .zenith-locale-flag { width: 24px; height: 16px; }
  .site-header .zenith-locale-chevron { width: 10px; height: 10px; }
}
@media (max-width: 600px) {
  .site-header .header-inner { gap: 7px; }
  .site-header .header-tools { gap: 4px; }
  .site-header .wordmark span { font-size: 17px; }
  .site-header .wordmark small { font-size: 6px; }
}
@media (max-width: 350px) {
  .site-header .wordmark span { font-size: 16px; }
  .site-header .wordmark { gap: 5px; }
  .site-header .brand-symbol { width: 22px; height: 23px; }
}

/* Stage 03 | mobile header balance: brand / single flag / menu */
@media (max-width:900px) {
  :root { --header:64px; }
  .site-header { height:var(--header); background:#faf9f6; border-bottom:1px solid #e9e4dc; }
  .site-header .header-inner.content-wrap { width:calc(100% - 36px); gap:8px; }
  .site-header .wordmark { min-width:0; width:auto; flex:0 1 auto; gap:7px; }
  .site-header .brand-symbol { width:27px; height:28px; }
  .site-header .wordmark span { font-size:18px; letter-spacing:.065em; line-height:1; }
  .site-header .wordmark small { font-size:6px; letter-spacing:.19em; margin-top:5px; }
  .site-header .header-tools { margin-left:auto; flex:0 0 auto; gap:7px; }
  .site-header .zenith-locale-toggle {
    width:39px; min-width:39px; height:42px; min-height:42px;
    border:0; box-shadow:none; background:transparent; padding:0 2px;
    gap:3px; border-radius:7px;
  }
  .site-header .zenith-locale-toggle:hover,
  .site-header .zenith-locale-toggle[aria-expanded="true"] { background:#eeece6; border:0; }
  .site-header .zenith-locale-flag { width:27px; height:18px; border:1px solid #d9d9d4; border-radius:2px; box-shadow:none; object-fit:cover; }
  .site-header .zenith-locale-chevron { width:8px; height:8px; color:#686b63; }
  .site-header .menu-toggle {
    display:flex; width:40px; min-width:40px; height:42px; min-height:42px;
    padding:8px; border-radius:7px; gap:5px;
  }
  .site-header .menu-toggle:hover { background:#eeece6; }
  .site-header .menu-toggle span { width:23px; height:1.5px; }
  .site-header .zenith-locale-options { top:calc(100% + 11px); right:-43px; min-width:205px; border-radius:9px; }
}
@media (max-width:600px) {
  :root { --header:60px; }
  .site-header .header-inner.content-wrap { width:calc(100% - 30px); gap:5px; }
  .site-header .brand-symbol { width:25px; height:26px; }
  .site-header .wordmark span { font-size:17px; letter-spacing:.065em; }
  .site-header .wordmark small { font-size:6px; letter-spacing:.17em; }
  .site-header .header-tools { gap:3px; }
}
@media (max-width:370px) {
  .site-header .header-inner.content-wrap { width:calc(100% - 24px); }
  .site-header .wordmark { gap:5px; }
  .site-header .wordmark span { font-size:15.5px; }
  .site-header .wordmark small { font-size:5.5px; }
  .site-header .brand-symbol { width:23px; height:24px; }
  .site-header .header-tools { gap:4px; }
  .site-header .zenith-locale-toggle { width:38px; min-width:38px; }
  .site-header .menu-toggle { width:38px; min-width:38px; }
}
