/* BSW Hagen: 70% klassische politische Informationsarchitektur, 30% modern */
.site-header{background:linear-gradient(108deg,#861b4d 0%,#d50057 66%,#f5a000 100%);color:#fff;border-top:8px solid #f7f7f7}
.header-top.shell,.main-nav>.shell{width:100%;padding-inline:clamp(16px,2.2vw,42px)}
.header-top{min-height:112px}
.brand{width:min(355px,43%);margin-left:0;background:#fff;padding:8px 11px;box-shadow:0 6px 18px rgba(36,0,17,.18)}
.header-tools{color:#fff;text-transform:uppercase;font-size:13px;letter-spacing:.02em}
.header-tools a:first-child{border-color:#ffcf00}
.header-tools a,.search-toggle{color:#fff}
.main-nav{background:rgba(68,5,34,.28);border-top:1px solid rgba(255,255,255,.22)}
.main-nav>.shell>ul>li:first-child{background:#fff;color:#111}
.main-nav a{padding:13px 12px;text-transform:uppercase;font-size:12px;letter-spacing:.01em}
.main-nav .has-sub>ul{display:block;visibility:hidden;opacity:0;transform:translateY(12px);pointer-events:none;width:330px;padding:10px;border:0;border-top:5px solid #ffcf00;border-radius:0 0 10px 10px;box-shadow:0 22px 55px rgba(38,5,21,.24);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.main-nav .has-sub:hover>ul,.main-nav .has-sub:focus-within>ul,.main-nav .has-sub.open>ul{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}
.main-nav .has-sub>ul:before{content:"";position:absolute;top:-12px;left:28px;border:6px solid transparent;border-bottom-color:#ffcf00}
.main-nav .has-sub>ul li+li{border-top:1px solid #eee}
.main-nav .has-sub>ul a{position:relative;padding:12px 14px 12px 38px;border-radius:5px;text-transform:none;font-size:15px;letter-spacing:0;transition:background .16s ease,color .16s ease,padding-left .16s ease}
.main-nav .has-sub>ul a:before{content:"→";position:absolute;left:15px;color:#d50057;font-weight:900}
.main-nav .has-sub>ul a:hover,.main-nav .has-sub>ul a:focus{padding-left:43px;background:linear-gradient(90deg,#f9edf2,#fff);color:#861b4d;outline:none}
.main-nav .has-sub>div>button{min-width:34px;font-size:18px;transition:transform .18s ease}
.main-nav .has-sub:hover>div>button,.main-nav .has-sub:focus-within>div>button,.main-nav .has-sub.open>div>button{transform:rotate(180deg)}
.campaign-hero{position:relative;overflow:hidden;background:linear-gradient(112deg,#d50057 0%,#e50061 38%,#f37512 76%,#ffb52b 100%);padding:38px 20px 44px}
.campaign-hero:before{content:"";position:absolute;inset:8% -8% auto;height:78%;background:rgba(255,255,255,.08);border-radius:50% 45% 42% 55%;transform:rotate(4deg)}
.campaign-frame{position:relative;z-index:1;max-width:1120px;margin:0 auto}
.campaign-frame:before{content:"BSW KREISVERBAND HAGEN";display:block;color:#fff;font-size:12px;font-weight:900;letter-spacing:.13em;margin-bottom:12px}
.campaign-frame img{width:100%;max-height:420px;aspect-ratio:1609/603;object-fit:contain;box-shadow:0 16px 42px rgba(52,8,30,.2)}
.lead-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);gap:55px;align-items:center;padding-top:65px;padding-bottom:65px;border-bottom:1px solid #ddd}
.lead-story-copy{border-left:5px solid #d50057;padding-left:24px}
.lead-story h1{font-size:clamp(34px,4.5vw,62px);line-height:1.03;letter-spacing:-.035em;margin:.2em 0}
.lead-story-copy>p:not(.eyebrow){font-size:19px}
.lead-story-image{display:block;box-shadow:var(--shadow)}
.lead-story-image img{width:100%;aspect-ratio:4/3;object-fit:cover}
.news-stream{display:grid;grid-template-columns:1fr;gap:0;border-left:5px solid #d50057;padding-left:20px}
.news-stream .card{display:grid;grid-template-columns:minmax(0,1fr) 270px;box-shadow:none;border-bottom:1px solid #ddd;padding:24px 0;gap:42px;align-items:center}
.news-stream .card-image{grid-column:2;grid-row:1;aspect-ratio:3/2}
.news-stream .card-body{grid-column:1;grid-row:1;padding:0}
.news-stream .card h3{font-size:28px;color:#d50057}
.news-stream .card-body>p:not(.meta){max-width:760px}
.news-stream .text-link{display:inline-block;background:#d50057;color:#fff;text-decoration:none;text-transform:uppercase;font-size:12px;padding:10px 18px;border-radius:999px}
.news-stream .text-link:hover,.news-stream .text-link:focus{background:#861b4d}
.cookie-banner{position:fixed;z-index:1000;inset:0;background:rgba(20,10,15,.22);display:flex;align-items:flex-end;justify-content:flex-end;padding:24px}
.cookie-banner[hidden]{display:none}
.cookie-card{width:min(350px,100%);background:#fff;color:#25384d;padding:18px;box-shadow:0 12px 45px rgba(0,0,0,.28);border-top:4px solid #d50057}
.cookie-card h2{font-size:18px;margin:0 0 8px}.cookie-card p{font-size:13px;line-height:1.45}.cookie-card a{font-weight:800;text-underline-offset:3px}.cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px}.cookie-actions button{border:0;padding:10px;font-size:13px;font-weight:800;cursor:pointer}.cookie-accept{background:#861b4d;color:#fff}.cookie-decline{background:#e8ecef;color:#25384d}.cookie-settings{display:block;border:0;background:none;color:#fff;text-decoration:underline;padding:0;margin:8px 0;cursor:pointer;font:inherit}
@media(max-width:1050px){.site-header{border-top-width:5px}.header-top{min-height:104px}.brand{width:400px}.menu-toggle{background:transparent;color:#fff}.menu-toggle span{background:#fff}.main-nav{background:#861b4d}.main-nav>.shell{padding-inline:0}.main-nav>.shell>ul>li:first-child{background:transparent;color:#fff}.main-nav .has-sub>ul{display:none;visibility:visible;opacity:1;transform:none;pointer-events:auto;width:auto;padding:0;border-radius:0;box-shadow:none}.main-nav .has-sub.open>ul{display:block}.main-nav .has-sub>ul:before{display:none}.main-nav .has-sub>ul a{border-radius:0;padding-left:44px}.main-nav .has-sub>ul a:before{left:23px}.lead-story{grid-template-columns:1fr 330px}.news-stream .card{grid-template-columns:minmax(0,1fr) 230px}}
@media(max-width:650px){.brand{width:260px;padding:7px 9px}.campaign-hero{padding:20px 0 28px}.campaign-frame:before{font-size:11px}.campaign-frame img{min-height:220px;object-fit:cover}.lead-story{grid-template-columns:1fr;gap:26px;padding-top:42px;padding-bottom:42px}.lead-story-image{grid-row:1}.news-stream{padding-left:12px}.news-stream .card{grid-template-columns:1fr;gap:16px}.news-stream .card-image,.news-stream .card-body{grid-column:1}.news-stream .card-image{grid-row:1}.news-stream .card-body{grid-row:2}.news-stream .card h3{font-size:24px}.cookie-banner{padding:12px}.cookie-card{width:100%}}
