:root{
  --bg:#07080b;
  --panel:#101218;
  --panel-2:#151821;
  --ink:#f7f7f8;
  --muted:#aeb0b8;
  --line:#292d36;
  --orange:#ff8a17;
  --red:#ff382e;
  --warm:#ffd52c;
  --max:1460px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.55;
}
body:before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:900px;
  z-index:-2;
  background:
    radial-gradient(ellipse 42% 34% at 75% 26%,rgba(184,38,12,.15),transparent 72%),
    radial-gradient(ellipse 30% 26% at 22% 20%,rgba(255,125,18,.055),transparent 72%);
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--orange)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%;height:auto}
.container{width:min(calc(100% - 64px),var(--max));margin-inline:auto}
.screen-reader-text,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip-link:focus{position:fixed;z-index:300;top:12px;left:12px;background:white;color:black;padding:12px 18px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--warm);outline-offset:3px}

/* HEADER: identità radio, logo centrale e ben visibile */
.site-header{
  position:relative;
  z-index:50;
  background:rgba(6,7,10,.98);
  border-bottom:1px solid #242730;
}
.brand-row{
  min-height:122px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  position:relative;
}
.brand{
  display:block;
  justify-self:center;
  width:118px;
  height:118px;
  margin:4px 0 -18px;
  position:relative;
  z-index:3;
  filter:drop-shadow(0 12px 24px rgba(255,93,15,.18));
}
.brand img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.brand-spacer{min-width:1px}
.artist-link-top{
  justify-self:end;
  border:1px solid #6f2b24;
  border-radius:9px;
  padding:11px 20px;
  text-transform:uppercase;
  font-size:11px;
  font-weight:850;
  letter-spacing:.045em;
  color:#ececf0;
}
.artist-link-top:hover{border-color:var(--orange);color:white}
.nav-row{
  border-top:1px solid #1c1f26;
  background:#0b0d11;
}
.nav-inner{
  min-height:58px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:28px;
}
.site-nav{min-width:0}
.primary-menu{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:38px;
  margin:0;
  padding:0;
}
.primary-menu a{
  display:block;
  padding:19px 0 16px;
  border-bottom:2px solid transparent;
  color:#d9dae0;
  text-transform:uppercase;
  font-size:11px;
  font-weight:850;
  letter-spacing:.075em;
}
.primary-menu a:hover,
.primary-menu .current-menu-item>a,
.primary-menu .current_page_item>a{
  color:white;
  border-color:var(--orange);
}
.listen-header{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:38px;
  padding:8px 16px;
  border-radius:999px;
  background:linear-gradient(110deg,#ff681d,#fb2934);
  color:white;
  text-transform:uppercase;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  box-shadow:0 8px 24px rgba(245,55,30,.18);
}
.listen-header:hover{color:white;transform:translateY(-1px)}
.listen-header-dot{width:7px;height:7px;border-radius:50%;background:white;box-shadow:0 0 0 4px rgba(255,255,255,.12)}
.menu-toggle{display:none}

/* HERO */
.radio-hero{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid #1e2128;
  background:
    linear-gradient(180deg,rgba(255,255,255,.008),transparent 45%),
    radial-gradient(circle at 78% 48%,rgba(173,24,8,.16),transparent 34%);
}
.radio-hero-glow{
  position:absolute;
  width:620px;
  height:620px;
  right:7%;
  top:-115px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,101,17,.13),rgba(151,20,8,.05) 45%,transparent 70%);
  filter:blur(12px);
  pointer-events:none;
}
.radio-hero-grid{
  min-height:570px;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);
  gap:70px;
  align-items:center;
  padding-top:52px;
  padding-bottom:52px;
}
.hero-copy{position:relative;z-index:2;max-width:720px}
.eyebrow{
  margin:0 0 16px;
  color:#b9bac1;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:11px;
  font-weight:800;
}
.hero h1,.radio-hero h1{
  margin:0 0 23px;
  font-size:clamp(52px,5.3vw,86px);
  line-height:.99;
  letter-spacing:-.058em;
  font-weight:950;
}
.radio-hero h1 span,.artist-cta h2 span{
  background:linear-gradient(105deg,#ff3a2f 4%,#ff961c 88%);
  color:transparent;
  background-clip:text;
  -webkit-background-clip:text;
}
.hero-description{
  max-width:650px;
  margin:0 0 28px;
  color:#c4c5cb;
  font-size:17px;
  line-height:1.7;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:52px;
  padding:13px 23px;
  border-radius:8px;
  text-transform:uppercase;
  letter-spacing:.025em;
  font-size:12px;
  font-weight:900;
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.button:hover{transform:translateY(-2px);color:white}
.button-primary{background:linear-gradient(110deg,#ff681d,#fb2934);color:white;box-shadow:0 10px 30px rgba(235,45,25,.23)}
.button-primary:hover{box-shadow:0 13px 34px rgba(235,45,25,.36)}
.button-outline{border:1px solid #4c505a;background:rgba(15,16,21,.7);color:white}
.button-outline:hover{border-color:#e56c34}
.button-play{font-size:11px}
.hero-proof{
  display:flex;
  flex-wrap:wrap;
  gap:8px 22px;
  margin-top:28px;
  color:#8f929b;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.055em;
  font-weight:750;
}
.hero-proof span{position:relative}
.hero-proof span:not(:last-child):after{
  content:"";
  width:3px;height:3px;border-radius:50%;
  background:#5e616a;
  position:absolute;
  right:-13px;top:50%;
}

/* Hero visual: identità senza duplicare il logo */
.hero-radio-card{
  position:relative;
  min-height:430px;
  border:1px solid #3b2827;
  border-radius:26px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 35%,rgba(255,149,25,.18),transparent 24%),
    radial-gradient(circle at 50% 54%,rgba(182,30,11,.26),transparent 38%),
    linear-gradient(145deg,#161117,#0c0d12 70%);
  box-shadow:0 28px 80px rgba(0,0,0,.36);
}
.hero-radio-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,rgba(255,255,255,.035),transparent 30%);
  pointer-events:none;
}
.hero-radio-rings{
  position:absolute;
  width:420px;height:420px;
  left:50%;top:46%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:1px solid rgba(255,127,24,.24);
  box-shadow:
    0 0 0 28px rgba(255,92,20,.055),
    0 0 0 62px rgba(255,66,25,.035),
    0 0 90px rgba(255,65,14,.09) inset;
}
.hero-radio-rings:before,.hero-radio-rings:after{
  content:"";
  position:absolute;
  border-radius:50%;
  inset:88px;
  border:1px solid rgba(255,149,25,.26);
}
.hero-radio-rings:after{inset:137px;border-color:rgba(255,70,25,.42)}
.hero-radio-content{
  position:relative;
  z-index:2;
  min-height:430px;
  padding:40px 42px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
}
.hero-live-badge{
  position:absolute;
  top:24px;right:24px;
  display:flex;align-items:center;gap:8px;
  color:#ff8062;
  border:1px solid #6f3027;
  background:rgba(20,10,11,.64);
  border-radius:999px;
  padding:7px 10px;
  font-size:10px;font-weight:900;letter-spacing:.09em;
}
.hero-live-badge span{width:7px;height:7px;border-radius:50%;background:#ff4938;box-shadow:0 0 12px #ff4938}
.hero-radio-mark{
  width:108px;height:108px;border-radius:50%;
  display:grid;place-items:center;
  margin-bottom:18px;
  border:1px solid #7c3322;
  background:radial-gradient(circle at 35% 30%,#ffb321,#ff681b 48%,#c32617 78%,#53100d);
  color:white;
  font-size:60px;
  line-height:1;
  font-weight:950;
  font-style:italic;
  text-shadow:0 3px 0 rgba(65,8,5,.55);
  box-shadow:0 0 0 9px rgba(255,106,24,.045),0 18px 50px rgba(196,42,13,.25);
}
.hero-radio-kicker{
  margin:0 0 6px;
  color:#ff8a3d;
  font-size:11px;
  font-weight:950;
  letter-spacing:.18em;
}
.hero-radio-card h2{
  margin:0 0 12px;
  font-size:clamp(27px,2.6vw,38px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.hero-radio-card p:not(.hero-radio-kicker){
  max-width:470px;
  margin:0;
  color:#aeb0b8;
  font-size:14px;
}
.hero-round-play{
  display:grid;place-items:center;
  width:58px;height:58px;
  margin-top:24px;
  border-radius:50%;
  background:white;
  color:#111;
  font-size:18px;
  padding-left:4px;
  box-shadow:0 11px 30px rgba(0,0,0,.3);
}
.hero-round-play:hover{color:#111;transform:scale(1.05)}

/* LISTEN */
.listen-zone{
  padding:45px 0 48px;
  background:#090a0e;
  border-bottom:1px solid #20232a;
}
.listen-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:20px;
}
.listen-heading .eyebrow{display:flex;align-items:center;gap:9px;color:#ff6649;margin-bottom:7px}
.listen-heading h2{margin:0;font-size:clamp(24px,3vw,38px);letter-spacing:-.035em}
.listen-heading>p{max-width:430px;margin:0;color:#8f929b;font-size:14px;text-align:right}
.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#fc4934;box-shadow:0 0 13px #ff3b24}
.buba-player-host{
  border:1px solid #2d3038;
  border-radius:18px;
  background:linear-gradient(135deg,#111318,#090a0d 78%);
  padding:18px;
  box-shadow:0 18px 55px rgba(0,0,0,.28);
}
.buba-player-host-home{padding:20px}
.player-card{
  border:1px solid #2d3038;
  border-radius:18px;
  background:linear-gradient(135deg,#121419,#090a0d 78%);
  padding:24px 28px 20px;
}
.player-topline{display:flex;align-items:center;gap:10px;color:#ff5548;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.12em}
.player-live-label{margin-left:auto;color:#8b8b93;font-size:10px}
.player-main{display:flex;align-items:center;gap:21px;padding:22px 0 5px}
.cover-placeholder,.track-icon{display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,#4c0d0c,#1b0b10 62%,#170e13);color:var(--orange);flex:none}
.cover-placeholder{width:78px;height:78px;border-radius:12px;font-size:32px}
.player-details h3{margin:0 0 5px;font-size:22px}
.player-details p{margin:0;color:var(--muted);font-size:14px}
.signal-mark{margin-left:auto;color:#fa4e36;border:1px solid #68251b;padding:5px 8px;border-radius:4px;font-size:10px;font-weight:900;letter-spacing:.08em}

/* PILLARS */
.pillars{border-bottom:1px solid #20232a;background:#0b0c10}
.pillars-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.pillar{
  display:flex;align-items:center;gap:17px;
  min-height:112px;padding:18px 23px;
  border-right:1px solid #20232a;
}
.pillar:first-child{border-left:1px solid #20232a}
.pillar-icon{width:39px;flex:none;color:#ff5b31;font-size:31px;font-weight:800;text-align:center;line-height:1}
.pillar-icon.ai-icon{font-size:24px;color:var(--orange);font-weight:950}
.pillar h3{font-size:12px;text-transform:uppercase;letter-spacing:.035em;margin:0 0 4px}
.pillar p{color:#9fa2aa;font-size:12px;margin:0}

/* CONTENT */
.recent-section{padding-top:66px;padding-bottom:58px}
.section-heading .eyebrow{color:#fb6b36;margin-bottom:6px}
.section-heading h2{font-size:clamp(26px,3vw,36px);letter-spacing:-.03em;margin:0 0 24px}
.empty-tracks{display:flex;align-items:center;gap:19px;border:1px dashed #3d2b2b;background:#0e0d11;border-radius:13px;padding:28px 32px}
.track-icon{width:58px;height:58px;border-radius:50%;font-size:27px}
.empty-tracks strong{font-size:15px}
.empty-tracks p{color:var(--muted);font-size:13px;margin:4px 0 0}
.track-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}
.track-card{display:flex;align-items:center;gap:14px;padding:18px;background:#111319;border:1px solid #2a2d35;border-radius:11px}
.track-card h3{font-size:16px;margin:0}
.track-card p{color:var(--muted);font-size:13px;margin:2px 0 0}

.artist-cta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:center;
  border:1px solid #843129;
  border-radius:16px;
  padding:42px 52px;
  margin-bottom:78px;
  background:
    radial-gradient(circle at 94% 96%,rgba(171,31,17,.35),transparent 50%),
    linear-gradient(110deg,#220e0e,#0f0d10 75%);
}
.artist-cta .eyebrow{color:#f77945;margin-bottom:8px}
.artist-cta h2{font-size:clamp(27px,3vw,42px);line-height:1.12;letter-spacing:-.038em;margin:0}
.artist-cta p:not(.eyebrow){color:#d0c9cb;font-size:15px;max-width:520px;margin:0 0 21px}
.button-light{background:#f8f6f2;color:#171317}
.button-light:hover{color:#171317;background:white}

/* FOOTER & PAGES */
.site-footer{border-top:1px solid #24272e;background:#090a0d;color:#b5b5bf}
.footer-inner{display:flex;justify-content:space-between;gap:25px;padding-block:38px}
.footer-inner strong{font-size:19px;color:white}
.footer-inner strong span{color:var(--orange)}
.footer-inner p{margin:3px 0 0;font-size:13px}
.footer-inner nav{display:flex;gap:23px;font-size:13px}
.footer-bottom{border-top:1px solid #22252b;padding:16px 0 24px;font-size:12px;color:#868791}
.content-page{min-height:55vh;padding-top:65px;padding-bottom:90px}
.page-article{max-width:980px}
.page-article h1{font-size:clamp(37px,5vw,62px);line-height:1.1;letter-spacing:-.045em;margin:0 0 28px}
.entry-content{font-size:17px;color:#d0d0d6}
.entry-content a{color:var(--orange);text-decoration:underline}
.entry-content img{border-radius:10px}
.post-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.post-card{border:1px solid var(--line);border-radius:12px;padding:24px;background:var(--panel)}
.post-card h2{font-size:23px;margin:0 0 10px}
.post-card p:last-child{color:var(--muted)}

@media(max-width:1080px){
  .container{width:min(calc(100% - 40px),var(--max))}
  .brand{width:104px;height:104px}
  .primary-menu{gap:24px}
  .radio-hero-grid{grid-template-columns:1fr 440px;gap:35px}
  .hero h1,.radio-hero h1{font-size:clamp(48px,6vw,72px)}
}
@media(max-width:900px){
  .brand-row{min-height:96px}
  .brand{width:88px;height:88px;margin:3px 0 -13px}
  .artist-link-top{padding:9px 13px;font-size:10px}
  .nav-inner{display:flex;justify-content:space-between}
  .menu-toggle{
    display:inline-flex;
    width:42px;height:42px;
    flex-direction:column;justify-content:center;gap:5px;
    border:1px solid #3a3d46;border-radius:8px;
    background:#111319;padding:0 10px;
  }
  .menu-toggle span{height:2px;background:#eee;border-radius:2px}
  .site-nav{
    display:none;
    position:absolute;
    top:100%;
    left:20px;right:20px;
    padding:12px 18px;
    border:1px solid #30333b;
    border-radius:12px;
    background:#101217;
    box-shadow:0 18px 55px rgba(0,0,0,.45);
  }
  .site-nav.is-open{display:block}
  .nav-row{position:relative}
  .primary-menu{display:block}
  .primary-menu a{padding:12px 3px;border-bottom:1px solid #23262d}
  .listen-header{margin-left:auto}
  .radio-hero-grid{grid-template-columns:1fr;min-height:auto;padding-top:46px;padding-bottom:46px}
  .hero-copy{max-width:760px}
  .hero-radio-card{min-height:360px}
  .hero-radio-content{min-height:360px}
  .listen-heading{align-items:flex-start;flex-direction:column;gap:10px}
  .listen-heading>p{text-align:left}
  .pillars-grid{grid-template-columns:repeat(2,1fr)}
  .pillar:nth-child(odd){border-left:1px solid #20232a}
  .artist-cta{grid-template-columns:1fr;gap:18px}
}
@media(max-width:600px){
  .container{width:min(calc(100% - 24px),var(--max))}
  .brand-row{min-height:86px}
  .brand{width:78px;height:78px;margin:2px 0 -11px}
  .artist-link-top{font-size:9px;padding:8px 10px}
  .nav-inner{min-height:52px}
  .listen-header{font-size:10px;padding:7px 12px}
  .radio-hero-grid{padding-top:38px;padding-bottom:38px}
  .hero h1,.radio-hero h1{font-size:clamp(43px,13vw,60px)}
  .hero-description{font-size:15px}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .button{width:100%}
  .hero-proof{gap:7px 15px}
  .hero-proof span:not(:last-child):after{right:-9px}
  .hero-radio-card{min-height:330px;border-radius:19px}
  .hero-radio-content{min-height:330px;padding:34px 22px}
  .hero-radio-rings{width:300px;height:300px}
  .hero-radio-mark{width:88px;height:88px;font-size:48px}
  .hero-radio-card h2{font-size:29px}
  .listen-zone{padding:36px 0 40px}
  .buba-player-host-home{padding:11px}
  .player-main{gap:12px}
  .signal-mark{display:none}
  .pillars-grid{grid-template-columns:1fr}
  .pillar,.pillar:first-child,.pillar:nth-child(odd){border-left:1px solid #20232a}
  .pillar{border-bottom:1px solid #20232a;min-height:88px}
  .track-grid{grid-template-columns:1fr}
  .empty-tracks{padding:20px 16px}
  .artist-cta{padding:28px 24px;margin-bottom:48px}
  .footer-inner{display:block}
  .footer-inner nav{margin-top:22px;flex-wrap:wrap;gap:14px}
  .content-page{padding-top:44px}
  .post-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}


/* ================================================================
 * Radio Buba Theme 3.0 — compatibility layer for Buba modules
 * The theme owns the page chrome. Modules own their own application UI.
 * ================================================================ */
:root{
  --buba-bg:#08090d;
  --buba-surface:#101116;
  --buba-surface-2:#15171d;
  --buba-surface-3:#1b1e25;
  --buba-text:#f6f5f4;
  --buba-text-soft:#d0d0d6;
  --buba-muted:#a9aab2;
  --buba-border:#292a30;
  --buba-border-soft:#22242a;
  --buba-primary:#ff8e18;
  --buba-primary-hover:#ffad58;
  --buba-danger:#ef5b6b;
  --buba-success:#45c987;
  --buba-radius:12px;
  --buba-radius-lg:16px;
  --buba-max-width:1220px;
}

/* Module pages: avoid the "site inside the site" effect. */
body.buba-module-page .content-page-module{width:min(calc(100% - 32px),var(--buba-max-width));padding-top:34px;padding-bottom:70px}
body.buba-module-page .page-article-module{max-width:none;width:100%}
body.buba-module-page .entry-content-module{font-size:inherit;color:inherit}
body.buba-module-page .entry-content-module>a{color:var(--buba-primary)}
body.buba-module-page .entry-content-module>.buba-creators-shell,
body.buba-module-page .entry-content-module>[class^="buba-"],
body.buba-module-page .entry-content-module>[class*=" buba-"]{max-width:none}

/* Shared Buba surface tokens. Future modules can consume these variables. */
.buba-creators-shell,
.buba-player-host,
.buba-module,
[class^="buba-module-"],
[class*=" buba-module-"]{
  --buba-bg:#08090d;
  --buba-surface:#101116;
  --buba-surface-2:#15171d;
  --buba-surface-3:#1b1e25;
  --buba-text:#f6f5f4;
  --buba-text-soft:#d0d0d6;
  --buba-muted:#a9aab2;
  --buba-border:#292a30;
  --buba-primary:#ff8e18;
  --buba-radius:12px;
  --buba-max-width:1220px;
}

/* Buba Creators is an app panel inside the Radio Buba page. */
body.buba-module-page .buba-creators-shell{color:var(--buba-text);background:transparent;width:100%;max-width:none;margin:0;padding:0}
body.buba-module-page .buba-creators-shell .buba-card,
body.buba-module-page .buba-creators-shell .buba-personal-sidebar,
body.buba-module-page .buba-creators-shell .buba-modal-panel{background:var(--buba-surface);color:var(--buba-text);border-color:var(--buba-border);box-shadow:none}
body.buba-module-page .buba-creators-shell .buba-personal-sidebar{background:linear-gradient(180deg,#15171d,#0f1116)}
body.buba-module-page .buba-creators-shell .buba-personal-nav a{color:var(--buba-text-soft)}
body.buba-module-page .buba-creators-shell .buba-personal-nav a:hover{background:#1d2027;color:#fff}
body.buba-module-page .buba-creators-shell .buba-personal-nav a.active{background:rgba(255,142,24,.13);color:var(--buba-primary)}
body.buba-module-page .buba-creators-shell .buba-sidebar-footer{color:var(--buba-muted)}
body.buba-module-page .buba-creators-shell input:not([type="checkbox"]):not([type="radio"]),
body.buba-module-page .buba-creators-shell textarea,
body.buba-module-page .buba-creators-shell select{background:#0d0f14;color:var(--buba-text);border-color:#424752}
body.buba-module-page .buba-creators-shell input::placeholder,
body.buba-module-page .buba-creators-shell textarea::placeholder{color:#7f8793}
body.buba-module-page .buba-creators-shell input:focus,
body.buba-module-page .buba-creators-shell textarea:focus,
body.buba-module-page .buba-creators-shell select:focus{border-color:var(--buba-primary);box-shadow:0 0 0 1px var(--buba-primary);outline:0}
body.buba-module-page .buba-creators-shell .buba-btn{background:linear-gradient(110deg,#ff681d,#fb3a2d);color:#fff;border:0}
body.buba-module-page .buba-creators-shell .buba-btn.secondary{background:#171a20;color:var(--buba-text);border:1px solid #444b56}
body.buba-module-page .buba-creators-shell a{color:var(--buba-primary)}
body.buba-module-page .buba-creators-shell table{border-color:var(--buba-border)}
body.buba-module-page .buba-creators-shell th{color:var(--buba-text);background:#171a20}
body.buba-module-page .buba-creators-shell td{color:var(--buba-text-soft);border-color:var(--buba-border)}
body.buba-module-page .buba-creators-shell tr:nth-child(even) td{background:rgba(255,255,255,.015)}
body.buba-module-page .buba-creators-shell .buba-notice{background:#151a20;color:var(--buba-text);border-color:#39414c}
body.buba-module-page .buba-creators-shell .buba-notice.ok{background:#102119;border-color:#255d3d}
body.buba-module-page .buba-creators-shell .buba-notice.err{background:#281315;border-color:#703039}
body.buba-module-page .buba-creators-shell .buba-account-type-lock{background:#12151a;border-color:var(--buba-border)}

/* WordPress blocks inside normal pages inherit the site palette cleanly. */
.entry-content .wp-block-table table{border-color:var(--line)}
.entry-content .wp-block-table th,.entry-content .wp-block-table td{border-color:var(--line);padding:.65rem .8rem}
.entry-content .wp-block-button__link{background:linear-gradient(110deg,#ff681d,#fb2934);color:#fff}
.entry-content .wp-block-separator{border-color:var(--line)}

@media(max-width:800px){
  body.buba-module-page .content-page-module{width:min(calc(100% - 20px),var(--buba-max-width));padding-top:20px}
}


/* 3.0.1 - contratto Buba moduli: controlli nativi e superfici scure */
body.buba-module-page{
  --buba-color-scheme:dark;
  --buba-control-bg:#0d0f14;
  --buba-control-text:#f6f5f4;
  --buba-control-border:#424752;
  --buba-placeholder:#7f8793;
  --buba-disabled-bg:#15171d;
  --buba-disabled-text:#b6b7bd;
  --buba-primary-contrast:#fff;
  --buba-success-bg:#102119;
  --buba-success-text:#dff7e9;
  --buba-danger-bg:#281315;
  --buba-danger-text:#ffd9dd;
  color-scheme:dark;
}
body.buba-module-page .buba-creators-shell select,
body.buba-module-page .buba-creators-shell option,
body.buba-module-page .buba-creators-shell optgroup{
  background-color:var(--buba-control-bg)!important;
  color:var(--buba-control-text)!important;
}
body.buba-module-page .buba-creators-shell select option:checked{
  background:var(--buba-primary)!important;
  color:#111!important;
}
body.buba-module-page .buba-creators-shell input:disabled,
body.buba-module-page .buba-creators-shell textarea:disabled,
body.buba-module-page .buba-creators-shell select:disabled{
  background:var(--buba-disabled-bg)!important;
  color:var(--buba-disabled-text)!important;
  -webkit-text-fill-color:var(--buba-disabled-text)!important;
}
body.buba-module-page .buba-creators-shell .buba-stats>div,
body.buba-module-page .buba-creators-shell .buba-stat-detail{
  background:var(--buba-surface-2)!important;
  border-color:var(--buba-border)!important;
}
body.buba-module-page .buba-creators-shell .buba-stats b,
body.buba-module-page .buba-creators-shell .buba-stat-detail strong{
  color:var(--buba-text)!important;
}
body.buba-module-page .buba-creators-shell .buba-stats span,
body.buba-module-page .buba-creators-shell .buba-stat-detail span{
  color:var(--buba-muted)!important;
}
body.buba-module-page .buba-creators-shell .buba-stats-track{
  background:var(--buba-surface);
  border-color:var(--buba-border);
}
body.buba-module-page .buba-creators-shell input[type=file]::file-selector-button{
  background:var(--buba-surface-3);
  color:var(--buba-text);
  border-color:var(--buba-border);
}
body.buba-module-page .buba-creators-shell .buba-btn.ghost{
  background:var(--buba-surface-2)!important;
  color:var(--buba-text)!important;
  border:1px solid var(--buba-border)!important;
}
body.buba-module-page .buba-creators-shell .badge{
  background:var(--buba-surface-2)!important;
  color:var(--buba-text-soft)!important;
}


/* 3.2 — dynamic controls */
.listen-header.is-playing,
.button-listen.is-playing{
  background:linear-gradient(110deg,#d93a22,#9f201d);
}
.hero-round-play.is-playing{
  background:#ff6f31;
  color:white;
}
.footer-menu{
  display:flex;
  flex-wrap:wrap;
  gap:23px;
  margin:0;
  padding:0;
  list-style:none;
}
.footer-menu a{font-size:13px}


/* ================================================================
 * Radio Buba Theme 3.3 — ONE REAL PLAYER
 * The real Buba Player is the hero surface. No decorative fake player.
 * ================================================================ */

.hero-player-card{
  display:flex;
  align-items:stretch;
  justify-content:stretch;
  min-height:430px;
}

.hero-player-shell{
  position:relative;
  z-index:3;
  width:100%;
  min-height:430px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:34px 38px;
}

.hero-player-kicker{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin-bottom:20px;
  color:#ff7a42;
  font-size:11px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.hero-player-real{
  width:100%;
  max-width:520px;
  margin:0 auto;
}

/* The Buba Player plugin itself becomes the visual centerpiece. */
.hero-player-real [data-buba-player]{
  width:100%;
  border:1px solid rgba(255,121,47,.34)!important;
  border-radius:22px!important;
  padding:28px!important;
  background:
    linear-gradient(145deg,rgba(27,18,23,.96),rgba(10,11,15,.96))!important;
  box-shadow:
    0 22px 60px rgba(0,0,0,.42),
    0 0 60px rgba(255,78,22,.08)!important;
}

.hero-player-real .bp-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-bottom:24px!important;
}

.hero-player-real .bp-brand{
  color:#ff8b43!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}

.hero-player-real .bp-live{
  color:#ff6653!important;
  font-weight:900!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
}

.hero-player-real .bp-now{
  text-align:center!important;
  padding:12px 0 20px!important;
}

.hero-player-real .bp-title{
  color:#fff!important;
  font-size:clamp(28px,3.3vw,44px)!important;
  font-weight:950!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
  margin-bottom:8px!important;
}

.hero-player-real .bp-artist{
  color:#c9c9cf!important;
  font-size:17px!important;
  font-weight:650!important;
}

.hero-player-real .bp-progress{
  height:4px!important;
  margin:14px 0 7px!important;
  border-radius:999px!important;
  background:#282b33!important;
  overflow:hidden!important;
}

.hero-player-real .bp-progress-fill{
  display:block!important;
  height:100%!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#ff3d2f,#ff941b)!important;
}

.hero-player-real .bp-time{
  display:flex!important;
  justify-content:space-between!important;
  color:#777c86!important;
  font-size:11px!important;
  margin-bottom:20px!important;
}

.hero-player-real .bp-controls{
  display:grid!important;
  grid-template-columns:72px 46px 1fr!important;
  align-items:center!important;
  gap:12px!important;
}

.hero-player-real .bp-play{
  width:72px!important;
  height:72px!important;
  border:0!important;
  border-radius:50%!important;
  background:linear-gradient(135deg,#ff8f1b,#ff3e2d)!important;
  color:white!important;
  font-size:25px!important;
  font-weight:900!important;
  box-shadow:0 12px 35px rgba(255,65,30,.27)!important;
}

.hero-player-real .bp-sync{
  width:46px!important;
  height:46px!important;
  border-radius:50%!important;
  border:1px solid #41444d!important;
  background:#14161c!important;
  color:#d8d9dd!important;
}

.hero-player-real .bp-volume-wrap{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  color:#bfc1c8!important;
}

.hero-player-real .bp-volume{
  width:100%!important;
}

.hero-player-real .bp-status{
  display:flex!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-top:18px!important;
  color:#8d9098!important;
  font-size:11px!important;
}

.hero-player-unavailable{
  position:relative;
  z-index:2;
  min-height:430px;
  padding:40px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.listen-zone,
.buba-player-host-home{
  display:none!important;
}

/* Header Ascolta is a control, not a navigation link. */
button.listen-header{
  border:0;
  font-family:inherit;
}
button.listen-header.is-playing{
  background:linear-gradient(110deg,#d93a22,#a5201c);
}

@media(max-width:900px){
  .hero-player-shell{min-height:360px;padding:26px 24px}
  .hero-player-real [data-buba-player]{padding:22px!important}
}
@media(max-width:600px){
  .hero-player-shell{min-height:330px;padding:20px 14px}
  .hero-player-real [data-buba-player]{padding:18px!important;border-radius:16px!important}
  .hero-player-real .bp-title{font-size:30px!important}
  .hero-player-real .bp-artist{font-size:15px!important}
  .hero-player-real .bp-controls{grid-template-columns:64px 42px 1fr!important}
  .hero-player-real .bp-play{width:64px!important;height:64px!important}
}


/* ================================================================
 * Radio Buba Theme 3.3.1 — seamless hero player
 * Do not assume a specific shortcode wrapper class.
 * Style the known public Buba Player UI classes directly.
 * ================================================================ */

.hero-player-card{
  min-height:430px;
  padding:0;
  background:
    radial-gradient(circle at 50% 48%,rgba(255,115,22,.13),transparent 28%),
    linear-gradient(145deg,#151018,#0b0c11 72%)!important;
  border:1px solid #3b2827!important;
  box-shadow:0 28px 80px rgba(0,0,0,.36)!important;
}

.hero-player-card .hero-radio-rings{
  opacity:.7;
}

.hero-player-shell{
  width:100%;
  min-height:430px;
  padding:34px 46px 40px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.hero-player-kicker{
  margin:0 0 22px;
}

/* Remove the "small plugin box inside the big box" look. */
.hero-player-real{
  width:100%;
  max-width:none;
  margin:0;
}

.hero-player-real > *{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Public Buba Player known classes */
.hero-player-real .bp-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  margin:0 0 24px!important;
  padding:0!important;
}

.hero-player-real .bp-brand{
  color:#ff8a3d!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}

.hero-player-real .bp-live{
  color:#ff6653!important;
  font-size:11px!important;
  font-weight:900!important;
}

.hero-player-real .bp-now{
  padding:10px 0 26px!important;
  text-align:center!important;
}

.hero-player-real .bp-title{
  margin:0 0 8px!important;
  color:#fff!important;
  font-size:clamp(36px,4vw,58px)!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.045em!important;
}

.hero-player-real .bp-artist{
  color:#c6c7cc!important;
  font-size:18px!important;
  line-height:1.35!important;
  font-weight:650!important;
}

.hero-player-real .bp-progress{
  display:block!important;
  width:100%!important;
  height:5px!important;
  margin:8px 0 7px!important;
  border-radius:999px!important;
  overflow:hidden!important;
  background:#282b33!important;
}

.hero-player-real .bp-progress-fill{
  display:block!important;
  height:100%!important;
  background:linear-gradient(90deg,#ff3d2f,#ff941b)!important;
}

.hero-player-real .bp-time{
  display:flex!important;
  justify-content:space-between!important;
  margin:0 0 22px!important;
  color:#7f828a!important;
  font-size:11px!important;
}

.hero-player-real .bp-controls{
  display:grid!important;
  grid-template-columns:76px 46px minmax(150px,1fr)!important;
  align-items:center!important;
  gap:14px!important;
  padding:0!important;
}

.hero-player-real .bp-play{
  width:76px!important;
  height:76px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:linear-gradient(135deg,#ff961b,#ff3c2d)!important;
  color:#fff!important;
  font-size:27px!important;
  font-weight:900!important;
  box-shadow:0 13px 36px rgba(255,66,28,.27)!important;
}

.hero-player-real .bp-play:hover{
  transform:scale(1.045);
}

.hero-player-real .bp-sync{
  width:46px!important;
  height:46px!important;
  padding:0!important;
  border:1px solid #3d414a!important;
  border-radius:50%!important;
  background:#14161c!important;
  color:#d7d8dc!important;
}

.hero-player-real .bp-volume-wrap{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  color:#b7bac1!important;
}

.hero-player-real .bp-volume{
  width:100%!important;
}

.hero-player-real .bp-status{
  display:flex!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:19px 0 0!important;
  padding:0!important;
  color:#858891!important;
  font-size:11px!important;
}

/* Hide only redundant plugin chrome if present; never hide metadata/controls. */
.hero-player-real .bp-engine:empty{
  display:none!important;
}

/* Header button mirrors the real player's state. */
button.listen-header{
  appearance:none;
  -webkit-appearance:none;
}
button.listen-header.is-playing{
  background:linear-gradient(110deg,#d33a23,#9f211c)!important;
}

@media(max-width:900px){
  .hero-player-shell{min-height:360px;padding:28px 30px 32px}
  .hero-player-real .bp-title{font-size:42px!important}
}
@media(max-width:600px){
  .hero-player-shell{min-height:330px;padding:22px 18px 25px}
  .hero-player-real .bp-title{font-size:32px!important}
  .hero-player-real .bp-artist{font-size:15px!important}
  .hero-player-real .bp-controls{
    grid-template-columns:66px 42px minmax(100px,1fr)!important;
    gap:10px!important;
  }
  .hero-player-real .bp-play{width:66px!important;height:66px!important}
}


/* ================================================================
 * Radio Buba Theme 3.4 — persistent radio window
 * ================================================================ */
html.rb-listening button.listen-header{
  background:linear-gradient(110deg,#d33a23,#9f211c)!important;
  box-shadow:0 8px 28px rgba(255,58,32,.22);
}
html.rb-listening button.listen-header .listen-header-dot{
  background:#fff;
  box-shadow:0 0 0 4px rgba(255,255,255,.12),0 0 15px rgba(255,255,255,.5);
}


/* ================================================================
 * Radio Buba Theme 3.5 — Hero Player + Persistent Navigation
 * ================================================================ */

/* Hero card is the player surface, not a container around a plugin box. */
.hero-player-card{
  position:relative;
  min-height:430px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 45%,rgba(255,121,25,.15),transparent 22%),
    radial-gradient(circle at 50% 55%,rgba(147,22,13,.16),transparent 50%),
    linear-gradient(145deg,#171019,#0b0c11 72%)!important;
  border:1px solid #4a2b27!important;
  border-radius:26px!important;
  box-shadow:0 28px 80px rgba(0,0,0,.36)!important;
}

.hero-player-shell{
  position:relative;
  z-index:3;
  min-height:430px;
  width:100%;
  padding:32px 42px 38px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.hero-player-kicker{
  position:absolute;
  top:28px;
  left:50%;
  transform:translateX(-50%);
  margin:0;
  white-space:nowrap;
}

.hero-player-real{
  width:100%;
  max-width:560px;
  margin:0 auto;
}

/* Flatten every shortcode wrapper so there is no visible box-inside-box. */
.hero-player-real > *,
.hero-player-real [data-buba-player]{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Hide redundant plugin header; the theme already says RADIO BUBA · ON AIR. */
.hero-player-real .bp-head{
  display:none!important;
}

/* Song info is the centerpiece. */
.hero-player-real .bp-now{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:150px!important;
  padding:118px 0 18px!important;
  text-align:center!important;
}

.hero-player-real .bp-title{
  order:1!important;
  margin:0 0 7px!important;
  color:#fff!important;
  font-size:clamp(34px,3.6vw,52px)!important;
  line-height:1.03!important;
  font-weight:950!important;
  letter-spacing:-.04em!important;
}

.hero-player-real .bp-artist{
  order:2!important;
  margin:0!important;
  color:#c9c9cf!important;
  font-size:18px!important;
  font-weight:650!important;
  line-height:1.35!important;
}

/* Actual Buba Player button becomes the large orange emblem. */
.hero-player-real .bp-controls{
  position:absolute!important;
  top:64px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  display:block!important;
  width:104px!important;
  height:104px!important;
  margin:0!important;
  padding:0!important;
  z-index:5!important;
}

.hero-player-real .bp-play{
  position:absolute!important;
  inset:0!important;
  width:104px!important;
  height:104px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(255,176,55,.65)!important;
  border-radius:50%!important;
  background:
    radial-gradient(circle at 38% 30%,#ffa52a,#ff711b 48%,#e73920 90%)!important;
  color:transparent!important;
  font-size:0!important;
  box-shadow:
    0 0 0 9px rgba(255,107,23,.06),
    0 15px 42px rgba(234,54,21,.28)!important;
  overflow:hidden!important;
}

/* outlined white PLAY symbol, intentionally not filled */
.hero-player-real .bp-play:before{
  content:""!important;
  position:absolute!important;
  left:39px!important;
  top:31px!important;
  width:28px!important;
  height:38px!important;
  box-sizing:border-box!important;
  border-top:4px solid #fff!important;
  border-right:4px solid #fff!important;
  transform:rotate(45deg) skew(-7deg,-7deg)!important;
  border-radius:2px!important;
  opacity:.96!important;
}

.hero-player-real .bp-play[aria-label*="Pausa"]:before,
.hero-player-real .bp-play[aria-label*="pausa"]:before{
  left:33px!important;
  top:31px!important;
  width:13px!important;
  height:40px!important;
  border:0!important;
  border-left:5px solid #fff!important;
  border-right:5px solid #fff!important;
  transform:none!important;
  border-radius:0!important;
}

/* Keep the real volume, but move it to a clean bottom row. */
.hero-player-real .bp-sync{
  display:none!important;
}

.hero-player-real .bp-volume-wrap{
  position:absolute!important;
  left:50%!important;
  bottom:-132px!important;
  transform:translateX(-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  width:72%!important;
  margin:0!important;
  color:#aeb1b9!important;
}

.hero-player-real .bp-volume{
  width:100%!important;
}

/* Progress directly under artist/title. */
.hero-player-real .bp-progress{
  display:block!important;
  width:82%!important;
  height:4px!important;
  margin:5px auto 7px!important;
  border-radius:999px!important;
  overflow:hidden!important;
  background:#2a2d34!important;
}

.hero-player-real .bp-progress-fill{
  display:block!important;
  height:100%!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#ff4a2e,#ff981b)!important;
}

.hero-player-real .bp-time{
  display:flex!important;
  justify-content:space-between!important;
  width:82%!important;
  margin:0 auto 42px!important;
  color:#777a82!important;
  font-size:10px!important;
}

.hero-player-real .bp-status{
  display:flex!important;
  justify-content:center!important;
  margin:0!important;
  color:#8d9098!important;
  font-size:10px!important;
}

.hero-player-real .bp-engine{
  display:none!important;
}

/* Active header control */
html.rb-listening button.listen-header{
  background:linear-gradient(110deg,#d33a23,#9f211c)!important;
}

/* popup blocker feedback */
.rb-popup-notice{
  position:fixed;
  left:50%;
  bottom:28px;
  transform:translate(-50%,20px);
  z-index:999999;
  max-width:min(92vw,620px);
  padding:14px 18px;
  border:1px solid #704033;
  border-radius:10px;
  background:#171217;
  color:#fff;
  box-shadow:0 20px 60px rgba(0,0,0,.45);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s,transform .2s;
  font-size:13px;
  text-align:center;
}
.rb-popup-notice.is-visible{
  opacity:1;
  transform:translate(-50%,0);
}

@media(max-width:900px){
  .hero-player-shell{min-height:390px;padding:28px 28px 32px}
  .hero-player-real .bp-title{font-size:40px!important}
}

@media(max-width:600px){
  .hero-player-shell{min-height:370px;padding:24px 18px 28px}
  .hero-player-real .bp-controls{top:58px!important;width:88px!important;height:88px!important}
  .hero-player-real .bp-play{width:88px!important;height:88px!important}
  .hero-player-real .bp-play:before{left:33px!important;top:26px!important;width:24px!important;height:33px!important}
  .hero-player-real .bp-play[aria-label*="Pausa"]:before,
  .hero-player-real .bp-play[aria-label*="pausa"]:before{
    left:28px!important;top:26px!important;height:35px!important;
  }
  .hero-player-real .bp-now{padding-top:102px!important}
  .hero-player-real .bp-title{font-size:31px!important}
  .hero-player-real .bp-artist{font-size:15px!important}
  .hero-player-real .bp-volume-wrap{width:80%!important}
}


/* ================================================================
 * Radio Buba Theme 3.6 — Custom Hero Player
 * Real Buba Player remains the engine; theme owns presentation only.
 * ================================================================ */

.rb-hero-player{
  position:relative;
  z-index:3;
  min-height:430px;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:34px 42px 42px;
  text-align:center;
}

.rb-hero-play{
  position:relative;
  width:126px;
  height:126px;
  margin:0 0 18px;
  padding:0;
  border:1px solid rgba(255,183,69,.62);
  border-radius:50%;
  background:
    radial-gradient(circle at 38% 28%,#ffa928,#ff741b 48%,#e83d20 90%);
  box-shadow:
    0 0 0 11px rgba(255,115,27,.055),
    0 16px 46px rgba(225,54,20,.28);
  color:white;
  cursor:pointer;
  transition:transform .18s,box-shadow .18s;
}

.rb-hero-play:hover{
  transform:scale(1.045);
  box-shadow:
    0 0 0 11px rgba(255,115,27,.075),
    0 19px 52px rgba(225,54,20,.36);
}

/* outlined PLAY symbol */
.rb-hero-play-icon:before{
  content:"";
  position:absolute;
  left:48px;
  top:39px;
  width:34px;
  height:47px;
  box-sizing:border-box;
  border-top:5px solid #fff;
  border-right:5px solid #fff;
  transform:rotate(45deg) skew(-7deg,-7deg);
  border-radius:2px;
}

/* pause symbol */
.rb-hero-play.is-playing .rb-hero-play-icon:before{
  left:41px;
  top:39px;
  width:17px;
  height:47px;
  border:0;
  border-left:6px solid #fff;
  border-right:6px solid #fff;
  transform:none;
  border-radius:0;
}

.rb-hero-brand{
  margin-bottom:16px;
  color:#ff8a3d;
  font-size:12px;
  font-weight:950;
  letter-spacing:.19em;
}

.rb-now-playing{
  width:100%;
  max-width:610px;
  min-height:104px;
  margin:0 auto 14px;
}

.rb-now-title{
  color:#fff;
  font-size:clamp(34px,3.8vw,54px);
  line-height:1.03;
  font-weight:950;
  letter-spacing:-.045em;
}

.rb-now-artist{
  margin-top:8px;
  color:#c7c8cd;
  font-size:18px;
  line-height:1.35;
  font-weight:650;
}

.rb-hero-tagline{
  color:#8f929a;
  font-size:13px;
  letter-spacing:.01em;
}

/*
 * Keep the real Buba Player in the DOM so it owns the stream,
 * metadata, Media Session and browser lifecycle, but hide its visual chrome.
 */
.rb-player-engine{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  opacity:0!important;
  pointer-events:none!important;
}

.rb-player-engine audio{
  display:none!important;
}

/* no volume in the public hero player */
.hero-player-card .bp-volume-wrap,
.hero-player-card .bp-volume,
.hero-player-card .bp-sync,
.hero-player-card .bp-progress,
.hero-player-card .bp-time,
.hero-player-card .bp-status,
.hero-player-card .bp-head,
.hero-player-card .bp-now,
.hero-player-card .bp-controls{
  visibility:hidden!important;
}

/* header control mirrors the same real player */
html.rb-listening button.listen-header{
  background:linear-gradient(110deg,#d33a23,#9f211c)!important;
}

@media(max-width:900px){
  .rb-hero-player{min-height:390px;padding:30px 28px 34px}
  .rb-hero-play{width:112px;height:112px}
  .rb-hero-play-icon:before{left:43px;top:35px;width:30px;height:42px}
  .rb-hero-play.is-playing .rb-hero-play-icon:before{left:36px;top:35px;height:42px}
  .rb-now-title{font-size:42px}
}

@media(max-width:600px){
  .rb-hero-player{min-height:360px;padding:26px 18px 30px}
  .rb-hero-play{width:96px;height:96px}
  .rb-hero-play-icon:before{left:37px;top:30px;width:26px;height:36px;border-width:4px}
  .rb-hero-play.is-playing .rb-hero-play-icon:before{
    left:31px;top:30px;width:15px;height:36px;
    border-left-width:5px;border-right-width:5px;
  }
  .rb-now-title{font-size:32px}
  .rb-now-artist{font-size:15px}
}


/* ================================================================
 * Radio Buba Theme 3.6.1 — direct Buba Player Hero integration
 * The plugin owns the Hero UI. Theme only positions it.
 * ================================================================ */
.hero-player-card{
  min-height:430px!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.hero-player-direct{
  width:100%;
  min-height:430px;
}

.hero-player-direct .buba-clean-layout-hero{
  width:100%;
  min-height:430px;
}

/* Disable old theme-generated hero-player rules if they survive in cascade. */
.hero-player-direct .rb-hero-player,
.hero-player-direct .rb-player-engine,
.hero-player-direct .hero-player-kicker{
  display:none!important;
}


/* ================================================================
 * Radio Buba Theme 3.7.0 — Brand palette refinement
 * Structure unchanged. Palette aligned to logo:
 * black + white + Radio Buba orange/amber; red only for real errors.
 * ================================================================ */

:root{
  --bg:#050608!important;
  --panel:#0d0f13!important;
  --panel-2:#12151a!important;
  --ink:#ffffff!important;
  --muted:#a9adb5!important;
  --line:#24282f!important;
  --orange:#ff7a1a!important;
  --warm:#ffb11b!important;
  --red:#d63a2f!important;
}

/* Cleaner global blacks and cooler neutral text. */
body{
  background:#050608!important;
  color:#fff!important;
}
body:before{
  background:
    radial-gradient(ellipse 42% 34% at 76% 27%,rgba(255,122,26,.075),transparent 72%),
    radial-gradient(ellipse 30% 26% at 20% 20%,rgba(255,177,27,.035),transparent 72%)!important;
}

.site-header{
  background:#050608!important;
  border-bottom-color:#20242a!important;
}
.nav-row{
  background:#0a0c10!important;
  border-top-color:#1d2127!important;
}
.primary-menu a{
  color:#dfe2e7!important;
}
.primary-menu a:hover,
.primary-menu .current-menu-item>a,
.primary-menu .current_page_item>a{
  color:#fff!important;
  border-color:#ff8a1f!important;
}

/* Brand orange instead of red→orange. */
.radio-hero{
  background:
    linear-gradient(180deg,rgba(255,255,255,.007),transparent 45%),
    radial-gradient(circle at 80% 48%,rgba(255,122,26,.10),transparent 34%)!important;
}
.radio-hero-glow{
  background:radial-gradient(circle,rgba(255,142,29,.11),rgba(255,109,20,.035) 48%,transparent 72%)!important;
}

/* "Più Buba." becomes a clean brand signature. */
.radio-hero h1 span,
.artist-cta h2 span{
  background:linear-gradient(100deg,#ff791b 8%,#ffb11b 92%)!important;
  color:transparent!important;
  background-clip:text!important;
  -webkit-background-clip:text!important;
}

/* Secondary copy: neutral/cool, no brown cast. */
.hero-description,
.entry-content,
.artist-cta p:not(.eyebrow){
  color:#c7cad0!important;
}
.eyebrow,
.hero-proof,
.pillar p,
.empty-tracks p,
.track-card p{
  color:#9297a0!important;
}

/* Player area: black/amber, not burgundy. */
.hero-player-direct .buba-clean-layout-hero{
  border-color:rgba(255,126,34,.30)!important;
  background:
    radial-gradient(circle at 50% 38%,rgba(255,132,30,.14),transparent 17%),
    radial-gradient(circle at 50% 50%,rgba(255,111,17,.055),transparent 46%),
    radial-gradient(circle closest-side at 50% 50%,
      transparent 0 32%,
      rgba(255,137,33,.15) 32.5% 33%,
      transparent 33.5% 64%,
      rgba(255,137,33,.15) 64.5% 65%,
      transparent 65.5% 94%,
      rgba(255,137,33,.15) 94.5% 95%,
      transparent 95.5% 100%),
    #0a0b0e!important;
}

/* Orange hero button closer to the actual logo palette. */
.hero-player-direct .buba-clean-layout-hero .buba-clean-hero-play{
  border-color:rgba(255,191,72,.72)!important;
  background:radial-gradient(circle at 37% 28%,#ffb52a,#ff7a18 52%,#f05b16 92%)!important;
  box-shadow:
    0 0 0 9px rgba(255,132,26,.06),
    0 15px 44px rgba(255,105,18,.22)!important;
}

/* Pills/feature strip remain dark with orange accents. */
.pillars{
  background:#090b0e!important;
  border-color:#20242a!important;
}
.pillar,
.pillar:first-child{
  border-color:#20242a!important;
}
.pillar-icon,
.pillar-icon.ai-icon{
  color:#ff8a1f!important;
}

/* Creator CTA: black/antracite + orange border, no wine-red panel. */
.artist-cta{
  border-color:rgba(255,126,34,.52)!important;
  background:
    radial-gradient(circle at 95% 100%,rgba(255,126,34,.10),transparent 44%),
    linear-gradient(115deg,#111318,#090a0d 78%)!important;
}
.artist-cta .eyebrow{
  color:#ff922a!important;
}

/* Buttons use brand orange, not red. */
.listen-header,
.button-primary{
  background:linear-gradient(110deg,#ff8b1f,#ff6f19)!important;
  box-shadow:0 8px 26px rgba(255,113,25,.17)!important;
}
html.rb-listening button.listen-header,
button.listen-header.is-playing{
  background:linear-gradient(110deg,#ff8b1f,#ff6f19)!important;
}

/* The active listening indicator in the header remains light and clean. */
html.rb-listening button.listen-header .listen-header-dot{
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(255,255,255,.11),0 0 13px rgba(255,255,255,.26)!important;
}

/* Links and fine accents. */
.entry-content a,
.footer-inner strong span{
  color:#ff8a1f!important;
}
.button-outline:hover{
  border-color:#ff8a1f!important;
}

/* No cosmetic red ON AIR in the theme; Player v005 owns real state. */

/* v3.7.3: bounded concentric hero rings. Drawn only by the theme;
   overrides the Player Clean repeating gradient without changing the audio UI.
   Farthest visible radius 195px, fitting inside the 430px minimum hero height. */
.hero-player-direct .buba-clean-layout-hero {
  background:
    radial-gradient(circle at 50% 38%, rgba(255,132,30,.14), transparent 17%),
    radial-gradient(circle at 50% 50%, rgba(255,111,17,.055), transparent 46%),
    radial-gradient(circle at 50% 50%,
      transparent 0 69px, rgba(255,137,33,.16) 70px 71px,
      transparent 72px 133px, rgba(255,137,33,.16) 134px 135px,
      transparent 136px 193px, rgba(255,137,33,.16) 194px 195px,
      transparent 196px),
    #0a0b0e!important;
}


/* Buba 3.7.4: closed, circular decorative rings.
   The source gradient formerly repeated past the rectangle boundaries.
   Fixed square backgrounds keep every ring circular, fully contained,
   with one center for all layers and no dependence on card aspect ratio. */
.hero-player-direct .buba-clean-layout-hero {
  background-color:#0a0b0e!important;
  background-image:
    radial-gradient(circle at center,rgba(255,132,30,.13),transparent 43%),
    radial-gradient(circle at center,
      transparent 0 68px, rgba(255,137,33,.18) 69px 70px,
      transparent 71px 114px, rgba(255,137,33,.16) 115px 116px,
      transparent 117px 158px, rgba(255,137,33,.13) 159px 160px,
      transparent 161px)!important;
  background-size:340px 340px,340px 340px!important;
  background-position:center center,center center!important;
  background-repeat:no-repeat,no-repeat!important;
}
@media(max-width:600px){
  .hero-player-direct .buba-clean-layout-hero{
    background-size:300px 300px,300px 300px!important;
  }
}
