/* =====================================================
   RADIONETZ ZWICKAU – STYLE.CSS
===================================================== */

:root{
    --bg-main:#05060d;
    --bg-dark:#02030a;
    --bg-panel:#0b1220;
    --bg-card:rgba(17,20,34,.94);
    --bg-card-light:rgba(31,36,58,.88);
    --bg-soft:rgba(255,255,255,.05);

    --primary:#9d4edd;
    --primary-dark:#5a189a;
    --accent:#22d3ee;
    --success:#22c55e;
    --warning:#facc15;
    --danger:#ef4444;

    --text-main:#ffffff;
    --text-muted:#a6adbb;
    --text-soft:#cbd5e1;

    --border:rgba(255,255,255,.10);
    --border-primary:rgba(157,78,221,.45);

    --radius-xl:32px;
    --radius-lg:22px;
    --radius-md:18px;
    --radius-sm:12px;

    --shadow-card:0 15px 45px rgba(0,0,0,.28);
    --shadow-glow:0 0 22px rgba(157,78,221,.35);

    --section-x:6%;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:Arial,Helvetica,sans-serif;
    background:
        radial-gradient(circle at top left,rgba(157,78,221,.25),transparent 32%),
        radial-gradient(circle at top right,rgba(34,211,238,.10),transparent 30%),
        linear-gradient(180deg,var(--bg-main),var(--bg-dark));
    color:var(--text-main);
    min-height:100vh;
    overflow-x:hidden;
}

img,
video,
canvas,
svg{
    max-width:100%;
    height:auto;
}

button,
input,
select,
textarea{
    max-width:100%;
}

main,
section,
header,
footer,
div{
    min-width:0;
}

.content-grid,
.hero,
.quick-row,
.radio-list,
.show-grid,
.news-grid,
.community-grid,
.schedule-grid,
.social-icons{
    width:100%;
    min-width:0;
}

.box,
.player-card,
.ad-banner,
.legal-box,
.admin-content{
    min-width:0;
    overflow-wrap:anywhere;
}

/* HEADER */

.header{
    min-height:86px;
    padding:12px var(--section-x);
    background:rgba(5,6,13,.95);
    border-bottom:1px solid var(--border);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:clamp(12px,2vw,24px);
    position:sticky;
    top:0;
    z-index:50;
    backdrop-filter:blur(14px);
}

.logo{
    display:flex;
    align-items:center;
    gap:14px;
}

.main-logo{
    height:76px;
    width:auto;
    object-fit:contain;
}

.logo h1{
    font-size:24px;
    line-height:1.1;
}

.logo p{
    font-size:13px;
    color:var(--primary);
    font-weight:700;
}

.nav{
    display:flex;
    align-items:center;
    gap:28px;
    flex-wrap:wrap;
}

.nav a{
    color:white;
    text-decoration:none;
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
    opacity:.95;
}

.nav a:hover{
    color:var(--primary);
}

.listen-btn,
#ad-action,
.community-btn,
.admin-form button,
.logout-btn{
    border:none;
    border-radius:999px;
    background:linear-gradient(135deg,var(--primary),var(--primary-dark));
    color:white;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 0 22px rgba(157,78,221,.35);
    transition:.25s;
}

.listen-btn{
    padding:13px 24px;
    white-space:nowrap;
}

.listen-btn:hover,
#ad-action:hover,
.community-btn:hover,
.admin-form button:hover,
.logout-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 30px rgba(157,78,221,.45);
}

/* HERO */

.hero{
    padding:70px var(--section-x);
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,420px);
    gap:clamp(24px,4vw,48px);
    align-items:center;
    border-bottom:1px solid var(--border);
    background:
        linear-gradient(90deg,rgba(5,6,13,.96),rgba(5,6,13,.62)),
        radial-gradient(circle at 70% 30%,rgba(157,78,221,.35),transparent 34%);
}

.small-title{
    font-size:26px;
    color:#c084fc;
    font-weight:900;
    margin-bottom:18px;
}

.hero h2{
    font-size:clamp(38px,6vw,64px);
    line-height:1;
    margin-bottom:24px;
}

.hero h2 span{
    color:var(--primary);
}

.hero-desc{
    max-width:560px;
    color:#d4d8e2;
    font-size:18px;
    line-height:1.55;
}

.hero-features{
    margin-top:28px;
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.hero-features span{
    background:rgba(255,255,255,.07);
    border:1px solid var(--border);
    padding:11px 16px;
    border-radius:999px;
    font-size:14px;
}

/* PLAYER */

.player-card{
    background:rgba(14,17,29,.95);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    padding:28px;
    box-shadow:0 25px 70px rgba(0,0,0,.55);
}

.onair{
    font-size:13px;
    font-weight:900;
    margin-bottom:24px;
}

.song-area{
    display:flex;
    gap:20px;
    align-items:center;
    margin-bottom:28px;
}

.cover{
    width:110px;
    height:110px;
    border-radius:24px;
    display:grid;
    place-items:center;
    font-size:56px;
    overflow:hidden;
}

.cover-logo{
    width:100%;
    height:100%;
    object-fit:contain;
}

.song-label{
    color:var(--primary);
    font-size:13px;
    font-weight:900;
}

.song-area h3{
    font-size:24px;
    margin:6px 0;
}

.song-area p,
.listeners{
    color:var(--text-muted);
}

.player-controls{
    display:flex;
    align-items:center;
    gap:18px;
    margin-bottom:14px;
}

.pause,
.mute-btn{
    width:46px;
    height:46px;
    border:none;
    border-radius:50%;
    background:linear-gradient(135deg,var(--primary),var(--primary-dark));
    color:white;
    font-size:22px;
    cursor:pointer;
}

.volume-box{
    display:flex;
    align-items:center;
    gap:10px;
}

#volume-slider{
    width:120px;
}

/* QUICK ROW */

.quick-row{
    margin:28px var(--section-x);
    padding:22px;
    background:var(--bg-card);
    border:1px solid var(--border);
    border-radius:var(--radius-xl);
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:16px;
}

.quick-row div{
    background:rgba(255,255,255,.04);
    border:1px solid var(--border);
    border-radius:20px;
    padding:16px;
    color:var(--primary);
}

.quick-row span{
    color:var(--text-muted);
    font-size:13px;
}

/* WERBEBANNER */

.ad-banner{
    margin:28px var(--section-x);
    padding:26px 34px;
    min-height:115px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:28px;
    background:
        linear-gradient(135deg,rgba(157,78,221,.32),rgba(34,211,238,.14)),
        #0b1220;
    border:1px solid rgba(157,78,221,.45);
    border-radius:30px;
    box-shadow:0 18px 55px rgba(0,0,0,.42);
}

#ad-label{
    display:block;
    color:#d8b4fe;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:1.4px;
    margin-bottom:8px;
}

.ad-content{
    flex:1;
}

.ad-banner h2{
    font-size:25px;
    margin-bottom:7px;
}

.ad-banner p{
    color:#dbe0ea;
    font-size:15px;
    line-height:1.5;
}

#ad-action{
    padding:14px 24px;
    white-space:nowrap;
}

/* MAIN */

.content-grid{
    padding:0 var(--section-x) 55px;
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(320px,1.15fr);
    gap:24px;
    align-items:start;
}

.box{
    background:var(--bg-card);
    border:1px solid var(--border);
    border-radius:var(--radius-xl);
    padding:24px;
    box-shadow:0 15px 45px rgba(0,0,0,.28);
}

.section-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;
    gap:15px;
}

.section-head h2,
.social-box h2{
    font-size:22px;
    text-transform:uppercase;
}

.section-head a{
    color:var(--primary);
    text-decoration:none;
    font-size:14px;
    font-weight:700;
}

/* SHOWS */

.shows-box{
    align-self:start;
}

.show-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(130px,1fr));
    gap:14px;
}

.show-card{
    background:var(--bg-card-light);
    border:1px solid var(--border);
    border-radius:22px;
    overflow:hidden;
    transition:.25s;
}

.show-card:hover{
    transform:translateY(-4px);
    border-color:var(--primary);
    background:rgba(157,78,221,.12);
}

.show-img{
    height:88px;
    display:grid;
    place-items:center;
    font-size:32px;
    background:radial-gradient(circle,rgba(157,78,221,.48),transparent 58%),#080a12;
}

.show-card h3{
    padding:11px 12px 3px;
    font-size:13px;
}

.show-card p{
    padding:0 12px 9px;
    color:var(--text-muted);
    font-size:12px;
}

.show-card span{
    display:block;
    padding:9px 12px 11px;
    border-top:1px solid var(--border);
    color:#cbd5e1;
    font-size:11px;
}

/* =====================================================
   RADIOSENDER
===================================================== */

.radios-box{
    grid-column:1 / 3;
    align-self:start;
}

.station-search{
    width:100%;
    margin-bottom:14px;
    padding:12px 15px;
    border:1px solid var(--border);
    border-radius:999px;
    background:rgba(255,255,255,.07);
    color:var(--text-main);
    font-size:13px;
    outline:none;
}

.station-search::placeholder{
    color:var(--text-muted);
}

.radio-list{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:14px;
}

.station-item{
    min-width:0;
    min-height:135px;
    padding:16px 14px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:8px;
    overflow:hidden;
    text-align:center;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:rgba(15,23,42,.92);
    cursor:pointer;
    transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease;
}

.station-item:hover,
.station-item.active-station{
    transform:translateY(-4px);
    border-color:var(--primary);
    background:rgba(157,78,221,.14);
    box-shadow:var(--shadow-glow);
}

.station-item > span{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    flex-shrink:0;
    margin-bottom:2px;
    border:1px solid var(--border-primary);
    border-radius:14px;
    background:rgba(157,78,221,.18);
    font-size:30px;
}

.station-item p{
    width:100%;
    color:var(--text-muted);
    font-size:12px;
    line-height:1.35;
    overflow-wrap:anywhere;
}

.station-item strong{
    display:block;
    color:var(--text-main);
    font-size:14px;
    line-height:1.3;
}

.station-item p span{
    color:var(--text-muted);
    font-size:12px;
}

/* FULL WIDTH SECTIONS */

.schedule-box,
.community-box{
    grid-column:1 / 3;
}

/* SENDEPLAN */

.schedule-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}

.schedule-card{
    background:var(--bg-card-light);
    border:1px solid var(--border);
    border-radius:22px;
    padding:18px;
    transition:.25s;
}

.schedule-card:hover{
    transform:translateY(-4px);
    border-color:var(--primary);
    background:rgba(157,78,221,.12);
}

.schedule-day{
    color:var(--primary);
    font-size:12px;
    font-weight:900;
}

.schedule-card h3{
    margin:10px 0 8px;
    font-size:16px;
}

.schedule-card p{
    color:var(--text-muted);
    font-size:13px;
    line-height:1.45;
    margin-bottom:14px;
}

.schedule-meta{
    display:flex;
    flex-direction:column;
    gap:7px;
    color:#cbd5e1;
    font-size:12px;
}

.schedule-status{
    margin-top:8px;
    display:inline-block;
    padding:7px 12px;
    border-radius:999px;
    background:rgba(157,78,221,.18);
    color:#d8b4fe;
    font-size:11px;
    font-weight:900;
}

/* COMMUNITY */

.community-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}

.community-card{
    background:var(--bg-card-light);
    border:1px solid var(--border);
    border-radius:22px;
    padding:18px;
    transition:.25s;
}

.community-card:hover{
    transform:translateY(-4px);
    border-color:var(--primary);
    background:rgba(157,78,221,.12);
}

.community-card h3{
    margin-bottom:10px;
    font-size:15px;
}

.community-card p{
    color:var(--text-muted);
    font-size:13px;
    line-height:1.45;
}

.community-btn{
    display:inline-block;
    margin-top:14px;
    padding:10px 18px;
    text-decoration:none;
}

/* NEWS */

.news-box{
    grid-column:1 / -1;
    width:100%;
}

.news-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
    align-items:stretch;
}

.news-grid article{
    height:100%;
}

.news-grid article{
    background:var(--bg-card-light);
    border:1px solid var(--border);
    border-radius:22px;
    overflow:hidden;
    transition:.25s;
}

.news-grid article:hover{
    transform:translateY(-4px);
    border-color:var(--primary);
    background:rgba(157,78,221,.12);
}

.news-img{
    height:95px;
    display:grid;
    place-items:center;
    font-size:32px;
    background:radial-gradient(circle,rgba(157,78,221,.48),transparent 58%),#080a12;
}

.news-grid small{
    display:block;
    padding:11px 12px 0;
    color:var(--primary);
    font-size:12px;
    font-weight:900;
}

.news-grid h3{
    padding:8px 12px 6px;
    font-size:14px;
}

.news-grid p{
    padding:0 12px 14px;
    color:var(--text-muted);
    font-size:12px;
    line-height:1.45;
}

/* SOCIAL */

.social-box{
    grid-column:2 / 3;
}

.social-icons{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:16px;
    margin-top:20px;
}

.social-icons a,
.social-request-btn{
    min-height:105px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:9px;
    padding:16px;
    border-radius:20px;
    text-decoration:none;
    color:white;
    background:#111827;
    border:1px solid var(--border);
    transition:.25s;
}

.social-icons a:hover,
.social-request-btn:hover{
    transform:translateY(-5px);
    border-color:var(--primary);
    box-shadow:0 0 25px rgba(157,78,221,.35);
}

.social-icons i{
    font-size:28px;
    color:var(--primary);
}

.social-icons img,
.social-request-btn img{
    width:54px;
    height:54px;
    object-fit:contain;
    border-radius:12px;
}

.social-icons span,
.social-request-btn span{
    font-size:13px;
    font-weight:800;
}

.social-request-btn{
    cursor:pointer;
}

/* FOOTER */

.footer{
    padding:32px var(--section-x);
    background:#03040a;
    border-top:1px solid var(--border);
    color:var(--text-muted);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    text-align:center;
}

.footer strong{
    color:var(--primary);
    font-size:20px;
}

.footer a{
    color:var(--text-muted);
    text-decoration:none;
    margin:0 8px;
}

.footer a:hover{
    color:var(--primary);
}

.footer-owner{
    font-size:16px;
}

.footer-dev,
.footer-version{
    font-size:11px;
    color:#7f8798;
}

.hidden-login-btn{
    background:transparent;
    border:none;
    color:rgba(255,255,255,.3);
    cursor:pointer;
}

/* LOGIN / PROJEKTANFRAGE */

.login-modal,
.project-request-modal{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.78);
    z-index:9999;
    justify-content:center;
    align-items:center;
    padding:20px;
}

.login-box,
.project-request-box{
    background:#111827;
    color:white;
    width:min(720px,100%);
    max-height:90vh;
    overflow:auto;
    padding:28px;
    border-radius:22px;
    position:relative;
    box-shadow:0 0 35px rgba(157,78,221,.35);
}

.login-box{
    max-width:380px;
}

.login-close,
.project-request-close{
    position:absolute;
    top:12px;
    right:16px;
    background:none;
    border:none;
    color:white;
    font-size:28px;
    cursor:pointer;
}

.login-box input,
.project-request-box input,
.project-request-box textarea,
.project-request-box select,
.admin-form input,
.admin-form textarea,
.admin-form select{
    width:100%;
    margin:8px 0 14px;
    padding:13px 15px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.12);
    background:#f8fafc;
    color:#111827;
    outline:none;
}

.login-box button:not(.login-close),
.project-request-box button:not(.project-request-close){
    width:100%;
    padding:13px 18px;
    border:none;
    border-radius:12px;
    background:linear-gradient(135deg,var(--primary),var(--primary-dark));
    color:white;
    font-weight:800;
    cursor:pointer;
}

.project-request-box textarea{
    min-height:115px;
    resize:vertical;
}

/* =====================================================
   INTERNER BEREICH – MODERNES DASHBOARD
===================================================== */

.admin-panel{
    display:none;
    min-height:100vh;
    padding:18px;
    background:
        radial-gradient(
            circle at 8% 5%,
            rgba(124,58,237,.22),
            transparent 30%
        ),
        radial-gradient(
            circle at 92% 10%,
            rgba(6,182,212,.13),
            transparent 28%
        ),
        #050811;
}

.admin-dashboard{
    width:min(100%,1600px);
    margin:auto;
    display:grid;
    grid-template-columns:290px minmax(0,1fr);
    gap:20px;
    align-items:start;
}

/* SIDEBAR */

.admin-sidebar{
    position:sticky;
    top:18px;
    display:flex;
    flex-direction:column;
    height:calc(100vh - 36px);
    min-height:650px;
    padding:20px 16px;
    overflow-y:auto;
    border:1px solid rgba(255,255,255,.10);
    border-radius:26px;
    background:
        linear-gradient(
            165deg,
            rgba(24,30,50,.98),
            rgba(9,14,26,.98)
        );
    box-shadow:
        0 28px 70px rgba(0,0,0,.38),
        inset 0 1px 0 rgba(255,255,255,.05);
}

.admin-sidebar::-webkit-scrollbar{
    width:5px;
}

.admin-sidebar::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:rgba(167,139,250,.35);
}

.admin-brand{
    display:flex;
    align-items:center;
    gap:13px;
    padding:4px 5px 19px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.admin-brand-icon{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    flex:0 0 48px;
    border:1px solid rgba(167,139,250,.45);
    border-radius:16px;
    background:
        linear-gradient(
            145deg,
            rgba(124,58,237,.48),
            rgba(6,182,212,.20)
        );
    font-size:23px;
    box-shadow:0 10px 25px rgba(124,58,237,.25);
}

.admin-brand small,
.admin-brand strong{
    display:block;
}

.admin-brand small{
    margin-bottom:3px;
    color:#94a3b8;
    font-size:11px;
    letter-spacing:.05em;
}

.admin-brand strong{
    color:#ffffff;
    font-size:18px;
}

/* BENUTZER */

.admin-user-card{
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    align-items:center;
    gap:12px;
    margin:18px 0;
    padding:13px;
    border:1px solid rgba(34,211,238,.15);
    border-radius:17px;
    background:
        linear-gradient(
            135deg,
            rgba(34,211,238,.08),
            rgba(124,58,237,.10)
        );
}

.admin-user-avatar{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border-radius:14px;
    background:
        linear-gradient(
            145deg,
            var(--primary),
            #4c1d95
        );
    font-size:20px;
    box-shadow:0 8px 20px rgba(124,58,237,.26);
}

.admin-user-card small{
    display:block;
    margin-bottom:4px;
    color:#94a3b8;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.08em;
}

#role-info{
    margin:0;
    overflow-wrap:anywhere;
    color:#e2e8f0;
    font-size:11px;
    line-height:1.4;
}

#role-info strong{
    color:#c4b5fd;
}

/* NAVIGATION */

.admin-navigation{
    display:flex;
    flex-direction:column;
    gap:7px;
}

.admin-nav-label{
    display:block;
    margin:16px 10px 5px;
    color:#64748b;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.admin-nav-button{
    position:relative;
    width:100%;
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    align-items:center;
    gap:12px;
    min-height:62px;
    padding:9px 34px 9px 10px;
    border:1px solid transparent;
    border-radius:16px;
    background:transparent;
    color:#cbd5e1;
    text-align:left;
    cursor:pointer;
    transition:
        transform .18s ease,
        color .18s ease,
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease;
}

.admin-nav-button::after{
    content:"›";
    position:absolute;
    right:14px;
    top:50%;
    transform:translateY(-50%);
    color:#475569;
    font-size:22px;
    transition:
        color .18s ease,
        transform .18s ease;
}

.admin-nav-button:hover{
    transform:translateX(3px);
    border-color:rgba(167,139,250,.25);
    background:rgba(124,58,237,.10);
    color:#ffffff;
}

.admin-nav-button:hover::after{
    transform:translate(2px,-50%);
    color:#c4b5fd;
}

.admin-nav-icon{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:13px;
    background:rgba(255,255,255,.045);
    font-size:18px;
}

.admin-nav-button strong,
.admin-nav-button small{
    display:block;
}

.admin-nav-button strong{
    margin-bottom:3px;
    color:inherit;
    font-size:13px;
}

.admin-nav-button small{
    color:#7f8da3;
    font-size:10px;
    font-weight:600;
}

.admin-nav-button.is-active{
    transform:none;
    border-color:rgba(34,211,238,.38);
    background:
        linear-gradient(
            135deg,
            rgba(124,58,237,.30),
            rgba(6,182,212,.14)
        );
    color:#ffffff;
    box-shadow:
        0 10px 26px rgba(0,0,0,.22),
        inset 3px 0 0 #a78bfa;
}

.admin-nav-button.is-active::after{
    color:#67e8f9;
}

.admin-nav-button.is-active .admin-nav-icon{
    border-color:rgba(167,139,250,.45);
    background:
        linear-gradient(
            145deg,
            rgba(124,58,237,.50),
            rgba(34,211,238,.18)
        );
    box-shadow:0 8px 20px rgba(124,58,237,.22);
}

/* ABMELDEN */

.admin-sidebar .logout-btn{
    width:100%;
    min-height:48px;
    margin-top:auto;
    padding:12px 16px;
    border:1px solid rgba(248,113,113,.25);
    border-radius:15px;
    background:rgba(239,68,68,.08);
    color:#fca5a5;
    font-weight:800;
    cursor:pointer;
    transition:
        transform .18s ease,
        background .18s ease,
        border-color .18s ease;
}

.admin-sidebar .logout-btn:hover{
    transform:translateY(-2px);
    border-color:rgba(248,113,113,.50);
    background:rgba(239,68,68,.15);
}

/* ARBEITSBEREICH */

.admin-workspace{
    min-width:0;
}

.admin-workspace-header{
    position:relative;
    min-height:180px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-bottom:20px;
    padding:clamp(24px,4vw,42px);
    overflow:hidden;
    border:1px solid rgba(255,255,255,.10);
    border-radius:28px;
    background:
        linear-gradient(
            135deg,
            rgba(38,25,65,.96),
            rgba(15,28,48,.96)
        );
    box-shadow:
        0 25px 65px rgba(0,0,0,.32),
        inset 0 1px 0 rgba(255,255,255,.06);
}

.admin-workspace-header::before{
    content:"";
    position:absolute;
    width:280px;
    height:280px;
    right:-85px;
    top:-145px;
    border-radius:50%;
    background:rgba(157,78,221,.24);
    filter:blur(2px);
}

.admin-workspace-header::after{
    content:"";
    position:absolute;
    width:190px;
    height:190px;
    right:95px;
    bottom:-145px;
    border-radius:50%;
    background:rgba(34,211,238,.13);
}

.admin-workspace-header > *{
    position:relative;
    z-index:1;
}

.admin-workspace-header small{
    display:block;
    margin-bottom:8px;
    color:#67e8f9;
    font-size:11px;
    font-weight:900;
    letter-spacing:.14em;
}

.admin-workspace-header h2{
    margin:0 0 9px;
    color:#ffffff;
    font-size:clamp(28px,4vw,43px);
    line-height:1.05;
}

.admin-workspace-header p{
    margin:0;
    color:#b9c4d3;
    line-height:1.55;
}

.admin-online-indicator{
    display:inline-flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
    padding:9px 13px;
    border:1px solid rgba(74,222,128,.25);
    border-radius:999px;
    background:rgba(34,197,94,.09);
    color:#bbf7d0;
    font-size:11px;
    font-weight:800;
}

.admin-online-indicator > span{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#4ade80;
    box-shadow:0 0 13px #22c55e;
}

/* INHALTSFLÄCHE */

#admin-panel .admin-content{
    min-width:0;
    min-height:520px;
    margin:0;
    padding:clamp(20px,3vw,32px);
    overflow:hidden;
    border:1px solid rgba(255,255,255,.09);
    border-radius:28px;
    background:
        linear-gradient(
            155deg,
            rgba(17,24,39,.97),
            rgba(7,12,22,.98)
        );
    box-shadow:
        0 25px 65px rgba(0,0,0,.30),
        inset 0 1px 0 rgba(255,255,255,.04);
}

#admin-panel .admin-content > h3{
    margin:0 0 8px;
    color:#ffffff;
    font-size:clamp(22px,3vw,30px);
}

#admin-panel .admin-content > p{
    max-width:850px;
    margin:0;
    color:#aab5c5;
    line-height:1.6;
}

/* WILLKOMMEN */

.admin-welcome{
    min-height:455px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:30px;
    text-align:center;
    border:1px dashed rgba(167,139,250,.22);
    border-radius:22px;
    background:
        radial-gradient(
            circle at center,
            rgba(124,58,237,.13),
            transparent 48%
        );
}

.admin-welcome-icon{
    display:grid;
    place-items:center;
    width:76px;
    height:76px;
    margin-bottom:20px;
    border:1px solid rgba(167,139,250,.45);
    border-radius:24px;
    background:
        linear-gradient(
            145deg,
            rgba(124,58,237,.58),
            rgba(6,182,212,.18)
        );
    font-size:32px;
    box-shadow:
        0 18px 42px rgba(124,58,237,.24),
        inset 0 1px 0 rgba(255,255,255,.12);
}

.admin-welcome small{
    margin-bottom:8px;
    color:#67e8f9;
    font-size:10px;
    font-weight:900;
    letter-spacing:.15em;
}

.admin-welcome h3{
    margin:0 0 10px;
    color:#ffffff;
    font-size:clamp(24px,3vw,34px);
}

.admin-welcome p{
    max-width:540px;
    margin:0;
    color:#94a3b8;
    line-height:1.65;
}

/* FORMULARE */

#admin-panel .admin-form{
    margin-top:24px;
    padding:clamp(18px,3vw,27px);
    border:1px solid rgba(255,255,255,.08);
    border-radius:22px;
    background:rgba(5,10,20,.56);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}

#admin-panel .admin-form label{
    display:block;
    margin:17px 0 7px;
    color:#cbd5e1;
    font-size:12px;
    font-weight:800;
}

#admin-panel input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),
#admin-panel textarea,
#admin-panel select{
    width:100%;
    min-height:48px;
    margin:7px 0 14px;
    padding:12px 15px;
    border:1px solid rgba(148,163,184,.20);
    border-radius:13px;
    outline:none;
    background-color:rgba(15,23,42,.96);
    color:#f8fafc;
    font:inherit;
    font-size:13px;
    color-scheme:dark;
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background .18s ease;
}

#admin-panel textarea{
    min-height:125px;
    resize:vertical;
    line-height:1.55;
}

#admin-panel select{
    appearance:none;
    padding-right:46px;
    cursor:pointer;
    background-image:
        linear-gradient(
            45deg,
            transparent 50%,
            #a78bfa 50%
        ),
        linear-gradient(
            135deg,
            #a78bfa 50%,
            transparent 50%
        );
    background-position:
        calc(100% - 19px) 50%,
        calc(100% - 13px) 50%;
    background-size:6px 6px;
    background-repeat:no-repeat;
}

#admin-panel select option{
    background:#0f172a;
    color:#f8fafc;
}

#admin-panel input::placeholder,
#admin-panel textarea::placeholder{
    color:#64748b;
}

#admin-panel input:focus,
#admin-panel textarea:focus,
#admin-panel select:focus{
    border-color:rgba(167,139,250,.72);
    background-color:rgba(17,24,39,.98);
    box-shadow:
        0 0 0 4px rgba(124,58,237,.13),
        0 8px 24px rgba(0,0,0,.18);
}

#admin-panel input[type="file"]{
    width:100%;
    margin:8px 0 14px;
    padding:9px;
    border:1px dashed rgba(167,139,250,.35);
    border-radius:14px;
    background:rgba(15,23,42,.86);
    color:#cbd5e1;
}

#admin-panel input[type="file"]::file-selector-button{
    margin-right:12px;
    padding:9px 13px;
    border:none;
    border-radius:9px;
    background:rgba(124,58,237,.24);
    color:#ddd6fe;
    font-weight:800;
    cursor:pointer;
}

#admin-panel .admin-form > button{
    min-height:45px;
    margin:8px 8px 8px 0;
    padding:11px 18px;
    border:1px solid rgba(167,139,250,.38);
    border-radius:13px;
    background:
        linear-gradient(
            135deg,
            #7c3aed,
            #5b21b6
        );
    color:#ffffff;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(91,33,182,.22);
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        filter .18s ease;
}

#admin-panel .admin-form > button:hover{
    transform:translateY(-2px);
    filter:brightness(1.10);
    box-shadow:0 14px 30px rgba(91,33,182,.32);
}

#admin-panel .admin-form > .danger-btn{
    border-color:rgba(248,113,113,.35);
    background:rgba(239,68,68,.12);
    color:#fecaca;
    box-shadow:none;
}

#admin-panel .admin-form hr{
    margin:28px 0;
    border:none;
    border-top:1px solid rgba(255,255,255,.09);
}

/* TABELLEN */

#admin-panel table{
    width:100%;
    margin-top:18px;
    overflow:hidden;
    border-collapse:separate;
    border-spacing:0;
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    background:rgba(8,13,24,.72);
}

#admin-panel th,
#admin-panel td{
    padding:13px 15px;
    border-bottom:1px solid rgba(255,255,255,.07);
    text-align:left;
    vertical-align:middle;
}

#admin-panel th{
    background:rgba(124,58,237,.12);
    color:#c4b5fd;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.06em;
}

#admin-panel td{
    color:#cbd5e1;
    font-size:13px;
}

#admin-panel tbody tr:hover{
    background:rgba(255,255,255,.025);
}

#admin-panel tbody tr:last-child td{
    border-bottom:none;
}

/* RESPONSIVE */

@media(max-width:1100px){
    .admin-dashboard{
        grid-template-columns:250px minmax(0,1fr);
    }
}

@media(max-width:900px){
    .admin-panel{
        padding:12px;
    }

    .admin-dashboard{
        grid-template-columns:1fr;
    }

    .admin-sidebar{
        position:relative;
        top:auto;
        height:auto;
        min-height:0;
    }

    .admin-navigation{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .admin-nav-label{
        grid-column:1 / -1;
    }

    .admin-sidebar .logout-btn{
        margin-top:18px;
    }
}

@media(max-width:620px){
    .admin-navigation{
        grid-template-columns:1fr;
    }

    .admin-workspace-header{
        min-height:0;
        align-items:flex-start;
        flex-direction:column;
        padding:24px 18px;
        border-radius:22px;
    }

    .admin-online-indicator{
        align-self:flex-start;
    }

    #admin-panel .admin-content{
        min-height:420px;
        padding:18px 13px;
        border-radius:21px;
    }

    .admin-welcome{
        min-height:360px;
        padding:22px 14px;
    }

    #admin-panel table{
        display:block;
        overflow-x:auto;
        white-space:nowrap;
    }
}

.admin-form hr{
    margin:26px 0;
    border:none;
    border-top:1px solid rgba(255,255,255,.15);
}

#station-message,
#add-station-message,
#admin-news-message,
#schedule-message,
#show-message,
#ad-message,
#account-message{
    color:#4ade80;
    font-weight:800;
}

#request-message,
.login-error{
    color:#facc15;
}

/* RESPONSIVE */

@media(max-width:1100px){
    .header{
        flex-wrap:wrap;
    }

    .nav{
        width:100%;
        justify-content:center;
    }

    .hero,
    .content-grid{
        grid-template-columns:1fr;
    }

    .schedule-box,
    .community-box,
    .social-box,
    .news-box{
        grid-column:auto;
    }

    .show-grid,
    .community-grid,
    .schedule-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .quick-row{
        grid-template-columns:repeat(2,1fr);
    }

    .radios-box{
        grid-column:auto;
    }

    .radio-list{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:650px){
    :root{
        --section-x:18px;
    }

    .header{
        padding:16px;
    }

    .main-logo{
        height:64px;
    }

    .logo h1{
        font-size:20px;
    }

    .listen-btn{
        width:100%;
    }

    .nav{
        gap:14px;
    }

    .nav a{
        font-size:12px;
    }

    .hero{
        padding:45px 18px;
    }

    .hero h2{
        font-size:42px;
    }

    .small-title{
        font-size:20px;
    }

    .song-area{
        flex-direction:column;
        align-items:flex-start;
    }

    .quick-row,
    .show-grid,
    .news-grid,
    .community-grid,
    .schedule-grid,
    .social-icons{
        grid-template-columns:1fr;
    }

    .ad-banner{
        flex-direction:column;
        align-items:flex-start;
        padding:24px;
    }

    #ad-action{
        width:100%;
    }

    .section-head{
        flex-direction:column;
        align-items:flex-start;
        gap:8px;
    }
}
/* ADMINBUTTONS FINAL */
.admin-grid button {
    min-height: 66px;
    padding: 18px 22px;
    border-radius: 20px;
    background:rgba(31,36,58,.92);
    border:1px solid rgba(255,255,255,.12);
    color:white;
    font-size: 14px;
    font-weight: 800;
    text-align: left;
    box-shadow:none;
    display: flex;
    align-items: center;
    gap: 10px;
}

.admin-grid button:hover {
    background:rgba(157,78,221,.18);
    border-color:rgba(157,78,221,.55);
    box-shadow:0 0 18px rgba(157,78,221,.25);
    transform: translateY(-2px);
}

/* ===== TICKET-KARTEN ===== */

#ticket-list {
    display: grid;
    gap: 14px;
    margin-top: 16px;
}

.ticket-card {
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.05);
}

.ticket-card-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.ticket-card-head strong {
    font-size: 1rem;
}

.ticket-status {
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(255, 80, 80, 0.18);
    color: #ff7070;
    font-size: 0.8rem;
    font-weight: 700;
}

.ticket-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.ticket-meta span {
    padding: 5px 9px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.07);
    font-size: 0.8rem;
}

.ticket-priority-high {
    background: rgba(255, 70, 70, 0.18) !important;
    color: #ff6b6b;
}

.ticket-priority-normal {
    background: rgba(255, 193, 7, 0.18) !important;
    color: #ffd45c;
}

.ticket-priority-low {
    background: rgba(46, 204, 113, 0.18) !important;
    color: #5ee39a;
}

.ticket-card p {
    margin: 0;
    line-height: 1.5;
    opacity: 0.9;
}

@media (max-width: 700px) {
    .ticket-card-head {
        align-items: flex-start;
        flex-direction: column;
    }
}

.ticket-status-open {
    background: rgba(255, 70, 70, 0.22) !important;
    color: #ff6b6b !important;
}

.ticket-status-progress {
    background: rgba(59, 130, 246, 0.22) !important;
    color: #7db4ff !important;
}

.ticket-status-done {
    background: rgba(46, 204, 113, 0.22) !important;
    color: #5ee39a !important;
}

.ticket-status-deleted {
    background: rgba(148, 163, 184, 0.22) !important;
    color: #cbd5e1 !important;
}

/* =========================
   SENDER-SENDEPLAN / 6-STUNDEN-PLANER
========================= */

#station-schedule-box{
    width:100%;
    margin-top:24px;
}

.station-schedule-card{
    background:var(--bg-card);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    padding:22px;
    box-shadow:var(--shadow-card);
}

.station-schedule-head{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:18px;
}

.station-schedule-icon{
    width:54px;
    height:54px;
    display:grid;
    place-items:center;
    border-radius:var(--radius-sm);
    background:rgba(157,78,221,.16);
    color:var(--accent);
    font-size:28px;
}

.station-schedule-head h3{
    margin:0;
    font-size:20px;
}

.station-schedule-head p{
    margin:4px 0 0;
    color:var(--text-muted);
}

.station-schedule-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.station-schedule-row{
    display:grid;
    grid-template-columns:150px 1fr 110px;
    align-items:center;
    gap:14px;
    padding:14px 16px;
    background:var(--bg-soft);
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
}

.station-schedule-row span{
    color:var(--text-muted);
    font-size:13px;
}

.station-schedule-row strong{
    color:var(--text-main);
}

.station-schedule-row em{
    text-align:right;
    font-style:normal;
    color:var(--accent);
    font-weight:800;
}

/* ADMIN 6-STUNDEN-PLANER */

#admin-plan-preview{
    margin-top:18px;
}

#admin-plan-preview .station-schedule-list{
    margin-top:12px;
}

#admin-plan-preview .station-schedule-row{
    grid-template-columns:140px 1fr 130px 60px;
}

#admin-plan-preview .station-schedule-row button{
    padding:8px 10px;
    border-radius:var(--radius-sm);
    margin:0;
}

#plan-message{
    margin-top:12px;
    font-weight:800;
    color:var(--warning);
}

@media(max-width:700px){
    .station-schedule-row,
    #admin-plan-preview .station-schedule-row{
        grid-template-columns:1fr;
        gap:7px;
    }

    .station-schedule-row em{
        text-align:left;
    }
}

/* =====================================================
   AUSGEWÄHLTER SENDERPLAN – PC + HANDY
===================================================== */

.schedule-page-box{
    grid-column:1 / 3;
}

.schedule-page-box .section-head p{
    margin-top:6px;
    color:var(--text-muted);
    font-size:14px;
}

#schedule-station-output{
    width:100%;
}

.schedule-empty-info{
    padding:24px;
    background:var(--bg-soft);
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    color:var(--text-muted);
}

.schedule-empty-info strong{
    display:block;
    margin-bottom:7px;
    color:var(--text-main);
}

.selected-schedule-card{
    overflow:hidden;
    background:
        radial-gradient(
            circle at 75% 0%,
            rgba(157,78,221,.18),
            transparent 32%
        ),
        var(--bg-panel);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-card);
}

.selected-schedule-head{
    position:relative;
    display:grid;
    grid-template-columns:90px 1fr auto;
    align-items:center;
    gap:20px;
    padding:24px;
    border-bottom:1px solid var(--border);
}

.selected-schedule-icon{
    width:82px;
    height:82px;
    display:grid;
    place-items:center;
    border-radius:var(--radius-md);
    background:
        radial-gradient(
            circle,
            rgba(157,78,221,.38),
            rgba(17,20,34,.92)
        );
    border:1px solid var(--border-primary);
    font-size:42px;
    box-shadow:var(--shadow-glow);
}

.selected-schedule-title h3{
    margin:0 0 5px;
    font-size:28px;
    color:var(--text-main);
}

.selected-schedule-title strong{
    display:block;
    margin-bottom:6px;
    color:var(--primary);
}

.selected-schedule-title p{
    margin:0;
    color:var(--text-muted);
    font-size:14px;
}

.selected-schedule-live{
    align-self:start;
    padding:8px 14px;
    border-radius:var(--radius-sm);
    border:1px solid rgba(239,68,68,.55);
    background:rgba(239,68,68,.12);
    color:#ff6b6b;
    font-size:13px;
    font-weight:900;
    box-shadow:0 0 18px rgba(239,68,68,.18);
}

.selected-schedule-summary{
    padding:14px 20px;
    color:var(--text-soft);
    font-size:13px;
    font-weight:800;
    border-bottom:1px solid var(--border);
}

.selected-schedule-list{
    display:flex;
    flex-direction:column;
    padding:10px;
}

.selected-schedule-row{
    position:relative;
    display:grid;
    grid-template-columns:170px 1fr 120px;
    align-items:center;
    gap:18px;
    min-height:76px;
    padding:14px 18px;
    overflow:hidden;
    border-bottom:1px solid var(--border);
    transition:.2s;
}

.selected-schedule-row:last-child{
    border-bottom:none;
}

.selected-schedule-row:hover{
    background:rgba(157,78,221,.08);
}

.selected-schedule-time{
    color:var(--primary);
    font-size:15px;
    font-weight:900;
}

.selected-schedule-program{
    display:flex;
    flex-direction:column;
    gap:5px;
}

.selected-schedule-program strong{
    color:var(--text-main);
    font-size:16px;
}

.selected-schedule-program small{
    color:var(--text-muted);
    font-size:12px;
}

.selected-schedule-type{
    justify-self:end;
    padding:7px 12px;
    border-radius:999px;
    background:rgba(157,78,221,.13);
    border:1px solid var(--border-primary);
    color:#d8b4fe;
    font-size:12px;
    font-weight:900;
}

/* TABLET */

@media(max-width:1100px){
    .schedule-page-box{
        grid-column:auto;
    }
}

/* HANDY */

@media(max-width:650px){
    .selected-schedule-head{
        grid-template-columns:68px 1fr;
        gap:14px;
        padding:18px;
    }

    .selected-schedule-icon{
        width:64px;
        height:64px;
        font-size:32px;
    }

    .selected-schedule-title h3{
        font-size:20px;
    }

    .selected-schedule-title p{
        font-size:12px;
    }

    .selected-schedule-live{
        grid-column:1 / 3;
        justify-self:start;
        margin-top:2px;
    }

    .selected-schedule-list{
        padding:7px;
    }

    .selected-schedule-row{
        grid-template-columns:1fr;
        gap:8px;
        min-height:auto;
        padding:16px 14px;
    }

    .selected-schedule-time{
        font-size:14px;
    }

    .selected-schedule-program strong{
        font-size:15px;
    }

    .selected-schedule-type{
        justify-self:start;
    }
}
/* =====================================================
   RECHTLICHE SEITEN
===================================================== */

.legal-page{
    position:relative;
    min-height:100vh;
    padding:clamp(24px,5vw,70px) 16px;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    overflow:hidden;
    background:
        radial-gradient(
            circle at 10% 8%,
            rgba(157,78,221,.18),
            transparent 32%
        ),
        radial-gradient(
            circle at 90% 18%,
            rgba(34,211,238,.10),
            transparent 30%
        ),
        linear-gradient(
            145deg,
            #05060d,
            #0b1020 55%,
            #070914
        );
}


.legal-page::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.22;
    background-image:
        linear-gradient(
            rgba(255,255,255,.025) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.025) 1px,
            transparent 1px
        );
    background-size:42px 42px;
}


.legal-box{
    position:relative;
    width:100%;
    max-width:1100px;
    padding:clamp(24px,4vw,54px);
    overflow:hidden;
    border:1px solid rgba(255,255,255,.10);
    border-radius:30px;
    background:
        linear-gradient(
            145deg,
            rgba(20,27,52,.96),
            rgba(10,14,28,.97)
        );
    color:#f8fafc;
    box-shadow:
        0 30px 80px rgba(0,0,0,.48),
        inset 0 1px 0 rgba(255,255,255,.05);
    backdrop-filter:blur(18px);
}


.legal-box::before{
    content:"";
    position:absolute;
    top:0;
    left:10%;
    right:10%;
    height:3px;
    border-radius:999px;
    background:
        linear-gradient(
            90deg,
            transparent,
            #ef233c,
            var(--primary),
            var(--accent),
            transparent
        );
    box-shadow:
        0 0 24px rgba(157,78,221,.55);
}


/* Kopfbereich */

.legal-header{
    display:grid;
    grid-template-columns:150px minmax(0,1fr);
    align-items:center;
    gap:clamp(24px,4vw,46px);
    padding-bottom:38px;
    border-bottom:1px solid rgba(255,255,255,.09);
}


.legal-logo-link{
    width:150px;
    height:150px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.10);
    border-radius:50%;
    background:rgba(255,255,255,.035);
    box-shadow:
        0 18px 40px rgba(0,0,0,.34),
        0 0 28px rgba(157,78,221,.11);
}


.legal-logo{
    width:132px;
    height:132px;
    margin:0;
    object-fit:contain;
    border-radius:50%;
}


.legal-header-content{
    min-width:0;
}


.legal-kicker{
    display:inline-flex;
    margin-bottom:10px;
    color:var(--accent);
    font-size:11px;
    font-weight:900;
    letter-spacing:2px;
    text-transform:uppercase;
}


.legal-header h1{
    margin:0;
    color:#ffffff;
    font-size:clamp(36px,5vw,58px);
    line-height:1;
    letter-spacing:-1.5px;
}


.legal-intro{
    max-width:620px;
    margin:17px 0 0;
    color:#a8b3c7;
    font-size:15px;
    line-height:1.7;
}


/* Pflichtangaben */

.legal-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin-top:32px;
}


.legal-section{
    position:relative;
    min-width:0;
    padding:24px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.09);
    border-radius:20px;
    background:
        linear-gradient(
            135deg,
            rgba(157,78,221,.065),
            rgba(34,211,238,.025)
        ),
        rgba(255,255,255,.025);
}


.legal-section-wide,
.legal-developer-card{
    grid-column:auto;
}


.legal-section-number{
    position:absolute;
    top:18px;
    right:20px;
    color:rgba(255,255,255,.14);
    font-size:28px;
    font-weight:950;
    line-height:1;
}


.legal-section h2{
    max-width:85%;
    margin:0 0 18px;
    padding:0;
    border:0;
    color:#ffffff;
    font-size:clamp(18px,2vw,22px);
    line-height:1.35;
}


.legal-section h2::before{
    content:"";
    width:8px;
    height:8px;
    display:inline-block;
    margin-right:9px;
    border-radius:50%;
    background:var(--primary);
    box-shadow:0 0 12px rgba(157,78,221,.70);
    vertical-align:2px;
}


.legal-section address,
.legal-section p{
    margin:0;
    color:#a8b3c7;
    font-size:14px;
    font-style:normal;
    line-height:1.75;
}


.legal-section address strong{
    color:#ffffff;
}


.legal-reference{
    margin:-8px 0 14px !important;
    color:var(--accent) !important;
    font-size:12px !important;
    font-weight:800;
}


.legal-contact-link{
    width:max-content;
    max-width:100%;
    margin-top:14px;
    padding:10px 14px;
    display:inline-flex;
    align-items:center;
    border:1px solid rgba(34,211,238,.25);
    border-radius:12px;
    background:rgba(34,211,238,.07);
    color:var(--accent);
    font-size:13px;
    font-weight:850;
    text-decoration:none;
    overflow-wrap:anywhere;
    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease;
}


.legal-contact-link:hover{
    transform:translateY(-1px);
    border-color:rgba(157,78,221,.48);
    background:rgba(157,78,221,.12);
    color:#ffffff;
}


.legal-developer-name{
    display:block;
    margin-top:5px;
    color:#d8deef;
    font-size:14px;
    font-weight:750;
}


/* Zusätzliche Hinweise */

.legal-information{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin-top:18px;
}


.legal-information-card{
    min-width:0;
    padding:24px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    background:rgba(255,255,255,.025);
}


.legal-information-card:first-child{
    grid-column:1 / -1;
}


.legal-information-card h2{
    margin:0 0 15px;
    padding:0 0 12px;
    border-bottom:1px solid rgba(34,211,238,.16);
    color:#ffffff;
    font-size:19px;
    line-height:1.4;
}


.legal-information-card p{
    margin:0;
    color:#a8b3c7;
    font-size:14px;
    line-height:1.75;
}


.legal-information-card p + p{
    margin-top:14px;
}


.legal-information-card a{
    color:var(--accent);
    font-weight:800;
    text-decoration-color:rgba(34,211,238,.40);
    text-underline-offset:3px;
}


.legal-information-card a:hover{
    color:#ffffff;
}


/* Abschluss */

.legal-footer{
    margin-top:32px;
    padding-top:24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    border-top:1px solid rgba(255,255,255,.09);
}


.legal-footer small{
    color:#64748b;
    font-size:11px;
    text-align:right;
}


.legal-back{
    width:max-content;
    max-width:100%;
    min-height:46px;
    margin:0;
    padding:12px 20px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(157,78,221,.42);
    border-radius:999px;
    background:
        linear-gradient(
            135deg,
            var(--primary),
            var(--primary-dark)
        );
    color:#ffffff;
    font-size:13px;
    font-weight:850;
    text-decoration:none;
    box-shadow:0 12px 30px rgba(107,33,168,.28);
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


.legal-back:hover{
    transform:translateY(-2px);
    box-shadow:0 17px 36px rgba(107,33,168,.40);
}


.legal-back:focus-visible,
.legal-contact-link:focus-visible{
    outline:2px solid var(--accent);
    outline-offset:4px;
}


/* Smartphone */

@media(max-width:760px){

    .legal-page{
        padding:12px;
    }

    .legal-box{
        padding:26px 16px;
        border-radius:22px;
    }

    .legal-header{
        grid-template-columns:1fr;
        gap:20px;
        text-align:center;
    }

    .legal-logo-link{
        width:120px;
        height:120px;
        margin:auto;
    }

    .legal-logo{
        width:105px;
        height:105px;
    }

    .legal-intro{
        margin-left:auto;
        margin-right:auto;
    }

    .legal-grid,
    .legal-information{
        grid-template-columns:1fr;
    }

    .legal-section-wide,
    .legal-developer-card,
    .legal-information-card:first-child{
        grid-column:auto;
    }

    .legal-section,
    .legal-information-card{
        padding:20px 17px;
    }

    .legal-section h2{
        max-width:82%;
    }

    .legal-footer{
        align-items:stretch;
        flex-direction:column;
    }

    .legal-back{
        width:100%;
    }

    .legal-footer small{
        text-align:center;
    }
}
/* =====================================================
   SENDEPLAN – LIVE, NÄCHSTE SENDUNG & FORTSCHRITT
===================================================== */

.selected-schedule-time-area{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
}

.schedule-row-live{
    background:
        linear-gradient(
            90deg,
            rgba(239,68,68,.15),
            rgba(157,78,221,.10)
        );
    border-left:4px solid #ef4444;
    box-shadow:
        inset 0 0 30px rgba(239,68,68,.08),
        0 0 22px rgba(239,68,68,.12);
}

.schedule-row-live::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(
            110deg,
            transparent 20%,
            rgba(255,255,255,.06) 45%,
            transparent 70%
        );
    transform:translateX(-100%);
    animation:scheduleShine 4s infinite;
}

.schedule-row-next{
    background:rgba(34,211,238,.06);
    border-left:4px solid var(--accent);
}

.schedule-live-badge,
.schedule-next-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:5px 10px;
    border-radius:999px;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.8px;
}

.schedule-live-badge{
    color:#ffffff;
    background:#ef4444;
    box-shadow:0 0 18px rgba(239,68,68,.55);
    animation:livePulse 1.8s infinite;
}

.schedule-live-badge::before{
    content:"";
    width:7px;
    height:7px;
    border-radius:50%;
    background:#ffffff;
}

.schedule-next-badge{
    color:var(--accent);
    background:rgba(34,211,238,.13);
    border:1px solid rgba(34,211,238,.35);
}

.schedule-progress{
    width:100%;
    max-width:460px;
    height:8px;
    margin-top:9px;
    overflow:hidden;
    border-radius:999px;
    background:rgba(255,255,255,.10);
}

.schedule-progress-bar{
    height:100%;
    border-radius:inherit;
    background:
        linear-gradient(
            90deg,
            #ef4444,
            var(--primary),
            var(--accent)
        );
    box-shadow:0 0 14px rgba(157,78,221,.55);
    transition:width .5s ease;
}

.schedule-progress-text{
    display:block;
    margin-top:6px;
    color:var(--text-muted);
    font-size:11px;
    font-weight:700;
}

@keyframes livePulse{
    0%,
    100%{
        box-shadow:0 0 10px rgba(239,68,68,.35);
    }

    50%{
        box-shadow:0 0 24px rgba(239,68,68,.75);
    }
}

@keyframes scheduleShine{
    0%{
        transform:translateX(-100%);
    }

    55%,
    100%{
        transform:translateX(120%);
    }
}

@media(max-width:650px){
    .selected-schedule-time-area{
        flex-direction:row;
        align-items:center;
        flex-wrap:wrap;
    }

    .schedule-progress{
        max-width:none;
    }
}
/* =====================================================
   RADIONETZ LIVE-UHR
===================================================== */

.rnz-clock{
    display:flex;
    align-items:center;
    gap:10px;
    padding:6px 0;
    background:transparent;
    border:none;
    box-shadow:none;
    min-width:auto;
}

.rnz-clock::before{
    display:none;
}

.rnz-clock-icon{
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    border:none;
    border-radius:50%;
    background:rgba(157,78,221,.14);
    color:var(--primary);
    font-size:17px;
    box-shadow:0 0 14px rgba(157,78,221,.22);
}

.rnz-clock-content{
    display:flex;
    flex-direction:column;
    gap:2px;
}

#rnz-date{
    color:var(--text-muted);
    font-size:9px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.7px;
    white-space:nowrap;
}

.rnz-clock-time{
    display:flex;
    align-items:flex-start;
    gap:4px;
}

#rnz-time{
    color:#ffffff;
    font-size:20px;
    line-height:1;
    letter-spacing:1px;
    text-shadow:none;
}

#rnz-seconds{
    margin-top:1px;
    color:var(--accent);
    font-size:9px;
    font-weight:900;
}

@media(max-width:1100px){
    .rnz-clock{
        order:3;
        margin-left:auto;
    }
}

@media(max-width:650px){
    .rnz-clock{
        width:auto;
        justify-content:flex-start;
        margin-left:auto;
    }

    #rnz-date{
        font-size:8px;
    }

    #rnz-time{
        font-size:18px;
    }
}
/* =====================================================
   RADIONETZ PLAYER – LIVE-CENTER
===================================================== */

.player-live-head{
    position:relative;
    z-index:2;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-bottom:24px;
}

.player-live-status{
    display:flex;
    align-items:center;
    gap:9px;
    font-size:13px;
    letter-spacing:.7px;
}

.player-live-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#22c55e;
    box-shadow:0 0 14px rgba(34,197,94,.8);
    animation:playerLivePulse 1.7s infinite;
}

/* EQUALIZER */

.player-equalizer{
    height:30px;
    display:flex;
    align-items:center;
    gap:4px;
}

.player-equalizer span{
    width:4px;
    height:10px;
    border-radius:999px;
    background:linear-gradient(
        180deg,
        var(--accent),
        var(--primary)
    );
    box-shadow:0 0 9px rgba(34,211,238,.42);
    transform-origin:center;
    animation:playerEqualizer 1s ease-in-out infinite;
}

.player-equalizer span:nth-child(2){
    animation-delay:.15s;
}

.player-equalizer span:nth-child(3){
    animation-delay:.3s;
}

.player-equalizer span:nth-child(4){
    animation-delay:.45s;
}

.player-equalizer span:nth-child(5){
    animation-delay:.6s;
}

/* LIVE-INFORMATIONEN */

.player-live-data{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-top:20px;
}

.player-listener-box,
.player-source-box{
    display:flex;
    align-items:center;
    gap:11px;
    min-width:0;
    padding:13px 14px;
    border:1px solid var(--border);
    border-radius:16px;
    background:
        linear-gradient(
            135deg,
            rgba(157,78,221,.10),
            rgba(34,211,238,.05)
        ),
        rgba(255,255,255,.035);
}

.player-listener-icon,
.player-source-box > span{
    width:36px;
    height:36px;
    flex-shrink:0;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:rgba(157,78,221,.15);
    border:1px solid rgba(157,78,221,.35);
    font-size:17px;
}

.player-listener-box div,
.player-source-box div{
    display:flex;
    flex-direction:column;
    min-width:0;
}

#current-listeners{
    color:var(--accent);
    font-size:18px;
    line-height:1;
    text-shadow:0 0 12px rgba(34,211,238,.32);
}

.player-source-box strong{
    color:white;
    font-size:13px;
}

.player-listener-box small,
.player-source-box small{
    margin-top:4px;
    color:var(--text-muted);
    font-size:10px;
}

/* ANIMATIONEN */

@keyframes playerLivePulse{
    0%,
    100%{
        transform:scale(1);
        box-shadow:0 0 8px rgba(34,197,94,.45);
    }

    50%{
        transform:scale(1.22);
        box-shadow:0 0 19px rgba(34,197,94,.9);
    }
}

@keyframes playerEqualizer{
    0%,
    100%{
        height:8px;
        opacity:.65;
    }

    50%{
        height:27px;
        opacity:1;
    }
}

/* =====================================================
   MOBILE – KOMPAKTES RADIONETZ-DESIGN
===================================================== */

@media(max-width:650px){

    :root{
        --section-x:14px;
    }

    body{
        overflow-x:hidden;
    }

    /* HEADER */

    .header{
        position:relative;
        min-height:auto;
        padding:12px 14px;
        display:grid;
        grid-template-columns:1fr auto;
        align-items:center;
        gap:12px;
    }

    .logo{
        width:auto;
        min-width:0;
        gap:10px;
    }

    .main-logo{
        width:72px;
        height:58px;
        flex-shrink:0;
        object-fit:contain;
    }

    .logo h1{
        font-size:clamp(18px,5.5vw,25px);
        line-height:1.1;
        white-space:nowrap;
    }

    .logo p{
        margin-top:4px;
        font-size:clamp(11px,3.2vw,14px);
        white-space:nowrap;
    }

    /* NAVIGATION ALS KOMPAKTE LEISTE */

    .nav{
        grid-column:1 / 3;
        width:100%;
        display:flex;
        justify-content:flex-start;
        gap:4px;
        padding:8px 0 4px;
        overflow-x:auto;
        scrollbar-width:none;
        border-top:1px solid var(--border);
    }

    .nav::-webkit-scrollbar{
        display:none;
    }

    .nav a{
        flex:0 0 auto;
        min-width:92px;
        padding:10px 9px;
        text-align:center;
        border-radius:12px;
        background:transparent;
        color:var(--text-soft);
        font-size:11px;
        letter-spacing:.2px;
    }

    .nav a:hover,
    .nav a:focus{
        color:var(--primary);
        background:rgba(157,78,221,.10);
    }

    .listen-btn{
        grid-column:1 / 3;
        width:100%;
        margin-top:4px;
        padding:14px 18px;
        font-size:16px;
    }

    /* UHR */

    .rnz-clock{
        grid-column:1 / 3;
        width:100%;
        margin:2px 0 0;
        padding:12px 14px;
        justify-content:flex-start;
        border:1px solid var(--border);
        border-radius:16px;
        background:rgba(15,23,42,.74);
    }

    .rnz-clock-icon{
        width:38px;
        height:38px;
        font-size:18px;
    }

    #rnz-date{
        font-size:10px;
        letter-spacing:.5px;
    }

    #rnz-time{
        font-size:25px;
    }

    #rnz-seconds{
        font-size:10px;
    }

    /* HERO UND PLAYER */

    .hero{
        padding:22px 14px;
        grid-template-columns:1fr;
        gap:18px;
    }

    .hero-text{
        display:none;
    }

    .player-card{
        width:100%;
        padding:20px 16px;
        border-radius:20px;
    }

    .player-live-head{
        margin-bottom:16px;
    }

    .song-area{
        flex-direction:row;
        align-items:center;
        gap:14px;
        margin-bottom:20px;
    }

    .cover{
        width:70px;
        height:70px;
        flex-shrink:0;
        border-radius:17px;
        font-size:36px;
    }

    .song-area h3{
        font-size:19px;
        overflow-wrap:anywhere;
    }

    .song-area p{
        font-size:13px;
    }

    .player-controls{
        flex-wrap:nowrap;
        gap:12px;
    }

    .pause,
    .mute-btn{
        width:42px;
        height:42px;
        flex-shrink:0;
    }

    .volume-box{
        width:100%;
    }

    #volume-slider{
        width:100%;
    }

    .player-live-data{
        grid-template-columns:1fr 1fr;
        gap:8px;
    }

    .player-listener-box,
    .player-source-box{
        padding:10px;
    }

    /* SCHNELLÜBERSICHT */

    .quick-row{
        margin:18px 14px;
        padding:14px;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:9px;
        border-radius:20px;
    }

    .quick-row div{
        padding:12px;
        border-radius:14px;
        font-size:13px;
    }

    /* INHALTSBEREICH */

    .content-grid{
        grid-template-columns:1fr;
        gap:16px;
        padding:0 14px 35px;
    }

    .box{
        width:100%;
        padding:18px 14px;
        border-radius:22px;
    }

    .section-head{
        flex-direction:row;
        align-items:center;
        gap:10px;
        margin-bottom:16px;
    }

    .section-head h2,
    .social-box h2{
        font-size:18px;
    }

    /* SENDER ALS KOMPAKTE ZEILEN */

    .radios-box{
        grid-column:auto;
    }

    .radio-list{
        grid-template-columns:1fr;
        gap:10px;
    }

    .station-item{
        width:100%;
        min-height:82px;
        padding:11px 13px;
        display:grid !important;
        grid-template-columns:54px minmax(0,1fr);
        justify-content:initial;
        align-items:center;
        gap:13px;
        text-align:left;
        border-radius:17px;
    }

    .station-item:hover,
    .station-item.active-station{
        transform:none;
    }

    .station-item > span{
        width:50px;
        height:50px;
        margin:0;
        border-radius:14px;
        font-size:25px;
    }

    .station-item p{
        width:auto;
        font-size:12px;
        line-height:1.4;
    }

    .station-item strong{
        margin-bottom:3px;
        font-size:15px;
    }

    /* WEITERE KARTEN */

    .show-grid,
    .news-grid,
    .community-grid,
    .schedule-grid{
        grid-template-columns:1fr;
        gap:12px;
    }

    .social-icons{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }

    .social-icons a,
    .social-request-btn{
        min-height:90px;
        padding:12px;
    }

    /* WERBUNG */

    .ad-banner{
        margin:18px 14px;
        padding:18px;
        flex-direction:column;
        align-items:flex-start;
        border-radius:20px;
    }

    #ad-action{
        width:100%;
    }

    /* SENDEPLAN */

    .selected-schedule-head{
        grid-template-columns:58px minmax(0,1fr);
        padding:15px;
    }

    .selected-schedule-icon{
        width:54px;
        height:54px;
        font-size:27px;
    }

    .selected-schedule-title h3{
        font-size:18px;
    }

    .selected-schedule-live{
        grid-column:1 / 3;
    }

    .selected-schedule-row{
        grid-template-columns:1fr;
        gap:8px;
        padding:14px 12px;
    }

    .selected-schedule-type{
        justify-self:start;
    }

    /* ADMIN */

    .admin-panel{
        padding:28px 14px;
    }

    .admin-header{
        flex-direction:column;
        align-items:flex-start;
        gap:12px;
    }

    .admin-grid{
        grid-template-columns:1fr;
    }

    .admin-content{
        padding:17px 14px;
    }
    /* FOOTER */

    .footer{
        padding:26px 14px;
    }
}

/* SEHR SCHMALE HANDYS */

@media(max-width:380px){

    .main-logo{
        width:60px;
        height:50px;
    }

    .logo h1{
        font-size:17px;
    }

    .logo p{
        font-size:10px;
    }

    .nav a{
        min-width:82px;
        font-size:10px;
    }

    .player-live-data,
    .social-icons,
    .quick-row{
        grid-template-columns:1fr;
    }

    .song-area{
        align-items:flex-start;
    }
}

/* =====================================================
   SEHR SCHMALE DISPLAYS
===================================================== */

@media(max-width:420px){
    :root{
        --section-x:12px;
    }

    .header,
    .hero,
    .content-grid,
    .admin-panel{
        padding-left:12px;
        padding-right:12px;
    }

    .quick-row,
    .ad-banner{
        margin-left:12px;
        margin-right:12px;
    }

    .radio-list,
    .nav{
        grid-template-columns:1fr;
    }

    .station-item{
        min-height:105px;
    }

    .hero h2{
        font-size:clamp(32px,12vw,40px);
    }

    .player-card,
    .box,
    .admin-content{
        padding:18px 14px;
    }
}


@media(prefers-reduced-motion:reduce){
    *,
    *::before,
    *::after{
        scroll-behavior:auto !important;
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
    }
}

/* ==================================================
   COMMUNITY - PLAYLIST BOARD
================================================== */

.music-community-dashboard{
    display:grid;
    grid-template-columns:1.15fr 0.85fr;
    gap:24px;
    margin-top:25px;
}

.music-top-ten-panel,
.laut-playlist-panel{
    background:#181c2c;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    padding:22px;
}

.music-panel-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:20px;
}

.music-panel-head h3{
    margin:0;
    color:#fff;
    font-size:24px;
}

.music-panel-head p{
    margin:6px 0 0;
    color:#b9bfd6;
    line-height:1.5;
}

.music-ranking-list{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.music-ranking-card{
    display:grid;
    grid-template-columns:60px 1fr auto;
    gap:18px;
    align-items:center;
    background:#232842;
    border-radius:14px;
    padding:18px;
    transition:.2s;
}

.music-ranking-card:hover{
    transform:translateY(-2px);
    background:#2b3150;
}

.music-ranking-position{
    width:48px;
    height:48px;
    border-radius:50%;
    background:#8b5cf6;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#fff;
    font-weight:700;
    font-size:22px;
}

.music-ranking-content h4{
    margin:0 0 8px;
    color:#fff;
    font-size:20px;
}

.music-ranking-content p{
    margin:4px 0;
    color:#cdd4ea;
}

.music-ranking-card button{
    min-width:150px;
}

#laut-playlist-preview{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-top:15px;
}

.laut-playlist-item{
    display:grid;
    grid-template-columns:45px 1fr auto;
    gap:15px;
    align-items:center;
    background:#232842;
    border-radius:14px;
    padding:15px;
}

.laut-playlist-number{
    width:34px;
    height:34px;
    border-radius:50%;
    background:#7c3aed;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-weight:bold;
}

.laut-playlist-song{
    display:flex;
    flex-direction:column;
}

.laut-playlist-song strong{
    color:#fff;
    font-size:17px;
}

.laut-playlist-song small{
    color:#cbd5e1;
    margin-top:4px;
}

.laut-playlist-actions{
    display:flex;
    gap:8px;
}

.laut-playlist-actions button{
    min-width:42px;
    padding:10px;
}

/* COMMUNITY-AKTIONSBUTTONS */

.music-panel-buttons{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:10px;
}

.laut-playlist-manual{
    display:grid;
    grid-template-columns:
        minmax(0,1fr)
        minmax(0,1fr)
        auto;
    align-items:center;
    gap:12px;
    margin-bottom:18px;
}

#admin-panel .laut-playlist-manual input{
    min-height:46px;
    margin:0;
}

.laut-playlist-footer{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:20px;
}

#admin-panel .music-panel-buttons button,
#admin-panel .laut-playlist-manual button,
#admin-panel .laut-playlist-footer button{
    min-width:0;
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin:0;
    padding:11px 16px;
    border:1px solid rgba(167,139,250,.38);
    border-radius:12px;
    background:
        linear-gradient(
            135deg,
            rgba(124,58,237,.92),
            rgba(91,33,182,.92)
        );
    color:#ffffff;
    font-size:12px;
    font-weight:800;
    line-height:1.25;
    white-space:nowrap;
    cursor:pointer;
    box-shadow:0 9px 22px rgba(91,33,182,.24);
    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        filter .18s ease;
}

#admin-panel .music-panel-buttons button:hover,
#admin-panel .laut-playlist-manual button:hover,
#admin-panel .laut-playlist-footer button:hover{
    transform:translateY(-2px);
    filter:brightness(1.10);
    border-color:rgba(196,181,253,.65);
    box-shadow:0 13px 28px rgba(91,33,182,.34);
}

#admin-panel .music-panel-buttons .danger-btn,
#admin-panel .laut-playlist-footer .danger-btn{
    border-color:rgba(248,113,113,.38);
    background:
        linear-gradient(
            135deg,
            rgba(185,28,28,.82),
            rgba(127,29,29,.88)
        );
    color:#fee2e2;
    box-shadow:0 9px 22px rgba(127,29,29,.20);
}

#admin-panel .laut-playlist-footer button{
    flex:1 1 220px;
}

@media(max-width:760px){
    .music-panel-head{
        flex-direction:column;
    }

    .music-panel-buttons{
        width:100%;
        display:grid;
        grid-template-columns:1fr;
    }

    .laut-playlist-manual{
        grid-template-columns:1fr;
    }

    #admin-panel .music-panel-buttons button,
    #admin-panel .laut-playlist-manual button,
    #admin-panel .laut-playlist-footer button{
        width:100%;
    }
}

@media (max-width:1000px){

.music-community-dashboard{
    grid-template-columns:1fr;
}

.music-ranking-card{
    grid-template-columns:50px 1fr;
}

.music-ranking-card button{
    grid-column:1 / -1;
    width:100%;
}

.laut-playlist-item{
    grid-template-columns:40px 1fr;
}

.laut-playlist-actions{
    grid-column:1 / -1;
    justify-content:flex-end;
}

.laut-playlist-footer{
    flex-direction:column;
}

}
.published-greeting{
    display:block;
    padding:9px 0;
    border-bottom:1px solid rgba(255,255,255,.10);
    line-height:1.5;
}

.published-greeting:last-child{
    border-bottom:none;
}

.published-greeting strong{
    color:var(--primary);
}
/* ==================================================
   GRÜSSE - ADMIN
================================================== */

.greeting-admin-card{
    margin-top:18px;
    padding:20px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:18px;
    background:
        linear-gradient(
            135deg,
            rgba(157,78,221,.10),
            rgba(34,211,238,.04)
        ),
        #151a2b;
}

.greeting-admin-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
    margin-bottom:16px;
}

.greeting-admin-label{
    display:block;
    margin-bottom:6px;
    color:var(--primary);
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.8px;
}

.greeting-admin-head h4{
    margin:0;
    color:#fff;
    font-size:20px;
}

.greeting-status{
    padding:6px 11px;
    border-radius:999px;
    background:rgba(250,204,21,.14);
    color:#facc15;
    font-size:12px;
    font-weight:900;
}

.greeting-status.is-approved{
    background:rgba(34,197,94,.14);
    color:#4ade80;
}

.greeting-admin-message{
    padding:16px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:14px;
    background:rgba(255,255,255,.04);
    color:#eef2ff;
    font-size:16px;
    line-height:1.6;
    white-space:pre-line;
text-align:left;
}

.greeting-admin-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-top:16px;
}

.greeting-admin-footer small{
    color:var(--text-muted);
}

.greeting-admin-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.greeting-admin-actions button{
    margin:0;
}

@media(max-width:700px){
    .greeting-admin-head,
    .greeting-admin-footer{
        flex-direction:column;
        align-items:flex-start;
    }

    .greeting-admin-actions{
        width:100%;
    }

    .greeting-admin-actions button{
        flex:1;
    }
}
/* =====================================================
   FINAL RESPONSIVE LAYOUT FIX
   PC, TABLET UND MOBILE
===================================================== */

/* SHOW-BEREICH UND SHOW-NAVIGATION VOLLSTÄNDIG AUSBLENDEN */
.shows-box,
#shows,
.nav a[href="#shows"],
.nav a[href*="show"]{
    display:none !important;
}

/* EINHEITLICHE SEITENBREITE */
:root{
    --page-max:1480px;
    --page-gap:clamp(14px,2vw,28px);
    --section-x:clamp(16px,4vw,72px);
}

.header,
.hero,
.quick-row,
.ad-banner,
.content-grid,
.footer,
.admin-panel{
    width:100%;
}

.header > *,
.hero > *,
.content-grid > *{
    min-width:0;
}

/* HEADER SAUBER AUSRICHTEN */
.header{
    min-height:76px;
    padding:10px var(--section-x);
    display:grid;
    grid-template-columns:minmax(250px,auto) minmax(0,1fr) auto auto;
    align-items:center;
    gap:clamp(12px,2vw,28px);
}

.logo{
    min-width:0;
}

.main-logo{
    width:auto;
    height:58px;
}

.logo h1{
    font-size:clamp(18px,1.5vw,24px);
    white-space:nowrap;
}

.logo p{
    font-size:clamp(10px,.8vw,13px);
    white-space:nowrap;
}

.nav{
    width:100%;
    justify-content:center;
    gap:clamp(12px,1.5vw,24px);
    flex-wrap:nowrap;
}

.nav a{
    white-space:nowrap;
    font-size:clamp(10px,.75vw,13px);
}

.rnz-clock{
    justify-self:end;
}

.listen-btn{
    justify-self:end;
}

/* HAUPTINHALT GERADE UND GLEICHMÄSSIG */
.content-grid{
    grid-template-columns:minmax(0,1.65fr) minmax(300px,.95fr);
    gap:var(--page-gap);
    align-items:start;
}

.radios-box,
.community-box,
.schedule-box,
.schedule-page-box{
    grid-column:1 / -1;
}

.news-box{
    grid-column:1 / -1;
    width:100%;
}

.social-box{
    grid-column:2 / 3;
}

.box{
    height:auto;
}

/* RADIOS AUF GROSSEN BILDSCHIRMEN GLEICH BREIT */
.radio-list{
    grid-template-columns:repeat(6,minmax(145px,1fr));
    gap:clamp(10px,1.2vw,16px);
}

.station-item{
    min-height:128px;
    padding:15px 12px;
}

/* COMMUNITY-KARTEN SAUBER VERTEILEN */
.community-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    align-items:stretch;
}

.community-card{
    height:100%;
    display:flex;
    flex-direction:column;
}

.community-card .community-btn{
    margin-top:auto;
    align-self:flex-start;
}

/* NEWS UND SOCIAL GLEICHE OBERKANTE */
.news-box,
.social-box{
    align-self:stretch;
}

/* LAPTOP / KLEINER PC */
@media(max-width:1250px){
    .header{
        grid-template-columns:auto 1fr auto;
    }

    .nav{
        grid-column:1 / -1;
        order:4;
        justify-content:center;
        padding-top:8px;
        border-top:1px solid var(--border);
    }

    .radio-list{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .community-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

/* TABLET */
@media(max-width:900px){
    :root{
        --section-x:clamp(14px,3vw,28px);
    }

    .header{
        grid-template-columns:minmax(0,1fr) auto;
    }

    .rnz-clock{
        grid-column:2;
        grid-row:1;
    }

    .listen-btn{
        grid-column:1 / -1;
        width:100%;
    }

    .nav{
        overflow-x:auto;
        justify-content:flex-start;
        scrollbar-width:none;
    }

    .nav::-webkit-scrollbar{
        display:none;
    }

    .nav a{
        flex:0 0 auto;
        min-width:max-content;
        padding:9px 12px;
    }

    .content-grid{
        grid-template-columns:1fr;
    }

    .news-box,
    .social-box,
    .radios-box,
    .community-box,
    .schedule-box,
    .schedule-page-box{
        grid-column:auto;
    }

    .radio-list{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .community-grid,
    .news-grid,
    .schedule-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

/* MOBILE */
@media(max-width:650px){
    :root{
        --section-x:12px;
        --page-gap:14px;
    }

    .header{
        position:relative;
        padding:10px 12px;
        grid-template-columns:minmax(0,1fr) auto;
        gap:10px;
    }

    .main-logo{
        width:60px;
        height:50px;
    }

    .logo{
        gap:8px;
    }

    .logo h1{
        max-width:100%;
        overflow:hidden;
        text-overflow:ellipsis;
        font-size:17px;
    }

    .logo p{
        font-size:10px;
    }

    .rnz-clock{
        width:auto;
        padding:0;
        border:0;
        background:transparent;
    }

    .rnz-clock-icon{
        width:30px;
        height:30px;
        font-size:15px;
    }

    #rnz-date{
        font-size:7px;
    }

    #rnz-time{
        font-size:17px;
    }

    .nav{
        grid-column:1 / -1;
        width:100%;
        gap:6px;
        padding:8px 0 0;
    }

    .nav a{
        min-width:auto;
        padding:9px 10px;
        font-size:10px;
        background:rgba(255,255,255,.035);
        border:1px solid var(--border);
        border-radius:10px;
    }

    .listen-btn{
        grid-column:1 / -1;
        width:100%;
        margin:0;
    }

    .hero,
    .content-grid,
    .admin-panel{
        padding-left:12px;
        padding-right:12px;
    }

    .quick-row,
    .ad-banner{
        margin-left:12px;
        margin-right:12px;
    }

    .content-grid{
        gap:14px;
        padding-bottom:28px;
    }

    .box{
        padding:16px 12px;
        border-radius:18px;
    }

    .section-head{
        align-items:flex-start;
    }

    .section-head h2,
    .social-box h2{
        font-size:17px;
    }

    .radio-list,
.community-grid,
.news-grid,
.schedule-grid{
    grid-template-columns:1fr;
}

    .station-item{
        min-height:76px;
        grid-template-columns:48px minmax(0,1fr);
        padding:10px 12px;
    }

    .station-item > span{
        width:46px;
        height:46px;
        font-size:23px;
    }

    .community-card,
    .news-grid article,
    .social-icons a,
    .social-request-btn{
        width:100%;
    }

    .community-btn{
        width:100%;
        text-align:center;
    }
}

/* SEHR KLEINE HANDYS */
@media(max-width:380px){
    .header{
        grid-template-columns:1fr;
    }

    .rnz-clock{
        grid-column:1;
        grid-row:auto;
        justify-self:start;
    }

    .logo h1{
        font-size:16px;
    }

    .nav a{
        padding:8px 9px;
        font-size:9px;
    }

    .player-live-data,
    .quick-row,
    .social-icons{
        grid-template-columns:1fr;
    }
}

/* =====================================================
   SYSTEMÜBERSICHT
===================================================== */

.system-overview{
    display:flex;
    flex-direction:column;
    gap:24px;
}

.system-overview-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    padding-bottom:20px;
    border-bottom:1px solid var(--border);
}

.system-label{
    display:block;
    margin-bottom:7px;
    color:var(--primary);
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:1px;
}

.system-overview-head h3{
    margin:0 0 8px;
    font-size:26px;
}

.system-overview-head p{
    margin:0;
    color:var(--text-muted);
    line-height:1.5;
}

.system-overall-status{
    flex-shrink:0;
    padding:9px 15px;
    border-radius:999px;
    background:rgba(148,163,184,.14);
    color:#cbd5e1;
    border:1px solid rgba(148,163,184,.25);
    font-size:12px;
    font-weight:900;
}

.system-overall-status.is-checking{
    background:rgba(59,130,246,.14);
    color:#7db4ff;
    border-color:rgba(59,130,246,.35);
}

.system-overall-status.is-online{
    background:rgba(34,197,94,.14);
    color:#4ade80;
    border-color:rgba(34,197,94,.35);
}

.system-overall-status.is-error{
    background:rgba(239,68,68,.14);
    color:#ff7070;
    border-color:rgba(239,68,68,.35);
}

.system-status-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

.system-status-card{
    min-height:145px;
    display:flex;
    align-items:flex-start;
    gap:14px;
    padding:18px;
    border:1px solid var(--border);
    border-radius:18px;
    background:
        linear-gradient(
            135deg,
            rgba(157,78,221,.08),
            rgba(34,211,238,.03)
        ),
        rgba(255,255,255,.035);
}

.system-status-card.is-placeholder{
    opacity:.72;
    border-style:dashed;
}

.system-status-icon{
    width:44px;
    height:44px;
    flex-shrink:0;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:rgba(157,78,221,.15);
    border:1px solid rgba(157,78,221,.32);
    font-size:21px;
}

.system-status-card div{
    min-width:0;
}

.system-status-card small{
    display:block;
    margin-bottom:6px;
    color:var(--text-muted);
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.6px;
}

.system-status-card strong{
    display:block;
    margin-bottom:7px;
    color:#ffffff;
    font-size:16px;
    overflow-wrap:anywhere;
}

.system-status-card p{
    margin:0;
    color:var(--text-muted);
    font-size:12px;
    line-height:1.45;
}

.status-ok{
    color:#4ade80 !important;
}

.status-warning{
    color:#facc15 !important;
}

.status-error{
    color:#ff7070 !important;
}

.system-check-footer{
    display:flex;
    align-items:center;
    gap:18px;
    padding-top:4px;
}

.system-check-footer button{
    flex-shrink:0;
    padding:12px 20px;
    border:none;
    border-radius:999px;
    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark)
    );
    color:white;
    font-weight:800;
    cursor:pointer;
}

.system-check-footer p{
    margin:0;
    color:var(--text-muted);
}

@media(max-width:1050px){
    .system-status-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:650px){
    .system-overview-head,
    .system-check-footer{
        flex-direction:column;
        align-items:flex-start;
    }

    .system-status-grid{
        grid-template-columns:1fr;
    }

    .system-overall-status,
    .system-check-footer button{
        width:100%;
        text-align:center;
    }
}
/* =====================================================
   SOCIAL-BEREICH KOMPAKT OHNE KÄSTEN
===================================================== */

.social-box{
    width:auto;
    max-width:none;
    margin:0 clamp(12px,3vw,36px) 28px;
    padding:22px 0 10px;
    background:transparent;
    border:none;
    box-shadow:none;
    text-align:center;
}

.social-icons{
    display:flex;
    justify-content:center;
    align-items:flex-start;
    flex-wrap:wrap;
    gap:22px 34px;
    margin-top:20px;
}

.social-box h2{
    margin:0;
    font-size:22px;
    text-align:center;
    text-transform:uppercase;
}

.social-icons a,
.social-request-btn{
    width:72px;
    min-width:72px;
    min-height:0;
    padding:0;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    align-items:center;
    gap:7px;
    border:none;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:white;
    text-decoration:none;
    font-family:inherit;
    cursor:pointer;
}

.social-icons a:hover,
.social-request-btn:hover{
    transform:translateY(-3px);
    border:none;
    background:transparent;
    box-shadow:none;
}

.social-icons i{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(157,78,221,.13);
    color:var(--primary);
    font-size:22px;
    transition:.2s;
}

.social-icons a:hover i{
    background:rgba(157,78,221,.25);
    box-shadow:0 0 15px rgba(157,78,221,.30);
}

.social-icons img,
.social-request-btn img{
    width:42px;
    height:42px;
    padding:4px;
    object-fit:contain;
    border-radius:50%;
    background:rgba(34,211,238,.10);
    border:1px solid rgba(34,211,238,.24);
}

.social-icons span,
.social-request-btn span{
    width:100%;
    max-width:72px;
    color:var(--text-soft);
    font-size:11px;
    font-weight:700;
    text-align:center;
    line-height:1.2;
}

.social-request-btn span{
    color:var(--accent);
}

@media(max-width:650px){
    .social-icons{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:16px 8px;
    }

    .social-icons a,
    .social-request-btn{
        width:100%;
        min-width:0;
    }
}

@media(max-width:380px){
    .social-icons{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
/* =====================================================
   RADIONETZ VERWALTEN
===================================================== */

.rn-admin{
    display:flex;
    flex-direction:column;
    gap:26px;
}

.rn-admin-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:24px;
}

.rn-admin-label,
.rn-tarif-head > span,
.rn-single-head span{
    display:block;
    margin-bottom:7px;
    color:var(--primary);
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:1px;
}

.rn-admin-head h3{
    margin:0 0 8px;
    font-size:27px;
}

.rn-admin-head p,
.rn-tarif-head p,
.rn-single-head p{
    margin:0;
    color:var(--text-muted);
    line-height:1.55;
}

.rn-online-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    flex-shrink:0;
    padding:9px 15px;
    border:1px solid rgba(34,197,94,.32);
    border-radius:999px;
    background:rgba(34,197,94,.12);
    color:#4ade80;
    font-size:13px;
    font-weight:900;
}

.rn-online-badge span{
    width:9px;
    height:9px;
    border-radius:50%;
    background:#22c55e;
    box-shadow:0 0 12px rgba(34,197,94,.75);
}

.rn-project-overview{
    padding:24px;
    border:1px solid var(--border);
    border-radius:22px;
    background:
        radial-gradient(
            circle at top right,
            rgba(34,211,238,.09),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            rgba(157,78,221,.10),
            rgba(255,255,255,.025)
        );
}

.rn-project-title{
    display:flex;
    align-items:center;
    gap:15px;
    margin-bottom:22px;
}

.rn-project-icon{
    width:52px;
    height:52px;
    flex-shrink:0;
    display:grid;
    place-items:center;
    border:1px solid rgba(157,78,221,.32);
    border-radius:15px;
    background:rgba(157,78,221,.14);
    font-size:25px;
}

.rn-project-title h4{
    margin:0 0 5px;
    font-size:22px;
}

.rn-project-title p{
    margin:0;
    color:var(--text-muted);
    font-size:13px;
}

.rn-project-stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:13px;
}

.rn-project-stat{
    min-height:95px;
    padding:16px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:8px;
    border:1px solid var(--border);
    border-radius:16px;
    background:rgba(255,255,255,.035);
}

.rn-project-stat small{
    color:var(--text-muted);
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.5px;
}

.rn-project-stat strong{
    color:#fff;
    font-size:15px;
}

.rn-project-stat .online{
    color:#4ade80 !important;
}

.rn-status-actions{
    display:flex;
    gap:12px;
    margin-top:20px;
    flex-wrap:wrap;
}

.rn-primary-btn,
.rn-secondary-btn,
.rn-plan-btn{
    min-height:44px;
    padding:12px 22px;
    border-radius:999px;
    font-family:inherit;
    font-weight:900;
    cursor:pointer;
    transition:.22s;
}

.rn-primary-btn,
.rn-plan-btn{
    border:none;
    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark)
    );
    color:#fff;
    box-shadow:0 0 18px rgba(157,78,221,.25);
}

.rn-secondary-btn{
    border:1px solid var(--border);
    background:rgba(255,255,255,.045);
    color:var(--text-soft);
}

.rn-primary-btn:hover,
.rn-plan-btn:hover,
.rn-secondary-btn:hover{
    transform:translateY(-2px);
    border-color:var(--primary);
    box-shadow:0 12px 28px rgba(157,78,221,.25);
}

.rn-tarif-head{
    text-align:center;
    padding-top:8px;
}

.rn-tarif-head h4{
    margin:0 0 8px;
    font-size:25px;
}

.rn-tarife{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
    align-items:stretch;
}

.rn-tarif{
    position:relative;
    min-width:0;
    padding:24px;
    display:flex;
    flex-direction:column;
    border:1px solid var(--border);
    border-radius:22px;
    background:
        linear-gradient(
            155deg,
            rgba(255,255,255,.055),
            rgba(255,255,255,.02)
        ),
        #151a2b;
    box-shadow:0 15px 40px rgba(0,0,0,.22);
    transition:.25s;
}

.rn-tarif:hover{
    transform:translateY(-5px);
    box-shadow:0 20px 45px rgba(0,0,0,.32);
}

.rn-lite{
    border-color:rgba(132,204,22,.32);
}

.rn-normal{
    border-color:rgba(59,130,246,.55);
    box-shadow:
        0 0 28px rgba(59,130,246,.13),
        0 15px 40px rgba(0,0,0,.25);
}

.rn-premium{
    border-color:rgba(168,85,247,.42);
}

.rn-recommended-badge{
    position:absolute;
    top:-13px;
    left:50%;
    transform:translateX(-50%);
    padding:7px 15px;
    border-radius:999px;
    background:linear-gradient(135deg,#2563eb,#7c3aed);
    color:#fff;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.6px;
    white-space:nowrap;
}

.rn-tarif-top{
    display:flex;
    align-items:center;
    gap:13px;
    margin-bottom:19px;
}

.rn-tarif-icon{
    width:48px;
    height:48px;
    flex-shrink:0;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(157,78,221,.13);
    border:1px solid rgba(157,78,221,.28);
    font-size:23px;
}

.rn-tarif-top small{
    display:block;
    margin-bottom:4px;
    color:var(--text-muted);
    font-size:11px;
}

.rn-tarif-top h4{
    margin:0;
    font-size:24px;
}

.rn-price{
    display:flex;
    align-items:flex-end;
    gap:7px;
    margin-bottom:8px;
}

.rn-price strong{
    font-size:31px;
    line-height:1;
    color:#fff;
}

.rn-price span{
    color:var(--text-muted);
    font-size:13px;
}

.rn-year-price{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px;
    margin-bottom:18px;
    color:var(--text-muted);
    font-size:12px;
}

.rn-year-price strong{
    color:var(--accent);
}

.rn-year-price small{
    width:100%;
    color:#4ade80;
}

.rn-tarif-description{
    min-height:62px;
    margin:0 0 19px;
    color:var(--text-soft);
    font-size:13px;
    line-height:1.5;
}

.rn-feature-list{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin:0 0 22px;
    padding:0;
    list-style:none;
}

.rn-feature-list li{
    position:relative;
    padding-left:25px;
    color:#e5e7eb;
    font-size:13px;
    line-height:1.4;
}

.rn-feature-list li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    width:17px;
    height:17px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(34,197,94,.15);
    color:#4ade80;
    font-size:11px;
    font-weight:900;
}

.rn-plan-btn{
    width:100%;
    margin-top:auto;
}

.rn-single-services{
    padding:24px;
    border:1px solid var(--border);
    border-radius:22px;
    background:rgba(255,255,255,.025);
}

.rn-single-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:20px;
}

.rn-single-head h4{
    margin:0;
    font-size:22px;
}

.rn-single-head p{
    max-width:420px;
    text-align:right;
    font-size:13px;
}

.rn-single-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
}

.rn-single-grid > div{
    min-height:135px;
    padding:16px 12px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:9px;
    text-align:center;
    border:1px solid var(--border);
    border-radius:16px;
    background:rgba(255,255,255,.035);
}

.rn-single-grid span{
    font-size:26px;
}

.rn-single-grid strong{
    color:#fff;
    font-size:13px;
    line-height:1.35;
}

.rn-single-grid small{
    color:var(--accent);
    font-size:13px;
    font-weight:900;
}

.rn-price-note{
    margin:18px 0 0;
    padding-top:17px;
    border-top:1px solid var(--border);
    color:var(--text-muted);
    font-size:12px;
    line-height:1.55;
}

@media(max-width:1050px){
    .rn-project-stats{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .rn-tarife{
        grid-template-columns:1fr;
    }

    .rn-single-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:650px){
    .rn-admin-head,
    .rn-single-head{
        flex-direction:column;
    }

    .rn-online-badge{
        width:100%;
        justify-content:center;
    }

    .rn-project-overview,
    .rn-tarif,
    .rn-single-services{
        padding:18px 14px;
    }

    .rn-project-stats{
        grid-template-columns:1fr;
    }

    .rn-status-actions{
        flex-direction:column;
    }

    .rn-primary-btn,
    .rn-secondary-btn{
        width:100%;
    }

    .rn-single-head p{
        max-width:none;
        text-align:left;
    }

    .rn-single-grid{
        grid-template-columns:1fr;
    }

    .rn-price strong{
        font-size:27px;
    }
}
/* =====================================================
   EINMALIGE LEISTUNGEN
===================================================== */

.rn-single-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.rn-single-card{
    min-width:0;
    padding:22px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:11px;
    border:1px solid var(--border);
    border-radius:20px;
    background:
        linear-gradient(
            145deg,
            rgba(157,78,221,.08),
            rgba(34,211,238,.025)
        ),
        #151a2b;
    transition:.25s;
}

.rn-single-card:hover{
    transform:translateY(-4px);
    border-color:rgba(157,78,221,.55);
    box-shadow:0 16px 35px rgba(0,0,0,.28);
}

.rn-single-icon{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:15px;
    background:rgba(157,78,221,.14);
    border:1px solid rgba(157,78,221,.30);
    font-size:24px;
}

.rn-single-card h5{
    margin:0;
    color:#fff;
    font-size:18px;
    line-height:1.25;
}

.rn-single-card > strong{
    color:var(--accent);
    font-size:19px;
}

.rn-single-card p{
    flex:1;
    margin:0;
    color:var(--text-muted);
    font-size:13px;
    line-height:1.5;
}

.rn-single-card button{
    width:100%;
    margin-top:7px;
    padding:12px 16px;
    border:none;
    border-radius:999px;
    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark)
    );
    color:#fff;
    font-family:inherit;
    font-weight:900;
    cursor:pointer;
    transition:.22s;
}

.rn-single-card button:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(157,78,221,.32);
}

.rn-price-note{
    margin-top:20px;
    padding:16px 18px;
    border:1px solid rgba(34,211,238,.18);
    border-radius:16px;
    background:rgba(34,211,238,.05);
    color:var(--text-muted);
    font-size:12px;
    line-height:1.55;
}

.rn-price-note strong{
    color:var(--accent);
}

@media(max-width:1000px){
    .rn-single-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:650px){
    .rn-single-grid{
        grid-template-columns:1fr;
    }

    .rn-single-card{
        padding:18px;
    }
}
/* ===============================
   TARIF MODAL
================================ */

.service-modal{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.75);

    display:flex;

    justify-content:center;

    align-items:center;

    z-index:99999;

}

.service-modal-card{

    width:min(420px,95%);

    background:#171717;

    border-radius:18px;

    padding:25px;

    display:flex;

    flex-direction:column;

    gap:18px;

}

.service-radio{

    display:flex;

    gap:12px;

    align-items:center;

}

.service-modal-price{

    display:flex;

    flex-direction:column;

    gap:6px;

}

.service-modal-buttons{

    display:flex;

    justify-content:flex-end;

    gap:12px;

}
/* =====================================================
   RADIONETZ – VERTRAG UND ZAHLUNG
===================================================== */

.rn-contract-information{
    position:relative;
    overflow:hidden;
    margin:30px 0;
    padding:28px;
    border:1px solid rgba(59,130,246,.20);
    border-radius:24px;
    background:
        radial-gradient(
            circle at top right,
            rgba(37,99,235,.17),
            transparent 36%
        ),
        linear-gradient(145deg,#101a2d,#0b1323);
    box-shadow:0 20px 45px rgba(0,0,0,.28);
}

.rn-contract-information::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:3px;
    background:linear-gradient(
        90deg,
        #2563eb,
        #7c3aed,
        #22d3ee
    );
}

.rn-contract-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:22px;
    padding-bottom:20px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.rn-contract-head small{
    display:block;
    margin-bottom:6px;
    color:#60a5fa;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.1em;
}

.rn-contract-head h4{
    margin:0;
    color:#fff;
    font-size:25px;
}

.rn-contract-secure{
    padding:8px 13px;
    border:1px solid rgba(34,197,94,.20);
    border-radius:999px;
    color:#86efac;
    background:rgba(34,197,94,.09);
    font-size:12px;
    font-weight:800;
}

.rn-contract-date-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.rn-contract-date-item{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:0;
    padding:17px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:17px;
    background:rgba(255,255,255,.035);
}

.rn-contract-date-item > span{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 42px;
    width:42px;
    height:42px;
    border-radius:13px;
    background:rgba(59,130,246,.12);
    font-size:19px;
}

.rn-contract-date-item > div{
    min-width:0;
}

.rn-contract-date-item small{
    display:block;
    margin-bottom:5px;
    color:#91a0b7;
    font-size:12px;
}

.rn-contract-date-item strong{
    display:block;
    overflow-wrap:anywhere;
    color:#fff;
    font-size:17px;
}

.rn-payment-details{
    margin-top:18px;
    padding:20px;
    border:1px solid rgba(96,165,250,.17);
    border-radius:19px;
    background:rgba(4,12,25,.58);
}

.rn-payment-details-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:13px;
}

.rn-payment-details-head small{
    display:block;
    margin-bottom:5px;
    color:#60a5fa;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.rn-payment-details-head h5{
    margin:0;
    color:#fff;
    font-size:19px;
}

.rn-payment-details-head p{
    margin:0;
    color:#75849a;
    font-size:12px;
}

.rn-payment-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:16px;
    padding:15px 0;
    border-bottom:1px solid rgba(255,255,255,.065);
}

.rn-payment-row:last-of-type{
    border-bottom:0;
}

.rn-payment-row > div{
    min-width:0;
}

.rn-payment-row small{
    display:block;
    margin-bottom:5px;
    color:#8493aa;
    font-size:12px;
}

.rn-payment-row strong{
    display:block;
    overflow-wrap:anywhere;
    color:#f8fafc;
    font-size:17px;
    line-height:1.4;
}

.rn-payment-row-important{
    margin:4px -10px;
    padding:15px 10px;
    border:1px solid rgba(59,130,246,.17);
    border-radius:14px;
    background:rgba(37,99,235,.07);
}

.rn-payment-iban{
    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;
    color:#93c5fd !important;
    font-size:18px !important;
    letter-spacing:.04em;
}

.rn-copy-button{
    min-width:112px;
    min-height:40px;
    padding:0 14px;
    border:1px solid rgba(96,165,250,.22);
    border-radius:11px;
    color:#bfdbfe;
    background:rgba(37,99,235,.10);
    font-size:12px;
    font-weight:900;
    cursor:pointer;
    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease;
}

.rn-copy-button:hover{
    transform:translateY(-2px);
    border-color:rgba(96,165,250,.55);
    background:rgba(37,99,235,.20);
}

.rn-copy-button.is-copied{
    border-color:rgba(34,197,94,.30);
    color:#86efac;
    background:rgba(34,197,94,.12);
}

.rn-copy-feedback{
    min-height:18px;
    margin-top:10px;
    color:#86efac;
    font-size:12px;
    font-weight:700;
    text-align:right;
}

.rn-copy-feedback.is-error{
    color:#fca5a5;
}

@media(max-width:768px){

    .rn-contract-information{
        padding:20px;
        border-radius:20px;
    }

    .rn-contract-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .rn-contract-date-grid{
        grid-template-columns:1fr;
    }

    .rn-payment-details{
        padding:16px;
    }

    .rn-payment-details-head{
        flex-direction:column;
    }

    .rn-payment-row{
        grid-template-columns:1fr;
    }

    .rn-copy-button{
        width:100%;
    }

    .rn-copy-feedback{
        text-align:center;
    }
}


#news-text-3{
    transition: opacity .3s ease, transform .3s ease;
}

#news-text-3.greeting-fade-out{
    opacity:0;
    transform:translateY(8px);
}

/* =====================================================
   MUSIKWUNSCH-FREIGABE UND VERLAUF
===================================================== */

.music-ranking-actions{
    display:flex;
    flex-direction:column;
    gap:9px;
}

.music-request-history{
    margin-top:18px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:14px;
    background:rgba(255,255,255,.025);
}

.music-request-history summary{
    padding:14px 16px;
    color:#cbd5e1;
    font-weight:800;
    cursor:pointer;
}

.music-request-history-list{
    display:grid;
    gap:8px;
    max-height:260px;
    padding:0 14px 14px;
    overflow-y:auto;
}

.music-request-history-list > div{
    display:flex;
    justify-content:space-between;
    gap:14px;
    padding:10px 12px;
    border-radius:10px;
    background:#232842;
}

.music-request-history-list strong{
    color:#fff;
}

.music-request-history-list span{
    color:#aeb7cf;
    text-align:right;
}


/* =====================================================
   ÖFFENTLICHE MUSIKWUNSCH-TOP-10
===================================================== */

.music-top-ten-news-card{
    display:flex;
    min-width:0;
    flex-direction:column;
}

.public-music-top-ten{
    min-height:86px;
    max-height:330px;
    margin-top:3px;
    padding:0 12px 14px;
    overflow-y:auto;
    scrollbar-width:thin;
    scrollbar-color:
        rgba(157,78,221,.65)
        transparent;
}

.public-music-top-ten::-webkit-scrollbar{
    width:6px;
}

.public-music-top-ten::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:rgba(157,78,221,.65);
}

.public-music-ranking{
    display:grid;
    gap:7px;
    margin:0;
    padding:0;
    list-style:none;
}

.public-music-ranking li{
    display:grid;
    grid-template-columns:
        28px
        minmax(0,1fr)
        auto;
    align-items:center;
    gap:9px;
    padding:8px 9px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:12px;
    background:rgba(255,255,255,.035);
}

.public-music-position{
    display:grid;
    width:28px;
    height:28px;
    place-items:center;
    border-radius:9px;
    color:#fff;
    background:
        linear-gradient(
            135deg,
            #7c3aed,
            #2563eb
        );
    font-size:12px;
    font-weight:900;
}

.public-music-song{
    min-width:0;
}

.public-music-song strong,
.public-music-song small{
    display:block;
    overflow:hidden;
    padding:0;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.public-music-song strong{
    color:#f8fafc;
    font-size:12px;
}

.public-music-song small{
    margin-top:2px;
    color:#8f9bb0;
    font-size:10px;
    font-weight:600;
}

.public-music-count{
    padding:4px 7px;
    border-radius:999px;
    color:#f0abfc;
    background:rgba(157,78,221,.12);
    font-size:10px;
    font-weight:900;
}

.news-grid .public-music-empty{
    margin:0;
    padding:14px 2px 4px;
    color:#91a0b7;
    text-align:center;
}

@media(max-width:1000px){

    .music-ranking-actions{
        grid-column:1 / -1;
    }

    .music-request-history-list > div{
        align-items:flex-start;
        flex-direction:column;
    }

    .music-request-history-list span{
        text-align:left;
    }
}

/* =====================================================
   EINZELNE MUSIKWÜNSCHE UND HERZ-ABSTIMMUNG
===================================================== */

.music-ranking-content{
    min-width:0;
}

.music-vote-breakdown{
    color:#949fba !important;
    font-size:12px;
}

.music-individual-requests{
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid rgba(255,255,255,.08);
}

.music-individual-requests > strong{
    color:#f8fafc;
    font-size:13px;
}

.music-individual-list{
    display:grid;
    gap:8px;
    margin-top:9px;
}

.music-individual-row{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    padding:10px;
    border-radius:11px;
    background:rgba(255,255,255,.045);
}

.music-individual-info{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:3px;
}

.music-individual-info strong{
    overflow:hidden;
    color:#fff;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.music-individual-info span{
    overflow:hidden;
    color:#cbd5e1;
    font-size:12px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.music-individual-info small{
    color:#8f9bb0;
    font-size:10px;
    word-break:normal;
    overflow-wrap:normal;
}

.music-individual-actions{
    display:flex;
    width:100%;
    gap:7px;
}

.music-individual-actions button{
    grid-column:auto;
    width:auto;
    min-width:0;
    padding:8px 10px;
    font-size:11px;
}

.public-music-vote{
    display:inline-flex;
    min-width:0;
    align-items:center;
    justify-content:center;
    gap:4px;
    padding:5px 8px;
    border:1px solid rgba(244,114,182,.25);
    border-radius:999px;
    color:#f9a8d4;
    background:rgba(236,72,153,.12);
    font-size:10px;
    font-weight:900;
    line-height:1;
    cursor:pointer;
    transition:
        transform .18s ease,
        background .18s ease,
        border-color .18s ease;
}

.public-music-vote:hover:not(:disabled){
    transform:scale(1.08);
    border-color:rgba(244,114,182,.6);
    background:rgba(236,72,153,.24);
}

.public-music-vote.is-voted{
    color:#fbcfe8;
    border-color:rgba(244,114,182,.35);
    background:rgba(236,72,153,.2);
    cursor:default;
}

.public-music-vote.is-loading{
    opacity:.55;
    cursor:wait;
}

.public-music-vote:focus-visible{
    outline:2px solid #f472b6;
    outline-offset:2px;
}

@media(max-width:700px){

    .music-individual-row{
        grid-template-columns:1fr;
    }

    .music-individual-actions{
        width:100%;
    }

    .music-individual-actions button{
        flex:1;
        width:100%;
    }
}
/* =========================
   STATISTIKEN
========================= */

.statistics-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:22px;
}

.statistics-header h3{
    margin:0;
}

.statistics-header p{
    margin:6px 0 0;
    color:#a8b3c7;
}

.statistics-refresh-btn{
    width:auto;
    min-height:42px;
    padding:10px 16px;
    border:1px solid rgba(59,130,246,.35);
    border-radius:12px;
    background:rgba(59,130,246,.14);
    color:#bfdbfe;
    cursor:pointer;
    white-space:nowrap;
}

.statistics-refresh-btn:hover{
    background:rgba(59,130,246,.24);
}

.statistics-grid{
    display:grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap:16px;
}

.statistics-card{
    display:grid;
    grid-template-columns:
        auto minmax(0, 1fr) auto;
    align-items:center;
    gap:15px;
    min-height:120px;
    padding:18px;
    border:1px solid rgba(148,163,184,.18);
    border-radius:16px;
    background:
        linear-gradient(
            145deg,
            rgba(30,41,59,.96),
            rgba(15,23,42,.96)
        );
}

.statistics-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    border-radius:14px;
    background:rgba(59,130,246,.13);
    font-size:23px;
}

.statistics-content{
    display:flex;
    flex-direction:column;
    min-width:0;
    gap:5px;
}

.statistics-content span{
    color:#a8b3c7;
    font-size:13px;
}

.statistics-content strong{
    color:#f8fafc;
    font-size:25px;
    line-height:1.2;
    overflow-wrap:anywhere;
}

.statistics-content small{
    color:#94a3b8;
    font-size:11px;
    line-height:1.4;
}

.statistics-reset-btn{
    width:auto;
    min-height:38px;
    padding:8px 12px;
    border:1px solid rgba(239,68,68,.38);
    border-radius:10px;
    background:rgba(239,68,68,.12);
    color:#fca5a5;
    cursor:pointer;
    white-space:nowrap;
}

.statistics-reset-btn:hover{
    background:rgba(239,68,68,.22);
}

.statistics-status{
    min-height:20px;
    margin:16px 0 0;
    color:#a8b3c7;
    font-size:13px;
}


/* =========================
   STATISTIKEN – SMARTPHONE
========================= */

@media(max-width:700px){

    .statistics-header{
        flex-direction:column;
        gap:14px;
    }

    .statistics-refresh-btn{
        width:100%;
    }

    .statistics-grid{
        grid-template-columns:1fr;
    }

    .statistics-card{
        grid-template-columns:
            auto minmax(0, 1fr);
        min-height:auto;
        padding:15px;
    }

    .statistics-reset-btn{
        grid-column:1 / -1;
        width:100%;
    }

    .statistics-content strong{
        font-size:22px;
    }
}
/* =========================
   UMFRAGEN – BESUCHER
========================= */

.survey-state{
    margin:24px 0 6px;
    padding:18px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:var(--bg-soft);
    color:var(--text-muted);
    text-align:center;
}

.survey-state-error{
    border-color:rgba(239,68,68,.4);
    background:rgba(239,68,68,.1);
    color:#fca5a5;
}

.survey-voting,
.survey-results{
    margin-top:22px;
}

.survey-question{
    margin-bottom:20px;
    color:var(--text-main);
    font-size:21px;
    line-height:1.4;
}

.survey-options{
    display:grid;
    gap:12px;
}

.survey-option{
    display:flex;
    align-items:center;
    gap:13px;
    padding:15px 16px;
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    background:rgba(255,255,255,.04);
    color:var(--text-soft);
    cursor:pointer;
    transition:
        border-color .2s ease,
        background .2s ease,
        transform .2s ease;
}

.survey-option:hover{
    border-color:var(--border-primary);
    background:rgba(157,78,221,.1);
    transform:translateY(-1px);
}

.survey-option:has(input:checked){
    border-color:var(--primary);
    background:rgba(157,78,221,.18);
    box-shadow:0 0 18px rgba(157,78,221,.16);
}

.project-request-box .survey-option input[type="radio"]{
    width:18px;
    height:18px;
    flex:0 0 18px;
    margin:0;
    padding:0;
    accent-color:var(--primary);
    cursor:pointer;
}

.survey-option span{
    line-height:1.4;
}

.project-request-box .survey-submit-button{
    margin-top:20px;
}

.project-request-box .survey-submit-button:disabled{
    opacity:.65;
    cursor:wait;
}

.survey-status{
    min-height:21px;
    margin-top:12px;
    color:var(--warning);
    font-size:14px;
    font-weight:700;
    text-align:center;
}

.survey-thanks{
    margin:-8px 0 22px;
    color:var(--success);
    font-weight:800;
}

.survey-result{
    margin-bottom:18px;
}

.survey-result-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:15px;
    margin-bottom:8px;
}

.survey-result-head strong{
    color:var(--text-soft);
}

.survey-result-head span{
    color:var(--text-muted);
    font-size:13px;
    white-space:nowrap;
}

.survey-result-bar{
    height:13px;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:999px;
    background:rgba(255,255,255,.06);
}

.survey-result-fill{
    height:100%;
    min-width:0;
    border-radius:999px;
    background:linear-gradient(
        90deg,
        var(--primary-dark),
        var(--primary),
        var(--accent)
    );
    box-shadow:0 0 14px rgba(34,211,238,.3);
    transition:width .5s ease;
}

.survey-result-summary{
    margin-top:24px;
    padding-top:17px;
    border-top:1px solid var(--border);
    color:var(--text-muted);
    text-align:center;
}

.survey-result-summary strong{
    color:var(--text-main);
}


/* =========================
   UMFRAGEN – SMARTPHONE
========================= */

@media(max-width:650px){

    .survey-question{
        padding-right:20px;
        font-size:18px;
    }

    .survey-option{
        padding:13px;
    }

    .survey-result-head{
        align-items:flex-start;
        flex-direction:column;
        gap:4px;
    }

    .survey-result-head span{
        white-space:normal;
    }
}
/* =========================
   UMFRAGEN – ADMIN
========================= */

.survey-admin{
    display:grid;
    gap:22px;
}

.survey-admin-head h3{
    margin-bottom:7px;
    font-size:27px;
}

.survey-admin-head p,
.survey-admin-list-head p{
    margin:0;
    color:var(--text-muted);
    line-height:1.5;
}

.survey-admin-card{
    padding:22px;
    border:1px solid var(--border-primary);
    border-radius:var(--radius-md);
    background:
        linear-gradient(
            145deg,
            rgba(157,78,221,.09),
            rgba(11,18,32,.96)
        );
}

.survey-admin-card h4{
    margin-bottom:18px;
    color:var(--text-main);
    font-size:19px;
}

.survey-admin-card label{
    display:block;
    margin-bottom:7px;
    color:#c4b5fd;
    font-size:14px;
    font-weight:800;
}

.survey-admin-card input,
.survey-admin-card textarea,
.survey-admin-card select{
    width:100%;
    margin-bottom:15px;
    padding:13px 15px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:12px;
    background:#f8fafc;
    color:#111827;
    outline:none;
}

.survey-admin-card input:focus,
.survey-admin-card textarea:focus,
.survey-admin-card select:focus{
    border-color:var(--primary);
    box-shadow:
        0 0 0 3px rgba(157,78,221,.18);
}

.survey-admin-card textarea{
    min-height:105px;
    resize:vertical;
}

.survey-admin-options-head,
.survey-admin-list-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin:8px 0 12px;
}

.survey-admin-list-head{
    align-items:flex-start;
    margin:0 0 18px;
}

.survey-admin-list-head h4{
    margin-bottom:5px;
}

.survey-admin-option-row{
    display:grid;
    grid-template-columns:
        minmax(0,1fr) 42px;
    align-items:start;
    gap:10px;
}

.survey-admin button{
    border:none;
    border-radius:12px;
    color:white;
    font-weight:800;
    cursor:pointer;
    transition:.2s ease;
}

.survey-admin button:hover{
    transform:translateY(-1px);
}

.survey-admin button:disabled{
    opacity:.6;
    cursor:wait;
    transform:none;
}

.survey-admin-small-button{
    width:auto;
    padding:10px 14px;
    background:rgba(157,78,221,.18);
    border:
        1px solid var(--border-primary) !important;
}

.survey-admin-remove-option{
    width:42px;
    height:42px;
    padding:0;
    background:rgba(239,68,68,.16);
    border:
        1px solid rgba(239,68,68,.35) !important;
    color:#fca5a5 !important;
    font-size:22px;
}

#survey-create-button{
    width:100%;
    padding:13px 18px;
    background:
        linear-gradient(
            135deg,
            var(--primary),
            var(--primary-dark)
        );
    box-shadow:var(--shadow-glow);
}

.survey-admin-message{
    min-height:21px;
    margin-top:11px;
    color:var(--text-muted);
    font-size:14px;
    font-weight:800;
}

.survey-admin-message.is-success{
    color:#4ade80;
}

.survey-admin-message.is-error{
    color:#fca5a5;
}

.survey-admin-detail-card{
    margin-top:18px;
    padding:20px;
    border:1px solid var(--border);
    border-radius:16px;
    background:rgba(2,6,23,.45);
}

.survey-admin-detail-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
    padding-bottom:18px;
    border-bottom:1px solid var(--border);
}

.survey-admin-detail-head h4{
    margin:12px 0 0;
    line-height:1.45;
}

.survey-admin-detail-head small{
    color:var(--text-muted);
    white-space:nowrap;
}

.survey-admin-status{
    display:inline-flex;
    padding:7px 11px;
    border:1px solid var(--border);
    border-radius:999px;
    font-size:12px;
    font-weight:900;
}

.survey-admin-status.is-draft{
    background:rgba(250,204,21,.12);
    color:#fde68a;
}

.survey-admin-status.is-active{
    background:rgba(34,197,94,.13);
    color:#4ade80;
}

.survey-admin-status.is-ended{
    background:rgba(148,163,184,.12);
    color:#cbd5e1;
}

.survey-admin-results-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    margin:20px 0;
}

.survey-admin-results-head h5{
    font-size:17px;
}

.survey-admin-results-head strong{
    color:var(--accent);
    font-size:14px;
}

.survey-admin-result{
    margin-bottom:17px;
}

.survey-admin-result-head{
    display:flex;
    justify-content:space-between;
    gap:15px;
    margin-bottom:8px;
}

.survey-admin-result-head strong{
    color:var(--text-soft);
}

.survey-admin-result-head span{
    color:var(--text-muted);
    font-size:13px;
    white-space:nowrap;
}

.survey-admin-result-bar{
    height:12px;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:999px;
    background:rgba(255,255,255,.06);
}

.survey-admin-result-fill{
    height:100%;
    border-radius:999px;
    background:
        linear-gradient(
            90deg,
            var(--primary-dark),
            var(--primary),
            var(--accent)
        );
    transition:width .4s ease;
}

.survey-admin-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px;
    padding-top:18px;
    border-top:1px solid var(--border);
}

.survey-admin-action{
    width:auto;
    padding:11px 15px;
}

.survey-admin-action.is-primary{
    background:
        linear-gradient(
            135deg,
            var(--primary),
            var(--primary-dark)
        );
}

.survey-admin-action.is-warning{
    background:#a16207;
}

.survey-admin-action.is-secondary{
    background:#334155;
}

.survey-admin-action.is-danger{
    background:#b91c1c;
}

@media(max-width:650px){

    .survey-admin-card{
        padding:16px;
    }

    .survey-admin-options-head,
    .survey-admin-list-head,
    .survey-admin-detail-head,
    .survey-admin-result-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .survey-admin-small-button,
    .survey-admin-action{
        width:100%;
    }

    .survey-admin-detail-head small,
    .survey-admin-result-head span{
        white-space:normal;
    }

    .survey-admin-actions{
        flex-direction:column;
    }
}

/* =========================
   VERANSTALTUNGEN
========================= */

.event-state{
    padding:25px 10px;
    color:var(--text-muted);
    text-align:center;
    line-height:1.5;
}

.event-state.is-error{
    color:#fca5a5;
}


/* BESUCHERANSICHT */

.event-public-list{
    display:grid;
    grid-template-columns:
        repeat(auto-fit,minmax(250px,1fr));
    gap:18px;
    margin-top:20px;
}

.event-public-card{
    overflow:hidden;
    border:1px solid var(--border-primary);
    border-radius:18px;
    background:
        linear-gradient(
            145deg,
            rgba(157,78,221,.10),
            rgba(11,18,32,.98)
        );
    box-shadow:var(--shadow-card);
}

.event-public-media,
.event-public-detail-media{
    position:relative;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:
        radial-gradient(
            circle,
            rgba(157,78,221,.35),
            rgba(2,6,23,.96)
        );
}

.event-public-media{
    height:180px;
}

.event-public-media > span,
.event-public-detail-media > span{
    color:#c4b5fd;
    font-size:55px;
}

.event-public-media img,
.event-public-detail-media img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

.event-public-content{
    padding:19px;
}

.event-public-date{
    display:inline-flex;
    margin-bottom:12px;
    padding:7px 11px;
    border:1px solid var(--border-primary);
    border-radius:999px;
    background:rgba(157,78,221,.14);
    color:#d8b4fe;
    font-size:12px;
    font-weight:900;
}

.event-public-content h3,
.event-public-detail h3{
    color:var(--text-main);
    line-height:1.35;
}

.event-public-content h3{
    min-height:52px;
    margin-bottom:15px;
    font-size:19px;
}

.event-public-content p{
    display:flex;
    gap:9px;
    margin:8px 0;
    color:var(--text-soft);
    line-height:1.4;
}

#community-content .event-public-button,
.event-public-link{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    width:auto;
    min-height:44px;
    padding:11px 16px;
    border:none;
    border-radius:12px;
    background:
        linear-gradient(
            135deg,
            var(--primary),
            var(--primary-dark)
        );
    color:white;
    font-size:14px;
    font-weight:800;
    text-align:center;
    text-decoration:none;
    cursor:pointer;
    transition:.2s ease;
}

#community-content .event-public-card
.event-public-button{
    width:100%;
    margin-top:13px;
}

#community-content .event-public-button:hover,
.event-public-link:hover{
    transform:translateY(-1px);
    box-shadow:var(--shadow-glow);
}

#community-content
.event-public-button.is-secondary{
    background:#334155;
}


/* DETAILANSICHT */

.event-public-detail{
    margin-top:18px;
}

.event-public-detail-media{
    height:260px;
    margin-bottom:20px;
    border:1px solid var(--border-primary);
    border-radius:18px;
}

.event-public-detail h3{
    margin-bottom:20px;
    font-size:25px;
}

.event-public-facts{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px;
}

.event-public-facts p{
    display:flex;
    flex-direction:column;
    gap:7px;
    padding:15px;
    border:1px solid var(--border);
    border-radius:14px;
    background:rgba(255,255,255,.04);
}

.event-public-facts strong{
    color:#c4b5fd;
}

.event-public-facts span{
    color:var(--text-soft);
    line-height:1.4;
}

.event-public-actions{
    display:flex;
    flex-wrap:wrap;
    gap:11px;
    margin-top:22px;
    padding-top:18px;
    border-top:1px solid var(--border);
}

.event-public-actions > *{
    flex:1 1 210px;
}


/* ADMINBEREICH */

.event-admin-form-grid,
.event-admin-edit-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 15px;
}

.event-admin-form-grid .is-full,
.event-admin-edit-grid .is-full{
    grid-column:1 / -1;
}

.event-admin-form-grid label,
.event-admin-edit-grid label{
    margin-bottom:7px;
}

.event-admin-form-grid label input,
.event-admin-edit-grid label input{
    margin-top:7px;
}

.event-admin-preview{
    display:grid;
    grid-template-columns:150px minmax(0,1fr);
    align-items:center;
    gap:17px;
    margin:19px 0;
    padding:15px;
    border:1px solid var(--border);
    border-radius:16px;
    background:rgba(2,6,23,.45);
}

.event-admin-preview-image{
    position:relative;
    display:grid;
    place-items:center;
    height:105px;
    overflow:hidden;
    border-radius:13px;
    background:
        radial-gradient(
            circle,
            rgba(157,78,221,.35),
            rgba(2,6,23,.96)
        );
}

.event-admin-preview-image span{
    font-size:37px;
}

.event-admin-preview-image img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

.event-admin-preview strong,
.event-admin-preview span{
    display:block;
}

.event-admin-preview strong{
    margin-bottom:8px;
    color:var(--text-soft);
    line-height:1.4;
}

.event-admin-preview span{
    color:var(--text-muted);
    font-size:13px;
    line-height:1.45;
}

.event-admin-test-link{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    width:auto;
    padding:11px 15px;
    border:1px solid var(--border-primary);
    border-radius:12px;
    background:rgba(157,78,221,.16);
    color:white;
    font-weight:800;
    text-decoration:none;
    transition:.2s ease;
}

.event-admin-test-link:hover{
    transform:translateY(-1px);
    background:rgba(157,78,221,.26);
}


/* SMARTPHONE */

@media(max-width:650px){

    .event-public-list{
        grid-template-columns:1fr;
    }

    .event-public-detail-media{
        height:210px;
    }

    .event-public-facts,
    .event-admin-form-grid,
    .event-admin-edit-grid{
        grid-template-columns:1fr;
    }

    .event-admin-form-grid .is-full,
    .event-admin-edit-grid .is-full{
        grid-column:auto;
    }

    .event-admin-preview{
        grid-template-columns:1fr;
    }

    .event-admin-preview-image{
        height:180px;
    }

    .event-public-actions{
        flex-direction:column;
    }

    .event-public-actions > *,
    .event-admin-test-link{
        width:100%;
    }
}
/* =====================================================
   VERANSTALTUNGEN AUF DER STARTSEITE
===================================================== */

.events-home-box{
    grid-column:1 / -1;
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(
            circle at top right,
            rgba(34,211,238,.14),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            rgba(157,78,221,.16),
            rgba(11,18,32,.96) 48%,
            rgba(17,20,34,.96)
        );
    border-color:rgba(157,78,221,.28);
}

.events-home-box[hidden]{
    display:none;
}

.events-home-head{
    position:relative;
    z-index:1;
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:24px;
    margin-bottom:22px;
}

.events-home-label{
    display:inline-block;
    margin-bottom:9px;
    padding:6px 11px;
    border:1px solid rgba(34,211,238,.35);
    border-radius:999px;
    background:rgba(34,211,238,.10);
    color:var(--accent);
    font-size:10px;
    font-weight:900;
    letter-spacing:1.2px;
}

.events-home-head h2{
    margin-bottom:7px;
    font-size:clamp(21px,2vw,29px);
    line-height:1.2;
}

.events-home-head p{
    max-width:650px;
    color:var(--text-muted);
    font-size:13px;
    line-height:1.5;
}

.events-home-all,
.events-home-details{
    border:none;
    border-radius:999px;
    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark)
    );
    color:white;
    font-weight:800;
    cursor:pointer;
    box-shadow:var(--shadow-glow);
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.events-home-all{
    flex-shrink:0;
    padding:12px 20px;
}

.events-home-details{
    align-self:flex-start;
    margin-top:auto;
    padding:10px 17px;
}

.events-home-all:hover,
.events-home-details:hover{
    transform:translateY(-2px);
    box-shadow:0 0 28px rgba(157,78,221,.5);
}

.events-home-list{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.events-home-card{
    min-width:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    background:rgba(10,15,28,.94);
    box-shadow:0 12px 30px rgba(0,0,0,.24);
    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

.events-home-card:hover{
    transform:translateY(-5px);
    border-color:var(--border-primary);
    box-shadow:var(--shadow-card);
}

.events-home-image{
    position:relative;
    height:180px;
    overflow:hidden;
    display:grid;
    place-items:center;
    background:
        radial-gradient(
            circle,
            rgba(157,78,221,.4),
            transparent 60%
        ),
        #080a12;
    font-size:42px;
}

.events-home-image img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease;
}

.events-home-card:hover .events-home-image img{
    transform:scale(1.04);
}

.events-home-content{
    flex:1;
    display:flex;
    flex-direction:column;
    gap:9px;
    padding:18px;
}

.events-home-date{
    align-self:flex-start;
    padding:6px 10px;
    border-radius:999px;
    background:rgba(157,78,221,.17);
    color:#d8b4fe;
    font-size:11px;
    font-weight:900;
}

.events-home-content h3{
    font-size:18px;
    line-height:1.3;
}

.events-home-content p{
    margin:0;
    color:var(--text-muted);
    font-size:13px;
    line-height:1.4;
}

@media (max-width:900px){
    .events-home-list{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:650px){
    .events-home-head{
        align-items:stretch;
        flex-direction:column;
        gap:16px;
    }

    .events-home-all{
        width:100%;
    }

    .events-home-list{
        grid-template-columns:1fr;
    }

    .events-home-image{
        height:190px;
    }
}
/* =====================================================
   VERANSTALTUNGEN – MODERNES ADMIN-DESIGN
===================================================== */

.admin-form:has(.event-admin-form-grid),
.admin-form:has(.event-admin-edit-grid){
    position:relative;
    max-width:980px;
    margin:24px auto 0;
    padding:clamp(22px,3vw,34px);
    overflow:hidden;
    border:1px solid rgba(157,78,221,.38);
    border-radius:24px;
    background:
        radial-gradient(
            circle at top right,
            rgba(34,211,238,.09),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            rgba(17,24,39,.98),
            rgba(7,11,20,.98)
        );
    box-shadow:
        0 22px 55px rgba(0,0,0,.32),
        inset 0 1px 0 rgba(255,255,255,.04);
}

.admin-form:has(.event-admin-form-grid)::before,
.admin-form:has(.event-admin-edit-grid)::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:3px;
    background:linear-gradient(
        90deg,
        var(--primary),
        var(--accent)
    );
}

.admin-form:has(.event-admin-form-grid) h4,
.admin-form:has(.event-admin-edit-grid) h4{
    margin:0 0 24px;
    color:white;
    font-size:clamp(20px,2vw,25px);
    line-height:1.25;
}

.event-admin-form-grid,
.event-admin-edit-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:19px;
}

.event-admin-form-grid .is-full,
.event-admin-edit-grid .is-full{
    grid-column:1 / -1;
}

.event-admin-form-grid label,
.event-admin-edit-grid label{
    display:flex;
    flex-direction:column;
    gap:9px;
    margin:0;
    color:#d8b4fe;
    font-size:13px;
    font-weight:800;
}

.event-admin-form-grid input,
.event-admin-edit-grid input,
.event-admin-form-grid select,
.event-admin-edit-grid select,
.event-admin-form-grid textarea,
.event-admin-edit-grid textarea{
    width:100%;
    min-height:50px;
    margin:0;
    padding:13px 15px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:13px;
    background:rgba(2,6,23,.72);
    color:white;
    font-size:14px;
    outline:none;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.event-admin-form-grid input:focus,
.event-admin-edit-grid input:focus,
.event-admin-form-grid select:focus,
.event-admin-edit-grid select:focus,
.event-admin-form-grid textarea:focus,
.event-admin-edit-grid textarea:focus{
    border-color:var(--primary);
    background:rgba(2,6,23,.94);
    box-shadow:0 0 0 3px rgba(157,78,221,.16);
}

.event-admin-form-grid input::placeholder,
.event-admin-edit-grid input::placeholder{
    color:#64748b;
}

.event-admin-form-grid input[type="date"],
.event-admin-form-grid input[type="time"],
.event-admin-edit-grid input[type="date"],
.event-admin-edit-grid input[type="time"]{
    color-scheme:dark;
}

/* FOTO-UPLOAD */

.event-admin-form-grid input[type="file"],
.event-admin-edit-grid input[type="file"]{
    min-height:68px;
    padding:10px;
    border:1px dashed rgba(34,211,238,.45);
    background:rgba(34,211,238,.05);
    color:var(--text-soft);
    cursor:pointer;
}

.event-admin-form-grid input[type="file"]::file-selector-button,
.event-admin-edit-grid input[type="file"]::file-selector-button{
    margin-right:14px;
    padding:11px 16px;
    border:none;
    border-radius:10px;
    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark)
    );
    color:rgb(34, 21, 80);
    font-weight:800;
    cursor:pointer;
}

.event-admin-form-grid small,
.event-admin-edit-grid small{
    color:var(--text-muted);
    font-size:12px;
    font-weight:500;
    line-height:1.4;
}

/* SPEICHERN */

#event-create-button{
    width:auto;
    min-width:220px;
    min-height:44px;
    margin:24px 0 0;
    padding:11px 20px;
    border:none;
    border-radius:12px;
    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark)
    );
    color:#ffffff;
    font-size:14px;
    font-weight:800;
    cursor:pointer;
}

#event-create-button:disabled{
    background:#3b2b55;
    color:#d8b4fe;
    opacity:1;
    cursor:not-allowed;
    transform:none;
    box-shadow:none;
}

/* MELDUNGEN */

#event-create-message:not(:empty),
#event-admin-message:not(:empty){
    display:block;
    margin-top:16px;
    padding:12px 15px;
    border:1px solid rgba(34,211,238,.25);
    border-radius:12px;
    background:rgba(34,211,238,.08);
    color:#a5c3fc;
    font-size:13px;
    font-weight:800;
}

/* HANDY */

@media(max-width:650px){

    .admin-form:has(.event-admin-form-grid),
    .admin-form:has(.event-admin-edit-grid){
        padding:20px 16px;
        border-radius:18px;
    }

    .event-admin-form-grid,
    .event-admin-edit-grid{
        grid-template-columns:1fr;
        gap:16px;
    }

    .event-admin-form-grid .is-full,
    .event-admin-edit-grid .is-full{
        grid-column:auto;
    }

    #event-create-button{
        margin-top:20px;
    }
}
/* =====================================================
   DJ- & MODERATOR-BEWERBUNG
===================================================== */

.moderator-application-box{
    width:min(820px,100%);
    padding:32px;
    border:1px solid rgba(167,139,250,.28);
    background:
        radial-gradient(
            circle at 90% 0%,
            rgba(124,58,237,.22),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            #111827,
            #0b1120
        );
    box-shadow:
        0 28px 80px rgba(0,0,0,.55),
        0 0 45px rgba(124,58,237,.18);
}

.moderator-application-box > h2{
    margin:0 50px 8px 0;
    color:#ffffff;
    font-size:30px;
    line-height:1.2;
}

.moderator-application-box > p{
    max-width:650px;
    margin:0;
    color:#94a3b8;
    line-height:1.55;
}

.moderator-application-box .project-request-close{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    top:18px;
    right:18px;
    padding:0;
    border:1px solid rgba(255,255,255,.12);
    border-radius:12px;
    background:rgba(15,23,42,.82);
    color:#e2e8f0;
    font-size:25px;
    line-height:1;
    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease;
}

.moderator-application-box .project-request-close:hover{
    transform:rotate(90deg);
    border-color:rgba(248,113,113,.55);
    background:rgba(239,68,68,.16);
    color:#fecaca;
}

#moderator-application-form{
    margin-top:24px;
    padding:25px;
    border:1px solid rgba(148,163,184,.16);
    border-radius:18px;
    background:rgba(2,6,23,.46);
}

.moderator-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 18px;
}

.moderator-form-field{
    min-width:0;
}



.moderator-application-box label{
    display:block;
    margin-top:3px;
    color:#cbd5e1;
    font-size:13px;
    font-weight:800;
}

.moderator-application-box input:not([type="checkbox"]),
.moderator-application-box textarea,
.moderator-application-box select{
    width:100%;
    margin:7px 0 17px;
    padding:13px 15px;
    border:1px solid rgba(148,163,184,.22);
    border-radius:12px;
    background:rgba(15,23,42,.92);
    color:#f8fafc;
    font:inherit;
    outline:none;
    transition:
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.moderator-application-box textarea{
    min-height:120px;
    line-height:1.55;
    resize:vertical;
}

.moderator-application-box select{
    cursor:pointer;
}

.moderator-application-box select option{
    background:#0f172a;
    color:#f8fafc;
}

.moderator-application-box input::placeholder,
.moderator-application-box textarea::placeholder{
    color:#64748b;
}

.moderator-application-box input:not([type="checkbox"]):focus,
.moderator-application-box textarea:focus,
.moderator-application-box select:focus{
    border-color:rgba(167,139,250,.82);
    background:#111827;
    box-shadow:
        0 0 0 4px rgba(124,58,237,.13),
        0 10px 25px rgba(0,0,0,.18);
}

.moderator-consent{
    display:flex !important;
    align-items:flex-start;
    gap:12px;
    margin:5px 0 22px;
    padding:15px;
    border:1px solid rgba(167,139,250,.20);
    border-radius:13px;
    background:rgba(124,58,237,.08);
    cursor:pointer;
}

.project-request-box .moderator-consent input[type="checkbox"]{
    width:20px;
    height:20px;
    flex:0 0 20px;
    margin:2px 0 0;
    padding:0;
    accent-color:var(--primary);
    cursor:pointer;
}

.moderator-consent span{
    color:#cbd5e1;
    font-size:13px;
    font-weight:600;
    line-height:1.55;
}

.moderator-consent a{
    color:#c4b5fd;
    font-weight:800;
    text-decoration:none;
}

.moderator-consent a:hover{
    color:#ffffff;
    text-decoration:underline;
}

#moderator-submit-button{
    min-height:50px;
    margin:0;
    border-radius:13px;
    background:linear-gradient(
        135deg,
        #a855f7,
        #7c3aed
    );
    box-shadow:0 12px 28px rgba(124,58,237,.28);
    font-size:15px;
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        opacity .2s ease;
}

#moderator-submit-button:hover:not(:disabled){
    transform:translateY(-2px);
    box-shadow:0 16px 34px rgba(124,58,237,.38);
}

#moderator-submit-button:disabled{
    opacity:.62;
    cursor:wait;
    transform:none;
}

#moderator-application-message{
    display:none;
    margin:16px 0 0;
    padding:13px 15px;
    border-radius:12px;
    font-size:13px;
    font-weight:800;
    line-height:1.45;
}

#moderator-application-message:not(:empty){
    display:block;
}

#moderator-application-message.is-success{
    border:1px solid rgba(74,222,128,.32);
    background:rgba(34,197,94,.12);
    color:#86efac;
}

#moderator-application-message.is-error{
    border:1px solid rgba(248,113,113,.35);
    background:rgba(239,68,68,.12);
    color:#fca5a5;
}

/* HANDY */

@media(max-width:650px){

    .project-request-modal{
        padding:8px;
    }

    .moderator-application-box{
        max-height:96vh;
        padding:24px 15px;
        border-radius:18px;
    }

    .moderator-application-box > h2{
        margin-right:42px;
        font-size:24px;
    }

    .moderator-application-box > p{
        font-size:13px;
    }

    .moderator-application-box .project-request-close{
        width:38px;
        height:38px;
        top:12px;
        right:12px;
    }

    #moderator-application-form{
        margin-top:20px;
        padding:18px 14px;
        border-radius:15px;
    }

    .moderator-form-grid{
        grid-template-columns:1fr;
        gap:0;
    }

    .moderator-application-box input:not([type="checkbox"]),
    .moderator-application-box textarea,
    .moderator-application-box select{
        padding:12px 13px;
    }

    .moderator-consent{
        padding:13px;
    }
}

/* =====================================================
   BEWERBUNGEN – ADMINBEREICH
===================================================== */

.application-admin{
    display:flex;
    flex-direction:column;
    gap:22px;
}

.application-admin-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    padding:26px;
    border:1px solid rgba(167,139,250,.24);
    border-radius:20px;
    background:
        radial-gradient(
            circle at 90% 0%,
            rgba(124,58,237,.24),
            transparent 38%
        ),
        linear-gradient(
            145deg,
            rgba(15,23,42,.96),
            rgba(8,15,30,.96)
        );
    box-shadow:0 18px 45px rgba(0,0,0,.22);
}

.application-admin-label{
    display:block;
    margin-bottom:7px;
    color:#a78bfa;
    font-size:11px;
    font-weight:900;
    letter-spacing:.14em;
}

.application-admin-head h3{
    margin:0 0 7px;
    color:#f8fafc;
    font-size:27px;
    line-height:1.2;
}

.application-admin-head p{
    margin:0;
    color:#94a3b8;
    line-height:1.5;
}

.application-count-badge{
    flex:0 0 auto;
    padding:9px 14px;
    border:1px solid rgba(167,139,250,.32);
    border-radius:999px;
    background:rgba(124,58,237,.14);
    color:#ddd6fe;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}

/* STATISTIK */

.application-stat-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:13px;
}

.application-stat-card{
    min-width:0;
    display:flex;
    align-items:center;
    gap:13px;
    padding:17px;
    border:1px solid rgba(148,163,184,.16);
    border-radius:16px;
    background:rgba(15,23,42,.84);
    box-shadow:0 10px 28px rgba(0,0,0,.16);
}

.application-stat-card > span{
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:rgba(148,163,184,.10);
    font-size:20px;
}

.application-stat-card div{
    min-width:0;
}

.application-stat-card small{
    display:block;
    margin-bottom:3px;
    color:#94a3b8;
    font-size:11px;
    font-weight:800;
}

.application-stat-card strong{
    display:block;
    color:#f8fafc;
    font-size:24px;
    line-height:1;
}

.application-stat-card.is-new{
    border-color:rgba(96,165,250,.24);
}

.application-stat-card.is-new > span{
    background:rgba(59,130,246,.14);
}

.application-stat-card.is-review{
    border-color:rgba(250,204,21,.24);
}

.application-stat-card.is-review > span{
    background:rgba(234,179,8,.14);
}

.application-stat-card.is-accepted{
    border-color:rgba(74,222,128,.24);
}

.application-stat-card.is-accepted > span{
    background:rgba(34,197,94,.14);
}

.application-stat-card.is-rejected{
    border-color:rgba(248,113,113,.24);
}

.application-stat-card.is-rejected > span{
    background:rgba(239,68,68,.14);
}

/* FILTER UND SUCHE */

.application-admin-panel{
    padding:22px;
    border:1px solid rgba(148,163,184,.16);
    border-radius:20px;
    background:rgba(8,15,30,.78);
}

.application-filter-bar{
    display:grid;
    grid-template-columns:minmax(220px,1fr) minmax(190px,240px) auto;
    align-items:end;
    gap:14px;
    padding-bottom:20px;
    border-bottom:1px solid rgba(148,163,184,.15);
}

.application-search-field,
.application-filter-field{
    display:flex;
    flex-direction:column;
    gap:7px;
}

.application-search-field > span,
.application-filter-field > span{
    color:#cbd5e1;
    font-size:12px;
    font-weight:800;
}

#admin-panel .application-search-field input,
#admin-panel .application-filter-field select{
    min-height:46px;
    margin:0;
    border:1px solid rgba(148,163,184,.22);
    border-radius:12px;
    background-color:rgba(15,23,42,.94);
    color:#f8fafc;
}

#admin-panel .application-search-field input:focus,
#admin-panel .application-filter-field select:focus{
    border-color:rgba(167,139,250,.75);
    box-shadow:0 0 0 4px rgba(124,58,237,.12);
}

.application-refresh-button{
    min-height:46px;
    padding:11px 17px;
    border:1px solid rgba(167,139,250,.30);
    border-radius:12px;
    background:rgba(124,58,237,.15);
    color:#ddd6fe;
    font-weight:900;
    cursor:pointer;
    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease;
}

.application-refresh-button:hover{
    transform:translateY(-2px);
    border-color:rgba(167,139,250,.58);
    background:rgba(124,58,237,.25);
}

/* MELDUNGEN */

.application-admin-message{
    display:none;
    margin:16px 0 0;
    padding:12px 14px;
    border:1px solid rgba(148,163,184,.18);
    border-radius:12px;
    background:rgba(15,23,42,.66);
    color:#cbd5e1;
    font-size:12px;
    font-weight:800;
}

.application-admin-message:not(:empty){
    display:block;
}

.application-admin-message.is-success{
    border-color:rgba(74,222,128,.25);
    background:rgba(34,197,94,.09);
    color:#86efac;
}

.application-admin-message.is-error{
    border-color:rgba(248,113,113,.28);
    background:rgba(239,68,68,.10);
    color:#fca5a5;
}

/* BEWERBUNGSLISTE */

.application-admin-list{
    display:flex;
    flex-direction:column;
    gap:16px;
    margin-top:18px;
}

.application-loading,
.application-empty{
    min-height:180px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:25px;
    border:1px dashed rgba(148,163,184,.24);
    border-radius:16px;
    background:rgba(15,23,42,.42);
    color:#94a3b8;
    text-align:center;
}

.application-loading span{
    width:28px;
    height:28px;
    border:3px solid rgba(167,139,250,.18);
    border-top-color:#a78bfa;
    border-radius:50%;
    animation:application-loading-spin .8s linear infinite;
}

@keyframes application-loading-spin{
    to{
        transform:rotate(360deg);
    }
}

.application-empty > span{
    font-size:34px;
}

.application-empty strong{
    color:#e2e8f0;
    font-size:16px;
}

.application-empty p{
    max-width:440px;
    margin:0;
    color:#64748b;
    font-size:13px;
    line-height:1.5;
}

/* BEWERBUNGSKARTE */

.application-card{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(148,163,184,.18);
    border-left:4px solid #60a5fa;
    border-radius:17px;
    background:
        linear-gradient(
            145deg,
            rgba(15,23,42,.96),
            rgba(9,16,31,.96)
        );
    box-shadow:0 12px 30px rgba(0,0,0,.17);
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.application-card:hover{
    transform:translateY(-2px);
    box-shadow:0 17px 36px rgba(0,0,0,.24);
}

.application-card.is-review{
    border-left-color:#facc15;
}

.application-card.is-accepted{
    border-left-color:#4ade80;
}

.application-card.is-rejected{
    border-left-color:#f87171;
}

.application-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    padding:20px;
    border-bottom:1px solid rgba(148,163,184,.13);
}

.application-person{
    min-width:0;
    display:flex;
    align-items:center;
    gap:14px;
}

.application-avatar{
    width:50px;
    height:50px;
    flex:0 0 50px;
    display:grid;
    place-items:center;
    border:1px solid rgba(167,139,250,.26);
    border-radius:14px;
    background:
        linear-gradient(
            135deg,
            rgba(168,85,247,.25),
            rgba(59,130,246,.15)
        );
    font-size:24px;
}

.application-person div{
    min-width:0;
}

.application-person small{
    display:block;
    margin-bottom:3px;
    color:#64748b;
    font-size:11px;
    font-weight:700;
}

.application-person h4{
    margin:0 0 3px;
    overflow-wrap:anywhere;
    color:#f8fafc;
    font-size:19px;
}

.application-person p{
    margin:0;
    color:#a78bfa;
    font-size:13px;
    font-weight:800;
}

.application-status-control{
    flex:0 0 175px;
}

.application-status-control > span{
    display:block;
    margin-bottom:6px;
    color:#94a3b8;
    font-size:11px;
    font-weight:800;
}

#admin-panel .application-status-control select{
    width:100%;
    min-height:41px;
    margin:0;
    padding:8px 38px 8px 12px;
    border-radius:11px;
    background-color:rgba(2,6,23,.80);
    font-size:12px;
    font-weight:800;
}

/* KURZÜBERSICHT */

.application-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1px;
    background:rgba(148,163,184,.12);
}

.application-summary > div{
    min-width:0;
    padding:15px 18px;
    background:rgba(8,15,30,.92);
}

.application-summary small{
    display:block;
    margin-bottom:5px;
    color:#64748b;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.07em;
}

.application-summary strong{
    display:block;
    overflow-wrap:anywhere;
    color:#e2e8f0;
    font-size:13px;
}

/* VOLLSTÄNDIGE BEWERBUNG */

.application-details{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px;
    padding:19px;
    border-top:1px solid rgba(148,163,184,.13);
    background:rgba(2,6,23,.34);
}

.application-details[hidden]{
    display:none;
}

.application-detail-block{
    min-width:0;
    padding:15px;
    border:1px solid rgba(148,163,184,.15);
    border-radius:13px;
    background:rgba(15,23,42,.62);
}

.application-detail-block small{
    display:block;
    margin-bottom:7px;
    color:#a78bfa;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.application-detail-block p{
    margin:0;
    overflow-wrap:anywhere;
    white-space:pre-wrap;
    color:#cbd5e1;
    font-size:13px;
    line-height:1.6;
}

/* AKTIONEN */

.application-card-actions{
    display:flex;
    align-items:center;
    gap:10px;
    padding:16px 19px;
    border-top:1px solid rgba(148,163,184,.13);
}

.application-card-actions button,
.application-card-actions a{
    width:auto;
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:9px 14px;
    border-radius:10px;
    font-size:12px;
    font-weight:900;
    text-decoration:none;
    cursor:pointer;
    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease;
}

.application-card-actions button:hover,
.application-card-actions a:hover{
    transform:translateY(-2px);
}

.application-details-button{
    border:1px solid rgba(167,139,250,.30);
    background:rgba(124,58,237,.15);
    color:#ddd6fe;
}

.application-email-button{
    border:1px solid rgba(96,165,250,.30);
    background:rgba(59,130,246,.13);
    color:#bfdbfe;
}

.application-delete-button{
    margin-left:auto;
    border:1px solid rgba(248,113,113,.30);
    background:rgba(239,68,68,.11);
    color:#fca5a5;
}

/* TABLET */

@media(max-width:1000px){

    .application-stat-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .application-summary{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

/* HANDY */

@media(max-width:650px){

    .application-admin-head{
        flex-direction:column;
        padding:20px 17px;
    }

    .application-admin-head h3{
        font-size:22px;
    }

    .application-count-badge{
        align-self:flex-start;
    }

    .application-stat-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .application-stat-card{
        padding:14px 12px;
    }

    .application-stat-card > span{
        width:37px;
        height:37px;
        flex-basis:37px;
        font-size:18px;
    }

    .application-stat-card strong{
        font-size:20px;
    }

    .application-admin-panel{
        padding:15px 12px;
        border-radius:17px;
    }

    .application-filter-bar{
        grid-template-columns:1fr;
    }

    .application-refresh-button{
        width:100%;
    }

    .application-card-head{
        flex-direction:column;
        padding:17px 14px;
    }

    .application-person{
        align-items:flex-start;
    }

    .application-status-control{
        width:100%;
        flex-basis:auto;
    }

    .application-summary{
        grid-template-columns:1fr;
    }

    .application-summary > div{
        padding:13px 15px;
    }

    .application-details{
        grid-template-columns:1fr;
        padding:14px;
    }

    .application-card-actions{
        flex-direction:column;
        align-items:stretch;
        padding:14px;
    }

    .application-card-actions button,
    .application-card-actions a{
        width:100%;
    }

    .application-delete-button{
        margin-left:0;
    }
}
/* =====================================================
   ADMIN-BENACHRICHTIGUNGEN
===================================================== */

.admin-header-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
}

.admin-notification-center{
    position:relative;
}

.admin-notification-center[hidden]{
    display:none !important;
}

.admin-notification-button{
    position:relative;
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid rgba(167,139,250,.28);
    border-radius:14px;
    background:rgba(15,23,42,.72);
    color:#ffffff;
    cursor:pointer;
    box-shadow:0 10px 25px rgba(0,0,0,.20);
    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease;
}

.admin-notification-button:hover{
    transform:translateY(-2px);
    border-color:rgba(167,139,250,.60);
    background:rgba(124,58,237,.22);
}

.admin-notification-icon{
    font-size:21px;
    line-height:1;
}

.admin-notification-button.has-unread{
    border-color:rgba(248,113,113,.50);
    background:rgba(127,29,29,.22);
}

.admin-notification-button.has-unread
.admin-notification-icon{
    animation:notification-bell-pulse 2s ease-in-out infinite;
}

@keyframes notification-bell-pulse{
    0%,
    80%,
    100%{
        transform:rotate(0);
    }

    85%{
        transform:rotate(13deg);
    }

    90%{
        transform:rotate(-13deg);
    }

    95%{
        transform:rotate(7deg);
    }
}

.admin-notification-badge{
    position:absolute;
    top:-7px;
    right:-7px;
    min-width:22px;
    height:22px;
    display:grid;
    place-items:center;
    padding:0 5px;
    border:2px solid #19162c;
    border-radius:999px;
    background:#ef4444;
    color:#ffffff;
    font-size:10px;
    font-weight:900;
    line-height:1;
    box-shadow:0 5px 14px rgba(239,68,68,.38);
}

.admin-notification-badge[hidden]{
    display:none;
}

/* AUFKLAPPFENSTER */

.admin-notification-panel{
    position:fixed;
    z-index:10050;
    width:420px;
    max-height:520px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border:1px solid rgba(167,139,250,.28);
    border-radius:20px;
    background:
        linear-gradient(
            145deg,
            rgba(15,23,42,.99),
            rgba(5,10,22,.99)
        );
    color:#f8fafc;
    box-shadow:
        0 30px 85px rgba(0,0,0,.65),
        0 0 35px rgba(124,58,237,.16);
}

.admin-notification-panel[hidden]{
    display:none !important;
}

.admin-notification-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:18px 19px;
    border-bottom:1px solid rgba(148,163,184,.14);
    background:
        linear-gradient(
            135deg,
            rgba(124,58,237,.18),
            rgba(15,23,42,.50)
        );
}

.admin-workspace-header
.admin-notification-panel-head small{
    margin:0 0 4px;
    color:#a78bfa;
    font-size:9px;
    font-weight:900;
    letter-spacing:.14em;
}

.admin-workspace-header
.admin-notification-panel-head h3{
    margin:0;
    color:#f8fafc;
    font-size:19px;
    line-height:1.2;
}

.admin-notification-close{
    width:36px;
    height:36px;
    flex:0 0 36px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid rgba(148,163,184,.18);
    border-radius:10px;
    background:rgba(15,23,42,.72);
    color:#cbd5e1;
    font-size:22px;
    line-height:1;
    cursor:pointer;
    transition:
        transform .2s ease,
        background .2s ease,
        color .2s ease;
}

.admin-notification-close:hover{
    transform:rotate(90deg);
    background:rgba(239,68,68,.14);
    color:#fca5a5;
}

/* WERKZEUGLEISTE */

.admin-notification-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:11px 15px;
    border-bottom:1px solid rgba(148,163,184,.12);
    background:rgba(2,6,23,.45);
}

.admin-notification-toolbar > span{
    color:#94a3b8;
    font-size:11px;
    font-weight:800;
}

.admin-notification-toolbar button{
    width:auto;
    padding:7px 10px;
    border:1px solid rgba(167,139,250,.25);
    border-radius:9px;
    background:rgba(124,58,237,.12);
    color:#c4b5fd;
    font-size:10px;
    font-weight:900;
    cursor:pointer;
}

.admin-notification-toolbar button:hover{
    border-color:rgba(167,139,250,.50);
    background:rgba(124,58,237,.22);
}

/* MELDUNGSLISTE */

.admin-notification-list{
    min-height:130px;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:#6d28d9 rgba(15,23,42,.70);
}

.admin-notification-item{
    position:relative;
    width:100%;
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:15px 16px;
    border:0;
    border-bottom:1px solid rgba(148,163,184,.11);
    background:transparent;
    color:#f8fafc;
    text-align:left;
    cursor:pointer;
    transition:
        background .2s ease,
        border-color .2s ease;
}

.admin-notification-item:last-child{
    border-bottom:none;
}

.admin-notification-item:hover{
    background:rgba(124,58,237,.11);
}

.admin-notification-item.is-unread{
    background:
        linear-gradient(
            90deg,
            rgba(124,58,237,.15),
            rgba(124,58,237,.03)
        );
    border-left:3px solid #a78bfa;
    padding-left:13px;
}

.admin-notification-item.is-read{
    opacity:.72;
}

.admin-notification-item-icon{
    width:41px;
    height:41px;
    flex:0 0 41px;
    display:grid;
    place-items:center;
    border:1px solid rgba(167,139,250,.20);
    border-radius:12px;
    background:rgba(124,58,237,.11);
    font-size:19px;
}

.admin-notification-item-content{
    min-width:0;
    flex:1;
    display:flex;
    flex-direction:column;
    gap:4px;
}

.admin-notification-item-title{
    overflow-wrap:anywhere;
    color:#f8fafc;
    font-size:13px;
    font-weight:900;
    line-height:1.35;
}

.admin-notification-item-message{
    display:-webkit-box;
    overflow:hidden;
    overflow-wrap:anywhere;
    white-space:pre-line;
    color:#94a3b8;
    font-size:11px;
    line-height:1.45;
    line-clamp:3;
-webkit-line-clamp:3;
-webkit-box-orient:vertical;
}

.admin-notification-item-date{
    margin-top:2px;
    color:#64748b;
    font-size:9px;
    font-weight:800;
}

.admin-notification-unread-dot{
    width:9px;
    height:9px;
    flex:0 0 9px;
    margin-top:5px;
    border-radius:50%;
    background:#a78bfa;
    box-shadow:0 0 12px rgba(167,139,250,.80);
}

/* LEER- UND FEHLERANZEIGE */

.admin-notification-loading,
.admin-notification-error{
    margin:0;
    padding:35px 20px;
    color:#94a3b8;
    font-size:12px;
    font-weight:800;
    text-align:center;
}

.admin-notification-error{
    color:#fca5a5;
}

.admin-notification-empty{
    min-height:180px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:25px;
    text-align:center;
}

.admin-notification-empty > span{
    font-size:31px;
}

.admin-notification-empty strong{
    color:#e2e8f0;
    font-size:14px;
}

.admin-workspace-header
.admin-notification-empty p{
    margin:0;
    color:#64748b;
    font-size:11px;
}

/* HANDY */

@media(max-width:620px){

    .admin-header-actions{
        width:100%;
        justify-content:space-between;
    }

    .admin-notification-button{
        width:45px;
        height:45px;
    }

    .admin-notification-panel{
        border-radius:17px;
    }

    .admin-notification-panel-head{
        padding:16px;
    }

    .admin-notification-item{
        padding:14px 13px;
    }

    .admin-notification-item.is-unread{
        padding-left:10px;
    }
}

@media(prefers-reduced-motion:reduce){

    .admin-notification-button.has-unread
    .admin-notification-icon{
        animation:none;
    }
}
/* =====================================================
   AKTUELLE WERBUNG AUF DER STARTSEITE
===================================================== */

.ad-showcase-box{
    grid-column:1 / -1;
    position:relative;
    overflow:hidden;
    border-color:rgba(157,78,221,.32);
    background:
        radial-gradient(
            circle at top right,
            rgba(34,211,238,.13),
            transparent 38%
        ),
        radial-gradient(
            circle at bottom left,
            rgba(157,78,221,.16),
            transparent 42%
        ),
        linear-gradient(
            135deg,
            rgba(16,22,39,.98),
            rgba(7,11,21,.98)
        );
}

.ad-showcase-box::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:3px;
    background:
        linear-gradient(
            90deg,
            var(--primary),
            #ec4899,
            var(--accent)
        );
}

.ad-showcase-header{
    position:relative;
    z-index:1;
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:24px;
    margin-bottom:22px;
}

.ad-section-label{
    display:inline-flex;
    margin-bottom:9px;
    padding:6px 11px;
    border:1px solid rgba(236,72,153,.35);
    border-radius:999px;
    background:rgba(236,72,153,.10);
    color:#f9a8d4;
    font-size:10px;
    font-weight:900;
    letter-spacing:1.2px;
}

.ad-showcase-header h2{
    margin:0 0 7px;
    font-size:clamp(21px,2vw,29px);
    line-height:1.2;
}

.ad-showcase-header p{
    max-width:650px;
    margin:0;
    color:var(--text-muted);
    font-size:13px;
    line-height:1.5;
}

.ad-counter{
    flex-shrink:0;
    justify-content:center;
    align-items:center;
    min-width:58px;
    min-height:35px;
    padding:7px 12px;
    border:1px solid rgba(157,78,221,.32);
    border-radius:999px;
    background:rgba(157,78,221,.12);
    color:#d8b4fe;
    font-size:12px;
    font-weight:900;
}

.ad-showcase-card{
    position:relative;
    z-index:1;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);
    min-height:285px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:24px;
    background:rgba(5,10,20,.82);
    box-shadow:
        0 18px 45px rgba(0,0,0,.32),
        inset 0 1px 0 rgba(255,255,255,.04);
    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

.ad-showcase-card:hover{
    transform:translateY(-3px);
    border-color:rgba(157,78,221,.52);
    box-shadow:
        0 22px 55px rgba(0,0,0,.38),
        0 0 30px rgba(157,78,221,.12);
}

.ad-showcase-image{
    position:relative;
    overflow:hidden;
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:285px;
    background:
        radial-gradient(
            circle at center,
            rgba(157,78,221,.32),
            transparent 55%
        ),
        linear-gradient(
            145deg,
            #11162a,
            #070912
        );
}

#ad-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:contain;
    transition:transform .4s ease;
}

.ad-showcase-card:hover #ad-image{
    filter:brightness(1.04);
}

.ad-image-placeholder{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:12px;
    padding:25px;
    color:#d8b4fe;
    text-align:center;
}

.ad-image-placeholder span{
    display:grid;
    place-items:center;
    width:72px;
    height:72px;
    border:1px solid rgba(157,78,221,.38);
    border-radius:22px;
    background:rgba(157,78,221,.17);
    font-size:34px;
    box-shadow:var(--shadow-glow);
}

.ad-image-placeholder strong{
    font-size:15px;
    letter-spacing:.04em;
}

.ad-image-badge{
    position:absolute;
    top:15px;
    left:15px;
    z-index:2;
    padding:7px 11px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    background:rgba(3,6,15,.82);
    color:#f9a8d4;
    font-size:9px;
    font-weight:900;
    letter-spacing:1.3px;
    backdrop-filter:blur(10px);
}

.ad-showcase-content{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    padding:clamp(24px,4vw,42px);
}

.ad-partner-name{
    display:inline-block;
    margin-bottom:13px;
    color:var(--accent);
    font-size:10px;
    font-weight:900;
    letter-spacing:1.3px;
    text-transform:uppercase;
}

.ad-showcase-content h3{
    margin:0 0 14px;
    font-size:clamp(24px,3vw,38px);
    line-height:1.15;
}

.ad-showcase-content p{
    max-width:720px;
    margin:0;
    color:var(--text-soft);
    font-size:14px;
    line-height:1.7;
}

.ad-showcase-action{
    justify-content:center;
    align-items:center;
    margin-top:auto;
    padding:12px 22px;
    border:none;
    border-radius:999px;
    background:
        linear-gradient(
            135deg,
            var(--primary),
            var(--primary-dark)
        );
    color:white;
    font-weight:900;
    cursor:pointer;
    box-shadow:var(--shadow-glow);
}

.ad-showcase-dots{
    position:relative;
    z-index:1;
    justify-content:center;
    align-items:center;
    gap:8px;
    margin-top:17px;
}

.ad-showcase-dot{
    width:9px;
    height:9px;
    padding:0;
    border:none;
    border-radius:999px;
    background:#475569;
    cursor:pointer;
    transition:
        width .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}

.ad-showcase-dot.is-active{
    width:28px;
    background:
        linear-gradient(
            90deg,
            var(--primary),
            var(--accent)
        );
    box-shadow:0 0 13px rgba(157,78,221,.55);
}


/* =====================================================
   COMMUNITY AUF DER STARTSEITE
===================================================== */

.community-box{
    position:relative;
    overflow:hidden;
    border-color:rgba(157,78,221,.23);
    background:
        radial-gradient(
            circle at top left,
            rgba(157,78,221,.10),
            transparent 36%
        ),
        linear-gradient(
            145deg,
            rgba(15,20,36,.97),
            rgba(8,12,23,.97)
        );
}

.community-box .section-head{
    margin-bottom:21px;
    padding-bottom:17px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.community-box .section-head h2{
    font-size:clamp(21px,2vw,28px);
}

.community-box .section-head h2::before{
    content:"MITEINANDER";
    display:block;
    width:max-content;
    margin-bottom:8px;
    padding:5px 9px;
    border:1px solid rgba(157,78,221,.30);
    border-radius:999px;
    background:rgba(157,78,221,.10);
    color:#d8b4fe;
    font-size:9px;
    font-weight:900;
    letter-spacing:1.2px;
}

.community-box .section-head a{
    padding:8px 13px;
    border:1px solid rgba(157,78,221,.30);
    border-radius:999px;
    background:rgba(157,78,221,.10);
    color:#d8b4fe;
    text-decoration:none;
    font-size:11px;
    font-weight:900;
}

.community-box .community-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:17px;
}

.community-box .community-card{
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    min-height:225px;
    padding:23px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:21px;
    background:
        linear-gradient(
            145deg,
            rgba(31,41,65,.78),
            rgba(12,18,32,.92)
        );
    box-shadow:
        0 13px 28px rgba(0,0,0,.20),
        inset 0 1px 0 rgba(255,255,255,.04);
    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

.community-box .community-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:3px;
    background:var(--primary);
}

.community-box .community-card:nth-child(2)::before{
    background:var(--accent);
}

.community-box .community-card:nth-child(3)::before{
    background:#facc15;
}

.community-box .community-card:nth-child(4)::before{
    background:#ec4899;
}

.community-box .community-card:hover{
    transform:translateY(-5px);
    border-color:rgba(157,78,221,.40);
    background:
        linear-gradient(
            145deg,
            rgba(41,51,79,.88),
            rgba(14,20,37,.96)
        );
    box-shadow:
        0 19px 40px rgba(0,0,0,.28),
        0 0 24px rgba(157,78,221,.10);
}

.community-box .community-card h3{
    margin:0 0 13px;
    color:white;
    font-size:16px;
    line-height:1.35;
}

.community-box .community-card p{
    flex:1;
    margin:0;
    color:#aeb9cb;
    font-size:13px;
    line-height:1.6;
}

.community-box .community-btn{
    align-self:flex-start;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    min-height:39px;
    margin-top:20px;
    padding:10px 16px;
    font-size:12px;
}


/* =====================================================
   WERBEVERWALTUNG IM ADMINBEREICH
===================================================== */

.ad-admin{
    width:100%;
    max-width:1080px;
    margin:0 auto;
}

.ad-admin-header{
    margin-bottom:24px;
    padding-bottom:21px;
    border-bottom:1px solid rgba(255,255,255,.09);
}

.ad-admin-label{
    display:inline-flex;
    margin-bottom:10px;
    padding:6px 10px;
    border:1px solid rgba(236,72,153,.32);
    border-radius:999px;
    background:rgba(236,72,153,.09);
    color:#f9a8d4;
    font-size:9px;
    font-weight:900;
    letter-spacing:1.2px;
}

.ad-admin-header h3{
    margin:0 0 8px;
    font-size:clamp(23px,3vw,31px);
}

.ad-admin-header p{
    margin:0;
    color:var(--text-muted);
    line-height:1.6;
}

.ad-admin-card{
    position:relative;
    overflow:hidden;
    margin-bottom:24px;
    padding:clamp(20px,3vw,30px);
    border:1px solid rgba(255,255,255,.09);
    border-radius:23px;
    background:
        radial-gradient(
            circle at top right,
            rgba(157,78,221,.09),
            transparent 35%
        ),
        rgba(5,10,20,.68);
    box-shadow:
        0 18px 42px rgba(0,0,0,.25),
        inset 0 1px 0 rgba(255,255,255,.03);
}

.ad-admin-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:3px;
    background:
        linear-gradient(
            90deg,
            var(--primary),
            var(--accent)
        );
}

.ad-admin-card-head{
    margin-bottom:21px;
}

.ad-admin-card-head > div{
    display:flex;
    align-items:center;
    gap:12px;
}

.ad-admin-number{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    flex-shrink:0;
    border:1px solid rgba(157,78,221,.35);
    border-radius:13px;
    background:rgba(157,78,221,.14);
    color:#d8b4fe;
    font-size:12px;
    font-weight:900;
}

.ad-admin-card-head h4{
    margin:0;
    color:white;
    font-size:18px;
}

.ad-admin label{
    display:block;
    margin:17px 0 7px;
    color:#cbd5e1;
    font-size:12px;
    font-weight:900;
}

.ad-admin input:not([type="checkbox"]):not([type="file"]),
.ad-admin select,
.ad-admin textarea{
    width:100%;
    margin:0;
    padding:13px 15px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:13px;
    background:rgba(2,6,23,.74);
    color:white;
    font-family:inherit;
    font-size:14px;
    outline:none;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.ad-admin input:not([type="checkbox"]):not([type="file"]){
    min-height:48px;
}

.ad-admin textarea{
    min-height:130px;
    resize:vertical;
}

.ad-admin select{
    min-height:48px;
    color-scheme:dark;
}

.ad-admin input:focus,
.ad-admin select:focus,
.ad-admin textarea:focus{
    border-color:var(--primary);
    background:rgba(2,6,23,.94);
    box-shadow:0 0 0 3px rgba(157,78,221,.14);
}

.ad-admin input::placeholder,
.ad-admin textarea::placeholder{
    color:#64748b;
}

.ad-admin-grid{
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);
    gap:24px;
    margin-top:5px;
}

.ad-admin-upload{
    align-self:start;
    margin-top:17px;
    padding:16px;
    border:1px dashed rgba(34,211,238,.28);
    border-radius:18px;
    background:rgba(34,211,238,.035);
}

.ad-admin-upload-title{
    display:block;
    margin-bottom:12px;
    color:#a5f3fc;
    font-size:12px;
    font-weight:900;
}

.ad-admin-image-preview{
    position:relative;
    overflow:hidden;
    width:100%;
    aspect-ratio:16 / 10;
    border:1px solid rgba(255,255,255,.10);
    border-radius:15px;
    background:#060914;
}

.ad-admin-image-preview img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.ad-admin-preview-placeholder{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:9px;
    padding:18px;
    color:#94a3b8;
    text-align:center;
}

.ad-admin-preview-placeholder span{
    font-size:31px;
}

.ad-admin-preview-placeholder strong{
    font-size:12px;
    line-height:1.4;
}

.ad-admin-file-button{
    display:flex !important;
    justify-content:center;
    align-items:center;
    min-height:43px;
    margin:14px 0 8px !important;
    padding:10px 15px;
    border:1px solid rgba(157,78,221,.34);
    border-radius:12px;
    background:
        linear-gradient(
            135deg,
            rgba(157,78,221,.24),
            rgba(90,24,154,.24)
        );
    color:#e9d5ff !important;
    cursor:pointer;
    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease;
}

.ad-admin-file-button:hover{
    transform:translateY(-1px);
    border-color:rgba(157,78,221,.60);
    background:rgba(157,78,221,.28);
}

.ad-admin input[type="file"]{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip-path:inset(50%);
    white-space:nowrap;
}

.ad-admin-help{
    display:block;
    color:#7f8da3;
    font-size:11px;
    line-height:1.5;
}

.ad-image-settings{
    display:grid;
    gap:15px;
    margin-top:18px;
    padding-top:17px;
    border-top:1px solid rgba(255,255,255,.09);
}

.ad-image-setting{
    display:grid;
    gap:8px;
}

.ad-image-setting label{
    display:flex !important;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin:0 !important;
    color:#cbd5e1 !important;
    font-size:11px !important;
}

.ad-image-setting output{
    flex:0 0 auto;
    min-width:52px;
    padding:4px 7px;
    border:1px solid rgba(34,211,238,.20);
    border-radius:8px;
    background:rgba(34,211,238,.07);
    color:#a5f3fc;
    font-size:10px;
    font-weight:900;
    text-align:center;
}

.ad-image-setting input[type="range"]{
    width:100%;
    min-height:6px;
    height:6px;
    margin:4px 0;
    padding:0;
    border:0;
    border-radius:999px;
    background:
        linear-gradient(
            90deg,
            rgba(157,78,221,.80),
            rgba(34,211,238,.75)
        );
    box-shadow:none;
    appearance:none;
    -webkit-appearance:none;
    cursor:pointer;
    accent-color:var(--primary);
}

.ad-image-setting input[type="range"]:focus{
    border:0;
    background:
        linear-gradient(
            90deg,
            rgba(157,78,221,.95),
            rgba(34,211,238,.90)
        );
    box-shadow:
        0 0 0 3px rgba(157,78,221,.12);
}

.ad-image-setting input[type="range"]::-webkit-slider-thumb{
    width:18px;
    height:18px;
    border:2px solid #ffffff;
    border-radius:50%;
    background:var(--primary);
    box-shadow:0 3px 10px rgba(0,0,0,.40);
    appearance:none;
    -webkit-appearance:none;
}

.ad-image-setting input[type="range"]::-moz-range-thumb{
    width:15px;
    height:15px;
    border:2px solid #ffffff;
    border-radius:50%;
    background:var(--primary);
    box-shadow:0 3px 10px rgba(0,0,0,.40);
}

.ad-image-reset-button{
    width:100%;
    min-height:39px;
    padding:9px 12px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:11px;
    background:rgba(255,255,255,.045);
    color:#cbd5e1;
    font-size:11px;
    font-weight:800;
    cursor:pointer;
    transition:
        border-color .2s ease,
        background .2s ease,
        color .2s ease;
}

.ad-image-reset-button:hover{
    border-color:rgba(34,211,238,.35);
    background:rgba(34,211,238,.08);
    color:#a5f3fc;
}

.ad-admin-checkbox{
    display:flex !important;
    align-items:center;
    gap:9px;
    margin:14px 0 0 !important;
    color:#fca5a5 !important;
    cursor:pointer;
}

.ad-admin-checkbox input{
    width:17px;
    height:17px;
    accent-color:var(--danger);
}

#ad-edit-button-fields,
#ad-new-button-fields{
    margin-top:14px;
    padding:17px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    background:rgba(2,6,23,.38);
}

.ad-admin-actions{
    display:flex;
    flex-wrap:wrap;
    gap:11px;
    margin-top:23px;
}

.ad-admin-actions button{
    min-height:44px;
    padding:11px 18px;
    border:1px solid rgba(157,78,221,.38);
    border-radius:12px;
    background:
        linear-gradient(
            135deg,
            var(--primary),
            var(--primary-dark)
        );
    color:white;
    font-weight:900;
    cursor:pointer;
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.ad-admin-actions button:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow-glow);
}

.ad-admin-actions .danger-btn{
    border-color:rgba(239,68,68,.35);
    background:rgba(239,68,68,.11);
    color:#fecaca;
    box-shadow:none;
}

.ad-admin-message:not(:empty){
    display:block;
    margin-top:18px;
    padding:13px 15px;
    border:1px solid rgba(34,211,238,.28);
    border-radius:13px;
    background:rgba(34,211,238,.08);
    color:#bae6fd;
    font-size:13px;
    font-weight:900;
}

.ad-admin-message[data-state="success"]:not(:empty){
    border-color:rgba(34,197,94,.30);
    background:rgba(34,197,94,.09);
    color:#86efac;
}

.ad-admin-message[data-state="error"]:not(:empty){
    border-color:rgba(239,68,68,.32);
    background:rgba(239,68,68,.09);
    color:#fca5a5;
}

.ad-admin-message[data-state="warning"]:not(:empty){
    border-color:rgba(250,204,21,.30);
    background:rgba(250,204,21,.08);
    color:#fde68a;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:1000px){

    .community-box .community-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .ad-admin-grid{
        grid-template-columns:1fr;
    }

    .ad-admin-upload{
        margin-top:0;
    }
}

@media(max-width:760px){

    .ad-showcase-card{
        grid-template-columns:1fr;
    }

    .ad-showcase-image{
        min-height:230px;
    }

    .ad-showcase-content{
        min-height:260px;
    }
}

@media(max-width:600px){

    .ad-showcase-header{
        align-items:flex-start;
        flex-direction:column;
        gap:13px;
    }

    .ad-showcase-image{
        min-height:195px;
    }

    .ad-showcase-content{
        min-height:0;
        padding:22px 17px;
    }

    .ad-showcase-content h3{
        font-size:23px;
    }

    .ad-showcase-action{
        width:100%;
        margin-top:22px;
    }

    .community-box .community-grid{
        grid-template-columns:1fr;
    }

    .community-box .community-card{
        min-height:200px;
    }

    .community-box .community-btn{
        width:100%;
    }

    .ad-admin-card{
        padding:19px 14px;
        border-radius:18px;
    }

    .ad-admin-actions{
        flex-direction:column;
    }

    .ad-admin-actions button{
        width:100%;
    }
}
/* =====================================================
   WERBUNG – STEUERUNG UND GESAMTÜBERSICHT
===================================================== */

.ad-showcase-controls{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}

.ad-arrow-button{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    padding:0;
    border:1px solid rgba(157,78,221,.35);
    border-radius:12px;
    background:rgba(157,78,221,.12);
    color:#e9d5ff;
    font-size:18px;
    font-weight:900;
    cursor:pointer;
    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}

.ad-arrow-button:hover:not(:disabled){
    transform:translateY(-2px);
    border-color:rgba(157,78,221,.65);
    background:rgba(157,78,221,.24);
    box-shadow:var(--shadow-glow);
}

.ad-arrow-button:disabled{
    opacity:.35;
    cursor:not-allowed;
}

.ad-all-button{
    min-height:38px;
    padding:9px 16px;
    border:1px solid rgba(34,211,238,.32);
    border-radius:999px;
    background:rgba(34,211,238,.09);
    color:#a5f3fc;
    font-size:11px;
    font-weight:900;
    cursor:pointer;
    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease;
}

.ad-all-button:hover{
    transform:translateY(-2px);
    border-color:rgba(34,211,238,.60);
    background:rgba(34,211,238,.17);
}


/* Popup */

.all-ads-box{
    width:min(1120px,94vw);
    max-width:1120px;
    max-height:90vh;
    overflow-y:auto;
    padding:clamp(22px,4vw,38px);
}

.all-ads-header{
    margin-bottom:24px;
    padding-right:45px;
}

.all-ads-header > span{
    display:inline-flex;
    margin-bottom:10px;
    padding:6px 10px;
    border:1px solid rgba(236,72,153,.32);
    border-radius:999px;
    background:rgba(236,72,153,.09);
    color:#f9a8d4;
    font-size:9px;
    font-weight:900;
    letter-spacing:1.2px;
}

.all-ads-header h2{
    margin:0 0 8px;
    font-size:clamp(24px,3vw,34px);
}

.all-ads-header p{
    margin:0;
    color:var(--text-muted);
    line-height:1.6;
}

.all-ads-list{
    display:grid;
    grid-template-columns:
        repeat(3,minmax(0,1fr));
    gap:18px;
}

.all-ads-card{
    overflow:hidden;
    border:1px solid rgba(255,255,255,.10);
    border-radius:20px;
    background:rgba(9,14,27,.94);
    box-shadow:0 13px 30px rgba(0,0,0,.25);
    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

.all-ads-card:hover{
    transform:translateY(-4px);
    border-color:rgba(157,78,221,.48);
    box-shadow:
        0 18px 38px rgba(0,0,0,.32),
        0 0 22px rgba(157,78,221,.10);
}

.all-ads-card.is-current{
    border-color:rgba(34,211,238,.55);
    box-shadow:
        0 0 0 2px rgba(34,211,238,.08),
        0 15px 35px rgba(0,0,0,.28);
}

.all-ads-card-select{
    width:100%;
    height:100%;
    padding:0;
    border:none;
    background:none;
    color:inherit;
    text-align:left;
    cursor:pointer;
}

.all-ads-card-image{
    position:relative;
    overflow:hidden;
    display:grid;
    place-items:center;
    width:100%;
    height:175px;
    background:
        radial-gradient(
            circle,
            rgba(157,78,221,.34),
            transparent 58%
        ),
        #080b15;
}

.all-ads-card-image img{
    width:100%;
    height:100%;
    object-fit:contain;
    transition:transform .35s ease;
}

.all-ads-card:hover img{
    filter:brightness(1.04);
}

.all-ads-image-placeholder{
    font-size:42px;
}

.all-ads-card-badge{
    position:absolute;
    top:12px;
    left:12px;
    z-index:2;
    padding:6px 9px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    background:rgba(3,6,15,.82);
    color:#f9a8d4;
    font-size:8px;
    font-weight:900;
    letter-spacing:1px;
}

.all-ads-card-content{
    display:flex;
    flex-direction:column;
    min-height:215px;
    padding:18px;
}

.all-ads-card-content small{
    margin-bottom:9px;
    color:var(--accent);
    font-size:9px;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
}

.all-ads-card-content h3{
    margin:0 0 10px;
    color:white;
    font-size:17px;
    line-height:1.3;
}

.all-ads-card-content p{
    display:-webkit-box;
    overflow:hidden;
    margin:0;
    color:var(--text-muted);
    font-size:12px;
    line-height:1.55;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    line-clamp:3;
}

.all-ads-card-action{
    align-self:flex-start;
    margin-top:auto;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(157,78,221,.15);
    color:#d8b4fe;
    font-size:10px;
    font-weight:900;
}

.all-ads-card.is-current .all-ads-card-action{
    background:rgba(34,211,238,.12);
    color:#a5f3fc;
}

.all-ads-empty{
    grid-column:1 / -1;
    padding:30px;
    border:1px dashed rgba(255,255,255,.12);
    border-radius:18px;
    color:var(--text-muted);
    text-align:center;
}


/* Responsive */

@media(max-width:900px){

    .all-ads-list{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }
}

@media(max-width:600px){

    .ad-showcase-controls{
        width:100%;
        justify-content:flex-start;
    }

    .ad-all-button{
        flex:1;
    }

    .all-ads-list{
        grid-template-columns:1fr;
    }

    .all-ads-card-image{
        height:190px;
    }
}
/* =====================================================
   HAUPTNAVIGATION – FUNKTION UND MODERNE OPTIK
===================================================== */

#start,
#radios,
#sendeplan,
#news,
#community{
    scroll-margin-top:110px;
}


/* Navigation als Glasleiste */

.nav{
    width:max-content;
    max-width:100%;
    justify-self:center;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    padding:6px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:999px;
    background:
        linear-gradient(
            135deg,
            rgba(157,78,221,.08),
            rgba(34,211,238,.035)
        ),
        rgba(10,12,23,.82);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.045),
        0 10px 30px rgba(0,0,0,.20);
    backdrop-filter:blur(14px);
}


/* Einzelne Navigationspunkte */

.nav a{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:9px 15px;
    border:1px solid transparent;
    border-radius:999px;
    color:#cbd5e1;
    font-size:11px;
    font-weight:900;
    line-height:1;
    letter-spacing:.35px;
    text-decoration:none;
    text-transform:uppercase;
    white-space:nowrap;
    opacity:1;
    transition:
        color .22s ease,
        background .22s ease,
        border-color .22s ease,
        box-shadow .22s ease,
        transform .22s ease;
}


.nav a:hover{
    color:#ffffff;
    border-color:rgba(157,78,221,.25);
    background:rgba(157,78,221,.10);
    transform:translateY(-1px);
}


.nav a:focus-visible{
    outline:2px solid var(--accent);
    outline-offset:3px;
}


/* Aktuell geöffneter Bereich */

.nav a.is-active{
    color:#ffffff;
    border-color:rgba(157,78,221,.45);
    background:
        linear-gradient(
            135deg,
            rgba(157,78,221,.92),
            rgba(107,33,168,.88)
        );
    box-shadow:
        0 7px 18px rgba(126,34,206,.28),
        inset 0 1px 0 rgba(255,255,255,.17);
}


.nav a.is-active::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:4px;
    width:4px;
    height:4px;
    border-radius:50%;
    background:var(--accent);
    box-shadow:0 0 8px var(--accent);
    transform:translateX(-50%);
}


/* Burger-Button zunächst ausblenden */

.nav-toggle{
    width:44px;
    height:44px;
    display:none;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:4px;
    padding:0;
    border:1px solid rgba(157,78,221,.30);
    border-radius:13px;
    background:
        linear-gradient(
            135deg,
            rgba(157,78,221,.16),
            rgba(34,211,238,.06)
        ),
        rgba(15,23,42,.88);
    box-shadow:0 8px 22px rgba(0,0,0,.24);
    cursor:pointer;
}


.nav-toggle span{
    width:20px;
    height:2px;
    border-radius:999px;
    background:#ffffff;
    transition:
        transform .25s ease,
        opacity .20s ease,
        background .20s ease;
}


.nav-toggle:hover span{
    background:var(--accent);
}


.nav-toggle.is-open span:nth-child(1){
    transform:translateY(6px) rotate(45deg);
}


.nav-toggle.is-open span:nth-child(2){
    opacity:0;
}


.nav-toggle.is-open span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg);
}


/* Kleinere PCs und Tablets */

@media(max-width:1250px){

    #start,
    #radios,
    #sendeplan,
    #news,
    #community{
        scroll-margin-top:150px;
    }

    .nav{
        grid-column:1 / -1;
        width:max-content;
        max-width:100%;
        justify-self:center;
    }
}


@media(max-width:900px){

    .nav{
        width:100%;
        justify-self:stretch;
        justify-content:flex-start;
        overflow-x:auto;
        scrollbar-width:none;
    }

    .nav::-webkit-scrollbar{
        display:none;
    }

    .nav a{
        flex:0 0 auto;
    }
}


/* Smartphone: Burger-Menü */

@media(max-width:650px){

    .header{
        position:sticky;
        top:0;
        grid-template-columns:minmax(0,1fr) auto auto;
        gap:9px;
    }

    .logo{
        grid-column:1;
        grid-row:1;
    }

    .rnz-clock{
        grid-column:2;
        grid-row:1;
    }

    .nav-toggle{
        grid-column:3;
        grid-row:1;
        display:flex;
        flex-shrink:0;
    }

    .nav{
        grid-column:1 / -1;
        grid-row:2;
        width:100%;
        display:none;
        align-items:stretch;
        flex-direction:column;
        gap:4px;
        padding:8px;
        overflow:visible;
        border-radius:18px;
    }

    .nav.is-open{
        display:flex;
        animation:mainNavigationOpen .22s ease;
    }

    .nav a{
        width:100%;
        min-height:42px;
        justify-content:flex-start;
        padding:12px 14px;
        border-radius:12px;
        font-size:11px;
        text-align:left;
    }

    .nav a.is-active::after{
        left:auto;
        right:14px;
        bottom:50%;
        width:6px;
        height:6px;
        transform:translateY(50%);
    }

    .listen-btn{
        grid-column:1 / -1;
        grid-row:3;
    }
}


/* Sehr schmale Smartphones */

@media(max-width:480px){

    .header{
        grid-template-columns:minmax(0,1fr) auto;
    }

    .rnz-clock{
        grid-column:1 / -1;
        grid-row:2;
        justify-self:start;
    }

    .nav-toggle{
        grid-column:2;
        grid-row:1;
    }

    .nav{
        grid-row:3;
    }

    .listen-btn{
        grid-row:4;
    }
}


@keyframes mainNavigationOpen{

    from{
        opacity:0;
        transform:translateY(-8px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}
/* =====================================================
   NAVIGATIONSKORREKTUR FÜR LAPTOPS UND KLEINERE PCs
===================================================== */

@media(min-width:901px) and (max-width:1450px){

    .header{
        grid-template-columns:
            minmax(250px,1fr)
            auto
            auto;
    }

    .logo{
        grid-column:1;
        grid-row:1;
    }

    .rnz-clock{
        grid-column:2;
        grid-row:1;
    }

    .listen-btn{
        grid-column:3;
        grid-row:1;
        width:auto;
    }

    .nav{
        grid-column:1 / -1;
        grid-row:2;
        width:max-content;
        max-width:100%;
        justify-self:center;
        overflow-x:auto;
    }
}
/* =====================================================
   DATENSCHUTZSEITE
===================================================== */

.privacy-page .legal-box {
    max-width: 1120px;
}

.privacy-page .legal-header {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 32px;
    align-items: center;
    padding-bottom: 30px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.privacy-page .legal-logo-link,
.privacy-page .legal-logo {
    display: block;
}

.privacy-page .legal-logo {
    width: 140px;
    height: 140px;
    margin: 0;
    object-fit: contain;
}

.privacy-page .legal-kicker {
    display: inline-block;
    margin-bottom: 8px;
    color: #22d3ee;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.privacy-page .legal-header h1 {
    margin: 0;
    text-align: left;
    font-size: clamp(2rem, 5vw, 3.3rem);
}

.privacy-page .legal-intro {
    max-width: 650px;
    margin: 12px 0 0;
    color: #a6adbb;
}

.privacy-notice {
    margin: 28px 0 20px;
    padding: 18px 20px;
    border: 1px solid rgba(34, 211, 238, 0.25);
    border-radius: 16px;
    background: rgba(34, 211, 238, 0.07);
    color: #d8deef;
    line-height: 1.65;
}

.privacy-notice strong {
    color: #67e8f9;
}

.privacy-content {
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 22px;
    background: rgba(5, 9, 22, 0.34);
    overflow: hidden;
}

.privacy-section {
    padding: 26px 28px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.privacy-section:last-child {
    border-bottom: 0;
}

.privacy-section h2 {
    margin: 0 0 14px;
    padding: 0;
    border: 0;
    color: #f8fafc;
    font-size: clamp(1.05rem, 2vw, 1.3rem);
    line-height: 1.35;
}

.privacy-section h2::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 10px;
    border-radius: 50%;
    background: #9d4edd;
    box-shadow: 0 0 14px rgba(157, 78, 221, 0.7);
    vertical-align: 0.12em;
}

.privacy-section p,
.privacy-section address {
    margin: 0 0 14px;
    color: #cbd5e1;
    font-size: 0.96rem;
    font-style: normal;
    line-height: 1.75;
}

.privacy-section p:last-child,
.privacy-section address:last-child {
    margin-bottom: 0;
}

.privacy-section a {
    color: #22d3ee;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.privacy-section a:hover {
    color: #67e8f9;
}

.privacy-version {
    display: inline-block;
    padding: 12px 15px;
    border-radius: 12px;
    background: rgba(157, 78, 221, 0.1);
}

.privacy-page .legal-footer {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    margin-top: 28px;
}

.privacy-page .legal-footer small {
    color: #7f8ba3;
}

/* =====================================================
   DATENSCHUTZ IN FORMULAREN
===================================================== */

.form-privacy-consent {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin: 14px 0;
    color: #cbd5e1;
    font-size: 0.88rem;
    line-height: 1.5;
}

.form-privacy-consent input {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-top: 2px;
}

.form-privacy-consent a,
.form-privacy-note a {
    color: #22d3ee;
}

.form-privacy-note {
    margin: 12px 0;
    color: #a6adbb;
    font-size: 0.82rem;
    line-height: 1.5;
}

.moderator-guardian-field {
    grid-column: 1 / -1;
    padding: 12px 14px;
    border: 1px solid rgba(250, 204, 21, 0.28);
    border-radius: 12px;
    background: rgba(250, 204, 21, 0.07);
}

/* =====================================================
   EINWILLIGUNGSFENSTER
===================================================== */

.privacy-consent-banner[hidden] {
    display: none !important;
}

.privacy-consent-banner {
    position: fixed;
    z-index: 100000;
    right: 18px;
    bottom: 18px;
    left: 18px;
    display: flex;
    justify-content: center;
    pointer-events: none;
}

.privacy-consent-content {
    width: min(760px, 100%);
    padding: 22px;
    border: 1px solid rgba(157, 78, 221, 0.45);
    border-radius: 20px;
    background: rgba(8, 12, 27, 0.98);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.55);
    color: #f8fafc;
    pointer-events: auto;
}

.privacy-consent-kicker {
    color: #22d3ee;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.privacy-consent-content h2 {
    margin: 7px 0 8px;
    font-size: 1.3rem;
}

.privacy-consent-content p {
    margin: 0 0 8px;
    color: #cbd5e1;
    line-height: 1.55;
}

.privacy-consent-content > a {
    color: #22d3ee;
    font-size: 0.88rem;
}

.privacy-consent-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
}

.privacy-consent-actions button {
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 12px;
    color: #ffffff;
    font-weight: 800;
    cursor: pointer;
}

.privacy-consent-reject {
    background: rgba(255, 255, 255, 0.06);
}

.privacy-consent-reject:hover {
    background: rgba(255, 255, 255, 0.12);
}

.privacy-consent-accept {
    background: linear-gradient(
        135deg,
        #9d4edd,
        #5a189a
    );
}

.privacy-consent-accept:hover {
    box-shadow: 0 0 22px rgba(157, 78, 221, 0.4);
}

/* =====================================================
   DATENSCHUTZ-EINSTELLUNGEN IM FOOTER
===================================================== */

.footer-privacy-settings {
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.footer-privacy-settings:hover {
    color: #22d3ee;
}

/* =====================================================
   MOBIL
===================================================== */

@media (max-width: 700px) {
    .privacy-page .legal-header {
        grid-template-columns: 1fr;
        gap: 16px;
        text-align: center;
    }

    .privacy-page .legal-logo {
        width: 105px;
        height: 105px;
        margin: 0 auto;
    }

    .privacy-page .legal-header h1 {
        text-align: center;
    }

    .privacy-page .legal-intro {
        margin-right: auto;
        margin-left: auto;
    }

    .privacy-section {
        padding: 21px 18px;
    }

    .privacy-page .legal-footer,
    .privacy-consent-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .privacy-page .legal-footer {
        text-align: center;
    }

    .privacy-consent-banner {
        right: 10px;
        bottom: 10px;
        left: 10px;
    }

    .privacy-consent-content {
        max-height: calc(100vh - 20px);
        overflow-y: auto;
    }

    .privacy-consent-actions button {
        width: 100%;
    }
}
/* =====================================================
   VERANSTALTUNGEN – MEHRTÄGIGE ZEITRÄUME
===================================================== */

.event-schedule-editor{
    grid-column:1 / -1;
    padding:18px;
    border:1px solid rgba(157,78,221,.30);
    border-radius:17px;
    background:
        linear-gradient(
            145deg,
            rgba(157,78,221,.08),
            rgba(2,6,23,.55)
        );
}

.event-schedule-editor-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
    margin-bottom:16px;
}

.event-schedule-editor-head > div{
    min-width:0;
}

.event-schedule-editor-head strong{
    display:block;
    color:#d8b4fe;
    font-size:15px;
    font-weight:900;
}

.event-schedule-editor-head small{
    display:block;
    margin-top:6px;
    color:var(--text-muted);
    font-size:12px;
    font-weight:500;
    line-height:1.5;
}

.event-schedule-add,
.event-schedule-remove{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    min-height:39px;
    padding:9px 14px;
    border-radius:10px;
    color:white;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease;
}

.event-schedule-add{
    flex-shrink:0;
    border:1px solid rgba(34,211,238,.38);
    background:rgba(34,211,238,.12);
}

.event-schedule-add:hover{
    transform:translateY(-1px);
    border-color:rgba(34,211,238,.70);
    background:rgba(34,211,238,.20);
}

.event-schedule-list{
    display:grid;
    gap:13px;
}

.event-schedule-row{
    padding:15px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:14px;
    background:rgba(2,6,23,.58);
}

.event-schedule-row-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:13px;
}

.event-schedule-row-head strong{
    color:var(--text-soft);
    font-size:13px;
    font-weight:900;
}

.event-schedule-remove{
    min-height:34px;
    padding:7px 11px;
    border:1px solid rgba(248,113,113,.35);
    background:rgba(185,28,28,.16);
    color:#fca5a5;
}

.event-schedule-remove:hover{
    transform:translateY(-1px);
    border-color:rgba(248,113,113,.65);
    background:rgba(185,28,28,.28);
}

.event-schedule-remove[hidden]{
    display:none;
}

.event-schedule-row-fields{
    display:grid;
    grid-template-columns:
        minmax(160px,1.25fr)
        minmax(120px,1fr)
        minmax(120px,1fr);
    gap:13px;
}

.event-schedule-row-fields label{
    margin:0 !important;
}

.event-schedule-row-fields input{
    margin:0 !important;
}

.event-schedule-help{
    display:block;
    margin-top:13px;
    color:var(--text-muted);
    font-size:12px;
    font-weight:500;
    line-height:1.5;
}


/* ÖFFENTLICHE TERMINANZEIGE */

.event-public-schedule{
    display:grid;
    gap:8px;
    margin:12px 0;
}

.event-public-schedule-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    padding:10px 12px;
    border:1px solid rgba(157,78,221,.20);
    border-radius:11px;
    background:rgba(157,78,221,.07);
}

.event-public-schedule-row span{
    min-width:0;
    color:var(--text-soft);
    font-size:13px;
    line-height:1.4;
}

.event-public-schedule-row strong{
    color:#c4b5fd;
    font-size:13px;
    line-height:1.4;
    text-align:right;
}

.event-public-schedule.is-compact{
    gap:6px;
    margin:3px 0;
}

.event-public-schedule.is-compact
.event-public-schedule-row{
    padding:8px 10px;
}

.event-public-schedule.is-compact
.event-public-schedule-row span,
.event-public-schedule.is-compact
.event-public-schedule-row strong{
    font-size:12px;
}

.event-public-schedule-detail{
    margin:18px 0 13px;
    padding:16px;
    border:1px solid var(--border);
    border-radius:14px;
    background:rgba(255,255,255,.03);
}

.event-public-schedule-detail h4{
    margin:0 0 12px;
    color:#c4b5fd;
    font-size:15px;
}

.event-public-schedule-detail
.event-public-schedule{
    margin:0;
}

.event-public-facts.is-single{
    grid-template-columns:1fr;
}


/* SMARTPHONE */

@media(max-width:650px){

    .event-schedule-editor{
        padding:14px;
    }

    .event-schedule-editor-head{
        flex-direction:column;
        align-items:stretch;
    }

    .event-schedule-add{
        width:100%;
    }

    .event-schedule-row-fields{
        grid-template-columns:1fr;
    }

    .event-schedule-row-head{
        align-items:flex-start;
    }

    .event-public-schedule-row{
        grid-template-columns:1fr;
        gap:5px;
    }

    .event-public-schedule-row strong{
        text-align:left;
    }
}
/* =====================================================
   UMFRAGEN – MEHRERE AKTIVE UMFRAGEN
===================================================== */

.survey-active-overview{
    margin-top:20px;
}

.survey-active-intro{
    margin:0 0 18px;
    color:var(--text-muted);
    line-height:1.5;
}

.survey-active-list{
    display:grid;
    grid-template-columns:
        repeat(auto-fit,minmax(230px,1fr));
    gap:15px;
}

.survey-active-card{
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:18px;
    border:1px solid var(--border-primary);
    border-radius:16px;
    background:
        linear-gradient(
            145deg,
            rgba(157,78,221,.11),
            rgba(11,18,32,.96)
        );
    box-shadow:var(--shadow-card);
}

.survey-active-card.is-voted{
    border-color:rgba(34,197,94,.38);
    background:
        linear-gradient(
            145deg,
            rgba(34,197,94,.08),
            rgba(11,18,32,.96)
        );
}

.survey-active-card-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
}

.survey-active-card-head span{
    color:#c4b5fd;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.7px;
}

.survey-active-card-head strong{
    color:var(--success);
    font-size:12px;
    white-space:nowrap;
}

.survey-active-card h3{
    margin:0 0 11px;
    color:var(--text-main);
    font-size:18px;
    line-height:1.4;
}

.survey-active-card p{
    margin:0 0 18px;
    color:var(--text-muted);
    font-size:13px;
}

.project-request-box
.survey-active-card
.survey-submit-button{
    width:100%;
    margin-top:auto;
}

.survey-overview-back{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    min-height:40px;
    margin-bottom:18px;
    padding:9px 14px;
    border:1px solid var(--border-primary);
    border-radius:11px;
    background:rgba(157,78,221,.14);
    color:white;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
    transition:
        transform .2s ease,
        background .2s ease;
}

.survey-overview-back:hover{
    transform:translateY(-1px);
    background:rgba(157,78,221,.24);
}


/* SMARTPHONE */

@media(max-width:650px){

    .survey-active-list{
        grid-template-columns:1fr;
    }

    .survey-active-card{
        padding:16px;
    }

    .survey-active-card-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .survey-overview-back{
        width:100%;
    }
}
/* =====================================================
   VERANSTALTUNG – BESCHREIBUNG
===================================================== */

.event-public-description{
    margin-top:16px;
    padding:19px;
    border:1px solid var(--border);
    border-radius:14px;
    background:
        linear-gradient(
            145deg,
            rgba(157,78,221,.07),
            rgba(255,255,255,.025)
        );
}

.event-public-description h4{
    margin:0 0 13px;
    color:#c4b5fd;
    font-size:15px;
    font-weight:900;
}

.event-public-description p{
    margin:0;
    color:var(--text-soft);
    font-size:15px;
    line-height:1.7;
}

@media(max-width:650px){

    .event-public-description{
        padding:16px;
    }

    .event-public-description p{
        font-size:14px;
        line-height:1.65;
    }
}
/* =====================================================
   NEUE UMFRAGEN – BADGE UND HINWEIS
===================================================== */

.community-survey-card{
    position:relative;
}

.community-survey-card.has-new-survey{
    border-color:rgba(34,211,238,.55);
    box-shadow:
        0 18px 38px rgba(0,0,0,.28),
        0 0 25px rgba(34,211,238,.15);
}

.survey-new-badge{
    position:absolute;
    top:13px;
    right:13px;
    z-index:2;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    min-height:27px;
    padding:5px 10px;
    border:1px solid rgba(34,211,238,.55);
    border-radius:999px;
    background:
        linear-gradient(
            135deg,
            #0891b2,
            #7e22ce
        );
    color:white;
    font-size:10px;
    font-weight:900;
    letter-spacing:.7px;
    box-shadow:
        0 0 18px rgba(34,211,238,.35);
    animation:
        surveyBadgePulse 2s
        ease-in-out infinite;
}

.survey-new-badge[hidden]{
    display:none;
}

@keyframes surveyBadgePulse{

    0%,
    100%{
        transform:scale(1);
        box-shadow:
            0 0 14px rgba(34,211,238,.28);
    }

    50%{
        transform:scale(1.05);
        box-shadow:
            0 0 25px rgba(34,211,238,.50);
    }
}


/* EINMALIGER HINWEIS */

.new-survey-notice{
    position:fixed;
    right:20px;
    bottom:20px;
    z-index:2500;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:14px;
    width:min(390px,calc(100vw - 30px));
    padding:18px;
    border:1px solid rgba(34,211,238,.45);
    border-radius:18px;
    background:
        radial-gradient(
            circle at top right,
            rgba(157,78,221,.24),
            transparent 40%
        ),
        rgba(8,13,25,.98);
    box-shadow:
        0 22px 55px rgba(0,0,0,.50),
        0 0 28px rgba(34,211,238,.15);
    opacity:0;
    transform:translateY(22px);
    pointer-events:none;
    transition:
        opacity .25s ease,
        transform .25s ease;
}

.new-survey-notice.is-visible{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
}

.new-survey-notice-icon{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    border-radius:14px;
    background:rgba(157,78,221,.18);
    font-size:25px;
}

.new-survey-notice strong{
    display:block;
    padding-right:25px;
    color:white;
    font-size:16px;
    line-height:1.35;
}

.new-survey-notice p{
    margin:6px 0 13px;
    color:var(--text-muted);
    font-size:13px;
    line-height:1.5;
}

.new-survey-notice-close{
    position:absolute;
    top:9px;
    right:10px;
    display:grid;
    place-items:center;
    width:31px;
    height:31px;
    padding:0;
    border:none;
    border-radius:50%;
    background:transparent;
    color:#94a3b8;
    font-size:21px;
    cursor:pointer;
}

.new-survey-notice-close:hover{
    background:rgba(255,255,255,.08);
    color:white;
}

.new-survey-notice-action{
    min-height:39px;
    padding:9px 15px;
    border:none;
    border-radius:10px;
    background:
        linear-gradient(
            135deg,
            var(--primary),
            var(--primary-dark)
        );
    color:white;
    font-size:13px;
    font-weight:900;
    cursor:pointer;
    box-shadow:var(--shadow-glow);
}


/* SMARTPHONE */

@media(max-width:650px){

    .new-survey-notice{
        right:12px;
        bottom:12px;
        left:12px;
        width:auto;
    }

    .survey-new-badge{
        top:11px;
        right:11px;
    }
}

@media(prefers-reduced-motion:reduce){

    .survey-new-badge{
        animation:none;
    }

    .new-survey-notice{
        transition:none;
    }
}
/* =====================================================
   BESUCHERVORSCHLÄGE
===================================================== */

.suggestion-news-card {
    display: flex;
    flex-direction: column;
}

.suggestion-news-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
    padding-top: 0;
}
.suggestion-news-actions button {
    min-height: 34px;
    padding: 7px 12px;
    font-size: 0.82rem;
    white-space: nowrap;
}

.suggestion-news-actions button,
.suggestion-form-submit {
    min-height: 42px;
    padding: 10px 18px;
    border: 1px solid transparent;
    border-radius: 999px;
    color: #ffffff;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
    transition:
        transform 0.2s ease,
        border-color 0.2s ease,
        background 0.2s ease;
}

.suggestion-submit-button,
.suggestion-form-submit {
    background:
        linear-gradient(
            135deg,
            #a33de0,
            #7118ad
        );
}

.suggestion-list-button {
    border-color: rgba(177, 84, 255, 0.55) !important;
    background: rgba(111, 40, 166, 0.16);
}

.suggestion-news-actions button:hover,
.suggestion-form-submit:hover {
    transform: translateY(-2px);
}

.suggestion-news-actions button:disabled,
.suggestion-form-submit:disabled {
    opacity: 0.6;
    cursor: wait;
    transform: none;
}

.suggestion-submit-box {
    width: min(680px, calc(100% - 24px));
}

.suggestion-modal-label {
    display: inline-block;
    margin-bottom: 8px;
    color: #cc73ff;
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.12em;
}

#suggestion-form {
    display: grid;
    gap: 12px;
    margin-top: 22px;
}

#suggestion-form label {
    color: #eadcff;
    font-weight: 800;
}

#suggestion-text {
    width: 100%;
    min-height: 190px;
    padding: 16px;
    box-sizing: border-box;
    border: 1px solid rgba(164, 93, 224, 0.5);
    border-radius: 14px;
    outline: none;
    resize: vertical;
    background: #0d1729;
    color: #ffffff;
    font: inherit;
    line-height: 1.55;
}

#suggestion-text:focus {
    border-color: #bd66ff;
    box-shadow: 0 0 0 3px rgba(176, 70, 255, 0.14);
}

.suggestion-character-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: #93a4c3;
}

.suggestion-botcheck {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.suggestion-form-message,
.suggestion-admin-message,
.suggestion-vote-message {
    min-height: 20px;
    margin: 0;
    color: #adbbd2;
}

.suggestion-form-message.is-success,
.suggestion-admin-message.is-success {
    color: #65e6a5;
}

.suggestion-form-message.is-error,
.suggestion-admin-message.is-error,
.suggestion-public-error {
    color: #ff8f9c;
}

.suggestion-form-message.is-warning {
    color: #ffd46a;
}

.suggestion-form-message.is-loading,
.suggestion-admin-message.is-loading {
    color: #c88aff;
}

.public-suggestions-box {
    width: min(880px, calc(100% - 24px));
    max-height: 90vh;
    overflow-y: auto;
}

.public-suggestions-list {
    display: grid;
    gap: 14px;
    margin-top: 22px;
}

.public-suggestion-card {
    padding: 18px;
    border: 1px solid rgba(154, 94, 216, 0.38);
    border-radius: 16px;
    background:
        linear-gradient(
            145deg,
            rgba(33, 39, 62, 0.96),
            rgba(20, 26, 44, 0.98)
        );
}

.public-suggestion-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.public-suggestion-head span {
    color: #ce7bff;
    font-weight: 900;
}

.public-suggestion-head time {
    color: #9daac1;
    font-size: 0.85rem;
}

.public-suggestion-text,
.suggestion-admin-text {
    margin: 0;
    color: #f4f6ff;
    line-height: 1.6;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.public-suggestion-votes {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.suggestion-vote-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    border: 1px solid rgba(145, 159, 188, 0.35);
    border-radius: 999px;
    background: rgba(17, 25, 43, 0.78);
    color: #ffffff;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.suggestion-vote-button.good.is-selected {
    border-color: #47d998;
    background: rgba(35, 179, 116, 0.2);
    color: #7ff0b8;
}

.suggestion-vote-button.bad.is-selected {
    border-color: #ff7183;
    background: rgba(220, 65, 87, 0.2);
    color: #ff9eaa;
}

.suggestion-vote-button:disabled {
    opacity: 0.6;
    cursor: wait;
}

.suggestion-vote-message {
    margin-top: 10px;
    font-size: 0.85rem;
}

.suggestion-public-empty,
.suggestion-admin-empty {
    display: grid;
    justify-items: center;
    gap: 10px;
    padding: 30px 18px;
    border: 1px dashed rgba(159, 98, 215, 0.45);
    border-radius: 16px;
    text-align: center;
    color: #afbad0;
}

.suggestion-public-empty > span,
.suggestion-admin-empty > span {
    font-size: 2rem;
}

.suggestion-public-empty button {
    padding: 10px 16px;
    border: 0;
    border-radius: 999px;
    background: #8e2bc7;
    color: #ffffff;
    font-weight: 800;
    cursor: pointer;
}


/* =====================================================
   VORSCHLÄGE – ADMIN
===================================================== */

.admin-nav-button {
    position: relative;
}

.admin-suggestion-badge {
    min-width: 24px;
    height: 24px;
    padding: 0 7px;
    box-sizing: border-box;
    border: 2px solid #15172a;
    border-radius: 999px;
    background: #e93764;
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 900;
    line-height: 20px;
    text-align: center;
    box-shadow: 0 0 16px rgba(233, 55, 100, 0.55);
}

.suggestion-admin {
    display: grid;
    gap: 18px;
}

.suggestion-admin-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 16px;
}

.suggestion-admin-head > div > span {
    color: #c56fff;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.12em;
}

.suggestion-admin-head h3 {
    margin: 7px 0;
}

.suggestion-admin-head p {
    margin: 0;
    color: #aab5ca;
}

#suggestion-admin-total {
    padding: 8px 13px;
    border: 1px solid rgba(168, 91, 225, 0.4);
    border-radius: 999px;
    background: rgba(112, 42, 159, 0.16);
    color: #dfb1ff;
    font-size: 0.82rem;
}

.suggestion-admin-panel {
    padding: 18px;
    border: 1px solid rgba(142, 98, 190, 0.36);
    border-radius: 18px;
    background: rgba(15, 23, 40, 0.72);
}

.suggestion-admin-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
}

.suggestion-admin-toolbar label {
    font-weight: 800;
}

.suggestion-admin-toolbar select,
.suggestion-admin-toolbar button {
    min-height: 40px;
    padding: 8px 13px;
    border: 1px solid rgba(147, 93, 200, 0.45);
    border-radius: 10px;
    background: #111a2d;
    color: #ffffff;
    font: inherit;
}

.suggestion-admin-toolbar button {
    cursor: pointer;
    font-weight: 800;
}

.suggestion-admin-list {
    display: grid;
    gap: 14px;
    margin-top: 16px;
}

.suggestion-admin-card {
    padding: 17px;
    border: 1px solid rgba(126, 143, 175, 0.3);
    border-radius: 15px;
    background: #111a2d;
}

.suggestion-admin-card.is-new {
    border-color: #bc61ff;
    box-shadow:
        inset 4px 0 0 #af45ef,
        0 0 20px rgba(165, 61, 225, 0.12);
}

.suggestion-admin-card-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
}

.suggestion-admin-card-head > div {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.suggestion-admin-card-head time {
    color: #98a8c1;
    font-size: 0.82rem;
}

.suggestion-admin-new {
    padding: 4px 8px;
    border-radius: 999px;
    background: #e93764;
    color: #ffffff;
    font-size: 0.65rem;
    font-weight: 900;
}

.suggestion-admin-status {
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 900;
}

.suggestion-admin-status.status-pending {
    background: rgba(244, 178, 65, 0.17);
    color: #ffd06c;
}

.suggestion-admin-status.status-approved {
    background: rgba(49, 201, 130, 0.17);
    color: #73efb1;
}

.suggestion-admin-status.status-rejected {
    background: rgba(230, 70, 91, 0.17);
    color: #ff98a6;
}

.suggestion-admin-votes {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 15px;
    color: #b8c3d7;
}

.suggestion-admin-votes span {
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.05);
}

.suggestion-admin-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 16px;
}

.suggestion-admin-actions button {
    min-height: 38px;
    padding: 8px 13px;
    border: 1px solid transparent;
    border-radius: 9px;
    color: #ffffff;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.suggestion-admin-approve {
    background: #17845a;
}

.suggestion-admin-reject {
    background: #9d6920;
}

.suggestion-admin-delete {
    background: #a83245;
}

.suggestion-admin-actions button:disabled {
    opacity: 0.55;
    cursor: wait;
}

@media (max-width: 700px) {
    .public-suggestion-votes,
    .suggestion-admin-actions {
        flex-direction: column;
    }

    .suggestion-vote-button,
.suggestion-admin-actions button {
    width: 100%;
    justify-content: center;
}

    .suggestion-character-row,
    .public-suggestion-head,
    .suggestion-admin-card-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .suggestion-admin-panel {
        padding: 13px;
    }

    .suggestion-admin-toolbar {
        align-items: stretch;
        flex-direction: column;
    }
}
/* Vorschlagskarte sauber ausrichten */

.news-grid article.suggestion-news-card {
    height: 100%;
    align-self: stretch;
}

.news-grid .suggestion-news-actions {
    gap: 8px;
    margin-top: auto;
    padding: 4px 12px 14px;
}

.news-grid .suggestion-news-actions button {
    min-height: 30px;
    padding: 6px 10px;
    font-size: 12px;
    line-height: 1.1;
    white-space: nowrap;
}
.suggestion-modal-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
}

.suggestion-modal-icon {
    display: grid;
    place-items: center;
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    border: 1px solid rgba(202, 105, 255, 0.5);
    border-radius: 15px;
    background:
        radial-gradient(
            circle,
            rgba(184, 79, 240, 0.34),
            rgba(91, 33, 128, 0.13)
        );
    font-size: 25px;
    box-shadow: 0 0 22px rgba(172, 67, 224, 0.18);
}

.suggestion-modal-header .suggestion-modal-label {
    margin: 0;
}

.suggestion-modal-header h2 {
    margin: 3px 0 0;
    line-height: 1.15;
}

.suggestion-public-empty > span {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(164, 64, 221, 0.15);
    font-size: 25px;
}

.suggestion-list-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.public-suggestion-new-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 19px;
    padding: 0 6px;
    border-radius: 999px;
    background: #ef3f70;
    color: #ffffff;
    font-size: 9px;
    font-weight: 900;
    box-shadow: 0 0 12px rgba(239, 63, 112, 0.55);
}

.public-suggestion-new-badge[hidden] {
    display: none !important;
}

.suggestion-list-button.has-new-suggestion {
    border-color: #df62ff !important;
    box-shadow: 0 0 18px rgba(191, 72, 235, 0.28);
}

.new-suggestion-notice
.new-survey-notice-icon {
    background: rgba(192, 72, 238, 0.2);
}

.rn-request-overview{
    margin-top: 24px;
    padding: 22px;
    border-radius: 18px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
}

.rn-request-overview-head{
    margin-bottom: 18px;
}

.rn-request-overview-head small{
    opacity: 0.65;
}

.rn-request-overview-head h4{
    margin: 5px 0 0;
    font-size: 20px;
}

#rn-request-history{
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rn-request-item{
    padding: 16px;
    border-radius: 14px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
}

.rn-request-item-top{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 15px;
}

.rn-request-item-top small{
    display: block;
    opacity: 0.65;
    margin-bottom: 5px;
}

.rn-request-item-top h5{
    margin: 0;
    font-size: 17px;
}

.rn-request-state{
    flex-shrink: 0;
    padding: 7px 11px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
}

.rn-request-state.processing{
    background: rgba(255,193,7,0.15);
    border: 1px solid rgba(255,193,7,0.35);
}

.rn-request-state.accepted{
    background: rgba(40,167,69,0.15);
    border: 1px solid rgba(40,167,69,0.35);
}

.rn-request-state.rejected{
    background: rgba(220,53,69,0.15);
    border: 1px solid rgba(220,53,69,0.35);
}

.rn-request-details{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
    font-size: 14px;
    opacity: 0.8;
}

.rn-request-details span{
    padding: 5px 9px;
    border-radius: 8px;
    background: rgba(255,255,255,0.05);
}

.rn-request-delete{
    margin-top: 14px;
    padding: 8px 11px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 9px;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font-size: 13px;
    transition: 0.2s ease;
}

.rn-request-delete:hover{
    background: rgba(220,53,69,0.15);
    border-color: rgba(220,53,69,0.35);
}

@media(max-width: 600px){

    .rn-request-item-top{
        flex-direction: column;
    }

    .rn-request-state{
        align-self: flex-start;
    }
}
/* ==================================================
   RADIOS – PROFESSIONELLES KARTENDESIGN
================================================== */

.radios-box{
    background:
        radial-gradient(circle at top right, rgba(157,78,221,.10), transparent 36%),
        linear-gradient(180deg, rgba(17,21,34,.98), rgba(10,13,22,.98));
    border:1px solid rgba(255,255,255,.08);
}

.radios-box .section-head{
    margin-bottom:20px;
    padding-bottom:15px;
    border-bottom:1px solid rgba(255,255,255,.07);
}

.radios-box .section-head h2{
    display:flex;
    align-items:center;
    gap:11px;
    font-size:clamp(20px,2vw,24px);
    letter-spacing:.04em;
}

.radios-box .section-head h2::before{
    content:"";
    width:4px;
    height:24px;
    flex-shrink:0;
    border-radius:999px;
    background:linear-gradient(180deg,#a855f7,#ec4899);
    box-shadow:0 0 16px rgba(168,85,247,.45);
}

.radios-box .radio-list{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.radios-box .station-item{
    --station-rgb:157,78,221;

    position:relative;
    min-width:0;
    min-height:116px;
    padding:18px 62px 18px 18px;
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    align-items:center;
    gap:15px;
    overflow:hidden;
    text-align:left;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    background:
        linear-gradient(135deg,rgba(var(--station-rgb),.14),transparent 58%),
        rgba(13,18,31,.94);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.04),
        0 8px 22px rgba(0,0,0,.16);
    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease,
        background .22s ease;
}

.radios-box .station-item:nth-child(1){ --station-rgb:168,85,247; }
.radios-box .station-item:nth-child(2){ --station-rgb:59,130,246; }
.radios-box .station-item:nth-child(3){ --station-rgb:236,72,153; }
.radios-box .station-item:nth-child(4){ --station-rgb:239,68,68; }
.radios-box .station-item:nth-child(5){ --station-rgb:245,158,11; }
.radios-box .station-item:nth-child(6){ --station-rgb:6,182,212; }

.radios-box .station-item::before{
    content:"";
    position:absolute;
    top:0;
    left:18px;
    right:18px;
    height:2px;
    border-radius:999px;
    background:linear-gradient(
        90deg,
        rgb(var(--station-rgb)),
        transparent
    );
    opacity:.75;
}

.radios-box .station-item::after{
    content:"▶";
    position:absolute;
    top:50%;
    right:17px;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    transform:translateY(-50%);
    border:1px solid rgba(var(--station-rgb),.38);
    border-radius:50%;
    background:rgba(var(--station-rgb),.13);
    color:rgb(var(--station-rgb));
    font-family:Arial,sans-serif;
    font-size:14px;
    box-shadow:0 0 18px rgba(var(--station-rgb),.10);
    transition:.22s ease;
}

.radios-box .station-item:hover,
.radios-box .station-item.active-station{
    transform:translateY(-3px);
    border-color:rgba(var(--station-rgb),.58);
    background:
        linear-gradient(135deg,rgba(var(--station-rgb),.22),transparent 62%),
        rgba(13,18,31,.98);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.06),
        0 15px 32px rgba(0,0,0,.28),
        0 0 22px rgba(var(--station-rgb),.10);
}

.radios-box .station-item:hover::after,
.radios-box .station-item.active-station::after{
    background:rgb(var(--station-rgb));
    color:#ffffff;
    box-shadow:0 0 22px rgba(var(--station-rgb),.35);
}

.radios-box .station-item > span{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    margin:0;
    border:1px solid rgba(var(--station-rgb),.34);
    border-radius:16px;
    background:
        linear-gradient(145deg,rgba(var(--station-rgb),.26),rgba(var(--station-rgb),.08));
    font-size:28px;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.07),
        0 8px 20px rgba(0,0,0,.20);
}

.radios-box .station-item p{
    width:100%;
    margin:0;
    color:var(--text-muted);
    font-size:12.5px;
    line-height:1.45;
    overflow-wrap:normal;
}

.radios-box .station-item strong{
    display:block;
    margin-bottom:5px;
    color:#ffffff;
    font-size:15.5px;
    line-height:1.25;
    letter-spacing:-.01em;
}

.radios-box .station-item p span{
    color:#aeb9cf;
    font-size:12.5px;
}

@media(max-width:1050px){
    .radios-box .radio-list{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:700px){
    .radios-box .radio-list{
        grid-template-columns:1fr;
        gap:10px;
    }

    .radios-box .station-item{
        min-height:88px;
        padding:13px 56px 13px 13px;
        grid-template-columns:48px minmax(0,1fr);
        gap:12px;
    }

    .radios-box .station-item > span{
        width:48px;
        height:48px;
        border-radius:14px;
        font-size:24px;
    }

    .radios-box .station-item::after{
        right:13px;
        width:34px;
        height:34px;
    }
}
.rn-payment-status-card {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 18px 0;
    padding: 18px 20px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 16px;
    background: rgba(15, 23, 42, 0.65);
}

#rn-payment-status-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    border-radius: 14px;
    font-size: 24px;
    background: rgba(148, 163, 184, 0.12);
}

.rn-payment-status-card small {
    display: block;
    margin-bottom: 4px;
    color: #94a3b8;
}

.rn-payment-status-card strong {
    display: block;
    color: #f8fafc;
    font-size: 17px;
}

.rn-payment-status-card p {
    margin: 5px 0 0;
    color: #cbd5e1;
}

.rn-payment-status-card.is-open {
    border-color: rgba(245, 158, 11, 0.55);
    background: rgba(245, 158, 11, 0.1);
}

.rn-payment-status-card.is-paid {
    border-color: rgba(34, 197, 94, 0.5);
    background: rgba(34, 197, 94, 0.1);
}

.rn-payment-status-card.is-free {
    border-color: rgba(139, 92, 246, 0.5);
    background: rgba(139, 92, 246, 0.1);
}

@media (max-width: 520px) {
    .rn-payment-status-card {
        align-items: flex-start;
        padding: 16px;
    }
}
/* =====================================================
   ÖFFENTLICHE WUNSCHSENDUNG
===================================================== */

.music-show-news-card{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:90px minmax(0,1fr) auto;
    align-items:center;
    gap:22px;
    min-height:150px;
    padding:22px;
    border-color:rgba(34,211,238,.30) !important;
    background:
        radial-gradient(
            circle at top right,
            rgba(34,211,238,.13),
            transparent 38%
        ),
        linear-gradient(
            135deg,
            rgba(157,78,221,.14),
            rgba(10,16,30,.98)
        ) !important;
}

.music-show-news-card[hidden]{
    display:none !important;
}

.music-show-news-icon{
    width:76px;
    height:76px;
    display:grid;
    place-items:center;
    border:1px solid rgba(34,211,238,.30);
    border-radius:22px;
    background:
        linear-gradient(
            135deg,
            rgba(157,78,221,.24),
            rgba(34,211,238,.13)
        );
    font-size:35px;
    box-shadow:0 0 24px rgba(157,78,221,.18);
}

.music-show-news-content{
    min-width:0;
}

.news-grid .music-show-news-content small{
    padding:0;
    color:var(--accent);
    letter-spacing:1px;
}

.news-grid .music-show-news-content h3{
    margin:7px 0 14px;
    padding:0;
    color:#fff;
    font-size:21px;
}

.music-show-news-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.music-show-news-meta span{
    padding:7px 10px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:999px;
    background:rgba(255,255,255,.045);
    color:#cbd5e1;
    font-size:11px;
    font-weight:700;
}

.music-show-news-button{
    min-width:160px;
    min-height:44px;
    padding:11px 18px;
    border:none;
    border-radius:999px;
    background:
        linear-gradient(
            135deg,
            var(--primary),
            var(--primary-dark)
        );
    color:#fff;
    font-weight:900;
    cursor:pointer;
    box-shadow:var(--shadow-glow);
    transition:.2s;
}

.music-show-news-button:hover{
    transform:translateY(-2px);
}


/* Playlist im Popup */

.public-music-show-detail{
    margin-top:20px;
}

.public-music-show-detail-info{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-bottom:20px;
}

.public-music-show-detail-info span{
    padding:8px 11px;
    border:1px solid var(--border);
    border-radius:999px;
    background:rgba(157,78,221,.10);
    color:#d8b4fe;
    font-size:12px;
    font-weight:800;
}

.public-music-show-list{
    display:grid;
    gap:9px;
    padding:0;
    list-style:none;
}

.public-music-show-list li{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border:1px solid var(--border);
    border-radius:13px;
    background:rgba(255,255,255,.04);
}

.public-music-show-list-number{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:rgba(157,78,221,.18);
    color:#d8b4fe;
    font-weight:900;
}

.public-music-show-list strong,
.public-music-show-list small{
    display:block;
}

.public-music-show-list strong{
    color:#fff;
}

.public-music-show-list small{
    margin-top:3px;
    color:var(--text-muted);
}
/* =====================================================
   ÖFFENTLICHE WUNSCHSENDUNG
===================================================== */

.music-show-section{
    grid-column:1 / -1;
    position:relative;
    overflow:hidden;
    padding:26px;
    border-color:rgba(157,78,221,.32);
    background:
        radial-gradient(
            circle at top right,
            rgba(34,211,238,.12),
            transparent 35%
        ),
        radial-gradient(
            circle at bottom left,
            rgba(157,78,221,.18),
            transparent 40%
        ),
        linear-gradient(
            135deg,
            rgba(15,20,38,.98),
            rgba(7,11,22,.98)
        );
}

.music-show-section[hidden]{
    display:none !important;
}

.music-show-section::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:3px;
    background:
        linear-gradient(
            90deg,
            var(--primary),
            #ec4899,
            var(--accent)
        );
}

.music-show-section-head{
    position:relative;
    z-index:1;
    margin-bottom:20px;
    padding-bottom:18px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.music-show-section-label{
    display:inline-flex;
    margin-bottom:9px;
    padding:6px 11px;
    border:1px solid rgba(34,211,238,.32);
    border-radius:999px;
    background:rgba(34,211,238,.08);
    color:var(--accent);
    font-size:10px;
    font-weight:900;
    letter-spacing:1.2px;
}

.music-show-section-head h2{
    margin:0 0 7px;
    color:#ffffff;
    font-size:clamp(22px,2.4vw,32px);
    line-height:1.2;
}

.music-show-section-head p{
    margin:0;
    color:var(--text-muted);
    font-size:13px;
    line-height:1.5;
}


/* WUNSCHSENDUNGS-KARTE */

.music-show-news-card{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:
        84px
        minmax(0,1fr)
        auto;
    align-items:center;
    gap:22px;
    min-height:145px;
    padding:22px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:20px;
    background:
        linear-gradient(
            135deg,
            rgba(157,78,221,.12),
            rgba(34,211,238,.045)
        ),
        rgba(5,10,20,.72);
    box-shadow:
        0 15px 35px rgba(0,0,0,.25),
        inset 0 1px 0 rgba(255,255,255,.04);
}

.music-show-news-icon{
    width:74px;
    height:74px;
    display:grid;
    place-items:center;
    border:1px solid rgba(157,78,221,.38);
    border-radius:21px;
    background:
        linear-gradient(
            145deg,
            rgba(157,78,221,.28),
            rgba(34,211,238,.10)
        );
    font-size:34px;
    box-shadow:
        0 10px 28px rgba(0,0,0,.25),
        0 0 22px rgba(157,78,221,.17);
}

.music-show-news-content{
    min-width:0;
}

.music-show-news-content small{
    display:block;
    margin-bottom:7px;
    padding:0;
    color:var(--accent);
    font-size:10px;
    font-weight:900;
    letter-spacing:1.1px;
}

.music-show-news-content h3{
    margin:0 0 15px;
    padding:0;
    color:#ffffff;
    font-size:clamp(19px,2vw,26px);
    line-height:1.25;
}

.music-show-news-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.music-show-news-meta span{
    display:inline-flex;
    align-items:center;
    min-height:31px;
    padding:7px 11px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:999px;
    background:rgba(255,255,255,.045);
    color:#cbd5e1;
    font-size:11px;
    font-weight:800;
}

.music-show-news-button{
    min-width:165px;
    min-height:45px;
    padding:11px 19px;
    border:none;
    border-radius:999px;
    background:
        linear-gradient(
            135deg,
            var(--primary),
            var(--primary-dark)
        );
    color:#ffffff;
    font-weight:900;
    cursor:pointer;
    white-space:nowrap;
    box-shadow:var(--shadow-glow);
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.music-show-news-button:hover{
    transform:translateY(-2px);
    box-shadow:
        0 12px 30px rgba(157,78,221,.40);
}


/* =====================================================
   WUNSCHSENDUNG – PLAYLIST POPUP
===================================================== */

.public-music-show-detail{
    margin-top:20px;
}

.public-music-show-detail-info{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-bottom:20px;
}

.public-music-show-detail-info span{
    padding:8px 11px;
    border:1px solid var(--border);
    border-radius:999px;
    background:rgba(157,78,221,.10);
    color:#d8b4fe;
    font-size:12px;
    font-weight:800;
}

.public-music-show-list{
    display:grid;
    gap:9px;
    margin:0;
    padding:0;
    list-style:none;
}

.public-music-show-list li{
    display:grid;
    grid-template-columns:
        38px
        minmax(0,1fr);
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border:1px solid var(--border);
    border-radius:13px;
    background:rgba(255,255,255,.04);
}

.public-music-show-list-number{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:rgba(157,78,221,.18);
    color:#d8b4fe;
    font-weight:900;
}

.public-music-show-list strong,
.public-music-show-list small{
    display:block;
}

.public-music-show-list strong{
    color:#ffffff;
}

.public-music-show-list small{
    margin-top:3px;
    color:var(--text-muted);
}


/* =====================================================
   WUNSCHSENDUNG – SMARTPHONE
===================================================== */

@media(max-width:700px){

    .music-show-section{
        padding:18px 14px;
    }

    .music-show-section-head{
        margin-bottom:15px;
        padding-bottom:15px;
    }

    .music-show-section-head h2{
        font-size:22px;
    }

    .music-show-news-card{
        grid-template-columns:1fr;
        gap:15px;
        padding:17px 14px;
    }

    .music-show-news-icon{
        width:58px;
        height:58px;
        border-radius:17px;
        font-size:28px;
    }

    .music-show-news-content h3{
        font-size:19px;
    }

    .music-show-news-meta{
        gap:7px;
    }

    .music-show-news-meta span{
        font-size:10px;
    }

    .music-show-news-button{
        width:100%;
        min-width:0;
    }
}
/* =====================================================
   MUSIKWÜNSCHE ADMIN – LAYOUT FIX
===================================================== */


/* 1. TOP 10 UND PLAYLIST UNTEREINANDER */

#admin-panel .music-community-dashboard{
    width:100%;
    min-width:0;
    display:grid;
    grid-template-columns:1fr;
    gap:22px;
}

#admin-panel .music-top-ten-panel,
#admin-panel .laut-playlist-panel{
    width:100%;
    min-width:0;
}


/* 2. KOPFBEREICHE SAUBER HALTEN */

#admin-panel .music-panel-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
}

#admin-panel .music-panel-head > div:first-child{
    min-width:0;
    flex:1;
}

#admin-panel .music-panel-buttons{
    flex:0 0 auto;
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:10px;
}


/* 3. TOP-10-KARTE NICHT MEHR QUETSCHEN */

#admin-panel .music-ranking-card{
    width:100%;
    min-width:0;
    display:grid;
    grid-template-columns:
        55px
        minmax(0,1fr);
    align-items:start;
    gap:16px;
    padding:18px;
}

#admin-panel .music-ranking-position{
    grid-column:1;
    grid-row:1;
}

#admin-panel .music-ranking-content{
    grid-column:2;
    grid-row:1;
    min-width:0;
}

#admin-panel .music-ranking-content h4,
#admin-panel .music-ranking-content p{
    word-break:normal;
    overflow-wrap:break-word;
}

#admin-panel .music-ranking-actions{
    grid-column:1 / -1;
    width:100%;
    display:grid;
    grid-template-columns:
        repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:4px;
}

#admin-panel .music-ranking-card
.music-ranking-actions button{
    width:100%;
    min-width:0;
}


/* 4. EINZELNE WÜNSCHE UND BUTTONS */

#admin-panel .music-individual-row{
    width:100%;
    min-width:0;
    display:grid;
    grid-template-columns:
        minmax(0,1fr)
        auto;
    align-items:center;
    gap:14px;
}

#admin-panel .music-individual-info{
    min-width:0;
}

#admin-panel .music-individual-info strong,
#admin-panel .music-individual-info span,
#admin-panel .music-individual-info small{
    white-space:normal;
    word-break:normal;
    overflow-wrap:break-word;
}

#admin-panel .music-individual-actions{
    width:auto;
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}

#admin-panel .music-individual-actions button{
    width:auto;
    min-width:0;
    white-space:nowrap;
    word-break:normal;
    overflow-wrap:normal;
}


/* 5. PLAYLIST-VORSCHAU */

#admin-panel .laut-playlist-manual{
    display:grid;
    grid-template-columns:
        minmax(180px,1fr)
        minmax(180px,1fr)
        auto;
    gap:12px;
}

#admin-panel .laut-playlist-item{
    width:100%;
    min-width:0;
    display:grid;
    grid-template-columns:
        42px
        minmax(0,1fr)
        auto;
    align-items:center;
    gap:14px;
    padding:15px;
}

#admin-panel .laut-playlist-song{
    min-width:0;
}

#admin-panel .laut-playlist-song strong,
#admin-panel .laut-playlist-song small{
    white-space:normal;
    word-break:normal;
    overflow-wrap:break-word;
}

#admin-panel .laut-playlist-actions{
    display:flex;
    flex-wrap:nowrap;
    gap:7px;
}

#admin-panel .laut-playlist-actions button{
    width:40px;
    min-width:40px;
    height:40px;
    padding:0;
    display:grid;
    place-items:center;
    white-space:nowrap;
    word-break:normal;
    overflow-wrap:normal;
}


/* TABLET */

@media(max-width:850px){

    #admin-panel .music-panel-head{
        flex-direction:column;
    }

    #admin-panel .music-panel-buttons{
        width:100%;
        justify-content:flex-start;
    }

    #admin-panel .laut-playlist-manual{
        grid-template-columns:1fr 1fr;
    }

    #admin-panel .laut-playlist-manual button{
        grid-column:1 / -1;
        width:100%;
    }

    #admin-panel .laut-playlist-item{
        grid-template-columns:
            42px
            minmax(0,1fr);
    }

    #admin-panel .laut-playlist-actions{
        grid-column:1 / -1;
        justify-content:flex-end;
    }
}


/* HANDY */

@media(max-width:600px){

    #admin-panel .music-top-ten-panel,
    #admin-panel .laut-playlist-panel{
        padding:16px;
    }

    #admin-panel .music-ranking-card{
        grid-template-columns:
            44px
            minmax(0,1fr);
        padding:14px;
    }

    #admin-panel .music-ranking-actions{
        grid-template-columns:1fr;
    }

    #admin-panel .music-individual-row{
        grid-template-columns:1fr;
    }

    #admin-panel .music-individual-actions{
        width:100%;
        display:grid;
        grid-template-columns:1fr;
    }

    #admin-panel .music-individual-actions button{
        width:100%;
    }

    #admin-panel .laut-playlist-manual{
        grid-template-columns:1fr;
    }

    #admin-panel .laut-playlist-manual button{
        grid-column:auto;
    }

    #admin-panel .laut-playlist-actions{
        display:grid;
        grid-template-columns:
            repeat(4,1fr);
    }

    #admin-panel .laut-playlist-actions button{
        width:100%;
        min-width:0;
    }
}
/* =====================================================
   GEPLANTE WUNSCHSENDUNGEN – ADMIN
===================================================== */

.music-playlist-admin{
    width:100%;
    margin-top:28px;
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.10);
}

.music-playlist-admin-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:15px;
}

.music-playlist-admin-head h4{
    margin:0 0 5px;
    color:#ffffff;
    font-size:18px;
}

.music-playlist-admin-head p{
    margin:0;
    color:var(--text-muted);
    font-size:12px;
}

#admin-panel
.music-playlist-admin-head button{
    width:auto;
    min-width:0;
    margin:0;
    padding:9px 13px;
    white-space:nowrap;
}

.music-playlist-admin-list{
    display:grid;
    gap:11px;
}

.music-playlist-admin-empty{
    padding:16px;
    border:1px dashed rgba(255,255,255,.12);
    border-radius:13px;
    color:var(--text-muted);
    text-align:center;
}

.music-playlist-admin-card{
    display:grid;
    grid-template-columns:
        minmax(0,1fr)
        auto;
    align-items:center;
    gap:18px;
    padding:16px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:15px;
    background:rgba(255,255,255,.035);
}

.music-playlist-admin-card.is-editing{
    border-color:rgba(34,211,238,.48);
    background:
        linear-gradient(
            135deg,
            rgba(34,211,238,.08),
            rgba(157,78,221,.10)
        );
}

.music-playlist-admin-info{
    min-width:0;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
}

.music-playlist-admin-info strong,
.music-playlist-admin-info span{
    padding:7px 10px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    background:rgba(255,255,255,.04);
    color:#cbd5e1;
    font-size:11px;
}

.music-playlist-admin-info strong{
    color:#ffffff;
}

.music-playlist-editing-label{
    border-color:
        rgba(34,211,238,.30) !important;
    background:
        rgba(34,211,238,.10) !important;
    color:
        var(--accent) !important;
    font-weight:900;
}

.music-playlist-admin-card-actions{
    display:flex;
    gap:8px;
}

#admin-panel
.music-playlist-admin-card-actions button{
    width:auto;
    min-width:0;
    margin:0;
    padding:9px 13px;
    white-space:nowrap;
}

#admin-panel
.music-playlist-admin-card-actions
.danger-btn{
    border-color:rgba(248,113,113,.35);
    background:rgba(185,28,28,.72);
    color:#fee2e2;
}


@media(max-width:700px){

    .music-playlist-admin-head{
        flex-direction:column;
    }

    #admin-panel
    .music-playlist-admin-head button{
        width:100%;
    }

    .music-playlist-admin-card{
        grid-template-columns:1fr;
    }

    .music-playlist-admin-card-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    #admin-panel
    .music-playlist-admin-card-actions
    button{
        width:100%;
    }
}
/* =====================================================
   WUNSCHSENDUNGEN – PLANUNGSLIMIT
===================================================== */

.music-playlist-limit-info{
    display:inline-flex;
    margin-top:9px;
    padding:6px 10px;
    border:1px solid rgba(34,197,94,.25);
    border-radius:999px;
    background:rgba(34,197,94,.08);
    color:#86efac;
    font-size:11px;
    font-weight:900;
}

.music-playlist-limit-info.is-full{
    border-color:rgba(248,113,113,.35);
    background:rgba(239,68,68,.10);
    color:#fca5a5;
}

#music-playlist-publish-button:disabled{
    opacity:.65;
    cursor:not-allowed;
    transform:none !important;
    box-shadow:none !important;
}
.music-request-history-delete{
    flex:0 0 auto;
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid rgba(248,113,113,.30);
    border-radius:10px;
    background:rgba(239,68,68,.12);
    color:#fca5a5;
    cursor:pointer;
    transition:.2s ease;
}

.music-request-history-delete:hover{
    transform:translateY(-2px);
    border-color:rgba(248,113,113,.60);
    background:rgba(239,68,68,.22);
}
.greeting-news-card{
    display:flex;
    flex-direction:column;
}

.greeting-all-button{
    margin:auto 12px 14px;
    padding:10px 16px;
    border:1px solid rgba(168,85,247,.55);
    border-radius:999px;
    background:linear-gradient(
        135deg,
        #9333ea,
        #7c3aed
    );
    color:#fff;
    font-weight:800;
    cursor:pointer;
    transition:.2s ease;
}

.greeting-all-button:hover{
    transform:translateY(-2px);
    filter:brightness(1.1);
}

.all-greetings-list{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-top:18px;
}

.all-greeting-item{
    padding:16px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:14px;
    background:rgba(255,255,255,.04);
}

.all-greeting-item strong{
    display:block;
    margin-bottom:6px;
    color:var(--primary);
}

.all-greeting-item p{
    margin:0 0 8px;
    line-height:1.5;
}

.all-greeting-item small{
    color:var(--text-muted);
}
/* =====================================================
   PLAYER – TITEL & INTERPRET HERVORHEBEN
===================================================== */

.current-track-info{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-top:8px;
    min-width:0;
}

.current-track-title{
    display:block;
    color:#ffffff;
    font-size:19px;
    font-weight:900;
    line-height:1.25;
    overflow-wrap:anywhere;
    text-shadow:
        0 0 6px rgba(168,85,247,.45),
        0 0 12px rgba(168,85,247,.35),
        0 0 22px rgba(168,85,247,.22);
}

.current-track-artist{
    display:block;
    color:#c084fc;
    font-size:14px;
    font-weight:800;
    line-height:1.3;
    overflow-wrap:anywhere;
    text-shadow:
        0 0 6px rgba(168,85,247,.50),
        0 0 14px rgba(168,85,247,.35),
        0 0 24px rgba(168,85,247,.20);
}

@media(max-width:650px){

    .current-track-title{
        font-size:17px;
    }

    .current-track-artist{
        font-size:13px;
    }
}
/* =====================================================
   PLAYER – SONG LEUCHTEN
===================================================== */
#current-track-title{
    color:#d8b4fe !important;

    text-shadow:
        0 0 4px rgba(157,78,221,.50),
        0 0 9px rgba(157,78,221,.30) !important;
}

#current-track-artist{
    color:#e9d5ff !important;

    text-shadow:
        0 0 3px rgba(157,78,221,.35),
        0 0 6px rgba(157,78,221,.20) !important;
}