:root{
  --bg:#f4f5f7;
  --paper:#ffffff;
  --paper2:#f8f9fb;
  --ink:#121820;
  --muted:#667085;
  --line:#dde2ea;
  --accent:#ff6b00;
  --accent-dark:#c84f00;
  --blue:#102033;
  --blue2:#1c3655;
  --soft:#eef1f5;
  --max:1280px;
  --article:940px;
  --radius:18px;
  --shadow:0 18px 50px rgba(16,32,51,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.58}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:min(92vw,var(--max));margin-inline:auto}
.top{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.93);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:3px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--blue)}
.brand-mark{width:44px;height:44px;display:grid;place-items:center;background:var(--accent);color:#fff;border-radius:11px;font-weight:950;box-shadow:0 10px 24px rgba(255,107,0,.28)}
.navlinks{display:flex;gap:20px;align-items:center;font-size:.91rem;color:#3d4b5c;flex-wrap:wrap;justify-content:flex-end}
.navlinks a{padding:8px 0;border-bottom:2px solid transparent}.navlinks a:hover{color:var(--accent);border-bottom-color:var(--accent)}
.hero{position:relative;min-height:62vh;display:flex;align-items:end;overflow:hidden;background:linear-gradient(135deg,var(--blue),#07111d);color:#fff}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 18%,rgba(255,107,0,.42),transparent 30%),linear-gradient(90deg,rgba(8,17,29,.96),rgba(8,17,29,.58),rgba(8,17,29,.88)),url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="120" height="120"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency=".75" numOctaves="2" stitchTiles="stitch"/></filter><rect width="120" height="120" filter="url(%23n)" opacity=".12"/></svg>')}
.hero .wrap{position:relative;padding:92px 0 74px}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:end}.hero .card{align-self:end;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16);color:#fff}.hero .card p{color:#d9e1ec}
.kicker,.eyebrow{color:#ffb173;text-transform:uppercase;font-size:.78rem;font-weight:900;letter-spacing:.18em}.hero h1{font-size:clamp(3rem,8vw,7.8rem);line-height:.9;margin:.14em 0 .22em;letter-spacing:-.075em;max-width:980px}.lead,.hero p{font-size:clamp(1.05rem,2vw,1.4rem);color:#e5ebf3;max-width:720px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 18px;border-radius:999px;border:1px solid transparent;background:var(--accent);color:#fff;font-weight:850;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(255,107,0,.22)}.btn.secondary{background:#fff;color:var(--blue);border-color:rgba(255,255,255,.55)}.btn.small{font-size:12px;padding:8px 10px}
.section{padding:58px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.section h2{font-size:clamp(1.65rem,3vw,3.1rem);letter-spacing:-.045em;line-height:1;margin:0;color:var(--blue)}.section p.sub{margin:.55rem 0 0;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid.two{grid-template-columns:repeat(2,1fr)}.rail{display:flex;gap:18px;overflow:auto;padding-bottom:10px;scroll-snap-type:x mandatory}.rail .card{min-width:min(420px,84vw);scroll-snap-align:start}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.thumb{aspect-ratio:16/9;background:#dbe1e9;position:relative;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.card:hover .thumb img{transform:scale(1.035)}.play{position:absolute;left:18px;bottom:18px;width:52px;height:52px;border-radius:50%;background:#fff;color:var(--accent);display:grid;place-items:center;font-weight:900;box-shadow:0 14px 30px rgba(0,0,0,.22)}.content,.card-body{padding:22px}.meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--accent-dark);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850}.card h3{font-size:1.32rem;line-height:1.12;letter-spacing:-.03em;margin:.6rem 0 .45rem;color:var(--blue)}.card p{color:var(--muted);margin:0}.pill{display:inline-flex;align-items:center;padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:#425066;background:#fff}.pill:hover{color:var(--accent);border-color:var(--accent)}
.feature{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:stretch}.feature .copy{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow)}.feature h2{font-size:clamp(2rem,4.5vw,5rem)}.feature .image{border-radius:var(--radius);overflow:hidden;background:#dbe1e9;min-height:430px}.feature .image img{width:100%;height:100%;object-fit:cover}
.archive-tools,.search-form{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 24px}.archive-tools input,.archive-tools select,.search-form input,.media-toolbar input,.field input,.field textarea,.field select{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:12px 14px;width:100%;font:inherit}.archive-tools input{max-width:360px}.search-form{margin-top:24px}.search-form input{border-radius:999px}.pagination{display:flex;gap:8px;justify-content:center;margin:34px 0}.pagination a,.pagination span{padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:#fff}.pagination .active{background:var(--accent);color:#fff;border-color:var(--accent)}
.article{width:min(92vw,var(--article));margin:0 auto;padding:52px 0}.article h1{font-size:clamp(2.4rem,5vw,5.6rem);line-height:.95;letter-spacing:-.06em;color:var(--blue)}.article .heroimg{border-radius:24px;overflow:hidden;margin:26px 0;background:#dbe1e9;box-shadow:var(--shadow)}.article-body{font-size:1.08rem;line-height:1.8;color:#253244}.article-body p{margin:0 0 1.2rem}.article-body blockquote{border-left:5px solid var(--accent);margin:28px 0;padding:18px 24px;background:#fff;border-radius:0 16px 16px 0;font-size:1.25rem;box-shadow:var(--shadow)}.article-image img{width:100%;border-radius:18px}.info-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;margin:26px 0}.tag{display:inline-flex;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-dark);margin-bottom:8px;font-weight:900}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.gallery img{border-radius:18px;aspect-ratio:4/3;object-fit:cover;box-shadow:var(--shadow)}
.video-panel{padding:0;overflow:hidden}.yt-consent{padding:28px;text-align:center;background:#fff}.video-embed{aspect-ratio:16/9;width:100%;background:#000;border-radius:18px;overflow:hidden}.video-embed iframe{width:100%;height:100%;border:0;display:block}
.cookie{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);width:min(92vw,780px);background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 18px 60px rgba(16,32,51,.24);z-index:40;display:none}.cookie.show{display:block}.cookie .row{display:flex;justify-content:space-between;gap:18px;align-items:center}.cookie p{margin:0;color:#425066}.footer{border-top:1px solid var(--line);padding:42px 0;color:var(--muted);background:#fff}.footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
/* Admin im seriösen Magazin-Stil */
.admin-layout{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh;background:var(--bg)}.side{background:var(--blue);color:#fff;border-right:1px solid rgba(255,255,255,.1);padding:22px 14px;position:sticky;top:0;height:100vh}.side h2{padding:0 8px;margin:0 0 20px;font-size:1.35rem;letter-spacing:-.04em}.side a{display:block;padding:12px 14px;border-radius:13px;color:#d9e2ee;margin:3px 0}.side a:hover{background:rgba(255,255,255,.1);color:#fff}.main,.admin-main{padding:32px 28px 60px;max-width:1160px;margin:0 auto;width:100%}.main>h1,.admin-main>h1{font-size:clamp(2rem,3vw,3.25rem);line-height:1;margin:0 0 26px;letter-spacing:-.055em;color:var(--blue)}.panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;margin-bottom:18px;box-shadow:var(--shadow)}.panel h2{margin:0 0 22px;font-size:1.45rem;letter-spacing:-.035em;color:var(--blue)}.admin-form{display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-field{display:flex;flex-direction:column;gap:7px}.form-field.full{grid-column:1/-1}.form-field label,.admin-form>label{display:block;color:#344054;font-size:.86rem;font-weight:850;letter-spacing:.02em}.help{margin:4px 0 0;color:var(--muted);font-size:.82rem}.admin-form input:not([type=file]),.admin-form textarea,.admin-form select,.panel form input:not([type=file]),.panel form textarea,.panel form select{width:100%;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:15px;padding:13px 14px;font:inherit;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.admin-form textarea,.panel form textarea{min-height:120px;resize:vertical}.admin-form textarea.tall{min-height:230px}.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus,.panel form input:focus,.panel form textarea:focus,.panel form select:focus{border-color:rgba(255,107,0,.8);box-shadow:0 0 0 4px rgba(255,107,0,.12);background:#fff}.file-drop{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:12px 14px;background:#f8fafc;border:1px dashed #b8c2d0;border-radius:16px;color:var(--muted)}.file-drop.big{min-height:120px;display:flex;align-items:center;justify-content:center;border-style:dashed}.file-drop input[type=file]{width:100%;color:var(--muted);font:inherit}.file-drop input[type=file]::file-selector-button{border:0;border-radius:999px;background:var(--blue);color:#fff;font-weight:850;padding:9px 13px;margin-right:12px;cursor:pointer}.file-drop:hover{border-color:var(--accent)}.preview-card{display:flex;gap:16px;align-items:center;background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:12px}.preview-card img{width:180px;aspect-ratio:16/9;object-fit:cover;border-radius:12px}.preview-card code{color:var(--muted);font-size:.82rem;word-break:break-all}.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:4px}.form-actions .btn{border:0;cursor:pointer;padding:14px 22px}.table{width:100%;margin-top:26px;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;border-collapse:separate;border-spacing:0}.table th{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.1em}.table th,.table td{border-bottom:1px solid var(--line);padding:16px 12px;text-align:left}.table a{color:var(--accent-dark);font-weight:800}.notice{padding:12px 14px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.notice.error{border-color:#fecaca;color:#991b1b;background:#fff1f2}.media-toolbar{margin:24px 0}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px}.media-item{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;padding:10px;box-shadow:var(--shadow)}.media-item img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px}.media-item code{display:block;margin:10px 0;font-size:11px;word-break:break-all;color:var(--muted)}
.timeline{max-width:980px}.timeline-item{display:grid;grid-template-columns:110px 1fr;gap:28px;border-left:2px solid var(--accent);padding:0 0 34px 28px;position:relative}.timeline-item:before{content:'';position:absolute;left:-8px;top:0;width:14px;height:14px;border-radius:50%;background:var(--accent)}.timeline-item span{font-weight:900;color:var(--accent-dark)}
@media(max-width:1020px){.nav{align-items:flex-start;min-height:auto;padding:16px 0}.navlinks{display:none}.grid,.grid.two,.feature,.hero-grid{grid-template-columns:1fr}.hero .card{display:none}.section-head{display:block}.hero{min-height:58vh}.gallery{grid-template-columns:1fr 1fr}.admin-layout{display:block}.side{height:auto;position:relative}.cookie .row{display:block}.cookie .btn{margin-top:12px}.form-grid,.form-grid.three{grid-template-columns:1fr}.preview-card{display:block}.preview-card img{width:100%;margin-bottom:10px}.main,.admin-main{padding:24px 18px 46px}}
@media(max-width:560px){.grid{gap:14px}.content,.card-body{padding:18px}.gallery{grid-template-columns:1fr}.hero .wrap{padding:70px 0 50px}.section{padding:38px 0}.search-form{flex-direction:column}.timeline-item{grid-template-columns:1fr;gap:8px}}

/* --- Telemotor 3.1 ZDF Layout-Fix --- */
body{overflow-x:hidden}
.top{width:100%}
.nav{width:min(92vw,var(--max));margin-inline:auto;padding-inline:0}
.navlinks{min-width:0;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.navlinks::-webkit-scrollbar{display:none}
.section{width:100%}.section>.wrap,.section.wrap{width:min(92vw,var(--max));margin-inline:auto}
.section.narrow{width:min(92vw,var(--max));margin:0 auto;padding:86px 0 58px}
.section.narrow h1,.section .wrap>h1{font-size:clamp(2.6rem,5vw,5.6rem);line-height:.94;letter-spacing:-.065em;color:var(--blue);margin:.16em 0 .24em;max-width:980px}
.section.narrow p:not(.kicker){max-width:760px;color:#445166;font-size:1.1rem}
.card-grid{width:min(92vw,var(--max));margin-inline:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.card-grid>.card{min-width:0}.card-grid>.card>img,.card-grid>a.card>img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#dbe1e9}
.card .card-body a{display:inline-flex;margin-top:14px;color:var(--accent-dark);font-weight:850}.card .card-body a:hover{text-decoration:underline}
/* Forms im Frontend */
.article form,.section.narrow form,.wrap>form:not(.filters),form.front-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;align-items:end;margin-top:26px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:var(--shadow)}
.article form label,.section.narrow form label,.wrap>form:not(.filters) label{display:flex;flex-direction:column;gap:7px;font-weight:850;color:#344054;font-size:.9rem}
.article form input,.article form textarea,.article form select,.section.narrow form input,.section.narrow form textarea,.section.narrow form select,.wrap>form:not(.filters) input,.wrap>form:not(.filters) textarea,.wrap>form:not(.filters) select{width:100%;background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px 14px;font:inherit;color:var(--ink);outline:none}
.article form textarea,.section.narrow form textarea,.wrap>form:not(.filters) textarea{min-height:140px;resize:vertical}
.article form input:focus,.article form textarea:focus,.section.narrow form input:focus,.section.narrow form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,107,0,.12)}
.article form button,.section.narrow form button,.wrap>form:not(.filters) button{justify-self:start;border:0}
/* Alte Inline-Formulare abfangen: Labels vor Inputs sollen nicht nebeneinander kleben */
.article form>label,.section.narrow form>label,.wrap>form:not(.filters)>label{margin:0}
.article form>textarea[name="message"],.section.narrow form>textarea[name="message"],.wrap>form:not(.filters)>textarea[name="message"]{grid-column:1/-1}
.article form>br,.section.narrow form>br,.wrap>form:not(.filters)>br{display:none}
.article form>.btn,.section.narrow form>.btn,.wrap>form:not(.filters)>.btn{grid-column:1/-1;width:max-content}
.filters,.archive-tools{background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px;box-shadow:0 14px 36px rgba(16,32,51,.08)}
.filters input,.filters select{background:#fff;border:1px solid var(--line);border-radius:999px;padding:12px 14px;font:inherit;color:var(--ink)}
.filters button{border:0}

.footer{margin-top:0}.footer .wrap{width:min(92vw,var(--max));margin-inline:auto}
@media(max-width:980px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article form,.section.narrow form,.wrap>form:not(.filters){grid-template-columns:1fr}.navlinks{display:flex;font-size:.86rem}.nav{align-items:center}}
@media(max-width:620px){.card-grid{grid-template-columns:1fr}.section.narrow{padding:54px 0 36px}.section.narrow h1,.section .wrap>h1{font-size:clamp(2.25rem,13vw,4rem)}.article form,.section.narrow form,.wrap>form:not(.filters){padding:18px;border-radius:18px}.filters{display:grid;grid-template-columns:1fr}.filters input,.filters select,.filters button{width:100%}}

.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 50px 0 20px;
    flex-wrap: wrap;
}

.pagination a {
    min-width: 42px;
    height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    background: #ffffff;
    color: #0f1b2d;
    text-decoration: none;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 30px rgba(15, 27, 45, 0.08);
    border: 1px solid rgba(15, 27, 45, 0.08);
}

.pagination a:hover,
.pagination a.active {
    background: #ff6b00;
    color: #ffffff;
}
.filters{    margin-bottom: 26px;}

/* Responsive Hauptmenü */
.topbar,
.header,
.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
}

.nav,
.main-nav,
.site-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.nav a,
.main-nav a,
.site-nav a {
    white-space: nowrap;
}

@media (max-width: 900px) {
    .topbar,
    .header,
    .site-header {
        position: relative;
    }

    .nav,
    .main-nav,
    .site-nav {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        width: 100%;
        margin-top: 14px;
    }

    .nav a,
    .main-nav a,
    .site-nav a {
        display: block;
        width: 100%;
        padding: 12px 14px;
        border-radius: 14px;
        background: rgba(255,255,255,.75);
        border: 1px solid rgba(0,0,0,.08);
        text-align: center;
        font-size: 14px;
    }
}

@media (max-width: 520px) {
    .nav,
    .main-nav,
    .site-nav {
        grid-template-columns: 1fr;
    }
}


.menu-toggle {
    display: none;
    border: 0;
    background: #ff6b00;
    color: #fff;
    font-weight: 800;
    padding: 11px 16px;
    border-radius: 999px;
    cursor: pointer;
}

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

@media (max-width: 900px) {
    .menu-toggle {
        display: inline-flex;
        align-items: center;
        gap: 8px;
    }

    .site-nav {
        display: none;
        width: 100%;
        margin-top: 14px;
        padding: 14px;
        border-radius: 20px;
        background: #ffffff;
        box-shadow: 0 18px 50px rgba(0,0,0,.12);
        border: 1px solid rgba(0,0,0,.08);
    }

    .site-nav.open {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .site-nav a {
        display: block;
        padding: 13px 14px;
        border-radius: 14px;
        text-decoration: none;
        background: #f4f6f8;
        color: #152033;
        font-weight: 700;
    }

    .site-nav a:hover {
        background: #ff6b00;
        color: #fff;
    }
}

.site-footer {
    margin-top: 80px;
    background: #0f1b2d;
    color: #fff;
    padding: 60px 0 24px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 42px;
}

.footer-logo {
    max-width: 220px;
    margin-bottom: 20px;
}

.footer-brand p {
    color: rgba(255,255,255,.72);
    line-height: 1.7;
    max-width: 460px;
}

.site-footer h4 {
    margin: 0 0 16px;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #ff6b00;
}

.site-footer a {
    display: block;
    color: rgba(255,255,255,.76);
    text-decoration: none;
    margin: 10px 0;
    font-weight: 600;
}

.site-footer a:hover {
    color: #fff;
}

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.12);
    margin-top: 42px;
    padding-top: 22px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    color: rgba(255,255,255,.55);
    font-size: 14px;
}

@media (max-width: 900px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }

    .footer-bottom {
        flex-direction: column;
    }
}

@media (max-width: 560px) {
    .footer-grid {
        grid-template-columns: 1fr;
    }
}