/* ============================================================
   Sakhelosno BAR — sakhelosno.ge
   Design system: "Disco Jungle"
   ============================================================ */
:root{
  --bg:#0d1410;
  --cream:#f5eede;
  --gold:#e8b64c;
  --red:#e2483d;
  --green:#274233;
  --txt:#f2efe6;
  --dim:#b7b3a4;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--txt);font-family:'Inter',sans-serif;overflow-x:hidden}
/* film grain */
body::after{content:"";position:fixed;inset:0;z-index:98;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E")}

/* ---------- NAV ---------- */
nav{position:fixed;top:0;width:100%;z-index:70;display:flex;justify-content:flex-start;gap:30px;align-items:center;padding:20px 40px;background:linear-gradient(#0d1410f4,#0d141000)}
nav::before{content:"";position:absolute;inset:0;background:#0d1410f5;box-shadow:0 6px 24px #0009;opacity:0;transition:opacity .35s;z-index:-1}
nav.scrolled::before{opacity:1}
.nlogo{line-height:0;flex:0 0 auto}
.nlogo img{width:46px;height:46px;display:block;filter:drop-shadow(0 4px 12px #0008);transition:transform .3s}
.nlogo:hover img{transform:rotate(-8deg) scale(1.08)}
nav ul{display:flex;gap:34px;list-style:none;font-size:16.5px;font-family:'Bricolage Grotesque',sans-serif;font-weight:600}
nav ul a.nphone{color:var(--gold)}
nav .cta{margin-left:auto}
nav ul a{color:var(--txt);text-decoration:none;position:relative;padding-bottom:4px}
nav ul a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--gold);transition:.3s}
nav ul a:hover::after,nav ul a.active::after{width:100%}
nav .cta{background:var(--gold);color:#241a05;padding:12px 24px;border-radius:100px;font-weight:700;font-size:14px;text-decoration:none;font-family:'Bricolage Grotesque',sans-serif}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:120px 20px 80px;overflow:hidden}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero .hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .shade{position:absolute;inset:0;background:radial-gradient(ellipse at center,#0d141040 0%,#0d1410f2 96%)}
.hero>*{position:relative;z-index:2}
.hero .logo{width:150px;height:150px;margin-bottom:22px;filter:drop-shadow(0 12px 34px #000a);animation:float 5s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.badge{display:inline-block;background:var(--red);color:#fff;border-radius:100px;padding:8px 18px;font-weight:700;font-size:13px;margin-bottom:22px;transform:rotate(-2deg);font-family:'Bricolage Grotesque',sans-serif;box-shadow:0 8px 24px #e2483d44}
h1{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(44px,7.4vw,104px);line-height:1;color:var(--cream);text-transform:uppercase;text-shadow:0 6px 40px #000c}
h1 .g{color:var(--gold)}
.hero .sub2{margin-top:24px;max-width:640px;font-size:19px;line-height:1.7;color:#fdfaf1;font-weight:500;text-shadow:0 2px 18px #000e,0 0 40px #0009}
.btns{margin-top:36px;display:flex;gap:16px;flex-wrap:wrap;justify-content:center}

/* hero buttons */
.hbtn{position:relative;display:inline-flex;align-items:center;gap:12px;padding:18px 34px;border-radius:14px;font-weight:800;text-decoration:none;font-size:16.5px;font-family:'Bricolage Grotesque',sans-serif;letter-spacing:.4px;overflow:hidden;transform:rotate(-1.4deg);transition:transform .25s,box-shadow .25s}
.btns .hbtn:nth-child(2){transform:rotate(1.2deg)}
.btns .hbtn:hover,.btns .hbtn:nth-child(2):hover{transform:rotate(0) translateY(-4px) scale(1.04)}
.hbtn:hover{transform:rotate(0) translateY(-4px) scale(1.04)}
.hbtn em{font-style:normal;transition:transform .25s}
.hbtn:hover em{transform:translateX(5px)}
.hbtn-gold{background:var(--gold);color:#241a05;box-shadow:0 12px 34px #e8b64c55}
.hbtn-gold::before{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(105deg,#fff0,#ffffff88,#fff0);transform:skewX(-20deg);animation:shine 3.2s ease-in-out infinite}
@keyframes shine{0%,55%{left:-80%}75%,100%{left:130%}}
.hbtn-glass{background:#0d141055;border:2px solid #f5eede77;color:var(--cream);backdrop-filter:blur(8px);box-shadow:0 12px 30px #0007}

/* ---------- MARQUEE TAPES ---------- */
.tape{background:var(--red);color:#ffe9d9;overflow:hidden;padding:13px 0;font-weight:800;font-size:16px;transform:rotate(-1.2deg);margin-top:-14px;position:relative;z-index:5;font-family:'Bricolage Grotesque',sans-serif}
.track{display:flex;width:max-content;animation:mq 40s linear infinite}
.track span{white-space:nowrap;display:block}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.tape2{background:transparent;color:transparent;-webkit-text-stroke:1.5px #e8b64c88;transform:none;border-top:1px dashed #f5eede1c;border-bottom:1px dashed #f5eede1c;font-size:34px;padding:18px 0;margin:0}
.tape2 .track{animation-duration:55s;animation-direction:reverse}

/* ---------- SECTIONS ---------- */
section{padding:60px 36px;max-width:1320px;margin:0 auto}
.stamp{display:inline-block;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:12px;letter-spacing:3px;color:var(--red);border:1.5px solid var(--red);border-radius:100px;padding:6px 16px;margin-bottom:20px;text-transform:uppercase;transform:rotate(-1.5deg)}
h2{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(32px,4.4vw,58px);color:var(--cream);margin-bottom:14px;letter-spacing:-.5px}
h2 .g{color:var(--gold)}
.sub{color:var(--dim);width:100%;line-height:1.75;margin-bottom:48px;font-size:16px}

/* reveal on scroll */
.rv{opacity:0;transform:translateY(46px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.3,1)}
.rv.on{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.rv{opacity:1;transform:none;transition:none}.track{animation:none}.hero .logo{animation:none}}

/* ---------- TIMELINE ---------- */
.timeline{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.tl{background:#131b15;border:1px solid #f5eede12;border-radius:18px;overflow:hidden;box-shadow:0 14px 34px #0005;display:flex;flex-direction:column}
.tl .ph{position:relative;height:340px;overflow:hidden}
.tl .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:.6s}
.tl:hover .ph img{transform:scale(1.07)}
.tl .time{position:absolute;left:18px;bottom:18px;background:var(--gold);color:#241a05;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:26px;padding:8px 20px;border-radius:12px;box-shadow:0 8px 22px #000a;z-index:2}
.tl .tx{padding:24px}
.tl h3{font-family:'Bricolage Grotesque',sans-serif;font-size:22px;color:var(--cream);margin-bottom:8px}
.tl p{color:var(--dim);font-size:15px;line-height:1.7}

/* ---------- NIGHT CARDS ---------- */
.nights{display:grid;grid-template-columns:1fr 1fr;gap:24px;perspective:1200px}
.night{position:relative;height:540px;border-radius:20px;overflow:hidden;display:flex;align-items:flex-end;text-decoration:none;box-shadow:0 18px 44px #0007;transform-style:preserve-3d;transition:transform .18s ease-out,box-shadow .3s}
.night img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.6s}
.night:hover img{transform:scale(1.06)}
.night::after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,#0000 40%,#0d1410e8 92%)}
.night>div{position:relative;z-index:2;padding:36px;width:100%}
.night .tag{display:inline-block;background:var(--gold);color:#241a05;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:12px;border-radius:100px;padding:6px 14px;margin-bottom:14px;letter-spacing:1px;text-transform:uppercase}
.night b{display:block;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(28px,3.2vw,44px);color:var(--cream);line-height:1.05}
.night span{display:block;color:#cfcaba;font-size:15px;margin-top:10px;max-width:440px;line-height:1.6}

/* ---------- FULL-BLEED BAND ---------- */
.band{position:relative;min-height:92vh;display:flex;align-items:center;justify-content:center;text-align:center;background:url(../img/sakhelosno-tbilisi-club-party-crowd.webp) center/cover fixed;margin:40px 0}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(#0d1410cc,#0d141055 30%,#0d141055 70%,#0d1410cc)}
.band .tx{position:relative;z-index:2;padding:60px 24px;max-width:940px}
.band h2{font-size:clamp(40px,6vw,86px);color:#fff;text-shadow:0 4px 34px #000c}
.band p{color:#f0ebdc;font-size:18px;margin-top:16px;line-height:1.7;text-shadow:0 2px 14px #000}

/* ---------- COLLAGE ---------- */
.collage{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:290px;gap:18px}
.collage figure{margin:0;position:relative;border-radius:18px;overflow:hidden;box-shadow:0 14px 34px #0006}
.collage img{width:100%;height:100%;object-fit:cover;transition:.5s}
.collage figure:hover img{transform:scale(1.06)}
.collage .big{grid-column:span 2;grid-row:span 2}
.collage .tall{grid-row:span 2}
.collage figcaption{position:absolute;inset:auto 0 0 0;padding:48px 18px 16px;background:linear-gradient(#0000,#0d1410cc);font-size:13px;color:#e8e4d5;letter-spacing:.5px}

/* ---------- GOOD TO KNOW ---------- */
.know{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.k{background:#131b15;border:1px solid #f5eede12;border-radius:16px;padding:26px}
.k b{display:flex;align-items:center;gap:10px;font-family:'Bricolage Grotesque',sans-serif;font-size:17px;color:var(--cream);margin-bottom:10px}
.k b i{font-style:normal;color:var(--gold);font-size:20px}
.k p{color:var(--dim);font-size:14px;line-height:1.7}
.k a{color:var(--gold);text-decoration:none;font-weight:600}

/* ---------- REVIEWS ---------- */
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.rev{background:#131b15;border:1px solid #f5eede12;border-radius:16px;padding:26px;display:flex;flex-direction:column;gap:14px}
.stars{color:var(--gold);letter-spacing:3px;font-size:15px}
.rev p{color:var(--txt);line-height:1.7;font-size:14.5px;flex:1}
.rev .who{display:flex;align-items:center;gap:12px}
.rev .av{width:40px;height:40px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;color:var(--gold)}
.rev .who b{display:block;font-size:14px}
.rev .who span{color:var(--dim);font-size:12px}
.gbadge{display:flex;align-items:center;gap:8px;color:var(--dim);font-size:11.5px;border-top:1px dashed #f5eede1c;padding-top:14px}
.gdot{width:16px;height:16px;border-radius:50%;background:conic-gradient(#ea4335 0 25%,#fbbc05 0 50%,#34a853 0 75%,#4285f4 0);display:inline-block}

/* ---------- LANDING COMPONENTS ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split img{width:100%;border-radius:18px;box-shadow:0 18px 44px #0007}
.band2{position:relative;min-height:62vh;display:flex;align-items:center;justify-content:center;text-align:center;background-size:cover;background-position:center;background-attachment:fixed}
.band2::after{content:"";position:absolute;inset:0;background:#0d141082}
.band2 .tx{position:relative;z-index:2;padding:60px 24px;max-width:100%}
.band2 h2{color:#fff;text-shadow:0 4px 30px #000b}
.band2 p{color:#efe9d9;font-size:17px;margin-top:14px;text-shadow:0 2px 12px #000}
.days{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}
.day{border:1px solid #f5eede14;background:#131b15;border-radius:14px;padding:22px 10px;text-align:center}
.day b{display:block;font-family:'Bricolage Grotesque',sans-serif;font-size:15px;color:var(--cream);margin-bottom:6px;text-transform:uppercase}
.day .open{color:var(--gold);font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:13px;letter-spacing:1px}
.day span{display:block;color:var(--dim);font-size:12px;margin-top:6px}
.day.hot{border-color:#e8b64c55;box-shadow:0 0 24px #e8b64c22 inset}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step{background:#131b15;border:1px solid #f5eede12;border-radius:16px;padding:30px 26px}
.step b{font-family:'Bricolage Grotesque',sans-serif;font-size:40px;color:var(--gold);display:block}
.step h3{font-family:'Bricolage Grotesque',sans-serif;font-size:18px;color:var(--cream);margin:12px 0 8px}
.step p{color:var(--dim);font-size:14px;line-height:1.7}
.djs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.dj{background:#131b15;border:1px solid #f5eede12;border-radius:16px;padding:0 18px 26px;text-align:center;transition:.3s;overflow:hidden}
.dj:hover{border-color:#e8b64c55;transform:translateY(-4px)}
.dj img{width:calc(100% + 36px);height:auto;margin:0 -18px 18px;aspect-ratio:1/1;object-fit:cover;display:block;filter:grayscale(1);transition:filter .5s}
.dj:hover img{filter:grayscale(0) saturate(1.08)}
.dj b{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(22px,2.4vw,34px);color:var(--cream);display:block}
.dj span{color:var(--gold);font-size:12px;letter-spacing:2px;text-transform:uppercase;display:block;margin-top:8px}
.gal3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gal3 img{width:100%;height:460px;object-fit:cover;border-radius:16px;box-shadow:0 14px 34px #0006}
.gal4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gal4 img{width:100%;height:420px;object-fit:cover;border-radius:16px;box-shadow:0 14px 34px #0006}
.vidframe{max-width:380px;margin:0 auto;border-radius:24px;overflow:hidden;box-shadow:0 24px 60px #000a;border:1px solid #f5eede1c}
.vidframe video{width:100%;display:block}
.vidstage{position:relative}
.vidstage video{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;border-radius:24px;border:1px solid #e8b64c33;box-shadow:0 24px 60px #000a,0 0 90px #e8b64c1f;filter:saturate(1.35) contrast(1.12) brightness(1.06) hue-rotate(-5deg)}
.vidstage .vgrade{position:absolute;inset:0;border-radius:24px;background:linear-gradient(125deg,#e8b64c40 0%,transparent 35%,transparent 60%,#e2483d3d 100%);mix-blend-mode:overlay;pointer-events:none;z-index:1}
.vidstage::before{content:"";position:absolute;inset:-15px;border:1.5px solid #e8b64c4d;border-radius:32px;transform:rotate(-2.2deg);pointer-events:none}
.vidstage::after{content:"";position:absolute;inset:-15px;border:1.5px solid #e2483d33;border-radius:32px;transform:rotate(1.6deg);pointer-events:none}
.vidstage .vscan{position:absolute;inset:0;border-radius:24px;background:repeating-linear-gradient(0deg,#00000038 0,#00000038 1px,transparent 1px,transparent 4px);pointer-events:none;z-index:1;mix-blend-mode:multiply}
.vidstage .vlogo{position:absolute;top:18px;left:18px;z-index:3;width:96px;height:auto;border-radius:0;box-shadow:none;filter:drop-shadow(0 4px 14px #000c) drop-shadow(0 0 18px #00ff4133)}
.vidstage .vstick{position:absolute;left:16px;bottom:16px;z-index:3;background:#000000c4;border:1px solid #00ff4160;color:#00ff41;font-family:'Courier New',monospace;font-weight:700;font-size:13px;letter-spacing:1px;padding:9px 15px;border-radius:9px;backdrop-filter:blur(6px);text-shadow:0 0 8px #00ff4188}
.vidstage .vstick::after{content:"_";animation:vblink 1.1s steps(1) infinite}
@keyframes vblink{50%{opacity:0}}
/* stage triptych: photo — video — photo */
.stagegrid{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:26px;align-items:center;max-width:1100px;margin:0 auto}
.stagegrid .sph{border-radius:24px;overflow:hidden;box-shadow:0 20px 50px #0008;transform:rotate(-2.2deg);transition:transform .3s}
.stagegrid .sph:last-child{transform:rotate(2.2deg)}
.stagegrid .sph:hover{transform:rotate(0) scale(1.03)}
.stagegrid .sph img{width:100%;height:540px;object-fit:cover;display:block}
.stagegrid .vidframe{max-width:none;transform:none}

/* ---------- TONIGHT LIVE ELEMENTS ---------- */
.statusbar{max-width:1320px;margin:0 auto;padding:0 36px;display:flex;justify-content:center}
.statusbar>div{display:flex;align-items:center;gap:12px;border:1.5px solid #e8b64c66;border-radius:100px;padding:14px 28px;font-size:15px;color:var(--cream);background:#e8b64c0d}
.statusbar .dot{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:#57d97a;box-shadow:0 0 12px #57d97a;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.statusbar b{color:var(--gold);font-family:'Bricolage Grotesque',sans-serif}
.day{position:relative}
.day.today{border-color:var(--gold);box-shadow:0 0 28px #e8b64c33 inset,0 0 18px #e8b64c22}
.day.today::after{content:"TONIGHT";position:absolute;top:-11px;left:50%;transform:translateX(-50%) rotate(-2deg);background:var(--red);color:#fff;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:10px;letter-spacing:1px;padding:3px 10px;border-radius:100px}
.step{position:relative}
.step.now{border-color:var(--gold);box-shadow:0 0 28px #e8b64c22 inset}
.nowchip{display:none;position:absolute;top:-12px;right:16px;background:var(--gold);color:#241a05;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:10.5px;letter-spacing:1px;padding:4px 12px;border-radius:100px;transform:rotate(2deg)}
.step.now .nowchip{display:inline-block}

/* ---------- UTILITIES ---------- */
.mt26{margin-top:26px}
.mt48{margin-top:48px}
.sub.mb18{margin-bottom:18px}
.sub.mb26{margin-bottom:26px}
.sub.mb0,.mb0{margin-bottom:0}
/* .tight override removed — uniform section spacing sitewide */
.hbtn-sm{padding:14px 26px;font-size:14px}
.goldlink{color:var(--gold);text-decoration:none;font-weight:600}
.band-nl{background-image:url(../img/tbilisi-party-crowd-wide.webp)}
.band-tn{background-image:url(../img/tbilisi-club-open-late-night.webp)}
.band-mu{background-image:url(../img/edm-party-tbilisi-crowd.webp)}

/* ---------- ROUTES (getting here) ---------- */
.rlist{display:flex;flex-direction:column;gap:14px}
.route{display:flex;gap:20px;align-items:flex-start;background:#131b15;border:1px solid #f5eede12;border-radius:14px;padding:20px 22px}
.route b{font-family:'Bricolage Grotesque',sans-serif;color:var(--gold);font-size:16px;min-width:96px;flex-shrink:0}
.route h3{font-size:16px;color:var(--cream);margin-bottom:5px;font-family:'Bricolage Grotesque',sans-serif}
.route p{color:var(--dim);font-size:14px;line-height:1.65}

/* ---------- VERSUS CARDS (music) ---------- */
.versus{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.vs{border-radius:18px;padding:36px 32px;border:1px solid #f5eede12;background:#0a0f0c}
.vs h3{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(20px,2vw,26px);margin-bottom:14px;color:var(--dim)}
.vs p{color:var(--dim);line-height:1.75;font-size:15px}
.vs.us{background:#1a1508;border-color:#e8b64c44;box-shadow:0 0 40px #e8b64c11 inset}
.vs.us h3{color:var(--gold)}
.vs.us p{color:var(--txt)}
@media(max-width:920px){.versus{grid-template-columns:1fr}}

/* ---------- BIRTHDAY PACKS ---------- */
.packs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pack{position:relative;background:#131b15;border:1px solid #f5eede12;border-radius:18px;padding:32px 28px;display:flex;flex-direction:column;transition:.3s}
.pack:hover{border-color:#e8b64c55;transform:translateY(-5px)}
.pack.mid{border-color:#e8b64c44;box-shadow:0 0 34px #e8b64c14 inset}
.pack .size{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--dim)}
.pack .price{margin:14px 0 4px;display:flex;align-items:baseline;gap:12px}
.pack .price b{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:44px;color:var(--gold)}
.pack .price s{color:var(--dim);font-size:18px;opacity:.7}
.pack .save{position:absolute;top:-12px;right:20px;background:var(--red);color:#fff;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:11px;letter-spacing:1px;padding:5px 14px;border-radius:100px;transform:rotate(2deg)}
.pack ul{list-style:none;margin-top:18px;flex:1}
.pack ul li{padding:8px 0;border-bottom:1px dashed #f5eede14;color:var(--txt);font-size:14px}
.pack ul li i{font-style:normal;color:var(--gold);margin-right:8px}
.pack .sig{color:var(--gold);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;margin-left:8px;font-weight:600}
.pack .note{margin-top:16px;color:var(--dim);font-size:12.5px}
@media(max-width:920px){.packs{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
.faq{width:100%}
.faq details{background:#131b15;border:1px solid #f5eede12;border-radius:14px;margin-bottom:12px;overflow:hidden}
.faq summary{cursor:pointer;padding:20px 24px;font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:17px;color:var(--cream);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold);font-size:24px;font-weight:400;flex-shrink:0;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 24px 22px;color:var(--dim);line-height:1.75;font-size:14.5px;max-width:100%}

/* ---------- INSTAGRAM ---------- */
.ighead{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:18px;margin-bottom:40px}
.ighead .sub{margin-bottom:0}

/* ---------- FINAL CTA / TICKETS ---------- */
.final{position:relative;border-radius:26px;padding:100px 40px;text-align:center;overflow:hidden}
.final::before{content:"";position:absolute;inset:0;background:url(../img/sakhelosno-club-night-blue.webp) center/cover}
.final::after{content:"";position:absolute;inset:0;background:#0d1410ab}
.final>*{position:relative;z-index:2}
.final h2{color:#fff;text-shadow:0 4px 24px #000b}
.final p{color:#e5e1d2;max-width:551px;margin:14px auto 0;line-height:1.75}
.tickets{margin-top:44px;display:flex;gap:22px;justify-content:center;flex-wrap:wrap}
.ticket{position:relative;display:flex;align-items:center;text-decoration:none;background:var(--cream);color:#241a05;border-radius:16px;transform:rotate(-2deg);transition:transform .25s,box-shadow .25s;box-shadow:0 14px 34px #0008}
.ticket:nth-child(2){transform:rotate(1.6deg);background:var(--gold)}
.ticket:nth-child(3){transform:rotate(-1deg);background:var(--red);color:#ffe9d9}
.ticket:hover{transform:rotate(0) translateY(-6px) scale(1.04);box-shadow:0 24px 50px #000a}
.ticket .main{padding:22px 26px 22px 30px;text-align:left}
.ticket .main b{display:block;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:19px;letter-spacing:.3px}
.ticket .main span{display:block;font-size:12px;opacity:.65;margin-top:3px;letter-spacing:1px;text-transform:uppercase}
.ticket .stub{position:relative;padding:22px 24px;border-left:2px dashed rgba(0,0,0,.28);font-size:22px;font-weight:800;font-family:'Bricolage Grotesque',sans-serif}
.ticket:nth-child(3) .stub{border-color:#ffe9d966}
.ticket .stub em{font-style:normal;display:inline-block;transition:transform .25s}
.ticket:hover .stub em{transform:translateX(6px)}
.ticket::before,.ticket::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:var(--bg);right:62px;z-index:2}
.ticket::before{top:-9px}
.ticket::after{bottom:-9px}

/* ---------- FOOTER ---------- */
footer{padding:26px 20px;text-align:center;color:#6f7568;font-size:12.5px}
footer a{color:#6f7568;text-decoration:none}
footer a:hover{color:var(--dim)}}

/* ---------- LANDING HERO (inner pages) ---------- */
.hero.hero-inner{min-height:78vh}
.hero.hero-inner .hero-img{filter:saturate(1.08) blur(3px);transform:scale(1.05)}

/* ---------- BURGER & MOBILE MENU ---------- */
.burger{display:none;background:none;border:none;cursor:pointer;padding:10px;z-index:70;position:relative}
.burger span{display:block;width:26px;height:3px;background:var(--cream);border-radius:2px;margin:5px 0;transition:.3s}
.burger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.mmenu{position:fixed;inset:0;z-index:65;background:#0d1410f7;backdrop-filter:blur(10px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.mmenu.open{opacity:1;visibility:visible}
.mmenu a{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:30px;color:var(--cream);text-decoration:none;padding:12px 20px;opacity:0;transform:translateY(18px);transition:opacity .4s,transform .4s,color .3s}
.mmenu.open a{opacity:1;transform:none}
.mmenu a:hover{color:var(--gold)}
.mmenu.open a:nth-child(1){transition-delay:.05s}
.mmenu.open a:nth-child(2){transition-delay:.1s}
.mmenu.open a:nth-child(3){transition-delay:.15s}
.mmenu.open a:nth-child(4){transition-delay:.2s}
.mmenu.open a:nth-child(5){transition-delay:.25s}
.mmenu.open a:nth-child(6){transition-delay:.3s}
.mmenu.open a:nth-child(7){transition-delay:.35s}
.mmenu.open a:nth-child(8){transition-delay:.4s}
.mmenu a.mphone{color:var(--gold)}
.mclose{position:absolute;top:18px;right:22px;background:none;border:none;color:var(--cream);font-size:46px;line-height:1;cursor:pointer;font-family:'Bricolage Grotesque',sans-serif;transition:color .3s,transform .3s}
.mclose:hover{color:var(--gold);transform:rotate(90deg)}
body.noscroll{overflow:hidden}

/* ---------- RESPONSIVE ---------- */
@media(max-width:920px){
  nav ul{display:none}
  .burger{display:block;order:3}
  nav{padding:14px 20px;gap:16px}
  .nlogo{order:-1;margin-right:auto}
  nav .cta{padding:10px 18px;font-size:13px;margin-left:0;order:2}
  .timeline{grid-template-columns:1fr}
  .tl .ph{height:260px}
  .nights{grid-template-columns:1fr}
  .night{height:420px}
  .collage{grid-template-columns:1fr 1fr;grid-auto-rows:220px}
  .know{grid-template-columns:1fr}
    .tape2{font-size:24px}
  .band{min-height:64vh;background-attachment:scroll}
  .band2{background-attachment:scroll;min-height:48vh}
  .split{grid-template-columns:1fr}
  .split>img{order:-1}
  .steps{grid-template-columns:1fr}
  .djs{grid-template-columns:1fr 1fr}
  .gal3{grid-template-columns:1fr}
  .gal3 img{height:340px}
  .gal4{grid-template-columns:1fr 1fr}
  .gal4 img{height:300px}
  .stagegrid{grid-template-columns:1fr 1fr}
  .stagegrid .vidframe{grid-column:1/-1;grid-row:1;max-width:380px}
  .stagegrid .sph img{height:320px}
}

@media(max-width:500px){
  section{padding-left:25px;padding-right:25px}
}
/* Elfsight Instagram feed: 2 columns on small screens (matches old landing behavior) */
@media(max-width:850px){
  [class*="elfsight-app"] .eapps-instagram-feed-posts-item{width:50% !important}
}
