/* ═══════════════════════════════════════════════
   CULT ON AIR — DASHBOARD APP v4.0
   Single-page · Zero scroll · Orbitron LED clock
═══════════════════════════════════════════════ */
:root{
  --bg:#07090f; --bg2:#0b0f1c;
  --line:rgba(255,255,255,.08);
  --text:#eef2ff; --muted:#6e8ab8;
  --red:#d41e38; --red2:#ff3f5c;
  --blue:#0d4d99; --gold:#f0c050;
  --green:#2ec97a; --cyan:#00d4ff;
  --r:16px; --r2:24px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{width:100%;height:100%;overflow:hidden}
body{
  font-family:'Inter',sans-serif;
  color:var(--text);background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse 55% 45% at 5% 0%,rgba(212,30,56,.22) 0%,transparent 100%),
    radial-gradient(ellipse 55% 45% at 95% 0%,rgba(13,77,153,.18) 0%,transparent 100%),
    radial-gradient(ellipse 70% 55% at 50% 105%,rgba(240,192,80,.07) 0%,transparent 100%),
    linear-gradient(180deg,#050709 0%,#080d1b 60%,#050709 100%);
}
body::after{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.18;
  background:
    linear-gradient(rgba(255,255,255,.014) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.010) 1px,transparent 1px);
  background-size:64px 64px;
  animation:gridDrift 40s linear infinite;
}
@keyframes gridDrift{to{background-position:64px 64px,64px 64px}}
a{color:inherit;text-decoration:none}
button{cursor:pointer;border:none;font:inherit;background:none;color:inherit}
input,textarea,select{font:inherit;color:var(--text)}

/* ── SHELL ── */
#app{
  position:fixed;inset:0;z-index:1;
  display:flex;flex-direction:column;
}

/* ════════════════════════════════════
   HEADER
════════════════════════════════════ */
.hdr{
  flex-shrink:0;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;padding:8px 18px;
  background:rgba(5,7,12,.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(24px);
  position:relative;z-index:12;
}

/* Brand */
.hdr-brand{display:flex;align-items:center;gap:10px}
.hdr-logo{
  width:42px;height:42px;border-radius:12px;
  object-fit:cover;
  box-shadow:0 0 20px rgba(255,63,92,.28);
}
.hdr-name{
  font-family:'Bebas Neue',sans-serif;
  font-size:28px;letter-spacing:.02em;line-height:1;
  text-shadow:0 0 28px rgba(255,63,92,.22);
}
.hdr-sub{
  font-size:8px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted);margin-top:2px;
}

/* Orbitron LED clock */
.hdr-clock{text-align:center}
.orb-time{
  font-family:'Orbitron',sans-serif;
  font-weight:900;
  font-size:clamp(32px,4.5vw,52px);
  line-height:1;letter-spacing:.05em;
  color:var(--cyan);
  text-shadow:
    0 0 14px rgba(0,212,255,.9),
    0 0 30px rgba(0,212,255,.5),
    0 0 60px rgba(0,212,255,.24),
    0 0 100px rgba(0,212,255,.1);
  position:relative;
}
.orb-colon{
  display:inline-block;
  animation:colonBlink 1s step-end infinite;
}
@keyframes colonBlink{0%,49%{opacity:1}50%,100%{opacity:.15}}
.orb-date{
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);margin-top:3px;
}

/* User area */
.hdr-user{display:flex;align-items:center;gap:10px}
.user-info{text-align:right}
.user-name{font-size:12px;font-weight:900;color:#fff;white-space:nowrap}
.user-sign{font-size:10px;color:var(--gold);letter-spacing:.05em;margin-top:1px}
.user-avatar{
  width:38px;height:38px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--red),var(--blue));
  display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:15px;color:#fff;
  border:2px solid rgba(255,255,255,.14);cursor:pointer;
  transition:transform .18s,border-color .18s;
}
.user-avatar:hover{transform:scale(1.08);border-color:rgba(255,77,101,.5)}

/* ════════════════════════════════════
   ALMANACCO STRIP
════════════════════════════════════ */
.almanac-strip{
  flex-shrink:0;display:flex;align-items:center;
  height:30px;overflow:hidden;
  background:linear-gradient(90deg,rgba(7,10,20,.98),rgba(10,14,26,.96));
  border-bottom:1px solid rgba(240,192,80,.14);
  position:relative;z-index:11;
}
.almanac-lbl{
  flex-shrink:0;padding:0 11px;height:30px;
  display:flex;align-items:center;gap:5px;
  background:linear-gradient(90deg,rgba(240,192,80,.2),rgba(240,192,80,.05));
  border-right:1px solid rgba(240,192,80,.18);
  font-size:8px;font-weight:900;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);white-space:nowrap;
}
.almanac-scroll-wrap{flex:1;overflow:hidden;height:30px;display:flex;align-items:center;padding-left:12px}
.almanac-text{
  font-size:11px;font-weight:700;color:rgba(255,255,255,.68);
  letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.almanac-text.animate{display:inline-block;animation:almScroll 34s linear infinite}
@keyframes almScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ════════════════════════════════════
   DASHBOARD GRID
════════════════════════════════════ */
.dash{
  flex:1;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:repeat(3,minmax(0,1fr));
  gap:8px;padding:8px;
  min-height:0;overflow:hidden;
}

/* ── NOW PLAYING (left full column) ── */
.now-card{
  grid-column:1;grid-row:1/4;
  display:flex;flex-direction:column;
  border-radius:var(--r2);
  border:1px solid rgba(255,255,255,.09);
  overflow:hidden;position:relative;
  background:
    radial-gradient(circle at 16% 14%,rgba(255,63,92,.18),transparent 44%),
    radial-gradient(circle at 84% 80%,rgba(13,77,153,.14),transparent 44%),
    linear-gradient(158deg,rgba(11,15,28,.97),rgba(6,9,18,.96));
  padding:20px;
}
.now-card::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(116deg,rgba(255,255,255,.038),transparent 36%);
}
.now-card>*{position:relative}

.live-badge{
  display:inline-flex;align-items:center;gap:7px;
  padding:5px 11px;border-radius:999px;width:fit-content;
  background:rgba(212,30,56,.15);border:1px solid rgba(255,63,92,.3);
  font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;
  margin-bottom:14px;
  animation:badgeGlow 2.8s ease-in-out infinite;
}
@keyframes badgeGlow{
  0%,100%{box-shadow:0 0 0 0 rgba(212,30,56,0)}
  50%{box-shadow:0 0 0 5px rgba(212,30,56,.13)}
}
.live-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--red2);box-shadow:0 0 12px rgba(255,63,92,.9);
  animation:pulse 1.3s infinite;
}
.now-program{
  font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);margin-bottom:8px;
}
.now-title{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(32px,4.8vw,64px);
  line-height:.88;text-transform:uppercase;color:#fff;
  text-shadow:0 0 26px rgba(255,255,255,.1);
  overflow-wrap:anywhere;margin-bottom:7px;
}
.now-artist{
  font-size:clamp(14px,1.8vw,20px);font-weight:900;
  color:#fde8a8;overflow-wrap:anywhere;margin-bottom:5px;
}
.now-next{
  font-size:11px;color:var(--muted);
  padding-bottom:10px;
}

/* Visualizer */
.viz{
  display:flex;align-items:flex-end;gap:2px;
  height:clamp(36px,7vh,72px);
  margin:8px 0;flex-shrink:0;overflow:hidden;
}
.vbar{
  flex:1;min-height:3px;border-radius:2px 2px 0 0;
  background:linear-gradient(180deg,var(--gold),var(--red2));
  box-shadow:0 0 7px rgba(255,63,92,.22);
  transition:height .09s linear;
}

/* Prog-spot carousel */
.prog-spot{
  flex-shrink:0;margin-top:6px;
  padding:8px 11px;border-radius:12px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.09);
  display:flex;align-items:center;gap:9px;
  opacity:0;transform:translateY(6px);
  transition:opacity .4s,transform .4s;
  pointer-events:none;
}
.prog-spot.show{opacity:1;transform:translateY(0)}
.prog-spot-icon{font-size:20px;flex-shrink:0}
.prog-spot-lbl{font-size:8px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:2px}
.prog-spot-title{font-family:'Bebas Neue',sans-serif;font-size:18px;line-height:1;color:#fff}
.prog-spot-desc{font-size:10px;color:rgba(255,255,255,.5);line-height:1.4;margin-top:1px}

/* Play button */
.play-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-top:auto}
.play-btn{
  display:flex;align-items:center;gap:11px;
  background:linear-gradient(135deg,var(--red),var(--red2));
  color:#fff;font-size:16px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;
  padding:0 26px;height:52px;border-radius:13px;
  box-shadow:0 0 0 1px rgba(255,63,92,.16),0 14px 34px rgba(212,30,56,.4),0 0 48px rgba(255,60,90,.12);
  animation:breathe 3s ease-in-out infinite;
  position:relative;overflow:hidden;transition:transform .18s,box-shadow .18s;
}
.play-btn::after{
  content:'';position:absolute;inset:-30% auto -30% -70%;width:50%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);
  transform:skewX(-16deg);transition:left .5s;pointer-events:none;
}
.play-btn:hover::after{left:130%}
.play-btn:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(212,30,56,.52)}
.play-btn:active{transform:scale(.97) translateY(1px)}
.ppulse{
  width:10px;height:10px;border-radius:50%;
  background:#fff;box-shadow:0 0 9px rgba(255,255,255,.8);
  animation:pulse 1.2s infinite;flex-shrink:0;
}
.play-sub{
  font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.36);padding-left:2px;
}

/* Meteo inline */
.weather-row{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}
.weather-txt{font-size:11px;color:var(--muted);font-weight:700}
.weather-city-row{margin-top:8px;display:none}
.wc-inner{display:flex;gap:7px}

/* ── DASHBOARD BUTTONS (right column) ── */
.db{
  grid-column:2;
  display:flex;flex-direction:column;
  justify-content:center;align-items:flex-start;
  gap:6px;padding:14px 18px;
  background:linear-gradient(145deg,rgba(255,255,255,.042),rgba(255,255,255,.012));
  border:1px solid var(--line);border-radius:var(--r2);
  cursor:pointer;position:relative;overflow:hidden;
  transition:transform .18s,border-color .22s,background .22s,box-shadow .22s;
}
.db::before{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(116deg,rgba(255,255,255,.036),transparent 34%);
}
.db::after{
  content:'';position:absolute;inset:-30% auto -30% -70%;width:52%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);
  transform:skewX(-16deg);transition:left .5s;pointer-events:none;
}
.db:hover::after{left:132%}
.db:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.17);box-shadow:0 14px 38px rgba(0,0,0,.26)}
.db:active{transform:scale(.97)}
.db-icon{font-size:26px;line-height:1;margin-bottom:3px}
.db-label{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(19px,2.6vw,32px);line-height:.92;text-transform:uppercase;
}
.db-sub{font-size:9px;color:var(--muted);font-weight:700;letter-spacing:.08em;margin-top:1px}

.db.red{background:linear-gradient(145deg,rgba(212,30,56,.16),rgba(212,30,56,.04));border-color:rgba(255,63,92,.18)}
.db.red:hover{border-color:rgba(255,63,92,.4);box-shadow:0 14px 38px rgba(212,30,56,.2)}
.db.gold{background:linear-gradient(145deg,rgba(240,192,80,.13),rgba(240,192,80,.03));border-color:rgba(240,192,80,.17)}
.db.gold:hover{border-color:rgba(240,192,80,.38);box-shadow:0 14px 38px rgba(240,192,80,.16)}
.db.blue{background:linear-gradient(145deg,rgba(13,77,153,.16),rgba(13,77,153,.04));border-color:rgba(33,109,200,.18)}
.db.blue:hover{border-color:rgba(33,109,200,.4);box-shadow:0 14px 38px rgba(13,77,153,.16)}
.db.green{background:linear-gradient(145deg,rgba(46,201,122,.13),rgba(46,201,122,.03));border-color:rgba(46,201,122,.17)}
.db.green:hover{border-color:rgba(46,201,122,.4);box-shadow:0 14px 38px rgba(46,201,122,.16)}
.db.cyan{background:linear-gradient(145deg,rgba(0,212,255,.12),rgba(0,212,255,.03));border-color:rgba(0,212,255,.17)}
.db.cyan:hover{border-color:rgba(0,212,255,.4);box-shadow:0 14px 38px rgba(0,212,255,.16)}

/* ── PLAYER BAR ── */
.player-bar{
  flex-shrink:0;
  display:grid;grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;gap:12px;padding:8px 18px;
  background:linear-gradient(90deg,rgba(5,8,14,.99),rgba(9,13,24,.98));
  border-top:1px solid rgba(255,255,255,.1);
  box-shadow:0 -10px 32px rgba(0,0,0,.34);
  position:relative;z-index:10;transition:box-shadow .3s;
}
.player-bar.live{box-shadow:0 -10px 32px rgba(0,0,0,.34),0 0 28px rgba(255,63,92,.16)}
.pb-meta{min-width:0}
.pb-label{font-size:8px;font-weight:900;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:2px}
.pb-title{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(18px,3.2vw,38px);line-height:.88;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.pb-artist{font-size:11px;font-weight:800;color:#fddfa0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pb-spec{
  display:flex;align-items:flex-end;gap:3px;
  height:30px;padding:2px 7px;border-radius:9px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);
}
.pb-bar{
  width:4px;min-height:3px;border-radius:2px;
  background:linear-gradient(180deg,var(--gold),var(--red2));
  box-shadow:0 0 5px rgba(255,63,92,.22);
  animation:eq 2.4s ease-in-out infinite;
}
.pb-bar:nth-child(2n){background:linear-gradient(180deg,#9ee7ff,#2171d0)}
.pb-bar:nth-child(3n){background:linear-gradient(180deg,#9cffba,var(--green))}
body.is-playing .pb-bar{animation-duration:.72s}
.pb-play{
  width:46px;height:46px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--red),var(--red2));
  display:flex;align-items:center;justify-content:center;
  font-size:19px;color:#fff;
  box-shadow:0 5px 18px rgba(212,30,56,.36);
  transition:transform .18s,box-shadow .18s;
}
.pb-play:hover{transform:scale(1.09);box-shadow:0 8px 24px rgba(212,30,56,.52)}
.pb-play:active{transform:scale(.93)}

/* ── BRAND BAR ── */
.brand-bar{
  flex-shrink:0;height:32px;display:flex;align-items:center;overflow:hidden;
  background:linear-gradient(90deg,rgba(4,6,12,.99),rgba(7,10,18,.98));
  border-top:1px solid var(--line);
}
.bb-label{
  flex-shrink:0;padding:0 12px;height:32px;
  display:flex;align-items:center;
  background:var(--red);font-size:8px;font-weight:900;letter-spacing:.22em;
  text-transform:uppercase;white-space:nowrap;
}
.bb-track-wrap{flex:1;overflow:hidden;height:32px;display:flex;align-items:center}
.bb-track{
  display:flex;align-items:center;white-space:nowrap;
  font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  animation:ticker 60s linear infinite;
}
.bb-track span{padding:0 26px;color:rgba(255,255,255,.52)}
.bb-track strong{color:var(--gold)}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ════════════════════════════════════
   BACKDROP
════════════════════════════════════ */
.backdrop{
  position:fixed;inset:0;z-index:30;
  background:rgba(2,4,10,.8);backdrop-filter:blur(6px);
  opacity:0;pointer-events:none;transition:opacity .3s;
}
.backdrop.show{opacity:1;pointer-events:auto}

/* ════════════════════════════════════
   DRAWER BASE
════════════════════════════════════ */
.drw{
  position:fixed;z-index:40;
  background:linear-gradient(180deg,#09101e,#060a13);
  border:1px solid rgba(255,255,255,.08);
  display:flex;flex-direction:column;overflow:hidden;
  transition:transform .36s cubic-bezier(.22,.84,.3,1),opacity .3s;
}
.drw.rp{
  top:0;right:0;bottom:0;width:min(500px,100vw);
  border-left:1px solid rgba(255,255,255,.08);
  border-radius:20px 0 0 20px;
  transform:translateX(102%);opacity:0;
}
.drw.rp.open{transform:translateX(0);opacity:1}
.drw.cm{
  top:50%;left:50%;
  transform:translate(-50%,-48%) scale(.94);opacity:0;
  width:min(560px,96vw);max-height:88vh;border-radius:20px;
}
.drw.cm.open{transform:translate(-50%,-50%) scale(1);opacity:1}

.drw-hd{
  display:flex;align-items:center;gap:11px;padding:13px 16px;
  border-bottom:1px solid var(--line);flex-shrink:0;
  background:linear-gradient(90deg,rgba(212,30,56,.08),rgba(13,77,153,.05));
}
.drw-back{
  width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.07);
  display:flex;align-items:center;justify-content:center;
  font-size:19px;transition:background .16s;flex-shrink:0;
}
.drw-back:hover{background:rgba(255,255,255,.14)}
.drw-ttl{font-family:'Bebas Neue',sans-serif;font-size:24px;letter-spacing:.02em;line-height:1}
.drw-sub{font-size:9px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:2px}
.drw-body{
  flex:1;overflow-y:auto;padding:14px;
  overscroll-behavior:contain;scroll-behavior:smooth;
}
.drw-body::-webkit-scrollbar{width:3px}
.drw-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:2px}

/* ── Schedule items ── */
.sched-item{
  display:grid;grid-template-columns:68px 1fr;gap:11px;
  padding:12px 14px;border-radius:14px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  margin-bottom:7px;transition:background .18s,transform .18s;
}
.sched-item:hover{background:rgba(255,255,255,.07);transform:translateX(3px)}
.sched-item.live{border-color:rgba(46,201,122,.3);background:rgba(46,201,122,.05)}
.sched-item.nxt{border-color:rgba(33,109,200,.26);background:rgba(33,109,200,.04)}
.sched-time{font-family:'Bebas Neue',sans-serif;font-size:26px;line-height:1;color:var(--gold)}
.sched-icon{font-size:16px;margin-top:2px}
.sched-badge{
  display:inline-flex;align-items:center;gap:5px;
  height:19px;padding:0 7px;border-radius:4px;
  font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-top:5px;
}
.sched-badge.live{background:rgba(46,201,122,.16);color:#70ffa8;border:1px solid rgba(46,201,122,.26)}
.sched-badge.live::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 7px rgba(46,201,122,.8);animation:pulse 1.3s infinite}
.sched-badge.nxt{background:rgba(33,109,200,.16);color:#7ec0ff;border:1px solid rgba(33,109,200,.26)}
.sched-title{font-family:'Bebas Neue',sans-serif;font-size:20px;line-height:1;margin-bottom:3px}
.sched-desc{font-size:11px;color:rgba(255,255,255,.44);line-height:1.45}

/* ── Astro ── */
.astro-signs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px}
.sign-btn{
  padding:9px 4px;border-radius:12px;text-align:center;cursor:pointer;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  transition:background .18s,border-color .18s,transform .18s;
}
.sign-btn:hover{background:rgba(255,255,255,.09);transform:translateY(-2px)}
.sign-btn.active{background:rgba(240,192,80,.13);border-color:rgba(240,192,80,.36)}
.sign-icon{font-size:20px;display:block;margin-bottom:2px}
.sign-name{font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.astro-card{
  padding:14px;border-radius:14px;
  background:linear-gradient(145deg,rgba(240,192,80,.09),rgba(13,77,153,.06));
  border:1px solid rgba(240,192,80,.16);
}
.astro-sign-title{font-family:'Bebas Neue',sans-serif;font-size:30px;letter-spacing:.02em;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.astro-row{display:grid;grid-template-columns:26px 1fr;gap:9px;align-items:start;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.astro-row:last-of-type{border-bottom:none;padding-bottom:0}
.ar-icon{font-size:16px;padding-top:2px}
.ar-lbl{font-size:8px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:1px}
.ar-val{font-size:12px;font-weight:700;line-height:1.5;color:#e8f0ff}
.astro-ai-btn{
  width:100%;margin-top:12px;padding:10px;border-radius:12px;
  background:linear-gradient(135deg,var(--red),var(--red2));
  color:#fff;font-weight:900;font-size:11px;letter-spacing:.08em;text-align:center;
  transition:transform .18s,box-shadow .18s;
}
.astro-ai-btn:hover{transform:translateY(-1px);box-shadow:0 9px 24px rgba(212,30,56,.38)}

/* ── Top 10 ── */
.t10-prog{margin-bottom:12px}
.t10-track{height:4px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}
.t10-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--red),var(--gold));transition:width .3s}
.t10-lbl{font-size:9px;color:var(--muted);margin-top:4px;letter-spacing:.06em}
.t10-slot{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;margin-bottom:6px}
.t10-num{font-family:'Bebas Neue',sans-serif;font-size:26px;color:rgba(255,255,255,.2);line-height:1;text-align:center}
.t10-num.gold{color:var(--gold);text-shadow:0 0 10px rgba(240,192,80,.5)}
.t10-inp{
  width:100%;min-height:40px;padding:0 12px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  border-radius:10px;color:#fff;outline:none;font-size:12px;
  transition:border-color .18s,background .18s;
}
.t10-inp:focus{border-color:rgba(255,63,92,.5);background:rgba(255,63,92,.05)}
.t10-slot.podio .t10-inp{border-color:rgba(240,192,80,.22);background:rgba(240,192,80,.04)}
.t10-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:11px 0}
.t10-actions{display:flex;gap:8px;margin-top:12px}
.t10-suggest{
  width:100%;margin-top:8px;padding:10px;border-radius:12px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  color:var(--gold);font-weight:900;font-size:11px;letter-spacing:.06em;text-align:center;
  transition:background .18s;
}
.t10-suggest:hover{background:rgba(240,192,80,.08)}

/* ── News ── */
.news-item{
  padding:11px 13px;border-radius:13px;margin-bottom:7px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  cursor:pointer;transition:background .18s,transform .18s;
}
.news-item:hover{background:rgba(255,255,255,.08);transform:translateX(3px)}
.news-item-title{font-size:12px;font-weight:800;line-height:1.5;color:#e4eeff}
.news-item-date{font-size:9px;color:var(--muted);margin-top:3px;letter-spacing:.05em}

/* ── Profile ── */
.prof-avatar-big{
  width:64px;height:64px;border-radius:50%;
  background:linear-gradient(135deg,var(--red),var(--blue));
  display:flex;align-items:center;justify-content:center;
  font-size:26px;font-weight:900;color:#fff;
  border:3px solid rgba(255,255,255,.16);margin:0 auto 9px;
}
.prof-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.prof-stat{padding:9px;border-radius:12px;text-align:center;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.prof-stat strong{display:block;font-family:'Bebas Neue',sans-serif;font-size:26px;line-height:.9;color:var(--gold)}
.prof-stat span{display:block;font-size:8px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:3px}

/* ── Chat panel ── */
.chat-messages{
  flex:1;overflow-y:auto;padding:12px 11px;
  display:flex;flex-direction:column;gap:8px;scroll-behavior:smooth;
  background:
    radial-gradient(circle at 80% 10%,rgba(13,77,153,.05),transparent 50%),
    radial-gradient(circle at 20% 88%,rgba(212,30,56,.05),transparent 50%);
}
.chat-messages::-webkit-scrollbar{width:2px}
.chat-messages::-webkit-scrollbar-thumb{background:rgba(255,255,255,.09);border-radius:2px}
.chat-bubble{
  max-width:86%;padding:9px 12px;border-radius:16px;
  font-size:13px;line-height:1.56;word-break:break-word;
  animation:slideUp .2s ease;
}
.chat-bubble.bot{
  align-self:flex-start;border-bottom-left-radius:4px;
  background:linear-gradient(135deg,rgba(13,77,153,.26),rgba(11,16,30,.92));
  border:1px solid rgba(255,255,255,.09);
}
.chat-bubble.user{
  align-self:flex-end;border-bottom-right-radius:4px;
  background:linear-gradient(135deg,rgba(212,30,56,.8),rgba(175,18,35,.86));
}
.chat-btime{font-size:9px;color:rgba(255,255,255,.28);display:block;margin-top:4px;text-align:right}
.chat-typing{
  display:none;align-items:center;gap:5px;
  padding:8px 11px;border-radius:14px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
  align-self:flex-start;max-width:50px;
}
.chat-typing.show{display:flex}
.chat-typing span{
  width:5px;height:5px;border-radius:50%;
  background:rgba(255,255,255,.46);
  animation:typingDot 1s infinite ease-in-out;
}
.chat-typing span:nth-child(2){animation-delay:.15s}
.chat-typing span:nth-child(3){animation-delay:.3s}
.chat-chips{display:flex;flex-wrap:wrap;gap:6px;padding:5px 11px;flex-shrink:0}
.chat-chip{
  padding:6px 10px;border-radius:16px;font-size:11px;font-weight:800;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.11);
  color:#fff;cursor:pointer;transition:background .15s,transform .15s;white-space:nowrap;
}
.chat-chip:hover{background:rgba(255,255,255,.13);transform:translateY(-1px)}
.chat-chip.hot{background:rgba(212,30,56,.56);border-color:transparent}
.chat-input-area{
  padding:10px 11px;border-top:1px solid var(--line);
  display:flex;gap:8px;align-items:flex-end;flex-shrink:0;
  background:rgba(4,7,13,.75);
}
.chat-ta{
  flex:1;min-height:38px;max-height:90px;padding:9px 11px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.11);
  border-radius:16px;color:#fff;font-size:12px;resize:none;outline:none;line-height:1.4;
}
.chat-ta::placeholder{color:rgba(255,255,255,.26)}
.chat-send{
  width:38px;height:38px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--red),var(--red2));
  color:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 13px rgba(212,30,56,.34);
  transition:transform .15s,box-shadow .15s;
}
.chat-send:hover{transform:scale(1.09)}
.chat-send:active{transform:scale(.92)}

/* Chat FAB — pill sinistra, blu (distinto dal play rosso destra) */
.chat-fab{
  position:fixed;left:14px;
  bottom:calc(32px + 46px + 10px); /* brand-bar + player-bar + gap */
  z-index:22;
  display:flex;align-items:center;gap:8px;
  padding:0 14px 0 10px;height:42px;border-radius:999px;
  background:linear-gradient(135deg,rgba(13,77,153,.94),rgba(8,44,92,.96));
  border:1px solid rgba(33,109,200,.38);
  box-shadow:0 5px 20px rgba(13,77,153,.42),0 0 0 0 rgba(33,109,200,.28);
  font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#fff;
  animation:fabPulse 3.8s ease-in-out infinite;
  transition:transform .18s,box-shadow .18s;white-space:nowrap;
}
.chat-fab:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 8px 26px rgba(13,77,153,.56)}
.chat-fab:active{transform:scale(.96)}
.fab-icon{font-size:18px;line-height:1}
.fab-badge{
  background:var(--green);border-radius:999px;
  font-size:8px;font-weight:900;color:#03130b;
  padding:1px 5px;letter-spacing:.06em;
}
@keyframes fabPulse{
  0%,100%{box-shadow:0 5px 20px rgba(13,77,153,.42),0 0 0 0 rgba(33,109,200,.26)}
  60%{box-shadow:0 7px 24px rgba(13,77,153,.52),0 0 0 10px rgba(33,109,200,0)}
}

/* ── Sponsor spot ── */
.sponsor-spot{
  position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px;
  opacity:0;pointer-events:none;transform:scale(1.03);
  transition:opacity .34s,transform .34s;
  background:rgba(3,5,12,.93);backdrop-filter:blur(10px);
}
.sponsor-spot.show{opacity:1;pointer-events:auto;transform:scale(1)}
.sponsor-box{
  width:min(700px,92vw);padding:34px;border-radius:22px;text-align:center;
  background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.17);box-shadow:0 26px 74px rgba(0,0,0,.5);
}
.sp-lbl{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.sp-name{font-family:'Bebas Neue',sans-serif;font-size:clamp(44px,8.5vw,96px);line-height:.84;text-transform:uppercase;text-shadow:0 0 30px rgba(255,255,255,.16);margin-top:9px}
.sp-copy{margin:12px auto 0;max-width:560px;font-size:clamp(15px,2.4vw,24px);line-height:1.3;font-weight:900;color:#fff}
.sp-place{margin-top:11px;color:#dbe7ff;font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.sp-close{
  margin-top:18px;display:inline-flex;align-items:center;gap:7px;
  padding:8px 20px;border-radius:20px;border:1px solid rgba(255,255,255,.18);
  color:#fff;font-size:11px;font-weight:800;letter-spacing:.1em;cursor:pointer;
  background:rgba(255,255,255,.07);transition:background .18s;
}
.sp-close:hover{background:rgba(255,255,255,.14)}

/* ── Welcome modal ── */
.welcome{
  position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;
  background:rgba(2,4,10,.92);backdrop-filter:blur(18px);
  opacity:0;pointer-events:none;transition:opacity .36s;
}
.welcome.show{opacity:1;pointer-events:auto}
.welcome-box{
  background:linear-gradient(160deg,rgba(10,15,30,.99),rgba(6,9,17,.99));
  border:1px solid rgba(255,255,255,.11);border-radius:22px;
  padding:36px 30px;width:min(430px,calc(100vw - 22px));text-align:center;
  box-shadow:0 28px 72px rgba(0,0,0,.58);
  transform:scale(.93);transition:transform .36s cubic-bezier(.22,.84,.3,1);
}
.welcome.show .welcome-box{transform:scale(1)}
.wlc-logo{width:58px;border-radius:14px;margin:0 auto 13px}
.wlc-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(34px,7.5vw,50px);letter-spacing:.02em;margin-bottom:3px}
.wlc-sub{color:var(--muted);font-size:13px;margin-bottom:20px;line-height:1.6}
.wlc-row{display:flex;gap:8px;margin-bottom:10px}
.wlc-inp{
  flex:1;min-height:44px;padding:0 14px;border-radius:10px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.11);
  color:#fff;outline:none;font-size:13px;
}
.wlc-inp:focus{border-color:rgba(255,63,92,.5)}
.wlc-btn{
  padding:0 18px;height:44px;border-radius:10px;
  background:linear-gradient(135deg,var(--red),var(--red2));
  color:#fff;font-weight:900;font-size:12px;letter-spacing:.08em;
  box-shadow:0 7px 18px rgba(212,30,56,.32);
}
.wlc-skip{background:none;border:none;color:rgba(255,255,255,.3);font-size:11px;cursor:pointer;letter-spacing:.08em;text-decoration:underline;text-underline-offset:3px}
.wlc-skip:hover{color:rgba(255,255,255,.55)}

/* ── Generic field / btn ── */
.field{
  width:100%;min-height:42px;padding:0 13px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  border-radius:10px;color:#fff;outline:none;font-size:12px;
  transition:border-color .18s;
}
.field:focus{border-color:rgba(255,63,92,.5);background:rgba(255,63,92,.04)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:42px;padding:0 18px;border-radius:11px;
  background:linear-gradient(135deg,var(--red),var(--red2));
  color:#fff;font-weight:900;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  box-shadow:0 7px 20px rgba(212,30,56,.24);cursor:pointer;
  transition:transform .18s,box-shadow .18s;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(212,30,56,.38)}
.btn:active{transform:scale(.96)}
.btn.ghost{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.11);box-shadow:none;color:#fff}
.btn.ghost:hover{background:rgba(255,255,255,.11)}
.btn.gold{background:linear-gradient(135deg,var(--gold),#ffe7a8);color:#160e00;box-shadow:0 7px 20px rgba(240,192,80,.2)}
.btn.blue{background:linear-gradient(135deg,var(--blue),#1d69d0);box-shadow:0 7px 20px rgba(13,77,153,.24)}
.glass{padding:12px 14px;border-radius:13px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}

/* ── Toast ── */
.toast-wrap{position:fixed;right:12px;bottom:calc(32px+46px+12px);z-index:70;display:flex;flex-direction:column;gap:6px;pointer-events:none;max-width:270px}
.cult-toast{
  padding:10px 13px;border-radius:13px;
  background:linear-gradient(135deg,rgba(212,30,56,.9),rgba(9,12,22,.96));
  border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 34px rgba(0,0,0,.32);
  font-weight:850;font-size:12px;line-height:1.45;
  transform:translateY(8px);opacity:0;animation:toastIn 4.5s ease forwards;
}
.cult-toast strong{display:block;color:var(--gold);letter-spacing:.08em;text-transform:uppercase;font-size:8px;margin-bottom:2px}

/* ── Animations ── */
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}
@keyframes eq{0%,100%{transform:scaleY(.28);opacity:.46}50%{transform:scaleY(1.18);opacity:1}}
@keyframes breathe{
  0%,100%{box-shadow:0 0 0 1px rgba(255,63,92,.14),0 12px 32px rgba(212,30,56,.36),0 0 44px rgba(255,56,88,.1)}
  50%{box-shadow:0 0 0 1px rgba(255,63,92,.2),0 16px 42px rgba(212,30,56,.5),0 0 62px rgba(255,56,88,.22)}
}
@keyframes slideUp{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes typingDot{0%,100%{transform:translateY(0);opacity:.36}50%{transform:translateY(-4px);opacity:1}}
@keyframes toastIn{0%{transform:translateY(8px);opacity:0}10%,80%{transform:translateY(0);opacity:1}100%{transform:translateY(-6px);opacity:0}}

/* ── Responsive ── */
@media(max-width:640px){
  .hdr{gap:7px;padding:7px 11px}
  .orb-time{font-size:26px}
  .orb-date{display:none}
  .hdr-sub{display:none}
  .dash{grid-template-columns:1fr;grid-template-rows:auto repeat(5,minmax(48px,auto));gap:7px;padding:7px}
  .now-card{grid-column:1;grid-row:1}
  .db{grid-column:1}
  .viz{height:32px}
  .play-btn{height:46px;font-size:14px;padding:0 20px}
  .player-bar{padding:7px 11px;gap:8px}
  .pb-spec{display:none}
  .brand-bar{display:none}
  .chat-fab{bottom:calc(46px+10px);left:9px;height:38px;padding:0 11px 0 8px;font-size:10px}
  .drw.rp{width:100vw;border-radius:18px 18px 0 0;bottom:0;top:auto;right:0;left:0;height:88vh;transform:translateY(104%)}
  .drw.rp.open{transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
  
/* ═══════════════════════════════════════════════
   CULT ON AIR — RADICAL SPA DASHBOARD RESTYLE
   Dark Mode · Neon · Glassmorphism
   Patch finale: solo UI/HTML, logiche JS/API preservate
═══════════════════════════════════════════════ */
:root{
  --space-bg:#070a12;
  --space-bg2:#0b1020;
  --glass:rgba(255,255,255,.055);
  --glass-strong:rgba(255,255,255,.085);
  --glass-line:rgba(255,255,255,.14);
  --neon-cyan:#00f2ff;
  --neon-pink:#ff1b8d;
  --neon-violet:#7b2cff;
  --neon-lime:#b9ff3d;
}
html,body{
  width:100%;
  height:100%;
  min-height:100%;
  max-height:100%;
  overflow:hidden!important;
  background:var(--space-bg)!important;
}
body{
  background:
    radial-gradient(circle at 14% 18%,rgba(255,27,141,.22),transparent 36%),
    radial-gradient(circle at 82% 14%,rgba(0,242,255,.16),transparent 34%),
    radial-gradient(circle at 50% 110%,rgba(123,44,255,.18),transparent 42%),
    linear-gradient(180deg,#03050b 0%,#070a12 48%,#040711 100%)!important;
}
body::before{
  opacity:1!important;
  background:
    conic-gradient(from 210deg at 50% 50%,transparent 0deg,rgba(0,242,255,.055) 70deg,transparent 136deg,rgba(255,27,141,.06) 225deg,transparent 330deg),
    radial-gradient(circle at 50% 40%,rgba(255,255,255,.035),transparent 55%)!important;
  animation:spaceBreath 14s ease-in-out infinite alternate!important;
}
body::after{
  opacity:.13!important;
  background:
    linear-gradient(rgba(0,242,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,27,141,.035) 1px,transparent 1px)!important;
  background-size:78px 78px!important;
}
@keyframes spaceBreath{
  from{filter:hue-rotate(0deg) saturate(1);transform:scale(1)}
  to{filter:hue-rotate(-16deg) saturate(1.18);transform:scale(1.055)}
}
#clubParticles{opacity:.70!important;mix-blend-mode:screen}

#app{
  height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:82px 30px minmax(0,1fr) 34px!important;
  gap:0!important;
}
.hdr{
  height:82px!important;
  padding:10px 22px!important;
  display:grid!important;
  grid-template-columns:minmax(210px,auto) 1fr minmax(230px,auto) minmax(135px,auto)!important;
  align-items:center!important;
  background:linear-gradient(90deg,rgba(7,10,18,.82),rgba(8,14,30,.62),rgba(7,10,18,.82))!important;
  border-bottom:1px solid rgba(0,242,255,.18)!important;
  box-shadow:0 14px 44px rgba(0,0,0,.36),0 0 42px rgba(0,242,255,.075)!important;
  backdrop-filter:blur(18px)!important;
}
.hdr-logo{
  width:48px!important;height:48px!important;
  border-radius:15px!important;
  box-shadow:0 0 24px rgba(255,27,141,.50),0 0 46px rgba(0,242,255,.20)!important;
}
.hdr-name{font-size:31px!important;text-shadow:0 0 24px rgba(255,255,255,.13),0 0 26px rgba(255,27,141,.22)!important}
.hdr-sub{color:rgba(207,231,255,.72)!important;font-weight:900!important}

.hdr-clock{text-align:center!important;justify-self:center!important}
.orb-time{
  font-family:'Orbitron',sans-serif!important;
  font-size:clamp(44px,5.8vw,76px)!important;
  color:#c8fbff!important;
  letter-spacing:.045em!important;
  text-shadow:
    0 0 8px rgba(255,255,255,.95),
    0 0 18px rgba(0,242,255,.90),
    0 0 42px rgba(0,242,255,.62),
    0 0 82px rgba(0,242,255,.32),
    0 0 118px rgba(255,27,141,.18)!important;
}
.orb-date{color:rgba(186,219,255,.78)!important;font-weight:900!important}

.hdr-context{
  min-width:245px!important;
  max-width:360px!important;
  padding:10px 13px!important;
  background:rgba(255,255,255,.075)!important;
  border:1px solid rgba(0,242,255,.20)!important;
  border-radius:17px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 26px rgba(0,242,255,.08)!important;
  backdrop-filter:blur(14px)!important;
}
.hdr-weather{
  font-size:12px!important;
  color:#f4fbff!important;
  text-shadow:0 0 12px rgba(0,242,255,.28)!important;
}
.hdr-almanac{
  font-size:9.5px!important;
  color:rgba(218,231,255,.82)!important;
}
.user-name{font-size:13px!important;color:#fff!important}
.user-sign{font-size:11px!important;color:#ffe58e!important}
.user-avatar{
  width:42px!important;height:42px!important;
  box-shadow:0 0 24px rgba(255,27,141,.35),0 0 34px rgba(0,242,255,.18)!important;
}

.almanac-strip{
  height:30px!important;
  background:rgba(5,8,16,.78)!important;
  border-bottom:1px solid rgba(0,242,255,.14)!important;
  backdrop-filter:blur(12px)!important;
}
.almanac-lbl{
  background:linear-gradient(135deg,rgba(255,27,141,.70),rgba(123,44,255,.48))!important;
  color:#fff!important;
  font-size:9px!important;
}
.almanac-text{
  color:rgba(234,244,255,.82)!important;
  font-size:12px!important;
  text-shadow:0 0 10px rgba(0,0,0,.40)!important;
}

.dash{
  min-height:0!important;
  height:100%!important;
  padding:14px!important;
  gap:14px!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:minmax(430px,1.15fr) minmax(340px,.85fr)!important;
  grid-template-rows:repeat(5,minmax(0,1fr))!important;
}
.now-card{
  grid-column:1!important;
  grid-row:1/6!important;
  min-height:0!important;
  padding:22px!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 28% 16%,rgba(255,27,141,.30),transparent 38%),
    radial-gradient(circle at 88% 82%,rgba(0,242,255,.22),transparent 42%),
    linear-gradient(155deg,rgba(255,255,255,.070),rgba(255,255,255,.022))!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.38),0 0 78px rgba(255,27,141,.14),0 0 110px rgba(0,242,255,.08),inset 0 1px 0 rgba(255,255,255,.12)!important;
  backdrop-filter:blur(20px)!important;
}
.live-badge{
  background:rgba(255,27,141,.19)!important;
  border-color:rgba(255,27,141,.45)!important;
}
.now-program{font-size:11px!important;color:#ffe58e!important}
.now-title{
  font-size:clamp(42px,5.2vw,78px)!important;
  line-height:.86!important;
  letter-spacing:.018em!important;
  text-shadow:0 0 20px rgba(255,255,255,.18),0 0 60px rgba(255,27,141,.22)!important;
}
.now-artist{font-size:clamp(18px,2vw,26px)!important;color:#fff0ad!important}
.now-next{font-size:13px!important;color:rgba(218,232,255,.72)!important}
.viz{height:clamp(52px,8vh,92px)!important;margin:12px 0!important}
.vbar{
  background:linear-gradient(180deg,#fff 0%,var(--neon-cyan) 38%,var(--neon-pink) 100%)!important;
  box-shadow:0 0 12px rgba(0,242,255,.60),0 0 22px rgba(255,27,141,.42)!important;
  border-radius:999px 999px 4px 4px!important;
}
.prog-spot{
  background:rgba(255,255,255,.07)!important;
  border:1px solid rgba(0,242,255,.16)!important;
  border-radius:18px!important;
  padding:12px 14px!important;
  backdrop-filter:blur(12px)!important;
}
.play-wrap{margin-top:auto!important}
.play-btn{
  height:58px!important;
  padding:0 30px!important;
  border-radius:18px!important;
  font-size:17px!important;
  background:linear-gradient(135deg,var(--neon-pink),var(--neon-violet) 52%,var(--neon-cyan))!important;
  box-shadow:0 0 30px rgba(255,27,141,.40),0 0 54px rgba(0,242,255,.20),0 18px 42px rgba(0,0,0,.34)!important;
}

.sponsor-banner{
  flex-shrink:0!important;
  position:relative!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:14px!important;
  margin-top:12px!important;
  padding:13px 15px!important;
  min-height:82px!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 12% 20%,rgba(255,27,141,.32),transparent 48%),
    radial-gradient(circle at 90% 86%,rgba(0,242,255,.25),transparent 48%),
    linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.032))!important;
  border:1px solid rgba(0,242,255,.22)!important;
  box-shadow:0 14px 40px rgba(0,0,0,.27),0 0 38px rgba(0,242,255,.10),inset 0 1px 0 rgba(255,255,255,.13)!important;
  backdrop-filter:blur(14px)!important;
}
.sponsor-banner::after{
  content:'';position:absolute;inset:-40% auto -40% -65%;width:44%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
  transform:skewX(-18deg);animation:sponsorBeam 6s ease-in-out infinite;pointer-events:none;
}
@keyframes sponsorBeam{0%{left:-65%;opacity:0}18%{opacity:.85}54%{left:130%;opacity:0}100%{left:130%;opacity:0}}
.spb-badge{
  z-index:1;align-self:start;
  padding:6px 10px;border-radius:999px;
  background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.14);
  color:#ffe58e;font-size:9px;font-weight:950;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;
}
.spb-meta{z-index:1;min-width:0}
.spb-name{
  font-family:'Bebas Neue',sans-serif;font-size:clamp(28px,3vw,42px);line-height:.88;
  color:#fff;letter-spacing:.025em;text-transform:uppercase;text-shadow:0 0 22px rgba(255,27,141,.26),0 0 28px rgba(0,242,255,.16);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.spb-copy{font-size:12px;font-weight:850;color:#eef7ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}
.spb-place{font-size:9px;font-weight:950;letter-spacing:.13em;text-transform:uppercase;color:#c8fbff;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spb-adv{z-index:1;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.16);font-size:9px;font-weight:950;color:#fff}

.db{
  grid-column:2!important;
  min-height:0!important;
  height:100%!important;
  padding:16px 18px!important;
  display:grid!important;
  grid-template-columns:68px 1fr!important;
  grid-template-rows:auto auto!important;
  column-gap:15px!important;
  align-content:center!important;
  align-items:center!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 18% 18%,var(--panel-a,rgba(0,242,255,.16)),transparent 44%),
    radial-gradient(circle at 86% 86%,var(--panel-b,rgba(255,27,141,.15)),transparent 48%),
    linear-gradient(135deg,rgba(255,255,255,.090),rgba(255,255,255,.025))!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 16px 40px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.12)!important;
  backdrop-filter:blur(18px)!important;
}
.db.red{--panel-a:rgba(255,27,141,.30);--panel-b:rgba(0,242,255,.14)}
.db.gold{--panel-a:rgba(255,224,125,.26);--panel-b:rgba(255,27,141,.15)}
.db.blue{--panel-a:rgba(0,242,255,.26);--panel-b:rgba(123,44,255,.18)}
.db.green{--panel-a:rgba(185,255,61,.22);--panel-b:rgba(0,242,255,.14)}
.db.cyan{--panel-a:rgba(0,242,255,.28);--panel-b:rgba(255,27,141,.16)}
.db:hover{
  transform:translateY(-6px) scale(1.025)!important;
  border-color:rgba(0,242,255,.38)!important;
  box-shadow:0 0 28px rgba(0,242,255,.18),0 0 42px rgba(255,27,141,.15),0 22px 48px rgba(0,0,0,.32)!important;
}
.db-icon{
  grid-row:1/3!important;
  width:58px!important;height:58px!important;
  display:grid!important;place-items:center!important;
  border-radius:18px!important;
  font-size:31px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.055))!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 10px 26px rgba(0,0,0,.26),0 0 24px rgba(0,242,255,.12)!important;
  filter:none!important;
}
.db-label{
  font-family:'Orbitron',sans-serif!important;
  font-size:clamp(17px,1.7vw,24px)!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  color:#fff!important;
  text-shadow:0 0 16px rgba(0,242,255,.16)!important;
}
.db-sub{
  font-size:11px!important;
  font-weight:800!important;
  color:rgba(225,240,255,.70)!important;
  letter-spacing:.04em!important;
}
.db::after{
  right:14px!important;bottom:-18px!important;
  opacity:.11!important;
  font-size:clamp(50px,5.8vw,88px)!important;
}
.db.is-hidden{display:none!important}

.drw{
  background:linear-gradient(180deg,rgba(9,13,28,.96),rgba(4,7,16,.98))!important;
  border-color:rgba(0,242,255,.22)!important;
  box-shadow:0 0 90px rgba(0,242,255,.14),0 0 80px rgba(255,27,141,.10)!important;
  backdrop-filter:blur(20px)!important;
}
.drw.rp{width:min(560px,100vw)!important}
.drw-hd{
  background:linear-gradient(90deg,rgba(255,27,141,.18),rgba(0,242,255,.10))!important;
}
.sched-item,.news-item,.astro-card,.glass{
  background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  backdrop-filter:blur(12px)!important;
}
.t10-inp,.field,.chat-ta{
  background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(255,255,255,.13)!important;
}
.t10-inp:focus,.field:focus,.chat-ta:focus{
  border-color:rgba(0,242,255,.55)!important;
  box-shadow:0 0 0 3px rgba(0,242,255,.10),0 0 24px rgba(0,242,255,.14)!important;
}

.player-bar{
  display:none!important;
}
.brand-bar{
  height:34px!important;
  grid-row:4!important;
  background:rgba(5,8,16,.86)!important;
  border-top:1px solid rgba(0,242,255,.18)!important;
  backdrop-filter:blur(12px)!important;
}
.bb-label{
  background:linear-gradient(135deg,var(--neon-pink),var(--neon-violet))!important;
  color:#fff!important;
}
.bb-track{
  animation-duration:90s!important;
  font-size:10px!important;
}
.bb-track span{color:rgba(236,246,255,.76)!important}

.sponsor-spot{
  background:rgba(2,4,12,.90)!important;
  backdrop-filter:blur(20px)!important;
}
.sponsor-box{
  background:
    radial-gradient(circle at 18% 5%,rgba(255,27,141,.32),transparent 48%),
    radial-gradient(circle at 88% 92%,rgba(0,242,255,.28),transparent 50%),
    linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.030))!important;
  border:1px solid rgba(0,242,255,.26)!important;
  box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 110px rgba(0,242,255,.16),0 0 90px rgba(255,27,141,.18)!important;
}

@media(max-width:900px){
  #app{grid-template-rows:78px 30px minmax(0,1fr) 0px!important}
  .hdr{grid-template-columns:auto 1fr auto!important;padding:8px 12px!important}
  .hdr-context{display:none!important}
  .user-info{display:none!important}
  .orb-time{font-size:clamp(28px,9vw,46px)!important}
  .dash{
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(250px,1.35fr) repeat(5,minmax(70px,.5fr))!important;
    gap:9px!important;padding:9px!important;
  }
  .now-card{grid-column:1!important;grid-row:1!important;padding:15px!important;border-radius:22px!important}
  .now-title{font-size:clamp(34px,12vw,52px)!important}
  .db{grid-column:1!important;grid-template-columns:56px 1fr!important;border-radius:18px!important;padding:11px 13px!important}
  .db-icon{width:48px!important;height:48px!important;font-size:25px!important}
  .db-label{font-size:18px!important}
  .brand-bar{display:none!important}
  .sponsor-banner{min-height:70px!important;padding:10px 12px!important}
  .spb-badge{display:none!important}
  .spb-name{font-size:28px!important}
}



/* ═══════════════════════════════════════════════
   FIX MIRATO HEADER ORA/DATA + TICKER NEWS BASSO
   Solo disposizione UI: logiche/API intatte
═══════════════════════════════════════════════ */
#app{
  grid-template-rows:82px 30px minmax(0,1fr) 30px 34px!important;
}
.hdr-clock.clock-clean{
  width:min(470px,42vw)!important;
  justify-self:center!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  padding:7px 16px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.035)!important;
  border:1px solid rgba(0,242,255,.13)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 28px rgba(0,242,255,.07)!important;
  backdrop-filter:blur(10px)!important;
  overflow:hidden!important;
}
.clock-line{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  width:100%!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.clock-prefix{
  font-family:'Inter',sans-serif!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  color:rgba(255,255,255,.52)!important;
}
.clock-clean .orb-date{
  margin:0!important;
  font-family:'Inter',sans-serif!important;
  font-size:12px!important;
  font-weight:950!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
  color:rgba(226,243,255,.86)!important;
  text-shadow:0 0 12px rgba(0,242,255,.16)!important;
}
.clock-clean .orb-time{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  font-family:'Orbitron',sans-serif!important;
  font-size:clamp(18px,2.25vw,28px)!important;
  line-height:1!important;
  letter-spacing:.075em!important;
  color:#d5fcff!important;
  text-shadow:
    0 0 6px rgba(255,255,255,.70),
    0 0 14px rgba(0,242,255,.62),
    0 0 28px rgba(0,242,255,.28)!important;
}
.clock-clean .orb-colon,
.clock-clean .led-colon{
  display:inline-block!important;
  animation:colonBlink 1s step-end infinite!important;
}
.news-ticker{
  grid-row:4!important;
  min-height:30px!important;
  height:30px!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  background:linear-gradient(90deg,rgba(3,6,14,.97),rgba(8,13,27,.93),rgba(3,6,14,.97))!important;
  border-top:1px solid rgba(0,242,255,.15)!important;
  border-bottom:1px solid rgba(255,255,255,.055)!important;
  box-shadow:0 -8px 26px rgba(0,0,0,.25),0 0 24px rgba(0,242,255,.055)!important;
  backdrop-filter:blur(12px)!important;
  z-index:11!important;
}
.news-ticker-label{
  flex-shrink:0!important;
  height:30px!important;
  display:flex!important;
  align-items:center!important;
  padding:0 12px!important;
  font-size:8px!important;
  font-weight:950!important;
  letter-spacing:.20em!important;
  text-transform:uppercase!important;
  color:#fff!important;
  background:linear-gradient(135deg,#ff003d,#ff1b8d 58%,#7b2cff)!important;
  box-shadow:0 0 18px rgba(255,27,141,.30)!important;
}
.news-ticker-viewport{
  flex:1!important;
  min-width:0!important;
  overflow:hidden!important;
  height:30px!important;
  display:flex!important;
  align-items:center!important;
}
.news-ticker-track{
  display:inline-flex!important;
  align-items:center!important;
  white-space:nowrap!important;
  will-change:transform!important;
  animation:newsTickerMove 92s linear infinite!important;
  font-size:10px!important;
  font-weight:850!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}
.news-ticker-track span{
  display:inline-flex!important;
  align-items:center!important;
  padding:0 32px!important;
  color:rgba(236,246,255,.78)!important;
}
.news-ticker-track span::before{
  content:'•'!important;
  margin-right:16px!important;
  color:var(--neon-cyan,#00f2ff)!important;
  text-shadow:0 0 12px rgba(0,242,255,.9)!important;
}
@keyframes newsTickerMove{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.brand-bar{
  grid-row:5!important;
}
@media(max-width:900px){
  #app{grid-template-rows:78px 30px minmax(0,1fr) 30px 0px!important}
  .hdr-clock.clock-clean{width:min(300px,54vw)!important;padding:6px 8px!important;gap:3px!important;border-radius:14px!important}
  .clock-line{gap:5px!important}
  .clock-prefix{font-size:7px!important;letter-spacing:.11em!important}
  .clock-clean .orb-date{font-size:8px!important;letter-spacing:.06em!important;max-width:190px!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .clock-clean .orb-time{font-size:clamp(16px,5vw,23px)!important;letter-spacing:.04em!important}
  .news-ticker{display:flex!important;height:30px!important;min-height:30px!important}
  .news-ticker-label{font-size:7px!important;padding:0 9px!important}
  .news-ticker-track{font-size:9px!important;animation-duration:72s!important}
  .news-ticker-track span{padding:0 22px!important}
  .brand-bar{display:none!important}
}



/* ═══════════════════════════════════════════════
   FINAL POLISH — HEADER / PLAYER / NEWS / PARTNER / METEO
   Solo disposizione UI + volume: logiche/API intatte
═══════════════════════════════════════════════ */
#app{
  grid-template-rows:86px 30px minmax(0,1fr) 32px 38px!important;
}
.hdr{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:10px 18px!important;
}
.hdr-brand{
  flex:0 0 285px!important;
  justify-content:flex-start!important;
  min-width:0!important;
}
.hdr-user{
  flex:0 0 285px!important;
  justify-content:flex-end!important;
  min-width:0!important;
}
.hdr-clock.clock-clean{
  flex:0 1 560px!important;
  width:auto!important;
  max-width:560px!important;
  margin:0 auto!important;
  padding:8px 20px!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(0,242,255,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 0 32px rgba(0,242,255,.08)!important;
}
.clock-line{gap:10px!important}
.clock-prefix{
  font-size:11px!important;
  letter-spacing:.16em!important;
  color:rgba(224,240,255,.62)!important;
}
.clock-clean .orb-date{
  font-size:clamp(12px,1.15vw,16px)!important;
  color:rgba(238,246,255,.90)!important;
}
.clock-clean .orb-time{
  font-size:clamp(16px,1.5vw,22px)!important;
  color:#d5fcff!important;
  text-shadow:0 0 7px rgba(255,255,255,.62),0 0 15px rgba(0,242,255,.56),0 0 31px rgba(0,242,255,.24)!important;
}
.meta-player-controls{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  margin:10px 0 12px;padding:10px 12px;border-radius:18px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(0,242,255,.15);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 0 28px rgba(0,242,255,.06);
  backdrop-filter:blur(12px);
}
.meta-play-btn{
  min-width:124px;height:44px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:linear-gradient(135deg,var(--ibiza-pink,#ff007a),var(--ibiza-violet,#7b2cff) 52%,var(--ibiza-cyan,#00e5ff));
  color:#fff;font-size:13px;font-weight:950;letter-spacing:.14em;text-transform:uppercase;
  box-shadow:0 0 22px rgba(255,0,122,.34),0 0 36px rgba(0,229,255,.18);
}
.meta-volume{
  flex:1;min-width:160px;display:flex;align-items:center;gap:10px;color:rgba(232,246,255,.78);
  font-size:10px;font-weight:950;letter-spacing:.18em;text-transform:uppercase;
}
.meta-volume input{width:100%;accent-color:var(--ibiza-cyan,#00e5ff)}
.play-wrap,.play-btn,.play-sub{display:none!important}
.player-bar{display:none!important}
.weather-row{
  margin-top:6px!important;padding:9px 12px!important;border-radius:16px!important;
  background:rgba(255,255,255,.055)!important;border:1px solid rgba(0,242,255,.13)!important;
}
.weather-txt{font-size:12px!important;color:#eefaff!important;text-shadow:0 0 10px rgba(0,242,255,.18)!important}
.news-ticker{grid-row:4!important;position:relative!important;bottom:auto!important;z-index:15!important}
.news-ticker-label{min-width:118px!important;justify-content:center!important}
.brand-bar.partner-static{
  grid-row:5!important;
  height:38px!important;min-height:38px!important;
  display:flex!important;align-items:center!important;
  background:linear-gradient(90deg,rgba(2,3,10,.98),rgba(8,8,28,.94),rgba(2,3,10,.98))!important;
  border-top:1px solid rgba(255,255,255,.055)!important;
}
.partner-static .bb-label{
  height:38px!important;
  background:linear-gradient(135deg,#ff007a,#7b2cff)!important;
}
.partner-static .bb-track-wrap{height:38px!important}
.partner-static .bb-track.partner-row{
  width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:34px!important;
  animation:none!important;transform:none!important;
  font-size:10px!important;letter-spacing:.12em!important;text-transform:uppercase!important;
}
.partner-static .bb-track.partner-row span{
  padding:0!important;color:rgba(238,246,255,.74)!important;white-space:nowrap!important;
}
.partner-static .bb-track.partner-row strong{color:#ffe8a3!important}
@media(max-width:900px){
  #app{grid-template-rows:76px 28px minmax(0,1fr) 30px 34px!important}
  .hdr{gap:8px!important;padding:8px 10px!important}
  .hdr-brand{flex:0 0 auto!important;max-width:130px!important}
  .hdr-name{font-size:23px!important}
  .hdr-logo{width:36px!important;height:36px!important}
  .hdr-user{flex:0 0 auto!important}
  .user-info{display:none!important}
  .hdr-clock.clock-clean{max-width:48vw!important;padding:6px 8px!important;border-radius:14px!important}
  .clock-prefix{font-size:7px!important;letter-spacing:.08em!important}
  .clock-clean .orb-date{font-size:8px!important;max-width:150px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .clock-clean .orb-time{font-size:15px!important}
  .meta-player-controls{gap:8px;padding:8px 10px!important}
  .meta-play-btn{min-width:100px;height:38px;font-size:11px}
  .meta-volume{min-width:120px;font-size:8px}
  .partner-static .bb-track.partner-row{gap:14px!important;font-size:8px!important;justify-content:flex-start!important;overflow:hidden!important;padding-left:12px!important}
}



/* Palinsesto con immagini ufficiali programma */
.sched-visual-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:10px 2px 18px;
}
.sched-visual-card{
  display:block;
  padding:0;
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(0,229,255,.16);
  background:rgba(255,255,255,.045);
  box-shadow:0 14px 38px rgba(0,0,0,.28);
  transform:none;
}
.sched-visual-card:hover{
  transform:translateY(-3px);
  border-color:rgba(0,229,255,.38);
  box-shadow:0 18px 48px rgba(0,0,0,.36),0 0 28px rgba(0,229,255,.12);
}
.sched-cover{position:relative;aspect-ratio:496/750;background:#050914;overflow:hidden}
.sched-cover img{width:100%;height:100%;object-fit:cover;display:block}
.sched-cover::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(2,4,12,.72) 100%);
  pointer-events:none;
}
.sched-live-ribbon,.sched-next-ribbon{
  position:absolute;left:10px;top:10px;z-index:2;
  padding:5px 8px;border-radius:999px;font-size:8px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);
}
.sched-live-ribbon{background:rgba(46,201,122,.26);color:#b7ffd2;box-shadow:0 0 18px rgba(46,201,122,.28)}
.sched-next-ribbon{background:rgba(0,229,255,.18);color:#c8fbff;box-shadow:0 0 18px rgba(0,229,255,.22)}
.sched-caption{padding:10px 11px 12px}
.sched-caption-top{font-size:9px;font-weight:950;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}
.sched-caption-title{font-family:'Bebas Neue',sans-serif;font-size:25px;line-height:.95;margin-top:3px;color:#fff}
.sched-caption-desc{font-size:11px;line-height:1.35;margin-top:5px;color:rgba(238,246,255,.72)}
.sched-text-card{grid-column:1/-1;display:grid;grid-template-columns:68px 1fr;gap:11px;padding:12px 14px}
@media(max-width:640px){
  .sched-visual-grid{grid-template-columns:1fr;gap:10px}
  .sched-caption-title{font-size:28px}
}



/* ═══════════════════════════════════════════════
   FIX FINALE — METEO IN HEADER + NO DOPPIONE PARTNER
   Solo UI: stream, metadata, ANSA, sponsor e chat invariati
═══════════════════════════════════════════════ */
#app{grid-template-rows:86px 30px minmax(0,1fr) 32px!important;}
.brand-bar.partner-static{display:none!important;}
.news-ticker{grid-row:4!important;}
.hdr-clock.clock-clean{
  width:min(650px,50vw)!important;
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) minmax(190px,auto)!important;
  grid-template-areas:"date weather" "time weather"!important;
  column-gap:16px!important;
  row-gap:3px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px 14px!important;
}
.clock-date-line{grid-area:date!important;}
.clock-time-line{grid-area:time!important;}
.header-weather-widget{
  grid-area:weather!important;
  position:relative!important;
  min-width:190px!important;
  max-width:260px!important;
  padding:8px 10px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,rgba(0,242,255,.12),rgba(255,255,255,.045))!important;
  border:1px solid rgba(0,242,255,.22)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 0 24px rgba(0,242,255,.10)!important;
  backdrop-filter:blur(14px)!important;
  text-align:left!important;
}
.header-weather-kicker{
  font-size:7px!important;
  font-weight:950!important;
  letter-spacing:.20em!important;
  text-transform:uppercase!important;
  color:#ffe88e!important;
  margin-bottom:3px!important;
}
.header-weather-line{
  font-size:10.5px!important;
  line-height:1.25!important;
  font-weight:900!important;
  color:#f2fbff!important;
  text-shadow:0 0 10px rgba(0,242,255,.22)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.header-weather-change{
  margin-top:5px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:20px!important;
  padding:0 8px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.075)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  color:rgba(255,255,255,.78)!important;
  font-size:8px!important;
  font-weight:950!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.header-weather-change:hover{background:rgba(0,242,255,.13)!important;color:#fff!important;}
.header-weather-city-row{
  display:none;
  position:absolute!important;
  right:0!important;
  top:calc(100% + 8px)!important;
  z-index:80!important;
  width:min(300px,70vw)!important;
  padding:8px!important;
  border-radius:14px!important;
  background:rgba(5,8,18,.96)!important;
  border:1px solid rgba(0,242,255,.22)!important;
  box-shadow:0 18px 45px rgba(0,0,0,.45),0 0 28px rgba(0,242,255,.12)!important;
  backdrop-filter:blur(14px)!important;
  gap:7px!important;
}
.header-weather-city-row.open{display:flex!important;}
.header-weather-input{
  min-width:0!important;
  flex:1!important;
  height:34px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  background:rgba(255,255,255,.07)!important;
  color:#fff!important;
  outline:none!important;
  padding:0 12px!important;
  font-size:12px!important;
}
.header-weather-input:focus{border-color:rgba(0,242,255,.48)!important;box-shadow:0 0 0 3px rgba(0,242,255,.10)!important;}
.header-weather-ok{
  height:34px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#ff1b8d,#00f2ff)!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:950!important;
}
.now-card .weather-row,.now-card .weather-city-row{display:none!important;}
.sponsor-banner{
  min-height:92px!important;
  padding:16px 18px!important;
  border-color:rgba(0,242,255,.28)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.28),0 0 38px rgba(0,242,255,.12),inset 0 1px 0 rgba(255,255,255,.12)!important;
}
.spb-name{
  font-size:clamp(34px,3vw,48px)!important;
  letter-spacing:.03em!important;
  text-shadow:0 0 20px rgba(255,27,141,.32),0 0 34px rgba(0,242,255,.18)!important;
}
.spb-copy{font-size:13px!important;color:#fff!important;font-weight:900!important;}
.spb-place{font-size:10px!important;color:#ffe88e!important;font-weight:950!important;}
@media(max-width:900px){
  #app{grid-template-rows:92px 30px minmax(0,1fr) 30px!important;}
  .hdr-clock.clock-clean{
    width:min(520px,58vw)!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"date" "time" "weather"!important;
    row-gap:4px!important;
    padding:6px 8px!important;
  }
  .header-weather-widget{max-width:100%!important;min-width:0!important;width:100%!important;padding:6px 8px!important;}
  .header-weather-kicker{display:none!important;}
  .header-weather-line{font-size:9px!important;}
  .header-weather-change{min-height:18px!important;font-size:7px!important;margin-top:3px!important;}
  .sponsor-banner{min-height:76px!important;padding:11px 12px!important;}
  .spb-name{font-size:30px!important;}
}



/* ═══════════════════════════════════════════════
   CULT ON AIR — RTL/RDS INSPIRED HYBRID PATCH
   Layout radio/editoriale, dark premium, no JS touch
═══════════════════════════════════════════════ */
:root{
  --rtl-red:#ef3824;
  --rtl-blue:#0f4f9b;
  --rtl-navy:#1d2354;
  --cult-panel:rgba(255,255,255,.055);
  --cult-glass-border:rgba(255,255,255,.14);
}
html,body{height:100%!important;width:100%!important;overflow:hidden!important;background:#060914!important;}
body{
  background:
    radial-gradient(circle at 12% 5%,rgba(239,56,36,.18),transparent 32%),
    radial-gradient(circle at 88% 16%,rgba(15,79,155,.24),transparent 38%),
    radial-gradient(circle at 50% 110%,rgba(0,229,255,.12),transparent 44%),
    linear-gradient(180deg,#040713 0%,#081122 55%,#040713 100%)!important;
}
body::before{opacity:.95!important;filter:saturate(1.05)!important;}
#clubParticles{opacity:.34!important;}
#app{
  display:grid!important;
  grid-template-rows:86px 32px minmax(0,1fr) 34px 38px!important;
  height:100vh!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,0))!important;
}
.hdr{
  height:86px!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(240px,1fr) minmax(410px,760px) minmax(240px,1fr)!important;
  align-items:center!important;
  gap:22px!important;
  padding:0 24px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025))!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 12px 40px rgba(0,0,0,.38), inset 0 -1px 0 rgba(0,229,255,.12)!important;
  backdrop-filter:blur(18px)!important;
  position:relative!important;
}
.hdr::before{
  content:""!important;position:absolute!important;left:0!important;top:0!important;width:100%!important;height:4px!important;
  background:linear-gradient(90deg,var(--rtl-red),#ff007a,var(--rtl-blue),#00e5ff)!important;
  opacity:.95!important;
}
.hdr-brand{justify-self:start!important;gap:12px!important;min-width:0!important;}
.hdr-logo{width:54px!important;height:54px!important;border-radius:10px!important;box-shadow:0 0 0 2px rgba(255,255,255,.10),0 0 24px rgba(239,56,36,.28)!important;}
.hdr-name{font-family:'Bebas Neue','Inter',sans-serif!important;font-size:34px!important;letter-spacing:.05em!important;line-height:.9!important;text-transform:uppercase!important;color:#fff!important;}
.hdr-sub{font-size:9px!important;letter-spacing:.28em!important;color:rgba(255,255,255,.52)!important;}
.hdr-clock.clock-clean{
  justify-self:center!important;
  width:min(760px,54vw)!important;
  min-width:390px!important;
  display:grid!important;
  grid-template-columns:1fr auto!important;
  grid-template-areas:"date weather" "time weather"!important;
  column-gap:20px!important;row-gap:4px!important;
  align-items:center!important;
  padding:12px 18px!important;
  border-radius:0 20px 0 20px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.022))!important;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:0 8px 26px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.10),0 0 32px rgba(0,229,255,.08)!important;
  position:relative!important;overflow:hidden!important;
}
.hdr-clock.clock-clean::before{
  content:""!important;position:absolute!important;inset:0 auto 0 -28px!important;width:58px!important;
  background:linear-gradient(135deg,var(--rtl-red),#ff007a)!important;transform:skewX(-12deg)!important;opacity:.72!important;
}
.clock-date-line{grid-area:date!important;justify-content:center!important;text-align:center!important;z-index:2!important;}
.clock-time-line{grid-area:time!important;justify-content:center!important;text-align:center!important;z-index:2!important;}
.clock-prefix{font-family:'Inter',sans-serif!important;font-size:12px!important;font-weight:900!important;letter-spacing:.18em!important;color:rgba(255,255,255,.55)!important;text-transform:uppercase!important;}
.orb-date{font-family:'Orbitron','Inter',sans-serif!important;font-size:15px!important;letter-spacing:.09em!important;color:#fff!important;font-weight:900!important;}
.orb-time{font-family:'Orbitron','Inter',sans-serif!important;font-size:clamp(18px,2vw,25px)!important;color:#c7fbff!important;text-shadow:0 0 10px rgba(0,229,255,.7),0 0 26px rgba(0,229,255,.35)!important;}
.header-weather-widget{grid-area:weather!important;width:230px!important;min-width:230px!important;border-radius:15px!important;padding:8px 10px!important;background:rgba(4,9,22,.72)!important;border:1px solid rgba(0,229,255,.16)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;z-index:2!important;}
.header-weather-kicker{font-size:8px!important;letter-spacing:.2em!important;color:#78f5ff!important;}
.header-weather-line{font-size:11px!important;color:#fff!important;font-weight:900!important;line-height:1.2!important;}
.header-weather-change{margin-top:5px!important;font-size:8px!important;letter-spacing:.12em!important;color:#06101d!important;background:#8df8ff!important;border-radius:999px!important;padding:4px 9px!important;}
.hdr-user{justify-self:end!important;}
.user-avatar{width:48px!important;height:48px!important;border-radius:10px!important;background:linear-gradient(135deg,var(--rtl-red),#ff007a 50%,var(--rtl-blue))!important;box-shadow:0 0 30px rgba(255,0,122,.25)!important;}
.almanac-strip{height:32px!important;background:rgba(2,4,13,.78)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;backdrop-filter:blur(12px)!important;}
.almanac-lbl{height:32px!important;background:linear-gradient(135deg,var(--rtl-red),#b6157a)!important;color:#fff!important;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 100%,0 100%)!important;padding:0 28px 0 14px!important;}
.almanac-text{font-size:12px!important;color:rgba(255,255,255,.86)!important;font-weight:800!important;}
.dash{
  min-height:0!important;height:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr)!important;
  grid-template-rows:repeat(5,minmax(78px,1fr))!important;
  gap:14px!important;
  padding:16px 24px 14px!important;
  overflow:hidden!important;
}
.now-card{
  grid-column:1!important;grid-row:1/6!important;
  border-radius:0 28px 0 28px!important;
  padding:24px!important;
  background:
    linear-gradient(120deg,rgba(239,56,36,.18),transparent 28%),
    radial-gradient(circle at 80% 70%,rgba(0,229,255,.18),transparent 48%),
    linear-gradient(135deg,rgba(255,255,255,.078),rgba(255,255,255,.025))!important;
  border:1px solid rgba(255,255,255,.14)!important;
  backdrop-filter:blur(18px)!important;
  box-shadow:0 20px 60px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.08)!important;
  overflow:hidden!important;
}
.now-card::before{background:linear-gradient(90deg,rgba(239,56,36,.45),rgba(15,79,155,.28),transparent 70%)!important;opacity:.55!important;}
.live-badge{background:linear-gradient(135deg,var(--rtl-red),#ff007a)!important;border:0!important;border-radius:999px!important;color:#fff!important;box-shadow:0 0 28px rgba(239,56,36,.30)!important;}
.now-program{font-size:12px!important;letter-spacing:.22em!important;color:#9ef9ff!important;}
.now-title{font-size:clamp(42px,5.3vw,82px)!important;letter-spacing:.015em!important;line-height:.82!important;text-shadow:0 0 24px rgba(255,255,255,.12),0 0 50px rgba(239,56,36,.20)!important;}
.now-artist{font-size:clamp(18px,2vw,28px)!important;color:#fff2b8!important;}
.meta-player-controls{
  margin:18px 0!important;padding:12px 14px!important;border-radius:0 18px 0 18px!important;
  background:linear-gradient(90deg,rgba(239,56,36,.30),rgba(15,79,155,.26))!important;
  border:1px solid rgba(255,255,255,.14)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important;
}
.meta-play-btn{height:48px!important;min-width:120px!important;border-radius:0 16px 0 16px!important;background:linear-gradient(135deg,var(--rtl-red),#ff007a)!important;color:#fff!important;font-weight:950!important;letter-spacing:.16em!important;text-transform:uppercase!important;box-shadow:0 10px 26px rgba(239,56,36,.28)!important;}
.meta-volume input{accent-color:#00e5ff!important;}
.viz{height:64px!important;filter:drop-shadow(0 0 12px rgba(0,229,255,.24))!important;}
.vbar{background:linear-gradient(180deg,#fff,#00e5ff 45%,#ef3824)!important;border-radius:999px 999px 3px 3px!important;}
.prog-spot,.sponsor-banner{border-radius:0 18px 0 18px!important;background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025))!important;border:1px solid rgba(255,255,255,.13)!important;}
.sponsor-banner{box-shadow:0 10px 30px rgba(0,0,0,.22),0 0 32px rgba(0,229,255,.08)!important;}
.spb-name{font-size:32px!important;color:#fff!important;}
.db{
  grid-column:2!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:76px 1fr!important;
  grid-template-rows:1fr auto auto 1fr!important;
  align-items:center!important;
  column-gap:18px!important;
  padding:16px 22px!important;
  border-radius:0 22px 0 22px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.02))!important;
  border:1px solid rgba(255,255,255,.14)!important;
  backdrop-filter:blur(16px)!important;
  box-shadow:0 14px 38px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.08)!important;
  overflow:hidden!important;
}
.db::before{content:""!important;position:absolute!important;left:-28px!important;top:0!important;height:100%!important;width:92px!important;background:linear-gradient(135deg,var(--rtl-red),var(--rtl-blue))!important;transform:skewX(-13deg)!important;opacity:.34!important;z-index:0!important;}
.db::after{content:attr(data-watermark)!important;right:20px!important;bottom:-10px!important;font-size:82px!important;opacity:.08!important;filter:none!important;}
.db-icon{grid-column:1!important;grid-row:1/5!important;width:62px!important;height:62px!important;border-radius:0 18px 0 18px!important;display:grid!important;place-items:center!important;font-size:29px!important;background:rgba(255,255,255,.09)!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important;z-index:2!important;}
.db-label{grid-column:2!important;grid-row:2!important;font-family:'Orbitron','Inter',sans-serif!important;font-size:clamp(18px,2.15vw,31px)!important;line-height:1!important;letter-spacing:.035em!important;color:#fff!important;text-align:left!important;}
.db-sub{grid-column:2!important;grid-row:3!important;font-size:11px!important;letter-spacing:.06em!important;color:rgba(255,255,255,.66)!important;text-align:left!important;}
.db:hover{transform:translateY(-4px)!important;border-color:rgba(0,229,255,.36)!important;box-shadow:0 18px 44px rgba(0,0,0,.32),0 0 40px rgba(0,229,255,.13)!important;}
.db.is-hidden{display:none!important;}
.player-bar{display:none!important;}
.news-ticker{height:34px!important;display:flex!important;grid-row:4!important;background:linear-gradient(90deg,#050814,#091427,#050814)!important;border-top:1px solid rgba(255,255,255,.10)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;position:relative!important;z-index:20!important;}
.news-ticker-label{height:34px!important;min-width:132px!important;background:linear-gradient(135deg,var(--rtl-red),#b6157a)!important;color:#fff!important;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 100%,0 100%)!important;letter-spacing:.16em!important;}
.news-ticker-track{font-size:10px!important;color:#fff!important;animation-duration:90s!important;}
.brand-bar.partner-static{height:38px!important;display:flex!important;background:linear-gradient(90deg,var(--rtl-navy),var(--rtl-blue))!important;border-top:0!important;position:relative!important;z-index:20!important;}
.partner-static .bb-label{height:38px!important;background:linear-gradient(135deg,var(--rtl-red),#ff007a)!important;color:#fff!important;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 100%,0 100%)!important;padding-right:22px!important;}
.partner-static .bb-track-wrap{height:38px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.partner-static .bb-track.partner-row{animation:none!important;display:flex!important;justify-content:center!important;gap:42px!important;width:100%!important;font-size:11px!important;letter-spacing:.16em!important;}
.partner-static .bb-track.partner-row span{padding:0!important;color:#fff!important;}
.partner-static .bb-track.partner-row strong{color:#fff!important;text-shadow:none!important;}
.drw{border-radius:28px 0 0 28px!important;background:linear-gradient(180deg,rgba(9,14,32,.98),rgba(4,7,18,.99))!important;border-color:rgba(255,255,255,.14)!important;box-shadow:-28px 0 80px rgba(0,0,0,.42),0 0 60px rgba(0,229,255,.08)!important;}
.drw-hd{height:74px!important;background:linear-gradient(90deg,rgba(239,56,36,.22),rgba(15,79,155,.15))!important;border-bottom:1px solid rgba(255,255,255,.12)!important;}
.drw-ttl{font-family:'Orbitron','Inter',sans-serif!important;font-size:22px!important;letter-spacing:.08em!important;}
.sched-item,.astro-card,.news-item,.glass{border-radius:0 18px 0 18px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 12px 26px rgba(0,0,0,.18)!important;}
.t10-inp,.field,.chat-ta{border-radius:0 14px 0 14px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.14)!important;}
.t10-inp:focus,.field:focus,.chat-ta:focus{box-shadow:0 0 0 3px rgba(0,229,255,.10)!important;border-color:rgba(0,229,255,.42)!important;}
@media(max-width:900px){
  #app{grid-template-rows:auto 28px minmax(0,1fr) 30px 0!important;}
  .hdr{height:auto!important;grid-template-columns:1fr auto!important;grid-template-areas:"brand user" "clock clock"!important;gap:10px!important;padding:10px 12px!important;}
  .hdr-brand{grid-area:brand!important}.hdr-user{grid-area:user!important}.hdr-clock.clock-clean{grid-area:clock!important;width:100%!important;min-width:0!important;grid-template-columns:1fr!important;grid-template-areas:"date" "time" "weather"!important;}
  .header-weather-widget{width:100%!important;min-width:0!important;}
  .dash{grid-template-columns:1fr!important;grid-template-rows:minmax(300px,1fr) repeat(5,84px)!important;padding:10px!important;gap:8px!important;overflow:auto!important;}
  .now-card{grid-column:1!important;grid-row:1!important;min-height:300px!important;}
  .db{grid-column:1!important;grid-template-columns:58px 1fr!important;padding:12px 14px!important;}
  .db-icon{width:48px!important;height:48px!important;font-size:22px!important;}
  .db-label{font-size:20px!important;}
  .brand-bar.partner-static{display:none!important;}
  .news-ticker{height:30px!important;}
  .now-title{font-size:42px!important;}
}


/* ═══════════════════════════════════════════════
   CULT ON AIR — STEP 1 UI STABILITY PATCH
   Solo CSS/HTML visuale: stream, API e ID JS invariati
═══════════════════════════════════════════════ */
:root{
  --cult-bg-0:#04060d;
  --cult-bg-1:#07101f;
  --cult-panel:rgba(255,255,255,.062);
  --cult-panel-2:rgba(255,255,255,.035);
  --cult-line:rgba(255,255,255,.13);
  --cult-cyan:#00e5ff;
  --cult-red:#ef3824;
  --cult-magenta:#ff007a;
  --cult-navy:#11183a;
}

html,body{
  width:100%!important;
  height:100%!important;
  min-height:100dvh!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,0,122,.12),transparent 34%),
    radial-gradient(circle at 86% 74%,rgba(0,229,255,.10),transparent 38%),
    linear-gradient(180deg,var(--cult-bg-0),var(--cult-bg-1) 58%,var(--cult-bg-0))!important;
}

body::before{opacity:.85!important}
body::after{opacity:.08!important}

#app{
  position:fixed!important;
  inset:0!important;
  display:grid!important;
  grid-template-rows:88px 28px minmax(0,1fr) 34px!important;
  min-height:100dvh!important;
  overflow:hidden!important;
}

/* Header: più stabile, tre blocchi netti */
.hdr{
  grid-row:1!important;
  height:88px!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(220px,.85fr) minmax(420px,1.35fr) minmax(220px,.85fr)!important;
  align-items:center!important;
  gap:18px!important;
  padding:12px 22px!important;
  border-bottom:1px solid rgba(0,229,255,.18)!important;
  background:linear-gradient(90deg,rgba(4,6,13,.98),rgba(7,12,25,.94),rgba(4,6,13,.98))!important;
  box-shadow:0 12px 34px rgba(0,0,0,.32),0 0 34px rgba(0,229,255,.055)!important;
}

.hdr-brand{
  min-width:0!important;
  justify-content:flex-start!important;
}
.hdr-logo{
  width:48px!important;
  height:48px!important;
  border-radius:14px!important;
  box-shadow:0 0 22px rgba(255,0,122,.32),0 0 35px rgba(0,229,255,.10)!important;
}
.hdr-name{
  font-family:'Orbitron','Inter',sans-serif!important;
  font-size:22px!important;
  letter-spacing:.06em!important;
  white-space:nowrap!important;
}
.hdr-sub{
  font-size:9px!important;
  letter-spacing:.18em!important;
}

/* Centro header: data/ora/meteo leggibili senza schiacciare */
.hdr-clock.clock-clean{
  width:100%!important;
  max-width:680px!important;
  min-width:0!important;
  justify-self:center!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:
    "date weather"
    "time weather"!important;
  gap:4px 14px!important;
  align-items:center!important;
  padding:10px 16px!important;
  border-radius:0 22px 0 22px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.026))!important;
  border:1px solid rgba(0,229,255,.18)!important;
  backdrop-filter:blur(16px)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 28px rgba(0,0,0,.18)!important;
}

.clock-date-line{
  grid-area:date!important;
  justify-content:center!important;
  font-size:12px!important;
  line-height:1.1!important;
  letter-spacing:.16em!important;
  color:rgba(238,246,255,.72)!important;
  white-space:nowrap!important;
}
.clock-time-line{
  grid-area:time!important;
  justify-content:center!important;
  font-size:12px!important;
  line-height:1.1!important;
  letter-spacing:.16em!important;
  color:rgba(238,246,255,.72)!important;
  white-space:nowrap!important;
}
.clock-date-value{
  color:#fff!important;
  font-weight:950!important;
  letter-spacing:.09em!important;
}
.orb-time{
  font-size:24px!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  color:#bff9ff!important;
  text-shadow:0 0 10px rgba(255,255,255,.45),0 0 22px rgba(0,229,255,.66),0 0 46px rgba(0,229,255,.24)!important;
}

.header-weather-widget{
  grid-area:weather!important;
  min-width:190px!important;
  max-width:230px!important;
  padding:8px 10px!important;
  border-radius:0 16px 0 16px!important;
  background:rgba(0,0,0,.22)!important;
  border:1px solid rgba(255,255,255,.10)!important;
}
.header-weather-kicker{
  font-size:8px!important;
  letter-spacing:.18em!important;
  color:#8df4ff!important;
}
.header-weather-line{
  font-size:11px!important;
  line-height:1.25!important;
  color:#fff!important;
  max-width:210px!important;
}
.header-weather-change{
  margin-top:4px!important;
  font-size:8px!important;
  letter-spacing:.12em!important;
  color:#ffe8a5!important;
}
.header-weather-city-row.open{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:6px!important;
  margin-top:6px!important;
}
.header-weather-input{
  min-width:0!important;
  height:28px!important;
  font-size:11px!important;
  border-radius:10px!important;
}
.header-weather-ok{
  height:28px!important;
  padding:0 9px!important;
  border-radius:10px!important;
  font-size:10px!important;
}

.hdr-user{
  justify-self:end!important;
  min-width:0!important;
}
.user-name{
  font-size:13px!important;
}
.user-sign{
  font-size:10px!important;
}

/* Almanacco: stretto e nitido */
.almanac-strip{
  grid-row:2!important;
  height:28px!important;
  min-height:28px!important;
  background:linear-gradient(90deg,rgba(4,6,13,.96),rgba(8,14,28,.92))!important;
}
.almanac-lbl{
  height:28px!important;
  min-width:118px!important;
  padding:0 12px!important;
  font-size:8px!important;
}
.almanac-text{
  font-size:11px!important;
  color:rgba(255,255,255,.72)!important;
}

/* Dashboard: vero layout radio app */
.dash{
  grid-row:3!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.22fr) minmax(360px,.88fr)!important;
  grid-template-rows:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
  padding:14px 18px 10px!important;
  min-height:0!important;
  overflow:hidden!important;
}

.now-card{
  grid-column:1!important;
  grid-row:1 / -1!important;
  min-height:0!important;
  padding:22px!important;
  border-radius:0 30px 0 30px!important;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,0,122,.23),transparent 45%),
    radial-gradient(circle at 88% 78%,rgba(0,229,255,.16),transparent 48%),
    linear-gradient(145deg,rgba(11,15,31,.96),rgba(3,5,13,.98))!important;
  border:1px solid rgba(0,229,255,.18)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.34),0 0 60px rgba(0,229,255,.07),inset 0 1px 0 rgba(255,255,255,.06)!important;
}

/* Meteo duplicato nel player: nascosto, resta quello nell'header */
.now-card .weather-row,
.now-card .weather-city-row{
  display:none!important;
}

.live-badge{
  align-self:flex-start!important;
  margin-bottom:12px!important;
}
.now-program{
  font-size:12px!important;
  letter-spacing:.22em!important;
  color:#9ef9ff!important;
}
.now-title{
  font-size:clamp(44px,5.2vw,78px)!important;
  line-height:.86!important;
  max-width:100%!important;
}
.now-artist{
  font-size:clamp(18px,2vw,28px)!important;
}
.now-next{
  font-size:13px!important;
  color:rgba(238,246,255,.62)!important;
}

.meta-player-controls{
  margin:18px 0 14px!important;
  padding:12px 14px!important;
  border-radius:0 20px 0 20px!important;
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  background:linear-gradient(90deg,rgba(255,0,122,.30),rgba(0,229,255,.18))!important;
  border:1px solid rgba(255,255,255,.14)!important;
}
.meta-play-btn{
  height:46px!important;
  min-width:118px!important;
  border-radius:999px!important;
}
.meta-volume{
  flex:1!important;
}
.meta-volume input{
  width:100%!important;
}

.viz{
  height:58px!important;
  margin:8px 0 12px!important;
}
.prog-spot{
  min-height:64px!important;
}
.sponsor-banner{
  min-height:72px!important;
  margin-top:10px!important;
  padding:12px 14px!important;
  border-radius:0 20px 0 20px!important;
}
.spb-name{
  font-size:34px!important;
}
.spb-copy{
  font-size:12px!important;
}
.spb-place{
  font-size:9px!important;
}

/* Card dashboard: editoriali, compatte, nessun taglio */
.db{
  grid-column:2!important;
  min-height:0!important;
  height:100%!important;
  padding:14px 18px!important;
  border-radius:0 24px 0 24px!important;
  grid-template-columns:70px 1fr!important;
  column-gap:16px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.023))!important;
  border:1px solid rgba(255,255,255,.13)!important;
  backdrop-filter:blur(14px)!important;
}
.db-icon{
  width:58px!important;
  height:58px!important;
  border-radius:0 18px 0 18px!important;
}
.db-label{
  font-size:clamp(18px,2vw,28px)!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.db-sub{
  font-size:11px!important;
  line-height:1.25!important;
}

/* Footer: solo ticker ANSA, partner non duplicati sotto */
.player-bar{
  display:none!important;
}
.news-ticker{
  grid-row:4!important;
  height:34px!important;
  min-height:34px!important;
  display:flex!important;
  background:linear-gradient(90deg,#050814,#091427,#050814)!important;
  border-top:1px solid rgba(0,229,255,.16)!important;
  position:relative!important;
  z-index:22!important;
}
.news-ticker-label{
  min-width:138px!important;
  height:34px!important;
  font-size:9px!important;
  letter-spacing:.16em!important;
  background:linear-gradient(135deg,var(--cult-red),var(--cult-magenta))!important;
}
.news-ticker-track{
  font-size:10px!important;
  letter-spacing:.10em!important;
  color:#fff!important;
}

/* Evita doppione sponsor in basso: il partner vive nel banner grande e overlay */
.brand-bar.partner-static{
  display:none!important;
}

/* Drawer */
.drw{
  border-radius:30px 0 0 30px!important;
}
.drw-hd{
  min-height:76px!important;
}
.drw-body{
  padding:18px!important;
}
.sched-item{
  grid-template-columns:84px 1fr!important;
  padding:14px 16px!important;
}
.sched-title{
  font-size:25px!important;
}
.sched-desc{
  font-size:13px!important;
}

/* Mobile: dashboard non deve schiacciare o tagliare */
@media(max-width:900px){
  #app{
    position:fixed!important;
    inset:0!important;
    display:grid!important;
    grid-template-rows:auto 28px minmax(0,1fr) 32px!important;
    overflow:hidden!important;
  }
  .hdr{
    height:auto!important;
    grid-template-columns:1fr auto!important;
    grid-template-areas:"brand user" "clock clock"!important;
    gap:8px!important;
    padding:9px 12px!important;
  }
  .hdr-brand{grid-area:brand!important}
  .hdr-user{grid-area:user!important}
  .hdr-clock.clock-clean{
    grid-area:clock!important;
    max-width:none!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"date" "time" "weather"!important;
    padding:8px 10px!important;
  }
  .clock-date-line,.clock-time-line{
    justify-content:center!important;
    font-size:10px!important;
  }
  .orb-time{
    font-size:20px!important;
  }
  .header-weather-widget{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-top:6px!important;
  }
  .dash{
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(300px,1fr) repeat(5,76px)!important;
    gap:8px!important;
    padding:10px!important;
    overflow:auto!important;
  }
  .now-card{
    grid-column:1!important;
    grid-row:1!important;
    min-height:300px!important;
    padding:16px!important;
  }
  .now-title{
    font-size:38px!important;
  }
  .meta-player-controls{
    gap:10px!important;
    padding:10px!important;
  }
  .meta-play-btn{
    min-width:96px!important;
    height:42px!important;
  }
  .db{
    grid-column:1!important;
    grid-template-columns:56px 1fr!important;
    padding:10px 12px!important;
  }
  .db-icon{
    width:46px!important;
    height:46px!important;
    font-size:22px!important;
  }
  .db-label{
    font-size:19px!important;
  }
  .db-sub{
    font-size:10px!important;
  }
  .sponsor-banner{
    min-height:64px!important;
  }
  .spb-name{
    font-size:26px!important;
  }
  .news-ticker{
    height:32px!important;
    min-height:32px!important;
  }
  .news-ticker-label{
    min-width:116px!important;
  }
}



/* ═══════════════════════════════════════════════
   STEP 2 — RIMOZIONE DOPPIONE CULT AI FLOATING
   La chat resta apribile dalla card CHAT AI della dashboard.
═══════════════════════════════════════════════ */
.chat-fab,
#chatFab{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}



/* ═══════════════════════════════════════════════
   CULT ON AIR — DASHBOARD BUTTON IMAGE PATCH
   Usa immagini locali caricate dall'utente.
   Solo UI: nessuna logica JS/API modificata.
═══════════════════════════════════════════════ */
#btnLiveRadio,
#btnPrograms,
#btnAstro,
#btnTop10,
#btnChatMain{
  position:relative!important;
  overflow:hidden!important;
  background-size:cover!important;
  background-position:left center!important;
  background-repeat:no-repeat!important;
  padding-left:clamp(148px,15vw,235px)!important;
  min-height:112px!important;
  border-radius:0 26px 0 26px!important;
  border:1px solid rgba(0,229,255,.24)!important;
  box-shadow:0 16px 42px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.12)!important;
  isolation:isolate!important;
}
#btnLiveRadio{background-image:linear-gradient(90deg,rgba(2,4,12,.08) 0%,rgba(5,8,18,.42) 34%,rgba(4,7,16,.88) 62%,rgba(4,7,16,.98) 100%),url('../../step_p_assets/buttons/live-radio.jpg')!important;}
#btnPrograms{background-image:linear-gradient(90deg,rgba(2,4,12,.08) 0%,rgba(5,8,18,.42) 34%,rgba(4,7,16,.88) 62%,rgba(4,7,16,.98) 100%),url('../../step_p_assets/buttons/palinsesto.jpg')!important;}
#btnAstro{background-image:linear-gradient(90deg,rgba(2,4,12,.08) 0%,rgba(5,8,18,.42) 34%,rgba(4,7,16,.88) 62%,rgba(4,7,16,.98) 100%),url('../../step_p_assets/buttons/astro-cult.jpg')!important;}
#btnTop10{background-image:linear-gradient(90deg,rgba(2,4,12,.08) 0%,rgba(5,8,18,.42) 34%,rgba(4,7,16,.88) 62%,rgba(4,7,16,.98) 100%),url('../../step_p_assets/buttons/i-10-dischi.jpg')!important;}
#btnChatMain{background-image:linear-gradient(90deg,rgba(2,4,12,.08) 0%,rgba(5,8,18,.42) 34%,rgba(4,7,16,.88) 62%,rgba(4,7,16,.98) 100%),url('../../step_p_assets/buttons/chat-ai.jpg')!important;}

#btnLiveRadio::before,
#btnPrograms::before,
#btnAstro::before,
#btnTop10::before,
#btnChatMain::before{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background:
    linear-gradient(90deg,rgba(255,0,122,.05),transparent 36%),
    radial-gradient(circle at 18% 50%,rgba(255,0,122,.16),transparent 34%),
    radial-gradient(circle at 78% 50%,rgba(0,229,255,.10),transparent 42%)!important;
  opacity:.92!important;
  pointer-events:none!important;
  transform:none!important;
  width:auto!important;
  height:auto!important;
}
#btnLiveRadio::after,
#btnPrograms::after,
#btnAstro::after,
#btnTop10::after,
#btnChatMain::after{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.10) 42%,transparent 62%)!important;
  transform:translateX(-120%) skewX(-16deg)!important;
  width:42%!important;
  height:100%!important;
  opacity:.35!important;
  transition:transform .62s ease!important;
  pointer-events:none!important;
}
#btnLiveRadio:hover::after,
#btnPrograms:hover::after,
#btnAstro:hover::after,
#btnTop10:hover::after,
#btnChatMain:hover::after{transform:translateX(360%) skewX(-16deg)!important;}

#btnLiveRadio .db-icon,
#btnPrograms .db-icon,
#btnAstro .db-icon,
#btnTop10 .db-icon,
#btnChatMain .db-icon{
  display:none!important;
}
#btnLiveRadio .db-label,
#btnPrograms .db-label,
#btnAstro .db-label,
#btnTop10 .db-label,
#btnChatMain .db-label,
#btnLiveRadio .db-sub,
#btnPrograms .db-sub,
#btnAstro .db-sub,
#btnTop10 .db-sub,
#btnChatMain .db-sub{
  position:relative!important;
  z-index:3!important;
  text-align:left!important;
}
#btnLiveRadio .db-label,
#btnPrograms .db-label,
#btnAstro .db-label,
#btnTop10 .db-label,
#btnChatMain .db-label{
  font-size:clamp(22px,2.25vw,34px)!important;
  letter-spacing:.045em!important;
  text-shadow:0 0 18px rgba(0,229,255,.22),0 0 28px rgba(255,0,122,.16)!important;
}
#btnLiveRadio .db-sub,
#btnPrograms .db-sub,
#btnAstro .db-sub,
#btnTop10 .db-sub,
#btnChatMain .db-sub{
  margin-top:7px!important;
  font-size:12px!important;
  color:rgba(238,246,255,.78)!important;
  text-shadow:0 2px 10px rgba(0,0,0,.55)!important;
}
#btnLiveRadio:hover,
#btnPrograms:hover,
#btnAstro:hover,
#btnTop10:hover,
#btnChatMain:hover{
  transform:translateY(-5px) scale(1.012)!important;
  border-color:rgba(0,229,255,.50)!important;
  box-shadow:0 20px 52px rgba(0,0,0,.40),0 0 42px rgba(0,229,255,.16),0 0 34px rgba(255,0,122,.13)!important;
}

@media(max-width:900px){
  #btnLiveRadio,
  #btnPrograms,
  #btnAstro,
  #btnTop10,
  #btnChatMain{
    min-height:86px!important;
    padding-left:112px!important;
    background-size:auto 100%!important;
    background-position:left center!important;
  }
  #btnLiveRadio .db-label,
  #btnPrograms .db-label,
  #btnAstro .db-label,
  #btnTop10 .db-label,
  #btnChatMain .db-label{font-size:20px!important;}
  #btnLiveRadio .db-sub,
  #btnPrograms .db-sub,
  #btnAstro .db-sub,
  #btnTop10 .db-sub,
  #btnChatMain .db-sub{font-size:10px!important;}
}



/* ═════════════════ STEP C — TOP 10 + CHAT DJ PREMIUM ═════════════════ */
.top10-hero{
  position:relative;overflow:hidden;margin:0 0 14px;padding:16px;border-radius:22px;
  background:
    linear-gradient(115deg,rgba(255,42,120,.22),rgba(0,229,255,.10)),
    radial-gradient(circle at 10% 10%,rgba(240,192,80,.22),transparent 38%),
    rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 18px 45px rgba(0,0,0,.28);
}
.top10-hero::after{content:"";position:absolute;inset:auto -10% -45% 35%;height:130px;background:radial-gradient(closest-side,rgba(0,229,255,.20),transparent);filter:blur(18px);pointer-events:none}
.top10-kicker{font-size:9px;font-weight:1000;letter-spacing:.20em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.top10-title{font-family:'Bebas Neue',sans-serif;font-size:38px;line-height:.88;letter-spacing:.02em;color:#fff;text-shadow:0 0 22px rgba(255,255,255,.10)}
.top10-copy{font-size:12px;line-height:1.55;color:rgba(255,255,255,.74);margin-top:7px;max-width:52ch}
.t10-prog.stepc{padding:12px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.10);margin-bottom:14px}
.t10-progress-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.t10-progress-count{font-family:'Orbitron',sans-serif;font-size:13px;font-weight:900;color:#00e5ff;text-shadow:0 0 14px rgba(0,229,255,.35)}
.t10-grid-pro{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;align-items:start}
.t10-form-pro{min-width:0}
.t10-preview{
  position:sticky;top:8px;padding:14px;border-radius:18px;
  background:linear-gradient(160deg,rgba(0,229,255,.09),rgba(255,42,120,.07)),rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.13);box-shadow:0 16px 36px rgba(0,0,0,.22);
}
.t10-preview-title{font-size:9px;font-weight:1000;letter-spacing:.18em;text-transform:uppercase;color:#00e5ff;margin-bottom:10px}
.t10-preview-list{display:flex;flex-direction:column;gap:7px;min-height:160px}
.t10-prev-row{display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:center;padding:7px 8px;border-radius:11px;background:rgba(0,0,0,.20);border:1px solid rgba(255,255,255,.06)}
.t10-prev-row.empty{opacity:.42}
.t10-prev-num{font-family:'Bebas Neue',sans-serif;font-size:20px;color:var(--gold);line-height:.9;text-align:center}
.t10-prev-song{font-size:11px;font-weight:800;color:#fff;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.t10-slot.stepc{
  grid-template-columns:42px 1fr;gap:10px;margin-bottom:8px;padding:8px;border-radius:16px;
  background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);
  transition:transform .18s,border-color .18s,background .18s;
}
.t10-slot.stepc:hover{transform:translateX(3px);background:rgba(255,255,255,.055);border-color:rgba(0,229,255,.20)}
.t10-slot.stepc.podio{background:linear-gradient(90deg,rgba(240,192,80,.09),rgba(255,255,255,.03));border-color:rgba(240,192,80,.20)}
.t10-num.stepc{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.10);font-size:26px;color:rgba(255,255,255,.60)}
.t10-num.stepc.gold{color:var(--gold);background:rgba(240,192,80,.10);border-color:rgba(240,192,80,.26);text-shadow:0 0 15px rgba(240,192,80,.42)}
.t10-inp.stepc{min-height:44px;border-radius:14px!important;background:rgba(4,7,16,.62)!important;border:1px solid rgba(255,255,255,.13)!important;font-weight:700;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.t10-inp.stepc:focus{border-color:rgba(0,229,255,.55)!important;background:rgba(0,229,255,.055)!important;box-shadow:0 0 0 3px rgba(0,229,255,.10),0 0 22px rgba(0,229,255,.08)!important}
.t10-meta.stepc{grid-template-columns:1fr 1fr;margin:13px 0 9px}
.t10-dedica{margin-top:8px}
.t10-actions.stepc{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.t10-main-cta{font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.t10-ai-panel{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}
.t10-ai-panel .t10-suggest{margin:0;min-height:42px;border-radius:14px;background:rgba(255,255,255,.045)}
.chat-panel-hero{padding:14px 14px 10px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(0,229,255,.08),rgba(255,42,120,.08))}
.chat-dj-title{font-family:'Bebas Neue',sans-serif;font-size:28px;line-height:.9;letter-spacing:.03em;color:#fff}
.chat-dj-sub{font-size:11px;color:rgba(255,255,255,.56);margin-top:5px;line-height:1.4}
.chat-chips.stepc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 12px;background:rgba(0,0,0,.16);border-top:1px solid rgba(255,255,255,.06)}
.chat-chip.stepc{width:100%;min-height:38px;border-radius:14px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.12)}
.chat-chip.stepc.hot{background:linear-gradient(135deg,rgba(255,42,120,.72),rgba(0,229,255,.18));box-shadow:0 8px 24px rgba(255,42,120,.16)}
.chat-bubble.bot{background:linear-gradient(135deg,rgba(0,229,255,.13),rgba(11,16,30,.96));border-color:rgba(0,229,255,.16)}
.chat-bubble.user{background:linear-gradient(135deg,rgba(255,42,120,.88),rgba(175,18,35,.88));border:1px solid rgba(255,255,255,.12)}
.chat-input-area{background:linear-gradient(180deg,rgba(4,7,13,.82),rgba(4,7,13,.96));}
@media(max-width:900px){.t10-grid-pro{grid-template-columns:1fr}.t10-preview{position:relative;top:auto}.t10-ai-panel,.t10-actions.stepc,.chat-chips.stepc{grid-template-columns:1fr}.top10-title{font-size:32px}}


/* ═══════════════════════════════════════════════
   CULT ON AIR — STEP E+F
   Che canzone era + Profilo ascoltatore evoluto
   Solo UI/storage/payload: stream/API invariati
═══════════════════════════════════════════════ */
.meta-history-btn{
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(0,229,255,.18);
  color:#eaf8ff;
  font-size:10px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 0 20px rgba(0,229,255,.08);
  transition:transform .18s,background .18s,border-color .18s;
}
.meta-history-btn:hover{
  transform:translateY(-1px);
  background:rgba(0,229,255,.10);
  border-color:rgba(0,229,255,.34);
}
.history-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.history-card{
  display:grid;
  grid-template-columns:76px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:13px 14px;
  border-radius:18px;
  background:
    radial-gradient(circle at 8% 20%,rgba(255,0,122,.16),transparent 46%),
    linear-gradient(135deg,rgba(255,255,255,.065),rgba(255,255,255,.022));
  border:1px solid rgba(0,229,255,.14);
  box-shadow:0 12px 30px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.08);
}
.history-time{
  font-family:'Orbitron',sans-serif;
  font-size:13px;
  color:#bff8ff;
  text-shadow:0 0 12px rgba(0,229,255,.45);
}
.history-title{
  font-family:'Bebas Neue',sans-serif;
  font-size:25px;
  line-height:.95;
  color:#fff;
  letter-spacing:.02em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.history-artist{
  margin-top:4px;
  font-size:12px;
  color:#fde8a8;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.history-actions{
  display:flex;
  align-items:center;
  gap:7px;
}
.history-mini-btn{
  min-height:34px;
  padding:0 11px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.history-mini-btn:hover{background:rgba(255,255,255,.13)}
.profile-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.profile-grid .full{grid-column:1/-1}
.profile-note{
  margin:10px 0 0;
  font-size:11px;
  line-height:1.55;
  color:rgba(238,246,255,.62);
}
.profile-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:8px;
}
.profile-chip{
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.10);
  font-size:10px;
  color:#dcecff;
  font-weight:850;
  letter-spacing:.07em;
}
@media(max-width:640px){
  .meta-player-controls{gap:8px}
  .meta-history-btn{width:100%;min-height:36px}
  .history-card{grid-template-columns:1fr;align-items:start}
  .history-actions{justify-content:flex-start}
  .profile-grid{grid-template-columns:1fr}
}

/* ---- extracted block ---- */

/* =====================================================
   STEP A+B — PALINSESTO VISUALE + ASTRO CULT DEFINITIVO
   Solo UI/drawer: stream, API, player, meteo, ANSA e chat invariati.
===================================================== */
.drw-body{padding:16px!important;background:
  radial-gradient(circle at 20% 0%,rgba(255,34,118,.10),transparent 32%),
  radial-gradient(circle at 90% 20%,rgba(0,229,255,.08),transparent 34%)!important;
}
.cult-section-kicker{
  display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;
  background:rgba(0,229,255,.08);border:1px solid rgba(0,229,255,.18);
  color:#9ff7ff;font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;
}
.sched-premium-head,.astro-premium-head{
  position:relative;overflow:hidden;border-radius:22px;margin:0 0 14px;padding:16px 16px 18px;
  background:linear-gradient(135deg,rgba(255,42,116,.17),rgba(0,229,255,.10) 46%,rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.13);box-shadow:0 18px 42px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.12);
}
.sched-premium-head:after,.astro-premium-head:after{
  content:"";position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.08),transparent 62%);
  transform:translateX(-58%);animation:cultSheen 8s ease-in-out infinite;pointer-events:none;
}
.sched-premium-title,.astro-premium-title{
  font-family:'Orbitron','Inter',sans-serif;font-size:22px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#fff;
  text-shadow:0 0 18px rgba(0,229,255,.28);margin-top:9px;
}
.sched-premium-copy,.astro-premium-copy{font-size:12px;color:rgba(234,242,255,.74);max-width:620px;line-height:1.45;margin-top:5px}
.sched-now-strip{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 14px;
}
.sched-chip{
  border-radius:16px;padding:12px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.sched-chip small{display:block;color:#ffd766;font-size:9px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;margin-bottom:4px}
.sched-chip strong{display:block;color:#fff;font-family:'Orbitron','Inter',sans-serif;font-size:14px;letter-spacing:.03em;text-transform:uppercase}
.sched-chip span{display:block;color:rgba(234,242,255,.68);font-size:11px;margin-top:3px}
.sched-timeline{
  margin:0 0 16px;padding:13px 12px 11px;border-radius:18px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);
}
.sched-timeline-top{display:flex;justify-content:space-between;gap:8px;color:rgba(255,255,255,.62);font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-bottom:9px}
.sched-timeline-track{position:relative;height:12px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.sched-timeline-fill{height:100%;width:0%;background:linear-gradient(90deg,#ff2a74,#00e5ff);box-shadow:0 0 24px rgba(0,229,255,.35);border-radius:999px;transition:width .45s ease}
.sched-time-dots{display:flex;justify-content:space-between;color:rgba(234,242,255,.48);font-size:9px;margin-top:8px}
.sched-visual-grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important;
}
.sched-visual-card{
  overflow:hidden!important;border-radius:22px!important;background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 16px 42px rgba(0,0,0,.26)!important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important;
}
.sched-visual-card:hover{transform:translateY(-4px)!important;border-color:rgba(0,229,255,.34)!important;box-shadow:0 24px 58px rgba(0,0,0,.34),0 0 38px rgba(0,229,255,.09)!important}
.sched-cover{position:relative;aspect-ratio:1.32/1;background:#050912;overflow:hidden}
.sched-cover img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.08) contrast(1.04)}
.sched-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(3,5,12,.88));pointer-events:none}
.sched-live-ribbon,.sched-next-ribbon{
  position:absolute;top:10px;left:10px;z-index:2;border-radius:999px;padding:6px 9px;
  font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#fff;
  border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 24px rgba(0,0,0,.28);
}
.sched-live-ribbon{background:linear-gradient(90deg,#ff174f,#ff7a00)}
.sched-next-ribbon{background:linear-gradient(90deg,#00e5ff,#225dff)}
.sched-caption{padding:12px 13px 14px;display:grid;gap:4px}
.sched-caption-top{font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#7ff7ff}
.sched-caption-title{font-family:'Orbitron','Inter',sans-serif;font-size:16px;font-weight:900;color:#fff;text-transform:uppercase;letter-spacing:.03em;line-height:1.1}
.sched-caption-desc{font-size:11px;color:rgba(234,242,255,.68);line-height:1.35}
.sched-card-actions{display:flex;gap:8px;margin-top:9px;flex-wrap:wrap}
.sched-mini-btn{
  border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;border-radius:999px;padding:7px 10px;
  font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;transition:background .2s,border-color .2s,transform .2s;
}
.sched-mini-btn:hover{transform:translateY(-1px);background:rgba(0,229,255,.10);border-color:rgba(0,229,255,.35)}
.sched-visual-card.live{border-color:rgba(255,42,116,.44)!important;box-shadow:0 16px 42px rgba(0,0,0,.28),0 0 32px rgba(255,42,116,.16)!important}
.sched-visual-card.nxt{border-color:rgba(0,229,255,.32)!important}
.astro-signs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px!important;margin-bottom:14px!important}
.sign-btn{min-height:54px!important;border-radius:16px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.11)!important;transition:transform .2s,border-color .2s,background .2s!important}
.sign-btn:hover{transform:translateY(-2px);border-color:rgba(0,229,255,.28)!important;background:rgba(0,229,255,.07)!important}
.sign-btn.active{border-color:rgba(255,42,116,.48)!important;background:linear-gradient(135deg,rgba(255,42,116,.18),rgba(0,229,255,.08))!important;box-shadow:0 0 28px rgba(255,42,116,.10)!important}
.astro-card{padding:16px!important;border-radius:22px!important;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035))!important}
.astro-daily-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;margin-top:12px}
.astro-main-reading,.astro-music-box{
  border-radius:18px;padding:14px;background:rgba(4,7,18,.48);border:1px solid rgba(255,255,255,.11);
}
.astro-main-reading .ar-lbl,.astro-music-box .ar-lbl{font-size:9px;font-weight:900;letter-spacing:.14em;color:#ffd766;text-transform:uppercase;margin-bottom:7px}
.astro-main-reading .ar-val{font-size:13px;line-height:1.55;color:rgba(255,255,255,.88)}
.astro-music-line{display:flex;gap:9px;align-items:flex-start;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.astro-music-line:last-child{border-bottom:none;padding-bottom:0}
.astro-music-line b{display:block;color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.astro-music-line span{display:block;color:rgba(234,242,255,.66);font-size:11px;margin-top:3px;line-height:1.35}
.astro-cta-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.astro-ai-btn,.astro-share-btn{
  flex:1;min-width:180px;border-radius:999px!important;padding:11px 13px!important;font-size:10px!important;font-weight:900!important;letter-spacing:.12em!important;text-transform:uppercase!important;
  border:1px solid rgba(255,255,255,.14)!important;color:#fff!important;background:linear-gradient(90deg,rgba(255,42,116,.22),rgba(0,229,255,.16))!important;
}
.astro-share-btn{background:rgba(255,255,255,.06)!important}
@media(max-width:760px){
  .sched-now-strip,.sched-visual-grid,.astro-daily-grid{grid-template-columns:1fr!important}
  .astro-signs{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .sched-premium-title,.astro-premium-title{font-size:18px}
}


/* ═══════════════════════════════════════════════
   STEP G — MOTION CLUB PREMIUM DINAMICO
   Solo UI/motion/spettrometro. Stream/API/chat invariati.
═══════════════════════════════════════════════ */
#cultMotionCanvas{
  position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.62;
  mix-blend-mode:screen;filter:saturate(1.25) contrast(1.05);
}
body.motion-ready::before{animation:clubAtmosphere 12s ease-in-out infinite alternate!important;}
body.is-playing{--cultBass:.45;--cultMid:.35;--cultTreble:.25;}
body.is-playing #app{filter:saturate(calc(1 + var(--cultMid, .25) * .22));}
.now-card{
  transform-style:preserve-3d;
  transition:box-shadow .35s ease, transform .35s ease, border-color .35s ease, filter .35s ease!important;
}
body.is-playing .now-card{
  border-color:rgba(0,229,255,calc(.24 + var(--cultTreble,.2) * .38))!important;
  box-shadow:
    0 22px 70px rgba(0,0,0,.42),
    0 0 calc(36px + var(--cultBass,.25) * 56px) rgba(255,0,122,calc(.12 + var(--cultBass,.25) * .18)),
    0 0 calc(44px + var(--cultTreble,.25) * 72px) rgba(0,229,255,calc(.10 + var(--cultTreble,.25) * .18)),
    inset 0 0 42px rgba(255,255,255,.035)!important;
}
.now-card::after{
  content:''!important;position:absolute!important;inset:-1px!important;border-radius:inherit!important;pointer-events:none!important;z-index:0!important;
  background:
    radial-gradient(circle at calc(24% + var(--cultMid,.25) * 25%) 18%,rgba(255,0,122,calc(.10 + var(--cultBass,.2) * .30)),transparent 38%),
    radial-gradient(circle at 86% calc(72% - var(--cultTreble,.2) * 18%),rgba(0,229,255,calc(.08 + var(--cultTreble,.2) * .26)),transparent 46%),
    linear-gradient(115deg,transparent 0%,rgba(255,255,255,.055) 45%,transparent 62%);
  opacity:.95!important;mix-blend-mode:screen;animation:cultLaserPass 5.5s ease-in-out infinite;
}
@keyframes cultLaserPass{0%,100%{transform:translateX(-3%) skewX(-6deg);opacity:.40}50%{transform:translateX(3%) skewX(-6deg);opacity:.95}}
.live-badge{position:relative;overflow:hidden;}
.live-badge::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transform:translateX(-130%) skewX(-16deg);animation:badgeSweep 3.4s ease-in-out infinite;}
@keyframes badgeSweep{0%,45%{transform:translateX(-130%) skewX(-16deg)}82%,100%{transform:translateX(130%) skewX(-16deg)}}
.viz{
  position:relative!important;height:clamp(74px,9vh,118px)!important;
  align-items:center!important;gap:4px!important;padding:9px 12px!important;margin:14px 0 10px!important;
  border-radius:22px!important;overflow:hidden!important;
  background:
    radial-gradient(circle at 20% 50%,rgba(255,0,122,.18),transparent 38%),
    radial-gradient(circle at 82% 46%,rgba(0,229,255,.13),transparent 42%),
    linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018))!important;
  border:1px solid rgba(255,255,255,.11)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.11),0 16px 42px rgba(0,0,0,.28),0 0 32px rgba(0,229,255,.08)!important;
  filter:drop-shadow(0 0 calc(12px + var(--cultTreble,.2) * 20px) rgba(0,229,255,.30))!important;
}
.viz::before{
  content:'SPECTRUM LIVE';position:absolute;top:8px;left:14px;z-index:2;
  color:rgba(191,248,255,.72);font-size:8px;font-weight:950;letter-spacing:.24em;text-transform:uppercase;
  text-shadow:0 0 12px rgba(0,229,255,.55);pointer-events:none;
}
.viz::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    radial-gradient(circle at calc(50% + var(--cultBass,.2) * 16%) 100%,rgba(255,0,122,.16),transparent 56%);
  background-size:100% 18px,22px 100%,100% 100%;
  opacity:.58;mix-blend-mode:screen;
}
.vbar{
  position:relative;z-index:1;align-self:center!important;flex:1 1 auto!important;min-width:3px;max-width:12px;
  height:12px;border-radius:999px!important;
  background:linear-gradient(180deg,#ffffff 0%,#00f2ff 34%,#ff1b8d 100%)!important;
  box-shadow:
    0 0 calc(7px + var(--cultTreble,.25) * 12px) rgba(0,242,255,.62),
    0 0 calc(9px + var(--cultBass,.25) * 18px) rgba(255,27,141,.40)!important;
  transform-origin:center;transition:height .075s linear, opacity .075s linear, transform .075s linear, filter .075s linear;
}
.vbar:nth-child(3n){background:linear-gradient(180deg,#fff,#b9ff3d 42%,#00e5ff)!important;}
.vbar:nth-child(4n){background:linear-gradient(180deg,#fff,#ffdd6a 38%,#ff1b8d)!important;}
body:not(.is-playing) .vbar{animation:idleSpecBreathe 2.2s ease-in-out infinite;}
body:not(.is-playing) .vbar:nth-child(2n){animation-delay:.16s} body:not(.is-playing) .vbar:nth-child(3n){animation-delay:.32s}
@keyframes idleSpecBreathe{0%,100%{opacity:.42;transform:scaleY(.42)}50%{opacity:.82;transform:scaleY(1)}}
.meta-player-controls{
  position:relative;overflow:hidden;border-color:rgba(0,229,255,.18)!important;
  box-shadow:0 12px 32px rgba(0,0,0,.28),0 0 calc(18px + var(--cultMid,.22)*34px) rgba(0,229,255,.08),inset 0 1px 0 rgba(255,255,255,.12)!important;
}
.meta-player-controls::before{content:'';position:absolute;inset:-80% -30%;background:conic-gradient(from 180deg,transparent,rgba(0,229,255,.10),transparent,rgba(255,0,122,.10),transparent);opacity:.7;animation:controlOrbit 9s linear infinite;pointer-events:none;}
.meta-player-controls>*{position:relative;z-index:1}
@keyframes controlOrbit{to{transform:rotate(360deg)}}
.meta-play-btn{box-shadow:0 0 calc(18px + var(--cultBass,.28)*28px) rgba(255,0,122,.42),0 9px 28px rgba(0,0,0,.26)!important;}
body.is-playing .meta-play-btn{animation:playButtonPulse 1.25s ease-in-out infinite;}
@keyframes playButtonPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
#btnLiveRadio,#btnPrograms,#btnAstro,#btnTop10,#btnChatMain{
  transition:transform .28s cubic-bezier(.2,.9,.2,1),box-shadow .28s,border-color .28s,filter .28s,background-size .38s ease,background-position .38s ease!important;
  background-size:auto 112%,cover!important;
  will-change:transform,filter;background-position:left center!important;
}
#btnLiveRadio:hover,#btnPrograms:hover,#btnAstro:hover,#btnTop10:hover,#btnChatMain:hover{
  background-size:auto 120%,cover!important;background-position:calc(0% - 8px) center!important;
  filter:saturate(1.16) contrast(1.08) brightness(1.08)!important;
  transform:translateY(-7px) scale(1.018)!important;
}
#btnLiveRadio::before,#btnPrograms::before,#btnAstro::before,#btnTop10::before,#btnChatMain::before{
  background:
    radial-gradient(circle at calc(18% + var(--cultBass,.2) * 15%) 48%,rgba(255,0,122,calc(.15 + var(--cultBass,.2) * .14)),transparent 38%),
    radial-gradient(circle at 84% 64%,rgba(0,229,255,calc(.11 + var(--cultTreble,.2) * .14)),transparent 44%),
    linear-gradient(90deg,rgba(2,4,12,.05) 0%,rgba(4,8,18,.18) 34%,rgba(4,7,16,.76) 64%,rgba(4,7,16,.98) 100%)!important;
  animation:cardLightDrift 7s ease-in-out infinite alternate;
}
@keyframes cardLightDrift{0%{filter:hue-rotate(-8deg);opacity:.86}100%{filter:hue-rotate(10deg);opacity:1}}
#btnLiveRadio .db-label,#btnPrograms .db-label,#btnAstro .db-label,#btnTop10 .db-label,#btnChatMain .db-label{transition:letter-spacing .25s,text-shadow .25s,transform .25s;}
#btnLiveRadio:hover .db-label,#btnPrograms:hover .db-label,#btnAstro:hover .db-label,#btnTop10:hover .db-label,#btnChatMain:hover .db-label{letter-spacing:.075em!important;transform:translateX(3px);text-shadow:0 0 20px rgba(0,229,255,.44),0 0 32px rgba(255,0,122,.26)!important;}
.drw.open{animation:drawerClubIn .34s cubic-bezier(.2,.86,.2,1) both;}
@keyframes drawerClubIn{from{filter:blur(8px) saturate(.8)}to{filter:blur(0) saturate(1)}}
.sponsor-spot.show .sponsor-box{animation:spotPunch 5s ease both, sponsorGlowRide 1.1s ease-in-out infinite alternate!important;}
@keyframes sponsorGlowRide{from{box-shadow:0 26px 74px rgba(0,0,0,.55),0 0 72px rgba(255,0,122,.16),0 0 92px rgba(0,229,255,.10)}to{box-shadow:0 30px 86px rgba(0,0,0,.62),0 0 98px rgba(255,0,122,.25),0 0 128px rgba(0,229,255,.18)}}
@media(max-width:760px){
  #cultMotionCanvas{opacity:.38}.viz{height:66px!important;padding:8px!important}.viz::before{font-size:7px;letter-spacing:.18em}
  .vbar{min-width:2px!important}.now-card::after{animation:none!important}
}
@media(prefers-reduced-motion:reduce){#cultMotionCanvas{display:none!important}.now-card::after,.meta-player-controls::before,.live-badge::after{animation:none!important}}

/* ---- extracted block ---- */

.now-card{
    background:
      linear-gradient(115deg, rgba(4,7,17,.78) 0%, rgba(5,10,24,.58) 38%, rgba(4,10,26,.76) 100%),
      url('../../step_p_assets/cult_metadata_bg.webp') center right / cover no-repeat !important;
    overflow:hidden;
  }
  .now-card::before{
    background:linear-gradient(90deg,rgba(255,0,122,.22),rgba(0,229,255,.12),transparent 72%) !important;
    opacity:.95 !important;
  }
  .now-card::after{
    background:
      radial-gradient(circle at 20% 60%, rgba(255,0,128,.18), transparent 34%),
      radial-gradient(circle at 52% 72%, rgba(0,229,255,.16), transparent 28%),
      linear-gradient(90deg, transparent, rgba(255,255,255,.05), transparent) !important;
    mix-blend-mode:screen;
    opacity:.9 !important;
  }
  .now-title, .now-artist, .now-next, .now-program, .meta-player-controls, .prog-spot, .sponsor-banner, .viz{
    position:relative;
    z-index:2;
  }
  .meta-player-controls{
    background:linear-gradient(135deg, rgba(255,0,122,.16), rgba(0,229,255,.12)) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    box-shadow:0 14px 30px rgba(0,0,0,.24), 0 0 26px rgba(0,229,255,.12) !important;
    backdrop-filter:blur(10px);
  }
  .sponsor-banner{
    background:linear-gradient(90deg, rgba(255,75,75,.34), rgba(255,0,128,.28) 35%, rgba(255,179,0,.2) 100%) !important;
    border:1px solid rgba(255,220,120,.34) !important;
    box-shadow:0 16px 40px rgba(255,73,73,.18), 0 0 0 1px rgba(255,255,255,.05) inset, 0 0 30px rgba(255,172,56,.18) !important;
    position:relative;
    overflow:hidden;
  }
  .sponsor-banner::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(110deg, rgba(255,255,255,.15) 0%, rgba(255,255,255,0) 26%, rgba(255,255,255,.08) 49%, rgba(255,255,255,0) 70%);
    transform:translateX(-80%);
    animation:sponsorSweep 6s linear infinite;
    pointer-events:none;
  }
  @keyframes sponsorSweep{
    0%{transform:translateX(-80%)}
    100%{transform:translateX(130%)}
  }
  .spb-badge{
    background:linear-gradient(135deg, #ffd86e, #ff7a18) !important;
    color:#2f0b00 !important;
    font-size:11px !important;
    font-weight:1000 !important;
    letter-spacing:.14em !important;
    text-transform:uppercase;
    box-shadow:0 8px 20px rgba(255,138,24,.24);
  }
  .spb-name{
    color:#fff8dd !important;
    text-shadow:0 0 22px rgba(255,180,73,.18) !important;
  }
  .spb-copy{color:#fff !important}
  .spb-place{color:#ffe88e !important}
  .spb-adv{
    background:linear-gradient(135deg, rgba(255,255,255,.24), rgba(255,182,81,.18)) !important;
    border:1px solid rgba(255,235,184,.36) !important;
    color:#fff9e5 !important;
  }
  .header-weather-widget{
    min-width:320px;
    background:linear-gradient(135deg, rgba(6,12,27,.82), rgba(14,45,72,.68)) !important;
    border:1px solid rgba(0,229,255,.22) !important;
    box-shadow:0 14px 30px rgba(0,0,0,.22), 0 0 22px rgba(0,229,255,.08);
  }
  .header-weather-line{
    color:#f5fcff !important;
    font-weight:900 !important;
  }
  .header-weather-city-row{
    display:flex !important;
    align-items:center;
    gap:8px;
    margin-top:8px;
    max-height:none !important;
    opacity:1 !important;
    transform:none !important;
    pointer-events:auto !important;
  }
  .header-weather-input{
    flex:1;
    min-height:34px;
    padding:0 12px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.08);
    color:#fff;
    outline:none;
  }
  .header-weather-input::placeholder{color:rgba(255,255,255,.5)}
  .header-weather-ok, .header-weather-change{
    min-height:34px;
    border-radius:999px;
    padding:0 12px;
    border:1px solid rgba(0,229,255,.24);
    background:linear-gradient(135deg, rgba(255,0,122,.22), rgba(0,229,255,.16));
    color:#fff;
    font-weight:900;
    cursor:pointer;
  }
  .header-weather-change{display:none !important;}
  .header-weather-widget .city-help{
    display:block;
    margin-top:6px;
    color:rgba(255,255,255,.52);
    font-size:10px;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  @media (max-width: 1180px){
    .header-weather-widget{min-width:unset;width:100%;}
    .hdr{grid-template-columns:1fr !important;gap:12px;}
    .hdr-clock{width:100%;}
  }

/* ---- extracted block ---- */

/* Fix finale: immagine ben visibile sotto metadati + player sempre sopra */
  #nowCard.now-card{
    background: linear-gradient(90deg, rgba(4,6,16,.78) 0%, rgba(5,10,24,.58) 42%, rgba(4,10,26,.72) 100%) !important;
    position:relative !important;
    isolation:isolate;
  }
  #nowCard.now-card::before{
    content:'' !important;
    position:absolute !important;
    inset:0 !important;
    z-index:0 !important;
    background:
      linear-gradient(90deg, rgba(4,8,18,.12) 0%, rgba(4,8,18,.18) 20%, rgba(4,8,18,.42) 48%, rgba(4,8,18,.74) 78%, rgba(4,8,18,.9) 100%),
      url('../../step_p_assets/cult_metadata_bg.webp') left center / cover no-repeat !important;
    opacity:1 !important;
    filter:saturate(1.05) brightness(.92);
  }
  #nowCard.now-card::after{
    content:'' !important;
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    pointer-events:none !important;
    background:
      radial-gradient(circle at 18% 60%, rgba(255,0,122,.10), transparent 28%),
      radial-gradient(circle at 44% 58%, rgba(0,229,255,.12), transparent 22%),
      linear-gradient(90deg, rgba(255,255,255,.02), transparent 30%, rgba(255,255,255,.025) 62%, transparent 100%) !important;
    mix-blend-mode:screen;
    opacity:.95 !important;
  }
  #nowCard .live-badge,
  #nowCard .now-program,
  #nowCard .now-title,
  #nowCard .now-artist,
  #nowCard .now-next,
  #nowCard .meta-player-controls,
  #nowCard .viz,
  #nowCard .prog-spot,
  #nowCard .sponsor-banner{
    position:relative !important;
    z-index:5 !important;
  }
  #metaPlayerControls.meta-player-controls{
    min-height:74px !important;
    padding:14px 16px !important;
    overflow:visible !important;
    align-items:center !important;
    gap:14px !important;
    background:linear-gradient(135deg, rgba(12,20,34,.72), rgba(22,53,79,.44)) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    box-shadow:0 16px 38px rgba(0,0,0,.30), 0 0 28px rgba(0,229,255,.10), inset 0 1px 0 rgba(255,255,255,.10) !important;
    backdrop-filter:blur(10px);
  }
  #metaPlayerControls::before{opacity:.38 !important;}
  #mainPlay.meta-play-btn{
    position:relative !important;
    z-index:8 !important;
    min-width:132px !important;
    height:48px !important;
    display:inline-flex !important;
    visibility:visible !important;
    transform:none !important;
    box-shadow:0 10px 28px rgba(255,0,122,.28), 0 0 22px rgba(255,0,122,.22) !important;
  }
  #mainPlay .meta-play-text{position:relative; z-index:2;}
  #volumeRange{
    position:relative !important;
    z-index:8 !important;
    height:8px !important;
  }
  .meta-volume{
    min-width:220px !important;
    flex:1 1 260px !important;
    position:relative !important;
    z-index:8 !important;
  }
  #btnSongHistory.meta-history-btn{
    position:relative !important;
    z-index:8 !important;
    min-height:44px !important;
    display:inline-flex !important;
    align-items:center !important;
  }
  @media (max-width: 1100px){
    #metaPlayerControls.meta-player-controls{min-height:unset !important;}
    .meta-volume{min-width:160px !important;}
    #mainPlay.meta-play-btn{min-width:110px !important; height:44px !important;}
  }

/* ---- extracted block ---- */

/* STEP I — chiarezza meteo + metadati più integrati + contattaci */
  .header-weather-widget .city-help{display:none !important;}
  .header-weather-widget{
    width:320px !important; min-width:320px !important; padding:10px 12px 12px !important;
    border-radius:18px !important; display:flex !important; flex-direction:column !important; gap:6px !important;
    background:linear-gradient(135deg, rgba(4,10,24,.86), rgba(9,18,34,.72)) !important;
    box-shadow:0 12px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08) !important;
  }
  .header-weather-line{font-size:12px !important; line-height:1.25 !important;}
  .header-weather-label{
    font-size:9px !important; font-weight:900 !important; letter-spacing:.18em !important; text-transform:uppercase !important;
    color:#8ff4ff !important; margin-top:2px !important;
  }
  .header-weather-city-row{display:flex !important; gap:8px !important; margin-top:0 !important;}
  .header-weather-city-row.open{display:flex !important;}
  .header-weather-input{
    flex:1 !important; min-width:0 !important; min-height:34px !important; border-radius:12px !important;
    background:rgba(255,255,255,.08) !important; border:1px solid rgba(255,255,255,.14) !important;
    padding:0 12px !important; color:#fff !important; font-size:11px !important;
  }
  .header-weather-input::placeholder{color:rgba(255,255,255,.55) !important;}
  .header-weather-ok{
    min-height:34px !important; border-radius:12px !important; padding:0 14px !important; white-space:nowrap !important;
    font-size:10px !important; font-weight:900 !important; letter-spacing:.08em !important;
    background:linear-gradient(135deg,#00e5ff,#22bfff) !important; color:#04111d !important;
    box-shadow:0 10px 18px rgba(0,229,255,.16) !important;
  }
  .header-weather-change{display:none !important;}
  
  #nowCard.now-card{
    background:linear-gradient(112deg, rgba(6,8,18,.92) 0%, rgba(4,8,18,.78) 36%, rgba(4,9,22,.92) 100%) !important;
    position:relative !important; isolation:isolate !important;
  }
  #nowCard.now-card::before{
    content:'' !important; position:absolute !important; inset:0 !important; z-index:0 !important; pointer-events:none !important;
    background:
      linear-gradient(90deg, rgba(8,10,20,.14) 0%, rgba(8,10,20,.18) 16%, rgba(8,10,20,.40) 42%, rgba(8,10,20,.76) 74%, rgba(8,10,20,.92) 100%),
      url('../../step_p_assets/cult_metadata_bg.webp') left center / cover no-repeat !important;
    opacity:1 !important; filter:saturate(1.05) brightness(.95) !important;
  }
  #nowCard.now-card::after{
    content:'' !important; position:absolute !important; inset:0 !important; z-index:1 !important; pointer-events:none !important;
    background:
      radial-gradient(circle at 22% 66%, rgba(255,0,122,.14), transparent 26%),
      radial-gradient(circle at 44% 58%, rgba(0,229,255,.12), transparent 24%),
      linear-gradient(115deg, rgba(255,255,255,.04), transparent 28%, transparent 60%, rgba(0,229,255,.05) 84%, transparent 100%) !important;
    mix-blend-mode:screen; opacity:.9 !important;
  }
  #nowCard > *{position:relative !important; z-index:5 !important;}
  #nowCard .live-badge{margin-bottom:10px !important;}
  #nowProgram{max-width:72% !important;}
  #nowTitle{
    max-width:74% !important; margin-bottom:9px !important; line-height:.9 !important;
    text-shadow:0 0 24px rgba(0,0,0,.28), 0 0 36px rgba(255,255,255,.08) !important;
  }
  #nowArtist{max-width:68% !important; margin-bottom:8px !important; text-shadow:0 0 18px rgba(0,0,0,.34) !important;}
  #nowNext{max-width:70% !important; margin-bottom:14px !important; color:#d7e4f3 !important; text-shadow:0 0 12px rgba(0,0,0,.24) !important;}
  #metaPlayerControls.meta-player-controls{
    margin-top:6px !important; background:linear-gradient(135deg, rgba(11,19,34,.76), rgba(20,46,68,.46)) !important;
    border:1px solid rgba(255,255,255,.16) !important; border-radius:18px !important;
    box-shadow:0 16px 36px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08) !important;
    backdrop-filter:blur(12px) !important;
  }
  #mainPlay.meta-play-btn{min-width:138px !important; box-shadow:0 12px 24px rgba(255,0,122,.18), 0 0 18px rgba(255,0,122,.16) !important;}
  #volumeRange{position:relative !important; z-index:9 !important;}
  .viz{background:linear-gradient(135deg, rgba(11,20,34,.38), rgba(10,32,49,.24)) !important; border:1px solid rgba(255,255,255,.08) !important; border-radius:18px !important; padding:10px !important;}
  .prog-spot{background:linear-gradient(135deg, rgba(8,15,28,.58), rgba(8,27,43,.34)) !important; border:1px solid rgba(255,255,255,.08) !important;}
  .sponsor-banner{background:linear-gradient(90deg, rgba(255,160,0,.18), rgba(255,0,122,.16), rgba(0,229,255,.14)) !important; border:1px solid rgba(255,196,86,.32) !important;}
  .spb-badge{background:#ffc94d !important; color:#2b1600 !important; box-shadow:0 8px 20px rgba(255,201,77,.18) !important;}
  
  .contact-dock{
    position:fixed !important; right:14px !important; bottom:44px !important; z-index:14 !important;
    display:flex !important; align-items:center !important; gap:10px !important; flex-wrap:wrap !important;
    padding:10px 12px !important; border-radius:18px !important;
    background:linear-gradient(135deg, rgba(7,12,24,.92), rgba(9,18,34,.82)) !important;
    border:1px solid rgba(255,255,255,.12) !important; box-shadow:0 18px 42px rgba(0,0,0,.30), 0 0 20px rgba(0,229,255,.08) !important;
    backdrop-filter:blur(12px) !important;
  }
  .contact-dock-title{font-size:11px !important; font-weight:900 !important; letter-spacing:.16em !important; text-transform:uppercase !important; color:#8ff4ff !important; margin-right:2px !important;}
  .contact-dock-actions{display:flex !important; gap:8px !important; flex-wrap:wrap !important;}
  .contact-btn{
    display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:8px !important;
    min-height:38px !important; padding:0 14px !important; border-radius:999px !important; text-decoration:none !important;
    font-size:12px !important; font-weight:900 !important; letter-spacing:.02em !important; color:#fff !important;
    border:1px solid rgba(255,255,255,.10) !important; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
  }
  .contact-btn:hover{transform:translateY(-1px) !important;}
  .contact-btn.wa{background:linear-gradient(135deg, #17c964, #10b981) !important; box-shadow:0 10px 22px rgba(23,201,100,.18) !important;}
  .contact-btn.mail{background:linear-gradient(135deg, #ff2d7a, #ff6aa2) !important; box-shadow:0 10px 22px rgba(255,45,122,.18) !important;}
  @media (max-width: 1180px){
    .header-weather-widget{width:100% !important; min-width:0 !important;}
    #nowTitle{max-width:100% !important;}
    #nowArtist,#nowNext,#nowProgram{max-width:100% !important;}
    .contact-dock{left:10px !important; right:10px !important; bottom:42px !important; justify-content:center !important;}
    .contact-dock-title{width:100% !important; text-align:center !important; margin-right:0 !important;}
  }

/* ---- extracted block ---- */

/* STEP J */
  .contact-dock{display:none !important;}
  .dash{grid-template-rows:repeat(6,minmax(74px,1fr)) !important;}
  .now-card{grid-row:1/7 !important;}
  #btnContactMain{
    background:
      radial-gradient(circle at 18% 22%, rgba(255,91,174,.26), transparent 40%),
      radial-gradient(circle at 84% 84%, rgba(0,229,255,.18), transparent 44%),
      linear-gradient(135deg, rgba(255,255,255,.09), rgba(255,255,255,.025)) !important;
    border-color:rgba(255,255,255,.16) !important;
  }
  #btnContactMain::before{
    background:linear-gradient(135deg,#ff2d7a,#ff6ab1 52%,#00e5ff) !important;
    opacity:.38 !important;
  }
  #btnContactMain .db-icon{
    background:linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.07)) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 10px 24px rgba(0,0,0,.24), 0 0 24px rgba(255,45,122,.14) !important;
  }
  .contact-drawer-grid{display:grid;gap:12px;}
  .contact-drawer-card{
    display:grid;grid-template-columns:60px 1fr;gap:14px;align-items:center;
    min-height:78px;padding:14px 16px;border-radius:18px;text-decoration:none;color:#fff;
    background:linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 12px 30px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  }
  .contact-drawer-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.2);box-shadow:0 16px 32px rgba(0,0,0,.25), 0 0 24px rgba(0,229,255,.08);}
  .contact-drawer-card.ig{background:linear-gradient(135deg, rgba(255,45,122,.18), rgba(120,71,255,.12));}
  .contact-drawer-card.mail{background:linear-gradient(135deg, rgba(255,111,158,.16), rgba(255,255,255,.03));}
  .contact-drawer-card.wa{background:linear-gradient(135deg, rgba(23,201,100,.16), rgba(0,229,255,.07));}
  .contact-drawer-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-weight:900;font-size:20px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);}
  .contact-drawer-meta strong{display:block;font-family:'Orbitron',sans-serif;font-size:18px;line-height:1.1;letter-spacing:.03em;}
  .contact-drawer-meta span{display:block;margin-top:5px;font-size:12px;font-weight:800;color:rgba(231,242,255,.74);}

  .header-weather-widget{
    width:350px !important; min-width:350px !important; min-height:118px !important;
    display:flex !important; flex-direction:column !important; justify-content:flex-start !important; gap:6px !important;
    padding:10px 12px 12px !important; overflow:visible !important;
  }
  .header-weather-line{font-size:12px !important; line-height:1.2 !important;}
  .header-weather-label{font-size:10px !important; font-weight:950 !important; letter-spacing:.16em !important; color:#84f6ff !important;}
  .header-weather-hint{font-size:9px !important; color:rgba(212,234,255,.56) !important; line-height:1.25 !important;}
  .header-weather-city-row, .header-weather-city-row.open{
    display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; gap:8px !important; width:100% !important;
    opacity:1 !important; visibility:visible !important; max-height:none !important;
  }
  .header-weather-input{
    display:block !important; width:100% !important; min-width:0 !important; min-height:36px !important;
    border-radius:12px !important; background:rgba(255,255,255,.08) !important; color:#fff !important;
    border:1px solid rgba(255,255,255,.16) !important; padding:0 12px !important; opacity:1 !important; visibility:visible !important;
  }
  .header-weather-ok{min-height:36px !important; padding:0 14px !important; border-radius:12px !important; white-space:nowrap !important;}
  .header-weather-change{display:none !important;}
  @media (max-width: 1180px){
    .dash{grid-template-columns:1fr !important; grid-template-rows:minmax(320px,1fr) repeat(6,84px) !important;}
    .now-card{grid-row:1 !important;}
    .header-weather-widget{width:100% !important; min-width:0 !important; min-height:128px !important;}
  }

/* ---- extracted block ---- */

/* FIX: sponsor sempre visibile nel riquadro metadati anche con il nuovo pulsante CONTATTACI */
  #nowCard.now-card{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
    overflow:hidden !important;
  }
  #nowCard .sponsor-banner{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    flex-shrink:0 !important;
    min-height:78px !important;
    margin-top:auto !important;
    margin-bottom:0 !important;
    z-index:12 !important;
    position:relative !important;
    background:linear-gradient(90deg, rgba(255,179,0,.30), rgba(255,45,122,.24) 42%, rgba(0,229,255,.16) 100%) !important;
    border:1px solid rgba(255,213,99,.42) !important;
    box-shadow:0 16px 38px rgba(0,0,0,.28), 0 0 34px rgba(255,179,0,.14), inset 0 1px 0 rgba(255,255,255,.12) !important;
  }
  #nowCard .spb-badge{
    background:linear-gradient(135deg,#ffd65a,#ff9f1c) !important;
    color:#251000 !important;
    font-weight:1000 !important;
  }
  #nowCard .spb-name{color:#fff !important; text-shadow:0 0 22px rgba(255,193,77,.18) !important;}
  #nowCard .spb-copy{color:#fff !important;}
  #nowCard .spb-place{color:#ffe996 !important;}
  #nowCard .prog-spot{flex-shrink:0 !important; min-height:58px !important;}
  #nowCard .viz{flex-shrink:0 !important;}
  #nowCard #metaPlayerControls{flex-shrink:0 !important;}
  #nowCard .now-spacer{display:none !important;}
  @media (max-height: 820px){
    #nowCard .sponsor-banner{min-height:68px !important;}
    #nowCard .spb-name{font-size:28px !important;}
    #nowCard .spb-copy{font-size:11px !important;}
    #nowCard .prog-spot{min-height:54px !important;}
    #nowCard .viz{height:58px !important;}
  }
  @media (max-height: 760px){
    #nowCard .sponsor-banner{min-height:62px !important; padding:10px 12px !important;}
    #nowCard .spb-name{font-size:24px !important;}
    #nowCard .spb-copy{font-size:10px !important;}
    #nowCard .spb-place{font-size:8px !important;}
    #nowCard .prog-spot{min-height:48px !important; padding:8px 10px !important;}
    #nowCard .viz{height:50px !important; margin:8px 0 !important;}
  }

/* ---- extracted block ---- */

/* STEP K: fix definitivo meteo / contatti / sponsor */
  .hdr{
    height:122px !important;
    min-height:122px !important;
    max-height:122px !important;
    display:grid !important;
    grid-template-columns:minmax(245px,340px) minmax(260px,1fr) minmax(340px,390px) minmax(125px,180px) !important;
    grid-template-areas:"brand clock weather user" !important;
    align-items:center !important;
    gap:14px !important;
    padding:10px 18px !important;
    overflow:visible !important;
    position:relative !important;
    z-index:40 !important;
  }
  .hdr-brand{grid-area:brand !important; min-width:0 !important; align-self:center !important;}
  .hdr-clock.clock-clean{
    grid-area:clock !important;
    width:100% !important;
    max-width:560px !important;
    min-width:0 !important;
    justify-self:center !important;
    align-self:center !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto !important;
    grid-template-areas:"date" "time" !important;
    padding:11px 18px !important;
    height:auto !important;
    min-height:74px !important;
    overflow:hidden !important;
  }
  .clock-date-line{grid-area:date !important;}
  .clock-time-line{grid-area:time !important;}
  .header-weather-widget{
    grid-area:weather !important;
    width:100% !important;
    min-width:0 !important;
    max-width:390px !important;
    height:auto !important;
    min-height:98px !important;
    max-height:112px !important;
    justify-self:stretch !important;
    align-self:center !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:5px !important;
    padding:10px 12px !important;
    overflow:visible !important;
    position:relative !important;
    z-index:55 !important;
    pointer-events:auto !important;
    background:linear-gradient(135deg,rgba(5,12,27,.96),rgba(7,24,42,.88)) !important;
    border:1px solid rgba(0,229,255,.28) !important;
    border-radius:18px !important;
    box-shadow:0 16px 34px rgba(0,0,0,.26),0 0 26px rgba(0,229,255,.10),inset 0 1px 0 rgba(255,255,255,.10) !important;
  }
  .header-weather-kicker{font-size:8px !important; letter-spacing:.18em !important; color:#78f5ff !important; font-weight:950 !important; line-height:1 !important;}
  .header-weather-line{font-size:11px !important; color:#fff !important; font-weight:900 !important; line-height:1.1 !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important;}
  .header-weather-label{display:block !important; font-size:9px !important; line-height:1 !important; letter-spacing:.14em !important; text-transform:uppercase !important; color:#8ff4ff !important; font-weight:950 !important;}
  .header-weather-city-row,
  .header-weather-city-row.open{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:7px !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    pointer-events:auto !important;
    margin:0 !important;
  }
  .header-weather-input{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    height:32px !important;
    min-height:32px !important;
    padding:0 11px !important;
    border-radius:11px !important;
    border:1px solid rgba(255,255,255,.20) !important;
    background:rgba(255,255,255,.10) !important;
    color:#fff !important;
    font-size:12px !important;
    font-weight:800 !important;
    outline:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    position:relative !important;
    z-index:80 !important;
  }
  .header-weather-input::placeholder{color:rgba(255,255,255,.62) !important;}
  .header-weather-input:focus{border-color:#00e5ff !important; box-shadow:0 0 0 3px rgba(0,229,255,.12),0 0 20px rgba(0,229,255,.18) !important;}
  .header-weather-ok{
    height:32px !important;
    min-height:32px !important;
    padding:0 12px !important;
    border-radius:11px !important;
    border:0 !important;
    background:linear-gradient(135deg,#00e5ff,#67f6ff) !important;
    color:#04111d !important;
    font-size:10px !important;
    font-weight:950 !important;
    letter-spacing:.08em !important;
    cursor:pointer !important;
    pointer-events:auto !important;
    position:relative !important;
    z-index:80 !important;
  }
  .header-weather-hint{display:block !important; font-size:8px !important; line-height:1 !important; color:rgba(225,242,255,.56) !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important;}
  .header-weather-change,.header-weather-widget .city-help{display:none !important;}
  .hdr-user{grid-area:user !important; justify-self:end !important; align-self:center !important; position:relative !important; z-index:56 !important;}

  .almanac-strip{position:relative !important; z-index:30 !important;}
  .dash{
    grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr) !important;
    grid-template-rows:repeat(6,minmax(72px,1fr)) !important;
    gap:10px !important;
    padding:10px 16px 10px !important;
    min-height:0 !important;
    overflow:hidden !important;
  }
  #nowCard.now-card{
    grid-column:1 !important;
    grid-row:1 / 7 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:6px !important;
    padding:18px 20px 14px !important;
    overflow:hidden !important;
  }
  #nowTitle.now-title{
    font-size:clamp(38px,4.6vw,72px) !important;
    line-height:.84 !important;
    max-height:170px !important;
    overflow:hidden !important;
    display:-webkit-box !important;
    -webkit-line-clamp:3 !important;
    -webkit-box-orient:vertical !important;
  }
  #nowArtist.now-artist{font-size:clamp(17px,1.8vw,27px) !important; line-height:1.05 !important; margin-bottom:2px !important; max-height:34px !important; overflow:hidden !important;}
  #nowNext.now-next{padding-bottom:2px !important; margin-bottom:4px !important; max-height:22px !important; overflow:hidden !important;}
  #metaPlayerControls.meta-player-controls{min-height:56px !important; margin:6px 0 4px !important; padding:9px 12px !important; flex-shrink:0 !important;}
  #viz.viz{height:54px !important; min-height:54px !important; margin:4px 0 4px !important; padding:8px !important; flex-shrink:0 !important;}
  #progSpot.prog-spot{min-height:54px !important; margin-top:4px !important; padding:8px 12px !important; flex-shrink:0 !important;}
  #sponsorBanner.sponsor-banner{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    grid-template-columns:auto minmax(0,1fr) auto !important;
    align-items:center !important;
    min-height:76px !important;
    max-height:88px !important;
    padding:11px 14px !important;
    margin-top:auto !important;
    flex-shrink:0 !important;
    z-index:70 !important;
    transform:none !important;
    background:linear-gradient(90deg,rgba(255,166,0,.30),rgba(255,0,122,.28),rgba(0,229,255,.18)) !important;
    border:1px solid rgba(255,211,98,.45) !important;
    box-shadow:0 16px 34px rgba(0,0,0,.30),0 0 30px rgba(255,175,40,.20),inset 0 1px 0 rgba(255,255,255,.13) !important;
  }
  #sponsorBanner .spb-badge{background:linear-gradient(135deg,#ffe36f,#ff9d2f) !important; color:#2e1200 !important; font-weight:1000 !important;}
  #sponsorBanner .spb-name{font-size:clamp(28px,2.6vw,40px) !important; color:#fff !important;}
  #sponsorBanner .spb-copy{font-size:12px !important; color:#fff !important;}
  #sponsorBanner .spb-place{color:#fff0a8 !important;}

  #btnContactMain{display:grid !important; grid-column:2 !important; min-height:0 !important; cursor:pointer !important;}
  #btnContactMain .db-label{color:#fff !important;}
  #drwContact{z-index:160 !important;}
  #drwContact.open{pointer-events:auto !important;}
  .contact-drawer-grid{display:grid !important; gap:12px !important;}
  .contact-drawer-card{display:grid !important; grid-template-columns:60px 1fr !important; gap:14px !important; align-items:center !important; min-height:78px !important; padding:14px 16px !important; border-radius:18px !important; text-decoration:none !important; color:#fff !important; background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.03)) !important; border:1px solid rgba(255,255,255,.13) !important;}
  .contact-drawer-icon{width:54px !important; height:54px !important; border-radius:16px !important; display:grid !important; place-items:center !important; font-weight:1000 !important; font-size:20px !important; background:rgba(255,255,255,.12) !important;}
  .contact-drawer-meta strong{display:block !important; font-family:'Orbitron',sans-serif !important; font-size:18px !important;}
  .contact-drawer-meta span{display:block !important; margin-top:5px !important; font-size:12px !important; color:rgba(231,242,255,.78) !important;}
  .contact-drawer-card.ig{background:linear-gradient(135deg,rgba(255,45,122,.20),rgba(120,71,255,.15)) !important;}
  .contact-drawer-card.mail{background:linear-gradient(135deg,rgba(255,111,158,.18),rgba(255,255,255,.04)) !important;}
  .contact-drawer-card.wa{background:linear-gradient(135deg,rgba(23,201,100,.20),rgba(0,229,255,.08)) !important;}

  @media (max-width:1180px){
    .hdr{height:auto !important; max-height:none !important; grid-template-columns:1fr !important; grid-template-areas:"brand" "clock" "weather" "user" !important; gap:8px !important; padding:10px !important;}
    .hdr-clock.clock-clean{max-width:100% !important;}
    .header-weather-widget{max-width:none !important; width:100% !important; min-height:108px !important;}
    .dash{grid-template-columns:1fr !important; grid-template-rows:minmax(320px,1fr) repeat(6,78px) !important; overflow:auto !important;}
    #nowCard.now-card{grid-column:1 !important; grid-row:1 !important; min-height:420px !important;}
    #btnContactMain{grid-column:1 !important;}
  }

/* ---- extracted block ---- */

/* STEP L — contatti con loghi, meteo chiaro, header senza sovrapposizioni */
.hdr{
  height:112px !important;
  min-height:112px !important;
  max-height:112px !important;
  display:grid !important;
  grid-template-columns:340px minmax(390px,1fr) 360px 190px !important;
  grid-template-areas:"brand clock weather user" !important;
  align-items:center !important;
  gap:18px !important;
  padding:10px 24px !important;
  overflow:visible !important;
  z-index:30 !important;
}
.hdr-brand{grid-area:brand !important; min-width:0 !important;}
.hdr-clock.clock-clean{
  grid-area:clock !important;
  width:100% !important;
  max-width:640px !important;
  min-width:0 !important;
  justify-self:center !important;
  align-self:center !important;
  position:relative !important;
  top:auto !important;
  transform:none !important;
  z-index:2 !important;
  grid-template-columns:1fr !important;
  grid-template-areas:"date" "time" !important;
  padding:14px 28px !important;
}
.hdr-user{grid-area:user !important; justify-self:end !important; min-width:0 !important;}
.header-weather-widget{
  grid-area:weather !important;
  position:relative !important;
  inset:auto !important;
  transform:none !important;
  justify-self:stretch !important;
  align-self:center !important;
  width:100% !important;
  min-width:0 !important;
  max-width:360px !important;
  height:92px !important;
  min-height:92px !important;
  max-height:92px !important;
  padding:9px 12px !important;
  display:grid !important;
  grid-template-columns:1fr auto !important;
  grid-template-rows:auto auto auto !important;
  grid-template-areas:
    "kicker kicker"
    "line line"
    "label form" !important;
  gap:4px 8px !important;
  overflow:visible !important;
  background:linear-gradient(135deg,rgba(5,10,24,.92),rgba(8,22,39,.78)) !important;
  border:1px solid rgba(0,229,255,.22) !important;
  box-shadow:0 14px 32px rgba(0,0,0,.22),0 0 22px rgba(0,229,255,.08),inset 0 1px 0 rgba(255,255,255,.08) !important;
  border-radius:18px !important;
  z-index:4 !important;
}
.header-weather-kicker{grid-area:kicker !important; font-size:8px !important; line-height:1 !important; letter-spacing:.18em !important; color:#83f7ff !important; font-weight:950 !important;}
.header-weather-line{grid-area:line !important; font-size:11px !important; line-height:1.15 !important; color:#fff !important; font-weight:900 !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important;}
.header-weather-label{
  grid-area:label !important;
  display:flex !important;
  align-items:center !important;
  min-width:92px !important;
  font-size:8px !important;
  line-height:1.05 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  color:#8ff4ff !important;
  font-weight:950 !important;
}
.header-weather-city-row,
.header-weather-city-row.open{
  grid-area:form !important;
  display:grid !important;
  grid-template-columns:minmax(118px,1fr) 42px !important;
  align-items:center !important;
  gap:5px !important;
  margin:0 !important;
  width:100% !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  max-height:none !important;
  transform:none !important;
}
.header-weather-input{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  height:30px !important;
  min-height:30px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.09) !important;
  color:#fff !important;
  padding:0 9px !important;
  font-size:11px !important;
  font-weight:800 !important;
  outline:none !important;
  pointer-events:auto !important;
  opacity:1 !important;
  visibility:visible !important;
  user-select:text !important;
  -webkit-user-select:text !important;
}
.header-weather-input::placeholder{color:rgba(255,255,255,.58) !important;}
.header-weather-input:focus{border-color:#00e5ff !important; box-shadow:0 0 0 3px rgba(0,229,255,.12),0 0 18px rgba(0,229,255,.16) !important;}
.header-weather-ok{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:30px !important;
  min-height:30px !important;
  padding:0 8px !important;
  border-radius:10px !important;
  border:0 !important;
  background:linear-gradient(135deg,#00e5ff,#76fbff) !important;
  color:#03121d !important;
  font-size:9px !important;
  font-weight:1000 !important;
  letter-spacing:.03em !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  white-space:nowrap !important;
}
.header-weather-hint,.header-weather-change,.header-weather-widget .city-help{display:none !important;}
/* ripulisce eventuali overlay o vecchi comportamenti dentro header */
.hdr *{box-sizing:border-box !important;}
.almanac-strip{position:relative !important; z-index:20 !important;}
/* sponsor sempre leggibile nel now playing */
#nowCard.now-card{gap:8px !important; padding-bottom:16px !important;}
#nowTitle{font-size:clamp(38px,4.2vw,68px) !important; max-height:190px !important; overflow:hidden !important;}
#nowArtist{font-size:clamp(17px,1.65vw,24px) !important;}
#metaPlayerControls{margin:8px 0 !important; min-height:68px !important;}
#viz.viz{height:62px !important; min-height:62px !important; margin:4px 0 !important;}
#progSpot.prog-spot{min-height:66px !important; max-height:76px !important; margin-top:2px !important;}
#sponsorBanner.sponsor-banner{
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
  min-height:82px !important;
  height:82px !important;
  max-height:82px !important;
  margin-top:auto !important;
  flex-shrink:0 !important;
  overflow:hidden !important;
}
/* drawer contatti con loghi veri/simili, non sigle buttate lì */
#drwContact .contact-drawer-grid{gap:14px !important;}
#drwContact .contact-drawer-card{
  grid-template-columns:72px 1fr !important;
  min-height:90px !important;
  border-radius:20px !important;
}
#drwContact .contact-drawer-icon{
  width:62px !important;
  height:62px !important;
  border-radius:20px !important;
  font-size:0 !important;
  overflow:hidden !important;
  background:rgba(255,255,255,.10) !important;
}
#drwContact .contact-drawer-icon svg{width:36px !important; height:36px !important; display:block !important;}
#drwContact .contact-drawer-card.ig .contact-drawer-icon{background:radial-gradient(circle at 30% 110%,#ffdd55 0 18%,transparent 19%),linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045) !important;}
#drwContact .contact-drawer-card.wa .contact-drawer-icon{background:linear-gradient(135deg,#25D366,#128C7E) !important;}
#drwContact .contact-drawer-card.mail .contact-drawer-icon{background:linear-gradient(135deg,#ff4d8d,#ff89b3) !important;}
#drwContact .contact-drawer-meta strong{font-size:20px !important;}
#drwContact .contact-drawer-meta span{font-size:13px !important;}
@media (max-width:1180px){
  .hdr{
    height:auto !important; min-height:0 !important; max-height:none !important;
    grid-template-columns:1fr auto !important;
    grid-template-areas:"brand user" "clock clock" "weather weather" !important;
    padding:10px 12px !important;
  }
  .hdr-clock.clock-clean{max-width:100% !important;}
  .header-weather-widget{max-width:none !important; height:auto !important; min-height:92px !important; max-height:none !important;}
}

/* ---- extracted block ---- */

/* STEP M — meteo in asse, sponsor più leggibile, mobile guardrail */
.hdr{
  display:grid !important;
  grid-template-columns:minmax(230px,.78fr) minmax(420px,560px) minmax(330px,360px) minmax(135px,.45fr) !important;
  grid-template-areas:"brand clock weather user" !important;
  align-items:center !important;
  gap:18px !important;
  min-height:112px !important;
  height:112px !important;
  padding:12px 24px !important;
  overflow:hidden !important;
}
.hdr-brand{grid-area:brand !important; min-width:0 !important;}
.hdr-clock.clock-clean{
  grid-area:clock !important;
  width:100% !important;
  min-width:0 !important;
  max-width:560px !important;
  justify-self:center !important;
  align-self:center !important;
}
.hdr-user{grid-area:user !important; justify-self:end !important; min-width:0 !important;}
.header-weather-widget{
  grid-area:weather !important;
  justify-self:stretch !important;
  align-self:center !important;
  position:relative !important;
  inset:auto !important;
  transform:none !important;
  width:100% !important;
  min-width:0 !important;
  max-width:360px !important;
  height:auto !important;
  min-height:88px !important;
  max-height:98px !important;
  padding:9px 11px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-rows:auto auto 32px !important;
  grid-template-areas:
    "kicker kicker"
    "line line"
    "input button" !important;
  gap:5px 8px !important;
  overflow:hidden !important;
  border-radius:17px !important;
  background:linear-gradient(135deg,rgba(4,10,24,.92),rgba(8,21,37,.76)) !important;
  border:1px solid rgba(0,229,255,.22) !important;
  box-shadow:0 12px 26px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.header-weather-kicker{grid-area:kicker !important; margin:0 !important; font-size:8px !important; line-height:1 !important; letter-spacing:.18em !important;}
.header-weather-line{grid-area:line !important; margin:0 !important; font-size:11px !important; line-height:1.15 !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important;}
.header-weather-label,.header-weather-hint,.header-weather-change,.header-weather-widget .city-help{display:none !important;}
.header-weather-city-row,.header-weather-city-row.open{
  display:contents !important;
  position:static !important;
  inset:auto !important;
  transform:none !important;
  width:auto !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
.header-weather-input{
  grid-area:input !important;
  position:relative !important;
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:32px !important;
  min-height:32px !important;
  padding:0 11px !important;
  margin:0 !important;
  border-radius:11px !important;
  font-size:11px !important;
  font-weight:800 !important;
  background:rgba(255,255,255,.09) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.18) !important;
  outline:none !important;
  box-sizing:border-box !important;
  z-index:3 !important;
}
.header-weather-input::placeholder{color:rgba(255,255,255,.58) !important;}
.header-weather-ok{
  grid-area:button !important;
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:78px !important;
  height:32px !important;
  min-height:32px !important;
  padding:0 10px !important;
  margin:0 !important;
  border-radius:11px !important;
  font-size:9px !important;
  font-weight:950 !important;
  letter-spacing:.08em !important;
  background:linear-gradient(135deg,#00e5ff,#78f7ff) !important;
  color:#06101d !important;
  border:0 !important;
  cursor:pointer !important;
  z-index:3 !important;
}
#sponsorBanner.sponsor-banner{
  flex:0 0 96px !important;
  min-height:96px !important;
  height:96px !important;
  padding:16px 18px !important;
  margin-top:10px !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  gap:14px !important;
  align-items:center !important;
  overflow:hidden !important;
  background:linear-gradient(90deg,rgba(255,173,42,.32),rgba(255,0,122,.23),rgba(0,229,255,.15)) !important;
  border:1px solid rgba(255,205,104,.42) !important;
  box-shadow:0 14px 34px rgba(255,145,42,.12),0 0 30px rgba(0,229,255,.09),inset 0 1px 0 rgba(255,255,255,.1) !important;
}
#sponsorBanner .spb-badge{font-size:10px !important; padding:8px 12px !important; border-radius:999px !important; background:#ffd460 !important; color:#2b1400 !important;}
#sponsorBanner .spb-name{font-size:clamp(34px,3vw,48px) !important; line-height:.86 !important; color:#fff !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important;}
#sponsorBanner .spb-copy{font-size:13px !important; line-height:1.15 !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; color:#fff !important;}
#sponsorBanner .spb-place{font-size:10px !important; line-height:1.1 !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; color:#ffe58e !important;}
#sponsorBanner .spb-adv{font-size:9px !important; padding:6px 9px !important;}

@media (max-width: 1280px){
  .hdr{grid-template-columns:minmax(210px,.75fr) minmax(360px,480px) minmax(285px,320px) minmax(120px,.42fr) !important; gap:12px !important; padding:10px 16px !important;}
  .header-weather-widget{max-width:320px !important;}
  #sponsorBanner.sponsor-banner{min-height:88px !important; height:88px !important; flex-basis:88px !important; padding:13px 15px !important;}
  #sponsorBanner .spb-name{font-size:clamp(30px,2.6vw,40px) !important;}
}
@media (max-width: 900px){
  html,body{height:auto !important; min-height:100% !important; overflow-y:auto !important; overflow-x:hidden !important;}
  .hdr{
    height:auto !important; min-height:0 !important;
    grid-template-columns:1fr !important;
    grid-template-areas:"brand" "clock" "weather" "user" !important;
    gap:10px !important; padding:12px !important; overflow:visible !important;
  }
  .hdr-brand,.hdr-clock.clock-clean,.header-weather-widget,.hdr-user{justify-self:stretch !important; max-width:none !important; width:100% !important;}
  .hdr-user{justify-content:space-between !important;}
  .header-weather-widget{height:auto !important; max-height:none !important; min-height:92px !important;}
  .dash{height:auto !important; min-height:0 !important; grid-template-columns:1fr !important; grid-template-rows:auto repeat(6,84px) !important; overflow:visible !important; padding:10px !important; gap:10px !important;}
  .now-card{grid-column:1 !important; grid-row:1 !important; min-height:620px !important;}
  .db{grid-column:1 !important; min-height:84px !important;}
  #sponsorBanner.sponsor-banner{min-height:82px !important; height:auto !important; flex-basis:auto !important; grid-template-columns:1fr auto !important;}
  #sponsorBanner .spb-badge{grid-column:1 / -1 !important; width:max-content !important;}
  #sponsorBanner .spb-name{font-size:30px !important;}
}

/* ---- extracted block ---- */

/* STEP N — ripristino almanacco del giorno visibile */
  #app{
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
  }
  .hdr{flex:0 0 auto !important;}
  #almanacStrip.almanac-strip{
    display:flex !important;
    align-items:center !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    z-index:65 !important;
    flex:0 0 34px !important;
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
    width:100% !important;
    overflow:hidden !important;
    background:linear-gradient(90deg, rgba(5,8,20,.98), rgba(8,18,34,.96), rgba(5,8,20,.98)) !important;
    border-top:1px solid rgba(0,229,255,.16) !important;
    border-bottom:1px solid rgba(255,255,255,.10) !important;
    box-shadow:0 8px 22px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.05) !important;
    backdrop-filter:blur(12px) !important;
  }
  #almanacStrip .almanac-lbl{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 auto !important;
    height:34px !important;
    min-width:160px !important;
    padding:0 28px 0 14px !important;
    background:linear-gradient(135deg,#ff2d7a,#9b1bb8) !important;
    color:#fff !important;
    clip-path:polygon(0 0, calc(100% - 14px) 0, 100% 100%, 0 100%) !important;
    font-size:9px !important;
    font-weight:1000 !important;
    letter-spacing:.18em !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
  }
  #almanacStrip .almanac-lbl::after{content:' DEL GIORNO';}
  #almanacStrip .almanac-scroll-wrap{
    display:flex !important;
    align-items:center !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    height:34px !important;
    padding-left:12px !important;
    overflow:hidden !important;
  }
  #almanacStrip #almanacText{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    color:rgba(245,250,255,.90) !important;
    font-size:12px !important;
    font-weight:850 !important;
    letter-spacing:.025em !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
    line-height:34px !important;
  }
  .dash{
    flex:1 1 auto !important;
    min-height:0 !important;
  }
  @media (max-width:900px){
    #app{position:relative !important; min-height:100vh !important; overflow:visible !important;}
    #almanacStrip.almanac-strip{flex:0 0 36px !important;height:36px !important;min-height:36px !important;}
    #almanacStrip .almanac-lbl{min-width:150px !important;font-size:8px !important;height:36px !important;}
    #almanacStrip .almanac-scroll-wrap{height:36px !important;}
    #almanacStrip #almanacText{font-size:11px !important;line-height:36px !important;}
  }

/* ---- extracted block ---- */

/* STEP O — stabilità mobile, ticker news, API UI */
  #newsTickerTrack.news-ticker-track,
  .news-ticker-track{
    display:flex !important;
    flex-wrap:nowrap !important;
    width:max-content !important;
    min-width:max-content !important;
    will-change:transform !important;
    transform:translate3d(0,0,0);
    animation:cultNewsTickerStable 78s linear infinite !important;
  }
  .news-ticker-viewport{overflow:hidden !important; min-width:0 !important;}
  @keyframes cultNewsTickerStable{
    0%{transform:translate3d(0,0,0)}
    100%{transform:translate3d(-50%,0,0)}
  }
  #viz.mobile-viz{
    height:42px !important;
    min-height:42px !important;
    max-height:42px !important;
    padding:7px 8px !important;
    gap:3px !important;
    overflow:hidden !important;
  }
  #viz.mobile-viz .vbar{
    flex:0 0 7px !important;
    min-width:7px !important;
    max-width:7px !important;
    border-radius:999px !important;
    transition:height .28s ease, opacity .28s ease !important;
    transform:none !important;
    opacity:.78 !important;
  }
  #viz.mobile-viz .vbar:nth-child(n+19){display:none !important;}
  @media (max-width:900px){
    html,body{overflow-x:hidden !important;}
    #cultMotionCanvas{opacity:.22 !important;}
    #viz{height:42px !important; min-height:42px !important; max-height:42px !important;}
    #viz .vbar{transition:height .30s ease, opacity .30s ease !important;}
    .news-ticker-track{animation-duration:54s !important;}
    #almanacText.animate{animation-duration:44s !important;}
  }
  @media (max-width:560px){
    #viz.mobile-viz{height:34px !important; min-height:34px !important; max-height:34px !important;}
    #viz.mobile-viz .vbar{flex-basis:5px !important; min-width:5px !important; max-width:5px !important;}
    .news-ticker{height:32px !important; min-height:32px !important;}
    .news-ticker-track{font-size:9px !important; animation-duration:48s !important;}
  }

/* ---- extracted block ---- */

/* STEP P — mobile reale + performance: override finale */
  #btnLiveRadio{background-image:linear-gradient(90deg,rgba(2,4,12,.10) 0%,rgba(5,8,18,.44) 35%,rgba(4,7,16,.88) 62%,rgba(4,7,16,.98) 100%),url('../../step_p_assets/buttons/live-radio.jpg')!important;}
  #btnPrograms{background-image:linear-gradient(90deg,rgba(2,4,12,.10) 0%,rgba(5,8,18,.44) 35%,rgba(4,7,16,.88) 62%,rgba(4,7,16,.98) 100%),url('../../step_p_assets/buttons/palinsesto.jpg')!important;}
  #btnAstro{background-image:linear-gradient(90deg,rgba(2,4,12,.10) 0%,rgba(5,8,18,.44) 35%,rgba(4,7,16,.88) 62%,rgba(4,7,16,.98) 100%),url('../../step_p_assets/buttons/astro-cult.jpg')!important;}
  #btnTop10{background-image:linear-gradient(90deg,rgba(2,4,12,.10) 0%,rgba(5,8,18,.44) 35%,rgba(4,7,16,.88) 62%,rgba(4,7,16,.98) 100%),url('../../step_p_assets/buttons/i-10-dischi.jpg')!important;}
  #btnChatMain{background-image:linear-gradient(90deg,rgba(2,4,12,.10) 0%,rgba(5,8,18,.44) 35%,rgba(4,7,16,.88) 62%,rgba(4,7,16,.98) 100%),url('../../step_p_assets/buttons/chat-ai.jpg')!important;}
  #nowCard.now-card::before{background:linear-gradient(90deg,rgba(6,8,18,.16) 0%,rgba(6,8,18,.20) 18%,rgba(6,8,18,.48) 45%,rgba(6,8,18,.80) 76%,rgba(6,8,18,.95) 100%),url('../../step_p_assets/cult_metadata_bg.webp') left center / cover no-repeat!important;}
  
  @media (max-width: 900px){
    html,body{height:auto!important;min-height:100%;overflow-x:hidden!important;overflow-y:auto!important;}
    body{background:#050814!important;}
    #app{height:auto!important;min-height:100vh!important;overflow:visible!important;display:block!important;padding-bottom:68px!important;}
    #cultMotionCanvas{display:none!important;}
    *{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
    .hdr{position:relative!important;height:auto!important;min-height:unset!important;display:grid!important;grid-template-columns:1fr!important;grid-template-areas:'brand' 'clock' 'weather' 'user'!important;gap:10px!important;padding:12px!important;overflow:visible!important;}
    .hdr-brand{grid-area:brand!important;justify-content:center!important;min-width:0!important;}
    .hdr-logo{width:42px!important;height:42px!important;}
    .hdr-name{font-size:22px!important;}
    .hdr-clock,.hdr-clock.clock-clean{grid-area:clock!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:12px 10px!important;display:grid!important;grid-template-columns:1fr!important;gap:6px!important;text-align:center!important;}
    .clock-date-line,.clock-time-line{justify-content:center!important;display:flex!important;gap:7px!important;flex-wrap:wrap!important;}
    .clock-prefix{font-size:10px!important;letter-spacing:.12em!important;}
    .orb-date{font-size:13px!important;}
    .orb-time{font-size:20px!important;}
    .header-weather-widget{grid-area:weather!important;width:100%!important;min-width:0!important;max-width:100%!important;min-height:unset!important;margin:0!important;padding:10px!important;border-radius:16px!important;position:relative!important;inset:auto!important;transform:none!important;}
    .header-weather-line{font-size:12px!important;white-space:normal!important;overflow:hidden!important;text-overflow:ellipsis!important;}
    .header-weather-label{font-size:9px!important;letter-spacing:.12em!important;}
    .header-weather-city-row,.header-weather-city-row.open{display:grid!important;grid-template-columns:minmax(0,1fr) 54px!important;gap:8px!important;width:100%!important;max-width:100%!important;}
    .header-weather-input{width:100%!important;min-width:0!important;height:36px!important;max-width:100%!important;box-sizing:border-box!important;font-size:12px!important;}
    .header-weather-ok{height:36px!important;min-width:54px!important;padding:0 8px!important;font-size:10px!important;}
    .hdr-user{grid-area:user!important;justify-content:center!important;justify-self:center!important;}
    .almanac-strip,#almanacStrip.almanac-strip{height:34px!important;min-height:34px!important;display:flex!important;position:relative!important;z-index:5!important;}
    .almanac-lbl{height:34px!important;min-width:126px!important;font-size:7px!important;padding:0 14px!important;}
    .almanac-scroll-wrap{height:34px!important;min-width:0!important;overflow:hidden!important;}
    #almanacText{line-height:34px!important;font-size:10px!important;}
    .dash{display:flex!important;flex-direction:column!important;height:auto!important;min-height:0!important;overflow:visible!important;padding:10px!important;gap:10px!important;}
    .now-card,#nowCard.now-card{display:flex!important;flex-direction:column!important;grid-column:auto!important;grid-row:auto!important;width:100%!important;min-height:unset!important;height:auto!important;padding:14px!important;border-radius:22px!important;overflow:hidden!important;box-sizing:border-box!important;}
    #nowCard.now-card::before{opacity:.78!important;background-position:left center!important;background-size:cover!important;}
    #nowProgram{font-size:10px!important;max-width:100%!important;}
    #nowTitle{font-size:clamp(38px,13vw,58px)!important;line-height:.88!important;max-width:100%!important;margin-bottom:8px!important;}
    #nowArtist{font-size:20px!important;max-width:100%!important;}
    #nowNext{font-size:11px!important;max-width:100%!important;margin-bottom:8px!important;}
    #metaPlayerControls.meta-player-controls{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;min-height:unset!important;margin:8px 0!important;padding:10px!important;border-radius:16px!important;}
    #mainPlay.meta-play-btn{width:100%!important;min-width:0!important;height:46px!important;}
    .meta-volume{width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:34px 1fr!important;align-items:center!important;}
    #btnSongHistory{width:100%!important;justify-content:center!important;height:40px!important;min-height:40px!important;}
    #viz.viz,#viz.mobile-viz{height:34px!important;min-height:34px!important;max-height:34px!important;padding:5px 7px!important;margin:8px 0!important;gap:3px!important;}
    #viz .vbar,#viz.mobile-viz .vbar{flex:0 0 5px!important;min-width:5px!important;max-width:5px!important;border-radius:999px!important;transition:height .34s ease, opacity .34s ease!important;}
    #viz .vbar:nth-child(n+15){display:none!important;}
    .prog-spot{min-height:58px!important;padding:9px!important;margin-top:6px!important;}
    .prog-spot-title{font-size:18px!important;}
    .prog-spot-desc{font-size:10px!important;}
    .sponsor-banner{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;min-height:84px!important;padding:12px 10px!important;margin-top:8px!important;border-radius:18px!important;}
    .spb-name{font-size:28px!important;white-space:normal!important;line-height:.94!important;}
    .spb-copy{font-size:11px!important;white-space:normal!important;line-height:1.25!important;}
    .spb-place{font-size:8px!important;white-space:normal!important;}
    .weather-row,.weather-city-row{display:none!important;}
    .db,#btnLiveRadio,#btnPrograms,#btnAstro,#btnTop10,#btnChatMain,#btnContactMain{grid-column:auto!important;grid-row:auto!important;width:100%!important;height:82px!important;min-height:82px!important;display:grid!important;grid-template-columns:58px 1fr!important;padding:11px 13px!important;border-radius:18px!important;background-size:cover!important;background-position:left center!important;}
    .db-icon{width:46px!important;height:46px!important;font-size:22px!important;border-radius:14px!important;}
    .db-label{font-size:20px!important;text-align:left!important;}
    .db-sub{font-size:10px!important;text-align:left!important;}
    .news-ticker{position:fixed!important;left:0!important;right:0!important;bottom:0!important;height:34px!important;min-height:34px!important;z-index:40!important;display:flex!important;}
    .news-ticker-label{height:34px!important;min-width:96px!important;font-size:7px!important;letter-spacing:.12em!important;}
    .news-ticker-viewport{height:34px!important;overflow:hidden!important;min-width:0!important;}
    .news-ticker-track{display:flex!important;align-items:center!important;white-space:nowrap!important;width:max-content!important;min-width:max-content!important;animation:cultTickerP 58s linear infinite!important;will-change:transform!important;}
    .news-ticker-track span{display:inline-flex!important;align-items:center!important;height:34px!important;padding:0 18px!important;font-size:9px!important;}
    .brand-bar,.partner-static,.player-bar{display:none!important;}
    .drw,.drw.rp,.drw.cm{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;overflow:hidden!important;z-index:100!important;}
    .drw-body{height:calc(100dvh - 66px)!important;max-height:none!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;padding-bottom:80px!important;}
    .chat-fab{display:none!important;}
  }
  @media (max-width: 560px){
    .hdr{padding:10px 9px!important;gap:8px!important;}
    .hdr-name{font-size:19px!important;}
    .hdr-sub{font-size:8px!important;}
    #nowTitle{font-size:clamp(34px,12vw,50px)!important;}
    #nowArtist{font-size:18px!important;}
    .db,#btnLiveRadio,#btnPrograms,#btnAstro,#btnTop10,#btnChatMain,#btnContactMain{height:78px!important;min-height:78px!important;}
    .db-label{font-size:18px!important;}
    .sponsor-banner{grid-template-columns:1fr auto!important;gap:6px!important;}
    .spb-badge{grid-column:1/2;width:max-content!important;}
    .spb-meta{grid-column:1/2!important;}
    .spb-adv{grid-column:2!important;grid-row:1/3!important;}
  }
  @keyframes cultTickerP{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(-50%,0,0)}}

/* ---- extracted block ---- */

/* STEP Q — mobile spectrum + spot morbidi */
  @media (max-width: 900px){
    #cultMotionCanvas{display:none !important; opacity:0 !important;}
    #viz.viz,
    #viz.mobile-viz{
      height:28px !important;
      min-height:28px !important;
      max-height:28px !important;
      padding:5px 7px !important;
      margin:6px 0 !important;
      gap:4px !important;
      overflow:hidden !important;
      filter:none !important;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 8px 18px rgba(0,0,0,.18) !important;
      background:linear-gradient(135deg, rgba(8,16,28,.44), rgba(8,26,40,.24)) !important;
    }
    #viz::before{display:none !important;}
    #viz::after{opacity:.18 !important; animation:none !important;}
    #viz .vbar,
    #viz.mobile-viz .vbar{
      display:block !important;
      flex:0 0 4px !important;
      min-width:4px !important;
      max-width:4px !important;
      min-height:4px !important;
      max-height:18px !important;
      border-radius:999px !important;
      opacity:.58 !important;
      transition:height .85s ease-in-out, opacity .85s ease-in-out !important;
      animation:none !important;
      box-shadow:0 0 5px rgba(0,229,255,.22) !important;
      will-change:auto !important;
    }
    #viz .vbar:nth-child(n+13){display:none !important;}
    body.is-playing #viz .vbar{opacity:.72 !important;}

    .sponsor-spot,
    .sponsor-spot.show{
      display:none !important; /* su mobile lo spot fullscreen disturba: resta il banner sponsor nel player */
    }
    #progSpot.prog-spot,
    #sponsorBanner.sponsor-banner{
      transition:opacity .85s ease, transform .85s ease, box-shadow .85s ease !important;
      animation:none !important;
      transform:none !important;
      will-change:auto !important;
    }
    #progSpot.prog-spot.show{opacity:1 !important; transform:none !important;}
    #sponsorBanner.sponsor-banner::before,
    #sponsorBanner.sponsor-banner::after,
    .sponsor-banner::before,
    .sponsor-banner::after{
      animation:none !important;
      transform:none !important;
      opacity:.18 !important;
    }
    .sponsor-banner{box-shadow:0 10px 24px rgba(0,0,0,.22), 0 0 18px rgba(255,190,80,.08) !important;}
    .spb-name,.spb-copy,.spb-place{transition:opacity .65s ease !important;}
  }

  @media (min-width: 901px){
    .sponsor-spot.show .sponsor-box{
      animation:none !important;
      transform:none !important;
      transition:opacity .8s ease, transform .8s ease, box-shadow .8s ease !important;
      box-shadow:0 24px 70px rgba(0,0,0,.48),0 0 52px rgba(255,0,122,.12),0 0 70px rgba(0,229,255,.08) !important;
    }
    .sponsor-banner::before,.sponsor-banner::after{animation-duration:14s !important; opacity:.20 !important;}
  }

/* ---- extracted block ---- */

/* STEP R — SOLO MOBILE: meteo pulito + ticker ANSA/almanacco stabili. Desktop invariato. */
  @media (max-width: 900px){
    html,body{
      height:auto!important;
      min-height:100%!important;
      overflow-x:hidden!important;
      overflow-y:auto!important;
      touch-action:pan-y!important;
    }
    #app{
      display:flex!important;
      flex-direction:column!important;
      min-height:100dvh!important;
      height:auto!important;
      overflow:visible!important;
      padding-bottom:46px!important;
    }
    .hdr{
      position:relative!important;
      display:grid!important;
      grid-template-columns:1fr!important;
      grid-template-areas:"brand" "clock" "user"!important;
      gap:8px!important;
      padding:10px!important;
      height:auto!important;
      min-height:unset!important;
      overflow:visible!important;
      z-index:30!important;
    }
    .hdr-brand{grid-area:brand!important;justify-self:center!important;max-width:100%!important;}
    .hdr-user{grid-area:user!important;justify-self:center!important;display:flex!important;}
    .hdr-clock.clock-clean,
    .hdr-clock{
      grid-area:clock!important;
      display:grid!important;
      grid-template-columns:1fr!important;
      grid-template-areas:"date" "time" "weather"!important;
      gap:6px!important;
      width:100%!important;
      max-width:100%!important;
      min-width:0!important;
      margin:0!important;
      padding:9px!important;
      overflow:visible!important;
      box-sizing:border-box!important;
      border-radius:18px!important;
    }
    .clock-date-line{grid-area:date!important;display:flex!important;justify-content:center!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important;min-width:0!important;}
    .clock-time-line{grid-area:time!important;display:flex!important;justify-content:center!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important;min-width:0!important;}
    .clock-prefix{font-size:9px!important;letter-spacing:.10em!important;line-height:1!important;}
    .orb-date{font-size:12px!important;line-height:1.15!important;max-width:100%!important;white-space:normal!important;text-align:center!important;}
    .orb-time{font-size:19px!important;line-height:1.15!important;}

    /* Meteo: dentro il blocco, non sopra, non assoluto, non fuori asse */
    #headerWeatherWidget.header-weather-widget,
    .header-weather-widget{
      grid-area:weather!important;
      position:relative!important;
      inset:auto!important;
      transform:none!important;
      display:grid!important;
      grid-template-columns:1fr auto!important;
      grid-template-areas:"kicker kicker" "line line" "label label" "input button" "hint hint"!important;
      column-gap:8px!important;
      row-gap:5px!important;
      align-items:center!important;
      width:100%!important;
      min-width:0!important;
      max-width:100%!important;
      height:auto!important;
      min-height:0!important;
      max-height:none!important;
      margin:2px 0 0!important;
      padding:9px!important;
      box-sizing:border-box!important;
      overflow:visible!important;
      border-radius:15px!important;
      background:linear-gradient(135deg,rgba(4,10,24,.92),rgba(9,18,34,.82))!important;
      border:1px solid rgba(0,229,255,.18)!important;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
    }
    .header-weather-kicker{grid-area:kicker!important;display:block!important;margin:0!important;font-size:8px!important;line-height:1!important;letter-spacing:.18em!important;color:#86f7ff!important;font-weight:950!important;}
    .header-weather-line{grid-area:line!important;margin:0!important;font-size:11px!important;line-height:1.15!important;color:#fff!important;font-weight:900!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;min-width:0!important;}
    .header-weather-label{grid-area:label!important;display:block!important;margin:1px 0 0!important;font-size:8px!important;line-height:1!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#8ff4ff!important;font-weight:950!important;}
    .header-weather-city-row,
    .header-weather-city-row.open{
      display:contents!important;
      opacity:1!important;
      visibility:visible!important;
      max-height:none!important;
      pointer-events:auto!important;
    }
    #wxCityInpHeader.header-weather-input,
    .header-weather-input{
      grid-area:input!important;
      display:block!important;
      width:100%!important;
      min-width:0!important;
      max-width:100%!important;
      height:34px!important;
      min-height:34px!important;
      margin:0!important;
      padding:0 10px!important;
      box-sizing:border-box!important;
      border-radius:11px!important;
      opacity:1!important;
      visibility:visible!important;
      background:rgba(255,255,255,.09)!important;
      border:1px solid rgba(255,255,255,.18)!important;
      color:#fff!important;
      font-size:12px!important;
      outline:none!important;
      pointer-events:auto!important;
      -webkit-user-select:text!important;
      user-select:text!important;
    }
    .header-weather-input::placeholder{color:rgba(255,255,255,.58)!important;}
    .header-weather-input:focus{border-color:#00e5ff!important;box-shadow:0 0 0 3px rgba(0,229,255,.12)!important;}
    #wxCityBtnHeader.header-weather-ok,
    .header-weather-ok{
      grid-area:button!important;
      display:flex!important;
      align-items:center!important;
      justify-content:center!important;
      width:auto!important;
      min-width:48px!important;
      max-width:58px!important;
      height:34px!important;
      min-height:34px!important;
      margin:0!important;
      padding:0 8px!important;
      box-sizing:border-box!important;
      border-radius:11px!important;
      font-size:9px!important;
      font-weight:950!important;
      letter-spacing:.04em!important;
      background:linear-gradient(135deg,#00e5ff,#20c8ff)!important;
      color:#03111d!important;
      border:0!important;
      cursor:pointer!important;
      pointer-events:auto!important;
    }
    .header-weather-hint{grid-area:hint!important;display:block!important;margin:0!important;font-size:8px!important;line-height:1.1!important;color:rgba(226,244,255,.52)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
    .header-weather-change,.header-weather-widget .city-help{display:none!important;}

    /* Almanacco: fascia autonoma subito sotto header, scorrevole e senza sovrapposizioni */
    #almanacStrip.almanac-strip,
    .almanac-strip{
      position:relative!important;
      display:flex!important;
      flex:0 0 32px!important;
      height:32px!important;
      min-height:32px!important;
      max-height:32px!important;
      width:100%!important;
      overflow:hidden!important;
      z-index:20!important;
      margin:0!important;
      background:linear-gradient(90deg,#050814,#0a1430,#050814)!important;
      border-top:1px solid rgba(255,255,255,.06)!important;
      border-bottom:1px solid rgba(255,255,255,.07)!important;
    }
    #almanacStrip .almanac-lbl,
    .almanac-lbl{
      flex:0 0 auto!important;
      min-width:116px!important;
      height:32px!important;
      padding:0 10px!important;
      display:flex!important;
      align-items:center!important;
      justify-content:center!important;
      font-size:7px!important;
      letter-spacing:.12em!important;
      white-space:nowrap!important;
      color:#fff!important;
      background:linear-gradient(135deg,#ef3824,#b6157a)!important;
      clip-path:none!important;
    }
    #almanacStrip .almanac-lbl::after{content:''!important;}
    #almanacStrip .almanac-scroll-wrap,
    .almanac-scroll-wrap{
      flex:1 1 auto!important;
      min-width:0!important;
      height:32px!important;
      overflow:hidden!important;
      display:flex!important;
      align-items:center!important;
      padding-left:0!important;
    }
    #almanacText.almanac-text,
    #almanacText{
      display:inline-block!important;
      width:max-content!important;
      min-width:max-content!important;
      white-space:nowrap!important;
      overflow:visible!important;
      text-overflow:clip!important;
      padding-left:100vw!important;
      line-height:32px!important;
      font-size:10px!important;
      font-weight:800!important;
      color:rgba(255,255,255,.86)!important;
      animation:almanacMobileFlow 52s linear infinite!important;
      will-change:transform!important;
    }
    @keyframes almanacMobileFlow{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}

    /* News ANSA: ticker basso stabile, senza bloccare dashboard */
    #newsTickerBar.news-ticker,
    .news-ticker{
      position:fixed!important;
      left:0!important;
      right:0!important;
      bottom:0!important;
      display:flex!important;
      width:100%!important;
      height:34px!important;
      min-height:34px!important;
      max-height:34px!important;
      overflow:hidden!important;
      z-index:80!important;
      background:linear-gradient(90deg,#050814,#091427,#050814)!important;
      border-top:1px solid rgba(255,255,255,.10)!important;
    }
    .news-ticker-label{
      flex:0 0 92px!important;
      min-width:92px!important;
      height:34px!important;
      display:flex!important;
      align-items:center!important;
      justify-content:center!important;
      padding:0 7px!important;
      font-size:7px!important;
      letter-spacing:.10em!important;
      color:#fff!important;
      background:linear-gradient(135deg,#ef3824,#b6157a)!important;
      clip-path:none!important;
      white-space:nowrap!important;
    }
    .news-ticker-viewport{
      flex:1 1 auto!important;
      min-width:0!important;
      height:34px!important;
      overflow:hidden!important;
      display:flex!important;
      align-items:center!important;
    }
    #newsTickerTrack.news-ticker-track,
    .news-ticker-track{
      display:flex!important;
      align-items:center!important;
      width:max-content!important;
      min-width:max-content!important;
      white-space:nowrap!important;
      animation:newsMobileFlow 62s linear infinite!important;
      will-change:transform!important;
    }
    .news-ticker-track span{
      display:inline-flex!important;
      align-items:center!important;
      height:34px!important;
      padding:0 18px!important;
      font-size:9px!important;
      font-weight:850!important;
      color:rgba(255,255,255,.88)!important;
      white-space:nowrap!important;
    }
    @keyframes newsMobileFlow{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

    .dash{padding-top:10px!important;}
  }

/* ---- extracted block ---- */

/* STEP S — SOLO MOBILE. Desktop invariato.
     Correzione: logo sempre visibile + header meno caotico + meteo dentro al suo box. */
  @media (max-width: 900px){
    html,body{
      width:100% !important;
      max-width:100% !important;
      overflow-x:hidden !important;
      overflow-y:auto !important;
      background:#050814 !important;
    }
    #app{
      display:flex !important;
      flex-direction:column !important;
      width:100% !important;
      max-width:100% !important;
      min-height:100dvh !important;
      height:auto !important;
      overflow:visible !important;
      padding-bottom:46px !important;
      box-sizing:border-box !important;
    }

    /* HEADER MOBILE: logo sopra, poi data/ora/meteo. Niente sovrapposizioni. */
    .hdr{
      position:relative !important;
      display:grid !important;
      grid-template-columns:1fr !important;
      grid-template-areas:
        "brand"
        "clock" !important;
      gap:8px !important;
      width:100% !important;
      max-width:100% !important;
      height:auto !important;
      min-height:0 !important;
      margin:0 !important;
      padding:10px 10px 8px !important;
      overflow:visible !important;
      box-sizing:border-box !important;
      z-index:60 !important;
    }
    .hdr-brand{
      grid-area:brand !important;
      display:flex !important;
      align-items:center !important;
      justify-content:flex-start !important;
      gap:10px !important;
      width:100% !important;
      max-width:100% !important;
      min-height:64px !important;
      padding:8px 12px !important;
      margin:0 !important;
      box-sizing:border-box !important;
      border-radius:18px !important;
      background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025)) !important;
      border:1px solid rgba(255,255,255,.10) !important;
      visibility:visible !important;
      opacity:1 !important;
      transform:none !important;
      overflow:hidden !important;
      z-index:80 !important;
    }
    .hdr-logo{
      display:block !important;
      visibility:visible !important;
      opacity:1 !important;
      width:54px !important;
      height:54px !important;
      min-width:54px !important;
      max-width:54px !important;
      flex:0 0 54px !important;
      object-fit:contain !important;
      object-position:center !important;
      border-radius:14px !important;
      background:rgba(255,255,255,.04) !important;
      box-shadow:0 0 0 1px rgba(255,255,255,.12),0 0 18px rgba(0,229,255,.10) !important;
      position:relative !important;
      z-index:90 !important;
    }
    .hdr-brand > div{
      display:block !important;
      min-width:0 !important;
      flex:1 1 auto !important;
      overflow:hidden !important;
    }
    .hdr-name{
      display:block !important;
      font-size:28px !important;
      line-height:.92 !important;
      white-space:nowrap !important;
      overflow:hidden !important;
      text-overflow:ellipsis !important;
      color:#fff !important;
    }
    .hdr-sub{
      display:block !important;
      font-size:10px !important;
      margin-top:3px !important;
      white-space:nowrap !important;
      overflow:hidden !important;
      text-overflow:ellipsis !important;
      color:rgba(232,246,255,.72) !important;
    }
    .hdr-user{
      display:none !important;
    }

    .hdr-clock.clock-clean,
    .hdr-clock{
      grid-area:clock !important;
      display:grid !important;
      grid-template-columns:1fr !important;
      grid-template-areas:
        "date"
        "time"
        "weather" !important;
      gap:6px !important;
      width:100% !important;
      max-width:100% !important;
      min-width:0 !important;
      height:auto !important;
      min-height:0 !important;
      padding:9px !important;
      margin:0 !important;
      box-sizing:border-box !important;
      overflow:visible !important;
      border-radius:18px !important;
      position:relative !important;
      inset:auto !important;
      transform:none !important;
    }
    .clock-date-line,
    .clock-time-line{
      display:flex !important;
      align-items:center !important;
      justify-content:center !important;
      gap:6px !important;
      flex-wrap:wrap !important;
      width:100% !important;
      min-width:0 !important;
      text-align:center !important;
    }
    .clock-date-line{grid-area:date !important;}
    .clock-time-line{grid-area:time !important;}
    .clock-prefix{font-size:9px !important;letter-spacing:.10em !important;line-height:1 !important;}
    .orb-date{font-size:12px !important;line-height:1.15 !important;white-space:normal !important;max-width:100% !important;text-align:center !important;}
    .orb-time{font-size:19px !important;line-height:1.15 !important;}

    #headerWeatherWidget.header-weather-widget,
    .header-weather-widget{
      grid-area:weather !important;
      position:relative !important;
      display:grid !important;
      grid-template-columns:minmax(0,1fr) 52px !important;
      grid-template-areas:
        "kicker kicker"
        "line line"
        "label label"
        "input button"
        "hint hint" !important;
      gap:5px 8px !important;
      width:100% !important;
      max-width:100% !important;
      min-width:0 !important;
      height:auto !important;
      min-height:0 !important;
      max-height:none !important;
      margin:0 !important;
      padding:9px !important;
      box-sizing:border-box !important;
      overflow:visible !important;
      border-radius:15px !important;
      inset:auto !important;
      transform:none !important;
      background:linear-gradient(135deg,rgba(4,10,24,.92),rgba(9,18,34,.82)) !important;
      border:1px solid rgba(0,229,255,.18) !important;
    }
    .header-weather-kicker{grid-area:kicker !important;display:block !important;font-size:8px !important;line-height:1 !important;margin:0 !important;}
    .header-weather-line{grid-area:line !important;display:block !important;font-size:11px !important;line-height:1.2 !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;margin:0 !important;min-width:0 !important;}
    .header-weather-label{grid-area:label !important;display:block !important;font-size:8px !important;line-height:1 !important;margin:0 !important;letter-spacing:.11em !important;}
    .header-weather-city-row,
    .header-weather-city-row.open{
      display:contents !important;
      opacity:1 !important;
      visibility:visible !important;
      pointer-events:auto !important;
      max-height:none !important;
    }
    #wxCityInpHeader.header-weather-input,
    .header-weather-input{
      grid-area:input !important;
      display:block !important;
      width:100% !important;
      max-width:100% !important;
      min-width:0 !important;
      height:34px !important;
      min-height:34px !important;
      box-sizing:border-box !important;
      margin:0 !important;
      padding:0 10px !important;
      border-radius:11px !important;
      font-size:12px !important;
      color:#fff !important;
      background:rgba(255,255,255,.09) !important;
      border:1px solid rgba(255,255,255,.18) !important;
      opacity:1 !important;
      visibility:visible !important;
      pointer-events:auto !important;
      -webkit-user-select:text !important;
      user-select:text !important;
    }
    #wxCityBtnHeader.header-weather-ok,
    .header-weather-ok{
      grid-area:button !important;
      display:flex !important;
      align-items:center !important;
      justify-content:center !important;
      width:52px !important;
      min-width:52px !important;
      max-width:52px !important;
      height:34px !important;
      min-height:34px !important;
      margin:0 !important;
      padding:0 !important;
      border-radius:11px !important;
      font-size:9px !important;
      font-weight:950 !important;
      letter-spacing:.03em !important;
      background:linear-gradient(135deg,#00e5ff,#20c8ff) !important;
      color:#03111d !important;
      border:0 !important;
      cursor:pointer !important;
      pointer-events:auto !important;
    }
    .header-weather-hint{grid-area:hint !important;display:block !important;font-size:8px !important;line-height:1.1 !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;margin:0 !important;}
    .header-weather-change,.header-weather-widget .city-help{display:none !important;}

    .dash{
      width:100% !important;
      max-width:100% !important;
      box-sizing:border-box !important;
      padding-left:10px !important;
      padding-right:10px !important;
    }
  }
  @media (max-width: 420px){
    .hdr-logo{width:50px !important;height:50px !important;min-width:50px !important;max-width:50px !important;flex-basis:50px !important;}
    .hdr-name{font-size:25px !important;}
    .hdr-sub{font-size:9px !important;}
    .header-weather-widget{grid-template-columns:minmax(0,1fr) 46px !important;}
    #wxCityBtnHeader.header-weather-ok,.header-weather-ok{width:46px !important;min-width:46px !important;max-width:46px !important;}
  }

/* ---- extracted block ---- */

/* STEP T — SOLO MOBILE. Desktop invariato. Header/logo, sponsor e contatti robusti. */
@media (max-width:900px){
  html,body{
    width:100%!important;max-width:100%!important;height:auto!important;min-height:100%!important;
    overflow-x:hidden!important;overflow-y:auto!important;background:#050814!important;
  }
  #app{
    display:flex!important;flex-direction:column!important;width:100%!important;max-width:100%!important;
    min-height:100dvh!important;height:auto!important;overflow:visible!important;padding-bottom:44px!important;box-sizing:border-box!important;
  }
  /* HEADER MOBILE RISCRITTO: logo intero, scritta leggibile, niente tagli. */
  .hdr{
    position:relative!important;display:flex!important;flex-direction:column!important;gap:8px!important;
    width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;
    padding:10px!important;margin:0!important;overflow:visible!important;box-sizing:border-box!important;z-index:60!important;
    background:linear-gradient(180deg,rgba(5,8,20,.96),rgba(5,8,20,.82))!important;
  }
  .hdr-brand{
    order:1!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;
    width:100%!important;max-width:100%!important;min-width:0!important;min-height:74px!important;
    padding:10px 12px!important;margin:0!important;box-sizing:border-box!important;overflow:visible!important;
    border-radius:20px!important;background:linear-gradient(135deg,rgba(255,255,255,.085),rgba(255,255,255,.03))!important;
    border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 12px 28px rgba(0,0,0,.22)!important;
    visibility:visible!important;opacity:1!important;transform:none!important;clip-path:none!important;
  }
  .hdr-logo{
    display:block!important;visibility:visible!important;opacity:1!important;position:relative!important;
    width:62px!important;height:62px!important;min-width:62px!important;max-width:62px!important;flex:0 0 62px!important;
    object-fit:contain!important;object-position:center!important;border-radius:14px!important;
    background:rgba(255,255,255,.045)!important;padding:0!important;margin:0!important;box-sizing:border-box!important;
    box-shadow:0 0 0 1px rgba(255,255,255,.14),0 0 20px rgba(0,229,255,.12)!important;
    transform:none!important;clip-path:none!important;overflow:visible!important;
  }
  .hdr-brand>div{display:block!important;flex:1 1 auto!important;min-width:0!important;overflow:visible!important;white-space:normal!important;}
  .hdr-name{
    display:block!important;visibility:visible!important;opacity:1!important;
    font-family:'Bebas Neue','Inter',sans-serif!important;font-size:clamp(31px,10vw,42px)!important;line-height:.88!important;
    letter-spacing:.035em!important;color:#fff!important;text-shadow:0 0 18px rgba(0,229,255,.18)!important;
    white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;max-width:none!important;
  }
  .hdr-sub{display:block!important;margin-top:3px!important;font-size:11px!important;font-weight:900!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:rgba(215,238,255,.72)!important;white-space:nowrap!important;overflow:visible!important;}
  .hdr-user{order:2!important;display:none!important;}
  .hdr-clock.clock-clean,.hdr-clock{
    order:3!important;display:grid!important;grid-template-columns:1fr!important;grid-template-areas:'date' 'time' 'weather'!important;
    gap:8px!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:10px!important;
    box-sizing:border-box!important;overflow:visible!important;border-radius:20px!important;
    background:linear-gradient(135deg,rgba(5,12,26,.90),rgba(8,20,36,.72))!important;
    border:1px solid rgba(0,229,255,.14)!important;box-shadow:0 12px 28px rgba(0,0,0,.22)!important;
  }
  .clock-date-line{grid-area:date!important;justify-content:center!important;display:flex!important;gap:7px!important;flex-wrap:wrap!important;min-width:0!important;}
  .clock-time-line{grid-area:time!important;justify-content:center!important;display:flex!important;gap:7px!important;flex-wrap:wrap!important;min-width:0!important;}
  .clock-prefix{font-size:9px!important;letter-spacing:.13em!important;line-height:1.1!important;color:rgba(255,255,255,.58)!important;}
  .orb-date{font-size:10px!important;letter-spacing:.055em!important;white-space:normal!important;text-align:center!important;color:#fff!important;}
  .orb-time{font-size:18px!important;letter-spacing:.08em!important;white-space:nowrap!important;color:#c8fbff!important;}
  .header-weather-widget{
    grid-area:weather!important;position:relative!important;display:flex!important;flex-direction:column!important;gap:7px!important;
    width:100%!important;max-width:100%!important;min-width:0!important;min-height:0!important;height:auto!important;margin:0!important;padding:10px!important;
    box-sizing:border-box!important;overflow:visible!important;border-radius:16px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.065),rgba(255,255,255,.028))!important;
    border:1px solid rgba(255,255,255,.10)!important;box-shadow:none!important;
  }
  .header-weather-kicker{font-size:8px!important;letter-spacing:.20em!important;color:#84f6ff!important;}
  .header-weather-line{font-size:12px!important;line-height:1.2!important;color:#fff!important;font-weight:900!important;white-space:normal!important;}
  .header-weather-label{font-size:9px!important;letter-spacing:.14em!important;color:#84f6ff!important;font-weight:1000!important;text-transform:uppercase!important;}
  .header-weather-hint{display:block!important;font-size:9px!important;line-height:1.25!important;color:rgba(220,238,255,.52)!important;}
  .header-weather-city-row,.header-weather-city-row.open{
    display:grid!important;grid-template-columns:minmax(0,1fr) 54px!important;gap:8px!important;width:100%!important;max-width:100%!important;
    min-height:38px!important;max-height:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;
  }
  .header-weather-input{
    display:block!important;width:100%!important;min-width:0!important;min-height:38px!important;height:38px!important;
    border-radius:12px!important;padding:0 12px!important;box-sizing:border-box!important;background:rgba(255,255,255,.10)!important;
    border:1px solid rgba(255,255,255,.16)!important;color:#fff!important;font-size:14px!important;font-weight:800!important;opacity:1!important;visibility:visible!important;
  }
  .header-weather-input::placeholder{color:rgba(255,255,255,.55)!important;font-size:13px!important;}
  .header-weather-ok{display:flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;height:38px!important;padding:0!important;border-radius:12px!important;font-size:11px!important;font-weight:1000!important;letter-spacing:.06em!important;background:#8df8ff!important;color:#04111d!important;}
  .header-weather-change{display:none!important;}

  /* Almanacco resta sotto header, ticker leggibile. */
  #almanacStrip.almanac-strip{display:flex!important;position:relative!important;z-index:55!important;flex:0 0 34px!important;height:34px!important;min-height:34px!important;margin:0!important;overflow:hidden!important;}
  #almanacStrip .almanac-lbl{height:34px!important;min-width:122px!important;padding:0 14px!important;font-size:7px!important;letter-spacing:.11em!important;clip-path:none!important;}
  #almanacStrip .almanac-lbl::after{content:''!important;}
  #almanacStrip .almanac-scroll-wrap{height:34px!important;min-width:0!important;overflow:hidden!important;}
  #almanacText{line-height:34px!important;font-size:10px!important;white-space:nowrap!important;animation:almanacMobileFinal 52s linear infinite!important;}
  @keyframes almanacMobileFinal{0%{transform:translateX(95vw)}100%{transform:translateX(-100%)}}

  /* Dashboard mobile: niente compressione desktop. */
  .dash{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto!important;gap:10px!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;overflow:visible!important;padding:10px!important;box-sizing:border-box!important;}
  .now-card{grid-column:1!important;grid-row:auto!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;overflow:visible!important;padding:14px!important;border-radius:22px!important;box-sizing:border-box!important;}
  #nowTitle{max-width:100%!important;font-size:clamp(34px,12vw,50px)!important;line-height:.9!important;white-space:normal!important;overflow:visible!important;}
  #nowArtist,#nowNext,#nowProgram{max-width:100%!important;white-space:normal!important;overflow:visible!important;}
  #metaPlayerControls.meta-player-controls{display:flex!important;flex-wrap:wrap!important;gap:10px!important;min-height:0!important;height:auto!important;padding:10px!important;overflow:visible!important;}
  #mainPlay.meta-play-btn{min-width:112px!important;height:42px!important;}
  .meta-volume{min-width:145px!important;flex:1 1 145px!important;}
  #btnSongHistory{min-height:38px!important;font-size:10px!important;}
  #viz{height:28px!important;min-height:28px!important;max-height:28px!important;margin:6px 0!important;overflow:hidden!important;}
  #viz .vbar:nth-child(n+13){display:none!important;}

  /* SPONSOR/SPOT MOBILE: sempre visibile, non tagliato. */
  #sponsorBanner.sponsor-banner,.sponsor-banner{
    display:grid!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:8!important;
    grid-template-columns:1fr auto!important;grid-template-areas:'badge adv' 'meta adv'!important;align-items:center!important;gap:8px!important;
    width:100%!important;max-width:100%!important;height:auto!important;min-height:118px!important;max-height:none!important;flex:0 0 auto!important;
    margin:10px 0 0!important;padding:13px 14px!important;box-sizing:border-box!important;overflow:visible!important;border-radius:20px!important;
    background:linear-gradient(135deg,rgba(255,190,70,.22),rgba(255,45,122,.16),rgba(0,229,255,.10))!important;
    border:1px solid rgba(255,205,99,.35)!important;box-shadow:0 12px 28px rgba(0,0,0,.24),0 0 24px rgba(255,190,70,.08)!important;transform:none!important;animation:none!important;
  }
  #sponsorBanner::before,#sponsorBanner::after,.sponsor-banner::before,.sponsor-banner::after{display:none!important;animation:none!important;}
  #sponsorBanner .spb-badge{grid-area:badge!important;display:inline-flex!important;width:max-content!important;max-width:100%!important;padding:6px 10px!important;font-size:9px!important;line-height:1!important;background:#ffc94d!important;color:#2b1600!important;border-radius:999px!important;}
  #sponsorBanner .spb-meta{grid-area:meta!important;display:block!important;min-width:0!important;overflow:visible!important;}
  #sponsorBanner .spb-name{display:block!important;font-size:clamp(28px,10vw,38px)!important;line-height:.92!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;color:#fff!important;}
  #sponsorBanner .spb-copy{display:block!important;margin-top:4px!important;font-size:12px!important;line-height:1.25!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;color:#fff!important;}
  #sponsorBanner .spb-place{display:block!important;margin-top:5px!important;font-size:9px!important;line-height:1.2!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;color:#ffe88e!important;}
  #sponsorBanner .spb-adv{grid-area:adv!important;align-self:center!important;justify-self:end!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:42px!important;min-height:32px!important;font-size:9px!important;}
  .sponsor-spot{display:none!important;}

  /* Card pulsanti mobile. */
  .db,#btnLiveRadio,#btnPrograms,#btnAstro,#btnTop10,#btnChatMain,#btnContactMain{grid-column:1!important;grid-row:auto!important;width:100%!important;height:82px!important;min-height:82px!important;display:grid!important;grid-template-columns:56px 1fr!important;align-items:center!important;padding:11px 13px!important;border-radius:18px!important;box-sizing:border-box!important;}
  .db-icon{width:46px!important;height:46px!important;font-size:22px!important;}
  .db-label{font-size:20px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-align:left!important;}
  .db-sub{font-size:10px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-align:left!important;}
  #btnContactMain{display:grid!important;cursor:pointer!important;}

  /* Drawer contatti cliccabile e pieno schermo. */
  #drwContact{z-index:160!important;}
  #drwContact.open{display:block!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateX(0)!important;}
  #drwContact .contact-drawer-card{display:grid!important;grid-template-columns:58px 1fr!important;min-height:76px!important;}
  #drwContact .contact-drawer-icon{width:52px!important;height:52px!important;border-radius:16px!important;}

  /* Ticker news fisso basso. */
  #newsTickerBar.news-ticker,.news-ticker{position:fixed!important;left:0!important;right:0!important;bottom:0!important;display:flex!important;height:34px!important;min-height:34px!important;z-index:90!important;overflow:hidden!important;}
  .news-ticker-label{flex:0 0 92px!important;min-width:92px!important;height:34px!important;font-size:7px!important;letter-spacing:.10em!important;clip-path:none!important;}
  .news-ticker-viewport{height:34px!important;overflow:hidden!important;min-width:0!important;}
  .news-ticker-track{display:flex!important;white-space:nowrap!important;width:max-content!important;min-width:max-content!important;animation:newsMobileFinal 58s linear infinite!important;}
  .news-ticker-track span{height:34px!important;display:inline-flex!important;align-items:center!important;padding:0 18px!important;font-size:9px!important;}
  @keyframes newsMobileFinal{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
  .brand-bar,.partner-static,.player-bar,.chat-fab{display:none!important;}
}
@media (max-width:420px){
  .hdr-logo{width:56px!important;height:56px!important;min-width:56px!important;max-width:56px!important;flex-basis:56px!important;}
  .hdr-name{font-size:clamp(28px,9.6vw,36px)!important;}
  .hdr-sub{font-size:9px!important;letter-spacing:.13em!important;}
  .header-weather-city-row,.header-weather-city-row.open{grid-template-columns:minmax(0,1fr) 46px!important;}
  #sponsorBanner.sponsor-banner{min-height:124px!important;}
  .db,#btnLiveRadio,#btnPrograms,#btnAstro,#btnTop10,#btnChatMain,#btnContactMain{height:78px!important;min-height:78px!important;}
}

/* ---- extracted block ---- */

@media (max-width:900px){
  html,body{width:100%!important;height:auto!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important;background:#050814!important;-webkit-text-size-adjust:100%!important;}
  body::after,#cultMotionCanvas{display:none!important;}
  #app{position:relative!important;inset:auto!important;width:100%!important;min-height:100dvh!important;height:auto!important;display:block!important;overflow:visible!important;padding:0 0 48px!important;}
  .hdr{position:relative!important;z-index:60!important;display:grid!important;grid-template-columns:1fr!important;grid-template-areas:'brand' 'clock' 'weather'!important;gap:10px!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;padding:12px 12px 10px!important;overflow:visible!important;background:linear-gradient(180deg,rgba(4,7,17,.98),rgba(7,12,28,.96))!important;border-bottom:1px solid rgba(255,255,255,.10)!important;backdrop-filter:none!important;}
  .hdr-brand{grid-area:brand!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:11px!important;width:100%!important;min-width:0!important;max-width:none!important;overflow:visible!important;}
  .hdr-logo{display:block!important;width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;max-width:54px!important;max-height:54px!important;border-radius:14px!important;object-fit:contain!important;object-position:center!important;background:rgba(255,255,255,.04)!important;box-shadow:0 0 22px rgba(255,0,122,.20),0 0 22px rgba(0,229,255,.10)!important;overflow:visible!important;clip-path:none!important;}
  .hdr-brand>div{min-width:0!important;display:block!important;overflow:visible!important;}
  .hdr-name{display:block!important;font-family:'Bebas Neue','Inter',sans-serif!important;font-size:34px!important;line-height:.88!important;letter-spacing:.025em!important;white-space:nowrap!important;color:#fff!important;overflow:visible!important;text-overflow:clip!important;text-shadow:0 0 18px rgba(255,0,122,.22),0 0 16px rgba(0,229,255,.10)!important;}
  .hdr-sub{display:block!important;margin-top:4px!important;font-size:9px!important;line-height:1!important;letter-spacing:.16em!important;color:rgba(217,235,255,.70)!important;white-space:nowrap!important;overflow:visible!important;}
  .hdr-user{display:none!important;}
  .hdr-clock.clock-clean,.hdr-clock{grid-area:clock!important;width:100%!important;max-width:none!important;min-width:0!important;display:grid!important;grid-template-columns:1fr!important;grid-template-areas:'date' 'time'!important;gap:4px!important;padding:8px 10px!important;border-radius:16px!important;background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.09)!important;overflow:hidden!important;text-align:center!important;}
  .clock-date-line,.clock-time-line{justify-content:center!important;gap:6px!important;min-width:0!important;}
  .clock-prefix{font-size:8px!important;letter-spacing:.10em!important;color:rgba(224,239,255,.60)!important;}
  .orb-date{font-size:10px!important;letter-spacing:.04em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .orb-time{font-size:18px!important;line-height:1!important;letter-spacing:.05em!important;}
  .header-weather-widget{grid-area:weather!important;width:100%!important;min-width:0!important;max-width:100%!important;min-height:0!important;height:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:10px!important;border-radius:16px!important;background:linear-gradient(135deg,rgba(8,18,36,.94),rgba(5,10,24,.92))!important;border:1px solid rgba(0,229,255,.18)!important;box-shadow:none!important;overflow:visible!important;position:relative!important;z-index:3!important;transform:none!important;}
  .header-weather-kicker{display:block!important;font-size:8px!important;letter-spacing:.18em!important;color:#8ff6ff!important;line-height:1!important;}
  .header-weather-line{font-size:11px!important;line-height:1.25!important;color:#fff!important;font-weight:900!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;}
  .header-weather-label{display:block!important;font-size:9px!important;line-height:1!important;font-weight:950!important;letter-spacing:.12em!important;color:#8ff6ff!important;text-transform:uppercase!important;}
  .header-weather-hint{display:block!important;font-size:8px!important;line-height:1.2!important;color:rgba(220,236,255,.56)!important;}
  #wxCityRowHeader.header-weather-city-row,.header-weather-city-row,.header-weather-city-row.open{display:grid!important;grid-template-columns:minmax(0,1fr) 48px!important;gap:8px!important;width:100%!important;height:auto!important;max-height:none!important;min-height:36px!important;margin:0!important;padding:0!important;opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important;overflow:visible!important;}
  #wxCityInpHeader.header-weather-input,.header-weather-input{display:block!important;width:100%!important;min-width:0!important;height:38px!important;min-height:38px!important;padding:0 11px!important;border-radius:12px!important;border:1px solid rgba(255,255,255,.16)!important;background:rgba(255,255,255,.09)!important;color:#fff!important;font-size:12px!important;line-height:38px!important;outline:none!important;opacity:1!important;pointer-events:auto!important;-webkit-appearance:none!important;appearance:none!important;}
  .header-weather-input::placeholder{color:rgba(255,255,255,.52)!important;opacity:1!important;}
  #wxCityBtnHeader.header-weather-ok,.header-weather-ok{display:flex!important;align-items:center!important;justify-content:center!important;width:48px!important;min-width:48px!important;height:38px!important;min-height:38px!important;padding:0!important;border-radius:12px!important;background:linear-gradient(135deg,#00e5ff,#6ff7ff)!important;color:#04111d!important;font-size:10px!important;font-weight:950!important;letter-spacing:.04em!important;border:0!important;box-shadow:none!important;pointer-events:auto!important;}
  .header-weather-change,.city-help{display:none!important;}
  #almanacStrip.almanac-strip,.almanac-strip{display:flex!important;position:relative!important;z-index:50!important;width:100%!important;height:34px!important;min-height:34px!important;margin:0!important;overflow:hidden!important;background:#060b17!important;border-top:1px solid rgba(255,255,255,.06)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;}
  .almanac-lbl{height:34px!important;min-width:120px!important;font-size:7px!important;padding:0 10px!important;letter-spacing:.10em!important;clip-path:none!important;}
  .almanac-scroll-wrap{height:34px!important;min-width:0!important;overflow:hidden!important;padding-left:8px!important;}
  .almanac-text{font-size:9px!important;line-height:34px!important;white-space:nowrap!important;}
  .almanac-text.animate{animation:almScroll 46s linear infinite!important;}
  .dash{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto!important;gap:10px!important;width:100%!important;min-height:0!important;height:auto!important;padding:10px 10px 12px!important;overflow:visible!important;}
  #nowCard.now-card,.now-card{grid-column:1!important;grid-row:auto!important;width:100%!important;min-height:0!important;height:auto!important;padding:14px!important;border-radius:22px!important;overflow:visible!important;display:flex!important;flex-direction:column!important;gap:8px!important;}
  #nowCard::before{background-position:center top!important;background-size:cover!important;opacity:.78!important;}
  #nowProgram{font-size:10px!important;max-width:100%!important;}
  #nowTitle{font-size:clamp(34px,13vw,48px)!important;line-height:.86!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;margin-bottom:0!important;}
  #nowArtist{font-size:17px!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;margin:0!important;}
  #nowNext{font-size:11px!important;max-width:100%!important;white-space:normal!important;margin:0!important;}
  #metaPlayerControls.meta-player-controls{width:100%!important;min-height:0!important;height:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:12px!important;margin:4px 0!important;border-radius:18px!important;overflow:visible!important;}
  #mainPlay.meta-play-btn{width:100%!important;min-width:0!important;height:46px!important;border-radius:999px!important;}
  .meta-volume{width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:38px 1fr!important;gap:10px!important;}
  #btnSongHistory.meta-history-btn{width:100%!important;min-height:40px!important;justify-content:center!important;}
  .viz{height:36px!important;min-height:36px!important;max-height:36px!important;margin:4px 0!important;padding:6px!important;border-radius:14px!important;overflow:hidden!important;gap:3px!important;}
  .viz::before,.viz::after{display:none!important;}
  .vbar{min-width:3px!important;max-width:8px!important;height:12px!important;max-height:28px!important;animation:none!important;transition:height .28s ease,opacity .28s ease!important;opacity:.65!important;transform:none!important;}
  .vbar:nth-child(n+13){display:none!important;}
  #sponsorBanner.sponsor-banner,.sponsor-banner{display:grid!important;grid-template-columns:auto 1fr auto!important;gap:10px!important;width:100%!important;min-height:96px!important;height:auto!important;margin:4px 0 0!important;padding:12px!important;border-radius:18px!important;overflow:visible!important;animation:none!important;transform:none!important;background:linear-gradient(135deg,rgba(255,190,70,.20),rgba(255,0,122,.16),rgba(0,229,255,.10))!important;border:1px solid rgba(255,210,104,.32)!important;}
  .sponsor-banner::before,.sponsor-banner::after{display:none!important;animation:none!important;}
  .spb-badge{align-self:start!important;font-size:8px!important;letter-spacing:.08em!important;padding:6px 8px!important;border-radius:999px!important;white-space:nowrap!important;}
  .spb-meta{min-width:0!important;overflow:visible!important;}
  .spb-name{font-size:28px!important;line-height:.92!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;}
  .spb-copy{font-size:11px!important;line-height:1.25!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;margin-top:5px!important;}
  .spb-place{font-size:8px!important;line-height:1.2!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;margin-top:6px!important;}
  .spb-adv{align-self:start!important;font-size:8px!important;padding:5px 7px!important;}
  .prog-spot{min-height:58px!important;height:auto!important;padding:9px!important;overflow:visible!important;}
  .prog-spot-title{font-size:18px!important;}
  .prog-spot-desc{font-size:10px!important;}
  .db,#btnLiveRadio,#btnPrograms,#btnAstro,#btnTop10,#btnChatMain,#btnContactMain{grid-column:1!important;grid-row:auto!important;width:100%!important;min-height:86px!important;height:86px!important;display:grid!important;grid-template-columns:62px 1fr!important;grid-template-rows:1fr auto auto 1fr!important;gap:0 12px!important;padding:12px 14px!important;border-radius:20px!important;overflow:hidden!important;background-size:cover!important;background-position:center!important;}
  .db-icon{grid-column:1!important;grid-row:1/5!important;width:54px!important;height:54px!important;border-radius:15px!important;font-size:26px!important;}
  .db-label{grid-column:2!important;grid-row:2!important;font-size:22px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .db-sub{grid-column:2!important;grid-row:3!important;font-size:10px!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .db:hover{transform:none!important;}
  .contact-dock{display:none!important;}
  .contact-drawer-grid{display:grid!important;gap:10px!important;}
  .contact-drawer-card{grid-template-columns:56px 1fr!important;min-height:76px!important;border-radius:18px!important;padding:12px!important;}
  .contact-drawer-icon{width:52px!important;height:52px!important;border-radius:16px!important;}
  .contact-drawer-meta strong{font-size:17px!important;}
  .contact-drawer-meta span{font-size:12px!important;overflow-wrap:anywhere!important;}
  .drw,.drw.rp,.drw.cm{position:fixed!important;left:0!important;right:0!important;top:0!important;bottom:0!important;width:100%!important;height:100dvh!important;max-height:none!important;border-radius:0!important;z-index:120!important;overflow:hidden!important;}
  .drw-body{height:calc(100dvh - 70px)!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;}
  #newsTickerBar.news-ticker,.news-ticker{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:100!important;display:flex!important;width:100%!important;height:34px!important;min-height:34px!important;overflow:hidden!important;background:#050914!important;}
  .news-ticker-label{flex:0 0 92px!important;min-width:92px!important;height:34px!important;font-size:7px!important;letter-spacing:.08em!important;clip-path:none!important;padding:0 8px!important;}
  .news-ticker-viewport{height:34px!important;overflow:hidden!important;min-width:0!important;}
  #newsTickerTrack.news-ticker-track,.news-ticker-track{display:flex!important;align-items:center!important;white-space:nowrap!important;width:max-content!important;min-width:max-content!important;animation:stepUMobileTicker 54s linear infinite!important;will-change:transform!important;}
  .news-ticker-track span{display:inline-flex!important;align-items:center!important;height:34px!important;padding:0 18px!important;font-size:9px!important;white-space:nowrap!important;}
  @keyframes stepUMobileTicker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
  .brand-bar,.partner-static,.player-bar,.chat-fab{display:none!important;}
  *{max-width:100%;}
}
@media (max-width:390px){.hdr-name{font-size:30px!important}.hdr-logo{width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important}.db-label{font-size:20px!important}}

/* ---- extracted block ---- */

/* STEP V — MOBILE CLEAN LOCK. Desktop untouched. */
@media screen and (max-width: 768px){
  html,body{
    width:100%!important;max-width:100%!important;height:auto!important;min-height:100%!important;
    overflow-x:hidden!important;overflow-y:auto!important;background:#050814!important;
    -webkit-text-size-adjust:100%!important;scroll-behavior:smooth!important;
  }
  body{display:block!important;margin:0!important;padding:0!important;}
  body::before,body::after,#cultMotionCanvas,.club-particles,#clubParticles{display:none!important;animation:none!important;}
  *{box-sizing:border-box!important;}
  #app{
    position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;
    height:auto!important;min-height:100svh!important;display:flex!important;flex-direction:column!important;
    overflow:visible!important;padding:0 0 78px!important;background:#050814!important;
  }

  /* HEADER MOBILE: una riga brand protetta, poi ora, poi meteo */
  .hdr{
    position:relative!important;z-index:80!important;width:100%!important;height:auto!important;min-height:0!important;
    display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;
    gap:9px!important;padding:12px 12px 10px!important;margin:0!important;overflow:visible!important;
    background:linear-gradient(180deg,#070b18 0%,#050814 100%)!important;border-bottom:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 12px 32px rgba(0,0,0,.22)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  }
  .hdr-brand{
    order:1!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;
    width:100%!important;max-width:100%!important;min-width:0!important;height:58px!important;min-height:58px!important;overflow:hidden!important;flex:0 0 auto!important;
  }
  .hdr-logo{
    display:block!important;visibility:visible!important;opacity:1!important;flex:0 0 52px!important;
    width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;max-width:52px!important;max-height:52px!important;
    object-fit:contain!important;object-position:center!important;border-radius:13px!important;clip-path:none!important;transform:none!important;
    background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 0 18px rgba(255,0,122,.20)!important;
  }
  .hdr-brand>div{display:block!important;min-width:0!important;max-width:calc(100% - 64px)!important;overflow:hidden!important;}
  .hdr-name{
    display:block!important;width:100%!important;font-family:'Bebas Neue','Inter',sans-serif!important;
    font-size:32px!important;line-height:.88!important;letter-spacing:.03em!important;color:#fff!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-align:left!important;
    text-shadow:0 0 18px rgba(255,0,122,.20),0 0 12px rgba(0,229,255,.10)!important;
  }
  .hdr-sub{display:block!important;margin-top:4px!important;font-size:9px!important;line-height:1!important;letter-spacing:.12em!important;color:rgba(230,242,255,.66)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .hdr-user{display:none!important;}

  .hdr-clock.clock-clean,.hdr-clock{
    order:2!important;display:grid!important;grid-template-columns:1fr!important;grid-template-areas:'date' 'time'!important;gap:5px!important;
    width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;
    padding:9px 10px!important;margin:0!important;border-radius:16px!important;overflow:hidden!important;text-align:center!important;
    background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.09)!important;box-shadow:none!important;transform:none!important;
  }
  .clock-line{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;width:100%!important;min-width:0!important;overflow:hidden!important;}
  .clock-date-line{grid-area:date!important}.clock-time-line{grid-area:time!important}
  .clock-prefix{font-size:8px!important;line-height:1!important;letter-spacing:.10em!important;color:rgba(232,244,255,.58)!important;white-space:nowrap!important;}
  .orb-date{font-size:10px!important;line-height:1!important;letter-spacing:.04em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#fff!important;}
  .orb-time{font-size:18px!important;line-height:1!important;letter-spacing:.05em!important;color:#c9fbff!important;text-shadow:0 0 12px rgba(0,229,255,.48)!important;}

  .header-weather-widget{
    order:3!important;display:grid!important;grid-template-columns:1fr!important;gap:7px!important;
    width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;
    margin:0!important;padding:10px!important;border-radius:16px!important;overflow:visible!important;position:relative!important;z-index:4!important;transform:none!important;
    background:linear-gradient(135deg,rgba(8,18,36,.94),rgba(5,10,24,.92))!important;border:1px solid rgba(0,229,255,.18)!important;box-shadow:none!important;
  }
  .header-weather-kicker{display:block!important;font-size:8px!important;line-height:1!important;letter-spacing:.16em!important;color:#8ff6ff!important;text-transform:uppercase!important;}
  .header-weather-line{display:block!important;font-size:11px!important;line-height:1.25!important;color:#fff!important;font-weight:900!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;}
  .header-weather-label{display:block!important;font-size:9px!important;line-height:1!important;font-weight:950!important;letter-spacing:.10em!important;color:#8ff6ff!important;text-transform:uppercase!important;}
  .header-weather-hint,.city-help{display:block!important;font-size:8px!important;line-height:1.2!important;color:rgba(222,236,255,.54)!important;}
  #wxCityRowHeader,.header-weather-city-row,.header-weather-city-row.open{
    display:grid!important;grid-template-columns:minmax(0,1fr) 52px!important;gap:8px!important;width:100%!important;max-width:100%!important;
    height:auto!important;min-height:38px!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;
  }
  #wxCityInpHeader,.header-weather-input{
    display:block!important;width:100%!important;min-width:0!important;height:38px!important;min-height:38px!important;margin:0!important;padding:0 12px!important;
    border-radius:12px!important;border:1px solid rgba(255,255,255,.16)!important;background:rgba(255,255,255,.09)!important;color:#fff!important;
    font-size:12px!important;line-height:38px!important;outline:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;-webkit-appearance:none!important;appearance:none!important;
  }
  #wxCityBtnHeader,.header-weather-ok{display:flex!important;align-items:center!important;justify-content:center!important;width:52px!important;min-width:52px!important;height:38px!important;min-height:38px!important;margin:0!important;padding:0!important;border:0!important;border-radius:12px!important;background:linear-gradient(135deg,#00e5ff,#77f7ff)!important;color:#04111d!important;font-size:10px!important;font-weight:950!important;letter-spacing:.03em!important;pointer-events:auto!important;}
  .header-weather-change{display:none!important;}

  #almanacStrip,.almanac-strip{order:2!important;display:flex!important;position:relative!important;z-index:60!important;width:100%!important;height:34px!important;min-height:34px!important;margin:0!important;overflow:hidden!important;background:#060b17!important;border-top:1px solid rgba(255,255,255,.06)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;}
  .almanac-lbl{height:34px!important;min-width:116px!important;padding:0 8px!important;font-size:7px!important;letter-spacing:.08em!important;clip-path:none!important;white-space:nowrap!important;}
  .almanac-scroll-wrap{height:34px!important;min-width:0!important;overflow:hidden!important;padding-left:8px!important;}
  .almanac-text{font-size:9px!important;line-height:34px!important;white-space:nowrap!important;}
  .almanac-text.animate{animation:almScroll 48s linear infinite!important;}

  .dash{order:3!important;display:flex!important;flex-direction:column!important;gap:10px!important;width:100%!important;max-width:100%!important;min-height:0!important;height:auto!important;padding:10px 10px 14px!important;overflow:visible!important;}
  #nowCard.now-card,.now-card{order:1!important;display:flex!important;flex-direction:column!important;gap:8px!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:14px!important;border-radius:22px!important;overflow:visible!important;}
  #nowTitle{font-size:clamp(34px,13vw,48px)!important;line-height:.86!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;margin:0!important;}
  #nowArtist{font-size:17px!important;line-height:1.1!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;margin:0!important;}
  #nowNext,#nowProgram{max-width:100%!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;}
  #metaPlayerControls{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;padding:12px!important;margin:4px 0!important;border-radius:18px!important;overflow:visible!important;}
  #mainPlay{width:100%!important;min-width:0!important;height:46px!important;border-radius:999px!important;}
  .meta-volume{display:grid!important;grid-template-columns:38px 1fr!important;gap:10px!important;width:100%!important;min-width:0!important;}
  #btnSongHistory{width:100%!important;min-height:40px!important;justify-content:center!important;}
  .viz{height:34px!important;min-height:34px!important;max-height:34px!important;margin:4px 0!important;padding:6px!important;border-radius:14px!important;gap:3px!important;overflow:hidden!important;}
  .viz::before,.viz::after{display:none!important;}.vbar{min-width:3px!important;max-width:8px!important;height:12px!important;max-height:26px!important;animation:none!important;transition:height .35s ease,opacity .35s ease!important;opacity:.62!important;transform:none!important;}.vbar:nth-child(n+13){display:none!important;}

  #sponsorBanner.sponsor-banner{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;width:100%!important;min-height:112px!important;height:auto!important;margin:6px 0 0!important;padding:12px!important;border-radius:18px!important;overflow:visible!important;background:linear-gradient(135deg,rgba(255,166,0,.20),rgba(255,0,122,.14),rgba(0,229,255,.12))!important;border:1px solid rgba(255,214,111,.30)!important;box-shadow:none!important;}
  .sponsor-banner::before,.sponsor-banner::after{display:none!important;animation:none!important;}.spb-badge{justify-self:start!important;font-size:9px!important;padding:5px 9px!important;border-radius:999px!important;}.spb-meta{min-width:0!important;width:100%!important;overflow:visible!important;}.spb-name{font-size:30px!important;line-height:.92!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;}.spb-copy{font-size:12px!important;line-height:1.25!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;}.spb-place{font-size:9px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;}.spb-adv{display:none!important;}

  .db,#btnLiveRadio,#btnPrograms,#btnAstro,#btnTop10,#btnChatMain,#btnContactMain{order:2!important;display:grid!important;grid-template-columns:58px 1fr!important;grid-template-rows:auto auto!important;align-items:center!important;width:100%!important;height:88px!important;min-height:88px!important;margin:0!important;padding:12px 14px!important;border-radius:20px!important;overflow:hidden!important;}
  .db-icon{grid-column:1!important;grid-row:1/3!important;width:50px!important;height:50px!important;border-radius:16px!important;font-size:24px!important;}.db-label{grid-column:2!important;grid-row:1!important;font-size:20px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}.db-sub{grid-column:2!important;grid-row:2!important;font-size:10px!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}

  #newsTickerBar,.news-ticker{display:flex!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:90!important;height:34px!important;min-height:34px!important;overflow:hidden!important;background:#050814!important;}.news-ticker-label{height:34px!important;min-width:105px!important;font-size:7px!important;letter-spacing:.08em!important;clip-path:none!important;}.news-ticker-viewport{height:34px!important;overflow:hidden!important;}.news-ticker-track{display:inline-flex!important;align-items:center!important;white-space:nowrap!important;animation:newsScrollMobile 55s linear infinite!important;will-change:transform!important;}.news-ticker-track span{font-size:9px!important;padding-right:34px!important;}@keyframes newsScrollMobile{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
  .brand-bar.partner-static{display:none!important;}

  .drw{width:100%!important;max-width:100%!important;left:0!important;right:0!important;top:0!important;bottom:0!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;overflow:hidden!important;}.drw-body{height:calc(100dvh - 64px)!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;}.drw.cm{width:100%!important;max-width:100%!important;}
  .chat-fab{display:none!important;}
}

/* ---- extracted block ---- */

/*
  STEP W — POSIZIONATO ALLA FINE DEL DOCUMENTO
  Vince su TUTTI i layer per ordine cascade, anche con !important
  Solo @media (max-width:900px) — desktop invariato
*/
@media screen and (max-width:900px){

/* 1 ── RESET BASE ──────────────────────────────── */
html,body{
  width:100%!important;height:auto!important;
  min-height:100%!important;max-height:none!important;
  overflow-x:hidden!important;overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  -webkit-text-size-adjust:100%!important;
  padding:0!important;margin:0!important;
  display:block!important;
  background:#04060d!important;
}
body::before,body::after{display:none!important;content:none!important;animation:none!important;}
#cultMotionCanvas,#clubParticles,.club-particles{display:none!important;visibility:hidden!important;}

/* 2 ── #APP: flex column scrollabile ───────────── */
#app{
  position:relative!important;inset:auto!important;top:auto!important;
  left:auto!important;right:auto!important;bottom:auto!important;
  z-index:1!important;
  width:100%!important;max-width:100%!important;
  height:auto!important;min-height:100svh!important;max-height:none!important;
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  overflow-x:hidden!important;overflow-y:visible!important;
  padding:0 0 38px!important;background:#04060d!important;
  grid-template-rows:none!important;grid-template-columns:none!important;
  grid-template-areas:none!important;gap:0!important;
}

/* 3 ── HEADER: flex column ─────────────────────── */
.hdr{
  position:relative!important;inset:auto!important;
  z-index:80!important;flex-shrink:0!important;
  width:100%!important;max-width:100%!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  display:flex!important;flex-direction:column!important;
  align-items:stretch!important;justify-content:flex-start!important;
  gap:10px!important;padding:14px 12px 12px!important;margin:0!important;
  overflow:visible!important;
  background:linear-gradient(180deg,rgba(8,11,22,.98) 0%,rgba(5,8,16,.96) 100%)!important;
  border-bottom:1px solid rgba(0,229,255,.14)!important;
  box-shadow:0 6px 28px rgba(0,0,0,.36)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  grid-template-rows:none!important;grid-template-columns:none!important;
  grid-template-areas:none!important;
}
.hdr::before{
  content:""!important;display:block!important;
  position:absolute!important;top:0!important;left:0!important;right:0!important;
  height:3px!important;
  background:linear-gradient(90deg,#ef3824,#ff007a 40%,#00e5ff 70%,#0f4f9b)!important;
  opacity:.90!important;z-index:2!important;pointer-events:none!important;
}

/* 4 ── BRAND ROW ───────────────────────────────── */
.hdr-brand{
  display:flex!important;align-items:center!important;
  justify-content:flex-start!important;gap:12px!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  height:auto!important;min-height:52px!important;
  flex:0 0 auto!important;flex-basis:auto!important;
  overflow:visible!important;order:0!important;grid-area:auto!important;
}
.hdr-logo{
  display:block!important;visibility:visible!important;opacity:1!important;
  flex:0 0 50px!important;
  width:50px!important;height:50px!important;
  min-width:50px!important;min-height:50px!important;
  max-width:50px!important;max-height:50px!important;
  border-radius:12px!important;object-fit:contain!important;
  clip-path:none!important;transform:none!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 0 18px rgba(239,56,36,.22)!important;
  background:rgba(255,255,255,.04)!important;
  padding:0!important;margin:0!important;position:relative!important;inset:auto!important;
}
.hdr-brand>div{
  display:block!important;flex:1 1 auto!important;
  min-width:0!important;overflow:hidden!important;
}
.hdr-name{
  display:block!important;visibility:visible!important;opacity:1!important;
  font-family:'Bebas Neue','Inter',sans-serif!important;
  font-size:clamp(28px,9vw,38px)!important;
  line-height:.88!important;letter-spacing:.04em!important;
  color:#fff!important;white-space:nowrap!important;
  overflow:hidden!important;text-overflow:ellipsis!important;
  text-shadow:0 0 22px rgba(239,56,36,.22)!important;
  width:100%!important;max-width:100%!important;
}
.hdr-sub{
  display:block!important;visibility:visible!important;
  margin-top:3px!important;font-size:9px!important;
  letter-spacing:.18em!important;text-transform:uppercase!important;
  color:rgba(208,232,255,.60)!important;
  white-space:nowrap!important;overflow:hidden!important;
}
.hdr-user,.user-info,.user-avatar{display:none!important;}

/* 5 ── CLOCK: flex column (ANNULLA grid 2 colonne) ── */
.hdr-clock,.hdr-clock.clock-clean{
  display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;
  gap:4px!important;
  width:100%!important;max-width:100%!important;min-width:0!important;
  height:auto!important;min-height:0!important;flex:0 0 auto!important;
  padding:9px 14px!important;margin:0!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.042)!important;
  border:1px solid rgba(255,255,255,.09)!important;
  box-shadow:none!important;overflow:hidden!important;text-align:center!important;
  /* ANNULLA display:grid e grid-template-areas del globale */
  grid-template-columns:none!important;grid-template-areas:none!important;
  grid-template-rows:none!important;
  position:static!important;inset:auto!important;transform:none!important;
  justify-self:auto!important;align-self:auto!important;
  /* ANNULLA width:min(760px,54vw) e min-width:390px del globale */
  min-width:0!important;
  order:0!important;
}
.hdr-clock::before,.hdr-clock.clock-clean::before{display:none!important;content:none!important;}
.clock-date-line,.clock-time-line,.clock-line{
  display:flex!important;align-items:center!important;
  justify-content:center!important;gap:7px!important;
  width:100%!important;min-width:0!important;
  overflow:hidden!important;grid-area:auto!important;
}
.clock-prefix{
  font-size:8px!important;letter-spacing:.10em!important;
  color:rgba(224,238,255,.52)!important;white-space:nowrap!important;
}
.orb-date{
  font-size:10px!important;letter-spacing:.06em!important;
  color:rgba(220,240,255,.88)!important;font-weight:900!important;
  white-space:nowrap!important;overflow:hidden!important;
  text-overflow:ellipsis!important;max-width:220px!important;
}
.orb-time{
  font-family:'Orbitron','Inter',sans-serif!important;
  font-size:20px!important;line-height:1!important;letter-spacing:.06em!important;
  color:#c8fbff!important;text-shadow:0 0 12px rgba(0,229,255,.70)!important;
  white-space:nowrap!important;
}

/* 6 ── METEO WIDGET: 100% width (ANNULLA width:230px) ── */
.header-weather-widget,#headerWeatherWidget{
  display:flex!important;flex-direction:column!important;gap:8px!important;
  /* ANNULLA width:230px!important min-width:190px!important max-width:260px!important */
  width:100%!important;max-width:100%!important;min-width:0!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  flex:0 0 auto!important;
  padding:10px 12px!important;margin:0!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,rgba(5,14,30,.94),rgba(4,9,20,.90))!important;
  border:1px solid rgba(0,229,255,.18)!important;
  box-shadow:0 0 18px rgba(0,229,255,.06)!important;
  overflow:visible!important;
  /* ANNULLA position:relative e grid-area:weather del globale */
  position:static!important;inset:auto!important;transform:none!important;
  z-index:4!important;grid-area:auto!important;order:0!important;
  text-align:left!important;
  /* Forza il padre ad essere il reference per la width */
  box-sizing:border-box!important;
}
.header-weather-kicker{
  display:block!important;font-size:7px!important;letter-spacing:.20em!important;
  color:#78f5ff!important;text-transform:uppercase!important;
  font-weight:950!important;margin:0!important;
}
.header-weather-line{
  display:block!important;font-size:11px!important;line-height:1.3!important;
  font-weight:900!important;color:#fff!important;
  white-space:normal!important;overflow:visible!important;margin:0!important;
}
.header-weather-label{
  display:block!important;font-size:8px!important;letter-spacing:.12em!important;
  color:#78f5ff!important;text-transform:uppercase!important;
  font-weight:950!important;margin:0!important;
}
.header-weather-hint,.city-help{
  display:block!important;font-size:8px!important;
  color:rgba(210,232,255,.50)!important;line-height:1.2!important;margin:0!important;
}

/* 7 ── METEO INPUT ROW: no overflow ────────────── */
#wxCityRowHeader,.header-weather-city-row,.header-weather-city-row.open{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 52px!important;
  gap:8px!important;
  width:100%!important;max-width:100%!important;
  height:auto!important;min-height:40px!important;max-height:none!important;
  margin:0!important;padding:0!important;
  opacity:1!important;visibility:visible!important;
  pointer-events:auto!important;transform:none!important;
  overflow:visible!important;
  /* ANNULLA position:absolute del dropdown desktop */
  position:static!important;inset:auto!important;
  box-sizing:border-box!important;
}
#wxCityInpHeader,.header-weather-input{
  display:block!important;
  width:100%!important;min-width:0!important;
  height:40px!important;min-height:40px!important;
  margin:0!important;padding:0 10px!important;
  border-radius:10px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;font-size:13px!important;
  -webkit-appearance:none!important;appearance:none!important;
  opacity:1!important;visibility:visible!important;
  pointer-events:auto!important;
  -webkit-user-select:text!important;user-select:text!important;
  outline:none!important;box-sizing:border-box!important;
}
#wxCityBtnHeader,.header-weather-ok{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:52px!important;min-width:52px!important;max-width:52px!important;
  height:40px!important;min-height:40px!important;
  margin:0!important;padding:0!important;
  border:0!important;border-radius:10px!important;
  background:linear-gradient(135deg,#00e5ff,#6ff7ff)!important;
  color:#04111d!important;font-size:9px!important;font-weight:950!important;
  pointer-events:auto!important;cursor:pointer!important;
  box-sizing:border-box!important;flex-shrink:0!important;
}
.header-weather-change{display:none!important;}

/* 8 ── ALMANAC ──────────────────────────────────── */
#almanacStrip,.almanac-strip{
  display:flex!important;align-items:center!important;
  position:relative!important;z-index:60!important;flex-shrink:0!important;
  width:100%!important;height:30px!important;
  min-height:30px!important;max-height:30px!important;
  margin:0!important;overflow:hidden!important;
  background:rgba(3,5,14,.94)!important;
  border-top:1px solid rgba(255,255,255,.06)!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
  grid-row:auto!important;order:0!important;
}
.almanac-lbl{
  display:flex!important;align-items:center!important;
  flex:0 0 auto!important;height:30px!important;
  min-width:100px!important;padding:0 10px!important;
  font-size:7px!important;letter-spacing:.10em!important;
  clip-path:none!important;white-space:nowrap!important;font-weight:900!important;
}
.almanac-scroll-wrap{
  flex:1 1 auto!important;height:30px!important;min-width:0!important;
  overflow:hidden!important;display:flex!important;align-items:center!important;
  padding-left:6px!important;
}
.almanac-text{font-size:9px!important;line-height:30px!important;white-space:nowrap!important;}

/* 9 ── DASHBOARD: flex column ───────────────────── */
.dash{
  display:flex!important;flex-direction:column!important;gap:10px!important;
  width:100%!important;max-width:100%!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  flex:1 1 auto!important;overflow:visible!important;
  padding:10px 12px 14px!important;
  grid-template-columns:none!important;grid-template-rows:none!important;
  grid-template-areas:none!important;grid-row:auto!important;order:0!important;
}

/* 10 ── NOW CARD ─────────────────────────────────── */
#nowCard,.now-card{
  display:flex!important;flex-direction:column!important;gap:8px!important;
  width:100%!important;max-width:100%!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  padding:16px!important;border-radius:20px!important;
  overflow:visible!important;margin:0!important;flex-shrink:0!important;
  grid-column:auto!important;grid-row:auto!important;
  background:
    radial-gradient(ellipse at 18% 18%,rgba(239,56,36,.22),transparent 45%),
    radial-gradient(ellipse at 84% 78%,rgba(0,229,255,.16),transparent 48%),
    linear-gradient(148deg,rgba(255,255,255,.072),rgba(255,255,255,.022))!important;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:0 16px 48px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.10)!important;
  backdrop-filter:none!important;
}
.now-card>*{position:relative!important;z-index:1!important;}
.now-card::before{
  background-position:center top!important;background-size:cover!important;opacity:.65!important;
}
#nowProgram,.now-program{font-size:10px!important;letter-spacing:.18em!important;white-space:normal!important;overflow:visible!important;}
#nowTitle,.now-title{
  font-family:'Bebas Neue','Inter',sans-serif!important;
  font-size:clamp(34px,12vw,52px)!important;line-height:.84!important;
  white-space:normal!important;overflow-wrap:anywhere!important;
  max-width:100%!important;margin:0!important;letter-spacing:.01em!important;
}
#nowArtist,.now-artist{
  font-size:16px!important;line-height:1.15!important;font-weight:900!important;
  white-space:normal!important;overflow-wrap:anywhere!important;
  max-width:100%!important;margin:0!important;
}
#nowNext,.now-next{
  white-space:normal!important;overflow:visible!important;
  max-width:100%!important;font-size:11px!important;margin:0!important;
}

/* 11 ── PLAYER CONTROLS ─────────────────────────── */
#metaPlayerControls,.meta-player-controls{
  display:flex!important;flex-direction:column!important;gap:10px!important;
  width:100%!important;padding:12px!important;margin:4px 0!important;
  border-radius:16px!important;overflow:visible!important;
  height:auto!important;min-height:0!important;align-items:stretch!important;
  background:rgba(255,255,255,.055)!important;border:1px solid rgba(0,229,255,.14)!important;
}
#mainPlay,.meta-play-btn{
  width:100%!important;min-width:0!important;height:48px!important;
  border-radius:999px!important;display:flex!important;
  align-items:center!important;justify-content:center!important;
  gap:10px!important;font-size:14px!important;font-weight:950!important;
  letter-spacing:.14em!important;
}
.meta-volume{
  display:flex!important;align-items:center!important;gap:10px!important;
  width:100%!important;min-width:0!important;font-size:10px!important;
}
.meta-volume input{flex:1!important;min-width:0!important;}
#btnSongHistory,.meta-history-btn{
  width:100%!important;min-height:40px!important;
  justify-content:center!important;display:flex!important;
  align-items:center!important;font-size:11px!important;border-radius:10px!important;
}

/* 12 ── VISUALIZER ──────────────────────────────── */
#viz,.viz{
  height:32px!important;min-height:32px!important;max-height:32px!important;
  margin:2px 0!important;padding:5px 6px!important;
  border-radius:10px!important;gap:3px!important;overflow:hidden!important;
  flex-shrink:0!important;filter:none!important;
}
#viz::before,#viz::after,.viz::before,.viz::after{display:none!important;}
.vbar{
  min-width:3px!important;max-width:7px!important;
  height:10px!important;max-height:24px!important;
  animation:none!important;transition:height .32s ease,opacity .32s ease!important;
  transform:none!important;border-radius:3px 3px 1px 1px!important;
}
.vbar:nth-child(n+13){display:none!important;}

/* 13 ── SPONSOR BANNER ───────────────────────────── */
#sponsorBanner,.sponsor-banner{
  display:flex!important;flex-direction:column!important;gap:6px!important;
  width:100%!important;max-width:100%!important;
  height:auto!important;min-height:0!important;
  margin:4px 0 0!important;padding:14px!important;
  border-radius:18px!important;overflow:visible!important;
  animation:none!important;transform:none!important;flex-shrink:0!important;
  grid-template-columns:none!important;position:relative!important;
  background:
    radial-gradient(ellipse at 0% 0%,rgba(255,190,70,.22),transparent 48%),
    radial-gradient(ellipse at 100% 100%,rgba(0,229,255,.14),transparent 48%),
    linear-gradient(135deg,rgba(255,255,255,.076),rgba(255,255,255,.024))!important;
  border:1px solid rgba(255,214,111,.28)!important;
  box-shadow:0 12px 32px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.sponsor-banner::before,.sponsor-banner::after{display:none!important;animation:none!important;content:none!important;}
.spb-badge{align-self:flex-start!important;font-size:8px!important;padding:4px 9px!important;border-radius:999px!important;white-space:nowrap!important;}
.spb-meta{min-width:0!important;width:100%!important;overflow:visible!important;}
.spb-name{font-size:clamp(26px,8.5vw,38px)!important;line-height:.90!important;white-space:normal!important;overflow:visible!important;}
.spb-copy{font-size:12px!important;line-height:1.3!important;white-space:normal!important;overflow:visible!important;margin-top:4px!important;}
.spb-place{font-size:9px!important;white-space:normal!important;overflow:visible!important;margin-top:5px!important;}
.spb-adv{display:none!important;}
.prog-spot{display:none!important;}

/* 14 ── DASHBOARD BUTTONS ───────────────────────── */
.db,#btnLiveRadio,#btnPrograms,#btnAstro,
#btnTop10,#btnChatMain,#btnContactMain{
  display:grid!important;
  grid-template-columns:58px 1fr!important;
  grid-template-rows:1fr auto auto 1fr!important;
  align-items:center!important;
  width:100%!important;max-width:100%!important;
  height:86px!important;min-height:86px!important;max-height:86px!important;
  margin:0!important;padding:12px 14px!important;
  border-radius:18px!important;overflow:hidden!important;
  flex-shrink:0!important;position:relative!important;
  grid-column:auto!important;grid-row:auto!important;column-gap:14px!important;
  backdrop-filter:none!important;
  background:
    radial-gradient(circle at 18% 18%,var(--panel-a,rgba(0,229,255,.16)),transparent 50%),
    radial-gradient(circle at 88% 88%,var(--panel-b,rgba(239,56,36,.12)),transparent 52%),
    linear-gradient(135deg,rgba(255,255,255,.086),rgba(255,255,255,.026))!important;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.db::before{display:none!important;content:none!important;}
.db::after{
  content:attr(data-watermark)!important;position:absolute!important;
  right:14px!important;bottom:-10px!important;font-size:68px!important;
  opacity:.08!important;filter:none!important;pointer-events:none!important;z-index:0!important;
}
.db-icon{
  grid-column:1!important;grid-row:1/5!important;
  width:50px!important;height:50px!important;
  min-width:50px!important;max-width:50px!important;
  border-radius:14px!important;font-size:24px!important;
  display:grid!important;place-items:center!important;
  align-self:center!important;justify-self:center!important;z-index:1!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.16)!important;
}
.db-label{
  grid-column:2!important;grid-row:2!important;
  font-family:'Orbitron','Inter',sans-serif!important;
  font-size:clamp(16px,5vw,22px)!important;line-height:1!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  text-align:left!important;letter-spacing:.02em!important;
  color:#fff!important;z-index:1!important;
}
.db-sub{
  grid-column:2!important;grid-row:3!important;
  font-size:10px!important;line-height:1.2!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  text-align:left!important;color:rgba(225,240,255,.68)!important;z-index:1!important;
}
.db:hover,.db:active{transform:none!important;}
.db.is-hidden{display:none!important;}
.contact-dock{display:none!important;}

/* 15 ── DRAWERS ─────────────────────────────────── */
.drw,.drw.rp,.drw.cm{
  position:fixed!important;left:0!important;right:0!important;
  top:0!important;bottom:0!important;
  width:100%!important;max-width:100%!important;
  height:100dvh!important;max-height:100dvh!important;
  border-radius:0!important;z-index:120!important;overflow:hidden!important;
}
.drw-body{
  height:calc(100dvh - 70px)!important;
  overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;
}

/* 16 ── NEWS TICKER fisso in basso ──────────────── */
#newsTickerBar,.news-ticker{
  position:fixed!important;left:0!important;right:0!important;bottom:0!important;
  z-index:100!important;display:flex!important;align-items:center!important;
  width:100%!important;height:34px!important;
  min-height:34px!important;max-height:34px!important;
  overflow:hidden!important;background:rgba(3,5,14,.97)!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
  grid-row:auto!important;flex-shrink:0!important;
  box-shadow:0 -4px 20px rgba(0,0,0,.28)!important;
}
.news-ticker-label{
  flex:0 0 auto!important;min-width:90px!important;max-width:105px!important;
  height:34px!important;font-size:7px!important;letter-spacing:.10em!important;
  clip-path:none!important;display:flex!important;
  align-items:center!important;justify-content:center!important;
  padding:0 8px!important;white-space:nowrap!important;
  background:linear-gradient(135deg,#ef3824,#b6157a)!important;
}
.news-ticker-viewport{
  flex:1 1 auto!important;height:34px!important;min-width:0!important;
  overflow:hidden!important;display:flex!important;align-items:center!important;
}
.news-ticker-track{
  display:inline-flex!important;align-items:center!important;
  white-space:nowrap!important;will-change:transform!important;
}
.news-ticker-track span{
  display:inline-flex!important;align-items:center!important;
  height:34px!important;padding:0 20px!important;
  font-size:9px!important;white-space:nowrap!important;
}

/* 17 ── NASCONDI su mobile ───────────────────────── */
.brand-bar,.partner-static,.player-bar,.chat-fab,.sponsor-spot{display:none!important;}

/* 18 ── INNER DRAWER fixes ──────────────────────── */
.sched-visual-grid{grid-template-columns:1fr!important;gap:10px!important;}
.sched-text-card{grid-column:1!important;}
.t10-grid-pro{grid-template-columns:1fr!important;}
.t10-preview{position:relative!important;top:auto!important;}
.chat-chips{flex-wrap:wrap!important;}
.contact-drawer-grid{display:grid!important;gap:10px!important;}
.contact-drawer-card{grid-template-columns:52px 1fr!important;min-height:70px!important;border-radius:16px!important;padding:12px!important;}
.contact-drawer-icon{width:46px!important;height:46px!important;border-radius:13px!important;}


/* ── FIX DRAWER BACK BUTTON ─────────────────────── */
/* Garantisce che drw-hd sia sempre cliccabile */
.drw-hd {
  position:relative!important;
  z-index:10!important;
  flex-shrink:0!important;
  pointer-events:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  padding:13px 16px!important;
  min-height:56px!important;
  height:auto!important;
  max-height:none!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
}
.drw-back {
  position:relative!important;
  z-index:20!important;
  pointer-events:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.10)!important;
  font-size:20px!important;
  flex-shrink:0!important;
  cursor:pointer!important;
  border:none!important;
  color:#fff!important;
  /* Aumenta area touch */
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:rgba(255,255,255,.18)!important;
}
.drw-back:active {
  background:rgba(255,255,255,.22)!important;
  transform:scale(.94)!important;
}
/* drw-body NON deve coprire drw-hd */
.drw-body {
  position:relative!important;
  z-index:1!important;
  flex:1 1 auto!important;
  height:0!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  padding:14px 14px 80px!important;
  /* NON usare height:calc() che può sovrapporre il drw-hd */
}

/* ── FIX CONTACT DRAWER EMAIL ───────────────────── */
.contact-drawer-grid {
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  padding:4px 0!important;
}
.contact-drawer-card {
  display:grid!important;
  grid-template-columns:56px 1fr!important;
  grid-template-rows:1fr!important;
  align-items:center!important;
  gap:14px!important;
  min-height:76px!important;
  max-height:none!important;
  padding:14px 16px!important;
  border-radius:18px!important;
  text-decoration:none!important;
  color:#fff!important;
  overflow:visible!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}
.contact-drawer-card.ig {
  background:linear-gradient(135deg,rgba(255,45,122,.22),rgba(120,71,255,.16))!important;
  border:1px solid rgba(255,45,122,.28)!important;
}
.contact-drawer-card.mail {
  background:linear-gradient(135deg,rgba(255,77,140,.20),rgba(255,150,190,.10))!important;
  border:1px solid rgba(255,77,140,.28)!important;
}
.contact-drawer-card.wa {
  background:linear-gradient(135deg,rgba(37,211,102,.20),rgba(0,229,255,.10))!important;
  border:1px solid rgba(37,211,102,.28)!important;
}
.contact-drawer-icon {
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  border-radius:14px!important;
  display:grid!important;
  place-items:center!important;
  font-size:22px!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  overflow:hidden!important;
  flex-shrink:0!important;
}
/* Fix SVG dentro l'icona */
.contact-drawer-icon svg {
  width:26px!important;
  height:26px!important;
  display:block!important;
  flex-shrink:0!important;
}
.contact-drawer-meta {
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  min-width:0!important;
  overflow:hidden!important;
}
.contact-drawer-meta strong {
  display:block!important;
  font-family:'Orbitron','Inter',sans-serif!important;
  font-size:17px!important;
  line-height:1!important;
  color:#fff!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.contact-drawer-meta span {
  display:block!important;
  font-size:11px!important;
  font-weight:800!important;
  color:rgba(220,240,255,.72)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  margin-top:0!important;
}


} /* fine @media 900px */

/* ── BREAKPOINT ≤420px ───────────────────────────── */
@media screen and (max-width:420px){
  .hdr-logo{width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;flex-basis:44px!important;}
  .hdr-name{font-size:clamp(25px,8.5vw,30px)!important;}
  .db,#btnLiveRadio,#btnPrograms,#btnAstro,
  #btnTop10,#btnChatMain,#btnContactMain{height:78px!important;min-height:78px!important;max-height:78px!important;}
  .db-label{font-size:clamp(14px,4.5vw,18px)!important;}
  #nowTitle,.now-title{font-size:clamp(30px,11vw,44px)!important;}
  #wxCityRowHeader,.header-weather-city-row,.header-weather-city-row.open{
    grid-template-columns:minmax(0,1fr) 46px!important;
  }
  #wxCityBtnHeader,.header-weather-ok{width:46px!important;min-width:46px!important;max-width:46px!important;}
}

/* ---- extracted block ---- */

@media screen and (max-width:900px){
  /* METEO: il campo città deve essere evidente, stabile e fuori da ogni sovrapposizione. */
  #headerWeatherWidget.header-weather-widget,
  .header-weather-widget{
    display:flex!important;
    flex-direction:column!important;
    gap:9px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:12px!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    overflow:visible!important;
    box-sizing:border-box!important;
    border-radius:16px!important;
    background:linear-gradient(135deg,rgba(5,15,32,.96),rgba(5,9,22,.94))!important;
    border:1px solid rgba(0,229,255,.28)!important;
    box-shadow:0 0 0 1px rgba(255,255,255,.04),0 12px 28px rgba(0,0,0,.24)!important;
  }
  #headerWeatherWidget .header-weather-kicker,
  .header-weather-kicker{
    display:block!important;
    margin:0!important;
    font-size:8px!important;
    line-height:1!important;
    letter-spacing:.20em!important;
    color:#8ff6ff!important;
    font-weight:950!important;
  }
  #headerWeatherWidget .header-weather-line,
  .header-weather-line{
    display:block!important;
    margin:0!important;
    font-size:12px!important;
    line-height:1.25!important;
    color:#fff!important;
    font-weight:900!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  #headerWeatherWidget .header-weather-label,
  .header-weather-label{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:26px!important;
    margin:0!important;
    padding:7px 9px!important;
    border-radius:999px!important;
    background:rgba(0,229,255,.11)!important;
    border:1px solid rgba(0,229,255,.22)!important;
    color:#91f8ff!important;
    font-size:9px!important;
    line-height:1!important;
    letter-spacing:.12em!important;
    font-weight:1000!important;
    text-transform:uppercase!important;
    text-align:center!important;
    box-sizing:border-box!important;
  }
  #headerWeatherWidget .header-weather-label::before,
  .header-weather-label::before{
    content:'✍️';
    margin-right:6px;
    letter-spacing:0;
  }
  #wxCityRowHeader.header-weather-city-row,
  #wxCityRowHeader.header-weather-city-row.open,
  .header-weather-city-row,
  .header-weather-city-row.open{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 58px!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:42px!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    overflow:visible!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    box-sizing:border-box!important;
  }
  #wxCityInpHeader.header-weather-input,
  #wxCityInpHeader,
  .header-weather-input{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:42px!important;
    min-height:42px!important;
    margin:0!important;
    padding:0 13px!important;
    box-sizing:border-box!important;
    border-radius:13px!important;
    border:2px solid rgba(0,229,255,.50)!important;
    background:rgba(255,255,255,.105)!important;
    color:#fff!important;
    font-size:14px!important;
    line-height:42px!important;
    font-weight:850!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    -webkit-user-select:text!important;
    user-select:text!important;
    -webkit-appearance:none!important;
    appearance:none!important;
    outline:none!important;
    caret-color:#8ff6ff!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 16px rgba(0,229,255,.08)!important;
  }
  #wxCityInpHeader::placeholder,
  .header-weather-input::placeholder{
    color:rgba(255,255,255,.66)!important;
    opacity:1!important;
    font-weight:800!important;
  }
  #wxCityInpHeader:focus,
  .header-weather-input:focus{
    border-color:#8ff6ff!important;
    background:rgba(255,255,255,.14)!important;
    box-shadow:0 0 0 3px rgba(0,229,255,.16),0 0 24px rgba(0,229,255,.20)!important;
  }
  #wxCityBtnHeader.header-weather-ok,
  #wxCityBtnHeader,
  .header-weather-ok{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    height:42px!important;
    min-height:42px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:13px!important;
    background:linear-gradient(135deg,#00e5ff,#8ff6ff)!important;
    color:#03111d!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:1000!important;
    letter-spacing:.05em!important;
    cursor:pointer!important;
    pointer-events:auto!important;
    box-sizing:border-box!important;
    box-shadow:0 10px 20px rgba(0,229,255,.16)!important;
  }
  #headerWeatherWidget .header-weather-hint,
  .header-weather-hint{
    display:block!important;
    margin:0!important;
    font-size:8px!important;
    line-height:1.25!important;
    color:rgba(225,242,255,.60)!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }

  /* CONTATTACI: elimina il watermark “@” che si sovrappone alla card mobile. */
  #btnContactMain{
    isolation:isolate!important;
    overflow:hidden!important;
    background:
      radial-gradient(circle at 18% 18%,rgba(255,45,122,.18),transparent 48%),
      radial-gradient(circle at 90% 82%,rgba(0,229,255,.14),transparent 52%),
      linear-gradient(135deg,rgba(255,255,255,.086),rgba(255,255,255,.026))!important;
  }
  #btnContactMain::before,
  #btnContactMain::after{
    display:none!important;
    content:none!important;
    opacity:0!important;
  }
  #btnContactMain .db-icon,
  #btnContactMain .db-label,
  #btnContactMain .db-sub{
    position:relative!important;
    z-index:2!important;
  }
  #btnContactMain .db-label{
    font-size:clamp(17px,5vw,22px)!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #btnContactMain .db-sub{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    line-height:1.25!important;
  }

  /* SPOT/PROGRAMMA: sul mobile deve restare visibile ma compatto, senza nervosismi. */
  #progSpot.prog-spot{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-height:56px!important;
    height:auto!important;
    margin:4px 0 0!important;
    padding:10px!important;
    border-radius:16px!important;
    overflow:hidden!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    animation:none!important;
    transition:opacity .45s ease!important;
    background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025))!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:none!important;
  }
  #progSpot .prog-spot-icon{
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
    display:grid!important;
    place-items:center!important;
    font-size:18px!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.08)!important;
  }
  #progSpot .prog-spot-lbl{font-size:7px!important;line-height:1!important;letter-spacing:.14em!important;}
  #progSpot .prog-spot-title{font-size:17px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  #progSpot .prog-spot-desc{font-size:9px!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
}

@media screen and (max-width:420px){
  #wxCityRowHeader.header-weather-city-row,
  #wxCityRowHeader.header-weather-city-row.open,
  .header-weather-city-row,
  .header-weather-city-row.open{grid-template-columns:minmax(0,1fr) 50px!important;}
  #wxCityBtnHeader.header-weather-ok,
  #wxCityBtnHeader,
  .header-weather-ok{width:50px!important;min-width:50px!important;max-width:50px!important;font-size:9px!important;}
  #wxCityInpHeader.header-weather-input,
  #wxCityInpHeader,
  .header-weather-input{font-size:13px!important;padding:0 10px!important;}
  #btnContactMain .db-label{font-size:clamp(16px,4.8vw,19px)!important;}
  #btnContactMain .db-sub{font-size:9px!important;}
}

/* ---- extracted block ---- */

@media screen and (max-width:900px){
  html,body{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    background:#050814!important;
  }
  body{position:relative!important;margin:0!important;padding:0!important;}
  *,*::before,*::after{box-sizing:border-box!important;}
  #app,.hdr,.dash,#almanacStrip,.almanac-strip,#newsTickerBar,.news-ticker{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }

  /* Header mobile: una colonna reale. Evita il taglio orizzontale visto su Safari/Chrome mobile. */
  .hdr{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:12px!important;
    margin:0!important;
    padding:16px 14px 14px!important;
    position:relative!important;
  }
  .hdr-brand,.hdr-clock.clock-clean,#headerWeatherWidget.header-weather-widget{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    transform:none!important;
    left:auto!important;
    right:auto!important;
  }
  .hdr-brand{display:flex!important;grid-template-columns:none!important;align-items:center!important;gap:14px!important;}
  .hdr-logo{flex:0 0 58px!important;width:58px!important;height:58px!important;min-width:58px!important;max-width:58px!important;}
  .hdr-name{font-size:clamp(30px,9.4vw,42px)!important;line-height:.92!important;white-space:nowrap!important;letter-spacing:.035em!important;}
  .hdr-sub{font-size:clamp(10px,3.1vw,14px)!important;white-space:nowrap!important;letter-spacing:.22em!important;}

  /* Meteo: layout mobile leggibile, niente pulsante sovrapposto al campo. */
  #headerWeatherWidget.header-weather-widget{
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
    padding:13px!important;
    border-radius:18px!important;
    overflow:hidden!important;
    background:linear-gradient(135deg,rgba(2,13,28,.98),rgba(4,8,20,.96))!important;
    border:1px solid rgba(0,229,255,.28)!important;
    box-shadow:0 0 0 1px rgba(255,255,255,.035),0 14px 30px rgba(0,0,0,.28)!important;
  }
  #headerWeatherWidget .header-weather-kicker{
    font-size:11px!important;
    line-height:1!important;
    letter-spacing:.22em!important;
    text-align:center!important;
    margin:0!important;
  }
  #headerWeatherWidget .header-weather-line{
    display:block!important;
    width:100%!important;
    font-size:clamp(18px,5.2vw,24px)!important;
    line-height:1.18!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:visible!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    margin:0!important;
  }
  #headerWeatherWidget .header-weather-label{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:34px!important;
    padding:8px 10px!important;
    margin:0!important;
    border-radius:999px!important;
    background:rgba(0,229,255,.12)!important;
    border:1px solid rgba(0,229,255,.24)!important;
    font-size:clamp(10px,3.1vw,13px)!important;
    line-height:1.08!important;
    letter-spacing:.14em!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  #wxCityRowHeader.header-weather-city-row,
  #wxCityRowHeader.header-weather-city-row.open{
    display:flex!important;
    flex-direction:row!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    position:static!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    overflow:hidden!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  #wxCityInpHeader.header-weather-input,
  #wxCityInpHeader{
    position:static!important;
    display:block!important;
    order:1!important;
    flex:1 1 auto!important;
    width:auto!important;
    max-width:calc(100% - 62px)!important;
    min-width:0!important;
    height:46px!important;
    min-height:46px!important;
    margin:0!important;
    padding:0 13px!important;
    border-radius:14px!important;
    border:2px solid rgba(0,229,255,.46)!important;
    background:rgba(255,255,255,.11)!important;
    color:#fff!important;
    font-size:16px!important;
    line-height:46px!important;
    font-weight:900!important;
    text-align:left!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }
  #wxCityInpHeader::placeholder{color:rgba(255,255,255,.62)!important;opacity:1!important;}
  #wxCityBtnHeader.header-weather-ok,
  #wxCityBtnHeader{
    position:static!important;
    display:flex!important;
    order:2!important;
    flex:0 0 54px!important;
    width:54px!important;
    min-width:54px!important;
    max-width:54px!important;
    height:46px!important;
    min-height:46px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    border:0!important;
    border-radius:14px!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:11px!important;
    font-weight:1000!important;
    letter-spacing:.04em!important;
    z-index:1!important;
  }
  #headerWeatherWidget .header-weather-hint{font-size:10px!important;text-align:center!important;line-height:1.25!important;margin:0!important;}

  /* Dashboard card: ripristino sfondi WEBP e testi non sovrapposti. */
  .dash{
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
    padding:12px 14px 54px!important;
    margin:0!important;
  }
  .db,#btnLiveRadio,#btnPrograms,#btnAstro,#btnTop10,#btnChatMain,#btnContactMain{
    display:grid!important;
    grid-template-columns:64px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    align-content:center!important;
    column-gap:14px!important;
    row-gap:4px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:96px!important;
    min-height:96px!important;
    max-height:none!important;
    padding:14px!important;
    border-radius:22px!important;
    overflow:hidden!important;
    text-align:left!important;
    background-size:cover!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
  }
  #btnLiveRadio{background-image:linear-gradient(90deg,rgba(3,6,15,.15) 0%,rgba(3,6,15,.35) 42%,rgba(3,6,15,.80) 100%),url('../../step_p_assets/buttons/live-radio.jpg')!important;}
  #btnPrograms{background-image:linear-gradient(90deg,rgba(3,6,15,.15) 0%,rgba(3,6,15,.35) 42%,rgba(3,6,15,.80) 100%),url('../../step_p_assets/buttons/palinsesto.jpg')!important;}
  #btnAstro{background-image:linear-gradient(90deg,rgba(3,6,15,.15) 0%,rgba(3,6,15,.35) 42%,rgba(3,6,15,.80) 100%),url('../../step_p_assets/buttons/astro-cult.jpg')!important;}
  #btnTop10{background-image:linear-gradient(90deg,rgba(3,6,15,.15) 0%,rgba(3,6,15,.35) 42%,rgba(3,6,15,.80) 100%),url('../../step_p_assets/buttons/i-10-dischi.jpg')!important;}
  #btnChatMain{background-image:linear-gradient(90deg,rgba(3,6,15,.15) 0%,rgba(3,6,15,.35) 42%,rgba(3,6,15,.80) 100%),url('../../step_p_assets/buttons/chat-ai.jpg')!important;}
  #btnContactMain{background-image:radial-gradient(circle at 18% 18%,rgba(255,45,122,.24),transparent 44%),radial-gradient(circle at 92% 82%,rgba(0,229,255,.18),transparent 52%),linear-gradient(135deg,rgba(55,18,42,.94),rgba(4,22,33,.94))!important;}
  .db::before,.db::after,#btnContactMain::before,#btnContactMain::after{display:none!important;content:none!important;}
  .db-icon{
    grid-column:1!important;
    grid-row:1/3!important;
    position:relative!important;
    z-index:2!important;
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    border-radius:17px!important;
    display:grid!important;
    place-items:center!important;
    font-size:26px!important;
    background:rgba(255,255,255,.13)!important;
    border:1px solid rgba(255,255,255,.16)!important;
    overflow:hidden!important;
  }
  .db-label{
    grid-column:2!important;
    grid-row:1!important;
    position:relative!important;
    z-index:2!important;
    align-self:end!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    font-size:clamp(21px,6.3vw,31px)!important;
    line-height:.96!important;
    letter-spacing:.035em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    text-align:left!important;
  }
  .db-sub{
    grid-column:2!important;
    grid-row:2!important;
    position:relative!important;
    z-index:2!important;
    align-self:start!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    font-size:clamp(11px,3.25vw,15px)!important;
    line-height:1.15!important;
    letter-spacing:.06em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    text-align:left!important;
  }

  /* Contattaci: ulteriore freno alla sovrapposizione su schermi stretti. */
  #btnContactMain .db-label{font-size:clamp(19px,5.6vw,27px)!important;}
  #btnContactMain .db-sub{font-size:clamp(10px,3vw,13px)!important;}

  /* Ticker e almanacco: mai più larghi del viewport. */
  .almanac-lbl,.news-ticker-label{flex:0 0 126px!important;max-width:126px!important;min-width:126px!important;}
  .almanac-scroll-wrap,.news-ticker-viewport{min-width:0!important;overflow:hidden!important;}
}

@media screen and (max-width:420px){
  .hdr{padding-left:12px!important;padding-right:12px!important;}
  .hdr-logo{flex-basis:52px!important;width:52px!important;height:52px!important;min-width:52px!important;max-width:52px!important;}
  .hdr-name{font-size:clamp(28px,8.7vw,36px)!important;}
  #headerWeatherWidget.header-weather-widget{padding:12px!important;}
  #headerWeatherWidget .header-weather-line{font-size:clamp(17px,5.1vw,21px)!important;}
  #wxCityBtnHeader.header-weather-ok,#wxCityBtnHeader{flex-basis:50px!important;width:50px!important;min-width:50px!important;max-width:50px!important;}
  #wxCityInpHeader.header-weather-input,#wxCityInpHeader{max-width:calc(100% - 58px)!important;font-size:15px!important;}
  .dash{padding-left:12px!important;padding-right:12px!important;}
  .db,#btnLiveRadio,#btnPrograms,#btnAstro,#btnTop10,#btnChatMain,#btnContactMain{
    grid-template-columns:58px minmax(0,1fr)!important;
    height:90px!important;
    min-height:90px!important;
    padding:12px!important;
    column-gap:12px!important;
  }
  .db-icon{width:52px!important;height:52px!important;min-width:52px!important;max-width:52px!important;font-size:23px!important;}
  .db-label{font-size:clamp(19px,5.8vw,25px)!important;letter-spacing:.025em!important;}
  .db-sub{font-size:clamp(10px,3vw,12px)!important;letter-spacing:.035em!important;}
  .almanac-lbl,.news-ticker-label{flex-basis:116px!important;max-width:116px!important;min-width:116px!important;}
}

/* ---- extracted block ---- */

@media screen and (max-width:900px){
  /* PATCH Z — solo mobile: drawer/back e contatti. Nessuna regola desktop. */
  .drw.open{pointer-events:auto!important;}
  .drw-hd{position:relative!important;z-index:50!important;pointer-events:auto!important;flex:0 0 auto!important;}
  .drw-back{
    position:relative!important;z-index:60!important;pointer-events:auto!important;
    width:44px!important;height:44px!important;min-width:44px!important;
    display:grid!important;place-items:center!important;touch-action:manipulation!important;
    -webkit-tap-highlight-color:rgba(255,255,255,.22)!important;
  }
  .drw-body{position:relative!important;z-index:1!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;}

  #drwContact .drw-body{padding:16px 14px 90px!important;}
  #drwContact .contact-drawer-grid{
    display:flex!important;flex-direction:column!important;gap:12px!important;
    width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;
  }
  #drwContact .contact-drawer-card{
    display:grid!important;grid-template-columns:56px minmax(0,1fr)!important;
    align-items:center!important;gap:14px!important;width:100%!important;min-height:76px!important;
    padding:14px 16px!important;border-radius:18px!important;box-sizing:border-box!important;
    text-decoration:none!important;color:#fff!important;opacity:1!important;visibility:visible!important;
    transform:none!important;position:relative!important;left:auto!important;right:auto!important;top:auto!important;
    pointer-events:auto!important;overflow:hidden!important;
  }
  #drwContact .contact-drawer-card.ig{background:linear-gradient(135deg,rgba(255,45,122,.24),rgba(120,71,255,.16))!important;border:1px solid rgba(255,45,122,.30)!important;}
  #drwContact .contact-drawer-card.mail{background:linear-gradient(135deg,rgba(255,77,140,.22),rgba(255,255,255,.05))!important;border:1px solid rgba(255,77,140,.30)!important;}
  #drwContact .contact-drawer-card.wa{background:linear-gradient(135deg,rgba(37,211,102,.22),rgba(0,229,255,.08))!important;border:1px solid rgba(37,211,102,.30)!important;}
  #drwContact .contact-drawer-icon{
    width:50px!important;height:50px!important;min-width:50px!important;border-radius:15px!important;
    display:grid!important;place-items:center!important;background:rgba(255,255,255,.14)!important;
    border:1px solid rgba(255,255,255,.18)!important;overflow:hidden!important;
  }
  #drwContact .contact-drawer-icon svg{width:27px!important;height:27px!important;display:block!important;}
  #drwContact .contact-drawer-meta{display:flex!important;flex-direction:column!important;gap:5px!important;min-width:0!important;overflow:hidden!important;}
  #drwContact .contact-drawer-meta strong{display:block!important;font-size:17px!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#fff!important;}
  #drwContact .contact-drawer-meta span{display:block!important;font-size:12px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:rgba(232,243,255,.76)!important;}
}

/* ---- extracted block ---- */

/* Tasto torna indietro colorato su desktop e mobile */
.drw .drw-hd{
  position:relative!important;
  z-index:999!important;
  pointer-events:auto!important;
  isolation:isolate!important;
}
.drw .drw-back{
  position:relative!important;
  z-index:1001!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  border-radius:999px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff!important;
  background:linear-gradient(135deg,#ef3824 0%,#ff007a 48%,#00e5ff 100%)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 0 18px rgba(255,0,122,.30),0 8px 22px rgba(0,0,0,.34)!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:rgba(0,229,255,.22)!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1!important;
}
.drw .drw-back:hover,
.drw .drw-back:focus-visible{
  background:linear-gradient(135deg,#ff4b37 0%,#ff1b8d 48%,#52f3ff 100%)!important;
  box-shadow:0 0 24px rgba(0,229,255,.34),0 8px 22px rgba(0,0,0,.34)!important;
  outline:2px solid rgba(0,229,255,.35)!important;
  outline-offset:2px!important;
}
.drw .drw-back:active{transform:scale(.94)!important;}
.drw .drw-body{position:relative!important;z-index:1!important;}
@media screen and (max-width:900px){
  .drw .drw-back{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;}
}

/* ---- extracted block ---- */

/* Desktop + mobile: pulsante indietro sempre visibile, colorato e cliccabile */
.drw{pointer-events:auto!important;}
.drw .drw-hd{position:relative!important;z-index:2147483000!important;pointer-events:auto!important;}
.drw .drw-back,
.drw button.drw-back,
.drw [data-close].drw-back{
  position:relative!important;
  z-index:2147483647!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff!important;
  background:linear-gradient(135deg,#ef3824 0%,#ff007a 48%,#00e5ff 100%)!important;
  border:1px solid rgba(255,255,255,.30)!important;
  box-shadow:0 0 24px rgba(255,0,122,.38),0 10px 26px rgba(0,0,0,.42)!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-user-select:none!important;
  user-select:none!important;
  -webkit-tap-highlight-color:rgba(0,229,255,.28)!important;
  font-size:24px!important;
  font-weight:950!important;
  line-height:1!important;
  opacity:1!important;
}
.drw .drw-back:active{transform:scale(.92)!important;filter:brightness(1.16)!important;}
@media screen and (max-width:900px){
  .drw.rp.open{transform:translateX(0)!important;opacity:1!important;}
  .drw .drw-hd{min-height:66px!important;}
  .drw .drw-back,
  .drw button.drw-back,
  .drw [data-close].drw-back{width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;font-size:26px!important;}
}

/* ---- extracted block ---- */

/* Desktop + mobile: tasto torna indietro colorato e tasto di emergenza sempre sopra il drawer */
.drw .drw-back,
.drw button.drw-back,
.drw [data-close].drw-back{
  position:relative!important;
  z-index:2147483646!important;
  width:50px!important;
  height:50px!important;
  min-width:50px!important;
  min-height:50px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff!important;
  background:linear-gradient(135deg,#ff3b22 0%,#ff007a 48%,#00e5ff 100%)!important;
  border:2px solid rgba(255,255,255,.34)!important;
  box-shadow:0 0 26px rgba(255,0,122,.46),0 0 18px rgba(0,229,255,.22),0 12px 28px rgba(0,0,0,.48)!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:rgba(0,229,255,.28)!important;
  opacity:1!important;
  visibility:visible!important;
  font-size:26px!important;
  font-weight:950!important;
  line-height:1!important;
}
.drw .drw-back:active,
#cultDrawerBackEmergency:active{transform:scale(.93)!important;filter:brightness(1.18)!important;}
#cultDrawerBackEmergency{
  position:fixed!important;
  top:max(14px,env(safe-area-inset-top))!important;
  left:max(14px,env(safe-area-inset-left))!important;
  z-index:2147483647!important;
  width:auto!important;
  min-width:112px!important;
  height:50px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  color:#fff!important;
  background:linear-gradient(135deg,#ff3b22 0%,#ff007a 48%,#00e5ff 100%)!important;
  border:2px solid rgba(255,255,255,.34)!important;
  box-shadow:0 0 30px rgba(255,0,122,.50),0 0 20px rgba(0,229,255,.25),0 12px 30px rgba(0,0,0,.52)!important;
  font-family:Inter,Arial,sans-serif!important;
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-user-select:none!important;
  user-select:none!important;
  -webkit-tap-highlight-color:rgba(0,229,255,.30)!important;
}
body.cult-drawer-open #cultDrawerBackEmergency{display:inline-flex!important;}
#cultDrawerBackEmergency .arr{font-size:23px!important;line-height:1!important;margin-top:-1px!important;}
@media screen and (max-width:900px){
  .drw .drw-hd{position:relative!important;z-index:2147483000!important;pointer-events:auto!important;min-height:66px!important;}
  .drw.rp{width:100vw!important;max-width:100vw!important;right:0!important;left:auto!important;}
  #cultDrawerBackEmergency{top:max(10px,env(safe-area-inset-top))!important;left:max(10px,env(safe-area-inset-left))!important;height:48px!important;min-width:104px!important;font-size:12px!important;}
}

/* ---- extracted block ---- */

/* V7 — Rifiniture visive richieste, senza toccare la struttura del sito */
#nowNext,.now-next{
  color:#e7fbff!important;
  font-weight:900!important;
  letter-spacing:.035em!important;
  line-height:1.28!important;
  text-shadow:0 1px 0 rgba(0,0,0,.42),0 0 16px rgba(0,229,255,.18)!important;
}
.db-sub{
  color:rgba(235,246,255,.92)!important;
  font-weight:800!important;
  letter-spacing:.045em!important;
  line-height:1.22!important;
  text-shadow:0 1px 0 rgba(0,0,0,.40),0 0 12px rgba(0,0,0,.18)!important;
}
.hdr-logo{
  object-fit:contain!important;
  object-position:center!important;
  background:rgba(255,255,255,.06)!important;
  padding:4px!important;
  box-shadow:0 0 0 2px rgba(255,255,255,.12),0 0 22px rgba(255,0,122,.24),0 0 26px rgba(0,229,255,.16)!important;
  filter:saturate(1.18) brightness(1.12) contrast(1.08)!important;
}
.hdr-name{ text-shadow:0 2px 16px rgba(0,0,0,.28)!important; }
.hdr-sub{ color:rgba(226,236,255,.86)!important; }

@media (min-width:901px){
  #nowNext,.now-next{font-size:17px!important; margin-top:2px!important;}
  .db-sub{font-size:15px!important;}
  .hdr-brand{gap:18px!important;}
  .hdr-logo{
    width:74px!important;height:74px!important;
    min-width:74px!important;max-width:74px!important;
    min-height:74px!important;max-height:74px!important;
    border-radius:18px!important;
  }
}

@media (max-width:900px){
  #nowNext,.now-next{font-size:13px!important;}
  .db-sub{font-weight:800!important;color:rgba(236,247,255,.94)!important;}
  .hdr-logo{filter:saturate(1.15) brightness(1.10) contrast(1.05)!important;}
}

/* ---- extracted block ---- */

/* V10 SAFE ROLLBACK — CSS only. Nessun nuovo JS, nessun polling metadati. */
@media (min-width:901px){
  .hdr{
    grid-template-columns:minmax(280px,.92fr) minmax(360px,1.05fr) minmax(300px,.9fr) minmax(130px,.35fr)!important;
    column-gap:18px!important;
  }
  .hdr-brand{min-width:0!important;overflow:hidden!important;gap:14px!important;}
  .hdr-logo{
    width:64px!important;height:64px!important;
    min-width:64px!important;max-width:64px!important;
    min-height:64px!important;max-height:64px!important;
    padding:3px!important;border-radius:16px!important;
    object-fit:contain!important;object-position:center!important;
    box-shadow:0 0 0 2px rgba(255,255,255,.12),0 0 20px rgba(255,0,122,.22),0 0 24px rgba(0,229,255,.14)!important;
    filter:saturate(1.12) brightness(1.08) contrast(1.04)!important;
  }
  .hdr-name{
    font-size:clamp(31px,3.15vw,48px)!important;
    line-height:.92!important;max-width:100%!important;
    overflow:hidden!important;text-overflow:clip!important;white-space:nowrap!important;
    letter-spacing:.075em!important;text-shadow:0 2px 14px rgba(0,0,0,.32),0 0 18px rgba(255,255,255,.10)!important;
  }
  .hdr-sub{
    font-size:clamp(11px,.9vw,15px)!important;
    letter-spacing:.16em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
    color:rgba(232,240,255,.88)!important;
  }
  .hdr-clock{min-width:0!important;overflow:hidden!important;padding:18px 24px!important;}
  .clock-prefix{font-size:13px!important;letter-spacing:.16em!important;}
  .orb-date{font-size:18px!important;}
  .orb-time{font-size:30px!important;}
  #nowNext,.now-next{font-size:15px!important;color:#f0fbff!important;font-weight:900!important;line-height:1.28!important;}
  .db-sub{color:rgba(245,250,255,.92)!important;font-weight:850!important;}
}
@media (max-width:900px){
  .hdr-logo{
    object-fit:contain!important;object-position:center!important;
    box-shadow:0 0 0 2px rgba(255,255,255,.10),0 0 20px rgba(255,0,122,.22),0 0 24px rgba(0,229,255,.14)!important;
    filter:saturate(1.12) brightness(1.08) contrast(1.04)!important;
  }
  #nowNext,.now-next{color:#e9fbff!important;font-weight:900!important;line-height:1.28!important;}
  .db-sub{color:rgba(238,248,255,.94)!important;font-weight:850!important;}
}

/* ---- extracted block ---- */

#wxCityInpHeader,
#wxCityInp{
  font-family:'Orbitron','Inter',sans-serif!important;
  font-weight:900!important;
  letter-spacing:.045em!important;
}
#wxCityInpHeader::placeholder,
#wxCityInp::placeholder{
  color:rgba(160,250,255,.72)!important;
  opacity:1!important;
}
#headerWeatherWidget .header-weather-hint::before{
  content:'📍 Rilevamento automatico attivo. '; 
  color:#8ff7ff;
  font-weight:900;
}

/* ---- extracted block ---- */

/* V11 — Solo font/colore sottotitoli e microtesti. Nessun cambio layout desktop/mobile. */
.now-artist,
.now-next,
.db-sub,
.play-sub,
.prog-spot-desc,
.spb-copy,
.chat-dj-sub,
.header-weather-line,
.header-weather-label,
.user-sign,
.orb-date,
.clock-prefix,
.meta-history-btn,
.t10-preview-title,
.t10-prev-song{
  font-family:'Orbitron','Inter',sans-serif!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.now-artist{
  color:#ffe05c!important;
  text-shadow:0 0 12px rgba(255,224,92,.42),0 0 26px rgba(255,0,122,.20)!important;
}

.now-next{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  max-width:100%!important;
  margin-top:2px!important;
  padding:5px 10px 6px!important;
  border-radius:999px!important;
  color:#00f0ff!important;
  background:linear-gradient(90deg,rgba(0,240,255,.12),rgba(255,0,122,.10))!important;
  border:1px solid rgba(0,240,255,.30)!important;
  box-shadow:0 0 18px rgba(0,240,255,.12), inset 0 1px 0 rgba(255,255,255,.10)!important;
  text-shadow:0 0 13px rgba(0,240,255,.65)!important;
}

.db-sub,
.chat-dj-sub,
.prog-spot-desc{
  color:#8ff7ff!important;
  text-shadow:0 0 10px rgba(0,240,255,.35),0 0 20px rgba(255,0,122,.12)!important;
}

#btnLiveRadio .db-sub,
#btnPrograms .db-sub,
#btnAstro .db-sub,
#btnTop10 .db-sub,
#btnChatMain .db-sub{
  color:#9ffbff!important;
  font-size:12px!important;
  letter-spacing:.105em!important;
  text-shadow:0 0 12px rgba(0,240,255,.52),0 0 22px rgba(255,0,122,.18)!important;
}

.spb-copy{
  color:#fff1a8!important;
  text-shadow:0 0 10px rgba(255,224,92,.25)!important;
}

.meta-history-btn{
  color:#f5fbff!important;
  background:linear-gradient(135deg,rgba(255,0,122,.20),rgba(0,240,255,.12))!important;
  border-color:rgba(0,240,255,.42)!important;
  box-shadow:0 0 18px rgba(0,240,255,.18),inset 0 1px 0 rgba(255,255,255,.14)!important;
}

.header-weather-line,
.header-weather-label{
  color:#dffcff!important;
  text-shadow:0 0 10px rgba(0,240,255,.24)!important;
}

/* Mobile: stesso carattere aggressivo, ma non rompe gli spazi */
@media(max-width:900px){
  .now-next{
    width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:10px!important;
    padding:5px 8px!important;
  }
  .now-artist{font-size:16px!important;}
  #btnLiveRadio .db-sub,
  #btnPrograms .db-sub,
  #btnAstro .db-sub,
  #btnTop10 .db-sub,
  #btnChatMain .db-sub{
    font-size:10px!important;
    letter-spacing:.07em!important;
  }
}

/* ---- extracted block ---- */

/* V13 — leggibilità meteo + micro API pack. Nessun cambio struttura desktop/mobile. */
#headerWeatherWidget.header-weather-widget{
  overflow:visible!important;
}
#headerWeatherWidget .header-weather-line,
#wxTxtHeader{
  display:block!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  color:#ffffff!important;
  font-family:'Inter','Orbitron',system-ui,sans-serif!important;
  font-size:13px!important;
  line-height:1.22!important;
  font-weight:950!important;
  letter-spacing:.015em!important;
  text-shadow:0 1px 0 rgba(0,0,0,.65),0 0 12px rgba(0,229,255,.34),0 0 18px rgba(255,42,120,.14)!important;
}
#headerWeatherWidget .header-weather-kicker{
  color:#6ff7ff!important;
  text-shadow:0 0 12px rgba(0,229,255,.35)!important;
}
#headerWeatherWidget .header-weather-label{
  color:#ffdf6e!important;
  font-weight:950!important;
  text-shadow:0 0 12px rgba(255,223,110,.25)!important;
}
#wxCityInpHeader,
#wxCityInp{
  color:#ffffff!important;
  background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.075))!important;
  border:1px solid rgba(111,247,255,.36)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 0 18px rgba(0,229,255,.10)!important;
}
#wxCityInpHeader::placeholder,
#wxCityInp::placeholder{color:rgba(190,250,255,.74)!important;opacity:1!important;}
#wxCityBtnHeader,
#wxCityBtn{
  background:linear-gradient(135deg,#00e5ff 0%,#77f7ff 52%,#ff2a78 160%)!important;
  color:#03101b!important;
  box-shadow:0 0 18px rgba(0,229,255,.22)!important;
}
#nowNext,.now-next,.db-sub,.prog-spot-desc,.spb-copy,.chat-dj-sub{
  color:#f0fbff!important;
  text-shadow:0 0 10px rgba(0,229,255,.20),0 1px 0 rgba(0,0,0,.55)!important;
}
#nowNext,.now-next{color:#ffef9b!important;font-weight:950!important;}

@media(max-width:900px){
  #headerWeatherWidget.header-weather-widget{min-height:118px!important;padding:11px!important;}
  #headerWeatherWidget .header-weather-line,
  #wxTxtHeader{font-size:clamp(14px,4.2vw,18px)!important;line-height:1.24!important;text-align:left!important;}
  #headerWeatherWidget .header-weather-label{font-size:9px!important;letter-spacing:.12em!important;line-height:1.15!important;}
  #wxCityRowHeader.header-weather-city-row,
  #wxCityRowHeader.header-weather-city-row.open{grid-template-columns:minmax(0,1fr) 56px!important;gap:8px!important;}
  #wxCityInpHeader.header-weather-input,#wxCityInpHeader{max-width:100%!important;font-size:14px!important;}
  #wxCityBtnHeader.header-weather-ok,#wxCityBtnHeader{width:56px!important;min-width:56px!important;max-width:56px!important;font-size:9px!important;}
}

/* ---- extracted block ---- */

/* V18 — stabilità e performance: nessun cambio contenuti */
#cultMotionCanvas{pointer-events:none!important;}
.db-card,.player-card,.spb,.drawer,.news-ticker,.almanac-strip{backface-visibility:hidden;transform:translateZ(0);}
.drawer{will-change:transform,opacity;}
@media (max-width:900px){
  #cultMotionCanvas{display:none!important;}
  #viz .vbar{transition:height .42s ease, opacity .42s ease!important;}
  .drawer,.db-card,.player-card,.spb{contain:layout paint;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;}
}

/* ---- extracted block ---- */

/* V19 — immagini palinsesto ripristinate + ticker/almanacco più leggibili e lenti */
.sched-visual-grid{align-items:stretch!important;}
.sched-visual-card,.sched-text-card{background:linear-gradient(180deg,rgba(10,16,30,.88),rgba(6,10,20,.96))!important;border:1px solid rgba(116,228,255,.16)!important;}
.sched-cover img{filter:saturate(1.05) contrast(1.03) brightness(.92)!important;}
.sched-caption{padding:14px 14px 16px!important;gap:6px!important;}
.sched-caption-top{font-size:10px!important;font-weight:900!important;letter-spacing:.12em!important;color:#8ef5ff!important;}
.sched-caption-title{font-size:18px!important;line-height:1.15!important;letter-spacing:.04em!important;text-wrap:balance!important;}
.sched-caption-desc{font-size:13px!important;line-height:1.52!important;color:rgba(245,248,255,.90)!important;}
.sched-text-card{grid-template-columns:78px 1fr!important;gap:14px!important;padding:14px 16px!important;}
.sched-time{font-size:18px!important;}
.sched-title{font-size:24px!important;line-height:1.06!important;letter-spacing:.03em!important;}
.sched-desc{font-size:13px!important;line-height:1.5!important;color:rgba(245,248,255,.86)!important;}
.sched-mini-btn{font-size:12px!important;font-weight:800!important;}

#newsTickerBar.news-ticker,.news-ticker{height:36px!important;min-height:36px!important;}
.news-ticker-label{font-size:10px!important;letter-spacing:.12em!important;font-weight:900!important;min-width:138px!important;display:flex!important;align-items:center!important;}
.news-ticker-viewport{height:36px!important;}
#newsTickerTrack.news-ticker-track,.news-ticker-track{animation-duration:132s!important;}
.news-ticker-track span{font-size:12px!important;line-height:36px!important;font-weight:800!important;letter-spacing:.02em!important;padding:0 28px!important;color:rgba(255,255,255,.96)!important;}

#almanacStrip .almanac-scroll-wrap,.almanac-scroll-wrap{height:36px!important;}
#almanacStrip .almanac-lbl,.almanac-lbl{font-size:10px!important;letter-spacing:.10em!important;min-width:144px!important;display:flex!important;align-items:center!important;}
#almanacText,.almanac-text{font-size:12px!important;line-height:36px!important;font-weight:800!important;color:rgba(255,255,255,.95)!important;}
#almanacText.animate,.almanac-text.animate{animation-duration:84s!important;}

@media (max-width:900px){
  #newsTickerBar.news-ticker,.news-ticker{height:36px!important;min-height:36px!important;}
  .news-ticker-label{min-width:104px!important;font-size:8px!important;padding:0 10px!important;}
  #newsTickerTrack.news-ticker-track,.news-ticker-track{animation-duration:108s!important;}
  .news-ticker-track span{font-size:10px!important;line-height:36px!important;padding:0 22px!important;}
  #almanacStrip .almanac-lbl,.almanac-lbl{min-width:116px!important;font-size:8px!important;padding:0 10px!important;}
  #almanacText,.almanac-text{font-size:10px!important;line-height:36px!important;}
  #almanacText.animate,.almanac-text.animate{animation-duration:72s!important;}
  .sched-caption-title{font-size:17px!important;}
  .sched-caption-desc,.sched-desc{font-size:12px!important;line-height:1.48!important;}
}

/* ---- extracted block ---- */

/* Sponsor-only fix: full readable copy + clickable cards, no site layout changes outside sponsor blocks. */
#sponsorBanner.sponsor-banner,
.sponsor-banner{
  cursor:pointer!important;
  text-decoration:none!important;
  color:inherit!important;
  height:auto!important;
  min-height:112px!important;
  max-height:none!important;
  overflow:visible!important;
  align-items:center!important;
  gap:12px!important;
  padding:13px 15px!important;
}
#sponsorBanner .spb-meta,
.sponsor-banner .spb-meta{
  min-width:0!important;
  overflow:visible!important;
}
#sponsorBanner .spb-name,
.sponsor-banner .spb-name{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  max-height:none!important;
  font-size:clamp(24px,2.35vw,36px)!important;
  line-height:.94!important;
}
#sponsorBanner .spb-copy,
.sponsor-banner .spb-copy{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  max-height:none!important;
  display:block!important;
  font-size:clamp(10px,.86vw,13px)!important;
  line-height:1.28!important;
  letter-spacing:.045em!important;
  margin-top:5px!important;
}
#sponsorBanner .spb-place,
.sponsor-banner .spb-place{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  max-height:none!important;
  font-size:clamp(8px,.72vw,10px)!important;
  line-height:1.18!important;
  margin-top:6px!important;
}
.sponsor-spot{cursor:pointer!important;}
.sponsor-box{
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
  padding:clamp(22px,4vw,38px)!important;
}
.sp-name{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  max-height:none!important;
  font-size:clamp(34px,6vw,76px)!important;
  line-height:.9!important;
}
.sp-copy{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  max-height:none!important;
  font-size:clamp(14px,1.7vw,22px)!important;
  line-height:1.32!important;
}
.sp-place{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  max-height:none!important;
  line-height:1.25!important;
}
@media(max-width:900px){
  #sponsorBanner.sponsor-banner,
  .sponsor-banner{
    min-height:128px!important;
    height:auto!important;
    padding:12px!important;
    grid-template-columns:1fr auto!important;
    overflow:visible!important;
  }
  #sponsorBanner .spb-name,
  .sponsor-banner .spb-name{font-size:clamp(24px,8vw,34px)!important;}
  #sponsorBanner .spb-copy,
  .sponsor-banner .spb-copy{font-size:11px!important;line-height:1.3!important;letter-spacing:.035em!important;}
  #sponsorBanner .spb-place,
  .sponsor-banner .spb-place{font-size:9px!important;}
  .sponsor-box{width:min(92vw,680px)!important;padding:22px!important;}
  .sp-name{font-size:clamp(30px,11vw,48px)!important;}
  .sp-copy{font-size:14px!important;line-height:1.32!important;}
}

/* Performance/mobile alignment pass - visual output preserved */
.sched-cover{
  aspect-ratio:3/1!important;
  min-height:112px!important;
  max-height:170px!important;
}
.sched-cover img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:left center!important;
  filter:saturate(1.04) contrast(1.02) brightness(.90)!important;
}
.sched-cover::after{
  background:linear-gradient(90deg,rgba(3,5,12,.10) 0%,rgba(3,5,12,.18) 42%,rgba(3,5,12,.90) 100%),linear-gradient(180deg,rgba(3,5,12,.10),rgba(3,5,12,.72))!important;
}
.sched-visual-card{
  contain:layout paint!important;
}
@media(max-width:900px){
  body::after,
  #cultMotionCanvas,
  .club-particles,
  #clubParticles{
    display:none!important;
    visibility:hidden!important;
    animation:none!important;
  }
  .sched-cover{
    aspect-ratio:16/7!important;
    min-height:104px!important;
    max-height:150px!important;
  }
  .sched-cover img{
    object-position:left center!important;
  }
  #viz .vbar:nth-child(n+15){
    display:none!important;
  }
  #viz .vbar{
    box-shadow:none!important;
    transition:height .42s ease,opacity .42s ease,transform .42s ease!important;
  }
  .now-card,
  .meta-player-controls,
  .prog-spot,
  #sponsorBanner.sponsor-banner,
  .sched-item{
    contain:layout paint!important;
    backface-visibility:hidden!important;
  }
}
@media(prefers-reduced-motion:reduce){
  #cultMotionCanvas,
  .club-particles,
  #clubParticles{
    display:none!important;
  }
  *,
  *::before,
  *::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
  }
}

/* Dashboard button image restore after CSS extraction: full shorthand wins over later gradients. */
#btnLiveRadio{
  background:linear-gradient(90deg,rgba(3,6,15,.04) 0%,rgba(3,6,15,.14) 34%,rgba(3,6,15,.68) 60%,rgba(3,6,15,.96) 100%),url('../../step_p_assets/buttons/live-radio.jpg') left center / cover no-repeat!important;
}
#btnPrograms{
  background:linear-gradient(90deg,rgba(3,6,15,.04) 0%,rgba(3,6,15,.14) 34%,rgba(3,6,15,.68) 60%,rgba(3,6,15,.96) 100%),url('../../step_p_assets/buttons/palinsesto.jpg') left center / cover no-repeat!important;
}
#btnAstro{
  background:linear-gradient(90deg,rgba(3,6,15,.04) 0%,rgba(3,6,15,.14) 34%,rgba(3,6,15,.68) 60%,rgba(3,6,15,.96) 100%),url('../../step_p_assets/buttons/astro-cult.jpg') left center / cover no-repeat!important;
}
#btnTop10{
  background:linear-gradient(90deg,rgba(3,6,15,.04) 0%,rgba(3,6,15,.14) 34%,rgba(3,6,15,.68) 60%,rgba(3,6,15,.96) 100%),url('../../step_p_assets/buttons/i-10-dischi.jpg') left center / cover no-repeat!important;
}
#btnChatMain{
  background:linear-gradient(90deg,rgba(3,6,15,.04) 0%,rgba(3,6,15,.14) 34%,rgba(3,6,15,.68) 60%,rgba(3,6,15,.96) 100%),url('../../step_p_assets/buttons/chat-ai.jpg') left center / cover no-repeat!important;
}
#btnContactMain{
  background:linear-gradient(90deg,rgba(3,6,15,.04) 0%,rgba(3,6,15,.16) 34%,rgba(3,6,15,.70) 60%,rgba(3,6,15,.96) 100%),url('../../step_p_assets/buttons/contattaci.jpg') left center / cover no-repeat!important;
}
#btnLiveRadio::before,#btnLiveRadio::after,
#btnPrograms::before,#btnPrograms::after,
#btnAstro::before,#btnAstro::after,
#btnTop10::before,#btnTop10::after,
#btnChatMain::before,#btnChatMain::after,
#btnContactMain::before,#btnContactMain::after{
  display:none!important;
  content:none!important;
}

/* Final contact button alignment only */
#btnContactMain{
  grid-template-columns:44% 1fr!important;
  grid-template-rows:1fr auto auto 1fr!important;
  align-items:center!important;
}
#btnContactMain .db-icon{
  grid-column:1!important;
  grid-row:1 / -1!important;
  justify-self:center!important;
  align-self:center!important;
  margin:0!important;
}
#btnContactMain .db-label,
#btnContactMain .db-sub{
  grid-column:2!important;
  justify-self:start!important;
  align-self:center!important;
  margin:0!important;
  text-align:left!important;
  max-width:100%!important;
}
#btnContactMain .db-label{
  grid-row:2!important;
}
#btnContactMain .db-sub{
  grid-row:3!important;
}
@media(max-width:900px){
  #btnContactMain{
    grid-template-columns:38% 1fr!important;
  }
}

/* Mobile final usability pass: date, contacts, AI chat only */
@media(max-width:900px){
  .hdr-clock.clock-clean,
  .hdr-clock{
    min-height:86px!important;
    height:auto!important;
    padding:11px 12px!important;
    gap:8px!important;
    overflow:visible!important;
    border-radius:18px!important;
    background:
      radial-gradient(circle at 12% 18%,rgba(255,0,122,.20),transparent 44%),
      radial-gradient(circle at 88% 82%,rgba(0,229,255,.18),transparent 48%),
      linear-gradient(135deg,rgba(7,14,32,.96),rgba(5,8,18,.98))!important;
    border:1px solid rgba(104,236,255,.26)!important;
    box-shadow:0 0 24px rgba(0,229,255,.10),inset 0 1px 0 rgba(255,255,255,.08)!important;
  }
  .clock-line,
  .clock-date-line,
  .clock-time-line{
    width:100%!important;
    min-width:0!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:5px!important;
    overflow:visible!important;
    text-align:center!important;
  }
  .clock-prefix{
    font-size:10px!important;
    line-height:1.1!important;
    letter-spacing:.10em!important;
    color:rgba(160,250,255,.82)!important;
    white-space:nowrap!important;
  }
  .orb-date{
    display:inline-block!important;
    max-width:100%!important;
    font-size:clamp(13px,3.9vw,16px)!important;
    line-height:1.15!important;
    letter-spacing:.055em!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    color:#fff!important;
    text-shadow:0 0 13px rgba(255,255,255,.18),0 0 18px rgba(0,229,255,.35)!important;
  }
  .orb-time{
    font-size:clamp(22px,7vw,30px)!important;
    line-height:1!important;
    letter-spacing:.07em!important;
    color:#caffff!important;
    text-shadow:0 0 16px rgba(0,229,255,.62),0 0 28px rgba(255,0,122,.18)!important;
  }

  #drwContact .drw-body,
  #drwContact .contact-drawer-grid{
    overflow:visible!important;
  }
  #drwContact .contact-drawer-grid{
    display:grid!important;
    gap:12px!important;
  }
  #drwContact .contact-drawer-card,
  .contact-drawer-card{
    min-height:82px!important;
    height:auto!important;
    grid-template-columns:56px 1fr!important;
    align-items:center!important;
    overflow:visible!important;
  }
  #drwContact .contact-drawer-meta,
  .contact-drawer-meta{
    min-width:0!important;
    overflow:visible!important;
  }
  #drwContact .contact-drawer-meta strong,
  .contact-drawer-meta strong{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  #drwContact .contact-drawer-meta span,
  .contact-drawer-meta span{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    line-height:1.28!important;
    color:rgba(235,248,255,.88)!important;
  }

  #chatPanel.drw,
  #chatPanel{
    left:0!important;
    right:0!important;
    top:0!important;
    bottom:0!important;
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    background:linear-gradient(180deg,rgba(5,9,20,.99),rgba(3,6,14,.99))!important;
  }
  #chatPanel .drw-hd{
    flex:0 0 auto!important;
    min-height:64px!important;
    padding:calc(10px + env(safe-area-inset-top)) 14px 10px!important;
    border-bottom:1px solid rgba(0,229,255,.18)!important;
  }
  #chatPanel .drw-body{
    flex:1 1 auto!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    padding:0!important;
  }
  #chatPanel .chat-panel-hero{
    flex:0 0 auto!important;
    padding:12px 14px 10px!important;
  }
  #chatPanel .chat-dj-title{
    font-size:clamp(24px,7vw,32px)!important;
    line-height:.95!important;
  }
  #chatPanel .chat-dj-sub{
    font-size:12px!important;
    line-height:1.35!important;
    letter-spacing:.035em!important;
    text-transform:none!important;
    color:rgba(230,246,255,.78)!important;
  }
  #chatPanel .chat-messages{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding:14px 12px 16px!important;
    gap:11px!important;
  }
  #chatPanel .chat-bubble{
    max-width:94%!important;
    padding:12px 14px!important;
    border-radius:18px!important;
    font-size:15px!important;
    line-height:1.48!important;
    letter-spacing:0!important;
  }
  #chatPanel .chat-bubble.bot{
    background:linear-gradient(135deg,rgba(0,229,255,.16),rgba(8,13,28,.98))!important;
    border-color:rgba(0,229,255,.22)!important;
  }
  #chatPanel .chat-btime{
    font-size:10px!important;
    margin-top:6px!important;
  }
  #chatPanel .chat-chips{
    flex:0 0 auto!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding:9px 12px!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
  }
  #chatPanel .chat-chip{
    flex:0 0 auto!important;
    min-height:38px!important;
    padding:8px 12px!important;
    font-size:12px!important;
    white-space:nowrap!important;
  }
  #chatPanel .chat-input-area{
    flex:0 0 auto!important;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;
    background:linear-gradient(180deg,rgba(4,7,13,.94),rgba(4,7,13,1))!important;
    border-top:1px solid rgba(0,229,255,.18)!important;
  }
  #chatPanel .chat-ta{
    min-height:46px!important;
    max-height:132px!important;
    padding:12px 14px!important;
    font-size:16px!important;
    line-height:1.35!important;
    border-radius:18px!important;
  }
  #chatPanel .chat-send{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    font-size:20px!important;
  }
}
