:root{--pulse:#00b4ad;--violet:#f7c948;--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{background:linear-gradient(90deg,rgba(3,8,18,.94),rgba(3,18,28,.50),rgba(3,8,18,.86)),radial-gradient(circle at 75% 28%,rgba(247,201,72,.34),transparent 28%),url('../img/generated/bermuda-hero-island-reggae.jpg') center right/cover no-repeat;opacity:.99}.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,#00b4ad,#f7c948,#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),#f7c948)}
@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:#f7c948;--reggae-red:#d9485b;--reggae-orange:#00b4ad;}
.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(3,8,18,.94),rgba(3,18,28,.50),rgba(3,8,18,.86)),radial-gradient(circle at 75% 28%,rgba(247,201,72,.34),transparent 28%),url('../img/generated/bermuda-hero-island-reggae.jpg') center right/cover no-repeat;opacity:.99}
.text-pulse{background:linear-gradient(90deg,#fff,#f7c948 14%,#ffb703 32%,#f7c948 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:#f7c948;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(#f7c948,#00b4ad);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}}


/* 1 Harmony Bermuda launch polish: single menu + upgraded chat */
.topbar{z-index:1040}.topbar .navbar{min-height:84px}.topbar .navbar-collapse{flex-wrap:nowrap}.topbar .navbar-nav.main-menu-one-row{flex-wrap:nowrap!important;white-space:nowrap}.topbar .navbar-nav.main-menu-one-row .nav-link{font-size:.74rem;padding:.75rem .48rem!important}.topbar .navbar-toggler{margin-left:auto}.offcanvas:not(.show):not(.showing){visibility:hidden!important}.offcanvas.show,.offcanvas.showing{visibility:visible!important}.offcanvas-backdrop{z-index:1039}.modal{z-index:1065}.modal-backdrop{z-index:1060}
@media(min-width:992px){.topbar .navbar-toggler,.mobile-nav-btn{display:none!important}.topbar .navbar-collapse.collapse{display:flex!important}.offcanvas#mobileMenu{display:none!important}}
@media(max-width:991px){.topbar .navbar-collapse{display:none!important}.topbar .navbar{min-height:72px}.brand-logo{max-width:210px}.chat-launcher-text{display:none}}
.chat-upgrade-wrap{display:grid;grid-template-columns:1fr;gap:14px}.chat-panel-block{border:1px solid rgba(244,201,93,.14);background:rgba(255,255,255,.035);border-radius:18px;padding:12px}.gif-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:230px;overflow:auto;padding-right:4px}.gif-result{border:1px solid rgba(244,201,93,.18);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.04);padding:0;min-height:76px;cursor:pointer;position:relative}.gif-result img{width:100%;height:92px;object-fit:cover;display:block}.gif-result.is-selected{outline:3px solid rgba(244,201,93,.72);box-shadow:0 0 24px rgba(244,201,93,.22)}.chat-selected-preview{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:rgba(244,201,93,.12);border:1px solid rgba(244,201,93,.24)}.chat-selected-preview img{width:42px;height:42px;object-fit:cover;border-radius:10px}.pro-chat-form{grid-template-columns:150px 1fr auto auto auto!important}.chat-upload-btn{display:inline-flex;align-items:center;justify-content:center}.chat-image-img{max-width:240px;max-height:220px;border-radius:16px;margin-top:8px;display:block;border:1px solid rgba(255,255,255,.14);object-fit:cover}.chat-audio{width:100%;max-width:300px;margin-top:8px}.youtube-card{display:flex;gap:10px;margin-top:9px;padding:9px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);align-items:center}.youtube-card img{width:92px;height:56px;border-radius:10px;object-fit:cover}.youtube-card b{font-size:.85rem}.chat-text a{color:#ffe08a;text-decoration:underline}.chat-message{overflow:hidden}.chat-modal .modal-dialog{max-width:980px}.chat-messages{height:min(45vh,430px)}
@media(max-width:767px){.gif-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:260px}.pro-chat-form{grid-template-columns:1fr!important}.chat-image-img{max-width:100%}.chat-modal .modal-dialog{margin:.5rem}.chat-modal-content{border-radius:18px}.chat-launcher{right:12px;bottom:116px;padding:9px}}
.site-menu{display:none!important}

/* 1 Harmony expanded about/content polish */
.about-harmony-section{scroll-margin-top:110px}
.harmony-pill-grid{display:flex;flex-wrap:wrap;gap:.65rem}
.harmony-pill-grid span{display:inline-flex;align-items:center;border:1px solid rgba(244,201,93,.24);background:linear-gradient(135deg,rgba(244,201,93,.13),rgba(255,255,255,.05));border-radius:999px;padding:.65rem .9rem;color:#fff;font-weight:800;font-size:.86rem}
.text-white-75{color:rgba(255,255,255,.75)!important}


/* 1 Harmony Bermuda - improved GIF picker */
.gif-chip-row{display:flex;flex-wrap:wrap;gap:7px}.gif-chip-row button{border:1px solid rgba(244,201,93,.22);background:rgba(244,201,93,.08);color:#ffe08a;border-radius:999px;padding:6px 10px;font-weight:900;font-size:.72rem}.gif-chip-row button:hover{background:rgba(244,201,93,.18);border-color:rgba(244,201,93,.55);transform:translateY(-1px)}.gif-source-note{grid-column:1/-1;margin-bottom:8px;padding:8px 10px;border-radius:12px;background:rgba(244,201,93,.08);border:1px solid rgba(244,201,93,.14);color:rgba(255,255,255,.74)}.gif-grid{display:block;max-height:330px;overflow:auto;padding-right:4px}.gif-grid-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.gif-result{min-height:108px}.gif-result span{position:absolute;left:6px;right:6px;bottom:6px;padding:3px 6px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:.62rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gif-result img{height:104px}.chat-panel-block:has([data-gif-results]){background:linear-gradient(180deg,rgba(244,201,93,.08),rgba(255,255,255,.025))}@media(max-width:767px){.gif-grid-inner{grid-template-columns:repeat(2,minmax(0,1fr))}.gif-grid{max-height:360px}.gif-chip-row button{font-size:.68rem;padding:5px 8px}}


/* FINAL CHAT FIX - full media display, better scroll, modern picker */
.chat-modal .modal-dialog{max-width:min(1180px,96vw)!important;margin-top:1.25rem!important;margin-bottom:1.25rem!important;}
.chat-modal-content{max-height:calc(100vh - 2.5rem);display:flex;flex-direction:column;overflow:hidden!important;}
.chat-modal .modal-body{overflow:auto;padding-bottom:1rem;}
.chat-pro-shell{display:grid;grid-template-columns:1fr;gap:14px;min-height:0;}
.chat-messages{height:clamp(320px,44vh,520px)!important;max-height:520px;overflow-y:auto!important;overflow-x:hidden;display:flex!important;flex-direction:column!important;gap:10px!important;align-content:unset!important;padding:12px!important;border-radius:20px;background:rgba(0,0,0,.18);border:1px solid rgba(244,201,93,.10);scroll-behavior:smooth;}
.chat-message{overflow:visible!important;min-height:auto!important;width:100%;border-radius:18px!important;padding:13px 14px!important;}
.chat-text{overflow-wrap:anywhere;word-break:break-word;}
.chat-gif-img,.chat-image-img{width:auto!important;max-width:min(360px,100%)!important;max-height:none!important;height:auto!important;object-fit:contain!important;border-radius:16px!important;margin-top:10px!important;display:block!important;}
.chat-gif-img{background:rgba(255,255,255,.04);}
.chat-audio{width:100%!important;max-width:380px!important;}
.chat-form.pro-chat-form{display:grid!important;grid-template-columns:170px 1fr 54px 54px 130px!important;gap:9px!important;align-items:center;position:sticky;bottom:0;z-index:4;background:linear-gradient(180deg,rgba(5,8,20,.15),rgba(5,8,20,.96));padding-top:10px;}
.chat-picker-wrap.chat-upgrade-wrap{display:grid!important;grid-template-columns:1fr 1.25fr!important;gap:14px!important;}
.gif-grid{display:block!important;max-height:390px!important;overflow:auto!important;padding:4px!important;border-radius:16px;background:rgba(0,0,0,.14);}
.gif-grid-inner{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;}
.gif-result{height:126px!important;min-height:126px!important;border-radius:15px!important;overflow:hidden!important;}
.gif-result img{width:100%!important;height:126px!important;object-fit:cover!important;display:block!important;}
.gif-result span{position:absolute!important;left:7px!important;right:7px!important;bottom:7px!important;background:rgba(0,0,0,.65)!important;color:#fff!important;}
.chat-empty-note{padding:24px;text-align:center;border:1px dashed rgba(244,201,93,.22);border-radius:18px;background:rgba(244,201,93,.05)}
.schedule-empty-note,.djs-empty-note,.shows-empty-note{display:none;padding:18px;border:1px dashed rgba(244,201,93,.26);border-radius:18px;background:rgba(244,201,93,.07);color:#ffe08a;font-weight:800;margin-top:12px;}
@media(max-width:991px){.chat-picker-wrap.chat-upgrade-wrap{grid-template-columns:1fr!important}.chat-form.pro-chat-form{grid-template-columns:1fr 1fr 54px 54px!important}.chat-form.pro-chat-form input[name="message"]{grid-column:1/-1}.chat-form.pro-chat-form button[type="submit"]{grid-column:1/-1}.gif-grid-inner{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:575px){.chat-modal .modal-dialog{width:calc(100vw - .7rem)!important;margin:.35rem!important}.chat-modal-content{max-height:calc(100vh - .7rem)}.chat-modal-logo{width:54px!important;height:54px!important}.chat-messages{height:36vh!important;min-height:280px}.gif-grid{max-height:310px!important}.gif-grid-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important}.gif-result,.gif-result img{height:112px!important}.chat-form.pro-chat-form{grid-template-columns:1fr 1fr!important}.chat-upload-btn,button[data-voice-record]{min-height:46px}.chat-gif-img,.chat-image-img{max-width:100%!important}}

/* 1 Harmony Bermuda island polish */
:root{--pulse:#00b4ad;--pulse2:#f7c948;--island-red:#ef4444;--line:rgba(255,255,255,.12)}
.site-bg{background:radial-gradient(circle at 12% 8%,rgba(0,180,173,.26),transparent 28%),radial-gradient(circle at 88% 18%,rgba(247,201,72,.18),transparent 30%),linear-gradient(135deg,#020714 0%,#031928 52%,#041018 100%)}
.hero:after{content:"";position:absolute;inset:auto 0 0 0;height:140px;background:linear-gradient(90deg,rgba(22,150,89,.78),rgba(247,201,72,.72),rgba(239,68,68,.72));filter:blur(32px);opacity:.32;pointer-events:none}.hero{position:relative;overflow:hidden}.card-pulse{box-shadow:0 24px 70px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.05)}.tag{background:linear-gradient(135deg,rgba(0,180,173,.22),rgba(247,201,72,.14));border:1px solid rgba(247,201,72,.25);color:#fff3b0}.btn-pulse{background:linear-gradient(135deg,#00b4ad,#f7c948);color:#031018!important;border:0;font-weight:900}.btn-pulse:hover{filter:brightness(1.08);transform:translateY(-1px)}.text-pulse{color:#f7c948}.social-dot:hover{background:#00b4ad;color:#031018}.channel-select{display:block!important;min-height:46px;border-radius:16px!important;background:rgba(3,16,24,.92)!important;color:#fff!important;border:1px solid rgba(247,201,72,.5)!important;font-weight:900}.channel-select + .tiny:before{content:"Streaming live: ";color:#f7c948;font-weight:900}.brand-logo{object-fit:contain}.harmony-pill-grid span{background:rgba(0,180,173,.12);border-color:rgba(247,201,72,.2)}.footer{background:linear-gradient(180deg,rgba(3,8,18,.3),rgba(3,8,18,.96))}.sticky-player{border-top:1px solid rgba(247,201,72,.22)}

/* Visible two-channel frontend switcher */
.top-channel-select{width:250px;max-width:250px;padding:.72rem 2.25rem .72rem .95rem;margin-right:.35rem;box-shadow:0 10px 28px rgba(0,0,0,.24),0 0 0 3px rgba(247,201,72,.08)!important}
.sticky-channel{min-width:245px}.sticky-channel .channel-select{height:44px;padding:.45rem 2rem .45rem .75rem;font-size:.82rem}
@media(max-width:1199px){.top-channel-select{width:220px;max-width:220px}}
@media(max-width:991px){.top-channel-select{width:100%;max-width:100%;margin-right:0}.offcanvas .channel-select{width:100%;max-width:100%}.sticky-channel{display:none!important}}
