:root{--pulse:#ff9f1c;--violet:#f4c95d;--cyan:#16a34a;--dark:#050712;--panel:rgba(10,15,31,.82);--line:rgba(255,255,255,.12)}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#050712;color:#fff;overflow-x:hidden;padding-bottom:112px}
a{color:inherit;text-decoration:none}.site-bg{position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 20% 10%,rgba(255,159,28,.22),transparent 28%),radial-gradient(circle at 85% 20%,rgba(0,135,62,.18),transparent 30%),linear-gradient(180deg,#06113b,#071025 52%,#04040a)}.site-bg:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent);opacity:.45}.glass{background:var(--panel);border:1px solid var(--line);box-shadow:0 20px 60px rgba(0,0,0,.35);backdrop-filter:blur(16px)}.neon{box-shadow:0 0 0 1px rgba(255,159,28,.35),0 0 34px rgba(255,159,28,.22)}.btn-pulse{background:linear-gradient(135deg,var(--pulse),#ffb703);border:0;color:#fff;font-weight:900;letter-spacing:.02em;border-radius:999px;box-shadow:0 12px 35px rgba(255,159,28,.32);transition:.25s}.btn-pulse:hover{transform:translateY(-2px);filter:brightness(1.08);color:#fff}.btn-ghost{border:1px solid rgba(255,255,255,.25);border-radius:999px;color:#fff;background:rgba(255,255,255,.03);font-weight:800}.brand-logo{height:76px;width:auto;object-fit:contain;border-radius:10px}.topbar{position:sticky;top:0;z-index:1000;background:rgba(4,5,12,.78);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.nav-link{font-size:.8rem;text-transform:uppercase;font-weight:900;letter-spacing:.06em;color:rgba(255,255,255,.8)!important}.nav-link.active,.nav-link:hover{color:#fff!important;text-shadow:0 0 18px rgba(255,159,28,.8)}.hero{min-height:680px;position:relative;overflow:hidden}.hero-art{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,18,.94),rgba(5,7,18,.64),rgba(5,7,18,.92)),url('../img/generated/hero-harmony-reggae.jpg') center right/cover no-repeat;opacity:.95}.hero h1{font-size:clamp(3rem,7vw,7.7rem);line-height:.9;font-weight:1000;letter-spacing:-.07em;text-transform:uppercase}.text-pulse{background:linear-gradient(90deg,#ff9f1c,#f4c95d,#9d4edd);-webkit-background-clip:text;background-clip:text;color:transparent}.pulse-line{height:38px;background:repeating-linear-gradient(90deg,rgba(255,159,28,.2) 0 6px,transparent 6px 16px);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.wave{height:44px;background:linear-gradient(90deg,transparent,var(--pulse),var(--violet),transparent);clip-path:polygon(0 55%,4% 55%,5% 45%,6% 65%,7% 30%,8% 80%,9% 55%,12% 55%,13% 35%,14% 72%,15% 48%,16% 60%,20% 60%,21% 20%,22% 86%,23% 48%,25% 54%,30% 54%,31% 70%,32% 28%,33% 64%,36% 55%,42% 55%,43% 35%,44% 80%,45% 25%,47% 55%,54% 55%,55% 36%,56% 74%,57% 55%,64% 55%,65% 25%,66% 80%,67% 55%,100% 55%);filter:drop-shadow(0 0 12px rgba(255,159,28,.7));animation:waveMove 2.6s linear infinite}@keyframes waveMove{0%{transform:translateX(-18px)}50%{transform:translateX(18px)}100%{transform:translateX(-18px)}}.play-orb{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#ff4b78,var(--pulse));border:8px solid rgba(255,255,255,.08);box-shadow:0 0 0 8px rgba(255,159,28,.13),0 0 40px rgba(255,159,28,.8);animation:pulse 1.65s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,159,28,.45),0 0 35px rgba(255,159,28,.6)}70%{box-shadow:0 0 0 24px rgba(255,159,28,0),0 0 35px rgba(255,159,28,.6)}100%{box-shadow:0 0 0 0 rgba(255,159,28,0),0 0 35px rgba(255,159,28,.6)}}.section-title{font-weight:1000;text-transform:uppercase;letter-spacing:-.03em}.card-pulse{border-radius:22px;background:linear-gradient(180deg,rgba(12,18,38,.9),rgba(8,11,24,.94));border:1px solid var(--line);box-shadow:0 20px 70px rgba(0,0,0,.28);overflow:hidden}.tiny{font-size:.75rem;color:rgba(255,255,255,.65)}.tag{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border-radius:999px;background:rgba(255,159,28,.13);border:1px solid rgba(255,159,28,.35);color:#ffd166;font-weight:900;font-size:.72rem;text-transform:uppercase}.avatar-img,.cover-img{width:100%;object-fit:cover;background:#0c1020}.cover-img{height:150px}.avatar-img{height:220px}.list-item{display:flex;gap:.75rem;align-items:center;padding:.75rem;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.035)}.mini-cover{width:56px;height:56px;border-radius:12px;object-fit:cover}.schedule-row{display:grid;grid-template-columns:82px 1fr auto;gap:12px;align-items:center;padding:12px;border-bottom:1px solid rgba(255,255,255,.07)}.sticky-player{position:fixed;left:16px;right:16px;bottom:14px;z-index:9999;border-radius:24px;background:rgba(5,7,18,.94);border:1px solid rgba(255,255,255,.14);box-shadow:0 -10px 60px rgba(0,0,0,.5);backdrop-filter:blur(18px)}.album-art{width:82px;height:82px;border-radius:18px;object-fit:cover}.volume{accent-color:var(--pulse)}.form-control,.form-select{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.12)!important;color:#fff!important}.form-control::placeholder{color:rgba(255,255,255,.45)}.modal-content{background:#080b18;color:#fff;border:1px solid var(--line);border-radius:24px}.offcanvas{background:#070a15;color:#fff}.footer{border-top:1px solid var(--line);background:#04060d}.social-dot{width:38px;height:38px;border-radius:50%;display:inline-grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}.equalizer span{display:inline-block;width:4px;margin:0 2px;border-radius:10px;background:linear-gradient(var(--pulse),var(--violet));animation:eq 1s ease-in-out infinite}.equalizer span:nth-child(2){animation-delay:.1s}.equalizer span:nth-child(3){animation-delay:.2s}.equalizer span:nth-child(4){animation-delay:.3s}.equalizer span:nth-child(5){animation-delay:.4s}@keyframes eq{0%,100%{height:8px}50%{height:28px}}.mobile-nav-btn{display:none}@media(max-width:991px){.brand-logo{height:58px}.mobile-nav-btn{display:inline-flex}.hero{min-height:auto;padding-top:32px}.hero h1{font-size:3.2rem}.sticky-player{left:8px;right:8px;bottom:8px;border-radius:18px}.album-art{width:58px;height:58px}.hide-mobile{display:none!important}.schedule-row{grid-template-columns:64px 1fr}.topbar .container-fluid{padding-left:12px;padding-right:12px}body{padding-bottom:132px}}

/* Header refinements */
.topbar .navbar{padding:14px 0}
.topbar .navbar-brand{margin-right:1rem}
.topbar .navbar-nav{align-items:center;flex-wrap:wrap}
.topbar .navbar-collapse{display:flex!important;align-items:center;justify-content:space-between;gap:1rem}
.topbar .nav-link{padding:.9rem .7rem!important;position:relative}
.topbar .nav-link.active:after,.topbar .nav-link:hover:after{content:"";position:absolute;left:.7rem;right:.7rem;bottom:.35rem;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--pulse),#f4c95d)}
@media(max-width:1199px){.topbar .nav-link{font-size:.75rem;padding:.8rem .5rem!important}}
@media(max-width:991px){.topbar .navbar{padding:10px 0}.topbar .navbar-collapse{display:none!important}.topbar .navbar-nav{display:none!important}}


/* Reggae theme refresh */
:root{--reggae-green:#2e9b45;--reggae-gold:#f4c95d;--reggae-red:#d9485b;--reggae-orange:#ff9f1c;}
.site-bg{background:radial-gradient(circle at 18% 10%,rgba(244,201,93,.18),transparent 24%),radial-gradient(circle at 85% 22%,rgba(46,155,69,.18),transparent 28%),radial-gradient(circle at 40% 78%,rgba(217,72,91,.14),transparent 26%),linear-gradient(180deg,#040812,#06113b 52%,#04040a)}
.hero-art{background:linear-gradient(90deg,rgba(4,8,18,.94),rgba(4,8,18,.58),rgba(4,8,18,.9)),linear-gradient(180deg,rgba(244,201,93,.08),transparent 24%),url('../img/generated/hero-reggae-vibes.png') center right/cover no-repeat;opacity:.98}
.text-pulse{background:linear-gradient(90deg,#fff,#f4c95d 14%,#ffb703 32%,#f4c95d 44%,#d9485b 62%,#2e9b45 82%,#9d4edd);-webkit-background-clip:text;background-clip:text;color:transparent}
.card-pulse{background:linear-gradient(180deg,rgba(7,12,30,.96),rgba(5,9,22,.98));border:1px solid rgba(244,201,93,.12);box-shadow:0 18px 60px rgba(0,0,0,.32)}
.glass{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));border:1px solid rgba(244,201,93,.1)}
.tag{background:rgba(244,201,93,.12);border-color:rgba(244,201,93,.35);color:#ffe08a}
.btn-pulse{background:linear-gradient(135deg,var(--reggae-gold),var(--reggae-orange));color:#08101f;box-shadow:0 12px 35px rgba(244,201,93,.24)}
.btn-pulse:hover{color:#08101f}
.play-orb{background:radial-gradient(circle,#ffb703,var(--reggae-orange));color:#08101f;box-shadow:0 0 0 8px rgba(244,201,93,.13),0 0 40px rgba(244,201,93,.65)}
.wave{background:linear-gradient(90deg,transparent,var(--reggae-gold),var(--reggae-red),var(--reggae-green),transparent)}
.channel-select option{color:#111}
.show-grid{display:grid;grid-template-columns:1fr;gap:1rem}
.show-card{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:18px;border:1px solid rgba(244,201,93,.12);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));min-height:118px}
.show-thumb{width:92px;height:92px;border-radius:16px;object-fit:cover;flex-shrink:0}
.dj-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.dj-card{padding:.8rem;border-radius:20px;border:1px solid rgba(244,201,93,.12);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));height:100%}
.dj-poster{width:100%;height:240px;object-fit:cover;border-radius:16px;display:block}
#djs .section-title,#shows .section-title,#schedule .section-title{margin-bottom:.25rem}
.social-dot{border-color:rgba(244,201,93,.18)}
@media(min-width:1200px){.show-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dj-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dj-poster{height:270px}}
@media(max-width:1199px){.dj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.show-card{padding:.85rem}.show-thumb{width:74px;height:74px}.dj-grid{grid-template-columns:1fr 1fr}.dj-poster{height:190px}}
@media(max-width:575px){.dj-grid{grid-template-columns:1fr}.dj-poster{height:260px}}

[data-channel-item][style*="none"]{display:none!important}
.channel-select{border-color:rgba(244,201,93,.35)!important;box-shadow:0 0 0 3px rgba(244,201,93,.08)}

/* Final demo channel styling */
.channel-select option{color:#111}
.show-grid{display:grid;grid-template-columns:1fr;gap:1rem}
.show-card{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:18px;border:1px solid rgba(244,201,93,.12);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));min-height:118px}
.show-thumb{width:92px;height:92px;border-radius:16px;object-fit:cover;flex-shrink:0}
.dj-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.dj-card{padding:.8rem;border-radius:20px;border:1px solid rgba(244,201,93,.12);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));height:100%}
.dj-poster{width:100%;height:240px;object-fit:cover;border-radius:16px;display:block}
@media(min-width:1200px){.show-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dj-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dj-poster{height:280px}}
@media(max-width:767px){.dj-grid{grid-template-columns:1fr 1fr}.dj-poster{height:190px}.show-thumb{width:74px;height:74px}}
@media(max-width:575px){.dj-grid{grid-template-columns:1fr}.dj-poster{height:260px}}


/* Live shoutbox */
.chat-shell{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));border:1px solid rgba(244,201,93,.14);border-radius:24px;padding:18px;min-height:420px;display:flex;flex-direction:column}
.chat-messages{height:285px;overflow:auto;padding-right:6px;display:grid;gap:10px;align-content:start}
.chat-message{background:rgba(5,9,22,.72);border:1px solid rgba(244,201,93,.12);border-radius:18px;padding:12px;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.chat-gif-img{max-width:180px;border-radius:14px;margin-top:8px;display:block;border:1px solid rgba(255,255,255,.12)}
.chat-tools{display:flex;flex-wrap:wrap;gap:8px}
.chat-emoji,.chat-gif{border:1px solid rgba(244,201,93,.2);background:rgba(255,255,255,.05);color:#fff;border-radius:999px;padding:8px 12px;font-weight:800}
.chat-emoji:hover,.chat-gif:hover{background:rgba(244,201,93,.15)}
.chat-form{display:grid;grid-template-columns:150px 1fr auto;gap:10px;align-items:center}
@media(max-width:767px){.chat-form{grid-template-columns:1fr}.chat-messages{height:340px}.chat-gif-img{max-width:100%}}


/* Pro floating chatroom */
.chat-launcher{position:fixed;right:22px;bottom:124px;z-index:9998;display:flex;align-items:center;gap:12px;border:1px solid rgba(244,201,93,.35);background:linear-gradient(135deg,rgba(5,9,22,.96),rgba(13,22,49,.94));color:#fff;border-radius:999px;padding:10px 14px 10px 10px;box-shadow:0 18px 55px rgba(0,0,0,.45),0 0 30px rgba(244,201,93,.18);backdrop-filter:blur(16px);transition:.22s;overflow:hidden}
.chat-launcher:hover{transform:translateY(-3px);box-shadow:0 22px 60px rgba(0,0,0,.5),0 0 38px rgba(244,201,93,.34)}
.chat-launcher img{width:48px;height:48px;object-fit:cover;border-radius:50%;border:2px solid rgba(244,201,93,.75);position:relative;z-index:2}
.chat-launcher i{font-size:1.35rem;color:#f4c95d;position:relative;z-index:2}
.chat-launcher-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.05;position:relative;z-index:2}.chat-launcher-text b{font-size:.92rem;text-transform:uppercase}.chat-launcher-text small{font-size:.68rem;color:rgba(255,255,255,.68)}
.chat-launcher-pulse{position:absolute;inset:-30px;background:radial-gradient(circle at 20% 50%,rgba(244,201,93,.25),transparent 32%),radial-gradient(circle at 80% 50%,rgba(46,155,69,.18),transparent 35%);animation:chatGlow 2.4s ease-in-out infinite}@keyframes chatGlow{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
.chat-modal .modal-dialog{max-width:980px}.chat-modal-content{background:radial-gradient(circle at 10% 0,rgba(244,201,93,.12),transparent 30%),radial-gradient(circle at 100% 10%,rgba(46,155,69,.12),transparent 30%),linear-gradient(180deg,#080d1f,#050814);border:1px solid rgba(244,201,93,.18);box-shadow:0 30px 100px rgba(0,0,0,.65);border-radius:28px;overflow:hidden}.chat-modal-logo{width:72px;height:72px;object-fit:cover;border-radius:18px;border:1px solid rgba(244,201,93,.35)}
.chat-pro-shell{border:1px solid rgba(244,201,93,.14);border-radius:24px;padding:18px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.018))}.chat-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:14px;padding:12px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(244,201,93,.1)}
.chat-messages{height:360px;overflow:auto;padding-right:6px;display:grid;gap:10px;align-content:start}.pro-scroll::-webkit-scrollbar{width:8px}.pro-scroll::-webkit-scrollbar-thumb{background:linear-gradient(#f4c95d,#ff9f1c);border-radius:999px}.chat-message{background:rgba(5,9,22,.72);border:1px solid rgba(244,201,93,.12);border-radius:18px;padding:12px;box-shadow:0 12px 30px rgba(0,0,0,.18)}.chat-message b{color:#ffe08a}.chat-text{font-size:.95rem;line-height:1.4;margin-top:.2rem}.chat-gif-img{max-width:240px;border-radius:14px;margin-top:8px;display:block;border:1px solid rgba(255,255,255,.12)}
.chat-picker-wrap{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.chat-tools{display:flex;flex-wrap:wrap;gap:8px}.chat-emoji,.chat-gif{border:1px solid rgba(244,201,93,.22);background:rgba(255,255,255,.055);color:#fff;border-radius:999px;padding:8px 12px;font-weight:900;transition:.18s}.chat-emoji:hover,.chat-gif:hover,.chat-gif.is-selected{background:rgba(244,201,93,.18);border-color:rgba(244,201,93,.65);transform:translateY(-1px)}.chat-emoji{min-width:42px;height:42px;display:inline-grid;place-items:center;font-size:1.12rem}.logo-smiley img{width:28px;height:28px;border-radius:50%;object-fit:cover}.inline-logo-smiley{width:30px;height:30px;border-radius:50%;object-fit:cover;vertical-align:middle;margin:0 3px;border:1px solid rgba(244,201,93,.55)}.chat-gif-preview{display:block;margin-top:8px;width:88px;height:58px;object-fit:cover;border-radius:12px;border:1px solid rgba(244,201,93,.25)}
.pro-chat-form{grid-template-columns:170px 1fr auto}.pro-chat-form .form-control{min-height:48px}
@media(max-width:767px){.chat-launcher{right:12px;bottom:132px;padding:9px}.chat-launcher-text{display:none}.chat-modal .modal-dialog{margin:.5rem}.chat-topline,.chat-picker-wrap{grid-template-columns:1fr;display:grid}.chat-messages{height:330px}.pro-chat-form{grid-template-columns:1fr}.chat-gif-img{max-width:100%}}


/* Schedule usability + mobile spacing */
.schedule-tabs{display:flex;gap:.55rem;flex-wrap:wrap}
.schedule-day-btn{border:1px solid rgba(244,201,93,.22);background:rgba(255,255,255,.055);color:#fff;border-radius:999px;padding:.58rem .9rem;font-weight:900;font-size:.78rem;line-height:1;transition:.2s}
.schedule-day-btn:hover,.schedule-day-btn.is-active{background:linear-gradient(135deg,var(--reggae-gold),var(--reggae-orange));color:#08101f;border-color:transparent;box-shadow:0 10px 24px rgba(244,201,93,.2)}
.schedule-list{display:grid;gap:.65rem}
.schedule-row{grid-template-columns:76px minmax(0,1fr) auto;border:1px solid rgba(244,201,93,.08);border-radius:16px;background:rgba(255,255,255,.025);padding:14px}
.schedule-row b{font-size:1rem}.schedule-row strong{display:block;line-height:1.15}
.schedule-tz{white-space:normal;text-align:right}.get-involved-card .d-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#schedule.card-pulse,#schedule .card-pulse{min-height:auto}
@media(max-width:991px){.get-involved-card .d-grid{grid-template-columns:1fr}.schedule-row{grid-template-columns:64px minmax(0,1fr);gap:10px}.schedule-row .badge{grid-column:2}.schedule-tz{text-align:left}.hero h1{font-size:clamp(2.75rem,13vw,5.5rem)}}
@media(max-width:575px){.card-pulse{border-radius:18px}.container-fluid{padding-left:14px!important;padding-right:14px!important}.schedule-day-btn{flex:1 1 calc(33.333% - .55rem);padding:.68rem .5rem}.schedule-row{padding:12px}.show-card{align-items:flex-start}.sticky-player{font-size:.9rem}.sticky-player .play-orb{width:56px!important;height:56px!important}.album-art{width:54px;height:54px}}

/* Keep chat modal above sticky audio player */
.modal-backdrop{z-index:20040!important}
.modal{z-index:20050!important}
.chat-modal{z-index:20060!important}
.chat-modal .modal-dialog{position:relative;z-index:20061;margin-top:3vh;margin-bottom:3vh}
.chat-modal-content{max-height:94vh;display:flex;flex-direction:column}
.chat-modal-content .modal-body{overflow:auto;padding-bottom:1rem}
body.modal-open .sticky-player{z-index:1000;filter:blur(1px);opacity:.35;pointer-events:none}
body.modal-open .chat-launcher{display:none}
@media(max-width:767px){.chat-modal .modal-dialog{margin:.35rem}.chat-modal-content{max-height:calc(100vh - .7rem)}.chat-modal-content .modal-body{padding:12px}.chat-messages{height:42vh}.chat-picker-wrap{gap:10px}.pro-chat-form{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(5,8,20,.35),rgba(5,8,20,.98));padding-top:10px}}


/* Final layout fixes: wider schedule, images, clean recently played */
.recent-track .btn,.recent-track i.bi-play-fill,.recent-track i.bi-play-circle{display:none!important}
.schedule-list{display:grid;gap:.75rem}
.schedule-row-pro{grid-template-columns:76px 78px 1fr auto;min-height:82px;border:1px solid rgba(244,201,93,.10);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));padding:12px 14px!important;margin-bottom:0}
.schedule-thumb{width:64px;height:64px;border-radius:14px;object-fit:cover;border:1px solid rgba(244,201,93,.18);box-shadow:0 10px 22px rgba(0,0,0,.22)}
.schedule-time{font-size:1.05rem;color:#fff;white-space:nowrap}
.schedule-info strong{font-size:1.04rem}
#schedule .card-pulse{min-height:100%}
#shows .show-card{min-height:126px}
@media(max-width:1199px){.schedule-row-pro{grid-template-columns:70px 70px 1fr auto}.schedule-thumb{width:58px;height:58px}}
@media(max-width:767px){.schedule-row-pro{grid-template-columns:60px 1fr;gap:10px}.schedule-time{grid-column:2;font-size:1rem}.schedule-info{grid-column:2}.schedule-thumb{grid-row:1 / span 2;width:54px;height:54px}.schedule-row-pro .badge{grid-column:2;justify-self:start}.schedule-tabs{overflow-x:auto;display:flex;flex-wrap:nowrap;padding-bottom:4px}.schedule-day-btn{flex:0 0 auto}.show-grid{grid-template-columns:1fr!important}}


/* Sponsor section - full width logo slider */
.sponsor-strip{overflow:hidden;margin-bottom:1rem}
.sponsor-slider{position:relative;overflow:hidden;border-radius:20px;border:1px solid rgba(244,201,93,.10);background:linear-gradient(90deg,rgba(255,255,255,.035),rgba(255,255,255,.015))}
.sponsor-slider:before,.sponsor-slider:after{content:"";position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none}
.sponsor-slider:before{left:0;background:linear-gradient(90deg,#070b1a,transparent)}
.sponsor-slider:after{right:0;background:linear-gradient(270deg,#070b1a,transparent)}
.sponsor-track{display:flex;gap:1rem;width:max-content;padding:1rem;animation:sponsorScroll 34s linear infinite}
.sponsor-slider:hover .sponsor-track{animation-play-state:paused}
.sponsor-logo-card{min-width:245px;min-height:118px;display:flex;align-items:center;gap:14px;padding:18px;border-radius:18px;border:1px solid rgba(244,201,93,.18);background:radial-gradient(circle at 10% 0,rgba(244,201,93,.13),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));box-shadow:0 14px 35px rgba(0,0,0,.2)}
.sponsor-logo-card:hover{transform:translateY(-2px);border-color:rgba(244,201,93,.45);box-shadow:0 18px 42px rgba(0,0,0,.28),0 0 28px rgba(244,201,93,.1)}
.sponsor-mark{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;flex:0 0 auto;background:linear-gradient(135deg,var(--reggae-gold),var(--reggae-orange));color:#08101f;font-size:1.65rem;font-weight:1000;box-shadow:0 12px 28px rgba(244,201,93,.18)}
.sponsor-logo-card b{display:block;font-size:1.05rem;line-height:1.12;color:#fff}.sponsor-logo-card small{display:block;margin-top:4px;color:rgba(255,255,255,.58);font-weight:700;line-height:1.2}
@keyframes sponsorScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:767px){.sponsor-track{animation:none;overflow-x:auto;width:auto;scroll-snap-type:x mandatory}.sponsor-logo-card{min-width:220px;scroll-snap-align:start}.sponsor-slider:before,.sponsor-slider:after{display:none}}


/* Featured Shows full-width refinement */
.featured-shows-wide{width:100%;}
.featured-shows-wide .show-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}
.featured-shows-wide .show-card{min-height:140px;padding:1rem 1.15rem;}
.featured-shows-wide .show-thumb{width:120px;height:120px;border-radius:18px;object-fit:cover;flex:0 0 auto;}
@media(max-width:1199px){.featured-shows-wide .show-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.featured-shows-wide .show-thumb{width:104px;height:104px;}}
@media(max-width:767px){.featured-shows-wide .show-grid{grid-template-columns:1fr;}.featured-shows-wide .show-card{align-items:flex-start;}.featured-shows-wide .show-thumb{width:92px;height:92px;}}


/* Final navigation + polish pass */
.topbar{z-index:15000;background:rgba(3,6,14,.96)!important;}
.topbar .navbar{min-height:92px;}
.topbar .navbar-collapse{display:flex!important;visibility:visible!important;opacity:1!important;}
.topbar .navbar-nav{display:flex!important;visibility:visible!important;}
.mobile-nav-btn{margin-left:auto;}
.site-menu{position:sticky;top:93px;z-index:14990;background:linear-gradient(90deg,rgba(4,8,18,.98),rgba(9,20,32,.98),rgba(4,8,18,.98));border-top:1px solid rgba(244,201,93,.1);border-bottom:1px solid rgba(244,201,93,.18);box-shadow:0 16px 38px rgba(0,0,0,.28);backdrop-filter:blur(16px)}
.site-menu-inner{display:flex;align-items:center;gap:.55rem;overflow-x:auto;white-space:nowrap;padding:.72rem clamp(14px,3vw,48px);scrollbar-width:none}
.site-menu-inner::-webkit-scrollbar{display:none}
.site-menu a,.site-menu button{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(244,201,93,.22);background:rgba(255,255,255,.035);color:#fff;border-radius:999px;padding:.62rem 1rem;font-weight:1000;font-size:.78rem;text-transform:uppercase;letter-spacing:.045em;text-decoration:none;transition:.18s;line-height:1}
.site-menu a:hover,.site-menu a.active,.site-menu button:hover{background:linear-gradient(135deg,var(--reggae-gold),var(--reggae-orange));color:#071025;border-color:transparent;box-shadow:0 12px 26px rgba(244,201,93,.18);transform:translateY(-1px)}
.site-menu button,.site-menu .listen-link{margin-left:auto;background:linear-gradient(135deg,var(--reggae-gold),var(--reggae-orange));color:#071025;border:0;box-shadow:0 12px 28px rgba(244,201,93,.22)}
@media(max-width:991px){.topbar .navbar-collapse{display:none!important}.site-menu{top:78px}.site-menu-inner{padding:.65rem 12px}.site-menu button,.site-menu .listen-link{margin-left:0}.site-menu a,.site-menu button{font-size:.72rem;padding:.56rem .82rem}}
@media(max-width:575px){.brand-logo{height:52px}.topbar .navbar{min-height:72px}.site-menu{top:72px}.hero{padding-top:12px}.site-menu-inner{gap:.42rem}}

/* Extra launch-ready spacing checks */
.card-pulse{overflow:visible}
.show-grid,.dj-grid,.schedule-list{min-width:0}
.list-item strong,.schedule-info strong,.show-card b,.dj-card b{overflow-wrap:anywhere}
#shows,#schedule,#djs,#podcasts,#sponsors{scroll-margin-top:160px}
@media(max-width:767px){#shows,#schedule,#djs,#podcasts,#sponsors{scroll-margin-top:140px}.show-card,.schedule-row-pro,.list-item{max-width:100%}.footer{padding-bottom:145px!important}}
