/* 4DK MUSIC FRONT PAGE REVAMP */
.music-front-page{
  --music-red:#e8452e;
  --music-gold:#d8b36f;
  --music-pink:#a23b6c;
  --music-paper:#f2ede3;
}

/* Cover */
.music-cover{
  position:relative;
  overflow:hidden;
  background:#0b0b0d;
  color:#f8f1e5;
  border-bottom:1px solid #2d2b31;
}
.music-cover-grid{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.024) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.024) 1px,transparent 1px);
  background-size:46px 46px;
}
.music-cover:after{
  content:"MUSIC";
  position:absolute;
  right:-35px;
  bottom:-72px;
  color:#fff;
  opacity:.025;
  font:1000 clamp(170px,30vw,380px)/1 Arial Black,Impact,sans-serif;
  letter-spacing:-.09em;
}
.music-cover-inner{
  position:relative;z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);
  gap:34px;
  align-items:stretch;
  padding-top:58px;
  padding-bottom:54px;
}
.music-cover-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.music-cover-kicker{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--music-gold);
  font-size:9px;
  font-weight:1000;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.music-cover-kicker:before{
  content:"";
  width:42px;height:4px;
  background:var(--music-pink);
}
.music-cover h1{
  margin:12px 0 20px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(62px,9vw,112px);
  line-height:.82;
  letter-spacing:-.07em;
}
.music-cover h1 em{
  display:block;
  color:var(--music-gold);
  font-style:normal;
}
.music-cover-copy > p{
  max-width:700px;
  margin:0;
  color:#c7c0b6;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(19px,2.2vw,25px);
  line-height:1.38;
}
.music-cover-nav{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:24px;
}
.music-cover-nav a{
  padding:9px 11px;
  border:1px solid #3c3940;
  background:#121216;
  font-size:8px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.music-cover-nav a:hover{
  border-color:var(--music-gold);
  color:var(--music-gold);
}

.music-cover-story{
  position:relative;
  overflow:hidden;
  min-height:455px;
  padding:24px;
  border:1px solid #44353e;
  background:
    radial-gradient(circle at 80% 20%,rgba(162,59,108,.30),transparent 13rem),
    radial-gradient(circle at 12% 90%,rgba(216,179,111,.12),transparent 16rem),
    linear-gradient(145deg,#2b1522,#111 64%);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 24px 55px rgba(0,0,0,.25);
}
.music-cover-story-ring{
  position:absolute;
  width:310px;height:310px;
  border-radius:50%;
  right:-90px;top:-70px;
  border:2px solid rgba(255,255,255,.09);
  background:
    repeating-radial-gradient(circle,transparent 0 12px,rgba(255,255,255,.035) 13px 14px),
    radial-gradient(circle,#a23b6c 0 28px,#0c0c0d 29px 54px,#171719 55px 100%);
  opacity:.75;
}
.music-cover-story-top{
  position:relative;z-index:2;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.music-cover-story-top span{
  color:var(--music-gold);
  font-size:9px;
  font-weight:1000;
  letter-spacing:.13em;
}
.music-cover-story-top b{
  color:#fff;
  opacity:.11;
  font:1000 88px/.7 Arial Black,Impact,sans-serif;
  letter-spacing:-.08em;
}
.music-cover-story-copy{
  position:relative;z-index:2;
}
.music-cover-story-copy small{
  color:#bdaab4;
  font-size:9px;
  font-weight:1000;
  letter-spacing:.13em;
}
.music-cover-story h2{
  max-width:540px;
  margin:9px 0 12px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(35px,4.4vw,54px);
  line-height:.95;
  letter-spacing:-.05em;
}
.music-cover-story p{
  max-width:500px;
  margin:0;
  color:#b9b0b5;
  font-size:12px;
  line-height:1.48;
}
.music-cover-story strong{
  display:block;
  margin-top:20px;
  color:#fff;
  font-size:9px;
  letter-spacing:.09em;
  text-transform:uppercase;
}

/* Shared section heads */
.music-revamp-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:24px;
  margin-bottom:22px;
}
.music-revamp-head span{
  color:var(--music-red);
  font-size:9px;
  font-weight:1000;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.music-revamp-head h2{
  margin:4px 0 0;
  font-size:clamp(36px,5.5vw,60px);
  line-height:.92;
  letter-spacing:-.055em;
  text-transform:uppercase;
}
.music-revamp-head p{
  max-width:390px;
  margin:0;
  color:#777067;
  font-size:12px;
  line-height:1.5;
}
.music-revamp-head.light h2{color:#f8f1e5}
.music-revamp-head.light p{color:#9f9991}

/* Regional Rankings */
.regional-rankings{
  background:#f2ede3;
  color:#111;
  padding:50px 0 56px;
}
.regional-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.regional-card{
  position:relative;
  min-height:260px;
  padding:20px;
  color:#f7f1e8;
  border:1px solid rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:#111;
}
.regional-final{
  grid-column:1/-1;
  min-height:310px;
  background:
    radial-gradient(circle at 86% 14%,rgba(216,179,111,.18),transparent 12rem),
    linear-gradient(145deg,#2c2317,#111 70%);
}
.regional-west{background:linear-gradient(145deg,#3d1e17,#111 68%)}
.regional-south{background:linear-gradient(145deg,#2c2616,#111 68%)}
.regional-east{background:linear-gradient(145deg,#23141d,#111 68%)}
.regional-midwest{background:linear-gradient(145deg,#2a2114,#111 68%)}
.regional-card-top{
  display:flex;
  justify-content:space-between;
  gap:14px;
  color:var(--music-gold);
  font-size:8px;
  font-weight:1000;
  letter-spacing:.12em;
}
.regional-card small{
  color:#9c958d;
  font-size:8px;
  font-weight:1000;
  letter-spacing:.11em;
}
.regional-card h3{
  margin:9px 0 8px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(29px,4vw,43px);
  line-height:.98;
  letter-spacing:-.045em;
}
.regional-card p{
  margin:0;
  color:#aaa29a;
  font-size:11px;
  line-height:1.45;
}
.regional-card strong{
  display:block;
  margin-top:17px;
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Music desk */
.music-desk-revamp{
  background:#0d0d10;
  color:#f8f1e5;
  padding:48px 0 54px;
}
.music-desk-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.music-desk-card{
  min-height:190px;
  padding:18px;
  border:1px solid #343239;
  background:linear-gradient(145deg,#17171b,#0d0d10);
  display:flex;
  flex-direction:column;
}
.music-desk-card.desk-album{
  border-color:#725b3a;
  background:
    radial-gradient(circle at 82% 20%,rgba(216,179,111,.12),transparent 10rem),
    linear-gradient(145deg,#241b13,#0d0d10);
}
.music-desk-card small{
  color:var(--music-gold);
  font-size:8px;
  font-weight:1000;
  letter-spacing:.12em;
}
.music-desk-card h3{
  margin:10px 0 7px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:29px;
  line-height:1;
  letter-spacing:-.04em;
}
.music-desk-card p{
  margin:0;
  color:#aaa39a;
  font-size:11px;
  line-height:1.45;
}
.music-desk-card b{
  margin-top:auto;
  padding-top:18px;
  font-size:9px;
  letter-spacing:.08em;
}

/* Tighten inherited sections without changing their content */
.music-front-page .franchise-strip{
  padding-top:42px;
  padding-bottom:44px;
}
.music-front-page .franchise-card{
  min-height:132px;
}
.music-front-page .spotify-library{
  padding-top:48px;
  padding-bottom:50px;
}
.music-front-page .album-feature{
  padding-top:52px;
  padding-bottom:54px;
}

/* Mobile */
@media(max-width:900px){
  .music-cover-inner{
    grid-template-columns:1fr;
  }
  .music-cover-story{
    min-height:360px;
  }
}
@media(max-width:680px){
  .music-cover-inner{
    padding-top:34px;
    padding-bottom:36px;
    gap:24px;
  }
  .music-cover h1{
    font-size:clamp(52px,15vw,76px);
  }
  .music-cover-copy > p{
    font-size:18px;
  }
  .music-cover-nav{
    gap:6px;
  }
  .music-cover-nav a{
    padding:8px 9px;
    font-size:7px;
  }
  .music-cover-story{
    min-height:300px;
    padding:18px;
  }
  .music-cover-story-ring{
    width:230px;height:230px;
    right:-85px;top:-62px;
  }
  .music-cover-story-top b{
    font-size:66px;
  }
  .music-cover-story h2{
    font-size:34px;
  }
  .regional-rankings{
    padding-top:40px;
    padding-bottom:44px;
  }
  .music-revamp-head{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
  .regional-grid{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .regional-final{
    grid-column:1/-1;
    min-height:190px;
  }
  .regional-card{
    min-height:165px;
    padding:14px;
  }
  .regional-card h3{
    font-size:25px;
  }
  .regional-card p{
    font-size:10px;
  }
  .music-desk-revamp{
    padding-top:40px;
    padding-bottom:44px;
  }
  .music-desk-grid{
    grid-template-columns:1fr;
  }
  .music-desk-card{
    min-height:135px;
    padding:15px;
  }
  .music-desk-card h3{
    font-size:26px;
  }
  .music-front-page .franchise-card{
    min-height:112px;
  }
  .music-front-page .spotify-card iframe{
    height:300px;
  }
}

/* Extra narrow phones: make regional cards full width so headlines never crush. */
@media(max-width:430px){
  .regional-grid{
    grid-template-columns:1fr;
  }
  .regional-final{
    grid-column:auto;
  }
  .regional-card{
    min-height:145px;
  }
}

/* 4DK ROTATION — SEPTEMBER 2026 REFRESH */
.rotation-update{
  display:inline-flex;
  align-items:center;
  margin:0 0 16px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.035);
  color:#a7a19a;
  font-size:7px;
  font-weight:1000;
  letter-spacing:.13em;
}
.refreshed-rotation .spotify-card{
  position:relative;
}
.refreshed-rotation .spotify-card.current{
  box-shadow:inset 0 4px 0 #d8442f;
}
.refreshed-rotation .spotify-label span{
  text-transform:uppercase;
  letter-spacing:.11em;
}
@media(max-width:680px){
  .rotation-update{margin-bottom:12px}
}
