/* Beatmusik-FM V4.8 | Festival-Sendeplan / Variante B
   Nur die Sendeplan-Unterseite. Verwendet bestehende Design-Center-Farben. */
.bm48-section{padding-top:22px;padding-bottom:58px;--bm48-lime:var(--green,#ceff3b);--bm48-pink:var(--pink,#ff4ea9);--bm48-violet:var(--violet,#ad5cff);--bm48-ink:#0b100d}
.bm48-section [hidden]{display:none!important}
.bm48-festival-hero{position:relative;isolation:isolate;min-height:310px;display:flex;flex-direction:column;justify-content:flex-end;gap:25px;overflow:hidden;padding:34px 36px 27px;border-radius:25px;border:1px solid #d6ff4b4d;background:#101115 url('festival-stage-v4.8.svg') center / cover no-repeat;box-shadow:0 18px 52px #0009,0 0 45px #b72c9029}
.bm48-festival-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,11,7,.92) 0%,rgba(8,11,11,.81) 38%,rgba(18,6,27,.2) 85%),linear-gradient(0deg,rgba(7,9,6,.86),transparent 58%)}
.bm48-festival-hero:after{content:"";position:absolute;inset:auto -15% -130px;height:190px;background:radial-gradient(ellipse at center,#e821a64a,transparent 70%);filter:blur(14px);pointer-events:none;z-index:-1}
.bm48-hero-copy{position:relative;z-index:1;max-width:770px}
.bm48-overline{font-size:11px;font-weight:950;letter-spacing:.16em;color:var(--bm48-lime);text-transform:uppercase}
.bm48-hero-copy h1{font-size:clamp(38px,5.7vw,72px);font-family:system-ui,Arial,sans-serif;font-weight:950;letter-spacing:-.065em;line-height:1.07;margin:14px 0 9px;text-shadow:0 3px 22px #0009;color:#fff}
.bm48-hero-copy h1 span{background:linear-gradient(98deg,#ffca60 0%,var(--bm48-pink) 42%,var(--bm48-violet) 100%);background-clip:text;-webkit-background-clip:text;color:transparent}
.bm48-hero-copy p{font-size:15px;color:#e4dfdf;line-height:1.55;max-width:580px;margin:0}
.bm48-hero-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}
.bm48-hero-pills span{font-size:11px;font-weight:800;color:#f7f7ee;border-radius:999px;border:1px solid #caff4568;background:#09100ab8;padding:9px 13px;box-shadow:0 0 12px #0006}
.bm48-hero-summary{display:flex;flex-wrap:wrap;gap:0;align-self:stretch;max-width:850px;border:1px solid #ffffff45;border-radius:17px;background:linear-gradient(105deg,#151c16de,#2b1029cc);backdrop-filter:blur(12px);box-shadow:0 15px 25px #0005;position:relative;z-index:1;overflow:hidden}
.bm48-hero-summary>div{padding:12px 20px;flex:1 1 150px;min-width:0}
.bm48-hero-summary>div+div{border-left:1px solid #ffffff2b}
.bm48-hero-summary small{font-size:10px;display:block;color:#d3ced4;font-weight:900;letter-spacing:.1em;margin-bottom:4px}
.bm48-hero-summary b{display:block;color:#fff;font-size:14px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bm48-hero-summary>div:first-child b{color:var(--bm48-lime)}
.bm48-spotlights{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:18px;margin:22px 0 35px}
.bm48-spotlights .schedule-spotlight{min-width:0;border-radius:23px;isolation:isolate;padding:23px 24px;overflow:hidden;box-shadow:0 16px 37px #0008}
.bm48-spotlights .bm48-spotlight-live{border:2px solid var(--bm48-pink);background:radial-gradient(circle at 1% 70%,#8a176c54,transparent 47%),radial-gradient(circle at 95% 0,#8c24b34d,transparent 48%),linear-gradient(110deg,#15151b,#241627 66%,#161e14)}
.bm48-spotlights .bm48-stream-live{border-color:var(--bm48-lime);box-shadow:0 0 30px #adff3e25,0 16px 37px #0008}
.bm48-spotlights .bm48-spotlight-next{border:2px solid var(--bm48-lime);background:radial-gradient(circle at 100% 0,#b9f12b38,transparent 64%),linear-gradient(126deg,#242319,#171f15 65%,#151b15)}
.bm48-spotlights .schedule-micro{color:var(--bm48-lime);font-weight:950;font-size:11px;letter-spacing:.1em;display:flex;align-items:center;gap:6px;margin-bottom:16px}
.bm48-current-body{display:flex;align-items:center;gap:18px;min-width:0}
.bm48-spotlights .bm48-current-avatar{width:143px;height:143px;border-radius:25px;flex:none;border:3px solid var(--bm48-pink);box-shadow:0 0 0 5px #bd29bf29,0 10px 34px #0009;font-size:65px;background:linear-gradient(145deg,#e4309f,#a03afd,#8edf2b)}
.bm48-current-copy{min-width:0}
.bm48-current-copy strong{display:block;font-size:clamp(22px,2.2vw,32px);color:#fff;letter-spacing:-.035em;line-height:1.2;margin:6px 0}
.bm48-current-copy h3{font-size:clamp(17px,1.6vw,22px);color:#fff;line-height:1.2;margin:4px 0 8px}
.bm48-show-meta{color:#dbe0d8;font-size:12px;font-weight:750}
.bm48-spotlight-description{margin:9px 0 0;color:#b5c0ae;line-height:1.45;font-size:12px;max-width:390px}
.bm48-profile-link{color:var(--bm48-lime);text-decoration:none;font-weight:850;font-size:12px;display:inline-block;margin-top:10px;position:relative;z-index:2}
.bm48-profile-link:hover{text-decoration:underline}
.bm48-progress{margin-top:19px;max-width:570px}
.bm48-progress-track{height:10px;overflow:hidden;background:#ffffff31;border-radius:999px}
.bm48-progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--bm48-lime),var(--bm48-pink));box-shadow:0 0 15px #a9ff3990}
.bm48-progress small{display:block;color:#c1c7ba;font-size:10px;margin-top:6px}
.bm48-equalizer{display:flex;align-items:center;justify-content:flex-end;gap:4px;height:45px;pointer-events:none}
.bm48-equalizer>i{--a:18px;display:block;width:5px;height:var(--a);border-radius:5px;background:linear-gradient(0deg,var(--bm48-lime) 5%,var(--bm48-pink) 100%);box-shadow:0 0 8px #f044a760;animation:bm48-eq 1.2s ease-in-out infinite alternate}
.bm48-equalizer>i:nth-child(2){--a:37px;animation-delay:-.3s}.bm48-equalizer>i:nth-child(3){--a:25px;animation-delay:-.6s}.bm48-equalizer>i:nth-child(4){--a:12px;animation-delay:-.15s}.bm48-equalizer>i:nth-child(5){--a:43px;animation-delay:-.8s}.bm48-equalizer>i:nth-child(6){--a:27px;animation-delay:-.5s}.bm48-equalizer>i:nth-child(7){--a:20px;animation-delay:-.1s}.bm48-equalizer>i:nth-child(8){--a:34px;animation-delay:-.7s}.bm48-equalizer>i:nth-child(9){--a:15px;animation-delay:-.25s}
@keyframes bm48-eq{to{height:calc(var(--a) * .45)}}
.bm48-spotlight-live>.bm48-equalizer{position:absolute;right:19px;top:22px;opacity:.75;transform:scale(.75);transform-origin:right top}
.bm48-next-body{display:flex;align-items:center;gap:16px;min-width:0}
.bm48-spotlights .bm48-next-avatar{width:105px;height:105px;flex:none;border-radius:20px;font-size:43px;border:2px solid var(--bm48-pink);box-shadow:0 0 19px #d630a238;background:linear-gradient(120deg,#de33a7,#db7367,#bcf537)}
.bm48-next-body>div{min-width:0}
.bm48-next-body strong{display:block;font-size:clamp(20px,1.9vw,28px);color:white;line-height:1.12;margin-bottom:7px;overflow-wrap:anywhere}
.bm48-next-body p{color:#dfdae0;margin:0 0 7px;font-size:15px}
.bm48-next-body small{font-size:12px;color:#c4c9bd}
.bm48-spotlights .schedule-countdown{border-top:1px solid #ffffff24;margin-top:19px;padding-top:14px;font-size:11px;letter-spacing:.1em;font-weight:900;color:#d1d6c5;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.bm48-spotlights .schedule-countdown b{color:var(--bm48-lime);font-size:clamp(17px,2.3vw,27px);line-height:1.25;letter-spacing:0}
.bm48-program-bar{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:19px}
.bm48-program-bar h2{font-size:clamp(26px,3vw,36px);line-height:1.1;margin:6px 0;font-weight:950;letter-spacing:-.05em;color:#fff}
.bm48-program-bar p{color:var(--muted);font-size:13px;margin:0}
.bm48-manage{border:1px solid var(--bm48-pink);border-radius:10px;padding:11px 16px;color:var(--bm48-lime);font-size:12px;white-space:nowrap;font-weight:900;text-decoration:none;background:#161811aa;transition:background .2s}
.bm48-manage:hover{background:#452240}
.bm48-week-wrap{border:1px solid #caff392b;border-radius:17px;background:linear-gradient(135deg,#131b15,#17171c);padding:13px 16px 11px;margin-bottom:18px}
.bm48-section .bm48-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin:0}
.bm48-section .bm48-days .schedule-day{background:linear-gradient(140deg,#282b29,#191d1a);border:1px solid #ffffff26;border-radius:12px;min-height:71px;box-shadow:none;color:#cfd2c9;padding:9px 3px;font-size:13px;transition:transform .18s,background .18s}
.bm48-section .bm48-days .schedule-day b{font-size:17px;color:#f5f7ef}
.bm48-section .bm48-days .schedule-day span{font-size:10px;color:#aab3a1}
.bm48-section .bm48-days .schedule-day.active{background:var(--bm48-lime);border-color:var(--bm48-lime);transform:translateY(-2px);box-shadow:0 0 22px #beff315e;color:#12150b}
.bm48-section .bm48-days .schedule-day.active b,.bm48-section .bm48-days .schedule-day.active span{color:#11150d}
.bm48-section .bm48-days .schedule-day i{font-style:normal;font-size:8px;line-height:1.25;color:#ec8ccd}
.bm48-section .bm48-days .schedule-day.active i{color:#5e2054}
.bm48-timezone{font-size:10px;color:#a7b39e;margin:10px 2px 0;text-align:center}
.bm48-show-list{display:grid;gap:13px}
.bm48-show-list .bm48-show{display:grid;grid-template-columns:180px minmax(0,1fr) auto;align-items:center;gap:0;min-height:151px;padding:0;border-radius:18px;border:1px solid #ffffff35;background:linear-gradient(108deg,#281c2c 0%,#161d17 70%,#171d17 100%);box-shadow:0 11px 32px #0006;overflow:hidden;position:relative}
.bm48-show-list .bm48-show:before{width:5px;background:var(--bm48-lime);box-shadow:0 0 22px var(--bm48-lime)}
.bm48-show-list .bm48-show.schedule-pink:before{background:var(--bm48-pink)}
.bm48-show-list .bm48-show.schedule-orange:before{background:#ff9454}
.bm48-show-list .bm48-show.schedule-violet:before{background:var(--bm48-violet)}
.bm48-show-list .bm48-show.schedule-is-live{border-color:var(--bm48-lime);box-shadow:0 0 24px #baff2b25,0 14px 30px #0008}
.bm48-show-list .bm48-show.bm48-real-live{border-color:var(--bm48-lime);box-shadow:0 0 26px #dfff4180,0 14px 34px #0008}
.bm48-show-art{height:100%;min-height:151px;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 70% 50%,#c132ac8a,#4d1a6377 56%,#1d1b25);border-right:1px solid #ffffff28}
.bm48-show:nth-child(2n) .bm48-show-art{background:radial-gradient(circle at 70% 40%,#d8744482,#9c237b66 60%,#171923)}
.bm48-show:nth-child(3n) .bm48-show-art{background:radial-gradient(circle at 30% 50%,#729d287c,#7f27a566 59%,#171923)}
.bm48-show-list .bm48-show-avatar{width:120px;height:120px;border:3px solid var(--bm48-pink);border-radius:25px;box-shadow:0 8px 30px #0007,0 0 0 5px #bd20ad27;font-size:54px;position:relative;z-index:1;background:linear-gradient(150deg,#bcff3a,#ef4b9c,#ae69f9)}
.bm48-art-sparkle{position:absolute;right:11px;top:10px;color:#baff44;opacity:.8;font-size:19px}
.bm48-show-text{padding:16px 24px;min-width:0}
.bm48-show-time{color:var(--bm48-lime);font-size:12px;font-weight:900;letter-spacing:.025em}
.bm48-show-text h3{font-size:clamp(20px,2.5vw,27px);line-height:1.12;font-weight:950;letter-spacing:-.045em;margin:6px 0 5px;color:white;overflow-wrap:anywhere}
.bm48-show-text>p{font-size:13px;color:#e6e6df;margin:0}
.bm48-show-desc{font-size:12px;color:#b7c3b5;margin:9px 0 0;max-width:650px;line-height:1.5;overflow-wrap:anywhere}
.bm48-show-repeat{color:#9ccda1;font-size:10px;margin-top:8px}
.bm48-show-side{display:flex;align-items:center;justify-content:flex-end;flex-direction:column;gap:18px;padding:15px 23px;min-width:145px}
.bm48-show-badge{border:1px solid #ffffff3b;border-radius:100px;font-size:9px;font-weight:950;padding:8px 10px;color:#d0dacb;white-space:nowrap;letter-spacing:.05em}
.bm48-badge-live{background:var(--bm48-lime);color:#0f1909;border-color:var(--bm48-lime);animation:bm48-onair 2s ease-in-out infinite}
.bm48-badge-plan{color:var(--bm48-lime);border-color:var(--bm48-lime)}
.bm48-badge-demo{color:#ffd184;border-color:#ffd18472}
@keyframes bm48-onair{50%{box-shadow:0 0 14px #baff3b8f}}
.bm48-show-equalizer{height:41px;gap:4px}
.bm48-show-equalizer>i{width:4px}
.bm48-schedule-footer{border-top:1px solid #ffffff20;color:#bfc7bb;margin-top:20px;padding:17px 0;font-size:12px;text-align:center}
.bm48-schedule-footer a{color:var(--bm48-lime);font-weight:900;text-decoration:none}
.bm48-schedule-footer a:hover{text-decoration:underline}
.bm48-section .bm48-empty{min-height:170px;background:linear-gradient(145deg,#182119,#261627);border:1px dashed #dcff584f;border-radius:18px}
.bm48-section a:focus-visible,.bm48-section button:focus-visible{outline:3px solid var(--bm48-lime);outline-offset:3px}
@media(max-width:980px){
 .bm48-festival-hero{min-height:310px}
 .bm48-spotlights{grid-template-columns:minmax(0,1fr) minmax(260px,.9fr)}
 .bm48-current-body{gap:13px}
 .bm48-spotlights .bm48-current-avatar{width:110px;height:110px;font-size:46px}
 .bm48-spotlights .bm48-next-avatar{width:83px;height:83px;font-size:36px}
 .bm48-spotlights .schedule-spotlight{padding:18px}
 .bm48-show-list .bm48-show{grid-template-columns:145px minmax(0,1fr) auto}
 .bm48-show-art{min-height:142px}
 .bm48-show-list .bm48-show-avatar{width:106px;height:106px}
 .bm48-show-side{min-width:115px;padding:12px}
 .bm48-show-text{padding:14px 17px}
}
@media(max-width:720px){
 .bm48-section{padding-top:12px}
 .bm48-festival-hero{padding:25px 21px 19px;min-height:355px;border-radius:19px;justify-content:flex-end;background-position:66% center}
 .bm48-festival-hero:before{background:linear-gradient(90deg,#080d09dd,#090911aa),linear-gradient(0deg,#080a08d9,transparent 90%)}
 .bm48-hero-copy h1{font-size:clamp(36px,10vw,51px);max-width:430px}
 .bm48-hero-copy p{font-size:13px}
 .bm48-overline{font-size:9px}
 .bm48-hero-pills{gap:6px;margin-top:15px}
 .bm48-hero-pills span{font-size:9px;padding:7px 9px}
 .bm48-hero-summary{border-radius:12px}
 .bm48-hero-summary>div{padding:9px 10px;flex-basis:31%;min-width:0}
 .bm48-hero-summary small{font-size:8px}
 .bm48-hero-summary b{font-size:11px}
 .bm48-spotlights{grid-template-columns:1fr;gap:12px;margin:15px 0 28px}
 .bm48-spotlights .bm48-current-avatar{width:119px;height:119px;font-size:49px}
 .bm48-spotlights .bm48-spotlight-live{min-height:220px}
 .bm48-spotlight-live>.bm48-equalizer{opacity:.38}
 .bm48-spotlights .bm48-spotlight-next{min-height:160px}
 .bm48-program-bar{align-items:flex-start;flex-direction:column;gap:13px}
 .bm48-program-bar h2{font-size:28px}
 .bm48-manage{align-self:flex-start}
 .bm48-week-wrap{padding:11px 9px 10px;border-radius:14px}
 .bm48-section .bm48-days{gap:5px}
 .bm48-section .bm48-days .schedule-day{min-height:61px;padding:8px 1px}
 .bm48-section .bm48-days .schedule-day b{font-size:15px}
 .bm48-section .bm48-days .schedule-day span{font-size:9px;white-space:nowrap}
 .bm48-section .bm48-days .schedule-day i{font-size:7px}
 .bm48-timezone{font-size:9px}
 .bm48-show-list .bm48-show{grid-template-columns:110px minmax(0,1fr);min-height:146px;align-items:stretch}
 .bm48-show-art{min-height:148px}
 .bm48-show-list .bm48-show-avatar{width:86px;height:86px;font-size:36px;border-radius:18px}
 .bm48-show-text{padding:14px 13px}
 .bm48-show-text h3{font-size:19px}
 .bm48-show-desc{font-size:11px}
 .bm48-show-time{font-size:11px}
 .bm48-show-side{grid-column:2;padding:0 13px 12px;min-width:0;align-items:flex-start}
 .bm48-show-badge{font-size:9px;padding:6px 9px}
 .bm48-show-equalizer{display:none}
}
@media(max-width:380px){
 .bm48-festival-hero{padding:20px 14px;min-height:360px}
 .bm48-hero-summary>div{flex-basis:33%;padding:8px 6px}
 .bm48-hero-summary b{font-size:10px}
 .bm48-hero-pills{gap:5px}
 .bm48-hero-pills span{font-size:8px;padding:6px 7px}
 .bm48-current-body{align-items:flex-start}
 .bm48-spotlights .bm48-current-avatar{width:91px;height:91px;font-size:36px}
 .bm48-current-copy strong{font-size:21px}
 .bm48-spotlights .bm48-next-avatar{width:76px;height:76px}
 .bm48-next-body strong{font-size:20px}
 .bm48-section .bm48-days{gap:3px}
 .bm48-section .bm48-days .schedule-day b{font-size:13px}
 .bm48-section .bm48-days .schedule-day span{font-size:8px}
 .bm48-show-list .bm48-show{grid-template-columns:85px minmax(0,1fr)}
 .bm48-show-art{min-height:145px}
 .bm48-show-list .bm48-show-avatar{width:67px;height:67px;font-size:30px}
 .bm48-show-text{padding:12px 10px}
 .bm48-show-text h3{font-size:18px}
 .bm48-show-desc{font-size:10px}
 .bm48-show-time{font-size:10px}
 .bm48-show-side{padding:0 10px 12px}
}
@media(prefers-reduced-motion:reduce){.bm48-section *{animation:none!important;transition:none!important}}
