/* Phase 2 public-only components. No account/admin/auth or Bootstrap reset. */
body.sk2-public{--sk2-gold:#d9b638;--sk2-black:#0b0d0e;--sk2-charcoal:#181a1c;--sk2-muted:#bdc0c5;margin:0;background:#f5f4f0;color:#181a1c;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.sk2-public :is(.sk2-header,.sk2-footer,.sk2-bottom,.sk2-tracking-entry) *{box-sizing:border-box}
.sk2-public :is(a,button,input,select,textarea):focus-visible{outline:3px solid #927007;outline-offset:3px}
.sk2-public :is(.sk2-header,.sk2-footer,.sk2-bottom) :is(a,button):focus-visible{outline-color:#f0cd54}
.sk2-header{position:sticky;top:0;z-index:1030;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 3%;min-height:83px;background:#101214;color:#fff;border-bottom:2px solid #51451e}
.sk2-public .sk2-brand{display:flex;align-items:center;gap:12px;flex-shrink:0;color:#fff;text-decoration:none;font-size:clamp(16px,1.7vw,23px);font-weight:800;line-height:1.1;white-space:nowrap;min-height:44px}
.sk2-brand small{display:block;color:var(--sk2-gold);font-size:10px;letter-spacing:.3px}
.sk2-logo{display:grid;place-items:center;background:var(--sk2-gold);color:#111;border-radius:12px;width:46px;height:46px;font-size:18px}
.sk2-navigation{display:flex;align-items:center;gap:clamp(5px,1vw,16px);font-size:13px}
.sk2-public .sk2-navigation a{display:flex;align-items:center;min-height:44px;padding:8px 4px;color:#d1d3d7;text-decoration:none;white-space:nowrap}
.sk2-public .sk2-navigation a[aria-current]{color:#f0cd54;font-weight:750}
.sk2-public .sk2-button,.sk2-public .sk2-outline{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 16px;border-radius:12px;font-weight:750;text-decoration:none;line-height:1.25}
.sk2-public .sk2-button{background:var(--sk2-gold);color:#111;border:1px solid var(--sk2-gold)}
.sk2-public .sk2-outline{background:var(--sk2-charcoal);color:#fff;border:1px solid #868686}
.sk2-public .sk2-navigation :is(.sk2-button,.sk2-outline){padding:12px}
.sk2-menu{display:none;min-height:44px;min-width:44px;padding:10px 8px;color:#fff;background:transparent;border:1px solid #6d6d6d;border-radius:8px;font-size:11px;font-weight:800}
.sk2-skip{position:fixed;top:-100px;left:12px;z-index:1100;background:#d9b638;color:#111;padding:12px;min-height:44px}.sk2-skip:focus{top:8px}
.sk2-footer{display:block;background:#101214;color:#c9cbd0;padding:32px max(5%,16px);font-size:14px}
.sk2-inner{max-width:1290px;margin:auto;display:grid;grid-template-columns:1fr 1.5fr;gap:24px}
.sk2-footer strong{color:#f0cd54}.sk2-footer p{margin:8px 0}.sk2-footer nav{display:flex;flex-wrap:wrap;gap:4px 20px}
.sk2-public .sk2-footer a{display:flex;align-items:center;min-height:44px;color:#dedfe2;text-decoration:none}
.sk2-bottom{display:none}.sk2-eyebrow{font-size:12px;font-weight:750;color:#735607;letter-spacing:.5px}
.sk2-tracking-entry{max-width:720px;margin:24px auto 48px;padding:clamp(20px,4vw,40px);background:#fff;border:1px solid #ded8c7;border-radius:22px}
.sk2-tracking-entry h1{font-size:clamp(28px,4vw,44px);font-weight:800;margin:12px 0 20px;line-height:1.15}.sk2-tracking-entry p{line-height:1.6}
.sk2-tracking-entry form{display:grid;gap:12px;margin:24px 0}.sk2-tracking-entry label{font-weight:700}.sk2-tracking-entry input{min-width:0;width:100%;min-height:48px;border:1px solid #777;border-radius:10px;padding:12px;font-size:16px}
.sk2-public:not(.sk2-home) main{padding-top:24px;padding-bottom:32px;min-width:0;scroll-margin-top:90px}
.sk2-public:not(.sk2-home) main :is(h1,h2,h3){font-weight:750}.sk2-public:not(.sk2-home) main :is(input,select,button,.btn,.sk-prices-cta){min-height:44px}
.sk2-public:not(.sk2-home) main :is(input[type=checkbox],input[type=radio]){min-height:initial}
.sk2-public:not(.sk2-home) :is(.sk-prices-kicker,.sk-book-eyebrow,.sk-track-eyebrow){color:#dfbf51}
.sk2-public:not(.sk2-home) :is(.sk-prices-hero,.sk-track-hero,.booking-hero){background:linear-gradient(120deg,#101214,#25251c);color:#fff;border-color:#51451e}
.sk2-public:not(.sk2-home) :is(.sk-prices-panel,.sk-prices-card,.sk-track-panel,.section-card){border-color:#ded8c7}
.sk2-public.sk2-home{background:var(--sk2-black);color:#fff}.sk2-home .sk2-footer{justify-content:normal}.sk2-home .sk2-footer p{font-size:14px}.sk2-home .sk2-header{font-family:inherit}
@media(max-width:1200px){.sk2-header{min-height:72px;padding:12px 18px}.sk2-brand{font-size:18px}.sk2-menu{display:block}.sk2-navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:12px 18px;background:#101214;flex-direction:column;align-items:stretch;gap:2px;max-height:calc(100dvh - 140px);overflow-y:auto;box-shadow:0 12px 16px #0003}.sk2-navigation.is-open{display:flex}.sk2-public .sk2-navigation a{min-height:44px;padding:12px}}
@media(max-width:900px){body.sk2-public{padding-bottom:calc(64px + env(safe-area-inset-bottom, 0px))}.sk2-bottom{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:1030;background:#101214;justify-content:space-around;padding:4px 4px calc(4px + env(safe-area-inset-bottom));min-height:56px}.sk2-public .sk2-bottom a{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:8px 4px;color:#dedfe2;font-size:11px;text-decoration:none}.sk2-inner{grid-template-columns:1fr}.sk2-footer{padding-bottom:24px}.sk2-public .sk2-footer{display:block}.sk2-tracking-entry{margin:8px 0 24px}.sk2-public:not(.sk2-home) main{scroll-margin-top:80px}.sk2-public:not(.sk2-home) .booking-shell{padding:0}.sk2-public:not(.sk2-home) :is(.quick-grid,.steps){grid-template-columns:1fr}}
@media(max-width:360px){.sk2-header{padding:10px 12px;gap:8px}.sk2-public .sk2-brand{font-size:16px;gap:8px}.sk2-logo{width:40px;height:40px}.sk2-public.sk2-home h1{font-size:36px}.sk2-home .activities a{padding:14px 10px;gap:8px}.sk2-home .date{width:66px}}
@media(prefers-reduced-motion:reduce){.sk2-public *{scroll-behavior:auto!important;transition:none!important}}

.sk2-public .sk2-navigation a.sk2-button{color:#111}.sk2-public .sticky-mobile-bar{display:none}
.sk2-public .sk2-header a:hover,.sk2-public .sk2-footer a:hover{text-decoration:underline}

body.sk2-public:is(.sk-book-body,.sk-public-track){background:#0b0d0e;color:#f5f4f0}
.sk2-public .sk2-navigation a,.sk2-public .sk2-footer a{min-width:44px}

.sk2-home .week .eyebrow{color:#735607}
.sk2-home .week aside .eyebrow{color:#dfbf51}
body.sk2-public.sk-book-body{padding-bottom:0}
.sk2-home .filters button{min-height:44px;min-width:44px}
.sk2-home .accounts a,.sk2-tracking-entry p a{display:inline-flex;align-items:center;min-height:44px}
body.sk2-public.sk-public-track main :is(h1,h2,h3){color:#fff!important}
body.sk2-public.sk-public-track .sk-track-hero-actions .btn-outline-primary{color:#fff!important;border-color:#868686}

/* Use the full main column for handover; keep the existing sticky summary. */
.sk2-public .sk-book-detail-grid{grid-template-columns:minmax(0,1fr)}
body.sk2-public.sk-public-track .sk-track-step{padding:12px;border-radius:12px}
body.sk2-public.sk-public-track .sk-track-step.is-done{border-color:#3f9369}
body.sk2-public.sk-public-track .sk-track-step.is-current{border-color:#d9b638;background:#d9b63812}
body.sk2-public.sk-public-track .sk-track-step:not(.is-done):not(.is-current){color:#bdc0c5}
@media(max-width:767px){
 body.sk2-public.sk-public-track .sk-track-timeline{display:block}
 body.sk2-public.sk-public-track .sk-track-step{display:grid;grid-template-columns:16px minmax(0,1fr);gap:16px;padding:12px 0;border:0;border-radius:0;background:transparent}
 body.sk2-public.sk-public-track .sk-track-step:not(:last-child)::after{content:"";position:absolute;left:7px;top:30px;bottom:-12px;width:2px;background:#62676c}
 body.sk2-public.sk-public-track .sk-track-step-marker{margin:5px 0 0;position:relative;z-index:1}
 body.sk2-public.sk-public-track .sk-track-step.is-current{background:#d9b63812}
 body.sk2-public.sk-public-track .sk-track-step h3{font-size:16px;margin:0}
 body.sk2-public.sk-public-track .sk-track-step p{font-size:13px;margin:3px 0 0}
}
/* Final shared layout/navigation polish (inside the existing fail-closed public gate). */
.sk2-header{max-width:none;padding-inline:clamp(16px,2.4vw,36px)}
.sk2-public .sk2-brand{font-size:clamp(16px,1.35vw,20px)}
.sk2-logo{width:44px;height:44px;border-radius:10px}
.sk2-navigation,.sk2-services,.sk2-actions{display:flex;align-items:center}
.sk2-services{gap:clamp(4px,.65vw,10px)}
.sk2-actions{gap:8px;margin-left:clamp(4px,.65vw,10px);padding-left:clamp(8px,1vw,14px);border-left:1px solid #4b4d4f}
.sk2-public .sk2-navigation a{padding-inline:6px}
.sk2-public .sk2-navigation a[aria-current="page"]{box-shadow:inset 0 -2px #d9b638}
.sk2-public main{width:min(100% - 32px,1290px);margin-inline:auto}
.sk2-public :is(.card,.section-card,.sk2-club-empty){box-shadow:0 8px 24px rgba(16,18,20,.06)}
.sk2-public :is(.badge,[class*="status"]){line-height:1.35}
.sk2-public .table-responsive{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.sk2-footer .sk2-inner{width:min(100%,1290px)}
@media(max-width:1200px){
 .sk2-navigation,.sk2-navigation.is-open{align-items:stretch}
 .sk2-services,.sk2-actions{display:flex;flex-direction:column;align-items:stretch;gap:2px}
 .sk2-actions{margin:8px 0 0;padding:8px 0 0;border-left:0;border-top:1px solid #4b4d4f}
 .sk2-public .sk2-navigation a{width:100%;padding:11px 12px}
 .sk2-public .sk2-navigation a[aria-current="page"]{box-shadow:inset 3px 0 #d9b638}
}
@media(max-width:900px){body.sk2-public{padding-bottom:0}.sk2-bottom{display:none!important}}
@media(max-width:430px){
 .sk2-header{padding:10px 12px;gap:8px}
 .sk2-public .sk2-brand{gap:8px;font-size:15px}
 .sk2-logo{width:40px;height:40px}
 .sk2-public main{width:min(100% - 24px,1290px)}
 .sk2-footer{padding-inline:16px}
}
/* Layout fixes: closed mobile menu, unclipped hero actions, even footer links. */
@media(max-width:1200px){
 .sk2-navigation:not(.is-open){display:none}
 .sk2-navigation.is-open{display:flex;flex-direction:column;z-index:1040}
}
.sk2-home .hero{height:auto;min-height:500px;padding-bottom:64px}
.sk2-home .hero .actions{flex-wrap:wrap;align-items:center}
.sk2-home .hero .actions a{min-width:180px}
.sk2-public .sk2-footer nav{gap:4px 22px}
.sk2-public .sk2-footer nav a{min-width:0}
.sk2-footer .sk2-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}
@media(max-width:900px){
 .sk2-home .hero{min-height:0;padding:18px 0 36px}
 .sk2-home .hero .actions a{width:100%}
 .sk2-public .sk2-footer nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;width:100%}
}
/* Home: full-width hero and week bands with centred content. */
.sk2-home main > .hero,.sk2-home main > .week{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.sk2-home main > .hero > .container,.sk2-home main > .week > .container{width:min(100% - 32px,1290px)}
@media(max-width:430px){.sk2-home main > .hero > .container,.sk2-home main > .week > .container{width:calc(100% - 24px)}}
/* Prices: equal-height string cards with the booking button pinned to the bottom. */
.sk2-public .sk-prices-card,.sk2-public [class*="sk-prices-string"]{display:flex;flex-direction:column}
.sk2-public .sk-prices-card > :last-child{margin-top:auto}
/* Phones: same left/right gutters for every home section (old .container margins were % based). */
.sk2-home main > .hero > .container,.sk2-home main > .week > .container{margin-inline:auto}
@media(max-width:900px){.sk2-home main > .services{width:100%;margin-inline:0}}
