/* Programme and schedule: isolated visual companion to homepage V3.9. */
.rb-program { --program-border: rgba(255,255,255,.11); --program-muted: #c7d0da; }
.rb-program .subhero { margin: 1.4rem 0 2rem; padding: clamp(1.35rem,3.5vw,2.8rem); border: 1px solid var(--program-border); border-radius: 28px; background: linear-gradient(135deg,#0d1118,#0a0e14 58%,#101924); gap: clamp(1.5rem,3vw,3rem); grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); }
.rb-program .breadcrumbs { margin: 0 0 1.5rem; }
.rb-program .kicker { border: 0; padding: 0; background: none; }
.rb-program h1 { font-size: clamp(2.5rem,5vw,4.4rem); margin-bottom: .8rem; }
.rb-program .lead { font-size: clamp(1rem,1.5vw,1.15rem); line-height: 1.7; color: #d7dde5; }
.rb-program .subhero-visual { width: 100%; margin: 0; padding: 0; border: 1px solid var(--program-border); border-radius: 20px; overflow: hidden; background: #090d13; }
.rb-program .subhero-visual img { display: block; width: 100%; max-height: none; border-radius: 0; }
.rb-program .card, .rb-program .visual-band, .rb-program .day-card { border: 1px solid var(--program-border); background: linear-gradient(145deg,#111821,#0c1118); border-radius: 24px; box-shadow: 0 18px 44px rgba(0,0,0,.18); min-width: 0; }
.rb-program .card::before { display: none; }
.rb-program .card p { color: var(--program-muted); line-height: 1.7; }
.rb-program h2 { letter-spacing: -.025em; }
.program-themes .card { padding: clamp(1.3rem,2.5vw,1.9rem); }
.program-themes h2 { font-size: clamp(1.45rem,2.4vw,2rem); }
.program-themes .icon { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 1.3rem; border-radius: 16px; border: 1px solid var(--program-border); background: linear-gradient(135deg,rgba(255,106,26,.16),rgba(22,141,226,.12)); }
.rb-program .program-week { display: block; margin-top: clamp(2rem,4vw,3.5rem); padding: clamp(1.3rem,3vw,2.4rem); }
.rb-program .program-week h2 { font-size: clamp(1.8rem,3.4vw,2.8rem); max-width: 24ch; }
.rb-program .program-formats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .85rem; list-style: none; margin: 1.6rem 0; padding: 0; }
.rb-program .program-formats li { margin: 0; padding: 1.2rem; border: 1px solid var(--program-border); border-radius: 16px; background: #0a0f16; }
.program-formats strong { display: block; color: #ffd06d; margin-bottom: .5rem; font-size: 1.05rem; }
.program-formats span { color: var(--program-muted); line-height: 1.7; }
.rb-program .program-week .button-row { flex-direction: row; flex-wrap: wrap; gap: .75rem; padding-top: .35rem; }
.rb-program .program-week .button-row a { width: auto; }
.rb-program .program-story { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: clamp(1.5rem,3vw,2.5rem); align-items: center; margin-top: 1.2rem; padding: clamp(1.3rem,3vw,2.4rem); }
.program-story-art img { display: block; width: 100%; height: auto; border-radius: 18px; }
.program-story-copy { min-width: 0; }
.program-story h2 { font-size: clamp(1.6rem,2.8vw,2.3rem); }
.program-story p:last-child { margin-bottom: 0; }
.program-days-nav { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.5rem; }
.program-days-nav a { padding: .65rem 1rem; border: 1px solid var(--program-border); border-radius: 999px; background: #10151d; color: #d7dde5; text-decoration: none; font-size: .9rem; font-weight: 750; }
.program-days-nav a:hover { border-color: #ffd06d; color: #ffd06d; }
.rb-program .schedule-days { gap: 1.2rem; align-items: stretch; }
.rb-program .day-card { padding: clamp(1.1rem,2.4vw,1.7rem); scroll-margin-top: 110px; }
.rb-program .day-card h2 { font-size: 1.85rem; margin: .15rem 0 1.25rem; padding-bottom: 1.2rem; border-bottom: 1px solid var(--program-border); }
.rb-program .day-card ul { gap: .4rem; }
.rb-program .day-card li { grid-template-columns: 126px minmax(0,1fr); gap: .8rem; margin: 0; padding: .8rem .65rem; border: 0; border-radius: 12px; }
.rb-program .day-card li + li { border-top: 1px solid rgba(255,255,255,.05); }
.rb-program .day-card time { color: #ffd06d; font-size: .86rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rb-program .day-card strong { font-size: .98rem; line-height: 1.45; }
.rb-program .day-card span { color: var(--program-muted); margin-top: .25rem; font-size: .85rem; line-height: 1.55; }
.rb-program .day-card .schedule-feature { background: linear-gradient(110deg,rgba(255,125,47,.12),rgba(22,141,226,.05)); box-shadow: inset 3px 0 #ffad4a; }
.rb-program .program-schedule-note { margin: 0; padding: clamp(1.5rem,3vw,2.5rem); align-self: stretch; display: flex; flex-direction: column; justify-content: center; border: 1px solid var(--program-border); border-radius: 24px; color: var(--program-muted); background: linear-gradient(145deg,#111821,#102437); line-height: 1.8; }
.program-schedule-note > strong { color: #fff8ee; display: block; margin-bottom: .8rem; font-size: 1.6rem; line-height: 1.2; letter-spacing: -.025em; }
.rb-program--sendeplan .section > .button-row { margin-top: 1.5rem; }
@media (max-width: 1000px) {
  .rb-program .schedule-days { grid-template-columns: minmax(0,1fr); }
  .rb-program .day-card li { grid-template-columns: 145px minmax(0,1fr); }
  .rb-program .program-story { grid-template-columns: 1fr; }
  .program-story-art { max-width: 520px; }
}
@media (max-width: 760px) {
  .rb-program .subhero { grid-template-columns: minmax(0,1fr); border-radius: 22px; margin-top: .85rem; padding: 1.2rem; }
  .rb-program .subhero-visual { order: 0; max-width: 480px; justify-self: start; }
  .rb-program .program-formats { grid-template-columns: minmax(0,1fr); }
  .rb-program .program-week .button-row { flex-direction: column; align-items: stretch; }
  .rb-program .program-week .button-row a { width: 100%; text-align: center; }
  .rb-program .day-card h2 { font-size: 1.65rem; }
  .rb-program .day-card li { grid-template-columns: 124px minmax(0,1fr); gap: .65rem; padding-inline: .6rem; }
  .program-days-nav a { padding: .6rem .8rem; }
}
@media (max-width: 420px) {
  .rb-program .day-card li { grid-template-columns: minmax(0,1fr); gap: .25rem; padding: .85rem; }
  .rb-program .subhero .button-row { flex-direction: column; align-items: stretch; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.rb-program) { scroll-behavior: auto; }
}

/* Programme refinement: page-scoped so the schedule keeps its layout. */
.rb-program--programm .subhero{border:0;background:none;box-shadow:none;padding:1.5rem 0 2rem;grid-template-columns:minmax(0,1fr) 240px;margin-bottom:0}
.rb-program--programm .subhero-visual{border:0;border-radius:18px;opacity:.85}
.rb-program--programm .program-story{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);padding:0;overflow:hidden;margin:0 0 clamp(3rem,6vw,5rem);gap:0;border-color:rgba(255,184,81,.23)}
.rb-program--programm .program-story-art{max-width:none;align-self:center}
.rb-program--programm .program-story-art img{width:100%;height:auto;border-radius:0;object-fit:contain}
.rb-program--programm .program-story-copy{padding:clamp(1.4rem,3vw,2.8rem)}
.rb-program--programm .program-story h2{font-size:clamp(1.7rem,2.6vw,2.6rem);text-wrap:balance;line-height:1.15}
.rb-program--programm .program-story .eyebrow{color:#ffd06d}
.rb-program--programm .program-themes{gap:clamp(1.5rem,3vw,3rem)}
.rb-program--programm .program-themes .card{padding:0 0 1.5rem;border:0;border-bottom:1px solid var(--program-border);border-radius:0;background:none;box-shadow:none}
.rb-program--programm .program-themes .icon{width:36px;height:36px;border:0;background:none;margin-bottom:.75rem;place-items:start;font-size:1.6rem}
.rb-program--programm .program-themes h2{font-size:1.45rem}
.rb-program--programm .program-week{padding:0;border:0;background:none;box-shadow:none;border-radius:0;margin-top:clamp(3rem,6vw,5rem)}
.rb-program--programm .program-formats{gap:0 2.5rem;margin-block:2rem}
.rb-program--programm .program-formats li{padding:1.35rem 0;border:0;border-top:1px solid var(--program-border);border-radius:0;background:none}
.rb-program--programm .program-formats strong{color:#f6f3ed;font-size:1.12rem}
.rb-program--programm .program-formats span{display:block;font-size:.95rem}
.rb-program--programm .program-formats li:first-child strong{color:#ffd06d}
.rb-program--programm .program-format-illustrated{display:grid;grid-template-columns:88px minmax(0,1fr);column-gap:1.1rem;align-content:center}
.program-format-illustrated img{grid-row:1/3;width:88px;height:88px;object-fit:contain;border-radius:12px;align-self:center}
.rb-program--programm .program-outro{margin-top:3rem;padding:1.5rem 0 0;border-top:1px solid var(--program-border);color:var(--program-muted);line-height:1.8;max-width:85ch}
.rb-program--programm #audiocast{scroll-margin-top:110px}
@media(max-width:1000px){.rb-program--programm .program-story{grid-template-columns:minmax(0,1fr)}.rb-program--programm .program-story-art img{max-height:520px}.rb-program--programm .program-story-copy{padding:1.6rem}}
@media(max-width:760px){.rb-program--programm .subhero{grid-template-columns:minmax(0,1fr);padding-top:.75rem}.rb-program--programm .subhero-visual{display:none}.rb-program--programm .program-story-copy{padding:1.25rem}.rb-program--programm .program-story .button-row{align-items:stretch;flex-direction:column;text-align:center}.rb-program--programm .program-themes{gap:1.4rem}.rb-program--programm .program-themes .card{padding-bottom:1rem}.rb-program--programm .program-format-illustrated{grid-template-columns:72px minmax(0,1fr);column-gap:.85rem}.program-format-illustrated img{width:72px;height:72px}}
