/* Rockblog On Air – shared V3 treatment for content/detail pages.
   Keeps page-specific functionality intact and only harmonises presentation. */
.rb-content-v3{
  --rbv3-border:rgba(255,255,255,.11);
  --rbv3-border-strong:rgba(255,208,109,.28);
  --rbv3-panel:#101720;
  --rbv3-panel-deep:#0b1016;
  --rbv3-muted:#c6d0db;
  --rbv3-accent:#ffd06d;
}

.rb-content-v3 .page-shell{padding-top:.15rem}
.rb-content-v3 .section{margin-top:clamp(2.2rem,4.2vw,3.8rem)}
.rb-content-v3 .section.no-top{margin-top:0;padding-top:0}
.rb-content-v3 .top-gap{margin-top:clamp(1.2rem,2.2vw,1.8rem)}

/* Compact, image-led subpage hero in the same family as homepage V3. */
.rb-content-v3 .subhero{
  margin:1.25rem 0 clamp(1.7rem,3vw,2.6rem);
  padding:clamp(1.35rem,3vw,2.55rem);
  border:1px solid var(--rbv3-border);
  border-radius:28px;
  background:linear-gradient(135deg,#0d1118 0%,#0a0e14 58%,#101924 100%);
  box-shadow:0 22px 60px rgba(0,0,0,.20);
}
.rb-content-v3 .subhero.subhero-split{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);
  align-items:center;
  gap:clamp(1.5rem,3vw,3rem);
}
.rb-content-v3 .subhero .breadcrumbs{margin:0 0 1.35rem;color:#aeb9c6}
.rb-content-v3 .subhero .breadcrumbs a{color:#d8e0e8}
.rb-content-v3 .subhero .kicker{
  margin:0 0 .45rem;
  padding:0;
  border:0;
  background:none;
  color:var(--rbv3-accent);
  line-height:1.55;
}
.rb-content-v3 .subhero h1{
  margin:.2rem 0 .8rem;
  font-size:clamp(2.45rem,4.6vw,4.2rem);
  line-height:1.02;
  letter-spacing:-.042em;
  text-wrap:balance;
}
.rb-content-v3 .subhero .lead{
  max-width:66ch;
  margin-bottom:0;
  color:#d7dee7;
  font-size:clamp(1rem,1.35vw,1.13rem);
  line-height:1.7;
}
.rb-content-v3 .subhero-visual{
  width:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  border:1px solid var(--rbv3-border);
  border-radius:21px;
  background:#090d13;
  box-shadow:0 16px 40px rgba(0,0,0,.23);
}
.rb-content-v3 .subhero-visual img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  aspect-ratio:3/2;
  object-fit:contain;
  border-radius:0;
}

/* Cards and information blocks */
.rb-content-v3 .grid{gap:1.2rem}
.rb-content-v3 .card,
.rb-content-v3 .community-strip,
.rb-content-v3 .artist-inline-callout,
.rb-content-v3 .privacy-note{
  border:1px solid var(--rbv3-border);
  border-radius:24px;
  background:linear-gradient(145deg,#111821,#0c1118);
  box-shadow:0 18px 44px rgba(0,0,0,.16);
}
.rb-content-v3 .card::before{display:none}
.rb-content-v3 .content-card{padding:clamp(1.35rem,2.8vw,2.2rem)}
.rb-content-v3 .content-card h2,
.rb-content-v3 .section-heading h2{
  margin-top:.25rem;
  font-size:clamp(1.6rem,2.7vw,2.35rem);
  line-height:1.08;
  letter-spacing:-.028em;
}
.rb-content-v3 .content-card h3{letter-spacing:-.015em}
.rb-content-v3 .content-card p:not(.eyebrow),
.rb-content-v3 .community-strip p,
.rb-content-v3 .artist-inline-callout p{
  color:var(--rbv3-muted);
  line-height:1.72;
}
.rb-content-v3 .content-card p:last-child{margin-bottom:0}
.rb-content-v3 .eyebrow{color:var(--rbv3-accent)}
.rb-content-v3 .check-list{gap:.7rem}
.rb-content-v3 .check-list li{line-height:1.55}
.rb-content-v3 .notice,
.rb-content-v3 .info{
  padding:1rem 1.15rem;
  border:1px solid rgba(255,208,109,.22);
  border-radius:16px;
  background:linear-gradient(90deg,rgba(255,111,35,.09),rgba(31,135,214,.06));
}
.rb-content-v3 .button-row{gap:.7rem;flex-wrap:wrap}

/* Forms stay functionally unchanged, but feel like the new site. */
.rb-content-v3 form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.rb-content-v3 form textarea,
.rb-content-v3 form select{
  border-color:rgba(255,255,255,.13);
  background:#0a1017;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}
.rb-content-v3 form input:focus,
.rb-content-v3 form textarea:focus,
.rb-content-v3 form select:focus{
  border-color:rgba(255,208,109,.58);
  outline:2px solid rgba(255,208,109,.12);
  outline-offset:1px;
}
.rb-content-v3 .upload-note,
.rb-content-v3 .ai-transparency-box{
  border-color:rgba(255,255,255,.13);
  border-radius:18px;
  background:rgba(255,255,255,.025);
}
.rb-content-v3 .form-privacy{line-height:1.6}

/* Artist missions / archive pages */
.rb-content-v3 .artist-mission-poster,
.rb-content-v3 .action-poster{
  overflow:hidden;
  border:1px solid var(--rbv3-border);
  border-radius:24px;
  background:#090d13;
  box-shadow:0 20px 50px rgba(0,0,0,.18);
}
.rb-content-v3 .mission-meta-box,
.rb-content-v3 .meta-box,
.rb-content-v3 .countdown-unit{
  border-color:var(--rbv3-border)!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#111821,#0c1118)!important;
}
.rb-content-v3 .mission-section,
.rb-content-v3 .mission-callout,
.rb-content-v3 .mission-finale{
  border-color:var(--rbv3-border)!important;
  border-radius:22px!important;
}
.rb-content-v3 .archive-card-image{border-radius:18px;overflow:hidden}

/* Rockblog erklärt */
.rb-content-v3 .faq-group,
.rb-content-v3 .lore-card,
.rb-content-v3 .rockblog-weird{
  border:1px solid var(--rbv3-border)!important;
  border-radius:24px!important;
  background:linear-gradient(145deg,#111821,#0c1118)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.14);
}
.rb-content-v3 .faq-item{
  border-color:rgba(255,255,255,.09)!important;
  background:rgba(8,12,17,.42)!important;
}
.rb-content-v3 .teddy-note{
  border-color:rgba(255,208,109,.22)!important;
  border-radius:16px!important;
  background:linear-gradient(90deg,rgba(255,111,35,.08),rgba(31,135,214,.05))!important;
}
.rb-content-v3 .lore-card img{border-radius:18px}

/* Charts / listener favourites */
.rb-content-v3 .today-favorite,
.rb-content-v3 .winner-archive,
.rb-content-v3 .chart-card,
.rb-content-v3 .chart-loading{
  border-color:var(--rbv3-border)!important;
  border-radius:22px!important;
}
.rb-content-v3 .today-favorite,
.rb-content-v3 .winner-archive{
  background:linear-gradient(145deg,#111821,#0c1118)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.14);
}
.rb-content-v3 .today-favorite-cover,
.rb-content-v3 .winner-cover{border-radius:18px!important}

/* Supporting / contact strips */
.rb-content-v3 .community-strip,
.rb-content-v3 .artist-inline-callout,
.rb-content-v3 .privacy-note{padding:clamp(1.2rem,2.5vw,1.8rem)}
.rb-content-v3 .icon{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border:1px solid var(--rbv3-border);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,106,26,.16),rgba(22,141,226,.12));
}

/* Page-specific fine tuning without changing markup. */
.rb-page-power .subhero-visual img{object-fit:cover}
.rb-page-actions .subhero{padding-bottom:clamp(1.35rem,3vw,2.3rem)}
.rb-page-explained .subhero{max-width:none}
.rb-page-explained .faq-group-head h2{letter-spacing:-.025em}
.rb-page-contact .community-strip{margin-top:1.2rem}
.rb-page-music .artist-inline-callout{margin-top:1.2rem}
.rb-page-support .rb-support-vote-card{border-radius:24px}

@media(max-width:1000px){
  .rb-content-v3 .subhero.subhero-split{grid-template-columns:minmax(0,1fr)}
  .rb-content-v3 .subhero-visual{max-width:760px}
}
@media(max-width:720px){
  .rb-content-v3 .page-shell{padding-top:0}
  .rb-content-v3 .subhero{margin-top:.8rem;padding:1.15rem;border-radius:22px}
  .rb-content-v3 .subhero h1{font-size:clamp(2.25rem,10vw,3.3rem)}
  .rb-content-v3 .subhero .breadcrumbs{margin-bottom:1rem}
  .rb-content-v3 .card,
  .rb-content-v3 .community-strip,
  .rb-content-v3 .artist-inline-callout,
  .rb-content-v3 .privacy-note{border-radius:20px}
  .rb-content-v3 .content-card{padding:1.25rem}
  .rb-content-v3 .button-row .button,
  .rb-content-v3 .button-row .button-secondary,
  .rb-content-v3 .button-row .button-ghost{width:100%;text-align:center}
}


/* Legal pages and 404 */
.rb-page-legal .subhero{
  padding:clamp(1.3rem,2.7vw,2.15rem);
  margin-bottom:1.35rem;
}
.rb-page-legal .subhero h1{font-size:clamp(2.25rem,4.2vw,3.7rem)}
.rb-page-legal .content-stack{max-width:980px;margin-inline:auto}
.rb-page-legal .prose.content-card{
  padding:clamp(1.35rem,3vw,2.5rem);
  box-shadow:0 18px 44px rgba(0,0,0,.12);
}
.rb-page-legal .prose h2{
  margin:2.3rem 0 .8rem;
  padding-top:1.25rem;
  border-top:1px solid rgba(255,255,255,.08);
  font-size:clamp(1.35rem,2vw,1.8rem);
  line-height:1.2;
}
.rb-page-legal .prose h2:first-child{margin-top:0;padding-top:0;border-top:0}
.rb-page-legal .prose p,
.rb-page-legal .prose li{line-height:1.72}
.rb-page-legal .prose ul{padding-left:1.25rem}
.rb-page-privacy .content-stack{max-width:1040px}

.rb-page-404 .page-shell{min-height:100vh;display:grid;align-items:center;padding-block:2rem}
.rb-page-404 .standalone-page{
  position:relative;
  min-height:auto;
  max-width:920px;
  width:100%;
  margin:auto;
  padding:clamp(1.5rem,5vw,3.5rem);
  overflow:hidden;
}
.rb-page-404 .standalone-page::after{
  content:"404";
  position:absolute;
  right:clamp(-.15rem,2vw,1.2rem);
  bottom:clamp(-2rem,-2vw,-.65rem);
  z-index:0;
  color:rgba(255,255,255,.035);
  font-size:clamp(9rem,25vw,18rem);
  font-weight:950;
  line-height:.72;
  letter-spacing:-.08em;
  pointer-events:none;
}
.rb-page-404 .standalone-page > *{position:relative;z-index:1}
.rb-page-404 .standalone-brand{width:min(390px,75%);margin-bottom:clamp(1.6rem,4vw,2.7rem)}
.rb-page-404 .standalone-brand img{border-radius:16px}
.rb-page-404 .standalone-page h1{max-width:13ch}
.rb-page-404 .standalone-page .lead{max-width:58ch}
.rb-page-404 .rb-404-actions{margin-top:1.35rem}
@media(max-width:720px){
  .rb-page-legal .prose h2{margin-top:1.8rem;padding-top:1rem}
  .rb-page-404 .page-shell{padding-block:1rem}
  .rb-page-404 .standalone-page{padding:1.25rem}
}
