/**
 * OutdoorGate — ONE shared site chrome (nav + mobile menu + footer).
 * Self-contained (ogc- classes, own tokens) so it renders identically whether it is
 * output inside a bespoke canvas template OR injected on a theme-rendered page. This is
 * the single source of truth for the header/footer across the whole site.
 *
 * Modes on .ogc-nav:
 *   .is-over  — sits transparent over a dark hero, turns solid on scroll (.scrolled)
 *   .is-solid — always the solid light bar (theme pages with no dark hero behind it)
 */
.ogc-nav,.ogc-mobmenu,.ogc-footer{--ogc-ink:#0A2622;--ogc-tide:#12857A;--ogc-leaf:#5CB08E;--ogc-sun:#C2531C;--ogc-sun2:#AA4715;--ogc-paper:#EEF3EF;--ogc-fg:#122A26;--ogc-muted:#5B726B;--ogc-line:#D7E0DA;--ogc-serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;--ogc-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--ogc-ground:var(--ogc-paper);--ogc-surface:#fff;--ogc-txt:var(--ogc-fg)}
@media(prefers-color-scheme:dark){.ogc-nav,.ogc-mobmenu,.ogc-footer{--ogc-ground:#071E1A;--ogc-txt:#E7F1ED;--ogc-muted:#9DBBB1;--ogc-line:#1D3B35;--ogc-surface:#0E2A25}}
.ogc-nav *,.ogc-mobmenu *,.ogc-footer *{box-sizing:border-box}

/* ---- Nav bar ---- */
.ogc-nav{position:fixed;inset:0 0 auto 0;z-index:99990;font-family:var(--ogc-sans);transition:background .3s,border-color .3s,box-shadow .3s}
.ogc-nav-in{max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,48px);display:flex;align-items:center;justify-content:space-between;height:76px}
.ogc-brand{display:flex;align-items:center;gap:11px;color:#fff;font-family:var(--ogc-serif);font-size:20px;font-weight:600;text-decoration:none}
.ogc-brand img{width:46px;height:46px;border-radius:50%;object-fit:contain;background:#fff;padding:3px;box-shadow:0 2px 12px rgba(0,0,0,.18)}
.ogc-links{display:flex;gap:clamp(14px,1.7vw,28px)}
.ogc-links a,.ogc-links .ogc-drop-trig{color:rgba(255,255,255,.85);font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap;transition:color .15s}
.ogc-links a:hover{color:#fff}
.ogc-cta{display:flex;align-items:center;gap:12px}
.ogc-btn{display:inline-flex;align-items:center;gap:.6em;font-weight:600;font-size:15px;padding:13px 24px;border-radius:100px;border:1px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform .18s,box-shadow .18s,background .18s}
.og-lang-btn{white-space:nowrap}
.ogc-btn-sun{background:linear-gradient(180deg,var(--ogc-sun),var(--ogc-sun2));color:#fff!important;box-shadow:0 10px 26px -8px rgba(170,71,21,.6)}
.ogc-btn-sun:hover{transform:translateY(-2px)}
.ogc-burger{display:none;flex-direction:column;gap:5px;align-items:center;justify-content:center;width:46px;height:46px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);border-radius:12px;cursor:pointer;flex:none;padding:0}
.ogc-burger span{width:20px;height:2px;background:#fff;border-radius:2px;transition:transform .25s,opacity .2s}
.ogc-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.ogc-burger.open span:nth-child(2){opacity:0}
.ogc-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* solid state: shared by .is-solid (always) and .is-over.scrolled */
.ogc-nav.is-solid,.ogc-nav.is-over.scrolled{background:color-mix(in srgb,var(--ogc-ground) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--ogc-line)}
.ogc-nav.is-solid .ogc-brand,.ogc-nav.is-over.scrolled .ogc-brand{color:var(--ogc-txt)}
.ogc-nav.is-solid .ogc-links a,.ogc-nav.is-over.scrolled .ogc-links a{color:var(--ogc-muted)}
.ogc-nav.is-solid .ogc-links a:hover,.ogc-nav.is-over.scrolled .ogc-links a:hover{color:var(--ogc-tide)}
.ogc-nav.is-solid .ogc-burger,.ogc-nav.is-over.scrolled .ogc-burger{background:rgba(18,133,122,.08);border-color:var(--ogc-line)}
.ogc-nav.is-solid .ogc-burger span,.ogc-nav.is-over.scrolled .ogc-burger span{background:var(--ogc-txt)}

/* ---- Mobile menu ---- */
.ogc-mobmenu{display:none;position:fixed;top:76px;left:0;right:0;z-index:99989;background:color-mix(in srgb,var(--ogc-ground) 97%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--ogc-line);padding:14px clamp(20px,5vw,48px) calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:2px;max-height:calc(100svh - 76px);overflow-y:auto;font-family:var(--ogc-sans)}
.ogc-mobmenu.open{display:flex}
.ogc-mobmenu a:not(.ogc-btn){color:var(--ogc-txt);font-family:var(--ogc-serif);font-size:19px;font-weight:600;padding:15px 4px;border-bottom:1px solid var(--ogc-line);text-decoration:none}
.ogc-mobmenu a.ogc-btn{margin-top:16px;justify-content:center;width:100%}
@media(max-width:992px){.ogc-links,.ogc-cta{display:none}.ogc-burger{display:flex}}
@media(min-width:993px){.ogc-mobmenu{display:none!important}}

/* ---- Desktop nav dropdown (Experiences) — pure CSS hover/focus, no JS ---- */
.ogc-drop-wrap{position:relative;display:flex;align-items:center}
.ogc-drop-trig{display:inline-flex!important;align-items:center;gap:5px}
.ogc-caret{transition:transform .2s ease;opacity:.75;flex:none}
.ogc-drop-wrap:hover .ogc-caret,.ogc-drop-wrap:focus-within .ogc-caret{transform:rotate(180deg)}
.ogc-drop{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(12px);min-width:250px;background:var(--ogc-surface);border:1px solid var(--ogc-line);border-radius:14px;padding:8px;box-shadow:0 26px 60px -18px rgba(10,38,34,.42);display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.ogc-drop::before{content:"";position:absolute;bottom:100%;left:0;right:0;height:16px}/* invisible bridge so hover doesn't drop */
.ogc-drop-wrap:hover .ogc-drop,.ogc-drop-wrap:focus-within .ogc-drop{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(7px)}
.ogc-nav .ogc-drop a{color:var(--ogc-txt)!important;padding:11px 15px;border-radius:9px;font-size:14px;font-weight:500;white-space:nowrap}
.ogc-nav .ogc-drop a:hover{background:color-mix(in srgb,var(--ogc-tide) 12%,transparent);color:var(--ogc-tide)!important}

/* ---- Mobile menu sub-links (indented children under a section) ---- */
.ogc-mobmenu a.ogc-mob-sub{font-family:var(--ogc-sans);font-size:15px;font-weight:500;padding:12px 4px 12px 22px;opacity:.82}
.ogc-mobmenu a.ogc-mob-sub::before{content:"— ";opacity:.5}

/* Stop mobile browsers auto-inflating text (a common cause of layout breaks) */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
/* Adaptive fit (measured by og-nav-fit script, works for every language & width):
   Stage 1 (.ogc-logo-only) drops the wordmark to reclaim ~140px when the labels are tight;
   Stage 2 (.ogc-cramped) collapses to the hamburger if even logo-only can't fit. */
@media(min-width:993px){
	.ogc-nav.ogc-logo-only .ogc-brand span{display:none}
	.ogc-nav.ogc-cramped .ogc-links,.ogc-nav.ogc-cramped .ogc-cta{display:none}
	.ogc-nav.ogc-cramped .ogc-burger{display:flex}
}

/* ---- Language switcher: dark (over-hero) vs light (solid) nav ---- */
.ogc-nav.is-solid .og-lang-btn,.ogc-nav.is-over.scrolled .og-lang-btn{color:var(--ogc-ink);border-color:var(--ogc-line);background:#fff}
.ogc-nav.is-solid .og-lang-btn:hover,.ogc-nav.is-over.scrolled .og-lang-btn:hover{background:#EEF3EF;border-color:#c3d2ca}
.ogc-nav .og-lang-menu{z-index:100001}

/* ---- Footer ---- */
.ogc-footer{padding:64px 0 calc(44px + env(safe-area-inset-bottom));background:var(--ogc-ink);color:#c9ded7;font-family:var(--ogc-sans);font-size:16px;line-height:1.6}
.ogc-footer .ogc-foot-wrap{max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,48px)}
.ogc-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px}
@media(max-width:820px){.ogc-foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ogc-footer{padding-top:48px}.ogc-foot-bottom{margin-top:32px}}
.ogc-foot-brand .ogc-brand{color:#fff}
.ogc-foot-brand p{color:#9dbbb1;font-size:14px;max-width:34ch;margin:14px 0 0}
.ogc-foot-rating{color:#f0a35f;font-weight:600;margin-top:10px}
.ogc-foot-grid h5{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#7fa89d;margin:0 0 14px}
.ogc-foot-grid a:not(.ogc-brand){display:block;color:#dcebe5;opacity:.9;font-size:14.5px;padding:5px 0;text-decoration:none}
.ogc-foot-grid a:not(.ogc-brand):hover{opacity:1;color:var(--ogc-leaf)}
.ogc-foot-brand .ogc-brand{display:inline-flex;gap:11px;align-items:center}
.ogc-foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);color:#7fa89d;font-size:13px}
