:root{--bg:#070a10;--panel:#0b111b;--panel2:#101827;--line:#203149;--text:#f4f6fb;--muted:#a8b1c2;--purple:#9e47ff;--pink:#f03fb6;--cyan:#3bd5df;--green:#33d6a6;--red:#ff405f;--shadow:0 20px 60px rgba(0,0,0,.35)}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{margin:0;background:radial-gradient(circle at 15% -10%,rgba(158,71,255,.18),transparent 30%),radial-gradient(circle at 95% 5%,rgba(240,63,182,.12),transparent 25%),var(--bg);min-height:100vh}a{color:inherit;text-decoration:none}.site-header{min-height:96px;padding:18px clamp(22px,4vw,64px);border-bottom:1px solid #1c293b;display:flex;align-items:center;justify-content:space-between;gap:30px;background:rgba(6,9,15,.9);backdrop-filter:blur(14px);position:sticky;top:0;z-index:10}.site-header.compact{min-height:76px}.brand{display:grid;line-height:.9;min-width:max-content}.brand-kicker{font-size:.7rem;letter-spacing:.42em;color:#d9c5ff}.brand strong{font-size:clamp(1.45rem,2.6vw,2.4rem);letter-spacing:.06em;background:linear-gradient(90deg,#fff 0%,#d8b6ff 32%,#ff6dbd 72%,#5dddeb 100%);-webkit-background-clip:text;color:transparent}.brand small{margin-top:8px;color:var(--muted);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}.site-header nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.site-header nav a,.site-header nav span{font-size:.9rem;color:#d8deea}.site-header nav a:hover,.site-header nav a.active{color:#fff}.login-link{border:1px solid #354866;padding:9px 13px;border-radius:10px}.page-shell,.dashboard-shell{width:min(1500px,calc(100% - 36px));margin:34px auto 70px}.hero-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,.82fr);gap:20px}.now-card,.next-card,.editor-card,.show-card,.empty-panel{background:linear-gradient(145deg,rgba(15,23,37,.96),rgba(7,13,23,.96));border:1px solid #1d3853;border-radius:18px;box-shadow:var(--shadow)}.now-card{min-height:360px;display:grid;grid-template-columns:minmax(260px,.85fr) 1.25fr;overflow:hidden}.now-card.is-live{border-color:#4d336b;box-shadow:0 0 0 1px rgba(240,63,182,.12),var(--shadow)}.hero-art,.next-art,.show-art{background-size:cover;background-position:center}.hero-art{min-height:360px}.hero-copy{padding:38px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.eyebrow{font-size:.76rem;letter-spacing:.17em;font-weight:800;color:#c98cff;text-transform:uppercase}.hero-copy h1,.next-card h2{margin:10px 0 2px}.hero-copy h1{font-size:clamp(2.2rem,4.3vw,4.7rem);line-height:.95;letter-spacing:-.035em}.host{color:#d5dceb;font-weight:650}.time{color:#dce4f3;font-variant-numeric:tabular-nums}.hero-copy p{max-width:720px;color:#c4cbd8;line-height:1.58}.hero-actions{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}.button{appearance:none;border:1px solid #42526d;background:#182236;color:#fff;padding:12px 18px;border-radius:11px;font:inherit;font-weight:760;cursor:pointer}.button.primary{border:0;background:linear-gradient(90deg,#7f3cff,#e03eb8);box-shadow:0 8px 22px rgba(146,57,238,.25)}.button.ghost{background:transparent}.button.danger{border-color:#7d2940;background:#331420;color:#ffb3c0}.button.small{padding:9px 12px;font-size:.83rem}.next-card{padding:26px;display:flex;flex-direction:column}.next-art{height:120px;border-radius:12px;margin:14px 0 18px;border:1px solid #273751}.badge{display:inline-flex;align-items:center;align-self:flex-start;gap:7px;border:1px solid #44516a;border-radius:7px;padding:5px 8px;font-size:.68rem;font-weight:850;letter-spacing:.07em}.badge-live{background:#e72450;border-color:#ff496c}.badge-playlist{color:#75f0c4;border-color:#2a9f7e;background:#0b2c25}.badge-rotation{color:#d2b4ff;border-color:#684b98;background:#20152f}.badge-special{color:#ffe1a3;border-color:#8c6a2e;background:#2b210c}.week-toolbar{margin:28px 0 16px;border-block:1px solid #1b2a3e;padding:18px 4px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;text-align:center}.week-toolbar h2{margin:4px 0 0;font-size:1.4rem}.week-arrow{color:#cdd6e5}.week-arrow:first-child{text-align:left}.week-arrow:last-child{text-align:right}.days-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.day-column{min-width:0}.day-column>header{position:relative;padding:13px 14px;border:1px solid #223450;border-radius:12px 12px 0 0;background:#0d1522;display:flex;justify-content:space-between;align-items:center;gap:8px}.day-column.today>header{background:linear-gradient(100deg,#4f22a8,#a22d9c);border-color:#a14cf7}.day-column header em{position:absolute;top:-8px;right:10px;font-style:normal;font-size:.58rem;font-weight:900;background:#ff426a;border-radius:999px;padding:3px 7px}.day-list{display:flex;flex-direction:column;gap:10px;margin-top:10px}.show-card{padding:10px;min-height:320px;display:flex;flex-direction:column}.show-art{height:118px;border-radius:10px;margin-bottom:10px;border:1px solid #263753}.show-card h3{margin:10px 0 0;font-size:1rem}.show-card p{font-size:.82rem}.show-card .description{color:#aeb8c9;line-height:1.46}.empty-slot{border:1px dashed #263951;color:#6f7d91;border-radius:12px;padding:24px 12px;text-align:center;font-size:.8rem}.site-footer{border-top:1px solid #1b2a3e;padding:22px clamp(22px,4vw,64px);display:flex;justify-content:space-between;gap:20px;color:#8190a6;font-size:.8rem}.auth-page{display:grid;place-items:center;padding:32px}.auth-card{width:min(520px,100%);padding:32px;background:#0b111b;border:1px solid #253a55;border-radius:20px;box-shadow:var(--shadow)}.auth-card h1{font-size:2rem;margin-bottom:6px}.auth-card>p{color:var(--muted)}.back-link{display:inline-block;margin-bottom:25px;color:#b4c2d6}.stack-form{display:grid;gap:16px;margin-top:24px}.stack-form label{display:grid;gap:7px;color:#ced6e4;font-weight:650}.stack-form input,.stack-form select,.inline-edit input{width:100%;background:#070c14;color:#fff;border:1px solid #32445f;border-radius:10px;padding:12px;font:inherit}.form-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:10px}.flash{margin:16px 0;padding:12px 14px;border-radius:10px;border:1px solid}.flash.error{background:#2d1119;border-color:#783047;color:#ffc3cf}.flash.success{background:#0d2b24;border-color:#26755f;color:#b8f5dd}.dashboard-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:24px}.dashboard-head h1{font-size:clamp(2rem,4vw,3.4rem);margin:6px 0}.guardrail{max-width:560px;color:#aab5c7}.editor-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:18px}.editor-card{padding:24px}.editor-card h2{margin-top:0}.protection-card li{margin:10px 0;color:#b7c2d2}.schedule-editor{margin-top:38px}.section-title h2{margin:5px 0 15px}.empty-panel{padding:28px;color:#8491a5}.broadcast-row{display:grid;grid-template-columns:80px minmax(220px,1fr) minmax(360px,.9fr);gap:18px;align-items:center;padding:14px 16px;border:1px solid #20344d;background:#0a111c;border-radius:14px;margin-bottom:10px}.date-box{border-right:1px solid #24364f;display:grid}.date-box strong{font-size:1.25rem}.date-box span{color:#9ba9bc}.broadcast-main h3{margin:7px 0}.inline-edit{display:grid;grid-template-columns:1fr 1fr auto auto;gap:8px;align-items:center}@media(max-width:1120px){.days-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-grid{grid-template-columns:1fr}.next-card{min-height:280px}.editor-grid{grid-template-columns:1fr}.broadcast-row{grid-template-columns:70px 1fr}.inline-edit{grid-column:1/-1}}@media(max-width:760px){.site-header{position:static;display:block}.site-header nav{margin-top:18px;gap:14px}.page-shell,.dashboard-shell{width:min(100% - 22px,1500px);margin-top:18px}.now-card{grid-template-columns:1fr}.hero-art{min-height:240px}.hero-copy{padding:24px}.days-grid{grid-template-columns:1fr}.show-card{min-height:0}.show-art{height:180px}.week-toolbar{grid-template-columns:1fr 1fr;text-align:left}.week-toolbar>div{grid-column:1/-1;grid-row:1;text-align:center}.week-arrow:last-child{text-align:right}.form-row{grid-template-columns:1fr}.dashboard-head{display:block}.broadcast-row{grid-template-columns:55px 1fr}.inline-edit{grid-template-columns:1fr 1fr}.inline-edit .button{width:100%}.site-footer{display:block}.site-footer span{display:block;margin:6px 0}}

/* ===== Öffentlicher Sendeplan v4 ===== */
.public-schedule{background:radial-gradient(circle at 12% -8%,rgba(158,71,255,.23),transparent 29%),radial-gradient(circle at 92% 2%,rgba(240,63,182,.16),transparent 25%),linear-gradient(180deg,#070a10 0%,#070a10 54%,#080d15 100%)}
.public-header{border-bottom-color:#26364e}.public-shell{margin-top:28px}.public-schedule .hero-grid{grid-template-columns:minmax(0,2.15fr) minmax(310px,.85fr)}
.public-schedule .now-card{min-height:410px;grid-template-columns:minmax(290px,.85fr) 1.25fr;border-color:#253956;background:linear-gradient(145deg,rgba(15,23,37,.98),rgba(6,11,19,.98))}
.public-schedule .now-card.is-on-air{border-color:#7a3d87;box-shadow:0 0 0 1px rgba(240,63,182,.16),0 26px 75px rgba(0,0,0,.46)}
.public-schedule .hero-art{min-height:410px;position:relative;isolation:isolate}.public-schedule .hero-art:before,.public-schedule .show-art:before,.public-schedule .next-art:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,7,12,.02),rgba(4,7,12,.4));pointer-events:none}.art-shade{position:absolute;inset:0;background:linear-gradient(90deg,transparent 56%,rgba(8,13,22,.9) 100%)}
.on-air-flag{position:absolute;top:18px;left:18px;z-index:2;background:#ec2855;color:#fff;border-radius:7px;padding:7px 10px;font-size:.72rem;font-weight:900;letter-spacing:.14em;box-shadow:0 8px 22px rgba(236,40,85,.28)}
.public-schedule .hero-copy{padding:42px}.public-schedule .hero-copy .badge{margin-top:16px}.public-schedule .hero-copy h1{margin-top:16px;max-width:840px}.hero-description{font-size:1rem}.status-kicker{margin-top:16px;color:#73e5eb;font-weight:800;letter-spacing:.12em;font-size:.75rem}
.public-schedule .next-card{min-height:410px;padding:25px;border-color:#263957;overflow:hidden}.next-head{display:flex;justify-content:space-between;align-items:center}.next-dot{color:#f03fb6;font-size:.8rem}.public-schedule .next-art{height:155px;position:relative;border-radius:13px;margin:17px 0 18px;background-size:cover;background-position:center;border:1px solid #304461}.public-schedule .next-card h2{font-size:1.55rem;line-height:1.05;margin-top:14px}.next-host{color:#bac5d7;margin-bottom:4px}.next-date{font-weight:800;color:#e7eafa;margin:7px 0 2px}.next-empty-mark{display:grid;place-items:center;height:155px;margin:17px 0;border:1px dashed #304461;border-radius:13px;color:#7d8ba2;font-size:2rem}
.public-schedule .week-toolbar{margin-top:32px;padding:20px 5px}.current-week-link{display:inline-block;margin-top:8px;color:#79dfe6;font-size:.78rem;font-weight:750}.public-schedule .week-arrow{font-weight:700}.public-schedule .week-arrow:hover{color:#fff}
.day-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:0 0 14px}.day-tab{border:1px solid #20334c;background:#0a111c;border-radius:11px;padding:10px 12px;display:grid;gap:2px;min-width:0}.day-tab span{font-size:.69rem;color:#99a7ba;text-transform:uppercase;letter-spacing:.12em}.day-tab strong{font-size:.95rem}.day-tab small{font-size:.65rem;color:#6f8098}.day-tab:hover{border-color:#4b5f80;background:#0d1725}.day-tab.today{background:linear-gradient(135deg,rgba(87,35,178,.92),rgba(170,44,155,.92));border-color:#b15cff}.day-tab.today span,.day-tab.today small{color:#eadcff}
.public-schedule .days-grid{gap:10px}.public-schedule .day-column{scroll-margin-top:110px}.public-schedule .day-column>header{padding:13px 12px;min-height:58px}.public-schedule .day-column>header>div{display:grid;gap:1px}.public-schedule .day-column>header span{font-size:.72rem;text-transform:uppercase;color:#97a8bd;letter-spacing:.1em}.public-schedule .day-column>header strong{font-size:1rem}.public-schedule .day-column.today>header span{color:#eadfff}.public-schedule .show-card{padding:0;overflow:hidden;min-height:315px}.public-schedule .show-art{height:130px;position:relative;margin:0;border:0;border-bottom:1px solid #263753;border-radius:0;background-size:cover;background-position:center}.card-time{position:absolute;right:9px;bottom:9px;z-index:2;background:rgba(5,9,15,.88);border:1px solid #415270;border-radius:7px;padding:4px 7px;font-size:.69rem;font-weight:850;font-variant-numeric:tabular-nums}.show-card-body{padding:12px}.public-schedule .show-card h3{font-size:1.02rem;line-height:1.12;margin:10px 0 3px}.public-schedule .show-card p{margin:7px 0}.public-schedule .show-card .host{font-size:.76rem;color:#c8d1df}.public-schedule .show-card .time{font-size:.78rem}.public-schedule .show-card .description{font-size:.76rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.public-schedule .empty-slot{min-height:160px;display:grid;place-items:center;align-content:center;gap:8px}.public-schedule .empty-slot span{font-size:1.4rem;color:#596c86}.public-schedule .empty-slot small{font-size:.72rem}
.public-cta{margin-top:28px;border:1px solid #273b57;background:linear-gradient(125deg,rgba(65,28,119,.3),rgba(12,24,38,.95) 46%,rgba(14,47,54,.38));border-radius:18px;padding:25px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.public-cta h2{margin:6px 0 0;font-size:clamp(1.3rem,2.2vw,2rem)}.public-cta .hero-actions{margin:0;flex-shrink:0}
@media(max-width:1120px){.public-schedule .hero-grid{grid-template-columns:1fr}.public-schedule .next-card{min-height:300px}.day-tabs{grid-template-columns:repeat(7,minmax(105px,1fr));overflow-x:auto;padding-bottom:5px}.public-schedule .days-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.public-schedule .site-header nav{display:grid;grid-template-columns:repeat(3,auto);justify-content:start}.public-schedule .now-card{grid-template-columns:1fr;min-height:0}.public-schedule .hero-art{min-height:235px}.art-shade{background:linear-gradient(180deg,transparent 65%,rgba(8,13,22,.84) 100%)}.public-schedule .hero-copy{padding:25px}.public-schedule .hero-copy h1{font-size:clamp(2.1rem,12vw,3.3rem)}.public-schedule .next-art{height:190px}.public-schedule .week-toolbar{grid-template-columns:1fr 1fr}.day-tabs{display:flex;overflow-x:auto;scroll-snap-type:x proximity}.day-tab{min-width:104px;scroll-snap-align:start}.public-schedule .days-grid{grid-template-columns:1fr}.public-schedule .day-column{scroll-margin-top:16px}.public-schedule .show-art{height:200px}.public-schedule .show-card{min-height:0}.public-cta{padding:22px}.public-cta .hero-actions{width:100%}.public-cta .hero-actions .button{flex:1;text-align:center}}


/* ===== Radio Dunkelbunt · optischer Feinschliff v7 =====
   Nur öffentliche Sendeplan-Seite. Redaktion/Admin bleiben unverändert.
*/
.public-schedule{
    background:
        radial-gradient(circle at 12% -8%,rgba(158,71,255,.27),transparent 30%),
        radial-gradient(circle at 88% 0%,rgba(240,63,182,.18),transparent 26%),
        radial-gradient(circle at 52% 52%,rgba(59,213,223,.045),transparent 38%),
        linear-gradient(180deg,#07090f 0%,#080b12 46%,#070b12 100%);
    position:relative;
}
.public-schedule::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    opacity:.28;
    background-image:
        linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px);
    background-size:44px 44px;
    mask-image:linear-gradient(to bottom,black 0%,transparent 75%);
    z-index:0;
}
.public-schedule .site-header,
.public-schedule .public-shell,
.public-schedule .site-footer{position:relative;z-index:1}

.public-schedule .public-header{
    min-height:88px;
    background:rgba(6,9,15,.82);
    border-bottom:1px solid rgba(144,102,205,.24);
    box-shadow:0 8px 35px rgba(0,0,0,.18);
}
.public-schedule .public-header::after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:-1px;
    height:1px;
    background:linear-gradient(90deg,transparent 2%,rgba(158,71,255,.55) 28%,rgba(240,63,182,.48) 62%,rgba(59,213,223,.38) 82%,transparent 98%);
}
.public-schedule .brand strong{
    filter:drop-shadow(0 0 16px rgba(190,75,255,.17));
}
.public-schedule .site-header nav a{
    padding:8px 2px;
    position:relative;
    transition:color .18s ease,transform .18s ease;
}
.public-schedule .site-header nav a:not(.login-link)::after{
    content:"";
    position:absolute;
    left:50%;right:50%;bottom:1px;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,#9e47ff,#f03fb6,#3bd5df);
    transition:left .18s ease,right .18s ease;
}
.public-schedule .site-header nav a:hover{transform:translateY(-1px)}
.public-schedule .site-header nav a:hover::after,
.public-schedule .site-header nav a.active::after{left:0;right:0}
.public-schedule .login-link{
    border-color:rgba(128,157,201,.38);
    background:rgba(13,22,35,.72);
}
.public-schedule .login-link:hover{
    border-color:rgba(207,139,255,.58);
    background:rgba(27,20,43,.88);
}

.public-schedule .public-shell{margin-top:32px}
.public-schedule .hero-grid{gap:22px}
.public-schedule .now-card,
.public-schedule .next-card{
    border-radius:22px;
    border-color:rgba(84,109,150,.42);
    background:
        linear-gradient(145deg,rgba(16,24,38,.98),rgba(7,12,21,.98));
    box-shadow:
        0 22px 70px rgba(0,0,0,.40),
        inset 0 1px 0 rgba(255,255,255,.035);
}
.public-schedule .now-card{
    position:relative;
}
.public-schedule .now-card::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    border-radius:inherit;
    background:
        linear-gradient(135deg,rgba(158,71,255,.085),transparent 32%),
        linear-gradient(315deg,rgba(59,213,223,.04),transparent 30%);
}
.public-schedule .now-card.is-on-air{
    border-color:rgba(240,63,182,.56);
    box-shadow:
        0 0 0 1px rgba(240,63,182,.09),
        0 24px 78px rgba(0,0,0,.48),
        0 0 42px rgba(170,55,184,.09);
}
.public-schedule .hero-art,
.public-schedule .next-art,
.public-schedule .show-art{
    transition:transform .28s ease,filter .28s ease;
}
.public-schedule .now-card:hover .hero-art,
.public-schedule .next-card:hover .next-art,
.public-schedule .show-card:hover .show-art{
    filter:saturate(1.08) contrast(1.025);
}
.public-schedule .hero-copy{
    padding:46px;
    position:relative;
    z-index:2;
}
.public-schedule .hero-copy h1{
    text-wrap:balance;
    text-shadow:0 4px 28px rgba(0,0,0,.35);
}
.public-schedule .hero-copy .host{
    margin-top:12px;
    font-size:1.02rem;
}
.public-schedule .hero-copy .time{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:7px 10px;
    border-radius:9px;
    background:rgba(8,14,23,.62);
    border:1px solid rgba(80,104,141,.34);
}
.public-schedule .hero-description{
    color:#c8d0dd;
    max-width:680px;
}
.public-schedule .on-air-flag{
    display:inline-flex;
    align-items:center;
    gap:7px;
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 10px 28px rgba(236,40,85,.34);
}
.public-schedule .on-air-flag::before{
    content:"";
    width:7px;height:7px;border-radius:50%;
    background:#fff;
    box-shadow:0 0 0 0 rgba(255,255,255,.55);
    animation:rdbPulse 1.8s infinite;
}
@keyframes rdbPulse{
    0%{box-shadow:0 0 0 0 rgba(255,255,255,.48)}
    70%{box-shadow:0 0 0 8px rgba(255,255,255,0)}
    100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}
}
@media (prefers-reduced-motion:reduce){
    .public-schedule .on-air-flag::before{animation:none}
    .public-schedule .site-header nav a,
    .public-schedule .hero-art,
    .public-schedule .next-art,
    .public-schedule .show-art,
    .public-schedule .show-card,
    .public-schedule .day-tab{transition:none}
}

.public-schedule .button{
    border-radius:12px;
    transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease,background .17s ease;
}
.public-schedule .button:hover{transform:translateY(-2px)}
.public-schedule .button.primary{
    background:linear-gradient(102deg,#7638ef 0%,#c93dcb 54%,#e4449b 100%);
    box-shadow:0 10px 26px rgba(173,54,214,.24);
}
.public-schedule .button.primary:hover{
    box-shadow:0 14px 32px rgba(180,56,218,.34);
}
.public-schedule .button.ghost:hover{
    border-color:#6f83a3;
    background:rgba(31,46,68,.68);
}

.public-schedule .next-card{padding:28px}
.public-schedule .next-head{
    padding-bottom:13px;
    border-bottom:1px solid rgba(68,89,121,.28);
}
.public-schedule .next-dot{
    position:relative;
    width:10px;height:10px;
    font-size:0;
    border-radius:50%;
    background:#f03fb6;
    box-shadow:0 0 16px rgba(240,63,182,.65);
}
.public-schedule .next-art{
    height:168px;
    border-radius:15px;
    border-color:rgba(79,104,145,.52);
    box-shadow:0 12px 28px rgba(0,0,0,.2);
}
.public-schedule .next-card h2{
    margin-top:16px;
    font-size:1.68rem;
    text-wrap:balance;
}
.public-schedule .next-date{
    display:inline-flex;
    align-self:flex-start;
    padding:5px 8px;
    border-radius:7px;
    background:rgba(113,65,170,.16);
    border:1px solid rgba(155,99,218,.23);
}

.public-schedule .week-toolbar{
    margin:34px 0 16px;
    padding:18px 20px;
    border:1px solid rgba(66,88,123,.38);
    border-radius:16px;
    background:linear-gradient(120deg,rgba(13,21,34,.88),rgba(9,15,25,.74));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.public-schedule .week-arrow{
    display:inline-flex;
    align-items:center;
    min-height:38px;
    color:#cbd5e5;
}
.public-schedule .week-arrow:hover{color:#fff}
.public-schedule .week-toolbar h2{
    font-size:1.48rem;
    letter-spacing:-.015em;
}

.public-schedule .day-tabs{
    gap:9px;
    margin-bottom:16px;
}
.public-schedule .day-tab{
    position:relative;
    min-height:72px;
    padding:12px 13px;
    border-radius:13px;
    border-color:rgba(67,89,123,.42);
    background:linear-gradient(145deg,rgba(14,22,35,.92),rgba(8,14,23,.88));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
    transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.public-schedule .day-tab:hover{
    transform:translateY(-2px);
    border-color:rgba(157,97,224,.52);
    background:linear-gradient(145deg,rgba(23,28,49,.95),rgba(11,18,29,.93));
    box-shadow:0 10px 24px rgba(0,0,0,.2);
}
.public-schedule .day-tab.today{
    background:linear-gradient(135deg,rgba(83,38,173,.95),rgba(178,45,157,.92));
    border-color:rgba(204,113,255,.68);
    box-shadow:0 8px 28px rgba(135,47,184,.23),inset 0 1px 0 rgba(255,255,255,.12);
}
.public-schedule .day-tab.today::after{
    content:"";
    position:absolute;
    left:12px;right:12px;bottom:7px;
    height:2px;border-radius:999px;
    background:linear-gradient(90deg,#fff,rgba(255,255,255,.18));
}

.public-schedule .days-grid{gap:12px}
.public-schedule .day-column>header{
    min-height:62px;
    border-radius:14px 14px 0 0;
    border-color:rgba(64,87,121,.43);
    background:linear-gradient(150deg,rgba(17,27,43,.98),rgba(9,16,27,.96));
}
.public-schedule .day-column.today>header{
    background:linear-gradient(110deg,rgba(81,35,169,.98),rgba(172,45,157,.95));
    box-shadow:0 8px 20px rgba(104,43,156,.17);
}
.public-schedule .day-column header em{
    top:-9px;
    right:9px;
    letter-spacing:.08em;
    box-shadow:0 5px 14px rgba(255,66,106,.26);
}

.public-schedule .show-card{
    border-radius:16px;
    border-color:rgba(57,82,117,.44);
    background:linear-gradient(155deg,rgba(15,23,36,.98),rgba(8,14,23,.98));
    box-shadow:0 12px 30px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.025);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.public-schedule .show-card:hover{
    transform:translateY(-3px);
    border-color:rgba(135,89,192,.54);
    box-shadow:0 17px 36px rgba(0,0,0,.31),0 0 24px rgba(132,59,183,.055);
}
.public-schedule .show-art{height:138px}
.public-schedule .show-art::after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:0;
    height:55%;
    background:linear-gradient(to top,rgba(4,8,14,.58),transparent);
    pointer-events:none;
}
.public-schedule .card-time{
    bottom:10px;right:10px;
    border-color:rgba(118,142,180,.48);
    background:rgba(4,9,16,.84);
    backdrop-filter:blur(7px);
    box-shadow:0 5px 14px rgba(0,0,0,.24);
}
.public-schedule .show-card-body{padding:14px 14px 16px}
.public-schedule .show-card h3{
    font-size:1.06rem;
    margin-top:11px;
    letter-spacing:-.012em;
    text-wrap:balance;
}
.public-schedule .show-card .host{color:#d0d8e5}
.public-schedule .show-card .time{color:#b8c6d9}
.public-schedule .badge{
    border-radius:999px;
    padding:5px 9px;
    font-size:.64rem;
    letter-spacing:.085em;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.public-schedule .empty-slot{
    min-height:176px;
    border-color:rgba(54,78,110,.45);
    background:rgba(9,15,24,.33);
}
.public-schedule .empty-slot span{
    width:40px;height:40px;
    display:grid;place-items:center;
    border-radius:50%;
    background:rgba(45,62,85,.32);
    color:#6f829c;
}

.public-schedule .public-cta{
    margin-top:34px;
    padding:28px 30px;
    border-radius:20px;
    border-color:rgba(99,73,139,.42);
    background:
        radial-gradient(circle at 12% 0%,rgba(150,62,222,.16),transparent 34%),
        linear-gradient(120deg,rgba(61,27,111,.30),rgba(12,23,37,.96) 48%,rgba(14,53,58,.32));
    box-shadow:0 18px 45px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.035);
}
.public-schedule .public-cta h2{text-wrap:balance}

.public-schedule .site-footer{
    background:rgba(5,8,13,.45);
    border-top-color:rgba(55,76,106,.4);
}

@media(max-width:1120px){
    .public-schedule .now-card{grid-template-columns:minmax(250px,.8fr) 1.2fr}
    .public-schedule .hero-copy{padding:36px}
}
@media(max-width:760px){
    .public-schedule::before{display:none}
    .public-schedule .public-header{padding-top:16px;padding-bottom:16px}
    .public-schedule .site-header nav{
        display:flex;
        overflow-x:auto;
        flex-wrap:nowrap;
        padding-bottom:4px;
        scrollbar-width:none;
    }
    .public-schedule .site-header nav::-webkit-scrollbar{display:none}
    .public-schedule .site-header nav a{white-space:nowrap}
    .public-schedule .hero-grid{gap:14px}
    .public-schedule .now-card{border-radius:18px}
    .public-schedule .hero-copy{padding:25px}
    .public-schedule .hero-copy h1{font-size:clamp(2rem,11vw,3.2rem)}
    .public-schedule .hero-copy .time{font-size:.9rem}
    .public-schedule .next-card{padding:21px;border-radius:18px}
    .public-schedule .next-art{height:180px}
    .public-schedule .week-toolbar{padding:16px 14px}
    .public-schedule .day-tabs{
        display:flex;
        overflow-x:auto;
        scroll-snap-type:x proximity;
        scrollbar-width:none;
        padding-bottom:5px;
    }
    .public-schedule .day-tabs::-webkit-scrollbar{display:none}
    .public-schedule .day-tab{
        flex:0 0 116px;
        scroll-snap-align:start;
    }
    .public-schedule .show-art{height:195px}
    .public-schedule .show-card{border-radius:17px}
    .public-schedule .public-cta{padding:23px 21px}
}

/* ===== Radio Dunkelbunt Logo im öffentlichen Header ===== */
.public-schedule .public-brand{
    display:flex;
    align-items:center;
    gap:14px;
}
.public-schedule .public-brand-logo{
    width:72px;
    height:72px;
    object-fit:cover;
    border-radius:18px;
    display:block;
    flex:0 0 auto;
    box-shadow:
        0 8px 24px rgba(0,0,0,.35),
        0 0 0 1px rgba(255,255,255,.08),
        0 0 24px rgba(157,71,255,.10);
}
.public-schedule .public-brand-copy{
    display:flex;
    flex-direction:column;
    line-height:1;
}
@media(max-width:760px){
    .public-schedule .public-brand{gap:10px}
    .public-schedule .public-brand-logo{
        width:58px;
        height:58px;
        border-radius:15px;
    }
}
