
:root{--afm-accent:#ff2b7a}
.afm-next{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#fff;position:relative}
.afm-next *{box-sizing:border-box}
.afm-next button{font:inherit}
.afm-v2{
  position:relative;
  max-width:1450px;
  margin:0 auto;
  overflow:hidden;
  padding:28px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  background:
    linear-gradient(120deg,rgba(7,8,16,.97),rgba(10,9,18,.96) 55%,rgba(12,9,20,.98)),
    #080912;
  box-shadow:0 30px 80px rgba(0,0,0,.32);
}
.afm-v2-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.afm-v2-bg:before{
  content:"";
  position:absolute;inset:-15%;
  background-image:var(--afm-cover);
  background-size:cover;background-position:center;
  filter:blur(65px) saturate(1.3);
  opacity:.08;transform:scale(1.15)
}
.afm-v2-orb{position:absolute;border-radius:999px;filter:blur(70px);opacity:.18}
.afm-v2-orb-a{width:480px;height:480px;background:#ff1e7a;left:26%;top:-270px}
.afm-v2-orb-b{width:420px;height:420px;background:#5d35ff;right:2%;bottom:-260px}
.afm-v2-wave{
  position:absolute;right:13%;top:13%;width:42%;height:220px;opacity:.26;
  background:
   radial-gradient(circle at 50% 50%,rgba(255,43,122,.5),transparent 58%),
   repeating-linear-gradient(90deg,transparent 0 5px,rgba(255,43,122,.18) 6px 7px,transparent 8px 13px);
  mask-image:linear-gradient(to right,transparent,#000 18%,#000 82%,transparent);
  transform:skewY(-4deg)
}
.afm-v2-top{position:relative;z-index:2;display:grid;grid-template-columns:320px minmax(0,1fr) 300px;gap:34px;align-items:center}
.afm-v2-art{min-width:0}
.afm-art-wrap{position:relative;aspect-ratio:1;border-radius:22px;overflow:hidden;background:#10121a;box-shadow:0 22px 55px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.06)}
.afm-art{width:100%;height:100%;object-fit:cover;display:none}
.afm-art-placeholder{height:100%;display:grid;place-content:center;text-align:center;background:linear-gradient(145deg,#191525,#0c0d13)}
.afm-art-placeholder span{font-size:11px;letter-spacing:5px;font-weight:800}
.afm-art-placeholder strong{font-size:62px;line-height:.9;letter-spacing:-4px}
.afm-live-dot{position:absolute;top:15px;left:15px;padding:9px 13px;background:rgba(8,8,14,.78);border:1px solid rgba(255,255,255,.13);border-radius:999px;font-size:10px;font-weight:900;letter-spacing:1.4px;backdrop-filter:blur(16px)}
.afm-live-dot i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--afm-accent);box-shadow:0 0 18px var(--afm-accent);margin-right:7px}
.afm-v2-now{display:inline-flex;margin-top:12px;padding:8px 13px;border:1px solid rgba(255,255,255,.09);border-radius:999px;font-size:9px;letter-spacing:1.4px;color:#9ba0ad;font-weight:900}
.afm-brandline{display:flex;align-items:center;gap:14px}
.afm-kicker{color:var(--afm-accent);font-size:11px;letter-spacing:2px;font-weight:900}
.afm-v2-onair{padding:7px 10px;border:1px solid rgba(255,43,122,.45);border-radius:7px;color:var(--afm-accent);font-size:9px;font-weight:900;letter-spacing:1px}
.afm-title{margin:16px 0 18px;font-size:clamp(35px,4.2vw,70px);line-height:.98;letter-spacing:-2.8px;font-weight:950;max-width:900px;text-wrap:balance}
.afm-signal-line{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.afm-signal-badge,.afm-breakout{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.025);font-size:10px;letter-spacing:1.1px;color:#aeb3c0;font-weight:850}
.afm-signal-badge b{color:var(--afm-accent)}
.afm-breakout{background:var(--afm-accent);color:white;border-color:transparent}
.afm-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.afm-actions button{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045);color:#fff;border-radius:999px;padding:14px 20px;font-size:12px;font-weight:900;cursor:pointer;transition:.22s ease;backdrop-filter:blur(12px)}
.afm-actions button:hover{transform:translateY(-2px);background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16)}
.afm-play{background:linear-gradient(135deg,#ff176d,#ff3a86)!important;border-color:transparent!important;min-width:175px;box-shadow:0 14px 30px rgba(255,43,122,.22)}
.afm-play-icon{margin-right:8px}
.afm-reaction.is-hit{transform:scale(1.06);border-color:var(--afm-accent)}
.afm-v2-signal{align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.afm-score-card{border:1px solid rgba(255,255,255,.11);background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.015));border-radius:24px;padding:24px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.01)}
.afm-score-card>span{display:block;text-align:center;color:#b5bac6;font-size:11px;letter-spacing:1.8px;font-weight:900}
.afm-v2-gauge{position:relative;width:190px;height:190px;margin:12px auto}
.afm-v2-gauge svg{width:100%;height:100%;transform:rotate(-90deg);overflow:visible}
.afm-v2-gauge circle{fill:none;stroke-width:7}
.afm-v2-gauge-track{stroke:rgba(255,255,255,.08)}
.afm-v2-gauge-value{stroke:var(--afm-accent);stroke-linecap:round;filter:drop-shadow(0 0 8px rgba(255,43,122,.55));transition:stroke-dashoffset .45s ease}
.afm-v2-gauge-copy{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.afm-score{display:block;font-size:62px;line-height:.9;font-weight:950;letter-spacing:-3px}
.afm-signal-copy{display:block;margin-top:12px;color:#a7acb7;font-size:9px;line-height:1.5;letter-spacing:1.1px;font-weight:800}
.afm-volume-label{display:flex;align-items:center;gap:10px;color:#858b98;font-size:9px;font-weight:900;letter-spacing:1px;margin-top:13px}
.afm-volume{width:100%;accent-color:var(--afm-accent)}
.afm-v2-strip{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);margin:26px 0 0;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(255,255,255,.018);overflow:hidden}
.afm-v2-strip>div{display:flex;align-items:flex-start;gap:16px;padding:22px 24px;border-right:1px solid rgba(255,255,255,.07)}
.afm-v2-strip>div:last-child{border-right:0}
.afm-v2-strip .afm-v2-icon{font-size:33px;color:var(--afm-accent);line-height:1}
.afm-v2-strip b{color:var(--afm-accent);font-size:10px;margin-right:6px}
.afm-v2-strip strong{font-size:11px;letter-spacing:1.3px}
.afm-v2-strip small{display:block;color:#8d93a0;font-size:10px;line-height:1.6;margin-top:5px}
.afm-v2-dashboard{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.afm-v2-panel{border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:20px;background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.012));overflow:hidden}
.afm-panel--hot{background:linear-gradient(145deg,rgba(255,43,122,.045),rgba(86,43,255,.025))}
.afm-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.afm-panel-head span{font-size:10px;letter-spacing:1.3px;color:#a3a8b5;font-weight:900}
.afm-panel-head>span:last-child{color:#8c92a0}
.afm-auto{color:var(--afm-accent)!important}
.afm-track-row{display:grid;grid-template-columns:54px 1fr 58px;align-items:center;gap:13px;padding:14px 5px;border-top:1px solid rgba(255,255,255,.065)}
.afm-track-row:first-child{border-top:0}
.afm-rank{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.10);border-radius:9px;color:#9ba1ad;font-size:10px;font-weight:900}
.afm-track-row strong{font-size:13px;line-height:1.3;display:block}
.afm-track-row small{display:block;color:#7d8492;font-size:8px;letter-spacing:.9px;margin-top:5px}
.afm-wave{color:var(--afm-accent);text-align:right;letter-spacing:2px}
.afm-chart-score{justify-self:end;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.1);border-radius:10px;font-size:12px;font-weight:900}
.afm-empty{padding:18px 4px;color:#7d8492;font-size:12px}

/* Keep V1.9.2 behavior */
.afm-next-top-mount{display:block;width:100%;margin:0;padding:12px 18px 0;position:relative;z-index:30}
.afm-next-top-mount:not(.is-mounted){visibility:hidden}
.afm-next-top-mount.is-mounted{visibility:visible}
.afm-shortcode-duplicate-hidden,
.afm-legacy-player-hidden,
.afm-legacy-player-hidden-hard,
.afm-old-player-force-hide{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;max-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important}
html.afm-nav-loading body{cursor:progress}
html.afm-nav-loading main,
html.afm-nav-loading #content,
html.afm-nav-loading .site-content{opacity:.72;transition:opacity .12s ease}

@media(max-width:1100px){
 .afm-v2-top{grid-template-columns:240px minmax(0,1fr)}
 .afm-v2-signal{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:18px}
 .afm-v2-gauge{width:150px;height:150px}
 .afm-score{font-size:48px}
}
@media(max-width:820px){
 .afm-v2{padding:18px;border-radius:22px}
 .afm-v2-top{grid-template-columns:1fr}
 .afm-v2-art{max-width:260px}
 .afm-title{font-size:clamp(32px,9vw,50px)}
 .afm-v2-signal{display:block}
 .afm-v2-strip{grid-template-columns:1fr 1fr}
 .afm-v2-strip>div:nth-child(2){border-right:0}
 .afm-v2-dashboard{grid-template-columns:1fr}
}
@media(max-width:520px){
 .afm-next-top-mount{padding:7px 7px 0}
 .afm-v2{padding:14px}
 .afm-v2-art{max-width:210px}
 .afm-title{font-size:34px;letter-spacing:-1.7px}
 .afm-actions button{padding:12px 15px}
 .afm-card-btn span,.afm-share span{display:none}
 .afm-v2-strip{grid-template-columns:1fr}
 .afm-v2-strip>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}
 .afm-v2-strip>div:last-child{border-bottom:0}
}


/* ===============================
   AIRPLAY FM NEXT V2.1
   Premium neon / club UI upgrade
   =============================== */

.afm-v2{
  background:
    linear-gradient(115deg,rgba(3,4,12,.985),rgba(7,5,17,.965) 48%,rgba(3,5,14,.985)),
    #05060c;
  border-color:rgba(255,255,255,.11);
  box-shadow:
    0 35px 100px rgba(0,0,0,.42),
    0 0 0 1px rgba(255,43,122,.035) inset;
}
.afm-v2:after{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,43,122,.05),transparent 28%,transparent 72%,rgba(42,92,255,.05)),
    radial-gradient(circle at 48% 28%,rgba(255,43,122,.09),transparent 28%);
  mix-blend-mode:screen;
}
.afm-art-wrap{
  border:1px solid rgba(255,43,122,.42);
  box-shadow:
    0 0 0 1px rgba(38,119,255,.25),
    0 20px 55px rgba(0,0,0,.52),
    -10px 0 45px rgba(255,43,122,.10),
    10px 0 45px rgba(40,100,255,.10);
}
.afm-v2-onair{
  box-shadow:0 0 24px rgba(255,43,122,.12);
}
.afm-play{
  position:relative;
  overflow:hidden;
  box-shadow:
    0 14px 34px rgba(255,43,122,.27),
    inset 0 1px rgba(255,255,255,.16);
}
.afm-play:after{
  content:"";
  position:absolute;inset:-50% -20%;
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.22),transparent 65%);
  transform:translateX(-60%) rotate(8deg);
  transition:transform .45s ease;
}
.afm-play:hover:after{transform:translateX(60%) rotate(8deg)}
.afm-actions .afm-reaction,
.afm-actions .afm-share,
.afm-actions .afm-card-btn{
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
}
.afm-score-card{
  position:relative;
  overflow:hidden;
  border-color:rgba(92,119,255,.35);
  box-shadow:
    0 0 0 1px rgba(255,43,122,.10) inset,
    0 0 36px rgba(38,94,255,.08);
}
.afm-score-card:before{
  content:"";
  position:absolute;inset:-35%;
  background:conic-gradient(from 120deg,transparent,#ff2b7a20,transparent,#2a6cff20,transparent);
  animation:afmSpin 12s linear infinite;
}
.afm-score-card>*{position:relative;z-index:1}
@keyframes afmSpin{to{transform:rotate(360deg)}}

.afm-v2-strip>div{
  transition:.25s ease;
}
.afm-v2-strip>div:hover{
  background:linear-gradient(145deg,rgba(255,43,122,.055),rgba(50,89,255,.035));
}
.afm-v2-icon{
  filter:drop-shadow(0 0 10px rgba(255,43,122,.26));
}

.afm-v2-dashboard{
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(300px,.92fr);
  align-items:stretch;
}
.afm-v2-panel{
  box-shadow:0 18px 42px rgba(0,0,0,.18);
}
.afm-track-row{
  min-height:62px;
}
.afm-track-row:hover{
  background:linear-gradient(90deg,rgba(255,43,122,.035),transparent);
}

.afm-share-panel{
  background:
    radial-gradient(circle at 30% 20%,rgba(255,43,122,.10),transparent 36%),
    linear-gradient(145deg,rgba(255,255,255,.028),rgba(255,255,255,.012));
}
.afm-share-panel-grid{
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(155px,.9fr);
  gap:16px;
  align-items:stretch;
}
.afm-social-preview{
  display:flex;
  justify-content:center;
}
.afm-social-card-live{
  width:100%;
  max-width:250px;
  aspect-ratio:4/5;
  border:1px solid rgba(255,43,122,.55);
  border-radius:18px;
  padding:13px;
  background:
    radial-gradient(circle at 85% 20%,rgba(39,105,255,.23),transparent 30%),
    radial-gradient(circle at 20% 78%,rgba(255,43,122,.20),transparent 34%),
    linear-gradient(145deg,#070814,#100719 60%,#050710);
  box-shadow:
    0 0 0 1px rgba(46,102,255,.25),
    0 18px 42px rgba(0,0,0,.34),
    0 0 35px rgba(255,43,122,.08);
}
.afm-social-card-top{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.afm-social-card-brand{
  font-size:12px;
  font-weight:950;
  letter-spacing:1px;
}
.afm-social-card-brand b{color:var(--afm-accent)}
.afm-social-card-badge{
  display:inline-flex;
  align-self:flex-start;
  padding:5px 8px;
  border:1px solid rgba(255,43,122,.45);
  border-radius:999px;
  color:var(--afm-accent);
  font-size:7px;
  font-weight:900;
  letter-spacing:.8px;
}
.afm-social-card-cover{
  margin:10px 0 12px;
  aspect-ratio:1;
  overflow:hidden;
  border-radius:12px;
  background:#0d0e17;
  border:1px solid rgba(255,255,255,.09);
}
.afm-social-card-cover img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.afm-social-card-copy{text-align:center}
.afm-social-card-copy strong{
  display:block;
  font-size:12px;
  line-height:1.18;
  margin-bottom:8px;
}
.afm-social-card-copy small{
  display:block;
  color:var(--afm-accent);
  font-size:7px;
  letter-spacing:.7px;
  font-weight:900;
}
.afm-social-card-copy em{
  display:block;
  margin-top:5px;
  color:#8d94a1;
  font-size:7px;
  font-style:normal;
}
.afm-share-destinations{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.afm-social-action{
  width:100%;
  min-height:43px;
  border-radius:9px;
  border:1px solid rgba(255,255,255,.10);
  color:#fff;
  font-size:9px;
  font-weight:900;
  letter-spacing:.25px;
  cursor:pointer;
  transition:.2s ease;
}
.afm-social-action:hover{
  transform:translateY(-2px);
  filter:brightness(1.08);
}
.afm-instagram{
  background:linear-gradient(90deg,#ff6a35,#f4008a 55%,#d000d9);
}
.afm-facebook{
  background:linear-gradient(90deg,#1769e0,#2aa7ff);
}
.afm-x{
  background:#08090d;
  border-color:rgba(255,255,255,.24);
}
.afm-download{
  margin-top:auto;
  background:linear-gradient(90deg,rgba(255,43,122,.12),rgba(92,52,255,.12));
  border-color:rgba(255,43,122,.35);
}

@media(max-width:1250px){
  .afm-v2-dashboard{grid-template-columns:1fr 1fr}
  .afm-share-panel{grid-column:1/-1}
  .afm-share-panel-grid{grid-template-columns:250px 1fr}
}
@media(max-width:820px){
  .afm-v2-dashboard{grid-template-columns:1fr}
  .afm-share-panel{grid-column:auto}
  .afm-share-panel-grid{grid-template-columns:1fr}
  .afm-social-card-live{max-width:280px}
}


/* V2.1.2 — force-remove legacy Radio.co hero player */
.afm-legacy-player-kill{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  width:0 !important;
  height:0 !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
}


/* V2.1.3 — cleaner layout */
.afm-intro-strip,
.afm-v2-strip{
  display:none !important;
}

.afm-up-next{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  margin-top:20px;
  padding:15px 18px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:15px;
  background:
    linear-gradient(90deg,rgba(255,43,122,.065),rgba(255,255,255,.018) 38%,rgba(38,94,255,.04));
  box-shadow:inset 0 1px rgba(255,255,255,.025);
}
.afm-up-next-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(255,43,122,.26);
  background:rgba(255,43,122,.07);
  color:var(--afm-accent);
  font-size:20px;
  box-shadow:0 0 20px rgba(255,43,122,.07);
}
.afm-up-next-copy{
  min-width:0;
}
.afm-up-next-copy span{
  display:block;
  color:var(--afm-accent);
  font-size:8px;
  font-weight:950;
  letter-spacing:1.5px;
  margin-bottom:4px;
}
.afm-up-next-copy strong{
  display:block;
  color:#fff;
  font-size:13px;
  line-height:1.3;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.afm-up-next-copy small{
  display:block;
  color:#7f8695;
  font-size:8px;
  margin-top:4px;
  letter-spacing:.25px;
}
.afm-up-next-status{
  display:flex;
  align-items:center;
  gap:6px;
  padding:7px 9px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  color:#8f96a4;
  font-size:7px;
  font-weight:900;
  letter-spacing:1px;
}
.afm-up-next-status i{
  width:6px;height:6px;border-radius:50%;
  background:var(--afm-accent);
  box-shadow:0 0 10px var(--afm-accent);
}

/* Social destination buttons: keep every label inside the coloured button */
.afm-share-destinations{
  min-width:0;
}
.afm-social-action{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:100% !important;
  min-width:0 !important;
  min-height:44px !important;
  padding:10px 13px !important;
  overflow:hidden !important;
  white-space:normal !important;
  text-align:left !important;
  line-height:1.15 !important;
  font-size:8px !important;
  letter-spacing:.15px !important;
  word-break:normal !important;
}
.afm-share-panel-grid{
  grid-template-columns:minmax(145px,.9fr) minmax(165px,1fr) !important;
}

/* Equal five-item panels feel more balanced */
.afm-history .afm-track-row,
.afm-trending .afm-track-row{
  min-height:62px;
}

@media(max-width:820px){
  .afm-up-next{
    grid-template-columns:42px minmax(0,1fr);
  }
  .afm-up-next-status{display:none}
  .afm-up-next-copy strong{
    white-space:normal;
  }
}


/* V2.1.4 — UP NEXT + smarter ranking */
.afm-up-next{
  position:relative;
  z-index:2;
  display:grid !important;
  grid-template-columns:48px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  margin:18px 0 0;
  padding:15px 18px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:15px;
  background:
    linear-gradient(90deg,rgba(255,43,122,.075),rgba(255,255,255,.018) 40%,rgba(43,95,255,.055));
  box-shadow:0 10px 28px rgba(0,0,0,.10),inset 0 1px rgba(255,255,255,.025);
}
.afm-up-next-icon{
  display:grid;
  place-items:center;
  width:42px;height:42px;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg,rgba(255,43,122,.20),rgba(62,91,255,.15));
  border:1px solid rgba(255,43,122,.32);
  font-size:20px;
}
.afm-up-next-copy{min-width:0}
.afm-up-next-copy span{
  display:block;color:var(--afm-accent);
  font-size:8px;font-weight:950;letter-spacing:1.6px;margin-bottom:4px
}
.afm-up-next-copy strong{
  display:block;color:#fff;font-size:13px;line-height:1.3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.afm-up-next-copy small{
  display:block;color:#858c99;font-size:8px;margin-top:4px
}
.afm-up-next-status{
  display:flex;align-items:center;gap:6px;
  padding:7px 10px;border-radius:999px;
  border:1px solid rgba(255,255,255,.09);
  color:#9198a6;font-size:7px;font-weight:900;letter-spacing:1px
}
.afm-up-next-status i{
  width:6px;height:6px;border-radius:50%;
  background:var(--afm-accent);box-shadow:0 0 10px var(--afm-accent)
}

.afm-chart-score.new{
  color:var(--afm-accent);
  border-color:rgba(255,43,122,.28);
  font-size:8px;
  letter-spacing:.7px;
}
.afm-chart-score.rising{
  color:#bfc8ff;
  border-color:rgba(93,105,255,.30);
  font-size:8px;
  letter-spacing:.5px;
}
.afm-chart-score.hot{
  color:#fff;
  background:linear-gradient(135deg,#ff2b7a,#ff6743);
  border-color:transparent;
  box-shadow:0 0 18px rgba(255,43,122,.18);
  font-size:8px;
  letter-spacing:.5px;
}

@media(max-width:820px){
  .afm-up-next{grid-template-columns:42px minmax(0,1fr)}
  .afm-up-next-status{display:none}
  .afm-up-next-copy strong{white-space:normal}
}


/* V2.3.0 — Share panel fills unused space */
.afm-share-panel{
  display:flex;
  flex-direction:column;
}
.afm-share-panel-grid{
  grid-template-columns:minmax(155px,.9fr) minmax(180px,1fr)!important;
}
.afm-share-destinations{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.afm-social-action{
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr);
  gap:10px;
  align-items:center!important;
  justify-content:stretch!important;
  min-height:52px!important;
  padding:9px 13px!important;
  text-align:left!important;
}
.afm-social-action .afm-share-icon{
  font-size:18px;
  text-align:center;
  line-height:1;
}
.afm-social-action>span:last-child{
  min-width:0;
  display:block;
}
.afm-social-action b{
  display:block;
  font-size:8px;
  letter-spacing:.25px;
  line-height:1.15;
}
.afm-social-action small{
  display:block;
  margin-top:3px;
  font-size:7px;
  opacity:.72;
  letter-spacing:.15px;
  line-height:1.1;
}

.afm-share-lower{
  display:grid;
  gap:12px;
  margin-top:15px;
}
.afm-share-upnext{
  border:1px solid rgba(255,255,255,.085);
  border-radius:14px;
  padding:13px;
  background:linear-gradient(135deg,rgba(255,43,122,.045),rgba(41,84,255,.035));
}
.afm-share-upnext-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:11px;
}
.afm-share-upnext-head span{
  color:#fff;
  font-size:9px;
  font-weight:950;
  letter-spacing:1.2px;
}
.afm-share-upnext-head small{
  color:#7f8795;
  font-size:7px;
  font-weight:800;
  letter-spacing:.8px;
}
.afm-share-upnext-body{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 64px;
  gap:11px;
  align-items:center;
}
.afm-next-art-wrap{
  position:relative;
  width:58px;height:58px;
  border-radius:10px;
  overflow:hidden;
  background:#0d0e17;
  border:1px solid rgba(255,255,255,.09);
}
.afm-next-art{
  display:none;
  width:100%;height:100%;
  object-fit:cover;
}
.afm-next-art-placeholder{
  display:grid;
  place-items:center;
  width:100%;height:100%;
  color:#757d8c;
  font-size:7px;
  font-weight:900;
  letter-spacing:.8px;
}
.afm-share-upnext-copy{min-width:0}
.afm-share-upnext-copy strong{
  display:block;
  color:#fff;
  font-size:11px;
  line-height:1.25;
  white-space:normal;
}
.afm-share-upnext-copy small{
  display:block;
  margin-top:5px;
  color:#808796;
  font-size:7px;
}
.afm-next-wave{
  color:var(--afm-accent);
  font-size:14px;
  letter-spacing:1px;
  text-align:right;
  filter:drop-shadow(0 0 8px rgba(255,43,122,.22));
}

.afm-share-promo{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:15px;
  min-height:92px;
  border:1px solid rgba(255,43,122,.24);
  border-radius:14px;
  background:
    radial-gradient(circle at 80% 10%,rgba(47,87,255,.17),transparent 36%),
    radial-gradient(circle at 20% 100%,rgba(255,43,122,.15),transparent 42%),
    linear-gradient(135deg,#090a15,#100817);
}
.afm-share-promo-copy span{
  display:block;
  color:#fff;
  font-size:17px;
  font-weight:950;
  letter-spacing:.6px;
}
.afm-share-promo-copy span b{color:var(--afm-accent)}
.afm-share-promo-copy strong{
  display:block;
  margin-top:3px;
  color:#fff;
  font-size:8px;
  letter-spacing:1.4px;
}
.afm-share-promo-copy small{
  display:block;
  margin-top:8px;
  color:#858d9b;
  font-size:7px;
}
.afm-share-listen{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  padding:10px 12px;
  border-radius:999px;
  background:linear-gradient(135deg,#ff176d,#ff3b8c);
  color:#fff!important;
  text-decoration:none!important;
  font-size:8px;
  font-weight:900;
  box-shadow:0 8px 24px rgba(255,43,122,.18);
}
.afm-follow-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 3px 1px;
}
.afm-follow-row>span{
  color:#858c99;
  font-size:8px;
  font-weight:900;
  letter-spacing:1.1px;
}
.afm-follow-links{
  display:flex;
  gap:7px;
}
.afm-follow-links a{
  display:grid;
  place-items:center;
  width:28px;height:28px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.12);
  color:#fff!important;
  text-decoration:none!important;
  font-size:10px;
  transition:.2s ease;
}
.afm-follow-links a:hover{
  transform:translateY(-2px);
  border-color:var(--afm-accent);
  box-shadow:0 0 16px rgba(255,43,122,.18);
}

@media(max-width:1250px){
  .afm-share-panel-grid{grid-template-columns:240px 1fr!important}
}
@media(max-width:820px){
  .afm-share-panel-grid{grid-template-columns:1fr!important}
  .afm-share-promo{align-items:flex-start;flex-direction:column}
  .afm-share-upnext-body{grid-template-columns:56px minmax(0,1fr)}
  .afm-next-wave{display:none}
}


/* ==================================================
   V2.4.0 — artwork rows + polished chart/list design
   ================================================== */

.afm-v2-panel{
  position:relative;
  overflow:hidden;
}
.afm-v2-panel:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 0% 100%,rgba(255,43,122,.055),transparent 30%),
    radial-gradient(circle at 100% 0%,rgba(37,99,255,.045),transparent 34%);
}
.afm-panel-head,
.afm-history,
.afm-trending{
  position:relative;
  z-index:1;
}

.afm-track-row--art{
  display:grid !important;
  grid-template-columns:48px 58px minmax(0,1fr) 58px !important;
  gap:14px !important;
  align-items:center !important;
  min-height:82px !important;
  padding:11px 5px !important;
}
.afm-track-row--art .afm-rank{
  width:42px;
  height:42px;
  border-radius:11px;
  color:#b7bdc9;
  background:rgba(255,255,255,.012);
}
.afm-history .afm-track-row--art .afm-rank{
  color:var(--afm-accent);
  border-color:rgba(255,43,122,.30);
}
.afm-row-art-wrap{
  width:58px;
  height:58px;
  flex:0 0 58px;
  overflow:hidden;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.10);
  background:#0b0d14;
  box-shadow:
    0 8px 20px rgba(0,0,0,.25),
    0 0 0 1px rgba(255,43,122,.03);
}
.afm-row-art{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.afm-row-art--placeholder{
  display:grid;
  place-items:center;
  font-size:8px;
  font-weight:950;
  letter-spacing:.7px;
  color:#7d8491;
  background:
    radial-gradient(circle at 30% 20%,rgba(255,43,122,.16),transparent 42%),
    linear-gradient(145deg,#12131b,#090a10);
}
.afm-row-copy{
  min-width:0;
}
.afm-row-copy strong{
  display:block;
  color:#fff;
  font-size:13px;
  line-height:1.28;
  font-weight:850;
}
.afm-row-copy small{
  display:block;
  margin-top:6px;
  color:#808795;
  font-size:8px;
  line-height:1.2;
  letter-spacing:.8px;
}
.afm-track-row--art:hover .afm-row-art-wrap{
  border-color:rgba(255,43,122,.34);
  transform:translateY(-1px);
  transition:.18s ease;
}
.afm-track-row--art:hover .afm-row-copy strong{
  color:#fff;
}
.afm-track-row--art .afm-wave{
  color:var(--afm-accent);
  font-size:13px;
  text-align:right;
  letter-spacing:3px;
}
.afm-track-row--art .afm-chart-score{
  width:52px;
  min-width:52px;
  height:44px;
  border-radius:11px;
  justify-self:end;
}

/* stronger neon framing to mirror the approved mockup */
.afm-v2-dashboard .afm-v2-panel:first-child{
  border-color:rgba(255,43,122,.15);
  box-shadow:
    inset 0 0 0 1px rgba(255,43,122,.025),
    0 18px 44px rgba(0,0,0,.18);
}
.afm-v2-dashboard .afm-v2-panel:nth-child(2){
  border-color:rgba(69,104,255,.17);
  box-shadow:
    inset 0 0 0 1px rgba(50,99,255,.025),
    0 18px 44px rgba(0,0,0,.18);
}

/* compact UP NEXT art polish */
.afm-share-upnext{
  box-shadow:inset 0 0 0 1px rgba(255,43,122,.02);
}
.afm-next-art-wrap{
  box-shadow:
    0 7px 18px rgba(0,0,0,.25),
    0 0 18px rgba(255,43,122,.045);
}
.afm-next-wave{
  background:linear-gradient(90deg,#ff2b7a,#b84dff,#3478ff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

@media(max-width:820px){
  .afm-track-row--art{
    grid-template-columns:40px 48px minmax(0,1fr) !important;
    gap:10px !important;
  }
  .afm-row-art-wrap{
    width:48px;
    height:48px;
  }
  .afm-track-row--art .afm-wave,
  .afm-track-row--art .afm-chart-score{
    grid-column:3;
    justify-self:start;
    margin-top:2px;
  }
}


/* V2.4.2 — remove obsolete wide standalone UP NEXT bar */
.afm-up-next{
  display:none !important;
}


/* V2.4.3 — artwork reliability improvements */
.afm-row-art-wrap,
.afm-next-art-wrap{
  background:
    radial-gradient(circle at 30% 20%,rgba(255,43,122,.10),transparent 45%),
    linear-gradient(145deg,#11131c,#080910);
}
.afm-row-art,
.afm-next-art{
  opacity:1;
  transition:opacity .22s ease,transform .22s ease;
}
.afm-track-row--art:hover .afm-row-art{
  transform:scale(1.035);
}
.afm-next-art-wrap{
  border-color:rgba(255,43,122,.16);
}


/* V2.4.4 — flicker-free Recently Played artwork */
.afm-row-art{
  backface-visibility:hidden;
  transform:translateZ(0);
}
.afm-row-art--fadein{
  animation:afmArtworkIn .18s ease both;
}
@keyframes afmArtworkIn{
  from{opacity:.35;transform:scale(.985)}
  to{opacity:1;transform:scale(1)}
}


/* ==================================================
   V2.5.0 — premium ON AIR / SHARE / SOCIAL CARD ART
   ================================================== */

.afm-art-stage{
  position:relative;
  padding:10px 10px 0;
}
.afm-art-stage:before{
  content:"";
  position:absolute;
  inset:2px 2px 38px;
  border-radius:28px;
  background:
    radial-gradient(circle at 25% 15%,rgba(255,43,122,.24),transparent 35%),
    radial-gradient(circle at 80% 85%,rgba(51,103,255,.24),transparent 36%);
  filter:blur(26px);
  opacity:.65;
  pointer-events:none;
}
.afm-art-backdrop{
  position:absolute;
  inset:18px 18px 58px;
  background-image:var(--afm-cover);
  background-size:cover;
  background-position:center;
  filter:blur(32px) saturate(1.35);
  transform:scale(1.08);
  opacity:.19;
  border-radius:28px;
  pointer-events:none;
}
.afm-art-stage .afm-art-wrap{
  position:relative;
  z-index:2;
  border-radius:26px;
  border:1px solid rgba(255,43,122,.52);
  box-shadow:
    0 0 0 1px rgba(48,104,255,.18),
    0 26px 60px rgba(0,0,0,.50),
    -14px 0 42px rgba(255,43,122,.10),
    14px 0 42px rgba(37,102,255,.10);
}
.afm-art-shine{
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg,rgba(255,255,255,.16),transparent 26%,transparent 70%,rgba(255,43,122,.09));
  pointer-events:none;
  mix-blend-mode:screen;
}
.afm-art-meta{
  position:relative;
  z-index:3;
  margin-top:12px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
}
.afm-art-meta .afm-v2-now{
  margin:0;
  background:rgba(255,43,122,.055);
  border-color:rgba(255,43,122,.26);
  color:#d4d8e0;
}
.afm-art-title-mini{
  display:block;
  max-width:100%;
  font-size:10px;
  line-height:1.3;
  color:#fff;
  font-weight:900;
  letter-spacing:.35px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.afm-art-meta small{
  color:#737b89;
  font-size:7px;
  letter-spacing:1.2px;
  font-weight:900;
}

/* premium live share preview */
.afm-social-card-live{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 85% 15%,rgba(44,103,255,.22),transparent 32%),
    radial-gradient(circle at 12% 78%,rgba(255,43,122,.20),transparent 38%),
    linear-gradient(145deg,#050712,#0b0716 55%,#050814);
}
.afm-social-card-glow{
  position:absolute;
  inset:-20%;
  background-image:var(--afm-cover);
  background-size:cover;
  background-position:center;
  filter:blur(45px) saturate(1.45);
  opacity:.10;
  z-index:-1;
}
.afm-social-card-top{
  position:relative;
  z-index:2;
}
.afm-social-card-brand{
  display:flex;
  align-items:center;
  gap:5px;
}
.afm-social-card-brand i{
  display:inline-block;
  width:10px;height:10px;
  border-radius:3px;
  background:linear-gradient(135deg,#ff2b7a,#5f5cff);
  box-shadow:0 0 14px rgba(255,43,122,.35);
}
.afm-social-card-cover-wrap{
  position:relative;
  margin:12px 0 14px;
  padding:7px;
  border-radius:17px;
  background:linear-gradient(135deg,rgba(255,43,122,.32),rgba(50,98,255,.26));
}
.afm-social-card-cover{
  position:relative;
  margin:0;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 14px 32px rgba(0,0,0,.32);
}
.afm-social-card-livebadge{
  position:absolute;
  top:9px;left:9px;
  display:inline-flex;
  align-items:center;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(5,6,12,.76);
  border:1px solid rgba(255,255,255,.12);
  color:#ff2b7a;
  font-size:7px;
  font-weight:950;
  letter-spacing:.8px;
  backdrop-filter:blur(10px);
}
.afm-social-card-shine{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.17),transparent 25%,transparent 72%,rgba(255,43,122,.08));
  pointer-events:none;
}
.afm-social-divider{
  display:block;
  width:48px;
  height:2px;
  margin:8px auto;
  background:linear-gradient(90deg,#ff2b7a,#765cff);
  border-radius:99px;
}
.afm-social-card-copy strong{
  font-size:13px;
  line-height:1.22;
  font-weight:950;
}
.afm-social-card-copy small{
  color:#fff;
  font-size:7px;
}
.afm-social-card-copy em{
  color:#7e8694;
  letter-spacing:.55px;
}

@media(max-width:820px){
  .afm-art-stage{
    padding:4px 4px 0;
  }
  .afm-art-title-mini{
    white-space:normal;
  }
}


/* V2.5.1 — reliable UP NEXT artwork */
.afm-next-art{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
}
.afm-next-art.afm-next-art--ready{
  opacity:1;
  animation:afmNextArtworkIn .24s ease both;
}
@keyframes afmNextArtworkIn{
  from{opacity:.25;transform:scale(1.025)}
  to{opacity:1;transform:scale(1)}
}


/* V2.5.3 — premium main action buttons */
.afm-actions-premium{
  display:grid !important;
  grid-template-columns:minmax(220px,1.25fr) minmax(175px,.9fr) minmax(195px,1fr);
  gap:12px !important;
  margin-top:27px !important;
  max-width:790px;
}
.afm-premium-btn{
  position:relative;
  display:grid !important;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  min-height:66px;
  width:100%;
  padding:10px 14px !important;
  border-radius:18px !important;
  overflow:hidden;
  text-align:left;
  isolation:isolate;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease !important;
}
.afm-premium-btn:after{
  content:"";
  position:absolute;
  inset:-45% -20%;
  z-index:-1;
  background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.16),transparent 65%);
  transform:translateX(-70%) rotate(8deg);
  transition:transform .5s ease;
}
.afm-premium-btn:hover{transform:translateY(-3px)!important}
.afm-premium-btn:hover:after{transform:translateX(70%) rotate(8deg)}
.afm-premium-icon{
  position:relative;
  display:grid;
  place-items:center;
  width:42px;height:42px;
  border-radius:13px;
  font-size:15px;font-weight:950;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);
  box-shadow:inset 0 1px rgba(255,255,255,.06);
}
.afm-premium-icon i{
  position:absolute;
  width:7px;height:7px;
  top:6px;right:6px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 14px rgba(255,255,255,.8);
}
.afm-premium-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.afm-premium-copy b{
  display:block;
  color:#fff;
  font-size:11px;
  line-height:1.1;
  font-weight:950;
  letter-spacing:.65px;
}
.afm-premium-copy small{
  display:block;
  color:rgba(255,255,255,.60);
  font-size:7px;
  line-height:1.2;
  font-weight:700;
}
.afm-premium-arrow{
  font-size:18px;color:#fff;opacity:.8;
  transition:transform .22s ease;
}
.afm-premium-btn:hover .afm-premium-arrow{transform:translateX(4px)}

.afm-premium-btn--primary{
  border:1px solid rgba(255,90,152,.55)!important;
  background:linear-gradient(135deg,rgba(255,23,109,.98),rgba(255,53,139,.94) 58%,rgba(114,68,255,.90))!important;
  box-shadow:0 16px 34px rgba(255,43,122,.24),0 0 0 1px rgba(255,255,255,.05) inset,0 0 32px rgba(255,43,122,.08)!important;
}
.afm-premium-btn--primary .afm-premium-icon{
  background:rgba(8,8,16,.18);
  border-color:rgba(255,255,255,.22);
}
.afm-premium-btn--primary:hover{
  box-shadow:0 20px 42px rgba(255,43,122,.30),0 0 42px rgba(255,43,122,.13)!important;
}
.afm-premium-btn--glass{
  border:1px solid rgba(255,255,255,.11)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018))!important;
  box-shadow:inset 0 1px rgba(255,255,255,.05),0 12px 28px rgba(0,0,0,.16)!important;
  backdrop-filter:blur(18px);
}
.afm-premium-btn--glass .afm-premium-icon{
  background:linear-gradient(145deg,rgba(71,91,255,.18),rgba(255,43,122,.11));
}
.afm-premium-btn--glass:hover{
  border-color:rgba(113,120,255,.32)!important;
  background:linear-gradient(145deg,rgba(71,91,255,.10),rgba(255,43,122,.055))!important;
}
.afm-premium-btn--card{
  border:1px solid rgba(255,43,122,.23)!important;
  background:radial-gradient(circle at 15% 0%,rgba(255,43,122,.10),transparent 42%),linear-gradient(145deg,rgba(24,17,40,.95),rgba(11,12,22,.92))!important;
  box-shadow:0 12px 30px rgba(0,0,0,.20),inset 0 0 0 1px rgba(255,43,122,.025)!important;
}
.afm-premium-btn--card .afm-premium-icon{
  color:#ff4c96;
  background:linear-gradient(145deg,rgba(255,43,122,.13),rgba(102,73,255,.11));
  border-color:rgba(255,43,122,.21);
}
.afm-premium-btn--card:hover{
  border-color:rgba(255,43,122,.42)!important;
  box-shadow:0 16px 38px rgba(255,43,122,.10),inset 0 0 0 1px rgba(255,43,122,.035)!important;
}
@media(max-width:1100px){
  .afm-actions-premium{grid-template-columns:1fr 1fr}
  .afm-premium-btn--primary{grid-column:1/-1}
}
@media(max-width:620px){
  .afm-actions-premium{grid-template-columns:1fr}
  .afm-premium-btn--primary{grid-column:auto}
  .afm-premium-btn{min-height:62px}
}


/* V2.5.4 — Recently Played Spotify action */
.afm-spotify-link{
  position:relative;
  justify-self:end;
  display:grid;
  place-items:center;
  width:44px;
  height:38px;
  padding:0;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(255,255,255,.025);
  color:#8d95a2;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,color .18s ease,background .18s ease,box-shadow .18s ease;
}
.afm-spotify-link .afm-dots{
  display:block;
  font-size:14px;
  line-height:1;
  letter-spacing:2px;
  transform:translateY(-2px);
}
.afm-spotify-link:hover{
  transform:translateY(-2px);
  color:#fff;
  border-color:rgba(29,185,84,.48);
  background:rgba(29,185,84,.09);
  box-shadow:0 8px 22px rgba(29,185,84,.10);
}
.afm-spotify-tip{
  position:absolute;
  right:0;
  bottom:calc(100% + 8px);
  padding:6px 8px;
  border-radius:8px;
  background:#10131a;
  border:1px solid rgba(29,185,84,.28);
  color:#fff;
  font-size:7px;
  font-weight:900;
  letter-spacing:.8px;
  opacity:0;
  transform:translateY(4px);
  pointer-events:none;
  transition:.16s ease;
  box-shadow:0 8px 20px rgba(0,0,0,.3);
}
.afm-spotify-link:hover .afm-spotify-tip{
  opacity:1;
  transform:translateY(0);
}
@media(max-width:620px){
  .afm-spotify-link{width:40px;height:36px}
}


/* ==================================================
   V2.6.0 — AIRPLAY SIGNAL™ becomes a real metric
   ================================================== */
.afm-score-card{
  transition:border-color .25s ease,box-shadow .25s ease,background .25s ease;
}
.afm-signal-copy{
  text-transform:uppercase;
}
.afm-signal-copy span{
  display:block;
  margin-top:3px;
  font-size:7px;
  opacity:.62;
  letter-spacing:1.15px;
}
.afm-v2[data-afm-signal-status="new"] .afm-v2-gauge-value{
  stroke:#747d8b;
  filter:none;
}
.afm-v2[data-afm-signal-status="building"] .afm-v2-gauge-value{
  stroke:#a85cff;
}
.afm-v2[data-afm-signal-status="rising"] .afm-v2-gauge-value{
  stroke:#526dff;
  filter:drop-shadow(0 0 9px rgba(82,109,255,.48));
}
.afm-v2[data-afm-signal-status="hot"] .afm-v2-gauge-value{
  stroke:#ff6c3e;
  filter:drop-shadow(0 0 10px rgba(255,108,62,.5));
}
.afm-v2[data-afm-signal-status="breakout"] .afm-v2-gauge-value{
  stroke:#ff2b7a;
  filter:drop-shadow(0 0 13px rgba(255,43,122,.72));
}
.afm-v2[data-afm-signal-status="breakout"] .afm-score-card{
  border-color:rgba(255,43,122,.55);
  box-shadow:0 0 42px rgba(255,43,122,.14),inset 0 0 0 1px rgba(255,43,122,.06);
}
.afm-v2[data-afm-signal-status="hot"] .afm-score-card{
  border-color:rgba(255,108,62,.36);
}
.afm-v2[data-afm-signal-status="rising"] .afm-score-card{
  border-color:rgba(82,109,255,.36);
}


/* V2.6.4 — cleaner Live Ranking */
.afm-chart-score.score{
  color:#d8dce5;
  border-color:rgba(255,255,255,.10);
  background:rgba(255,255,255,.025);
  font-size:11px;
  letter-spacing:0;
}
.afm-chart-score.hot{
  color:#fff;
  background:linear-gradient(135deg,#ff6c3e,#ff2b7a);
  border-color:transparent;
  box-shadow:0 0 18px rgba(255,82,82,.16);
  font-size:8px;
  letter-spacing:.5px;
}
.afm-chart-score.breakout{
  color:#fff;
  background:linear-gradient(135deg,#ff2b7a,#8c4dff);
  border-color:transparent;
  box-shadow:0 0 22px rgba(255,43,122,.22);
  font-size:7px;
  letter-spacing:.45px;
}

/* V2.6.5: backup suppression for legacy Radio.co player */
body:not(.elementor-editor-active) .radioco-player,
body:not(.elementor-editor-active) .radio-co-player,
body:not(.elementor-editor-active) iframe[src*="radio.co"],
body:not(.elementor-editor-active) iframe[src*="radioco"]{
 display:none!important;visibility:hidden!important;opacity:0!important;height:0!important;margin:0!important;padding:0!important
}

/* V2.6.6 — LISTEN LIVE connecting feedback */
.afm-premium-btn--primary.is-connecting{cursor:wait!important;transform:none!important;background:linear-gradient(110deg,#ff176d,#8b49ff,#ff176d)!important;background-size:220% 100%!important;animation:afmConnectGradient 1.15s linear infinite,afmConnectPulse 1.15s ease-in-out infinite!important;box-shadow:0 0 0 1px rgba(255,255,255,.06) inset,0 0 34px rgba(255,43,122,.22),0 0 56px rgba(102,73,255,.13)!important}
.afm-premium-btn--primary.is-connecting:after{display:none!important}
.afm-premium-btn--primary.is-connecting .afm-premium-icon{border-color:rgba(255,255,255,.28)}
.afm-premium-btn--primary.is-connecting .afm-premium-icon:before{content:"";width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.28);border-top-color:#fff;animation:afmConnectSpin .72s linear infinite}
.afm-premium-btn--primary.is-connecting .afm-premium-icon i{display:none}
.afm-premium-btn--primary.is-connecting .afm-premium-arrow{display:flex;align-items:flex-end;width:28px;height:24px;font-size:0}
.afm-premium-btn--primary.is-connecting .afm-premium-arrow:before{content:"▂▄▆█▆";color:#fff;font-size:11px;letter-spacing:1px;animation:afmConnectWave .65s ease-in-out infinite alternate}
.afm-premium-btn--primary.is-playing .afm-premium-icon i{background:#63ffb0;box-shadow:0 0 15px rgba(99,255,176,.9)}
.afm-premium-btn--primary.is-error{background:linear-gradient(135deg,#3a2432,#211a28)!important;border-color:rgba(255,130,150,.32)!important}
.afm-premium-btn--primary:disabled{opacity:1!important}
@keyframes afmConnectSpin{to{transform:rotate(360deg)}}
@keyframes afmConnectGradient{0%{background-position:0% 50%}100%{background-position:220% 50%}}
@keyframes afmConnectPulse{0%,100%{filter:brightness(.96)}50%{filter:brightness(1.13)}}
@keyframes afmConnectWave{from{transform:scaleY(.72);opacity:.62}to{transform:scaleY(1.08);opacity:1}}
@media(prefers-reduced-motion:reduce){.afm-premium-btn--primary.is-connecting,.afm-premium-btn--primary.is-connecting .afm-premium-icon:before,.afm-premium-btn--primary.is-connecting .afm-premium-arrow:before{animation:none!important}}


/* ======================================================
   V2.7.0 — CONTACT PAGE EXPERIENCE (only /contact/)
   ====================================================== */
body.afm-contact-page{
  --afm-contact-accent:#ff2b7a;
  --afm-contact-blue:#586cff;
}
.afm-contact-experience{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  max-width:1440px;
  margin:24px auto 28px;
  padding:46px 32px 30px;
  border:1px solid rgba(255,255,255,.085);
  border-radius:28px;
  color:#fff;
  background:
    linear-gradient(120deg,rgba(4,5,13,.985),rgba(9,6,18,.97) 56%,rgba(4,7,16,.985)),
    #05060d;
  box-shadow:0 30px 85px rgba(0,0,0,.34);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.afm-contact-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:-1}
.afm-contact-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.19}
.afm-contact-orb-a{width:520px;height:520px;background:#ff2b7a;top:-330px;left:28%}
.afm-contact-orb-b{width:500px;height:500px;background:#4f65ff;right:-180px;bottom:-330px}
.afm-contact-hero{max-width:900px;margin:0 auto 34px;text-align:center}
.afm-contact-kicker{
  display:inline-flex;
  padding:8px 12px;
  border:1px solid rgba(255,43,122,.35);
  border-radius:999px;
  color:#ff4e94;
  background:rgba(255,43,122,.06);
  font-size:9px;
  font-weight:950;
  letter-spacing:1.7px;
}
.afm-contact-hero h1{
  margin:18px 0 10px;
  color:#fff;
  font-size:clamp(44px,7vw,92px);
  line-height:.93;
  font-weight:950;
  letter-spacing:-4px;
}
.afm-contact-hero h1 span{
  background:linear-gradient(90deg,#ff2b7a,#b64dff,#5a77ff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.afm-contact-hero p{
  max-width:700px;
  margin:0 auto;
  color:#9ca3b1;
  font-size:14px;
  line-height:1.65;
}
.afm-contact-live-pill{
  display:inline-flex;align-items:center;gap:8px;
  margin-top:18px;padding:8px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  color:#7e8694;
  font-size:8px;font-weight:900;letter-spacing:1.3px;
}
.afm-contact-live-pill i{
  width:7px;height:7px;border-radius:50%;
  background:#ff2b7a;box-shadow:0 0 14px rgba(255,43,122,.85);
}
.afm-contact-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.afm-contact-card{
  position:relative;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  gap:13px;
  align-items:start;
  min-height:170px;
  padding:20px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:
    radial-gradient(circle at 20% 0%,rgba(255,43,122,.055),transparent 44%),
    linear-gradient(145deg,rgba(255,255,255,.03),rgba(255,255,255,.012));
  color:#fff!important;
  text-decoration:none!important;
  transition:.23s ease;
}
.afm-contact-card:hover{
  transform:translateY(-4px);
  border-color:rgba(255,43,122,.28);
  box-shadow:0 16px 34px rgba(0,0,0,.20),0 0 28px rgba(255,43,122,.07);
}
.afm-contact-card-icon{
  display:grid;place-items:center;
  width:46px;height:46px;
  border-radius:14px;
  border:1px solid rgba(255,43,122,.22);
  background:linear-gradient(145deg,rgba(255,43,122,.12),rgba(82,103,255,.09));
  color:#ff4c96;font-size:19px;
}
.afm-contact-card small{display:block;color:#ff3f88;font-size:8px;font-weight:950;letter-spacing:1px;margin-bottom:8px}
.afm-contact-card strong{display:block;font-size:11px;letter-spacing:.55px;line-height:1.2}
.afm-contact-card p{margin:8px 0 0;color:#808896;font-size:10px;line-height:1.55}
.afm-contact-arrow{align-self:center;color:#9aa1ae;font-size:18px;transition:.2s ease}
.afm-contact-card:hover .afm-contact-arrow{color:#fff;transform:translateX(3px)}
.afm-contact-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:18px;
  padding:17px 4px 2px;
}
.afm-contact-direct span,.afm-contact-socials>span{
  display:block;color:#6f7785;font-size:7px;font-weight:900;letter-spacing:1.2px;margin-bottom:6px
}
.afm-contact-direct a{color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:800}
.afm-contact-socials{text-align:right}
.afm-contact-socials>div{display:flex;justify-content:flex-end;gap:8px}
.afm-contact-socials a{
  display:grid;place-items:center;width:32px;height:32px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.10);
  color:#fff!important;text-decoration:none!important;
  transition:.2s ease;
}
.afm-contact-socials a:hover{border-color:#ff2b7a;box-shadow:0 0 18px rgba(255,43,122,.16);transform:translateY(-2px)}

/* Enhance existing contact forms on the contact page without breaking their plugin logic */
body.afm-contact-page .afm-contact-form-enhanced,
body.afm-contact-page .afm-contact-form-enhanced form,
body.afm-contact-page .elementor-widget-form.afm-contact-form-enhanced,
body.afm-contact-page .wpcf7.afm-contact-form-enhanced,
body.afm-contact-page .wpforms-container.afm-contact-form-enhanced{
  border-radius:22px!important;
}
body.afm-contact-page .afm-contact-form-enhanced{
  padding:24px!important;
  margin-top:24px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  background:linear-gradient(145deg,rgba(9,10,18,.96),rgba(15,8,22,.94))!important;
  box-shadow:0 20px 50px rgba(0,0,0,.18)!important;
}
body.afm-contact-page .afm-contact-form-enhanced input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body.afm-contact-page .afm-contact-form-enhanced textarea,
body.afm-contact-page .afm-contact-form-enhanced select{
  min-height:52px!important;
  padding:13px 15px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.035)!important;
  color:#fff!important;
  outline:none!important;
  box-shadow:none!important;
}
body.afm-contact-page .afm-contact-form-enhanced textarea{min-height:150px!important}
body.afm-contact-page .afm-contact-form-enhanced input:focus,
body.afm-contact-page .afm-contact-form-enhanced textarea:focus,
body.afm-contact-page .afm-contact-form-enhanced select:focus{
  border-color:rgba(255,43,122,.55)!important;
  box-shadow:0 0 0 3px rgba(255,43,122,.08)!important;
}
body.afm-contact-page .afm-contact-form-enhanced label{
  color:#cbd0d9!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.35px;
}
body.afm-contact-page .afm-contact-form-enhanced input[type="submit"],
body.afm-contact-page .afm-contact-form-enhanced button[type="submit"]{
  min-height:52px!important;
  padding:12px 22px!important;
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#ff176d,#ff3b8c 58%,#7651ff)!important;
  color:#fff!important;
  font-weight:950!important;
  letter-spacing:.6px!important;
  box-shadow:0 14px 30px rgba(255,43,122,.20)!important;
  cursor:pointer!important;
}
@media(max-width:1100px){
  .afm-contact-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .afm-contact-experience{margin:12px 8px 20px;padding:30px 16px 20px;border-radius:20px}
  .afm-contact-hero h1{letter-spacing:-2px}
  .afm-contact-grid{grid-template-columns:1fr}
  .afm-contact-card{min-height:140px}
  .afm-contact-bottom{align-items:flex-start;flex-direction:column}
  .afm-contact-socials{text-align:left}
  .afm-contact-socials>div{justify-content:flex-start}
}


/* ======================================================
   V2.7.1 — FULL CONTACT PAGE REPLACEMENT
   ====================================================== */
body.afm-contact-page-v271 .afm-old-contact-content-hidden{
  display:none!important;
}
.afm-contact-experience--full{
  max-width:1440px;
  margin:24px auto 34px;
}
.afm-contact-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);
  gap:20px;
  align-items:start;
}
.afm-contact-form-card{
  border:1px solid rgba(255,255,255,.085);
  border-radius:22px;
  padding:26px;
  background:
    radial-gradient(circle at 0% 0%,rgba(255,43,122,.07),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.028),rgba(255,255,255,.012));
  box-shadow:0 20px 50px rgba(0,0,0,.16);
}
.afm-contact-form-head span{
  color:#ff438d;
  font-size:8px;
  font-weight:950;
  letter-spacing:1.4px;
}
.afm-contact-form-head h2{
  margin:7px 0 5px;
  color:#fff;
  font-size:30px;
  line-height:1.1;
  font-weight:950;
  letter-spacing:-1.2px;
}
.afm-contact-form-head p{
  margin:0 0 22px;
  color:#828a99;
  font-size:11px;
}
.afm-native-contact-form{
  display:grid;
  gap:16px;
}
.afm-field-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.afm-native-contact-form label{
  display:grid;
  gap:7px;
}
.afm-native-contact-form label>span{
  color:#b6bdc9;
  font-size:8px;
  font-weight:900;
  letter-spacing:.8px;
}
.afm-native-contact-form input,
.afm-native-contact-form select,
.afm-native-contact-form textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.10);
  border-radius:13px;
  background:rgba(255,255,255,.035);
  color:#fff;
  padding:13px 15px;
  outline:none;
  box-shadow:none;
  font-size:14px;
  transition:.2s ease;
}
.afm-native-contact-form input,
.afm-native-contact-form select{min-height:52px}
.afm-native-contact-form textarea{min-height:170px;resize:vertical}
.afm-native-contact-form input:focus,
.afm-native-contact-form select:focus,
.afm-native-contact-form textarea:focus{
  border-color:rgba(255,43,122,.55);
  box-shadow:0 0 0 3px rgba(255,43,122,.08);
}
.afm-native-contact-form select option{
  color:#111;
}
.afm-contact-form-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-top:2px;
}
.afm-contact-privacy{
  color:#6f7786;
  font-size:8px;
}
.afm-contact-submit{
  display:grid;
  grid-template-columns:28px auto 22px;
  gap:8px;
  align-items:center;
  min-height:54px;
  padding:11px 16px;
  border:1px solid rgba(255,90,150,.40);
  border-radius:16px;
  background:linear-gradient(135deg,#ff176d,#ff3c8c 58%,#7452ff);
  color:#fff;
  cursor:pointer;
  box-shadow:0 14px 32px rgba(255,43,122,.22);
  transition:.22s ease;
}
.afm-contact-submit:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(255,43,122,.27);
}
.afm-contact-submit b{
  font-size:9px;
  letter-spacing:.55px;
}
.afm-contact-side{
  display:grid;
  gap:12px;
}
.afm-contact-route{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  min-height:108px;
  padding:16px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:17px;
  background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.012));
  color:#fff!important;
  text-decoration:none!important;
  transition:.2s ease;
}
.afm-contact-route:hover{
  transform:translateY(-2px);
  border-color:rgba(255,43,122,.26);
}
.afm-contact-route-icon{
  display:grid;
  place-items:center;
  width:44px;height:44px;
  border-radius:13px;
  color:#ff4c96;
  border:1px solid rgba(255,43,122,.20);
  background:linear-gradient(145deg,rgba(255,43,122,.11),rgba(81,100,255,.08));
}
.afm-contact-route small{
  display:block;
  color:#7e8694;
  font-size:7px;
  font-weight:900;
  letter-spacing:.9px;
}
.afm-contact-route strong{
  display:block;
  margin-top:4px;
  font-size:11px;
  line-height:1.25;
}
.afm-contact-route p{
  margin:5px 0 0;
  color:#777f8e;
  font-size:8px;
  line-height:1.4;
}
.afm-contact-route i{
  font-style:normal;
  color:#929aa8;
}
.afm-contact-brand-card{
  min-height:150px;
  padding:20px;
  border:1px solid rgba(255,43,122,.22);
  border-radius:18px;
  background:
    radial-gradient(circle at 85% 10%,rgba(63,99,255,.17),transparent 38%),
    radial-gradient(circle at 10% 100%,rgba(255,43,122,.15),transparent 42%),
    linear-gradient(145deg,#090a15,#100817);
}
.afm-contact-brand-card>span{
  display:block;
  color:#fff;
  font-size:23px;
  font-weight:950;
}
.afm-contact-brand-card>span b{color:#ff2b7a}
.afm-contact-brand-card>strong{
  display:block;
  margin-top:4px;
  font-size:9px;
  letter-spacing:1.3px;
}
.afm-contact-brand-card p{
  color:#818998;
  font-size:9px;
  line-height:1.5;
}
.afm-contact-brand-card a{
  display:inline-flex;
  margin-top:4px;
  padding:9px 12px;
  border-radius:999px;
  background:linear-gradient(135deg,#ff176d,#ff3a88);
  color:#fff!important;
  text-decoration:none!important;
  font-size:8px;
  font-weight:900;
}
.afm-contact-follow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:11px 3px;
}
.afm-contact-follow>span{
  color:#767e8c;
  font-size:7px;
  font-weight:900;
  letter-spacing:1px;
}
.afm-contact-follow>div{
  display:flex;
  gap:7px;
}
.afm-contact-follow a{
  display:grid;
  place-items:center;
  width:30px;height:30px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.10);
  color:#fff!important;
  text-decoration:none!important;
}
.afm-contact-message{
  max-width:800px;
  margin:0 auto 20px;
  padding:14px 16px;
  border-radius:14px;
  text-align:center;
}
.afm-contact-message strong{
  display:block;
  font-size:9px;
  letter-spacing:1px;
}
.afm-contact-message span{
  display:block;
  margin-top:4px;
  font-size:10px;
}
.afm-contact-message--success{
  border:1px solid rgba(84,255,170,.24);
  background:rgba(84,255,170,.06);
  color:#bfffdc;
}
.afm-contact-message--error{
  border:1px solid rgba(255,95,120,.24);
  background:rgba(255,95,120,.06);
  color:#ffd0d8;
}
@media(max-width:960px){
  .afm-contact-main-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .afm-field-grid{grid-template-columns:1fr}
  .afm-contact-form-card{padding:18px}
  .afm-contact-form-footer{align-items:stretch;flex-direction:column}
  .afm-contact-submit{width:100%}
}


/* V2.7.2 — Airplay FM NEXT player on Contact page */
.afm-next-top-mount--contact{
  padding-top:18px;
  margin-bottom:0;
}
.afm-next-top-mount--contact + .afm-contact-experience{
  margin-top:14px;
}
body.afm-contact-page-v271 .afm-next-top-mount--contact{
  display:block!important;
  visibility:visible!important;
  height:auto!important;
  max-height:none!important;
  opacity:1!important;
}
@media(max-width:680px){
  .afm-next-top-mount--contact{
    padding:8px 8px 0;
  }
  .afm-next-top-mount--contact + .afm-contact-experience{
    margin-top:8px;
  }
}

/* V2.7.3 — Contact soft-navigation fix */
body.afm-contact-page-v271 .afm-old-contact-content-hidden{display:none!important}
body.afm-contact-page-v271 #afm-contact-experience{display:block!important;visibility:visible!important;opacity:1!important}


/* ======================================================
   V2.7.4 — persistent player host across soft navigation
   ====================================================== */
.afm-persistent-player-host{
  position:relative;
  z-index:30;
  width:100%;
  display:block;
  clear:both;
}
.afm-persistent-player-host #afm-next-top-mount{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  height:auto!important;
  max-height:none!important;
}
.afm-persistent-player-host.is-contact-context #afm-next-top-mount{
  padding-top:18px;
}
body.afm-contact-page-v271 .afm-persistent-player-host{
  display:block!important;
  visibility:visible!important;
}
@media(max-width:680px){
  .afm-persistent-player-host.is-contact-context #afm-next-top-mount{
    padding-top:8px;
  }
}

/* ======================================================
   V2.8.0 — AIRPLAY FM SHOWS
   ====================================================== */
body.afm-shows-page .afm-old-shows-content-hidden{display:none!important}
.afm-shows-experience{
 position:relative;isolation:isolate;overflow:hidden;max-width:1440px;margin:22px auto 36px;
 padding:44px 32px 32px;border:1px solid rgba(255,255,255,.085);border-radius:28px;color:#fff;
 background:linear-gradient(125deg,rgba(4,5,13,.99),rgba(10,7,18,.98) 55%,rgba(4,7,16,.99));
 box-shadow:0 30px 85px rgba(0,0,0,.3);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
.afm-shows-glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.17;z-index:-1;pointer-events:none}
.afm-shows-glow-a{width:500px;height:500px;background:#ff2b7a;top:-350px;left:25%}
.afm-shows-glow-b{width:520px;height:520px;background:#526bff;right:-220px;bottom:-340px}
.afm-shows-hero{text-align:center;max-width:850px;margin:0 auto 34px}
.afm-shows-kicker{display:inline-flex;padding:8px 12px;border:1px solid rgba(255,43,122,.3);border-radius:999px;color:#ff4d95;background:rgba(255,43,122,.06);font-size:8px;font-weight:950;letter-spacing:1.6px}
.afm-shows-hero h1{margin:17px 0 9px;font-size:clamp(44px,7vw,86px);line-height:.94;font-weight:950;letter-spacing:-4px}
.afm-shows-hero h1 span{background:linear-gradient(90deg,#ff2b7a,#ba4cff,#5874ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.afm-shows-hero p{margin:0 auto;color:#8d95a3;font-size:13px;line-height:1.6}
.afm-shows-sync{display:inline-flex;align-items:center;gap:7px;margin-top:16px;color:#737c8b;font-size:7px;font-weight:900;letter-spacing:1.1px}
.afm-shows-sync i,.afm-show-feature--live .afm-show-feature-label i{width:7px;height:7px;border-radius:50%;background:#55ffac;box-shadow:0 0 13px rgba(85,255,172,.7)}
.afm-shows-featured{display:grid;grid-template-columns:1.25fr .75fr;gap:15px}
.afm-show-feature{position:relative;min-height:245px;padding:20px;border:1px solid rgba(255,255,255,.08);border-radius:21px;background:linear-gradient(145deg,rgba(255,255,255,.032),rgba(255,255,255,.012));overflow:hidden}
.afm-show-feature--live{background:radial-gradient(circle at 90% 0%,rgba(255,43,122,.14),transparent 43%),linear-gradient(145deg,rgba(255,255,255,.03),rgba(255,255,255,.01))}
.afm-show-feature-label{display:flex;align-items:center;gap:7px;color:#ff4c94;font-size:8px;font-weight:950;letter-spacing:1.2px;margin-bottom:15px}
.afm-show-feature img,.afm-show-art-placeholder{float:left;width:155px;height:155px;margin-right:19px;border-radius:17px;object-fit:cover}
.afm-show-art-placeholder{display:grid;place-items:center;background:linear-gradient(145deg,#1b1020,#0b1022);border:1px solid rgba(255,255,255,.08);font-weight:950;letter-spacing:2px;color:#ff3d88}
.afm-show-feature-copy{padding-top:8px}
.afm-show-feature-copy small{color:#7d8594;font-size:8px;font-weight:900;letter-spacing:1px}
.afm-show-feature-copy h2{margin:7px 0 5px;color:#fff;font-size:25px;line-height:1.08;font-weight:950;letter-spacing:-.8px}
.afm-show-feature-copy p{margin:0 0 15px;color:#89919f;font-size:10px}
.afm-show-feature-copy a{display:inline-flex;padding:10px 14px;border-radius:999px;background:linear-gradient(135deg,#ff176d,#ff3c8c);color:#fff!important;text-decoration:none!important;font-size:8px;font-weight:950;letter-spacing:.6px}
.afm-show-countdown{display:inline-flex;margin-top:11px;padding:8px 10px;border:1px solid rgba(255,255,255,.09);border-radius:999px;color:#b7bdc7;font-size:8px;font-weight:900;letter-spacing:.8px}
.afm-show-feature-copy--empty{padding:42px 10px 0}
.afm-shows-list-head{display:flex;justify-content:space-between;align-items:end;margin:32px 2px 12px}
.afm-shows-list-head span{color:#ff438d;font-size:7px;font-weight:950;letter-spacing:1.2px}
.afm-shows-list-head h2{margin:5px 0 0;color:#fff;font-size:19px;font-weight:950;letter-spacing:-.5px}
.afm-shows-auto{padding:7px 9px;border:1px solid rgba(85,255,172,.15);border-radius:999px;color:#62e9aa!important}
.afm-shows-list{display:grid;gap:7px}
.afm-show-row{display:grid;grid-template-columns:55px 100px 48px minmax(0,1fr) 90px;gap:13px;align-items:center;padding:11px 14px;border:1px solid rgba(255,255,255,.065);border-radius:14px;background:rgba(255,255,255,.018);transition:.2s ease}
.afm-show-row:hover{border-color:rgba(255,43,122,.19);transform:translateX(2px)}
.afm-show-date{text-align:center;border-right:1px solid rgba(255,255,255,.07)}
.afm-show-date small{display:block;color:#7f8794;font-size:7px;font-weight:900}
.afm-show-date strong{display:block;margin-top:2px;font-size:17px}
.afm-show-time{font-size:12px;font-weight:900}.afm-show-time span{display:block;color:#6f7784;font-size:7px;margin-top:3px}
.afm-show-mini-art,.afm-show-mini-art img{width:44px;height:44px;border-radius:10px;object-fit:cover}
.afm-show-mini-art{display:grid;place-items:center;background:#11121b;color:#ff3d88;font-size:7px;font-weight:950}
.afm-show-row-copy strong{display:block;font-size:11px}.afm-show-row-copy span{display:block;color:#747d8b;font-size:8px;margin-top:3px}
.afm-show-row-status{text-align:right}.afm-show-row-status span,.afm-show-row-status b{font-size:7px;font-weight:950;letter-spacing:.7px}
.afm-show-row-status span{color:#69717f}.afm-show-row-status b{color:#62f5ae}
.afm-shows-empty{padding:28px;text-align:center;border:1px dashed rgba(255,255,255,.1);border-radius:15px;color:#777f8d;font-size:10px}
@media(max-width:900px){.afm-shows-featured{grid-template-columns:1fr}.afm-show-row{grid-template-columns:48px 85px 44px 1fr}.afm-show-row-status{display:none}}
@media(max-width:620px){.afm-shows-experience{margin:10px 8px 24px;padding:29px 15px 20px;border-radius:20px}.afm-shows-hero h1{letter-spacing:-2px}.afm-show-feature img,.afm-show-art-placeholder{float:none;width:100%;height:auto;aspect-ratio:16/9;margin:0 0 15px}.afm-show-row{grid-template-columns:42px 68px 40px 1fr;gap:8px;padding:9px}.afm-show-time{font-size:10px}}


/* ======================================================
   V2.8.4 — SHOWS PAGE PREMIUM VISUAL UPGRADE
   ====================================================== */

.afm-shows-experience{
  padding:52px 36px 36px;
  border-radius:32px;
  border-color:rgba(255,255,255,.095);
  background:
    radial-gradient(circle at 50% -15%,rgba(255,43,122,.13),transparent 30%),
    radial-gradient(circle at 100% 100%,rgba(72,92,255,.10),transparent 32%),
    linear-gradient(125deg,rgba(3,4,11,.995),rgba(10,6,18,.985) 55%,rgba(3,6,15,.995));
  box-shadow:
    0 36px 100px rgba(0,0,0,.40),
    inset 0 1px 0 rgba(255,255,255,.025);
}

.afm-shows-hero{
  position:relative;
  padding-bottom:18px;
  margin-bottom:38px;
}
.afm-shows-hero:after{
  content:"";
  display:block;
  width:min(260px,55%);
  height:2px;
  margin:24px auto 0;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#ff2b7a,#7654ff,transparent);
  opacity:.72;
}
.afm-shows-kicker{
  padding:9px 14px;
  border-color:rgba(255,43,122,.38);
  background:
    linear-gradient(180deg,rgba(255,43,122,.09),rgba(255,43,122,.035));
  box-shadow:0 0 22px rgba(255,43,122,.06);
}
.afm-shows-hero h1{
  margin-top:20px;
  font-size:clamp(48px,7.3vw,96px);
  letter-spacing:-4.7px;
  text-shadow:0 12px 35px rgba(0,0,0,.35);
}
.afm-shows-hero p{
  max-width:680px;
  font-size:14px;
  color:#9ca4b2;
}
.afm-shows-sync{
  margin-top:18px;
  padding:8px 11px;
  border:1px solid rgba(85,255,172,.12);
  border-radius:999px;
  background:rgba(85,255,172,.025);
}

.afm-shows-featured{
  grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);
  gap:18px;
}
.afm-show-feature{
  min-height:290px;
  padding:24px;
  border-radius:24px;
  border-color:rgba(255,255,255,.095);
  box-shadow:
    0 18px 50px rgba(0,0,0,.20),
    inset 0 1px rgba(255,255,255,.025);
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.afm-show-feature:hover{
  transform:translateY(-3px);
}
.afm-show-feature--live{
  border-color:rgba(255,43,122,.19);
  background:
    radial-gradient(circle at 88% 0%,rgba(255,43,122,.20),transparent 39%),
    radial-gradient(circle at 15% 100%,rgba(102,73,255,.08),transparent 43%),
    linear-gradient(145deg,rgba(255,255,255,.034),rgba(255,255,255,.012));
}
.afm-show-feature--live:hover{
  border-color:rgba(255,43,122,.34);
  box-shadow:
    0 22px 55px rgba(0,0,0,.24),
    0 0 42px rgba(255,43,122,.07);
}
.afm-show-feature--next{
  border-color:rgba(92,104,255,.16);
  background:
    radial-gradient(circle at 80% 0%,rgba(72,92,255,.14),transparent 40%),
    linear-gradient(145deg,rgba(255,255,255,.03),rgba(255,255,255,.012));
}
.afm-show-feature--next:hover{
  border-color:rgba(92,104,255,.29);
}

.afm-show-feature-label{
  display:inline-flex;
  min-height:28px;
  align-items:center;
  padding:7px 10px;
  margin-bottom:18px;
  border:1px solid rgba(255,43,122,.20);
  border-radius:999px;
  background:rgba(255,43,122,.045);
}
.afm-show-feature--next .afm-show-feature-label{
  color:#9fa9ff;
  border-color:rgba(92,104,255,.20);
  background:rgba(92,104,255,.045);
}

.afm-show-feature img,
.afm-show-art-placeholder{
  width:185px;
  height:185px;
  margin-right:23px;
  border-radius:21px;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:
    0 20px 42px rgba(0,0,0,.34),
    0 0 30px rgba(255,43,122,.05);
}
.afm-show-feature--next img,
.afm-show-feature--next .afm-show-art-placeholder{
  width:145px;
  height:145px;
}
.afm-show-art-placeholder{
  background:
    radial-gradient(circle at 25% 20%,rgba(255,43,122,.18),transparent 40%),
    linear-gradient(145deg,#17101e,#0a0c18);
}

.afm-show-feature-copy{
  padding-top:15px;
}
.afm-show-feature-copy small{
  color:#9aa2af;
  font-size:8px;
}
.afm-show-feature-copy h2{
  margin:8px 0 7px;
  font-size:30px;
  letter-spacing:-1.15px;
}
.afm-show-feature--next .afm-show-feature-copy h2{
  font-size:24px;
}
.afm-show-feature-copy p{
  color:#8b93a1;
  font-size:11px;
  line-height:1.5;
}
.afm-show-feature-copy a{
  margin-top:3px;
  min-height:40px;
  align-items:center;
  padding:10px 15px;
  box-shadow:0 10px 26px rgba(255,43,122,.18);
  transition:.2s ease;
}
.afm-show-feature-copy a:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(255,43,122,.24);
}
.afm-show-countdown{
  margin-top:14px;
  padding:9px 12px;
  border-color:rgba(92,104,255,.18);
  background:rgba(92,104,255,.035);
  color:#c2c8ff;
}

.afm-shows-list-head{
  margin-top:40px;
  padding:0 3px;
}
.afm-shows-list-head h2{
  font-size:22px;
  letter-spacing:-.7px;
}
.afm-shows-auto{
  padding:8px 11px;
  background:rgba(85,255,172,.025);
}

.afm-shows-list{
  gap:9px;
}
.afm-show-row{
  min-height:76px;
  grid-template-columns:64px 115px 56px minmax(0,1fr) 105px;
  gap:15px;
  padding:12px 16px;
  border-radius:16px;
  border-color:rgba(255,255,255,.07);
  background:
    linear-gradient(90deg,rgba(255,255,255,.023),rgba(255,255,255,.010));
  box-shadow:inset 0 1px rgba(255,255,255,.018);
}
.afm-show-row:hover{
  transform:translateX(4px);
  border-color:rgba(255,43,122,.22);
  background:
    linear-gradient(90deg,rgba(255,43,122,.045),rgba(255,255,255,.012));
}
.afm-show-date{
  border-right:1px solid rgba(255,255,255,.075);
  padding-right:10px;
}
.afm-show-date small{
  color:#ff498f;
}
.afm-show-date strong{
  font-size:20px;
}
.afm-show-time{
  font-size:13px;
}
.afm-show-time span{
  color:#747d8a;
}
.afm-show-mini-art,
.afm-show-mini-art img{
  width:52px;
  height:52px;
  border-radius:12px;
}
.afm-show-mini-art{
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 8px 20px rgba(0,0,0,.24);
}
.afm-show-row-copy strong{
  font-size:12px;
  line-height:1.3;
}
.afm-show-row-copy span{
  margin-top:4px;
  font-size:8px;
}
.afm-show-row-status span,
.afm-show-row-status b{
  display:inline-flex;
  justify-content:center;
  min-width:78px;
  padding:7px 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.07);
}
.afm-show-row-status span{
  background:rgba(255,255,255,.018);
}
.afm-show-row-status b{
  color:#67f7b3;
  border-color:rgba(85,255,172,.18);
  background:rgba(85,255,172,.04);
  box-shadow:0 0 18px rgba(85,255,172,.05);
}

.afm-shows-empty{
  padding:36px;
  background:rgba(255,255,255,.012);
}

@media(max-width:1050px){
  .afm-shows-featured{grid-template-columns:1fr}
  .afm-show-feature--next img,
  .afm-show-feature--next .afm-show-art-placeholder{
    width:165px;height:165px;
  }
}
@media(max-width:900px){
  .afm-show-row{
    grid-template-columns:52px 90px 50px minmax(0,1fr);
  }
}
@media(max-width:620px){
  .afm-shows-experience{
    margin:10px 8px 24px;
    padding:30px 15px 20px;
    border-radius:22px;
  }
  .afm-shows-hero h1{
    letter-spacing:-2.4px;
  }
  .afm-show-feature{
    min-height:0;
    padding:18px;
  }
  .afm-show-feature img,
  .afm-show-art-placeholder,
  .afm-show-feature--next img,
  .afm-show-feature--next .afm-show-art-placeholder{
    float:none;
    width:100%;
    height:auto;
    aspect-ratio:1/1;
    margin:0 0 16px;
  }
  .afm-show-feature-copy h2,
  .afm-show-feature--next .afm-show-feature-copy h2{
    font-size:24px;
  }
  .afm-shows-list-head{
    align-items:flex-start;
    gap:12px;
    flex-direction:column;
  }
  .afm-show-row{
    grid-template-columns:46px 67px 44px minmax(0,1fr);
    gap:9px;
    padding:10px;
  }
  .afm-show-mini-art,
  .afm-show-mini-art img{
    width:44px;height:44px;
  }
}


/* ======================================================
   V2.8.6 — BIGGER UP NEXT + CLEAN AIRPLAY FM BRANDING
   ====================================================== */

/* Give ON AIR and UP NEXT equal visual importance */
.afm-shows-featured{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

/* UP NEXT gets the same large artwork treatment as ON AIR NOW */
.afm-show-feature--next img,
.afm-show-feature--next .afm-show-art-placeholder{
  width:185px;
  height:185px;
  margin-right:23px;
  border-radius:21px;
  box-shadow:
    0 20px 42px rgba(0,0,0,.34),
    0 0 34px rgba(92,104,255,.08);
}

/* Make the upcoming show's time/date a focal point */
.afm-show-feature--next .afm-show-feature-copy small{
  display:inline-flex;
  align-items:center;
  min-height:31px;
  padding:7px 11px;
  margin-bottom:4px;
  border:1px solid rgba(92,104,255,.22);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(92,104,255,.10),rgba(170,70,255,.055));
  color:#cbd0ff;
  font-size:10px;
  font-weight:950;
  letter-spacing:1px;
  box-shadow:0 0 22px rgba(92,104,255,.05);
}

.afm-show-feature--next .afm-show-feature-copy h2{
  margin-top:9px;
  font-size:29px;
  line-height:1.05;
  letter-spacing:-1px;
}

/* Stronger UP NEXT label */
.afm-show-feature--next .afm-show-feature-label{
  padding:8px 12px;
  color:#c0c6ff;
  border-color:rgba(92,104,255,.28);
  background:linear-gradient(135deg,rgba(92,104,255,.10),rgba(170,70,255,.05));
  box-shadow:0 0 24px rgba(92,104,255,.05);
}

/* Countdown feels like a proper upcoming-show indicator */
.afm-show-feature--next .afm-show-countdown{
  min-height:34px;
  align-items:center;
  padding:9px 13px;
  color:#d5d8ff;
  font-size:9px;
  border-color:rgba(92,104,255,.24);
  background:linear-gradient(135deg,rgba(92,104,255,.08),rgba(170,70,255,.04));
}

/* Cleaner neutral sync indicator: no third-party branding */
.afm-shows-sync{
  color:#828b99;
}
.afm-shows-sync i{
  background:#55ffac;
}

@media(max-width:1050px){
  .afm-shows-featured{
    grid-template-columns:1fr;
  }
  .afm-show-feature--next img,
  .afm-show-feature--next .afm-show-art-placeholder{
    width:185px;
    height:185px;
  }
}

@media(max-width:620px){
  .afm-show-feature--next img,
  .afm-show-feature--next .afm-show-art-placeholder{
    width:100%;
    height:auto;
    aspect-ratio:1/1;
    margin:0 0 16px;
  }
  .afm-show-feature--next .afm-show-feature-copy h2{
    font-size:25px;
  }
}


/* V2.8.8 — conservative Contact header/menu protection */
body.afm-contact-page-v271 header.afm-old-contact-content-hidden,
body.afm-contact-page-v271 nav.afm-old-contact-content-hidden,
body.afm-contact-page-v271 footer.afm-old-contact-content-hidden,
body.afm-contact-page-v271 .elementor-location-header.afm-old-contact-content-hidden,
body.afm-contact-page-v271 .elementor-location-footer.afm-old-contact-content-hidden{
  display:block!important;
}


/* ======================================================
   V2.8.9 — self-healing persistent player
   ====================================================== */
#afm-persistent-player-host{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
#afm-persistent-player-host > #afm-next-top-mount{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
#afm-next-top-mount.is-persistent-mounted{
  pointer-events:auto!important;
}

/* Contact/Shows page-hiding rules are never allowed to swallow the player host. */
#afm-persistent-player-host.afm-old-contact-content-hidden,
#afm-persistent-player-host.afm-old-shows-content-hidden,
#afm-next-top-mount.afm-old-contact-content-hidden,
#afm-next-top-mount.afm-old-shows-content-hidden{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Protect the persistent player from legacy-player kill classes. */
#afm-persistent-player-host .afm-v2,
#afm-persistent-player-host .afm-v2 *,
#afm-persistent-player-host #afm-next-top-mount{
  visibility:visible!important;
}


/* ======================================================
   V2.9.0 — canonical player mount
   ====================================================== */

/* The canonical mount always exists in HTML. JS controls which pages show it. */
#afm-persistent-player-host.afm-player-page-active{
  display:block!important;
}
#afm-persistent-player-host.afm-player-page-inactive{
  display:none!important;
}
#afm-next-top-mount[hidden]{
  display:none!important;
}

/* Home, Contact and Shows canonical player cannot be removed by Elementor content rules. */
#afm-persistent-player-host.afm-player-page-active > #afm-next-top-mount:not([hidden]){
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  height:auto!important;
  max-height:none!important;
}


/* V2.9.1 — force canonical player visible whenever Shows module exists */
body:has(#afm-shows-experience) #afm-persistent-player-host,
body:has(.afm-shows-experience) #afm-persistent-player-host{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
body:has(#afm-shows-experience) #afm-next-top-mount,
body:has(.afm-shows-experience) #afm-next-top-mount{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  height:auto!important;
  max-height:none!important;
}


/* ======================================================
   V2.9.2 — unified content width
   Contact now aligns with Player + Shows
   ====================================================== */

/* Same desktop canvas as the Shows experience */
.afm-contact-experience{
  width:calc(100% - 0px)!important;
  max-width:1440px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Keep the inner contact layout using the full premium panel width */
.afm-contact-experience > *{
  box-sizing:border-box;
}

/* Elementor/content wrappers must not artificially narrow Contact */
body.afm-contact-page-v271 main,
body.afm-contact-page-v271 .site-main,
body.afm-contact-page-v271 #primary,
body.afm-contact-page-v271 #content{
  max-width:none;
}

/* Match the same outer breathing room as Shows on smaller screens */
@media(max-width:1480px){
  .afm-contact-experience{
    width:calc(100% - 32px)!important;
  }
}
@media(max-width:620px){
  .afm-contact-experience{
    width:calc(100% - 16px)!important;
    margin-left:8px!important;
    margin-right:8px!important;
  }
}


/* ======================================================
   V2.9.8 — exact iPhone action cleanup
   Screenshot-confirmed: remove SHARE + SOCIAL CARD on phone
   ====================================================== */
@media (max-width: 767px) {

  /* These are the two blank rounded bars visible under LISTEN LIVE on iPhone. */
  #afm-next-top-mount .afm-actions-premium > .afm-share,
  #afm-next-top-mount .afm-actions-premium > .afm-card-btn,
  #afm-persistent-player-host .afm-actions-premium > .afm-share,
  #afm-persistent-player-host .afm-actions-premium > .afm-card-btn {
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
  }

  /* The mobile action area now contains LISTEN LIVE only. */
  #afm-next-top-mount .afm-actions-premium,
  #afm-persistent-player-host .afm-actions-premium {
    display:block!important;
    grid-template-columns:none!important;
    gap:0!important;
  }

  #afm-next-top-mount .afm-actions-premium > .afm-play,
  #afm-persistent-player-host .afm-actions-premium > .afm-play {
    display:grid!important;
    width:100%!important;
    margin:0!important;
  }
}


/* ======================================================
   V2.9.9 — mobile LIVE badge above artwork
   Keep cover artwork fully readable
   ====================================================== */
@media (max-width: 767px) {
  /* Let artwork wrapper reserve a clean line above the cover. */
  #afm-next-top-mount .afm-art-wrap,
  #afm-persistent-player-host .afm-art-wrap {
    overflow:visible!important;
  }

  /* Move the LIVE pill away from artwork into the space above it. */
  #afm-next-top-mount .afm-live-badge,
  #afm-persistent-player-host .afm-live-badge {
    top:-44px!important;
    left:0!important;
    right:auto!important;
    bottom:auto!important;
    z-index:8!important;
    margin:0!important;
    box-shadow:0 8px 24px rgba(0,0,0,.22)!important;
  }

  /* Add breathing room so the moved badge never overlaps preceding content. */
  #afm-next-top-mount .afm-art-wrap,
  #afm-persistent-player-host .afm-art-wrap {
    margin-top:48px!important;
  }
}


/* ======================================================
   V2.10.0 — LIVE badge above artwork on ALL screen sizes
   ====================================================== */

/* Artwork must remain completely unobstructed. */
#afm-next-top-mount .afm-art-wrap,
#afm-persistent-player-host .afm-art-wrap {
  overflow:visible!important;
  margin-top:48px!important;
}

/* Move LIVE badge into its own visual line above the cover. */
#afm-next-top-mount .afm-live-badge,
#afm-persistent-player-host .afm-live-badge {
  top:-44px!important;
  left:0!important;
  right:auto!important;
  bottom:auto!important;
  z-index:8!important;
  margin:0!important;
  box-shadow:0 8px 24px rgba(0,0,0,.22)!important;
}

/* Slightly more breathing room on larger layouts. */
@media (min-width: 768px) {
  #afm-next-top-mount .afm-art-wrap,
  #afm-persistent-player-host .afm-art-wrap {
    margin-top:52px!important;
  }

  #afm-next-top-mount .afm-live-badge,
  #afm-persistent-player-host .afm-live-badge {
    top:-48px!important;
  }
}


/* ======================================================
   V2.10.1 — exact LIVE badge fix
   The actual badge class is .afm-live-dot
   ====================================================== */

/* Reserve a clean line above the artwork on every device. */
#afm-next-top-mount .afm-art-stage,
#afm-persistent-player-host .afm-art-stage {
  padding-top:46px!important;
}

/* Move the real LIVE badge out of the cover image. */
#afm-next-top-mount .afm-art-wrap .afm-live-dot,
#afm-persistent-player-host .afm-art-wrap .afm-live-dot {
  position:absolute!important;
  top:-38px!important;
  left:0!important;
  right:auto!important;
  bottom:auto!important;
  z-index:20!important;
  margin:0!important;
  transform:none!important;
  pointer-events:none!important;
}

/* Remove older workaround spacing so we don't create a double gap. */
#afm-next-top-mount .afm-art-wrap,
#afm-persistent-player-host .afm-art-wrap {
  margin-top:0!important;
  overflow:visible!important;
}

@media (max-width:767px){
  #afm-next-top-mount .afm-art-stage,
  #afm-persistent-player-host .afm-art-stage {
    padding-top:44px!important;
  }
  #afm-next-top-mount .afm-art-wrap .afm-live-dot,
  #afm-persistent-player-host .afm-art-wrap .afm-live-dot {
    top:-36px!important;
  }
}


/* ======================================================
   V3.0.0 — AIRPLAY FM PLATFORM INTELLIGENCE
   Smart Show Mode + Pulse™ + Automatic Top 20
   ====================================================== */

/* ---------- SMART SHOW MODE ---------- */
.afm-smart-show-mode{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:11px;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin:10px 0 12px;
  padding:9px 12px;
  border:1px solid rgba(255,43,122,.25);
  border-radius:14px;
  background:
    linear-gradient(135deg,rgba(255,43,122,.085),rgba(105,74,255,.045));
  box-shadow:0 8px 24px rgba(0,0,0,.13);
}
.afm-smart-show-mode[hidden]{display:none!important}
.afm-smart-show-live{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#ff4d95;
  font-size:7px;
  font-weight:950;
  letter-spacing:1px;
  white-space:nowrap;
}
.afm-smart-show-live i{
  width:7px;height:7px;border-radius:50%;
  background:#ff2b7a;
  box-shadow:0 0 13px rgba(255,43,122,.8);
  animation:afmShowLivePulse 1.4s ease-in-out infinite;
}
.afm-smart-show-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.afm-smart-show-copy strong{
  max-width:100%;
  color:#fff;
  font-size:10px;
  line-height:1.15;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.afm-smart-show-copy small{
  color:#8d95a3;
  font-size:7px;
  font-weight:800;
  letter-spacing:.45px;
}
@keyframes afmShowLivePulse{
  0%,100%{opacity:.55;transform:scale(.9)}
  50%{opacity:1;transform:scale(1.15)}
}

/* ---------- AIRPLAY FM PULSE™ ---------- */
.afm-pulse-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:#9aa2af;
  font-size:7px;
  font-weight:900;
  letter-spacing:.65px;
  transition:.2s ease;
}
.afm-pulse-badge i{
  width:6px;height:6px;border-radius:50%;
  background:#7b8492;
}
.afm-pulse-badge b{font-weight:950;color:#cbd0d9}
.afm-pulse-badge[data-afm-pulse="building"]{
  border-color:rgba(168,92,255,.22);
  background:rgba(168,92,255,.045);
}
.afm-pulse-badge[data-afm-pulse="building"] i{background:#a85cff;box-shadow:0 0 10px rgba(168,92,255,.55)}
.afm-pulse-badge[data-afm-pulse="rising"]{
  border-color:rgba(82,109,255,.26);
  background:rgba(82,109,255,.055);
  color:#b9c0ff;
}
.afm-pulse-badge[data-afm-pulse="rising"] i{background:#526dff;box-shadow:0 0 11px rgba(82,109,255,.65)}
.afm-pulse-badge[data-afm-pulse="hot"]{
  border-color:rgba(255,108,62,.3);
  background:rgba(255,108,62,.06);
  color:#ffd1c1;
}
.afm-pulse-badge[data-afm-pulse="hot"] i{background:#ff6c3e;box-shadow:0 0 12px rgba(255,108,62,.72)}
.afm-pulse-badge[data-afm-pulse="breakout"]{
  border-color:rgba(255,43,122,.38);
  background:linear-gradient(135deg,rgba(255,43,122,.11),rgba(129,75,255,.06));
  color:#ffd0e3;
  box-shadow:0 0 22px rgba(255,43,122,.07);
}
.afm-pulse-badge[data-afm-pulse="breakout"] i{
  background:#ff2b7a;
  box-shadow:0 0 14px rgba(255,43,122,.85);
  animation:afmShowLivePulse 1.1s ease-in-out infinite;
}

/* ---------- AUTOMATIC TOP 20 ---------- */
.afm-charts-experience{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  max-width:1440px;
  margin:22px auto 36px;
  padding:50px 34px 34px;
  border:1px solid rgba(255,255,255,.085);
  border-radius:30px;
  color:#fff;
  background:
    radial-gradient(circle at 50% -15%,rgba(255,43,122,.14),transparent 31%),
    radial-gradient(circle at 100% 100%,rgba(76,94,255,.11),transparent 33%),
    linear-gradient(125deg,#03040b,#0a0612 55%,#030610);
  box-shadow:0 34px 95px rgba(0,0,0,.37);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.afm-charts-glow{position:absolute;border-radius:50%;filter:blur(95px);opacity:.13;z-index:-1}
.afm-charts-glow-a{width:520px;height:520px;background:#ff2b7a;left:20%;top:-390px}
.afm-charts-glow-b{width:520px;height:520px;background:#526dff;right:-250px;bottom:-350px}
.afm-charts-hero{text-align:center;max-width:800px;margin:0 auto 36px}
.afm-charts-kicker{
  display:inline-flex;padding:8px 12px;border-radius:999px;
  border:1px solid rgba(255,43,122,.32);
  background:rgba(255,43,122,.055);
  color:#ff4d95;font-size:8px;font-weight:950;letter-spacing:1.5px
}
.afm-charts-hero h1{
  margin:17px 0 9px;
  color:#fff;
  font-size:clamp(54px,8vw,102px);
  line-height:.9;
  font-weight:950;
  letter-spacing:-5px;
}
.afm-charts-hero h1 span{
  background:linear-gradient(90deg,#ff2b7a,#b74cff,#5975ff);
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.afm-charts-hero p{margin:0 auto;max-width:680px;color:#939ba9;font-size:13px;line-height:1.6}
.afm-charts-live{
  display:inline-flex;align-items:center;gap:7px;margin-top:17px;
  padding:7px 10px;border:1px solid rgba(85,255,172,.12);border-radius:999px;
  color:#77818f;font-size:7px;font-weight:900;letter-spacing:1px
}
.afm-charts-live i{width:6px;height:6px;border-radius:50%;background:#55ffac;box-shadow:0 0 12px rgba(85,255,172,.65)}

.afm-chart-podium{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:end;
  margin-bottom:38px;
}
.afm-chart-podium-card{
  position:relative;
  min-height:320px;
  padding:18px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.03),rgba(255,255,255,.012));
  box-shadow:0 18px 48px rgba(0,0,0,.20);
}
.afm-chart-podium-card--1{
  transform:translateY(-12px);
  border-color:rgba(255,43,122,.30);
  background:
    radial-gradient(circle at 80% 0%,rgba(255,43,122,.15),transparent 38%),
    linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
}
.afm-chart-podium-rank{
  position:absolute;top:14px;left:14px;z-index:3;
  display:grid;place-items:center;min-width:42px;height:34px;padding:0 9px;
  border-radius:999px;background:rgba(5,6,12,.82);border:1px solid rgba(255,255,255,.12);
  color:#fff;font-size:11px;font-weight:950
}
.afm-chart-podium-art,.afm-chart-podium-art img,.afm-chart-art-placeholder{
  width:100%;aspect-ratio:1/1;border-radius:17px;object-fit:cover
}
.afm-chart-podium-art{overflow:hidden;margin-bottom:14px;background:#0c0d16}
.afm-chart-art-placeholder{display:grid;place-items:center;color:#ff3f8c;font-weight:950;letter-spacing:2px}
.afm-chart-pulse{
  display:inline-flex;padding:6px 8px;border-radius:999px;
  border:1px solid rgba(255,43,122,.18);background:rgba(255,43,122,.04);
  color:#ff5a9d;font-size:7px;font-weight:950;letter-spacing:.7px
}
.afm-chart-podium-card h2{margin:9px 0 10px;color:#fff;font-size:15px;line-height:1.25;font-weight:950}
.afm-chart-podium-meta{display:flex;justify-content:space-between;gap:10px;color:#77808e;font-size:7px;font-weight:850;letter-spacing:.45px}
.afm-chart-podium-meta b{color:#fff}

.afm-chart-table-head{display:flex;justify-content:space-between;align-items:end;margin:0 3px 12px}
.afm-chart-table-head>div>span{color:#ff438d;font-size:7px;font-weight:950;letter-spacing:1.2px}
.afm-chart-table-head h2{margin:5px 0 0;color:#fff;font-size:21px;font-weight:950;letter-spacing:-.6px}
.afm-chart-period{padding:7px 10px;border:1px solid rgba(255,255,255,.08);border-radius:999px;color:#757e8c;font-size:7px;font-weight:900;letter-spacing:.8px}
.afm-chart-list{display:grid;gap:8px}
.afm-chart-list-row{
  display:grid;
  grid-template-columns:48px 54px minmax(0,1fr) 92px 48px;
  gap:13px;
  align-items:center;
  min-height:72px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:15px;
  background:rgba(255,255,255,.017);
  transition:.2s ease;
}
.afm-chart-list-row:hover{transform:translateX(3px);border-color:rgba(255,43,122,.20);background:rgba(255,43,122,.025)}
.afm-chart-list-rank{font-size:15px;font-weight:950;color:#fff}
.afm-chart-list-art,.afm-chart-list-art img{width:50px;height:50px;border-radius:11px;object-fit:cover}
.afm-chart-list-art{display:grid;place-items:center;background:#0e1019;color:#ff3f8c;font-size:7px;font-weight:950}
.afm-chart-list-copy strong{display:block;color:#fff;font-size:11px;line-height:1.25}
.afm-chart-list-copy span{display:block;margin-top:4px;color:#707987;font-size:7px;font-weight:800}
.afm-chart-list-status{
  justify-self:end;
  min-width:74px;
  padding:6px 8px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  text-align:center;
  color:#8d95a3;
  font-size:7px;
  font-weight:950;
  letter-spacing:.55px
}
.afm-chart-list-status--hot{color:#ffd2c2;border-color:rgba(255,108,62,.24);background:rgba(255,108,62,.04)}
.afm-chart-list-status--breakout{color:#ffd0e2;border-color:rgba(255,43,122,.30);background:rgba(255,43,122,.055)}
.afm-chart-list-status--rising{color:#c4c9ff;border-color:rgba(82,109,255,.22);background:rgba(82,109,255,.04)}
.afm-chart-list-signal{
  display:grid;place-items:center;width:42px;height:42px;border-radius:50%;
  border:1px solid rgba(255,43,122,.18);
  background:linear-gradient(145deg,rgba(255,43,122,.07),rgba(89,98,255,.04));
  color:#fff;font-size:11px;font-weight:950
}
.afm-charts-empty{padding:30px;text-align:center;border:1px dashed rgba(255,255,255,.10);border-radius:15px;color:#747d8a;font-size:10px}

@media(max-width:900px){
  .afm-chart-podium{grid-template-columns:1fr}
  .afm-chart-podium-card--1{transform:none}
  .afm-chart-podium-card{display:grid;grid-template-columns:150px minmax(0,1fr);column-gap:18px;min-height:0}
  .afm-chart-podium-art{grid-row:1/6}
  .afm-chart-podium-rank{top:28px;left:28px}
  .afm-chart-list-row{grid-template-columns:42px 50px minmax(0,1fr) 48px}
  .afm-chart-list-status{display:none}
}
@media(max-width:620px){
  .afm-charts-experience{margin:10px 8px 24px;padding:30px 15px 20px;border-radius:21px}
  .afm-charts-hero h1{letter-spacing:-2.8px}
  .afm-chart-podium-card{display:block}
  .afm-chart-podium-art{width:100%}
  .afm-chart-podium-rank{top:28px;left:28px}
  .afm-chart-list-row{grid-template-columns:34px 45px minmax(0,1fr) 42px;gap:8px;padding:9px}
  .afm-chart-list-art,.afm-chart-list-art img{width:43px;height:43px}
  .afm-chart-list-copy span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
  .afm-chart-table-head{align-items:flex-start;flex-direction:column;gap:10px}
  .afm-smart-show-mode{width:100%;box-sizing:border-box}
}
@media(prefers-reduced-motion:reduce){
  .afm-smart-show-live i,.afm-pulse-badge[data-afm-pulse="breakout"] i{animation:none}
}


/* ======================================================
   V3.0.1 — CHARTS POLISH
   Better podium + Spotify + cleaner chart list
   ====================================================== */

/* Real podium: #1 center and elevated, #2 left, #3 right */
.afm-chart-podium{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1.08fr) minmax(0,1fr)!important;
  grid-template-areas:"second first third";
  gap:18px!important;
  align-items:end!important;
  max-width:1180px;
  margin:0 auto 44px!important;
}

.afm-chart-podium-card{
  display:flex!important;
  flex-direction:column!important;
  min-width:0;
  min-height:0!important;
  padding:18px!important;
}

.afm-chart-podium-card--1{
  grid-area:first;
  transform:translateY(-18px)!important;
  border-color:rgba(255,43,122,.36)!important;
  box-shadow:
    0 26px 70px rgba(0,0,0,.28),
    0 0 40px rgba(255,43,122,.08)!important;
}

.afm-chart-podium-card--2{
  grid-area:second;
}

.afm-chart-podium-card--3{
  grid-area:third;
}

.afm-chart-podium-card--1 .afm-chart-podium-art{
  transform:scale(1.015);
}

.afm-chart-podium-card h2{
  min-height:38px;
  margin-top:11px!important;
}

.afm-chart-podium-meta{
  margin-top:auto;
}

/* Spotify buttons */
.afm-chart-spotify{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:36px;
  border:1px solid rgba(29,185,84,.28);
  border-radius:999px;
  background:rgba(29,185,84,.055);
  color:#d7ffe4!important;
  text-decoration:none!important;
  font-size:7px;
  font-weight:950;
  letter-spacing:.65px;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.afm-chart-spotify:hover{
  transform:translateY(-2px);
  border-color:rgba(29,185,84,.50);
  background:rgba(29,185,84,.10);
  box-shadow:0 10px 24px rgba(29,185,84,.09);
}
.afm-chart-spotify-icon{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#1db954;
  color:transparent;
  box-shadow:0 0 12px rgba(29,185,84,.55);
}
.afm-chart-spotify--podium{
  width:100%;
  margin-top:14px;
}
.afm-chart-spotify--row{
  min-width:82px;
  padding:7px 10px;
}

/* Add Spotify column to chart rows */
.afm-chart-list-row{
  grid-template-columns:48px 54px minmax(0,1fr) 88px 92px 48px!important;
}

/* Balance image/card heights */
.afm-chart-podium-art{
  flex:0 0 auto;
}
.afm-chart-podium-card .afm-chart-podium-meta{
  min-height:22px;
}

/* Responsive */
@media(max-width:980px){
  .afm-chart-podium{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "first"
      "second"
      "third";
    max-width:680px;
  }

  .afm-chart-podium-card--1{
    transform:none!important;
  }

  .afm-chart-podium-card{
    display:grid!important;
    grid-template-columns:160px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto auto 1fr!important;
    column-gap:18px!important;
  }

  .afm-chart-podium-art{
    grid-column:1;
    grid-row:1 / 7;
    margin-bottom:0!important;
  }

  .afm-chart-podium-card .afm-chart-podium-rank{
    top:30px!important;
    left:30px!important;
  }

  .afm-chart-podium-card h2,
  .afm-chart-podium-card .afm-chart-pulse,
  .afm-chart-podium-card .afm-chart-podium-meta,
  .afm-chart-podium-card .afm-chart-spotify{
    grid-column:2;
  }

  .afm-chart-podium-card .afm-chart-spotify{
    align-self:end;
  }

  .afm-chart-list-row{
    grid-template-columns:42px 50px minmax(0,1fr) 76px 48px!important;
  }

  .afm-chart-list-status{
    display:none!important;
  }
}

@media(max-width:650px){
  .afm-chart-podium-card{
    display:block!important;
  }

  .afm-chart-podium-art{
    width:100%!important;
    margin-bottom:14px!important;
  }

  .afm-chart-list-row{
    grid-template-columns:34px 44px minmax(0,1fr) 42px!important;
  }

  .afm-chart-spotify--row{
    display:none!important;
  }

  .afm-chart-list-status{
    display:none!important;
  }
}


/* ======================================================
   V3.0.2 — EXCLUSIVE FEATURED TOP 3 STRIP
   Replaces oversized podium with elegant editorial strip
   ====================================================== */

/* Hide old podium styling if cached markup/classes appear. */
.afm-chart-podium{
  display:none!important;
}

.afm-chart-featured{
  max-width:1180px;
  margin:0 auto 34px;
  padding:16px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:20px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.022),rgba(255,255,255,.010));
  box-shadow:
    0 16px 42px rgba(0,0,0,.18),
    inset 0 1px rgba(255,255,255,.02);
}

.afm-chart-featured-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 4px 11px;
  border-bottom:1px solid rgba(255,255,255,.055);
}
.afm-chart-featured-head span{
  color:#fff;
  font-size:8px;
  font-weight:950;
  letter-spacing:1.35px;
}
.afm-chart-featured-head small{
  color:#737c89;
  font-size:7px;
  font-weight:900;
  letter-spacing:1px;
}

.afm-chart-featured-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding-top:12px;
}

.afm-chart-featured-item{
  position:relative;
  display:grid;
  grid-template-columns:34px 74px minmax(0,1fr) 32px;
  gap:11px;
  align-items:center;
  min-height:94px;
  padding:10px 11px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:14px;
  background:rgba(255,255,255,.013);
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.afm-chart-featured-item:hover{
  transform:translateY(-2px);
  border-color:rgba(255,43,122,.16);
  background:rgba(255,43,122,.018);
}

/* #1 is premium, but restrained */
.afm-chart-featured-item--1{
  border-color:rgba(255,43,122,.16);
  background:
    linear-gradient(145deg,rgba(255,43,122,.035),rgba(255,255,255,.012));
}
.afm-chart-featured-item--1:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:2px;
  border-radius:14px 0 0 14px;
  background:linear-gradient(180deg,#ff2b7a,#7754ff);
}

.afm-chart-featured-rank{
  color:#7a8390;
  font-size:13px;
  font-weight:950;
  letter-spacing:-.4px;
  text-align:center;
}
.afm-chart-featured-item--1 .afm-chart-featured-rank{
  color:#fff;
}

.afm-chart-featured-art,
.afm-chart-featured-art img,
.afm-chart-featured-art .afm-chart-art-placeholder{
  width:72px;
  height:72px;
  border-radius:11px;
  object-fit:cover;
}
.afm-chart-featured-art{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.075);
  background:#0c0e16;
  box-shadow:0 9px 20px rgba(0,0,0,.20);
}

.afm-chart-featured-copy{
  min-width:0;
}
.afm-chart-featured-status{
  display:inline-flex;
  margin-bottom:5px;
  color:#8e97a5;
  font-size:6px;
  font-weight:950;
  letter-spacing:.8px;
}
.afm-chart-featured-item--1 .afm-chart-featured-status{
  color:#ff579b;
}
.afm-chart-featured-copy strong{
  display:block;
  overflow:hidden;
  color:#fff;
  font-size:10px;
  line-height:1.25;
  font-weight:950;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.afm-chart-featured-copy small{
  display:block;
  margin-top:5px;
  overflow:hidden;
  color:#68717e;
  font-size:6.5px;
  font-weight:800;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.afm-chart-featured-spotify{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border:1px solid rgba(29,185,84,.18);
  border-radius:50%;
  background:rgba(29,185,84,.035);
  text-decoration:none!important;
  transition:.18s ease;
}
.afm-chart-featured-spotify:hover{
  transform:scale(1.06);
  border-color:rgba(29,185,84,.42);
  background:rgba(29,185,84,.08);
}

@media(max-width:1050px){
  .afm-chart-featured-strip{
    grid-template-columns:1fr;
  }
  .afm-chart-featured-item{
    grid-template-columns:38px 76px minmax(0,1fr) 34px;
  }
}

@media(max-width:620px){
  .afm-chart-featured{
    padding:12px;
    margin-bottom:26px;
  }
  .afm-chart-featured-item{
    grid-template-columns:30px 60px minmax(0,1fr) 30px;
    gap:8px;
    min-height:78px;
    padding:8px;
  }
  .afm-chart-featured-art,
  .afm-chart-featured-art img,
  .afm-chart-featured-art .afm-chart-art-placeholder{
    width:58px;
    height:58px;
  }
  .afm-chart-featured-copy strong{
    font-size:9px;
  }
}


/* ======================================================
   V3.1.0 — REAL CHART HISTORY + RADIO AIRPLAY
   ====================================================== */

.afm-chart-list-row{
  grid-template-columns:48px 54px minmax(0,1fr) 68px 88px 92px 48px!important;
}

.afm-chart-movement{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  min-height:30px;
  padding:6px 8px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:999px;
  background:rgba(255,255,255,.018);
  color:#7d8694;
  font-size:7px;
  font-weight:950;
  letter-spacing:.45px;
}
.afm-chart-movement--up{
  color:#71f0b3;
  border-color:rgba(85,255,172,.18);
  background:rgba(85,255,172,.035);
}
.afm-chart-movement--down{
  color:#ff9aab;
  border-color:rgba(255,95,125,.17);
  background:rgba(255,95,125,.03);
}
.afm-chart-movement--new{
  color:#fff;
  border-color:rgba(255,43,122,.28);
  background:linear-gradient(135deg,rgba(255,43,122,.10),rgba(111,76,255,.05));
}
.afm-chart-movement--re-entry{
  color:#cbd0ff;
  border-color:rgba(92,104,255,.24);
  background:rgba(92,104,255,.045);
}
.afm-chart-movement--same{
  color:#737c8a;
}

@media(max-width:1100px){
  .afm-chart-list-row{
    grid-template-columns:42px 50px minmax(0,1fr) 60px 80px 48px!important;
  }
  .afm-chart-list-status{
    display:none!important;
  }
}

@media(max-width:720px){
  .afm-chart-list-row{
    grid-template-columns:34px 44px minmax(0,1fr) 52px 42px!important;
  }
  .afm-chart-spotify--row{
    display:none!important;
  }
  .afm-chart-list-status{
    display:none!important;
  }
  .afm-chart-movement{
    min-width:46px;
    padding:5px 6px;
  }
}

/* V3.1.2 — Pulse is recent momentum, Signal remains overall score */
.afm-pulse-badge[data-afm-pulse="discovery"],.afm-pulse-badge[data-afm-pulse="new"],.afm-pulse-badge[data-afm-pulse="steady"]{color:#b4bcc8;border-color:rgba(255,255,255,.11);background:rgba(255,255,255,.025)}
.afm-pulse-badge[data-afm-pulse="discovery"] i,.afm-pulse-badge[data-afm-pulse="new"] i,.afm-pulse-badge[data-afm-pulse="steady"] i{background:#929ba8;box-shadow:0 0 10px rgba(146,155,168,.35)}
.afm-pulse-badge[data-afm-pulse="gaining"]{color:#cbd3ff;border-color:rgba(105,126,255,.24);background:rgba(105,126,255,.05)}
.afm-pulse-badge[data-afm-pulse="gaining"] i{background:#697eff;box-shadow:0 0 11px rgba(105,126,255,.55)}
.afm-pulse-badge[data-afm-pulse="rising"]{color:#decfff;border-color:rgba(164,92,255,.29);background:rgba(164,92,255,.06)}
.afm-pulse-badge[data-afm-pulse="rising"] i{background:#a45cff;box-shadow:0 0 13px rgba(164,92,255,.68);animation:afmShowLivePulse 1.25s ease-in-out infinite}


/* ======================================================
   V3.1.3 — remove default WP/Elementor page titles
   Only on Shows and Charts
   ====================================================== */

/* Modern browsers: detect the actual Airplay FM module on the page */
body:has(#afm-shows-experience) .entry-title,
body:has(#afm-shows-experience) .page-title,
body:has(#afm-shows-experience) .elementor-page-title,
body:has(#afm-shows-experience) .elementor-widget-theme-post-title,
body:has(#afm-shows-experience) h1.entry-title,
body:has(#afm-charts-experience) .entry-title,
body:has(#afm-charts-experience) .page-title,
body:has(#afm-charts-experience) .elementor-page-title,
body:has(#afm-charts-experience) .elementor-widget-theme-post-title,
body:has(#afm-charts-experience) h1.entry-title {
  display:none!important;
  margin:0!important;
  padding:0!important;
  height:0!important;
  min-height:0!important;
}

/* WordPress body-class fallback */
body.page-slug-shows .entry-title,
body.page-slug-shows .page-title,
body.page-slug-charts .entry-title,
body.page-slug-charts .page-title,
body.page-shows .entry-title,
body.page-charts .entry-title {
  display:none!important;
}

/* Remove leftover title spacing above the Airplay FM modules */
body:has(#afm-shows-experience) main,
body:has(#afm-charts-experience) main {
  padding-top:0!important;
}


/* ======================================================
   V3.1.4 — MOBILE MENU ABOVE PLAYER
   Fix Elementor/WordPress mobile nav being blocked by player
   ====================================================== */

@media (max-width: 767px) {

  /* Site header and mobile nav must always sit above the Airplay FM player */
  header,
  #masthead,
  .site-header,
  .elementor-location-header,
  .elementor-location-header .elementor-nav-menu--dropdown,
  .elementor-location-header .elementor-menu-toggle,
  .elementor-location-header nav,
  .elementor-nav-menu--dropdown,
  .elementor-nav-menu__container,
  .menu-toggle,
  .mobile-menu,
  .mobile-navigation,
  .main-navigation,
  .main-navigation.toggled {
    position:relative;
    z-index:999999!important;
  }

  /* Elementor dropdowns are often absolutely positioned */
  .elementor-location-header .elementor-nav-menu--dropdown,
  .elementor-location-header .elementor-nav-menu__container,
  .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    z-index:1000000!important;
    pointer-events:auto!important;
  }

  /* Keep player below navigation while retaining normal layout */
  #afm-persistent-player-host,
  #afm-next-top-mount,
  .afm-next-top-mount,
  .afm-v2 {
    z-index:20!important;
  }

  /* If a menu is open, player can never intercept taps */
  body:has(.elementor-menu-toggle.elementor-active) #afm-persistent-player-host,
  body:has(.elementor-nav-menu--dropdown[aria-hidden="false"]) #afm-persistent-player-host,
  body:has(.main-navigation.toggled) #afm-persistent-player-host {
    z-index:1!important;
  }

  /* Ensure dropdown links remain clickable above all player layers */
  .elementor-location-header a,
  .elementor-nav-menu--dropdown a,
  .main-navigation a,
  .mobile-menu a {
    position:relative;
    z-index:1000001!important;
    pointer-events:auto!important;
  }
}


/* ======================================================
   V3.2.0 — AIRPLAY FM AWARDS™
   Replaces Featured Top 3 with compact data-driven awards
   ====================================================== */
.afm-chart-featured{display:none!important}

.afm-awards{
  max-width:1180px;
  margin:0 auto 34px;
  padding:17px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:20px;
  background:
    radial-gradient(circle at 5% 0%,rgba(255,43,122,.055),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.022),rgba(255,255,255,.009));
  box-shadow:0 18px 48px rgba(0,0,0,.19);
}
.afm-awards-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:16px;
  padding:2px 4px 13px;border-bottom:1px solid rgba(255,255,255,.055)
}
.afm-awards-eyebrow{display:block;margin-bottom:4px;color:#777f8d;font-size:6.5px;font-weight:950;letter-spacing:1.25px}
.afm-awards-head h2{margin:0;color:#fff;font-size:16px;line-height:1;font-weight:950;letter-spacing:-.35px}
.afm-awards-head h2 strong{
  font-weight:950;
  background:linear-gradient(90deg,#ff438d,#a859ff);
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.afm-awards-period{
  padding:6px 9px;border:1px solid rgba(255,255,255,.075);border-radius:999px;
  color:#747d8a;font-size:6px;font-weight:950;letter-spacing:.85px
}
.afm-awards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:12px}
.afm-award-card{
  position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) 31px;gap:11px;align-items:center;
  min-height:91px;padding:10px;border:1px solid rgba(255,255,255,.055);border-radius:14px;
  background:rgba(255,255,255,.012);overflow:hidden;transition:.18s ease
}
.afm-award-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.11);background:rgba(255,255,255,.018)}
.afm-award-card--track{border-color:rgba(255,43,122,.15)}
.afm-award-card--track:before{
  content:"";position:absolute;left:0;top:15%;bottom:15%;width:2px;border-radius:2px;
  background:linear-gradient(180deg,#ff2b7a,#a457ff)
}
.afm-award-art{position:relative;width:70px;height:70px;border-radius:11px;overflow:hidden;background:#0d0f17;border:1px solid rgba(255,255,255,.07)}
.afm-award-art img{width:100%;height:100%;object-fit:cover}
.afm-award-art>span:first-child{display:grid;place-items:center;width:100%;height:100%;color:#ff438d;font-size:8px;font-weight:950}
.afm-award-seal{
  position:absolute!important;right:5px!important;bottom:5px!important;display:grid!important;place-items:center!important;
  width:21px!important;height:21px!important;border-radius:50%!important;
  border:1px solid rgba(255,255,255,.25)!important;background:rgba(5,6,12,.82)!important;
  color:#fff!important;font-size:5px!important;font-weight:950!important;letter-spacing:.3px!important;
  backdrop-filter:blur(7px)
}
.afm-award-copy{min-width:0}
.afm-award-label{display:block;margin-bottom:5px;color:#8a93a0;font-size:6px;font-weight:950;letter-spacing:.9px}
.afm-award-card--track .afm-award-label{color:#ff579b}
.afm-award-card--breakout .afm-award-label{color:#c4a8ff}
.afm-award-card--mover .afm-award-label{color:#72eab0}
.afm-award-copy strong{display:block;overflow:hidden;color:#fff;font-size:10px;line-height:1.25;font-weight:950;white-space:nowrap;text-overflow:ellipsis}
.afm-award-copy small{display:block;margin-top:5px;overflow:hidden;color:#68717e;font-size:6.5px;font-weight:800;white-space:nowrap;text-overflow:ellipsis}
.afm-award-spotify{
  display:grid;place-items:center;width:29px;height:29px;border:1px solid rgba(29,185,84,.17);
  border-radius:50%;background:rgba(29,185,84,.03);text-decoration:none!important;transition:.18s ease
}
.afm-award-spotify:hover{transform:scale(1.06);border-color:rgba(29,185,84,.4);background:rgba(29,185,84,.075)}
.afm-awards-foot{
  display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:11px;padding:10px 4px 0;
  border-top:1px solid rgba(255,255,255,.045)
}
.afm-awards-foot span{color:#656e7c;font-size:6px;font-weight:950;letter-spacing:.9px}
.afm-awards-foot small{color:#555e6b;font-size:6px;text-align:right}

@media(max-width:1050px){
  .afm-awards-grid{grid-template-columns:1fr}
  .afm-award-card{grid-template-columns:74px minmax(0,1fr) 32px}
}
@media(max-width:620px){
  .afm-awards{padding:12px;margin-bottom:26px}
  .afm-awards-head h2{font-size:14px}
  .afm-award-card{grid-template-columns:60px minmax(0,1fr) 30px;gap:9px;min-height:77px;padding:8px}
  .afm-award-art{width:58px;height:58px}
  .afm-awards-foot{display:block}
  .afm-awards-foot small{display:block;margin-top:4px;text-align:left;line-height:1.4}
}


/* V3.2.1 — stronger, more readable Award titles */
.afm-award-label{
  margin-bottom:7px!important;
  font-size:9px!important;
  line-height:1.15!important;
  font-weight:950!important;
  letter-spacing:.65px!important;
}
.afm-award-card--track .afm-award-label{
  font-size:10px!important;
}
@media(max-width:620px){
  .afm-award-label{
    font-size:8.5px!important;
    letter-spacing:.5px!important;
  }
  .afm-award-card--track .afm-award-label{
    font-size:9px!important;
  }
}

/* V3.2.2 — Shareable Airplay FM awards + chart results */
.afm-award-card{grid-template-columns:72px minmax(0,1fr) 34px!important}
.afm-award-actions{display:flex;flex-direction:column;align-items:center;gap:7px}
.afm-result-share{
  appearance:none;-webkit-appearance:none;display:grid;place-items:center;width:29px;height:29px;padding:0;
  border:1px solid rgba(255,255,255,.10);border-radius:50%;background:rgba(255,255,255,.025);
  color:#c7ced8;font-size:12px;font-weight:900;line-height:1;cursor:pointer;transition:.18s ease
}
.afm-result-share:hover{transform:translateY(-1px);border-color:rgba(255,43,122,.32);background:rgba(255,43,122,.07);color:#fff}
.afm-result-share.is-copied{border-color:rgba(85,255,172,.3);color:#75edb2;background:rgba(85,255,172,.05)}
.afm-result-share--chart{justify-self:end;width:30px;height:30px}
.afm-chart-list-row{grid-template-columns:48px 54px minmax(0,1fr) 68px 88px 92px 38px 48px!important}
@media(max-width:1100px){
 .afm-chart-list-row{grid-template-columns:42px 50px minmax(0,1fr) 60px 80px 38px 48px!important}
}
@media(max-width:720px){
 .afm-award-card{grid-template-columns:60px minmax(0,1fr) 32px!important}
 .afm-chart-list-row{grid-template-columns:34px 44px minmax(0,1fr) 52px 34px!important}
 .afm-result-share--chart{width:28px;height:28px}
}

/* V3.3.0 — automatic 1080x1080 social result cards */
.afm-result-share.is-generating{opacity:.72;pointer-events:none;animation:afmSharePulse .85s ease-in-out infinite}
@keyframes afmSharePulse{50%{transform:scale(.91);opacity:.45}}


/* V3.3.1 — clearer share + download controls */
.afm-award-actions{
  gap:6px!important;
}
.afm-result-download{
  appearance:none;
  -webkit-appearance:none;
  display:grid;
  place-items:center;
  width:29px;
  height:29px;
  padding:0;
  border:1px solid rgba(255,255,255,.10);
  border-radius:50%;
  background:rgba(255,255,255,.025);
  color:#c7ced8;
  font-size:13px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  transition:.18s ease;
}
.afm-result-download:hover{
  transform:translateY(-1px);
  border-color:rgba(92,104,255,.30);
  background:rgba(92,104,255,.07);
  color:#fff;
}
.afm-result-download.is-generating{
  opacity:.72;
  pointer-events:none;
  animation:afmSharePulse .85s ease-in-out infinite;
}
.afm-result-download.is-copied{
  color:#75edb2;
  border-color:rgba(85,255,172,.3);
  background:rgba(85,255,172,.05);
}
.afm-result-download--chart{
  justify-self:end;
  width:30px;
  height:30px;
}

/* Extra chart action column for download */
.afm-chart-list-row{
  grid-template-columns:48px 54px minmax(0,1fr) 68px 88px 92px 38px 38px 48px!important;
}
@media(max-width:1100px){
  .afm-chart-list-row{
    grid-template-columns:42px 50px minmax(0,1fr) 60px 80px 38px 38px 48px!important;
  }
}
@media(max-width:720px){
  .afm-chart-list-row{
    grid-template-columns:34px 44px minmax(0,1fr) 52px 32px 32px!important;
  }
  .afm-result-download--chart,
  .afm-result-share--chart{
    width:28px;
    height:28px;
  }
}

/* V3.3.2 — cleaner share controls + fixed chart action layout */
.afm-share-icon{
  display:block;
  font-size:18px;
  line-height:1;
  font-weight:700;
  transform:rotate(-18deg);
}
.afm-result-share{
  color:#f2f4f8!important;
  border-color:rgba(255,255,255,.13)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.018))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.afm-result-share:hover{
  border-color:rgba(255,43,122,.38)!important;
  background:linear-gradient(145deg,rgba(255,43,122,.13),rgba(126,76,255,.07))!important;
  box-shadow:0 7px 20px rgba(255,43,122,.10);
}

/* Put Spotify, Share and Download together. They can no longer overlap text/status/signal. */
.afm-chart-list-row{
  grid-template-columns:48px 54px minmax(0,1fr) 68px 88px 92px minmax(170px,190px)!important;
  column-gap:12px!important;
}
.afm-chart-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  min-width:0;
  white-space:nowrap;
}
.afm-chart-actions .afm-chart-spotify--row{
  position:static!important;
  margin:0!important;
  min-width:86px;
  max-width:86px;
  overflow:hidden;
  flex:0 0 86px;
}
.afm-chart-actions .afm-result-share--chart,
.afm-chart-actions .afm-result-download--chart{
  position:static!important;
  margin:0!important;
  justify-self:auto!important;
  flex:0 0 30px;
}
.afm-chart-list-copy{
  min-width:0!important;
  overflow:hidden!important;
}
.afm-chart-list-copy strong,
.afm-chart-list-copy span{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

@media(max-width:1100px){
  .afm-chart-list-row{
    grid-template-columns:42px 50px minmax(0,1fr) 60px 76px minmax(160px,180px)!important;
  }
  .afm-chart-list-status{display:none!important}
}
@media(max-width:720px){
  .afm-chart-list-row{
    grid-template-columns:34px 44px minmax(0,1fr) 48px!important;
    gap:8px!important;
  }
  .afm-chart-actions{
    grid-column:3 / 5;
    justify-content:flex-start;
    margin-top:5px;
    padding-top:7px;
    border-top:1px solid rgba(255,255,255,.045);
  }
  .afm-chart-list-status,
  .afm-chart-list-signal{display:none!important}
  .afm-chart-actions .afm-chart-spotify--row{
    min-width:82px;
    max-width:82px;
    flex-basis:82px;
  }
}

/* V3.3.4 — Airplay FM premium social controls */
.afm-share-icon{display:none!important}
.afm-action-svg{
  width:15px;
  height:15px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.afm-result-share,
.afm-result-download{
  position:relative;
  width:32px!important;
  height:32px!important;
  border-radius:10px!important;
  color:#dfe3ea!important;
  border:1px solid rgba(255,255,255,.09)!important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.018))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 6px 18px rgba(0,0,0,.16)!important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.afm-result-share:before,
.afm-result-download:before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:10px;
  padding:1px;
  background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,43,122,.08),rgba(126,76,255,.08));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}
.afm-result-share:hover{
  color:#fff!important;
  border-color:rgba(255,63,143,.24)!important;
  background:
    radial-gradient(circle at 25% 20%,rgba(255,75,153,.17),transparent 48%),
    linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,43,122,.035))!important;
  transform:translateY(-2px)!important;
  box-shadow:0 9px 24px rgba(255,43,122,.10)!important;
}
.afm-result-download:hover{
  color:#fff!important;
  border-color:rgba(151,111,255,.24)!important;
  background:
    radial-gradient(circle at 25% 20%,rgba(151,111,255,.16),transparent 48%),
    linear-gradient(145deg,rgba(255,255,255,.08),rgba(126,76,255,.035))!important;
  transform:translateY(-2px)!important;
}
.afm-award-actions{
  padding:4px;
  gap:6px!important;
  border-radius:13px;
  background:rgba(0,0,0,.10);
}
.afm-chart-actions{
  padding:4px 5px;
  border:1px solid rgba(255,255,255,.045);
  border-radius:13px;
  background:rgba(255,255,255,.012);
}
.afm-chart-actions .afm-chart-spotify--row{
  height:32px!important;
  border-radius:10px!important;
}

/* subtle tooltip labels on desktop */
@media (hover:hover){
  .afm-result-share:after,
  .afm-result-download:after{
    position:absolute;
    left:50%;
    bottom:calc(100% + 8px);
    transform:translateX(-50%) translateY(3px);
    padding:5px 7px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:7px;
    background:#10121a;
    color:#dce1e9;
    font-size:7px;
    font-weight:900;
    letter-spacing:.5px;
    opacity:0;
    pointer-events:none;
    transition:.15s ease;
    white-space:nowrap;
    z-index:20;
  }
  .afm-result-share:after{content:"SHARE"}
  .afm-result-download:after{content:"DOWNLOAD"}
  .afm-result-share:hover:after,
  .afm-result-download:hover:after{
    opacity:1;
    transform:translateX(-50%) translateY(0);
  }
}


/* ======================================================
   V3.3.5 — chart action collision fix
   Spotify / Share / Download get fixed non-overlapping slots
   ====================================================== */

.afm-chart-actions{
  display:grid!important;
  grid-template-columns:86px 32px 32px!important;
  align-items:center!important;
  justify-content:end!important;
  gap:7px!important;
  min-width:164px!important;
  width:164px!important;
  padding:4px 5px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}

.afm-chart-actions .afm-chart-spotify--row{
  grid-column:1!important;
  width:86px!important;
  min-width:86px!important;
  max-width:86px!important;
  height:32px!important;
  margin:0!important;
  position:static!important;
}

.afm-chart-actions .afm-result-share--chart{
  grid-column:2!important;
  width:32px!important;
  min-width:32px!important;
  max-width:32px!important;
  height:32px!important;
  margin:0!important;
  position:static!important;
}

.afm-chart-actions .afm-result-download--chart{
  grid-column:3!important;
  width:32px!important;
  min-width:32px!important;
  max-width:32px!important;
  height:32px!important;
  margin:0!important;
  position:static!important;
}

/* Reserve one dedicated action column in chart rows. */
.afm-chart-list-row{
  grid-template-columns:48px 54px minmax(0,1fr) 68px 88px 92px 164px 48px!important;
  column-gap:12px!important;
}

@media(max-width:1100px){
  .afm-chart-actions{
    min-width:154px!important;
    width:154px!important;
    grid-template-columns:82px 30px 30px!important;
    gap:6px!important;
  }
  .afm-chart-actions .afm-chart-spotify--row{
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
  }
  .afm-chart-actions .afm-result-share--chart,
  .afm-chart-actions .afm-result-download--chart{
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
  }
  .afm-chart-list-row{
    grid-template-columns:42px 50px minmax(0,1fr) 60px 76px 154px 48px!important;
  }
  .afm-chart-list-status{
    display:none!important;
  }
}

@media(max-width:720px){
  .afm-chart-list-row{
    grid-template-columns:34px 44px minmax(0,1fr) 48px!important;
  }

  .afm-chart-actions{
    grid-column:3 / 5!important;
    grid-template-columns:82px 30px 30px!important;
    justify-content:start!important;
    min-width:154px!important;
    width:154px!important;
    margin-top:6px!important;
    padding-top:7px!important;
  }

  .afm-chart-list-status,
  .afm-chart-list-signal{
    display:none!important;
  }
}


/* ======================================================
   V3.4.0 — AIRPLAY FM TOP 20 DASHBOARD REDESIGN
   Inspired by the approved mockup
   ====================================================== */

.afm-charts-experience{
  max-width:1480px!important;
  padding:38px 30px 34px!important;
  border-radius:26px!important;
  background:
    radial-gradient(circle at 18% -10%,rgba(43,255,119,.045),transparent 30%),
    radial-gradient(circle at 95% 5%,rgba(82,109,255,.055),transparent 32%),
    linear-gradient(180deg,#05070c,#080b12 52%,#05070b)!important;
  border:1px solid rgba(255,255,255,.08)!important;
}

.afm-charts-hero--dashboard{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:28px!important;
  max-width:none!important;
  margin:0 0 25px!important;
  text-align:left!important;
}

.afm-charts-hero-main{
  max-width:760px;
}
.afm-charts-hero--dashboard .afm-charts-kicker{
  padding:0!important;
  border:0!important;
  background:none!important;
  color:#fff!important;
  font-size:13px!important;
  letter-spacing:1.3px!important;
}
.afm-charts-hero--dashboard .afm-charts-kicker b{
  color:#35e76f;
}
.afm-charts-hero--dashboard h1{
  margin:8px 0 5px!important;
  font-size:clamp(64px,7.5vw,118px)!important;
  line-height:.87!important;
  letter-spacing:-6px!important;
}
.afm-charts-hero--dashboard h1 span{
  color:#fff!important;
  background:none!important;
  -webkit-text-fill-color:initial!important;
}
.afm-charts-hero--dashboard p{
  margin:0!important;
  max-width:660px!important;
  color:#adb5c2!important;
  font-size:15px!important;
}

.afm-charts-update{
  min-width:260px;
  padding-top:7px;
  text-align:right;
}
.afm-charts-update>span{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
  color:#d8dee7;
  font-size:9px;
  font-weight:900;
  letter-spacing:1px;
}
.afm-charts-update>span i{
  width:8px;height:8px;border-radius:50%;
  background:#35e76f;
  box-shadow:0 0 14px rgba(53,231,111,.65);
}
.afm-charts-update small{
  display:block;
  margin-top:8px;
  color:#6f7886;
  font-size:7px;
  font-weight:850;
  letter-spacing:.8px;
}

.afm-chart-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:0 0 26px;
}
.afm-chart-summary-chip{
  min-height:66px;
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:10px;
  align-items:center;
  padding:11px 14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.075);
  background:linear-gradient(145deg,rgba(255,255,255,.03),rgba(255,255,255,.012));
}
.afm-chart-summary-chip>b{
  align-self:end;
  color:#fff;
  font-size:10px;
  font-weight:950;
  letter-spacing:.9px;
}
.afm-chart-summary-chip>small{
  align-self:start;
  color:#697281;
  font-size:7px;
  font-weight:800;
}
.afm-summary-icon,.afm-summary-number,.afm-summary-spotify{
  grid-row:1/3;
  display:grid;
  place-items:center;
  width:38px;height:38px;
  border-radius:12px;
  font-size:17px;
  font-weight:950;
}
.afm-chart-summary-chip--new{
  border-color:rgba(255,43,122,.18);
}
.afm-chart-summary-chip--new .afm-summary-icon{
  color:#ff58b3;
  background:rgba(255,43,122,.055);
  border:1px solid rgba(255,43,122,.20);
}
.afm-chart-summary-chip--spotify{
  border-color:rgba(29,185,84,.20);
}
.afm-chart-summary-chip--spotify .afm-summary-spotify{
  color:#1db954;
  background:rgba(29,185,84,.08);
  border:1px solid rgba(29,185,84,.23);
}
.afm-chart-summary-chip--rising{
  border-color:rgba(74,135,255,.20);
}
.afm-chart-summary-chip--rising .afm-summary-icon{
  color:#62a2ff;
  background:rgba(74,135,255,.065);
  border:1px solid rgba(74,135,255,.20);
}
.afm-chart-summary-chip--history{
  border-color:rgba(255,43,122,.18);
}
.afm-chart-summary-chip--history .afm-summary-number{
  color:#fff;
  background:rgba(255,43,122,.055);
  border:1px solid rgba(255,43,122,.20);
  font-size:13px;
}

.afm-awards{
  margin-bottom:28px!important;
}

.afm-chart-table-head{
  margin-top:26px!important;
}
.afm-chart-columns{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 230px 90px 210px;
  gap:14px;
  align-items:center;
  padding:12px 16px;
  margin-top:10px;
  border:1px solid rgba(255,255,255,.075);
  border-bottom:0;
  border-radius:16px 16px 0 0;
  background:#0b0f17;
}
.afm-chart-columns span{
  color:#aab2bd;
  font-size:8px;
  font-weight:950;
  letter-spacing:.8px;
}
.afm-chart-columns span:nth-child(3),
.afm-chart-columns span:nth-child(4),
.afm-chart-columns span:nth-child(5){
  text-align:right;
}

.afm-chart-list{
  gap:0!important;
  border:1px solid rgba(255,255,255,.075);
  border-radius:0 0 16px 16px;
  overflow:hidden;
}
.afm-chart-list-row{
  grid-template-columns:46px 58px minmax(0,1fr) 230px 90px 210px!important;
  gap:14px!important;
  min-height:88px!important;
  padding:11px 16px!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.055)!important;
  border-radius:0!important;
  background:#070b12!important;
}
.afm-chart-list-row:last-child{
  border-bottom:0!important;
}
.afm-chart-list-row:hover{
  transform:none!important;
  background:#0a0f18!important;
}
.afm-chart-list-rank{
  font-size:22px!important;
  text-align:center;
}
.afm-chart-list-art,
.afm-chart-list-art img{
  width:54px!important;
  height:54px!important;
  border-radius:10px!important;
}
.afm-chart-list-copy strong{
  font-size:13px!important;
}
.afm-chart-list-copy span{
  margin-top:5px!important;
  color:#7f8996!important;
  font-size:7px!important;
}

.afm-chart-list-signal-wrap{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-width:0;
}
.afm-chart-list-signal{
  display:block!important;
  width:auto!important;
  height:auto!important;
  border:0!important;
  background:none!important;
  color:#35e76f!important;
  font-size:18px!important;
  font-weight:950!important;
}
.afm-chart-signal-meter{
  position:relative;
  display:block;
  width:132px;
  height:9px;
  border-radius:999px;
  overflow:hidden;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.09) 0 7px,transparent 7px 10px);
}
.afm-chart-signal-meter i{
  display:block;
  width:var(--afm-signal);
  height:100%;
  border-radius:inherit;
  background:
    repeating-linear-gradient(90deg,#35e76f 0 7px,transparent 7px 10px);
}

.afm-chart-movement{
  justify-self:end!important;
  min-width:62px!important;
  min-height:32px!important;
  font-size:8px!important;
}

.afm-chart-actions{
  justify-self:end!important;
  display:grid!important;
  grid-template-columns:82px 50px 50px!important;
  width:196px!important;
  min-width:196px!important;
  gap:7px!important;
  padding:0!important;
  border:0!important;
  background:none!important;
}
.afm-chart-actions .afm-chart-spotify--row{
  width:82px!important;
  min-width:82px!important;
  max-width:82px!important;
  height:36px!important;
  border-radius:11px!important;
}
.afm-chart-actions .afm-result-share--chart,
.afm-chart-actions .afm-result-download--chart{
  width:50px!important;
  height:36px!important;
  min-width:50px!important;
  max-width:50px!important;
  border-radius:11px!important;
}
.afm-chart-actions .afm-action-svg{
  width:16px!important;
  height:16px!important;
}

@media(max-width:1150px){
  .afm-chart-columns{display:none}
  .afm-chart-list{
    border-radius:16px!important;
  }
  .afm-chart-list-row{
    grid-template-columns:42px 54px minmax(0,1fr) 170px 72px 180px!important;
  }
  .afm-chart-list-signal-wrap{
    gap:8px;
  }
  .afm-chart-signal-meter{
    width:84px;
  }
  .afm-chart-actions{
    width:174px!important;
    min-width:174px!important;
    grid-template-columns:76px 45px 45px!important;
  }
  .afm-chart-actions .afm-chart-spotify--row{width:76px!important;min-width:76px!important;max-width:76px!important}
  .afm-chart-actions .afm-result-share--chart,
  .afm-chart-actions .afm-result-download--chart{width:45px!important;min-width:45px!important;max-width:45px!important}
}

@media(max-width:850px){
  .afm-charts-hero--dashboard{
    display:block!important;
  }
  .afm-charts-update{
    margin-top:18px;
    text-align:left;
  }
  .afm-charts-update>span{
    justify-content:flex-start;
  }
  .afm-chart-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .afm-chart-list-row{
    grid-template-columns:34px 48px minmax(0,1fr) 58px!important;
    grid-template-areas:
      "rank art copy movement"
      ". . signal signal"
      ". . actions actions";
    row-gap:9px!important;
  }
  .afm-chart-list-rank{grid-area:rank}
  .afm-chart-list-art{grid-area:art}
  .afm-chart-list-copy{grid-area:copy}
  .afm-chart-movement{grid-area:movement}
  .afm-chart-list-signal-wrap{
    grid-area:signal;
    justify-content:flex-start;
  }
  .afm-chart-actions{
    grid-area:actions;
    justify-self:start!important;
  }
  .afm-chart-list-status{
    display:none!important;
  }
}

@media(max-width:620px){
  .afm-charts-experience{
    padding:24px 12px 20px!important;
  }
  .afm-charts-hero--dashboard h1{
    font-size:70px!important;
    letter-spacing:-4px!important;
  }
  .afm-chart-summary{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .afm-chart-summary-chip{
    min-height:58px;
    padding:9px 10px;
  }
  .afm-chart-list-row{
    padding:10px 9px!important;
  }
  .afm-chart-list-copy strong{
    font-size:11px!important;
  }
  .afm-chart-actions{
    grid-template-columns:78px 42px 42px!important;
    width:176px!important;
    min-width:176px!important;
  }
  .afm-chart-actions .afm-chart-spotify--row{width:78px!important;min-width:78px!important;max-width:78px!important}
  .afm-chart-actions .afm-result-share--chart,
  .afm-chart-actions .afm-result-download--chart{width:42px!important;min-width:42px!important;max-width:42px!important}
}


/* ======================================================
   V3.4.1 — FIXED CHART GRID + PREMIUM CHANGE COLUMN
   ====================================================== */

/* Desktop: one rigid row grid so nothing can overlap. */
.afm-chart-columns{
  grid-template-columns:
    54px
    minmax(320px,1fr)
    250px
    110px
    220px!important;
  column-gap:16px!important;
}

.afm-chart-list-row{
  display:grid!important;
  grid-template-columns:
    54px
    64px
    minmax(250px,1fr)
    250px
    110px
    220px!important;
  grid-template-areas:"rank art copy signal change actions"!important;
  column-gap:16px!important;
  align-items:center!important;
  min-height:92px!important;
  padding:12px 18px!important;
}

/* Map every element to an explicit grid area. */
.afm-chart-list-rank{
  grid-area:rank!important;
}
.afm-chart-list-art{
  grid-area:art!important;
}
.afm-chart-list-copy{
  grid-area:copy!important;
  min-width:0!important;
  overflow:hidden!important;
}
.afm-chart-list-signal-wrap{
  grid-area:signal!important;
  justify-content:flex-start!important;
  min-width:0!important;
}
.afm-chart-change{
  grid-area:change!important;
}
.afm-chart-actions{
  grid-area:actions!important;
}

/* Track copy stays inside its own column. */
.afm-chart-list-copy strong,
.afm-chart-list-copy span{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}

/* Cleaner signal column */
.afm-chart-list-signal-wrap{
  display:grid!important;
  grid-template-columns:42px minmax(90px,1fr)!important;
  align-items:center!important;
  gap:10px!important;
}
.afm-chart-list-signal{
  justify-self:start!important;
  font-size:18px!important;
}
.afm-chart-signal-meter{
  width:100%!important;
  max-width:150px!important;
}

/* CHANGE — inspired by approved mockup */
.afm-chart-change{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-width:82px!important;
  min-height:38px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-size:14px!important;
  font-weight:950!important;
  letter-spacing:0!important;
}

.afm-chart-change-arrow{
  display:inline-block;
  font-size:30px!important;
  line-height:.8!important;
  font-weight:500!important;
  transform:translateY(-1px);
}

.afm-chart-change strong{
  font-size:17px!important;
  line-height:1!important;
}

.afm-chart-change--up{
  color:#35e76f!important;
}
.afm-chart-change--down{
  color:#ff4267!important;
}
.afm-chart-change--same{
  color:#7b8492!important;
}
.afm-chart-change--new{
  color:#ff5ca8!important;
}
.afm-chart-change--re-entry{
  color:#b7a8ff!important;
}

.afm-chart-change-word{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:29px;
  padding:6px 10px;
  border:1px solid currentColor;
  border-radius:999px;
  background:rgba(255,255,255,.018);
  font-size:7px;
  font-weight:950;
  letter-spacing:.8px;
}

.afm-chart-change-dash{
  color:#707987;
  font-size:19px;
}

/* Action area: fixed width, no collision. */
.afm-chart-actions{
  justify-self:end!important;
  display:grid!important;
  grid-template-columns:88px 46px 46px!important;
  gap:8px!important;
  width:196px!important;
  min-width:196px!important;
  max-width:196px!important;
  padding:0!important;
  border:0!important;
  background:none!important;
}

.afm-chart-actions .afm-chart-spotify--row{
  width:88px!important;
  min-width:88px!important;
  max-width:88px!important;
  height:38px!important;
  position:static!important;
  margin:0!important;
}

.afm-chart-actions .afm-result-share--chart,
.afm-chart-actions .afm-result-download--chart{
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:38px!important;
  position:static!important;
  margin:0!important;
  border-radius:11px!important;
}

/* Make column headings match body columns visually. */
.afm-chart-columns span:nth-child(1){
  text-align:center!important;
}
.afm-chart-columns span:nth-child(2){
  padding-left:70px!important;
}
.afm-chart-columns span:nth-child(3){
  text-align:left!important;
}
.afm-chart-columns span:nth-child(4){
  text-align:center!important;
}
.afm-chart-columns span:nth-child(5){
  text-align:right!important;
  padding-right:14px!important;
}

/* Tablet */
@media(max-width:1180px){
  .afm-chart-columns{
    display:none!important;
  }

  .afm-chart-list-row{
    grid-template-columns:
      44px
      58px
      minmax(220px,1fr)
      190px
      90px
      184px!important;
    column-gap:12px!important;
  }

  .afm-chart-actions{
    grid-template-columns:82px 43px 43px!important;
    width:184px!important;
    min-width:184px!important;
    max-width:184px!important;
  }

  .afm-chart-actions .afm-chart-spotify--row{
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
  }

  .afm-chart-actions .afm-result-share--chart,
  .afm-chart-actions .afm-result-download--chart{
    width:43px!important;
    min-width:43px!important;
    max-width:43px!important;
  }
}

/* Mobile / narrow tablet: track first, signal/change/actions below */
@media(max-width:900px){
  .afm-chart-list-row{
    grid-template-columns:38px 52px minmax(0,1fr) 70px!important;
    grid-template-areas:
      "rank art copy change"
      ". . signal signal"
      ". . actions actions"!important;
    row-gap:10px!important;
    min-height:0!important;
  }

  .afm-chart-change{
    justify-self:end!important;
    min-width:58px!important;
  }

  .afm-chart-change-arrow{
    font-size:24px!important;
  }
  .afm-chart-change strong{
    font-size:14px!important;
  }

  .afm-chart-list-signal-wrap{
    justify-self:start!important;
    width:100%!important;
    max-width:310px!important;
  }

  .afm-chart-actions{
    justify-self:start!important;
    grid-template-columns:84px 42px 42px!important;
    width:184px!important;
    min-width:184px!important;
    max-width:184px!important;
    margin-top:2px!important;
  }

  .afm-chart-actions .afm-chart-spotify--row{
    width:84px!important;
    min-width:84px!important;
    max-width:84px!important;
  }

  .afm-chart-actions .afm-result-share--chart,
  .afm-chart-actions .afm-result-download--chart{
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
  }
}

/* Phone */
@media(max-width:620px){
  .afm-chart-list-row{
    grid-template-columns:32px 46px minmax(0,1fr) 58px!important;
    padding:10px 9px!important;
    column-gap:8px!important;
  }

  .afm-chart-list-art,
  .afm-chart-list-art img{
    width:44px!important;
    height:44px!important;
  }

  .afm-chart-list-copy strong{
    font-size:10.5px!important;
  }

  .afm-chart-list-copy span{
    font-size:6.5px!important;
  }

  .afm-chart-list-signal-wrap{
    grid-template-columns:34px minmax(90px,1fr)!important;
    gap:8px!important;
  }

  .afm-chart-list-signal{
    font-size:14px!important;
  }

  .afm-chart-change{
    min-width:50px!important;
  }

  .afm-chart-change-arrow{
    font-size:21px!important;
  }

  .afm-chart-change strong{
    font-size:13px!important;
  }
}


/* ======================================================
   V3.4.2 — PERFECTLY ALIGNED CHART ACTIONS
   Spotify / Share / Download always on one straight line
   ====================================================== */

.afm-chart-actions{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:none!important;
  white-space:nowrap!important;
}

.afm-chart-actions > *{
  align-self:center!important;
  margin:0!important;
  position:static!important;
  top:auto!important;
  bottom:auto!important;
  left:auto!important;
  right:auto!important;
  transform:none;
}

.afm-chart-actions .afm-chart-spotify--row{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 92px!important;
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  padding:0 11px!important;
  line-height:1!important;
  border-radius:11px!important;
  box-sizing:border-box!important;
}

.afm-chart-actions .afm-result-share--chart,
.afm-chart-actions .afm-result-download--chart{
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 38px!important;
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  padding:0!important;
  border-radius:11px!important;
  box-sizing:border-box!important;
}

.afm-chart-actions .afm-chart-spotify--row .afm-chart-spotify-icon{
  flex:0 0 auto!important;
  margin-right:6px!important;
}

.afm-chart-actions .afm-chart-spotify--row span:last-child{
  line-height:1!important;
  transform:none!important;
}

/* Make action column wide enough for all 3 controls */
.afm-chart-list-row{
  grid-template-columns:
    54px
    64px
    minmax(250px,1fr)
    250px
    110px
    192px!important;
}

.afm-chart-columns{
  grid-template-columns:
    54px
    minmax(320px,1fr)
    250px
    110px
    192px!important;
}

/* Tablet */
@media(max-width:1180px){
  .afm-chart-list-row{
    grid-template-columns:
      44px
      58px
      minmax(220px,1fr)
      190px
      90px
      180px!important;
  }

  .afm-chart-actions{
    gap:7px!important;
  }

  .afm-chart-actions .afm-chart-spotify--row{
    flex-basis:86px!important;
    width:86px!important;
    min-width:86px!important;
    max-width:86px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
  }

  .afm-chart-actions .afm-result-share--chart,
  .afm-chart-actions .afm-result-download--chart{
    flex-basis:36px!important;
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
  }
}

/* Mobile: still keep all 3 controls in one horizontal row */
@media(max-width:900px){
  .afm-chart-actions{
    grid-area:actions!important;
    justify-self:start!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:7px!important;
    width:auto!important;
    margin-top:3px!important;
  }

  .afm-chart-actions .afm-chart-spotify--row{
    flex-basis:84px!important;
    width:84px!important;
    min-width:84px!important;
    max-width:84px!important;
    height:36px!important;
  }

  .afm-chart-actions .afm-result-share--chart,
  .afm-chart-actions .afm-result-download--chart{
    flex-basis:36px!important;
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
  }
}

@media(max-width:620px){
  .afm-chart-actions{
    gap:6px!important;
  }

  .afm-chart-actions .afm-chart-spotify--row{
    flex-basis:80px!important;
    width:80px!important;
    min-width:80px!important;
    max-width:80px!important;
    height:34px!important;
    font-size:6.5px!important;
  }

  .afm-chart-actions .afm-result-share--chart,
  .afm-chart-actions .afm-result-download--chart{
    flex-basis:34px!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:34px!important;
  }
}


/* V3.4.7 — faster menu feedback */
a.afm-menu-link-activating{
  opacity:.72!important;
  transform:translateY(1px);
  transition:opacity .08s ease,transform .08s ease!important;
}
html.afm-nav-loading{
  cursor:progress;
}


/* ======================================================
   V3.5.0 — INSTALL AIRPLAY FM + WORLD LIVE™
   ====================================================== */
.afm-platform-tools{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(240px,.75fr);
  gap:10px;
  margin-top:12px;
}
.afm-world-live,.afm-install-app{
  min-height:64px;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.075);
  border-radius:15px;
  background:linear-gradient(145deg,rgba(255,255,255,.028),rgba(255,255,255,.012));
}
.afm-world-live{
  padding:10px 12px;
  overflow:hidden;
}
.afm-world-live-head{
  display:flex;align-items:center;gap:9px;margin-bottom:8px
}
.afm-world-live-orbit{
  position:relative;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;
  border:1px solid rgba(92,104,255,.25);background:rgba(92,104,255,.045)
}
.afm-world-live-orbit:before,.afm-world-live-orbit:after{
  content:"";position:absolute;border:1px solid rgba(255,43,122,.18);border-radius:50%;
  width:19px;height:8px;transform:rotate(28deg)
}
.afm-world-live-orbit:after{transform:rotate(-28deg)}
.afm-world-live-orbit i{width:5px;height:5px;border-radius:50%;background:#ff438d;box-shadow:0 0 10px rgba(255,67,141,.7)}
.afm-world-live-head>div{display:flex;flex-direction:column;gap:2px}
.afm-world-live-head b{color:#fff;font-size:8px;font-weight:950;letter-spacing:.9px}
.afm-world-live-head small{color:#68717f;font-size:6.5px;font-weight:800}
.afm-world-countries{
  display:flex;align-items:center;gap:7px;overflow:hidden
}
.afm-world-country{
  display:grid;grid-template-columns:18px minmax(54px,auto) 35px 18px;align-items:center;gap:5px;
  min-width:0;padding:5px 7px;border:1px solid rgba(255,255,255,.055);border-radius:999px;
  background:rgba(255,255,255,.014)
}
.afm-world-flag{font-size:12px;line-height:1}
.afm-world-name{max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c2c8d1;font-size:6.5px;font-weight:850}
.afm-world-bar{display:block;width:35px;height:4px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}
.afm-world-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#526dff,#ff438d)}
.afm-world-country>b{color:#fff;font-size:6.5px;font-weight:950;text-align:right}
.afm-world-empty{color:#666f7d;font-size:6.5px;font-weight:800}

.afm-install-app{
  appearance:none;-webkit-appearance:none;display:flex;align-items:center;gap:10px;padding:10px 12px;
  color:#fff;text-align:left;cursor:pointer;transition:.18s ease
}
.afm-install-app[hidden]{display:none!important}
.afm-install-app:hover{transform:translateY(-2px);border-color:rgba(255,43,122,.22);background:linear-gradient(145deg,rgba(255,43,122,.06),rgba(92,104,255,.035))}
.afm-install-icon{
  display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;
  border:1px solid rgba(255,43,122,.23);background:linear-gradient(145deg,rgba(255,43,122,.10),rgba(92,104,255,.06));
  color:#ff5c9f;font-size:19px;font-weight:500
}
.afm-install-app>span:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.afm-install-app b{font-size:8px;font-weight:950;letter-spacing:.7px}
.afm-install-app small{color:#727b88;font-size:6.5px;font-weight:800}

.afm-pwa-modal{
  position:fixed;inset:0;z-index:2147483000;display:none;place-items:center;padding:20px;
  background:rgba(2,3,7,.76);backdrop-filter:blur(12px)
}
.afm-pwa-modal.is-open{display:grid}
.afm-pwa-modal-card{
  position:relative;width:min(440px,100%);padding:27px;border:1px solid rgba(255,255,255,.10);
  border-radius:22px;background:radial-gradient(circle at 100% 0,rgba(255,43,122,.10),transparent 35%),#0b0e15;
  box-shadow:0 30px 90px rgba(0,0,0,.5);color:#fff
}
.afm-pwa-close{position:absolute;right:13px;top:12px;width:31px;height:31px;border:1px solid rgba(255,255,255,.08);border-radius:50%;background:rgba(255,255,255,.025);color:#aeb5c0;font-size:18px;cursor:pointer}
.afm-pwa-kicker{color:#ff579b;font-size:7px;font-weight:950;letter-spacing:1px}
.afm-pwa-modal h3{margin:9px 0 10px;font-size:22px;line-height:1.08}
.afm-pwa-modal p{margin:0;color:#9ca5b2;font-size:12px;line-height:1.6}
.afm-pwa-steps{display:grid;gap:7px;margin-top:18px}
.afm-pwa-steps span{padding:9px 11px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:rgba(255,255,255,.018);color:#cbd1da;font-size:7px;font-weight:900;letter-spacing:.6px}

@media(max-width:900px){
  .afm-platform-tools{grid-template-columns:1fr}
}
@media(max-width:620px){
  .afm-world-countries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .afm-world-country{grid-template-columns:18px minmax(0,1fr) 18px}
  .afm-world-bar{display:none}
  .afm-world-name{max-width:none}
  .afm-platform-tools{margin-top:9px}
}


/* ======================================================
   V3.5.1 — CALMER PLAYER + BIGGER WORLD LIVE™
   One clear current-track focus, less visual repetition
   ====================================================== */

/* 1. Artwork metadata becomes a quiet caption instead of another title block. */
.afm-art-meta--clean{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-top:10px!important;
  padding:0 2px!important;
}
.afm-art-meta--clean .afm-v2-now{
  margin:0!important;
  color:#ff579b!important;
  font-size:7px!important;
  font-weight:950!important;
  letter-spacing:.85px!important;
}
.afm-art-meta--clean small{
  margin:0!important;
  color:#707988!important;
  font-size:6.5px!important;
  font-weight:800!important;
  letter-spacing:.4px!important;
  text-align:right!important;
}
.afm-art-title-mini{
  display:none!important;
}

/* 2. Keep only the main Now Playing title as the clear title focus. */
.afm-v2-main .afm-title{
  margin-top:11px!important;
  margin-bottom:12px!important;
  max-width:680px!important;
}

/* 3. Reduce decorative density in the top player. */
.afm-v2-bg .afm-v2-wave{
  opacity:.20!important;
}
.afm-v2-bg .afm-v2-orb{
  opacity:.28!important;
}
.afm-brandline{
  margin-bottom:4px!important;
}
.afm-signal-line{
  margin-top:4px!important;
  margin-bottom:12px!important;
}

/* 4. World Live becomes a real platform feature. */
.afm-platform-tools{
  grid-template-columns:minmax(0,1fr) 250px!important;
  gap:12px!important;
  margin-top:16px!important;
  align-items:stretch!important;
}

.afm-world-live{
  min-height:118px!important;
  padding:16px 18px!important;
  border-radius:18px!important;
  border-color:rgba(255,255,255,.09)!important;
  background:
    radial-gradient(circle at 5% 20%,rgba(82,109,255,.085),transparent 31%),
    radial-gradient(circle at 90% 0%,rgba(255,43,122,.065),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important;
  box-shadow:0 14px 36px rgba(0,0,0,.13)!important;
}

.afm-world-live-head{
  gap:12px!important;
  margin-bottom:13px!important;
}
.afm-world-live-orbit{
  width:39px!important;
  height:39px!important;
  flex:0 0 39px!important;
}
.afm-world-live-orbit:before,
.afm-world-live-orbit:after{
  width:28px!important;
  height:11px!important;
}
.afm-world-live-orbit i{
  width:7px!important;
  height:7px!important;
}
.afm-world-live-head b{
  font-size:12px!important;
  letter-spacing:1px!important;
}
.afm-world-live-head small{
  margin-top:2px!important;
  font-size:8px!important;
  color:#8a93a1!important;
}

.afm-world-countries{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  overflow:visible!important;
}
.afm-world-country{
  grid-template-columns:23px minmax(68px,auto) 48px 24px!important;
  gap:7px!important;
  min-height:35px!important;
  padding:7px 10px!important;
  border-radius:12px!important;
  border-color:rgba(255,255,255,.075)!important;
  background:rgba(255,255,255,.025)!important;
}
.afm-world-flag{
  font-size:17px!important;
}
.afm-world-name{
  max-width:105px!important;
  color:#e1e5eb!important;
  font-size:8.5px!important;
  font-weight:900!important;
}
.afm-world-bar{
  width:48px!important;
  height:5px!important;
}
.afm-world-country>b{
  font-size:8.5px!important;
}
.afm-world-empty{
  display:flex!important;
  align-items:center!important;
  min-height:34px!important;
  color:#8b94a2!important;
  font-size:8.5px!important;
  line-height:1.4!important;
}

/* Install card remains secondary and visually calmer. */
.afm-install-app{
  min-height:118px!important;
  border-radius:18px!important;
  padding:15px!important;
}
.afm-install-icon{
  width:42px!important;
  height:42px!important;
  flex-basis:42px!important;
  border-radius:13px!important;
}
.afm-install-app b{
  font-size:9px!important;
}
.afm-install-app small{
  margin-top:2px!important;
  font-size:7.5px!important;
  line-height:1.35!important;
}

/* 5. The huge current-track social preview duplicated cover/title.
      Keep all social tools, but remove the duplicate preview from normal layout. */
.afm-share-panel-grid{
  display:block!important;
}
.afm-social-preview{
  display:none!important;
}
.afm-share-destinations{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:9px!important;
  width:100%!important;
}
.afm-social-action{
  min-height:62px!important;
}

/* Make the lower share area calmer as well. */
.afm-share-lower{
  margin-top:12px!important;
}
.afm-share-panel .afm-panel-head{
  margin-bottom:11px!important;
}

/* Slightly more breathing room between main dashboard panels. */
.afm-v2-dashboard{
  gap:14px!important;
}

/* Tablet */
@media(max-width:980px){
  .afm-platform-tools{
    grid-template-columns:1fr!important;
  }
  .afm-install-app{
    min-height:76px!important;
  }
  .afm-share-destinations{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Phone */
@media(max-width:620px){
  .afm-art-meta--clean{
    display:block!important;
  }
  .afm-art-meta--clean small{
    display:block!important;
    margin-top:4px!important;
    text-align:left!important;
  }

  .afm-world-live{
    min-height:0!important;
    padding:14px!important;
  }
  .afm-world-live-head b{
    font-size:11px!important;
  }
  .afm-world-live-head small{
    font-size:7.5px!important;
  }
  .afm-world-countries{
    grid-template-columns:none!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .afm-world-country{
    display:grid!important;
    grid-template-columns:23px minmax(0,1fr) 24px!important;
    min-width:0!important;
  }
  .afm-world-bar{
    display:none!important;
  }
  .afm-world-name{
    max-width:none!important;
    font-size:8px!important;
  }

  .afm-share-destinations{
    grid-template-columns:1fr 1fr!important;
  }
}


/* V3.5.3 — World Live: country names only */
.afm-world-country{
  grid-template-columns:23px minmax(72px,auto) 52px!important;
}
.afm-world-country>b{
  display:none!important;
}
@media(max-width:620px){
  .afm-world-country{
    grid-template-columns:23px minmax(0,1fr)!important;
  }
}
