
:root{
  --tmr-blue:#66d9ff;
  --tmr-blue-2:#1ea7ff;
  --tmr-orange:#ff8a1d;
  --tmr-orange-2:#ff5a1f;
  --tmr-panel:rgba(8,16,30,.78);
  --tmr-panel-2:rgba(12,24,42,.88);
  --tmr-border:rgba(102,217,255,.42);
  --tmr-text:#e9f7ff;
  --tmr-topbar-h:56px;
  --tmr-nav-h:86px;
  --tmr-footer-h:120px;
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{
  margin:0;
  overflow-x:hidden;
  color:var(--tmr-text);
  background:
    linear-gradient(rgba(3,8,16,.76), rgba(3,8,16,.88)),
    url('../images/tmr.png') no-repeat center center fixed;
  background-size:cover;
  font-family:'Segoe UI',Tahoma,sans-serif;
  padding: calc(var(--tmr-topbar-h) + var(--tmr-nav-h) + 28px) 0 calc(var(--tmr-footer-h) + 30px);
}
a{color:#9ee7ff}
a:hover{color:#ffd18f}
.storm-topbar{
  position:fixed;left:0;right:0;top:0;height:var(--tmr-topbar-h);z-index:10020;
  display:flex;align-items:center;justify-content:center;gap:12px;padding:0 18px;
  background:linear-gradient(90deg,rgba(7,17,31,.98),rgba(15,32,55,.92));
  border-bottom:1px solid rgba(102,217,255,.2);
  box-shadow:0 10px 30px rgba(0,0,0,.25);
  text-align:center;
}
.storm-topbar-title{font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-shadow:0 0 16px rgba(102,217,255,.35)}
.storm-topbar-tag{color:#badaea;font-size:.92rem}
.nav-overlay{display:none;position:fixed;inset:0;background:rgba(3,8,16,.72);z-index:10010}
.storm-main-nav{
  position:fixed;top:var(--tmr-topbar-h);left:0;right:0;z-index:10015;
  background:linear-gradient(180deg,rgba(7,17,31,.97),rgba(12,24,42,.94));
  border-bottom:1px solid rgba(102,217,255,.18);
  box-shadow:0 18px 35px rgba(0,0,0,.24);
}
.storm-nav-inner{
  max-width:1400px;margin:0 auto;padding:12px 16px;
  display:flex;align-items:center;gap:18px;
}
.storm-nav-brand{display:flex;align-items:center;gap:12px;min-width:max-content;padding-right:10px}
.storm-nav-brand img{width:56px;height:56px;object-fit:cover;border-radius:16px;border:1px solid rgba(102,217,255,.26);box-shadow:0 0 20px rgba(102,217,255,.18)}
.storm-nav-brand strong{display:block;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.storm-nav-brand span{display:block;font-size:.78rem;color:#b8d7e7}
.storm-nav-toggle{display:none;align-items:center;gap:10px;border-radius:999px;padding:10px 14px;border:1px solid rgba(102,217,255,.25);background:rgba(102,217,255,.08);color:#eafaff;font-weight:700}
.storm-nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:10px;flex:1;flex-wrap:wrap}
.storm-nav-list li{margin:0}
.storm-nav-list a{
  display:inline-flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;text-decoration:none;color:var(--tmr-text);
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));border:1px solid rgba(255,255,255,.05);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  min-height:48px;
}
.storm-nav-list a i{width:18px;text-align:center;font-size:1rem;color:var(--tmr-orange)}
.storm-nav-list a span{font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.84rem;line-height:1}
.storm-nav-list a:hover,.storm-nav-list a:focus{
  transform:translateY(-2px);border-color:rgba(102,217,255,.34);
  background:linear-gradient(90deg,rgba(102,217,255,.10),rgba(255,138,29,.10));
  box-shadow:0 0 24px rgba(102,217,255,.14), inset 0 0 12px rgba(255,138,29,.08);
}
.nav-admin a{border-color:rgba(255,138,29,.26);box-shadow:inset 0 0 0 1px rgba(255,138,29,.08)}
.container,.container-fluid{max-width:1460px}
.container,.content-wrapper{position:relative;z-index:2}
.logo-wrap,.content-box,.dj-box,.comment-box,.admin-card,.content-card,.schedule-box,.clock-box{
  background:linear-gradient(180deg,rgba(9,18,34,.86),rgba(10,19,35,.74));
  border:1px solid rgba(102,217,255,.22);border-radius:22px;padding:24px;
  box-shadow:0 10px 32px rgba(0,0,0,.28),0 0 24px rgba(102,217,255,.09), inset 0 0 18px rgba(255,255,255,.02);
  backdrop-filter: blur(5px);
}
.logo-wrap{padding:34px 28px;background:linear-gradient(180deg,rgba(6,14,26,.92),rgba(10,23,43,.82));border-color:rgba(255,138,29,.32);box-shadow:0 14px 36px rgba(0,0,0,.3),0 0 36px rgba(255,138,29,.14)}
.logo-wrap h1,.content-box h2,.content-box h3,.content-box h4,.content-box h5,.dj-box h3{color:#fff;text-shadow:0 0 18px rgba(102,217,255,.18)}
.btn,.stream-button,.admin-btn,.button,.play-btn{
  border-radius:999px!important;padding:.72rem 1.2rem;font-weight:700;border:1px solid rgba(102,217,255,.25)!important;
  box-shadow:0 0 16px rgba(102,217,255,.12);transition:all .18s ease;
}
.btn-primary,.btn-success,.stream-button,.admin-btn.primary{background:linear-gradient(135deg,var(--tmr-blue-2),var(--tmr-orange))!important;color:#08111f!important;border:none!important}
.btn-primary:hover,.btn-success:hover,.stream-button:hover,.admin-btn.primary:hover{transform:translateY(-1px) scale(1.01);box-shadow:0 0 26px rgba(255,138,29,.26)}
.form-control,.input-field,textarea,input,select{
  background:rgba(4,11,22,.85)!important;color:#edf9ff!important;border:1px solid rgba(102,217,255,.22)!important;border-radius:14px!important;
}
.form-control::placeholder,textarea::placeholder,input::placeholder{color:#95b9cb}
.comment-box{margin-bottom:18px;border-left:4px solid var(--tmr-orange)}
.list-group-item{background:rgba(8,17,32,.76)!important;color:var(--tmr-text)!important;border-color:rgba(102,217,255,.13)!important}
.badge.bg-primary{background:linear-gradient(135deg,var(--tmr-blue-2),var(--tmr-orange))!important;color:#07111f}
.alert{border-radius:16px;border:none;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.admin-card{display:block;text-decoration:none;color:var(--tmr-text);transition:all .18s ease}
.admin-card:hover{transform:translateY(-4px);border-color:rgba(255,138,29,.35);box-shadow:0 16px 30px rgba(0,0,0,.3),0 0 24px rgba(255,138,29,.14)}
.smurf-divider,.storm-divider{display:block;width:100%;height:88px;margin:24px 0;background-image:url('../images/thunder-divider.png');background-position:center center;background-size:auto 220%;background-repeat:repeat-x;opacity:1;filter:drop-shadow(0 0 10px rgba(102,217,255,.18)) drop-shadow(0 0 12px rgba(255,138,29,.14));animation:stormScroll 18s linear infinite;overflow:hidden;border-radius:6px}
@keyframes stormScroll{from{background-position:0 center}to{background-position:-1600px center}}
.site-footer{
  position:fixed !important;left:0;right:0;bottom:0;z-index:10005;
  background:linear-gradient(180deg,rgba(7,17,31,.98),rgba(10,20,36,.98));border-top:1px solid rgba(102,217,255,.18);box-shadow:0 -10px 30px rgba(0,0,0,.22)
}
.footer-inner{display:flex;justify-content:space-between;gap:18px;align-items:center;max-width:1400px;margin:0 auto;padding:14px 18px 10px}
.footer-left p,.footer-stats p{margin:0 0 5px}.footer-tagline{color:#b8d7e7;font-size:.92rem}
.footer-links{display:flex;gap:14px;flex-wrap:wrap}.footer-links a,.footer-admin-links a{color:#dff8ff;text-decoration:none;font-weight:700}
.footer-admin-links{display:flex;gap:16px;justify-content:center;padding:0 18px 10px;flex-wrap:wrap}
.content-area{position:relative;z-index:2}.admin-main{padding-bottom:18px}.admin-topbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.admin-return{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;text-decoration:none;background:rgba(102,217,255,.08);border:1px solid rgba(102,217,255,.18);color:#eafaff;font-weight:700}.admin-return:hover{background:rgba(255,138,29,.14);color:#fff}.admin-title{color:#fff}
@media (max-width: 1220px){
  :root{--tmr-nav-h:74px}
  body{padding-top:calc(var(--tmr-topbar-h) + var(--tmr-nav-h) + 22px)}
  .storm-nav-brand{padding-right:0}
  .storm-nav-toggle{display:inline-flex}
  .storm-nav-inner{justify-content:space-between;flex-wrap:wrap}
  .storm-nav-list{display:none;width:100%;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}
  body.nav-open .storm-nav-list{display:flex}
  body.nav-open .nav-overlay{display:block}
}
@media (max-width: 900px){
  :root{--tmr-nav-h:68px}
  .storm-topbar{flex-direction:column;height:auto;padding:10px 16px}
  body{padding-top:calc(74px + var(--tmr-nav-h) + 24px)}
  .storm-nav-brand img{width:48px;height:48px}
  .storm-nav-list a{width:100%;justify-content:flex-start}
  .site-footer{position:static !important}
  .footer-inner{flex-direction:column;align-items:flex-start}
  .footer-admin-links{justify-content:flex-start;padding-bottom:18px}
}


/* top navigation restore */
.thunder-topnav{
  background: linear-gradient(90deg, rgba(7,17,31,.96), rgba(15,32,55,.92));
  border-bottom: 1px solid rgba(102,217,255,.24);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  backdrop-filter: blur(8px);
}
.thunder-brand{
  display:inline-flex; align-items:center; gap:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
}
.thunder-brand i{
  color: var(--tmr-orange); text-shadow: 0 0 14px rgba(255,138,29,.45);
}
.thunder-toggler{border-color:rgba(102,217,255,.28)}
.thunder-nav-list{gap:8px; flex-wrap:wrap; justify-content:flex-end}
.thunder-topnav .nav-link{
  display:inline-flex; align-items:center; gap:8px; padding:.62rem .78rem !important; border-radius:999px; font-weight:700;
  letter-spacing:.02em; color:#e9f7ff;
}
.thunder-topnav .nav-link i{color:var(--tmr-orange); min-width:16px; text-align:center}
.thunder-topnav .nav-link span{white-space:nowrap}
.thunder-topnav .navbar-nav{row-gap:6px}
.thunder-topnav .nav-link:hover,
.thunder-topnav .nav-link:focus,
.thunder-topnav .nav-link.dropdown-toggle.show{
  color:#fff; background:linear-gradient(90deg, rgba(102,217,255,.12), rgba(255,138,29,.12));
  box-shadow:0 0 22px rgba(102,217,255,.15), inset 0 0 12px rgba(255,138,29,.07);
}
.thunder-admin-link{
  border:1px solid rgba(255,138,29,.26); box-shadow: inset 0 0 0 1px rgba(255,138,29,.08);
}
.thunder-welcome{opacity:.92}
.thunder-dropdown-menu{
  background:linear-gradient(180deg, rgba(7,17,31,.98), rgba(12,24,42,.97));
  border:1px solid rgba(102,217,255,.18); border-radius:18px; padding:.65rem;
  box-shadow:0 20px 40px rgba(0,0,0,.28);
}
.thunder-dropdown-menu .dropdown-item{
  color:#e9f7ff; border-radius:12px; padding:.65rem .8rem; font-weight:600;
}
.thunder-dropdown-menu .dropdown-item i{width:18px; margin-right:8px; color:var(--tmr-orange)}
.thunder-dropdown-menu .dropdown-item:hover{background:linear-gradient(90deg, rgba(102,217,255,.12), rgba(255,138,29,.12)); color:#fff}
.nav-overlay,.side-nav,.storm-topbar{display:none !important}
.container,.container-fluid{max-width:1460px}
@media (max-width: 1199px){
  .thunder-topnav .navbar-collapse{
    margin-top:12px; padding:12px; border-radius:20px; background:rgba(7,17,31,.92); border:1px solid rgba(102,217,255,.16);
  }
  .thunder-nav-list{align-items:stretch !important}
  .thunder-topnav .nav-link{display:flex}
}
@media (max-width: 1100px){
  body{padding-left:0}
  .site-footer{position:static !important}
  .footer-inner{flex-direction:column;align-items:flex-start}
  .footer-admin-links{justify-content:flex-start;padding-bottom:18px}
}

/* Thunder glow restore */

.card, .panel, .content-box, .box {
background: rgba(0,0,0,0.65);
border-radius:14px;
border:2px solid rgba(255,80,0,0.7);
box-shadow:0 0 10px rgba(255,80,0,0.6),0 0 25px rgba(255,80,0,0.35),inset 0 0 10px rgba(255,80,0,0.25);
backdrop-filter:blur(6px);
}

.hero {
border:2px solid #ff5a00;
box-shadow:0 0 15px #ff5a00,0 0 40px rgba(255,90,0,0.5);
}

.schedule-box{
border:2px dashed #00eaff;
box-shadow:0 0 10px rgba(0,234,255,0.6);
}


/* Thunder final polish pass */
@keyframes thunderGlowPulse {
  0%,100% { box-shadow:0 0 12px rgba(255,90,0,.34), 0 0 30px rgba(255,90,0,.16), inset 0 0 10px rgba(255,90,0,.18); }
  50% { box-shadow:0 0 18px rgba(255,90,0,.58), 0 0 42px rgba(255,90,0,.26), inset 0 0 16px rgba(255,90,0,.24); }
}
@keyframes thunderCyanPulse {
  0%,100% { box-shadow:0 0 10px rgba(0,234,255,.28), inset 0 0 8px rgba(0,234,255,.08); }
  50% { box-shadow:0 0 16px rgba(0,234,255,.48), inset 0 0 12px rgba(0,234,255,.14); }
}
.logo-wrap,.content-box,.dj-box,.comment-box,.admin-card,.content-card,.clock-box{
  background:linear-gradient(180deg, rgba(8,12,20,.56), rgba(6,9,17,.42));
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
.logo-wrap,.content-box,.dj-box,.comment-box,.admin-card,.content-card{
  animation: thunderGlowPulse 4.8s ease-in-out infinite;
}
.schedule-box{
  animation: thunderCyanPulse 4.2s ease-in-out infinite;
  background:linear-gradient(180deg, rgba(6,14,24,.48), rgba(4,8,14,.34));
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.thunder-topnav .nav-link i,
.thunder-topnav .dropdown-item i{
  transition:transform .18s ease, text-shadow .18s ease, filter .18s ease, color .18s ease;
}
.thunder-topnav .nav-link:hover i,
.thunder-topnav .nav-link:focus i,
.thunder-topnav .nav-link.dropdown-toggle.show i,
.thunder-topnav .dropdown-item:hover i,
.thunder-topnav .dropdown-item:focus i{
  color:#ffd08d;
  transform:translateY(-1px) scale(1.07);
  text-shadow:0 0 12px rgba(255,138,29,.55), 0 0 20px rgba(0,234,255,.25);
  filter:drop-shadow(0 0 8px rgba(255,138,29,.45));
}
.admin-quickbar-wrap{
  margin:-8px 0 18px;
}
.admin-quickbar{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(255,90,0,.42);
  background:linear-gradient(180deg, rgba(8,12,20,.84), rgba(6,9,17,.7));
  box-shadow:0 10px 24px rgba(0,0,0,.22), 0 0 22px rgba(255,90,0,.16);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.admin-quickbar-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  color:#fff;
  font-weight:700;
  padding:9px 14px;
  border-radius:999px;
  border:1px solid rgba(102,217,255,.2);
  background:rgba(255,255,255,.03);
}
.admin-quickbar-link:hover{
  color:#fff;
  border-color:rgba(255,138,29,.44);
  box-shadow:0 0 18px rgba(255,138,29,.18), inset 0 0 10px rgba(255,138,29,.08);
}
.admin-quickbar-link--warn{border-color:rgba(255,90,0,.34)}
@media (max-width: 991.98px){
  .admin-quickbar-wrap{margin-top:8px;}
  .admin-quickbar{justify-content:stretch}
  .admin-quickbar-link{flex:1 1 220px;justify-content:center}
}


/* thunder-popout-outrageous */
.page-player-popout{background:radial-gradient(circle at top, rgba(0,234,255,.18), transparent 35%), radial-gradient(circle at bottom, rgba(255,90,0,.18), transparent 35%), #05080f;}
.popout-player-card{border:2px solid rgba(255,90,0,.55)!important; box-shadow:0 0 24px rgba(255,90,0,.22), 0 0 50px rgba(0,234,255,.12), inset 0 0 20px rgba(255,255,255,.03)!important;}
.player-pop-title{text-shadow:0 0 18px rgba(255,90,0,.32),0 0 30px rgba(0,234,255,.16);} 
.player-orb{box-shadow:0 0 0 10px rgba(255,90,0,.08),0 0 22px rgba(255,90,0,.24),0 0 48px rgba(0,234,255,.14)!important;}
.player-meta-chip{border:1px solid rgba(255,90,0,.34)!important; box-shadow:0 0 14px rgba(255,90,0,.10);} 
.player-audio-shell audio{width:100%; filter:drop-shadow(0 0 12px rgba(0,234,255,.25));}


/* Footer/layout correction */
html,body{min-height:100%;}
body{
  min-height:100vh;
  padding: calc(var(--tmr-topbar-h) + var(--tmr-nav-h) + 28px) 0 calc(var(--tmr-footer-h) + 32px) 0 !important;
  overflow-x:hidden;
}
.site-footer{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:10005;
  display:block;
  background:linear-gradient(180deg,rgba(7,17,31,.98),rgba(10,20,36,.98)) !important;
  border-top:1px solid rgba(102,217,255,.18) !important;
  box-shadow:0 -10px 30px rgba(0,0,0,.22) !important;
}
.site-footer .footer-inner{
  max-width:1400px;
  margin:0 auto;
  padding:14px 18px 10px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
}
.site-footer .footer-admin-links{
  display:flex;
  justify-content:center;
  gap:16px;
  padding:0 18px 10px;
  flex-wrap:wrap;
}
@media (max-width: 1100px){
  body{padding-bottom:24px !important;}
  .site-footer{position:static;}
  .site-footer .footer-inner{flex-direction:column;align-items:flex-start;}
  .site-footer .footer-admin-links{justify-content:flex-start;padding-bottom:18px;}
}


/* stability fixes */
body.admin-page, body.login-page { min-height: 100vh; }
main.content-area, .container, .content-wrapper { width: 100%; }


/* header-gap fix */
body{
  padding-top: 0 !important;
  padding-bottom: calc(var(--tmr-footer-h) + 30px) !important;
}
@media (max-width: 900px){
  body{padding-top:0 !important;}
}


/* thunder chat + dj + join polish */
.section-kicker{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px;border-radius:999px;
  background:rgba(255,138,29,.12);border:1px solid rgba(255,138,29,.35);
  color:#ffd7a6;font-weight:700;letter-spacing:.02em;margin-bottom:14px;
}
.chat-hero-card{
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:18px;align-items:stretch;text-align:left;
}
.chat-hero-card h1{margin:0 0 10px}
.chat-hero-card p{font-size:1.08rem;line-height:1.75;color:#dbefff}
.chat-status-row,.admin-entry-tags{display:flex;gap:10px;flex-wrap:wrap}
.status-pill,.admin-entry-tag{
  display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;
  background:rgba(8,17,30,.72);border:1px solid rgba(102,217,255,.2);color:#dff8ff;font-weight:700;
}
.status-pill.is-live{border-color:rgba(255,138,29,.45);color:#ffd7a6}
.status-pill.is-offline{border-color:rgba(255,255,255,.14);color:#dbe5ee}
.chat-side-panel{
  height:100%;padding:22px;border-radius:22px;
  background:linear-gradient(180deg, rgba(9,22,38,.82), rgba(7,14,28,.92));
  border:1px solid rgba(255,138,29,.28);box-shadow:0 20px 45px rgba(0,0,0,.28);
}
.chat-side-panel h3{margin:0 0 14px}
.chat-rule-list{margin:0;padding-left:18px;line-height:1.8;color:#d7ecff}
.chat-shell{text-align:left}
.chat-shell-header{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.chat-shell-header h2{margin:0 0 5px}
.chat-shell-header p{margin:0;color:#c6dfef}
.thunder-chat-box{
  min-height:340px;max-height:440px;padding:16px;border-radius:20px;
  background:linear-gradient(180deg, rgba(6,14,28,.92), rgba(8,17,30,.85));
  border:1px solid rgba(102,217,255,.18);box-shadow:inset 0 0 30px rgba(102,217,255,.04);
}
.thunder-chat-controls{margin-top:16px;padding:18px;border-radius:20px;background:rgba(255,255,255,.03);border:1px solid rgba(255,138,29,.2)}
.chat-form-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px}
.chat-input-row{display:flex;gap:10px;align-items:center}
.chat-input-row .request-input{flex:1 1 auto}
.chat-msg{
  padding:12px 14px;margin-bottom:10px;border-radius:16px;background:rgba(255,255,255,.04);
  border:1px solid rgba(102,217,255,.16);
}
.chat-msg.admin{border-color:rgba(255,138,29,.34);background:rgba(255,138,29,.08)}
.chat-msg .meta{display:flex;justify-content:space-between;gap:12px;font-size:.92rem;opacity:.85;margin-bottom:6px}
.chat-msg .who{font-weight:800;color:#fff}
.chat-msg .text{white-space:pre-wrap;line-height:1.6}
.chat-offline-card{text-align:center;padding:28px}
.djs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.dj-spotlight-card{text-align:left}
.dj-image img{object-fit:cover}
.dj-showline{margin:0 0 10px;color:#8fdfff;font-weight:700}
.thunder-form-stack .request-box{margin-bottom:16px}
@media (max-width: 980px){
  .chat-hero-card,.chat-form-grid,.djs-grid{grid-template-columns:1fr}
  .chat-input-row{flex-direction:column;align-items:stretch}
}


/* dj-chat-join polish pass */
.request-input,
.input-field,
.request-textarea,
textarea.input-field,
input.input-field,
select.input-field{
  display:block;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.request-field label,
.thunder-form-stack label{
  display:block;
  margin:0 0 8px;
  font-weight:700;
  color:#dff5ff;
}
.request-textarea{
  min-height:180px;
  resize:vertical;
}
.request-input[type="file"]{
  padding:12px 14px !important;
  line-height:1.4;
}
.request-input[type="file"]::file-selector-button{
  background:linear-gradient(135deg,var(--tmr-blue-2),var(--tmr-orange));
  color:#08111f;
  border:none;
  border-radius:12px;
  padding:10px 14px;
  margin-right:12px;
  font-weight:800;
  cursor:pointer;
}
.thunder-form-stack{
  display:grid;
  gap:16px;
}
.thunder-form-stack .request-box{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  padding:18px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(8,17,30,.72), rgba(6,12,24,.82));
  border:1px solid rgba(255,138,29,.22);
  box-shadow:0 16px 34px rgba(0,0,0,.22), inset 0 0 18px rgba(102,217,255,.04);
}
.thunder-form-stack .request-box.center-text{
  grid-template-columns:1fr;
}
.thunder-form-stack .request-box .request-field{
  min-width:0;
}
.upload-help{
  display:block;
  margin-top:10px;
  color:#b9d8e8;
}
.friends-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.friend-card{
  overflow:hidden;
}
.friend-top{
  display:grid;
  grid-template-columns:minmax(240px,330px) minmax(0,1fr);
  gap:22px;
  align-items:start;
}
.friend-image{
  width:100%;
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(8,17,30,.82), rgba(7,13,24,.94));
  border:1px solid rgba(102,217,255,.18);
  box-shadow:inset 0 0 24px rgba(102,217,255,.05);
}
.friend-image img{
  width:100%;
  height:320px;
  display:block;
  object-fit:cover;
  object-position:center;
}
.friend-image-fallback{
  min-height:280px;
  display:grid;
  place-items:center;
  font-size:3rem;
}
.friend-meta{
  min-width:0;
}
.friend-name{
  margin:0 0 10px;
  font-size:clamp(1.6rem,2.4vw,2.4rem);
  line-height:1.1;
  color:#f6fbff;
}
.friend-desc{
  color:#d7ebf8;
  line-height:1.65;
  font-size:1.02rem;
}
.dj-showline{
  margin:0 0 12px;
}
.djs-grid{
  align-items:start;
}
.dj-image img{
  height:340px;
}
@media (max-width: 1100px){
  .friends-grid{grid-template-columns:1fr;}
  .friend-top{grid-template-columns:1fr;}
  .friend-image img,.dj-image img{height:auto;max-height:420px;}
}
@media (max-width: 980px){
  .thunder-form-stack .request-box{grid-template-columns:1fr;}
}


/* thunder corrective pass */
.center-text{text-align:center;}
.center-text p,.center-text h1,.center-text h2,.center-text h3,.center-text h4{margin-left:auto;margin-right:auto;}
.content-wrapper{max-width:1380px;margin:0 auto;padding:0 16px 20px;}
.page-shell{max-width:1100px;margin:0 auto;}
.page-shell-wide{max-width:1280px;margin:0 auto;}
.hero-card{max-width:1100px;margin:0 auto;text-align:center;}
.page-intro{max-width:980px;margin:0 auto 18px;text-align:center;}
.page-copy{max-width:980px;margin:0 auto;text-align:left;}
.schedule-day-card{margin-top:18px;text-align:left;}
.schedule-period-title{margin:0 0 12px;color:#ffd7a6;font-size:1rem;letter-spacing:.03em;text-transform:uppercase;}
.schedule-slot-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.schedule-slot-list li{padding:12px 14px;border-radius:16px;background:rgba(6,14,24,.38);border:1px solid rgba(102,217,255,.12);}
.form-shell{max-width:760px;margin:0 auto;}
@media (max-width:900px){.content-wrapper{padding-left:12px;padding-right:12px}.friend-top{grid-template-columns:1fr;}}


/* Thunder stacked profile card fix */
.stacked-profile-card{max-width:760px;margin:0 auto;}
.stacked-profile-card .friend-top{grid-template-columns:1fr;gap:18px;}
.stacked-profile-card .friend-image{max-width:460px;margin:0 auto;}
.stacked-profile-card .friend-meta{text-align:left;}
.stacked-profile-card .friend-name{font-size:clamp(1.7rem,2.6vw,2.7rem);}
.stacked-profile-card .friend-desc{margin:0;}
.stacked-profile-card .dj-showline{font-size:1rem;}
.stacked-profile-card .friend-actions{margin-top:16px;}
.stacked-profile-card .friend-btn{display:inline-flex;align-items:center;justify-content:center;}
.admin-wrap .stacked-profile-card{max-width:none;}
.admin-wrap .stacked-profile-card .friend-image{max-width:420px;}
.dj-card.stacked-profile-card .dj-image{max-width:420px;margin:0 auto 18px;}
.dj-card.stacked-profile-card .dj-bio{line-height:1.7;}
