/* Presivo — scaffold base styles (replace with Bootstrap override + theme) */
:root { --max: 1100px; --gap: 1.25rem; --accent: #c1121f; }
* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, sans-serif; line-height: 1.6; color: #1a1a1a; }
body.has-takeover { padding-top: 0; }
.skip-link { position: absolute; left: -999px; }
.skip-link:focus { left: 1rem; top: 1rem; background: #0a4d8c; color: #fff; padding: .6rem 1rem; border-radius: 6px; font-weight: 700; z-index: 1000; box-shadow: 0 2px 10px rgba(0,0,0,.25); }
:focus-visible { outline: 3px solid #0a4d8c; outline-offset: 2px; border-radius: 2px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 3px solid #0a4d8c; outline-offset: 2px; }

/* ---- Breadcrumbs --------------------------------------------------------- */
.breadcrumb { list-style:none; margin:0; padding:.8rem 0; display:flex; flex-wrap:wrap; gap:.15rem; font-size:.82rem; color:#888; max-width:var(--max); }
.breadcrumb-item + .breadcrumb-item::before { content:"›"; margin-right:.3rem; color:#bbb; }
.breadcrumb-item a { color:#555; text-decoration:none; }
.breadcrumb-item a:hover { text-decoration:underline; }
.breadcrumb-item.active { color:#444; font-weight:600; }
[data-theme="dark"] .breadcrumb-item a { color:#aaa; }
[data-theme="dark"] .breadcrumb-item.active { color:#ccc; }
[data-theme="dark"] .breadcrumb-item + .breadcrumb-item::before { color:#555; }
nav[aria-label="breadcrumb"] { max-width:var(--max); margin:0 auto; padding:0 var(--gap); }
.hd__nav a[aria-current="page"] { font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
a.tag-pill, .tag-pill { display:inline-block; background:#f1f3f5; color:#4b5563; font-size:.78rem; font-weight:600; padding:.25rem .6rem; border-radius:999px; text-decoration:none; transition:background .15s; }
a.tag-pill:hover { background:#e2e5ea; }
a.tag-pill::before, .tag-pill::before { content:"#"; color:#0a4d8c; font-weight:800; margin-right:.1rem; }

.site-header, .site-footer { max-width: var(--max); margin: 0 auto; padding: 1rem; display: flex; gap: var(--gap); align-items: center; justify-content: space-between; }
.brand { font-weight: 700; text-decoration: none; color: inherit; }
nav a { margin-right: 1rem; text-decoration: none; color: inherit; }

main { max-width: var(--max); margin: 0 auto; padding: 1rem; }
.layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: var(--gap); }
@media (max-width: 800px) { .layout { grid-template-columns: 1fr; } }

.teaser { padding: .75rem 0; border-bottom: 1px solid #eee; }
.teaser h2 { margin: .25rem 0; }
.teaser__section { font-size: .8rem; text-transform: uppercase; color: #666; }

.kicker { color: #b00; font-weight: 600; margin: 0; }
.standfirst { font-size: 1.15rem; color: #333; }
.byline { color: #666; font-size: .9rem; display: flex; gap: 1rem; }
.cover img { max-width: 100%; height: auto; border-radius: 8px; }
.credit { font-size: .8rem; color: #888; margin-right: 1rem; }

/* Disclosure for advertorials (legal: Anzeige) */
.disclosure { background: #f3f3f3; border-left: 4px solid #999; padding: .4rem .75rem; font-size: .85rem; text-transform: uppercase; letter-spacing: .03em; }
.tag--ad { background: #f3f3f3; color: #555; font-size: .7rem; padding: 1px 6px; border-radius: 4px; text-transform: uppercase; }

/* Ad slots */
.ad { display: block; text-align: center; margin: 1rem auto; position: relative; max-width: 100%; }
.ad__label { display: block; font-size: .65rem; color: #999; text-transform: uppercase; letter-spacing: .05em; }
.ad__link { display: inline-block; max-width: 100%; line-height: 0; }
.ad img { max-width: 100%; height: auto; display: block; margin: 0 auto; }
.ad__placeholder { display: inline-flex; align-items: center; justify-content: center; width: 300px; max-width: 100%; min-height: 90px; box-sizing: border-box; background: #fafafa; border: 1px dashed #ccc; color: #aaa; }

/* Background takeover (wallpaper) */
.takeover__hit { position: fixed; inset: 0 0 auto 0; height: 100vh; z-index: -1; display: block; }

/* ---- E-paper ---- */
.epaper-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:1.25rem; margin-top:1rem; }
.epaper-cover { text-decoration:none; color:inherit; display:flex; flex-direction:column; gap:.5rem; }
.epaper-cover__img { position:relative; aspect-ratio:1/1.414; background:#eee; border:1px solid #ddd; border-radius:6px; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.epaper-cover__img img { width:100%; height:100%; object-fit:cover; }
.epaper-cover__ph { color:#bbb; font-weight:700; }
.epaper-lock { position:absolute; top:.4rem; right:.4rem; background:#000a; color:#fff; border-radius:50%; width:1.6rem; height:1.6rem; display:flex; align-items:center; justify-content:center; font-size:.9rem; }
.epaper-cover__meta { display:flex; flex-direction:column; line-height:1.3; }
.epaper-cover__meta .muted { color:#888; font-size:.8rem; }

.epaper-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-top:1rem; }
.epaper-pages { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1.25rem; margin-top:1.25rem; }
.epaper-page { margin:0; }
.epaper-page img { width:100%; height:auto; border:1px solid #ddd; border-radius:4px; box-shadow:0 2px 8px #0001; }
.epaper-page figcaption { text-align:center; color:#888; font-size:.8rem; margin-top:.25rem; }
.epaper-gate { margin-top:1.5rem; padding:1.25rem; background:#f3f6fb; border:1px solid #d6e0f0; border-radius:10px; text-align:center; }
.epaper-gate .btn { margin:.25rem; }
.muted { color:#888; }

/* ---- Section / region fronts ---- */
.front-head { margin: 1rem 0; }
.front-head .lead, .lead { color: #555; font-size: 1.1rem; }
.chips { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.25rem; }
.chip { padding: .3rem .75rem; border: 1px solid #ddd; border-radius: 999px; text-decoration: none; color: #444; background: #fff; font-size: .9rem; }
.chip:hover { background: #f3f3f3; }
.teaser { display: grid; grid-template-columns: 1fr; }
.teaser__img { display: block; margin-bottom: .5rem; }
.teaser__img img { width: 100%; height: auto; border-radius: 6px; aspect-ratio: 16/9; object-fit: cover; }
.teaser a { text-decoration: none; color: inherit; }
.pager { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 2rem 0; }
.pager a { text-decoration: none; color: var(--brand, #0a4d8c); font-weight: 600; }
.pager__pos { color: #888; font-size: .9rem; }

/* ---- Article body — rich block content (block editor output) ---- */
.article p { line-height: 1.7; margin: 1rem 0; }
.article h2 { font-size: 1.5rem; line-height: 1.25; margin: 1.8rem 0 .6rem; }
.article h3 { font-size: 1.2rem; line-height: 1.3; margin: 1.4rem 0 .5rem; }
.article ul, .article ol { margin: 1rem 0; padding-left: 1.5rem; }
.article li { margin: .35rem 0; line-height: 1.6; }
.article a { color: #0a4d8c; }
.article strong { font-weight: 700; }
.article-figure { margin: 1.6rem 0; }
.article-figure img { display: block; width: 100%; height: auto; border-radius: 10px; }
.article-figure figcaption { margin-top: .5rem; font-size: .85rem; color: #6b7280; text-align: center; }
.article blockquote { margin: 1.6rem 0; padding: .3rem 0 .3rem 1.25rem; border-left: 4px solid #0a4d8c; font-size: 1.1rem; font-style: italic; color: #2b2b2b; }
.article blockquote cite { display: block; margin-top: .5rem; font-size: .85rem; font-style: normal; color: #6b7280; }
.article blockquote cite::before { content: "— "; }
.article-rule { margin: 2.2rem auto; width: 120px; border: 0; border-top: 2px solid #e0e0e0; }

/* ---- Article: pull-quote, callout (info-box), embed ---- */
.article-pullquote { margin: 2rem 0; padding: 0 1.5rem; border: 0; font-size: 1.55rem; line-height: 1.35; font-weight: 600; font-style: normal; color: #0a4d8c; text-align: center; }
.article-pullquote cite { display: block; margin-top: .6rem; font-size: .9rem; font-weight: 400; font-style: normal; color: #6b7280; }
.article-callout { margin: 1.6rem 0; padding: 1rem 1.15rem; border-radius: 10px; border-left: 4px solid; background: #f6f8fb; }
.article-callout__title { margin: 0 0 .35rem; font-weight: 700; }
.article-callout__body :first-child { margin-top: 0; } .article-callout__body :last-child { margin-bottom: 0; }
.article-callout--info { border-left-color: #0a4d8c; background: #eef4fb; }
.article-callout--warning { border-left-color: #d9822b; background: #fdf4e7; }
.article-callout--success { border-left-color: #2e9e5b; background: #ecf8f0; }
.article-callout--tip { border-left-color: #7048b6; background: #f2eefb; }
.article-embed { margin: 1.6rem 0; }
.article-embed__consent { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .7rem; min-height: 200px; padding: 1.5rem; border: 1px dashed #c7ccd3; border-radius: 10px; background: #f6f8fb; text-align: center; }
.article-embed__note { margin: 0; max-width: 30rem; font-size: .9rem; color: #555; }
.article-embed__load { padding: .55rem 1.1rem; border: 0; border-radius: 8px; background: #0a4d8c; color: #fff; font-weight: 600; cursor: pointer; }
.article-embed__load:hover { background: #0c5ba6; }
.article-embed__frame { position: relative; width: 100%; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; background: #000; }
.article-embed__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.article-embed figcaption { margin-top: .5rem; font-size: .85rem; color: #6b7280; text-align: center; }

/* ---- Article: gallery ---- */
.article-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .6rem; margin: 1.6rem 0; }
.article-gallery[data-count="1"] { grid-template-columns: 1fr; }
.article-gallery figure { margin: 0; }
.article-gallery img { width: 100%; height: 220px; object-fit: cover; border-radius: 8px; display: block; background: #eef1f4; }
.article-gallery[data-count="1"] img { height: auto; max-height: 560px; object-fit: contain; }
.article-gallery figcaption { margin-top: .3rem; font-size: .8rem; color: #6b7280; }

/* ===== Header v3: compact + mega menu + mobile drawer ==================== */
.topbar{background:#0b1118;color:#cbd5e1;font-size:.78rem}
.topbar__in{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:1rem;padding:.35rem 1rem}
.topbar__date{color:#9aa7b5}
.topbar__right{display:flex;align-items:center;gap:1rem;margin-left:auto}
.topbar__right a{color:#cbd5e1;text-decoration:none;font-size:.78rem}
.topbar__right a:hover{color:#fff}

.hd{background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:50}
[data-theme="dark"] .hd{background:#0f172a;border-color:#1e293b}
.hd__in{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:.6rem;padding:.55rem 1rem}
.hd__brand{display:inline-flex;align-items:center;gap:.3rem;text-decoration:none;color:#111;font-weight:800;font-size:1.4rem;letter-spacing:-.02em;flex-shrink:0}
.hd__logo{height:42px;width:auto;display:block}
.hd__logo--dark{display:none}
[data-theme="dark"] .hd__logo{display:none}
[data-theme="dark"] .hd__logo--dark{display:block}
[data-theme="dark"] .hd__brand{color:#f1f5f9}
.hd__nav{display:flex;align-items:center;gap:.15rem;margin-left:.5rem;flex:1;min-width:0}
.hd__nav a,.hd__more{text-decoration:none;color:#334155;font-weight:600;font-size:.85rem;padding:.35rem .5rem;border-radius:6px;transition:.12s;white-space:nowrap}
.hd__nav a:hover,.hd__more:hover{background:#f1f5f9;color:var(--accent)}
.hd__nav a[aria-current="page"]{color:var(--accent);background:rgba(193,18,31,.06)}
[data-theme="dark"] .hd__nav a{color:#cbd5e1}
[data-theme="dark"] .hd__nav a:hover{background:#1e293b}
.hd__more{display:inline-flex;align-items:center;gap:.2rem;background:none;border:none;cursor:pointer;font:inherit;font-weight:600;font-size:.85rem;color:#334155;padding:.35rem .5rem;border-radius:6px}
[data-theme="dark"] .hd__more{color:#cbd5e1}
.hd__actions{display:flex;align-items:center;gap:.3rem;margin-left:auto;flex-shrink:0}
.hd__icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:none;background:transparent;color:#64748b;cursor:pointer;transition:.12s}
.hd__icon:hover{background:#f1f5f9;color:var(--accent)}
[data-theme="dark"] .hd__icon{color:#94a3b8}
[data-theme="dark"] .hd__icon:hover{background:#1e293b}
.hd__user{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;font-size:.75rem;text-decoration:none}
.hd__burger{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:6px}
.hd__burger span{display:block;width:20px;height:2px;background:#334155;border-radius:2px;transition:.2s}
[data-theme="dark"] .hd__burger span{background:#cbd5e1}
.hd__burger.is-open span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.hd__burger.is-open span:nth-child(2){opacity:0}
.hd__burger.is-open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}

/* Search expandable */
.hd__search{max-height:0;overflow:hidden;transition:max-height .25s ease;background:#f8fafc;border-top:1px solid #e5e7eb}
.hd__search.is-open{max-height:80px}
[data-theme="dark"] .hd__search{background:#1e293b;border-color:#334155}
.hd__search-form{max-width:var(--max);margin:0 auto;display:flex;gap:.4rem;padding:.5rem 1rem}
.hd__search-form input{flex:1;padding:.45rem .8rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;outline:none;background:#fff}
[data-theme="dark"] .hd__search-form input{background:#0f172a;border-color:#334155;color:#f1f5f9}
.hd__search-form input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(193,18,31,.15)}
.hd__search-form button{padding:.45rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;font-size:.85rem}

/* Mega menu */
.mega{max-height:0;overflow:hidden;transition:max-height .3s ease;background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 8px 24px rgba(15,23,42,.1)}
.mega[aria-hidden="false"]{max-height:400px}
[data-theme="dark"] .mega{background:#0f172a;border-color:#1e293b}
.mega__in{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding:1.5rem 1rem}
.mega__head{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:#94a3b8;margin:0 0 .6rem;padding-bottom:.35rem;border-bottom:2px solid var(--accent)}
.mega__col{display:flex;flex-direction:column;gap:.25rem}
.mega__col a{text-decoration:none;color:#334155;font-size:.88rem;font-weight:500;padding:.25rem 0;transition:.1s}
.mega__col a:hover{color:var(--accent);padding-left:4px}
[data-theme="dark"] .mega__col a{color:#cbd5e1}

/* Mobile nav */
.hd__mobile{display:none;flex-direction:column;gap:.15rem;padding:.8rem 1rem;background:#fff;border-top:1px solid #e5e7eb;max-height:0;overflow:hidden;transition:max-height .3s ease}
.hd__mobile[aria-hidden="false"]{max-height:600px}
[data-theme="dark"] .hd__mobile{background:#0f172a;border-color:#1e293b}
.hd__mobile a{text-decoration:none;color:#334155;font-weight:600;font-size:.92rem;padding:.45rem .5rem;border-radius:6px;display:block}
.hd__mobile a:hover{background:#f1f5f9}
[data-theme="dark"] .hd__mobile a{color:#cbd5e1}
.hd__mobile hr{border:none;border-top:1px solid #e5e7eb;margin:.3rem 0}

@media(max-width:860px){
  .hd__nav{display:none}
  .hd__burger{display:flex}
  .hd__mobile{display:flex}
  .topbar__date{display:none}
  .mega{display:none}
}
@media(max-width:520px){
  .hd__brand span{font-size:1.15rem}
  .hd__logo{height:32px}
}

/* ===== Footer v3: scalable columns + collapsible ========================= */
.ft{background:#0b1118;color:#9aa7b5;margin-top:2.5rem}
.ft__in{max-width:var(--max);margin:0 auto;padding:0 1rem}
.ft__top{padding:2rem 0 1.5rem}
.ft__top .ft__in{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:1.5rem;align-items:start}
.ft__brand-col{display:flex;flex-direction:column;gap:.4rem}
.ft__brand{display:inline-flex;align-items:center;gap:.3rem;color:#fff;text-decoration:none;font-weight:800;font-size:1.3rem;letter-spacing:-.02em}
.ft__logo{height:36px;width:auto;display:block}
.ft__about{margin:0;font-size:.82rem;line-height:1.55;color:#9aa7b5;max-width:32ch}
.ft__social{display:flex;gap:.6rem;margin-top:.5rem}
.ft__social a{color:#9aa7b5;text-decoration:none;font-size:.78rem}
.ft__social a:hover{color:#fff}
.ft__group{border:none}
.ft__group[open] summary::after{transform:rotate(180deg)}
.ft__head{color:#fff;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin:0;padding:.4rem 0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;list-style:none;border-bottom:2px solid var(--accent)}
.ft__head::after{content:"";display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #9aa7b5;transition:.2s;margin-left:.3rem}
.ft__head::-webkit-details-marker{display:none}
.ft__count{font-size:.6rem;background:#1e293b;padding:.1rem .35rem;border-radius:4px;font-weight:600;margin-left:.3rem}
.ft__links{list-style:none;margin:.6rem 0 0;padding:0}
.ft__links li{margin-bottom:.35rem}
.ft__links a{color:#9aa7b5;text-decoration:none;font-size:.84rem;transition:.1s}
.ft__links a:hover{color:#fff;padding-left:3px}
.ft__links--compact{columns:2;column-gap:1rem}
.ft__links--compact li{margin-bottom:.25rem;font-size:.78rem}
.ft__posts{list-style:none;margin:.6rem 0 0;padding:0}
.ft__posts li{padding:.4rem 0;border-bottom:1px solid #1b2532}
.ft__posts li:last-child{border-bottom:0}
.ft__posts a{color:#cbd5e1;text-decoration:none;font-size:.82rem;font-weight:600;line-height:1.3;display:block}
.ft__posts a:hover{color:#fff}
.ft__posts time{display:block;color:#6b7785;font-size:.68rem;margin-top:.15rem}
.ft__nl{border-top:1px solid #1b2532;padding:.8rem 0}
.ft__bottom{border-top:1px solid #1b2532;padding:.8rem 0;font-size:.78rem;color:#6b7785}
.ft__legal{display:flex;gap:1rem}
.ft__legal a{color:#9aa7b5;text-decoration:none;font-size:.78rem}
.ft__legal a:hover{color:#fff}
@media(max-width:860px){.ft__top .ft__in{grid-template-columns:1fr 1fr;gap:1.2rem}.ft__brand-col{grid-column:1/-1}}
@media(max-width:520px){.ft__top .ft__in{grid-template-columns:1fr}.ft__links--compact{columns:1}}


/* ---- Lightbox ------------------------------------------------------------ */
.pv-lb { display:none; position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,.92); align-items:center; justify-content:center; }
.pv-lb--open { display:flex; }
.pv-lb__fig { margin:0; text-align:center; max-width:90vw; max-height:90vh; }
.pv-lb__img { max-width:90vw; max-height:82vh; object-fit:contain; border-radius:6px; }
.pv-lb__cap { color:#ccc; font-size:.85rem; margin-top:.5rem; }
.pv-lb__close, .pv-lb__prev, .pv-lb__next { position:absolute; background:none; border:none; color:#fff; font-size:2.2rem; cursor:pointer; padding:.5rem; line-height:1; z-index:2; transition:opacity .15s; opacity:.7; }
.pv-lb__close:hover, .pv-lb__prev:hover, .pv-lb__next:hover { opacity:1; }
.pv-lb__close { top:.8rem; right:1rem; font-size:2.5rem; }
.pv-lb__prev { left:1rem; top:50%; transform:translateY(-50%); font-size:3rem; }
.pv-lb__next { right:1rem; top:50%; transform:translateY(-50%); font-size:3rem; }
.pv-lb__counter { position:absolute; bottom:1rem; left:50%; transform:translateX(-50%); color:#999; font-size:.8rem; }
.article-figure img, .pic-grid img, [data-lightbox] img { cursor:zoom-in; }

/* ---- Dark mode ----------------------------------------------------------- */
[data-theme="dark"] { --bg:#181a1b; --text:#d4d4d4; --panel:#242628; --panel-2:#2c2e31; --line:#3a3d41; --muted:#999; --accent:#5b9bd5; }
[data-theme="dark"] body { background:var(--bg); color:var(--text); }
[data-theme="dark"] .masthead { background:#111; }
[data-theme="dark"] .topbar { background:#0d0d0d; }
[data-theme="dark"] .foot { background:#111; }
[data-theme="dark"] .card, [data-theme="dark"] .art-widget, [data-theme="dark"] article { background:var(--panel); }
[data-theme="dark"] a { color:var(--accent); }
[data-theme="dark"] .masthead__nav a, [data-theme="dark"] .foot a { color:#ccc; }
[data-theme="dark"] .badge-cat { background:#8b1a1a; color:#fdd; }
[data-theme="dark"] a.tag-pill, [data-theme="dark"] .tag-pill { background:#2c2e31; color:#bbb; }
[data-theme="dark"] .art__body { color:#d4d4d4; }
[data-theme="dark"] img { opacity:.92; }
[data-theme="dark"] .pv-lb { background:rgba(0,0,0,.96); }
.theme-toggle { background:none; border:none; cursor:pointer; color:inherit; padding:.3rem; line-height:1; font-size:1.1rem; opacity:.7; transition:opacity .15s; }
.theme-toggle:hover { opacity:1; }

/* ---- Mega-menu: now handled by .mega in header v3 ---- */

/* ---- Sponsored badge (shared) -------------------------------------------- */
.badge-ad { display:inline-block; background:#eef1f4; color:#6b7280; font-size:.62rem; font-weight:700; text-transform:uppercase; padding:.1rem .4rem; border-radius:3px; margin-left:.4rem; letter-spacing:.04em; vertical-align:middle; }
[data-theme="dark"] .badge-ad { background:#3a3d41; color:#999; }

/* ---- Share copy / native ------------------------------------------------- */
.art-share--copy, .art-share--native { background:#6b7280; }
.art-share--copy:hover, .art-share--native:hover { background:#555; }
.art-share--print { background:#555; }
.art-share--print:hover { background:#444; }

/* ---- Prev/Next nav ------------------------------------------------------- */
.art__prevnext a:hover { background:#f7f8fa; }
[data-theme="dark"] .art__prevnext a { border-color:#3a3d41; }
[data-theme="dark"] .art__prevnext a:hover { background:#2c2e31; }

/* ---- Newsletter CTA ------------------------------------------------------ */
[data-theme="dark"] .art__nl-cta { background:linear-gradient(135deg,#0a3a6b,#155599) !important; }

/* ---- Author avatars ------------------------------------------------------ */
.meta-avatar { width:22px; height:22px; border-radius:50%; object-fit:cover; vertical-align:middle; margin-right:.3rem; }
.by-avatar { width:28px; height:28px; border-radius:50%; object-fit:cover; vertical-align:middle; margin-right:.4rem; }

/* ---- Breaking ticker close ----------------------------------------------- */
.home-breaking { position:relative; }
.home-breaking__close { position:absolute; right:.6rem; top:50%; transform:translateY(-50%); background:none; border:none; color:rgba(255,255,255,.7); font-size:1.4rem; cursor:pointer; padding:.2rem; line-height:1; }
.home-breaking__close:hover { color:#fff; }

/* ---- Scroll-to-top dark -------------------------------------------------- */
[data-theme="dark"] #scroll-top { background:#5b9bd5; }

/* ---- Print --------------------------------------------------------------- */
@media print {
  .topbar, .masthead, .skip-link, .art__share, .art__side, .art__prevnext, .art__nl-cta,
  .art__related, .foot, .pv-lb, #scroll-top, #art-progress, .home-breaking,
  .home-aside, .home-breaking, nav, button, iframe, .ad, .widget--ad { display:none !important; }
  .art__main { max-width:100%; margin:0; }
  .art { display:block; }
  .art__body { font-size:11pt; line-height:1.6; }
  a { color:inherit; text-decoration:underline; }
  img { max-width:100%; height:auto; }
  @page { margin:2cm; }
}

/* ---- TOC (Inhaltsverzeichnis) -------------------------------------------- */
.art-toc__list { list-style:none; margin:0; padding:0; counter-reset:toc; }
.art-toc__item { counter-increment:toc; padding:.3rem 0; border-bottom:1px solid rgba(0,0,0,.06); font-size:.85rem; line-height:1.35; }
.art-toc__item a { color:inherit; text-decoration:none; }
.art-toc__item a:hover { text-decoration:underline; }
.art-toc__item::before { content:counter(toc) "."; color:#0a4d8c; font-weight:700; margin-right:.4rem; }
.art-toc__item--sub { padding-left:1.2rem; font-size:.8rem; }
[data-theme="dark"] .art-toc__item { border-color:rgba(255,255,255,.08); }

/* ---- Sticky header ------------------------------------------------------- */
.masthead { position:sticky; top:0; z-index:100; transition:box-shadow .2s; }
.masthead.is-scrolled { box-shadow:0 2px 12px rgba(0,0,0,.1); }
[data-theme="dark"] .masthead.is-scrolled { box-shadow:0 2px 12px rgba(0,0,0,.4); }

/* ---- Lazy-load sections (fade-in on scroll) ------------------------------ */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .5s ease, transform .5s ease; }
.reveal.is-visible { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity:1; transform:none; transition:none; } }

/* ---- Push bell ----------------------------------------------------------- */
.push-bell { background:none; border:none; cursor:pointer; color:inherit; padding:.3rem; line-height:1; font-size:1.1rem; opacity:.6; transition:opacity .15s; }
.push-bell:hover { opacity:1; }
.push-bell--active { opacity:1; color:#0a4d8c; }
.push-bell--active svg { fill:currentColor; }
[data-theme="dark"] .push-bell--active { color:#5b9bd5; }

/* ---- Live search dropdown ------------------------------------------------ */
.search-drop { display:none; position:absolute; top:100%; left:0; right:0; background:#fff; border:1px solid #e5e5e5; border-radius:0 0 10px 10px; box-shadow:0 8px 24px rgba(0,0,0,.12); z-index:200; max-height:360px; overflow-y:auto; }
.search-drop__item { display:flex; gap:.6rem; padding:.6rem .8rem; text-decoration:none; color:inherit; border-bottom:1px solid #f0f0f0; align-items:center; transition:background .1s; }
.search-drop__item:hover { background:#f7f8fa; }
.search-drop__thumb { width:48px; height:36px; border-radius:4px; object-fit:cover; flex-shrink:0; }
.search-drop__text { flex:1; min-width:0; }
.search-drop__title { display:block; font-size:.88rem; font-weight:600; line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.search-drop__meta { display:block; font-size:.72rem; color:#888; margin-top:.1rem; }
.search-drop__empty { display:block; padding:.8rem; color:#888; font-size:.85rem; text-align:center; }
[data-theme="dark"] .search-drop { background:#242628; border-color:#3a3d41; }
[data-theme="dark"] .search-drop__item:hover { background:#333; }
[data-theme="dark"] .search-drop__item { border-color:#333; }
.art-share--bookmark { background:#e6a817; }
.art-share--bookmark:hover { background:#c99415; }

/* ---- Cross-links (related events/jobs/companies/articles) ---------------- */
.xlinks { margin:2rem 0; }
.xlink-box { margin-bottom:1.2rem; }
.xlink-title { font-size:1rem; margin:0 0 .6rem; padding-bottom:.4rem; border-bottom:2px solid #0a4d8c; }
.xlink-grid { display:grid; gap:.5rem; }
.xlink-item { display:flex; gap:.8rem; align-items:center; padding:.6rem .8rem; border:1px solid #eee; border-radius:8px; text-decoration:none; color:inherit; transition:all .2s; }
.xlink-item:hover { background:#f7f8fa; border-color:#ccc; transform:translateX(4px); }
.xlink-thumb { width:56px; height:40px; border-radius:6px; object-fit:cover; flex-shrink:0; }
.xlink-date { text-align:center; min-width:40px; flex-shrink:0; font-weight:800; font-size:1.1rem; color:#c1121f; line-height:1; }
.xlink-date small { display:block; font-size:.6rem; text-transform:uppercase; font-weight:600; color:#888; }
.xlink-icon { font-size:1.3rem; flex-shrink:0; width:40px; text-align:center; }
.xlink-text { flex:1; min-width:0; }
.xlink-name { display:block; font-weight:600; font-size:.9rem; line-height:1.3; }
.xlink-meta { display:block; font-size:.75rem; color:#888; margin-top:.1rem; }
[data-theme="dark"] .xlink-item { border-color:#3a3d41; }
[data-theme="dark"] .xlink-item:hover { background:#2c2e31; }

/* ---- Dynamic list pages (tabs, load-more, cards hover) ------------------- */
.portal-tabs { display:flex; gap:.3rem; margin-bottom:1.2rem; flex-wrap:wrap; }
.portal-tab { padding:.4rem .8rem; border-radius:999px; border:1px solid #ddd; background:transparent; color:inherit; cursor:pointer; font-size:.8rem; font-weight:600; transition:all .15s; }
.portal-tab:hover { border-color:#0a4d8c; color:#0a4d8c; }
.portal-tab--active { background:#0a4d8c; color:#fff; border-color:#0a4d8c; }
[data-theme="dark"] .portal-tab { border-color:#555; }
[data-theme="dark"] .portal-tab--active { background:#5b9bd5; border-color:#5b9bd5; }

.card-hover { transition:transform .15s, box-shadow .15s; }
.card-hover:hover { transform:translateY(-3px); box-shadow:0 6px 20px rgba(0,0,0,.08); }
[data-theme="dark"] .card-hover:hover { box-shadow:0 6px 20px rgba(0,0,0,.3); }

.load-more-btn { display:block; margin:1.5rem auto; padding:.6rem 2rem; background:transparent; border:2px solid #0a4d8c; color:#0a4d8c; border-radius:999px; font-weight:700; cursor:pointer; transition:all .15s; }
.load-more-btn:hover { background:#0a4d8c; color:#fff; }

.fade-in { animation:pvFadeIn .4s ease; }
@keyframes pvFadeIn { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { .fade-in { animation:none; } }

/* ---- AI Badge (KI-generiert) -------------------------------------------- */
.ai-badge { position:absolute; top:.6rem; left:.6rem; background:rgba(0,0,0,.75); color:#ffd700; font-size:.68rem; font-weight:700; padding:.25rem .5rem; border-radius:6px; z-index:5; backdrop-filter:blur(4px); letter-spacing:.02em; }
.ai-badge-inline { display:inline-block; background:#2a2a2a; color:#ffd700; font-size:.6rem; font-weight:700; padding:.15rem .35rem; border-radius:4px; margin-left:.3rem; vertical-align:middle; letter-spacing:.02em; }

/* ---- Article legal/transparency section --------------------------------- */
.art__legal { margin:1.5rem 0; padding:1.2rem 1.5rem; background:#fafbfc; border:1px solid #e5e7eb; border-radius:10px; border-left:3px solid #0a4d8c; font-size:.85rem; line-height:1.5; }
[data-theme="dark"] .art__legal { background:#1e2023; border-color:#3a3d41; }
.art__legal-head { margin:0 0 .8rem; font-size:.95rem; color:#0a4d8c; display:flex; align-items:center; gap:.4rem; }
[data-theme="dark"] .art__legal-head { color:#5b9bd5; }
.art__legal-item { margin-bottom:.6rem; padding-bottom:.6rem; border-bottom:1px solid rgba(0,0,0,.06); }
[data-theme="dark"] .art__legal-item { border-color:rgba(255,255,255,.06); }
.art__legal-item:last-of-type { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.art__legal-item p { margin:.2rem 0 0; }
.art__legal-badge { display:inline-block; padding:.2rem .5rem; border-radius:4px; font-size:.72rem; font-weight:700; margin-right:.3rem; }
.art__legal-badge--ai { background:#fff3cd; color:#856404; }
[data-theme="dark"] .art__legal-badge--ai { background:#433a1a; color:#ffc107; }
.art__legal-badge--fact { background:#d4edda; color:#155724; }
.art__legal-badge--correction { background:#fbe6e4; color:#b3261e; }
.art__legal-label { font-weight:700; color:#555; }
[data-theme="dark"] .art__legal-label { color:#aaa; }
.art__legal-note { font-style:italic; color:#666; font-size:.82rem; margin-top:.2rem; }
.art__legal-footer { margin-top:.8rem; padding-top:.6rem; border-top:1px solid rgba(0,0,0,.06); }
.art__legal-footer small { color:#888; }
.art__legal-footer a { color:#0a4d8c; }
[data-theme="dark"] .art__legal-footer { border-color:rgba(255,255,255,.06); }

.art__legal-ai { background:rgba(255,243,205,.3); border-radius:6px; padding:.6rem .8rem; }
[data-theme="dark"] .art__legal-ai { background:rgba(67,58,26,.3); }

.art__legal-correction { background:rgba(251,230,228,.3); border-radius:6px; padding:.6rem .8rem; }

/* ---- Article timeline (Bisherige Berichterstattung) ---------------------- */
.art__timeline { margin:1.5rem 0; padding:1.2rem 1.5rem; background:#fafbfc; border:1px solid #e5e7eb; border-radius:10px; }
[data-theme="dark"] .art__timeline { background:#1e2023; border-color:#3a3d41; }
.art__timeline-head { font-size:.95rem; margin:0 0 .8rem; color:#0a4d8c; }
.timeline { list-style:none; margin:0; padding:0; position:relative; }
.timeline::before { content:''; position:absolute; left:18px; top:8px; bottom:8px; width:2px; background:#ddd; }
[data-theme="dark"] .timeline::before { background:#444; }
.timeline__item { position:relative; padding-left:44px; margin-bottom:.8rem; }
.timeline__item::before { content:''; position:absolute; left:13px; top:8px; width:12px; height:12px; background:#fff; border:2px solid #0a4d8c; border-radius:50%; z-index:1; }
[data-theme="dark"] .timeline__item::before { background:#1e2023; }
.timeline__item--current::before { background:#0a4d8c; border-color:#0a4d8c; width:14px; height:14px; left:12px; }
.timeline__item--future::before { border-color:#aaa; border-style:dashed; }
.timeline__link { display:flex; gap:.6rem; align-items:center; text-decoration:none; color:inherit; padding:.4rem .6rem; border-radius:6px; transition:background .15s; }
.timeline__link:hover { background:rgba(10,77,140,.06); }
.timeline__link--current { font-weight:700; }
.timeline__thumb { width:48px; height:32px; border-radius:4px; object-fit:cover; flex-shrink:0; }
.timeline__text { flex:1; min-width:0; }
.timeline__kicker { display:block; font-size:.65rem; font-weight:700; text-transform:uppercase; color:#c1121f; }
.timeline__title { display:block; font-size:.88rem; font-weight:600; line-height:1.3; }
.timeline__date { display:block; font-size:.72rem; color:#888; margin-top:.1rem; }
.timeline__marker { color:#0a4d8c; font-size:.9rem; margin-right:.3rem; }

/* ---- Cover validation (admin) ------------------------------------------- */
.cover-check { position:relative; border-radius:8px; overflow:hidden; border:2px solid transparent; }
.cover-check img { width:100%; height:auto; display:block; }
.cover-check--ok { border-color:#28a745; }
.cover-check--warn { border-color:#ffc107; }
.cover-dims { position:absolute; bottom:.4rem; right:.4rem; background:rgba(0,0,0,.7); color:#fff; font-size:.7rem; padding:.15rem .4rem; border-radius:4px; }
.cover-warnings { background:#fff3cd; color:#856404; font-size:.78rem; padding:.5rem .8rem; margin-top:.3rem; border-radius:0 0 6px 6px; }

/* ---- Phase 1+2 blocks: public rendering --------------------------------- */
.blk-fakten{background:#fef9e7;border:1px solid #f9e79f;border-left:4px solid #f1c40f;border-radius:8px;padding:1rem 1.2rem;margin:1.2rem 0}
.blk-fakten__head{font-weight:800;font-size:.95rem;margin:0 0 .5rem}
.blk-fakten ul{margin:0;padding:0 0 0 1.2rem;font-size:.9rem;line-height:1.6}
[data-theme="dark"] .blk-fakten{background:#2c2a1a;border-color:#5a4e1a}

.blk-chrono{background:var(--panel,#fff);border:1px solid #e2e8f0;border-radius:8px;padding:1rem 1.2rem;margin:1.2rem 0}
.blk-chrono__head{font-weight:800;font-size:.95rem;margin:0 0 .6rem}
.blk-chrono__list{list-style:none;margin:0;padding:0;position:relative}
.blk-chrono__list::before{content:'';position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:#cbd5e1}
.blk-chrono__list li{padding:0 0 .5rem 24px;position:relative;font-size:.88rem;line-height:1.5}
.blk-chrono__list li::before{content:'';position:absolute;left:2px;top:7px;width:10px;height:10px;background:#6366f1;border-radius:50%;border:2px solid #fff}
.blk-chrono__list time{font-weight:700;color:#6366f1;margin-right:.3rem}
[data-theme="dark"] .blk-chrono{background:#1e2023;border-color:#3a3d41}

.blk-hinweis{border-radius:8px;padding:1rem 1.2rem;margin:1.2rem 0;border-left:4px solid}
.blk-hinweis__head{font-weight:800;font-size:.9rem;margin:0 0 .3rem}
.blk-hinweis--info{background:#eff6ff;border-color:#3b82f6;color:#1e40af}
.blk-hinweis--warnung{background:#fffbeb;border-color:#f59e0b;color:#92400e}
.blk-hinweis--gefahr{background:#fef2f2;border-color:#ef4444;color:#991b1b}
.blk-hinweis--tipp{background:#f0fdf4;border-color:#22c55e;color:#166534}
[data-theme="dark"] .blk-hinweis--info{background:#172554;color:#93c5fd}
[data-theme="dark"] .blk-hinweis--warnung{background:#422006;color:#fcd34d}
[data-theme="dark"] .blk-hinweis--gefahr{background:#450a0a;color:#fca5a5}
[data-theme="dark"] .blk-hinweis--tipp{background:#052e16;color:#86efac}

/* Quellen / Sources box */
.blk-quellen{margin:1.8rem 0 1.2rem;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:1rem 1.2rem}
.blk-quellen__head{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:#475569;margin:0 0 .6rem}
.blk-quellen__head i{color:var(--accent,#c1121f)}
.blk-quellen__list{margin:0;padding-left:1.4rem;display:flex;flex-direction:column;gap:.5rem}
.blk-quellen__list li{font-size:.9rem;line-height:1.55;color:#334155;padding-left:.2rem}
.blk-quellen__list li::marker{color:var(--accent,#c1121f);font-weight:700}
.blk-quellen__link{display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap;font-weight:600;color:var(--accent,#c1121f);text-decoration:none;font-size:.86rem}
.blk-quellen__link:hover{text-decoration:underline}
.blk-quellen__link i{font-size:.82em}
[data-theme="dark"] .blk-quellen{background:#1e293b;border-color:#334155}
[data-theme="dark"] .blk-quellen__head{color:#94a3b8}
[data-theme="dark"] .blk-quellen__list li{color:#cbd5e1}

.blk-faq{margin:1.2rem 0;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}
.blk-faq__head{font-weight:800;font-size:.95rem;margin:0;padding:.8rem 1.2rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}
.blk-faq__item{border-bottom:1px solid #f1f5f9}
.blk-faq__item:last-child{border-bottom:0}
.blk-faq__item summary{padding:.7rem 1.2rem;font-weight:700;font-size:.9rem;cursor:pointer;list-style:none}
.blk-faq__item summary::before{content:'+';margin-right:.5rem;font-weight:800;color:#6366f1}
.blk-faq__item[open] summary::before{content:'-'}
.blk-faq__item p{padding:0 1.2rem .7rem;margin:0;font-size:.88rem;color:#475569}
[data-theme="dark"] .blk-faq{border-color:#3a3d41}
[data-theme="dark"] .blk-faq__head{background:#1e2023}
[data-theme="dark"] .blk-faq__item p{color:#94a3b8}

.blk-person{display:flex;gap:1rem;align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem 1.2rem;margin:1.2rem 0}
.blk-person__avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.2rem;flex-shrink:0}
.blk-person__name{font-weight:800;font-size:.95rem;margin:0}
.blk-person__role{font-size:.78rem;color:#6366f1;font-weight:600;margin:.1rem 0}
.blk-person__bio{font-size:.85rem;color:#64748b;margin:.3rem 0 0;line-height:1.4}
[data-theme="dark"] .blk-person{background:#1e2023;border-color:#3a3d41}

.blk-data{margin:1.2rem 0;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}
.blk-data__head{font-weight:800;font-size:.95rem;margin:0;padding:.8rem 1.2rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}
.blk-data__tbl{width:100%;border-collapse:collapse}
.blk-data__tbl tr{border-bottom:1px solid #f1f5f9}
.blk-data__tbl tr:last-child{border-bottom:0}
.blk-data__label{padding:.5rem 1rem;font-weight:600;font-size:.88rem;color:#334155;width:40%}
.blk-data__val{padding:.5rem 1rem;font-size:.88rem;color:#0f172a;font-weight:700;font-family:var(--mono,'JetBrains Mono',monospace)}
[data-theme="dark"] .blk-data{border-color:#3a3d41}

.blk-weiterlesen{background:#f0f7ff;border:1px solid #bfdbfe;border-left:4px solid #3b82f6;border-radius:8px;padding:1rem 1.2rem;margin:1.2rem 0}
.blk-weiterlesen__head{font-weight:800;font-size:.9rem;margin:0 0 .3rem}
.blk-weiterlesen__hint{font-size:.82rem;color:#64748b;font-style:italic;margin:.2rem 0 0}
[data-theme="dark"] .blk-weiterlesen{background:#172554;border-color:#1e40af}

.blk-social{margin:1.2rem 0;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}
.blk-social__consent{text-align:center;padding:1.5rem;background:#f8fafc}
.blk-social__note{font-size:.78rem;color:#64748b;margin:.2rem 0 .6rem}
.blk-social__load{background:#6366f1;color:#fff;border:none;padding:.5rem 1.2rem;border-radius:6px;font-weight:700;cursor:pointer;font-size:.88rem}
.blk-social__load:hover{background:#4f46e5}

/* ---- Phase 3: System cards (company/event/job) -------------------------- */
.blk-card{display:flex;gap:1rem;align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:1rem 1.2rem;margin:1.2rem 0;transition:.15s}
.blk-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px rgba(15,23,42,.06)}
.blk-card__icon{font-size:1.8rem;flex-shrink:0;width:48px;text-align:center}
.blk-card__date{text-align:center;flex-shrink:0;width:56px;line-height:1}
.blk-card__day{display:block;font-size:1.8rem;font-weight:900;color:#c1121f}
.blk-card__mon{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;color:#64748b}
.blk-card__yr{display:block;font-size:.65rem;color:#94a3b8}
.blk-card__body{flex:1;min-width:0}
.blk-card__name{margin:0;font-weight:800;font-size:1rem}
.blk-card__name a{text-decoration:none;color:inherit}
.blk-card__name a:hover{color:#6366f1}
.blk-card__badge{color:#059669;font-size:.8rem}
.blk-card__meta{margin:.15rem 0 0;font-size:.82rem;color:#64748b}
.blk-card__detail{margin:.2rem 0 0;font-size:.82rem;color:#334155}
.blk-card__detail a{color:#6366f1}
.blk-card__link{display:inline-block;margin-top:.4rem;font-size:.82rem;font-weight:700;color:#6366f1;text-decoration:none}
.blk-card__link:hover{text-decoration:underline}
.blk-card--company{border-left:3px solid #059669}
.blk-card--event{border-left:3px solid #c1121f}
.blk-card--job{border-left:3px solid #6366f1}
.blk-card--event-manual{border-left:3px solid #d97706}
[data-theme="dark"] .blk-card{background:#1e2023;border-color:#3a3d41}

/* ---- Phase 4: Umfrage (poll) -------------------------------------------- */
.blk-poll{margin:1.2rem 0;border:1px solid #e2e8f0;border-radius:10px;padding:1.2rem;background:#f8fafc}
.blk-poll__q{font-weight:800;font-size:1rem;margin:0 0 .7rem}
.blk-poll__opts{display:flex;flex-direction:column;gap:.3rem}
.blk-poll__opt{text-align:left;padding:.6rem 1rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font:inherit;font-size:.9rem;font-weight:600;transition:.15s}
.blk-poll__opt:hover{border-color:#6366f1;color:#6366f1}
.blk-poll__opt--sel{background:#6366f1!important;color:#fff!important;border-color:#6366f1!important}
.blk-poll__thx{display:none;text-align:center;color:#059669;font-weight:700;margin:.6rem 0 0}
.blk-poll--voted .blk-poll__opt{pointer-events:none;opacity:.6}
.blk-poll--voted .blk-poll__opt--sel{opacity:1}
.blk-poll--voted .blk-poll__thx{display:block}
[data-theme="dark"] .blk-poll{background:#1e2023;border-color:#3a3d41}
[data-theme="dark"] .blk-poll__opt{background:#2a2d31;border-color:#3a3d41}

/* ---- Phase 4: Vergleichstabelle ----------------------------------------- */
.blk-compare{margin:1.2rem 0;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}
.blk-compare__tbl{width:100%;border-collapse:collapse}
.blk-compare__tbl th{padding:.7rem 1rem;background:#f1f5f9;font-weight:800;font-size:.88rem;text-align:center;border-bottom:2px solid #e2e8f0;width:50%}
.blk-compare__tbl th:first-child{border-right:1px solid #e2e8f0}
.blk-compare__tbl td{padding:.5rem 1rem;font-size:.88rem;border-bottom:1px solid #f1f5f9;vertical-align:top}
.blk-compare__tbl td:first-child{border-right:1px solid #f1f5f9}
[data-theme="dark"] .blk-compare{border-color:#3a3d41}
[data-theme="dark"] .blk-compare__tbl th{background:#1e2023}

/* ---- Phase 5: Karte ----------------------------------------------------- */
.blk-map{margin:1.2rem 0;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}
.blk-map__consent{text-align:center;padding:1.5rem;background:#f8fafc}
.blk-map__note{font-size:.78rem;color:#64748b;margin:.2rem 0 .6rem}
.blk-map__load{background:#6366f1;color:#fff;border:none;padding:.5rem 1.2rem;border-radius:6px;font-weight:700;cursor:pointer}

/* ---- Phase 5: Dokument -------------------------------------------------- */
.blk-doc{display:flex;gap:.8rem;align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-left:3px solid #6366f1;border-radius:8px;padding:1rem 1.2rem;margin:1.2rem 0}
.blk-doc__icon{font-size:1.4rem;flex-shrink:0}
.blk-doc__name{margin:0;font-weight:700;font-size:.95rem}
.blk-doc__name a{color:#6366f1;text-decoration:none}
.blk-doc__desc{font-size:.82rem;color:#64748b;margin:.2rem 0 0}
[data-theme="dark"] .blk-doc{background:#1e2023;border-color:#3a3d41}

/* ---- Phase 5: Audio-Clip ------------------------------------------------ */
.blk-audio{display:flex;gap:.8rem;align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-left:3px solid #8b5cf6;border-radius:8px;padding:1rem 1.2rem;margin:1.2rem 0}
.blk-audio__icon{font-size:1.4rem;flex-shrink:0}
.blk-audio__desc{margin:0;font-weight:600;font-size:.9rem}
.blk-audio__hint{font-size:.78rem;color:#94a3b8;font-style:italic;margin:.2rem 0 0}
[data-theme="dark"] .blk-audio{background:#1e2023;border-color:#3a3d41}

/* ========================================================================== */
/* ===== Article page v3 — modern reader layout ============================= */
/* ========================================================================== */
.artx{max-width:var(--max);margin:0 auto;padding:1rem var(--gap);display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2.5rem;align-items:start}
.artx__main{min-width:0;max-width:720px}

/* Reading progress */
.artx__progress{position:fixed;top:0;left:0;height:3px;background:var(--accent);width:0;z-index:100;transition:width .1s ease}

/* Header */
.artx__head{margin-bottom:1.5rem}
.artx__disclosure{font-size:.78rem;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .6rem}
.artx__badges{display:flex;align-items:center;gap:.5rem;margin-bottom:.8rem;flex-wrap:wrap}
.artx__cat{display:inline-block;background:var(--accent);color:#fff;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:.25rem .7rem;border-radius:999px;text-decoration:none}
.artx__breaking{display:inline-flex;align-items:center;gap:.3rem;background:#fef2f2;color:#dc2626;font-size:.72rem;font-weight:800;text-transform:uppercase;padding:.25rem .6rem;border-radius:999px;animation:artxPulse 2s infinite}
@keyframes artxPulse{0%,100%{opacity:1}50%{opacity:.6}}

.artx__kicker{font-size:.95rem;font-weight:700;color:var(--accent);margin:0 0 .3rem;text-transform:uppercase;letter-spacing:.02em}
.artx__title{font-size:2.4rem;font-weight:900;line-height:1.12;letter-spacing:-.025em;margin:0 0 .8rem;color:#0f172a}
[data-theme="dark"] .artx__title{color:#f8fafc}
.artx__lead{font-size:1.2rem;line-height:1.5;color:#475569;font-weight:400;margin:0 0 1.2rem}
[data-theme="dark"] .artx__lead{color:#cbd5e1}
.artx__meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 0;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}
[data-theme="dark"] .artx__meta{border-color:#1e293b}
.artx__byline{display:flex;align-items:center;gap:.7rem}
.artx__avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0}
.artx__avatar--letter{background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.1rem}
.artx__byline-text{display:flex;flex-direction:column;gap:.1rem}
.artx__author{font-weight:700;font-size:.92rem}
.artx__author a{color:inherit;text-decoration:none}
.artx__author a:hover{color:var(--accent)}
.artx__meta-line{font-size:.8rem;color:#94a3b8}
.artx__share{display:flex;align-items:center;gap:.3rem}
.artx__sh{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid #e2e8f0;background:#fff;color:#64748b;cursor:pointer;transition:.15s;text-decoration:none}
.artx__sh svg{width:16px;height:16px}
.artx__sh:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}
[data-theme="dark"] .artx__sh{background:#1e293b;border-color:#334155;color:#94a3b8}
.artx__sh--facebook:hover{background:#1877f2;color:#fff;border-color:#1877f2}
.artx__sh--x:hover{background:#000;color:#fff;border-color:#000}
.artx__sh--whatsapp:hover{background:#25d366;color:#fff;border-color:#25d366}
.artx__sh--copy.is-ok{background:#059669;color:#fff;border-color:#059669}
.artx__sh--bookmark.is-active{background:var(--accent);color:#fff;border-color:var(--accent)}
.artx__cover{margin:0 0 1.8rem;position:relative}
.artx__cover img{width:100%;height:auto;border-radius:14px;display:block}
.artx__cover figcaption{font-size:.8rem;color:#94a3b8;margin-top:.5rem;padding-left:.2rem}
.artx__audio{margin:0 0 1.5rem}
.artx__audio-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:rgba(99,102,241,.1);border:1px solid var(--accent);border-radius:999px;color:var(--accent);font-weight:700;cursor:pointer;font-size:.9rem;transition:.15s}
.artx__audio-btn:hover{background:var(--accent);color:#fff}
.artx__audio-el{width:100%;margin-top:.6rem}
.artx__body{font-size:1.12rem;line-height:1.75;color:#1e293b}
[data-theme="dark"] .artx__body{color:#e2e8f0}
.artx__body>p{margin:0 0 1.3rem}
.artx__body>p:first-of-type{font-size:1.18rem}
.artx__body h2{font-size:1.6rem;font-weight:800;letter-spacing:-.01em;margin:2rem 0 .8rem;line-height:1.25}
.artx__body h3{font-size:1.3rem;font-weight:700;margin:1.6rem 0 .6rem}
.artx__inline-ad{margin:2rem 0;text-align:center}
.artx__tags{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin:1.5rem 0;padding-top:1.2rem;border-top:1px solid #e2e8f0}
[data-theme="dark"] .artx__tags{border-color:#1e293b}
.artx__tags-label{font-size:.82rem;font-weight:700;color:#94a3b8}
.artx__cta{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;padding:1.4rem 1.6rem;border-radius:14px;margin:2rem 0}
.artx__cta-text{flex:1;min-width:200px}
.artx__cta-text strong{font-size:1.1rem}
.artx__cta-text p{margin:.3rem 0 0;font-size:.9rem;opacity:.9}
.artx__cta-btn{background:#fff;color:var(--accent);padding:.6rem 1.4rem;border-radius:999px;font-weight:800;text-decoration:none;font-size:.92rem;white-space:nowrap;transition:.15s}
.artx__cta-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.2)}
.artx__author-card{display:flex;gap:1.2rem;align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:1.4rem;margin:2rem 0}
[data-theme="dark"] .artx__author-card{background:#1e293b;border-color:#334155}
.artx__author-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.5rem;flex-shrink:0;overflow:hidden}
.artx__author-avatar img{width:100%;height:100%;object-fit:cover}
.artx__author-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}
.artx__author-name{font-size:1.1rem;font-weight:800;margin:.15rem 0}
.artx__author-name a{color:inherit;text-decoration:none}
.artx__author-name a:hover{color:var(--accent)}
.artx__author-bio{font-size:.88rem;color:#64748b;line-height:1.5;margin:.3rem 0 0}
.artx__prevnext{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0}
.artx__pn{padding:1rem 1.2rem;border:1px solid #e2e8f0;border-radius:12px;text-decoration:none;color:inherit;transition:.15s}
.artx__pn:hover{border-color:var(--accent);box-shadow:0 4px 12px rgba(99,102,241,.1)}
[data-theme="dark"] .artx__pn{border-color:#334155}
.artx__pn--next{text-align:right}
.artx__pn-label{display:block;font-size:.75rem;color:#94a3b8;font-weight:600}
.artx__pn-title{display:block;font-size:.95rem;font-weight:700;line-height:1.3;margin-top:.3rem}
.artx__section-head{font-size:1.3rem;font-weight:800;margin:0 0 1rem;padding-top:1.5rem;border-top:3px solid var(--accent)}
.artx__related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.2rem}
.artx__related-card{text-decoration:none;color:inherit}
.artx__related-img{display:block;border-radius:10px;overflow:hidden;aspect-ratio:16/9}
.artx__related-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.artx__related-card:hover .artx__related-img img{transform:scale(1.05)}
.artx__related-cat{display:block;font-size:.72rem;color:var(--accent);font-weight:800;text-transform:uppercase;margin-top:.5rem}
.artx__related-title{display:block;font-size:.98rem;font-weight:700;line-height:1.3;margin-top:.2rem}
.artx__related-time{display:block;font-size:.78rem;color:#94a3b8;margin-top:.25rem}
.artx__side{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:80px}
.artx__widget{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1.2rem}
[data-theme="dark"] .artx__widget{background:#1e293b;border-color:#334155}
.artx__widget-head{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#0f172a;margin:0 0 .9rem;padding-bottom:.5rem;border-bottom:2px solid var(--accent)}
[data-theme="dark"] .artx__widget-head{color:#f1f5f9}
.artx__toc-list{list-style:none;margin:0;padding:0}
.artx__toc-item{margin-bottom:.5rem}
.artx__toc-item a{color:#475569;text-decoration:none;font-size:.88rem;line-height:1.4;transition:.1s;display:block;padding-left:.8rem;border-left:2px solid #e2e8f0}
.artx__toc-item a:hover{color:var(--accent);border-color:var(--accent);padding-left:1rem}
.artx__toc-item.is-sub a{padding-left:1.6rem;font-size:.82rem;color:#94a3b8}
[data-theme="dark"] .artx__toc-item a{color:#cbd5e1;border-color:#334155}
.artx__pop{list-style:none;margin:0;padding:0}
.artx__pop-item{display:flex;gap:.7rem;align-items:flex-start;padding:.6rem 0;border-bottom:1px solid #f1f5f9}
.artx__pop-item:last-child{border-bottom:0}
[data-theme="dark"] .artx__pop-item{border-color:#334155}
.artx__pop-rank{font-family:var(--mono,monospace);font-size:1.3rem;font-weight:800;color:var(--accent);line-height:1;flex-shrink:0;width:24px}
.artx__pop-title{font-size:.88rem;font-weight:600;line-height:1.35;text-decoration:none;color:inherit}
.artx__pop-title:hover{color:var(--accent)}
.artx__feat{display:block;text-decoration:none;color:inherit}
.artx__feat-img{display:block;border-radius:10px;overflow:hidden;aspect-ratio:16/9;margin-bottom:.6rem}
.artx__feat-img img{width:100%;height:100%;object-fit:cover}
.artx__feat-cat{display:block;font-size:.72rem;color:var(--accent);font-weight:800;text-transform:uppercase}
.artx__feat-title{display:block;font-size:.95rem;font-weight:700;line-height:1.3;margin-top:.2rem}
.artx__feat:hover .artx__feat-title{color:var(--accent)}
.artx__tag-cloud{display:flex;flex-wrap:wrap;gap:.4rem}
.artx__nl-text{font-size:.85rem;color:#64748b;line-height:1.5;margin:0 0 .8rem}
.artx__nl-form{display:flex;flex-direction:column;gap:.5rem}
.artx__nl-form input{padding:.55rem .8rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.88rem;outline:none}
.artx__nl-form input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(99,102,241,.1)}
.artx__nl-form button{padding:.55rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;font-size:.88rem}
[data-theme="dark"] .artx__nl-form input{background:#0f172a;border-color:#334155;color:#f1f5f9}
.artx__widget--ad{padding:0;border:none;background:transparent;text-align:center}
@media(max-width:960px){
  .artx{grid-template-columns:1fr;gap:2rem}
  .artx__main{max-width:none}
  .artx__side{position:static;flex-direction:row;flex-wrap:wrap}
  .artx__widget{flex:1;min-width:240px}
  .artx__title{font-size:2rem}
}
@media(max-width:640px){
  .artx__title{font-size:1.6rem}
  .artx__lead{font-size:1.05rem}
  .artx__body{font-size:1.05rem}
  .artx__meta{flex-direction:column;align-items:flex-start;gap:.8rem}
  .artx__prevnext{grid-template-columns:1fr}
  .artx__pn--next{text-align:left}
  .artx__side{flex-direction:column}
  .artx__cover img{border-radius:10px}
}

/* ========================================================================== */
/* ===== Unified content pages (section/region/tag/search/list) — px-* ====== */
/* ========================================================================== */
.px{max-width:var(--max);margin:0 auto;padding:1.2rem var(--gap)}
.px--wide{max-width:var(--max)}

/* Page header */
.px-head{margin-bottom:1.5rem}
.px-head__eyebrow{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 .3rem}
.px-head h1{font-size:2rem;font-weight:900;letter-spacing:-.02em;margin:0;line-height:1.1;color:#0f172a}
[data-theme="dark"] .px-head h1{color:#f8fafc}
.px-head__lead{font-size:1.05rem;color:#64748b;margin:.5rem 0 0;line-height:1.5;max-width:60ch}
[data-theme="dark"] .px-head__lead{color:#94a3b8}
.px-head__count{font-size:.88rem;color:#94a3b8;margin:.4rem 0 0}

/* Filter chips */
.px-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1.5rem}
.px-chip{display:inline-block;padding:.35rem .9rem;border-radius:999px;border:1px solid #e2e8f0;background:#fff;color:#475569;font-size:.85rem;font-weight:600;text-decoration:none;transition:.15s;cursor:pointer}
.px-chip:hover{border-color:var(--accent);color:var(--accent)}
.px-chip.is-active{background:var(--accent);color:#fff;border-color:var(--accent)}
[data-theme="dark"] .px-chip{background:#1e293b;border-color:#334155;color:#cbd5e1}

/* Two-column layout with sidebar */
.px-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:2rem;align-items:start}
.px-layout__main{min-width:0}
.px-side{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:80px}

/* Article card grid */
.px-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.4rem}
.px-grid--2{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}

/* Article card */
.px-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:#fff;border:1px solid #e8edf2;border-radius:14px;overflow:hidden;transition:.18s}
.px-card:hover{border-color:#cbd5e1;box-shadow:0 8px 24px rgba(15,23,42,.08);transform:translateY(-3px)}
[data-theme="dark"] .px-card{background:#1e293b;border-color:#334155}
.px-card__img{aspect-ratio:16/10;overflow:hidden;background:#f1f5f9}
.px-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.px-card:hover .px-card__img img{transform:scale(1.05)}
.px-card__body{padding:1rem 1.1rem 1.1rem;display:flex;flex-direction:column;flex:1}
.px-card__cat{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--accent);margin:0 0 .3rem}
.px-card__title{font-size:1.08rem;font-weight:700;line-height:1.3;margin:0 0 .4rem;color:#0f172a}
[data-theme="dark"] .px-card__title{color:#f1f5f9}
.px-card__lead{font-size:.88rem;color:#64748b;line-height:1.5;margin:0 0 .6rem;flex:1}
.px-card__meta{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:#94a3b8;margin-top:auto}
.px-card__meta .badge-ad{margin:0}

/* List row (horizontal card, for tag/search) */
.px-list{display:flex;flex-direction:column;gap:0}
.px-row{display:grid;grid-template-columns:160px 1fr;gap:1.2rem;align-items:start;padding:1.2rem 0;border-bottom:1px solid #eef2f6;text-decoration:none;color:inherit}
.px-row:hover .px-row__title{color:var(--accent)}
[data-theme="dark"] .px-row{border-color:#334155}
.px-row__img{aspect-ratio:16/10;border-radius:10px;overflow:hidden;background:#f1f5f9}
.px-row__img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.px-row:hover .px-row__img img{transform:scale(1.05)}
.px-row__cat{font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--accent)}
.px-row__title{font-size:1.15rem;font-weight:700;line-height:1.3;margin:.2rem 0 .4rem;color:#0f172a}
[data-theme="dark"] .px-row__title{color:#f1f5f9}
.px-row__lead{font-size:.9rem;color:#64748b;line-height:1.5;margin:0 0 .4rem}
.px-row__meta{font-size:.8rem;color:#94a3b8}

/* Empty state */
.px-empty{text-align:center;padding:3rem 1rem;color:#94a3b8}
.px-empty__icon{font-size:2.5rem;margin-bottom:.5rem}

/* Pager */
.px-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem;margin:2.75rem 0 .5rem}
.px-pager__nav{display:inline-flex;align-items:center;gap:.45rem;padding:0 1rem;height:2.6rem;border-radius:11px;border:1px solid #e2e8f0;color:#334155;font-size:.88rem;font-weight:600;text-decoration:none;background:#fff;transition:border-color .15s,color .15s,box-shadow .15s,transform .1s}
.px-pager__nav:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px rgba(15,23,42,.08)}
.px-pager__nav.is-disabled{opacity:.38;pointer-events:none;background:transparent;box-shadow:none}
.px-pager__arw{font-size:1.1em;line-height:1}
.px-pager__pages{display:inline-flex;align-items:center;gap:.3rem;margin:0 .25rem}
.px-pager__pg{display:inline-flex;align-items:center;justify-content:center;min-width:2.6rem;height:2.6rem;padding:0 .55rem;border-radius:11px;border:1px solid #e2e8f0;color:#334155;font-size:.92rem;font-weight:700;text-decoration:none;background:#fff;transition:border-color .15s,color .15s,box-shadow .15s,transform .1s}
.px-pager__pg:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px rgba(15,23,42,.08)}
.px-pager__pg.is-current{background:var(--accent,#c1121f);border-color:var(--accent,#c1121f);color:#fff;box-shadow:0 4px 14px rgba(15,23,42,.18);cursor:default;transform:none}
.px-pager__gap{display:inline-flex;align-items:flex-end;min-width:1.4rem;justify-content:center;padding-bottom:.35rem;color:#94a3b8;font-weight:700}
.px-pager__count{flex-basis:100%;text-align:center;color:#94a3b8;font-size:.8rem;letter-spacing:.02em;margin-top:.65rem}
.px-pager__info{color:#94a3b8;padding:0 .6rem;font-size:.88rem;font-weight:600}
@media(max-width:520px){
  .px-pager__navlbl{display:none}
  .px-pager__nav{padding:0 .75rem;height:2.4rem}
  .px-pager__pg{min-width:2.3rem;height:2.4rem;font-size:.88rem}
}
[data-theme="dark"] .px-pager__nav,[data-theme="dark"] .px-pager__pg{border-color:#334155;color:#cbd5e1;background:#1e293b}
[data-theme="dark"] .px-pager__nav:hover,[data-theme="dark"] .px-pager__pg:hover{border-color:var(--accent);color:var(--accent)}
[data-theme="dark"] .px-pager__pg.is-current{background:var(--accent);border-color:var(--accent);color:#fff}

/* Sidebar widget (shared with artx) */
.px-widget{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1.2rem}
[data-theme="dark"] .px-widget{background:#1e293b;border-color:#334155}
.px-widget__head{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#0f172a;margin:0 0 .9rem;padding-bottom:.5rem;border-bottom:2px solid var(--accent)}
[data-theme="dark"] .px-widget__head{color:#f1f5f9}

@media(max-width:960px){
  .px-layout{grid-template-columns:1fr;gap:1.5rem}
  .px-side{position:static;flex-direction:row;flex-wrap:wrap}
  .px-widget{flex:1;min-width:240px}
  .px-head h1{font-size:1.7rem}
}
@media(max-width:560px){
  .px-row{grid-template-columns:110px 1fr;gap:.8rem}
  .px-head h1{font-size:1.5rem}
  .px-side{flex-direction:column}
}

/* ---- Author profile hero ---- */
.px-author-hero{display:flex;gap:1.5rem;align-items:flex-start;flex-wrap:wrap;background:linear-gradient(135deg,#f8fafc,#eef2f7);border:1px solid #e2e8f0;border-radius:18px;padding:1.8rem;margin-bottom:2rem}
[data-theme="dark"] .px-author-hero{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:#334155}
.px-author-hero__avatar{width:110px;height:110px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 4px 16px rgba(15,23,42,.1)}
.px-author-hero__avatar--letter{background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;display:grid;place-items:center;font-weight:800;font-size:2.5rem}
.px-author-hero__body{flex:1;min-width:220px}
.px-author-hero__role{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}
.px-author-hero__name{font-size:1.7rem;font-weight:900;margin:.2rem 0 .5rem;color:#0f172a}
[data-theme="dark"] .px-author-hero__name{color:#f8fafc}
.px-author-hero__bio{color:#475569;line-height:1.6;margin:0 0 .7rem;max-width:60ch}
[data-theme="dark"] .px-author-hero__bio{color:#cbd5e1}
.px-author-hero__social{display:flex;flex-wrap:wrap;gap:.6rem}
.px-author-hero__social a{font-size:.82rem;font-weight:600;color:var(--accent);text-decoration:none;padding:.3rem .7rem;border:1px solid #e2e8f0;border-radius:999px;background:#fff;transition:.15s}
.px-author-hero__social a:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
[data-theme="dark"] .px-author-hero__social a{background:#0f172a;border-color:#334155}
.px-section-title{font-size:1.2rem;font-weight:800;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:3px solid var(--accent)}

/* ========================================================================== */
/* ===== Detail pages (event / job / company) — px-detail ================== */
/* ========================================================================== */
.px-detail{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2rem;align-items:start}
.px-detail__main{min-width:0}
.px-detail__cat{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--accent)}
.px-detail__title{font-size:1.9rem;font-weight:900;line-height:1.2;margin:.25rem 0 .6rem;letter-spacing:-.01em;color:#0f172a}
[data-theme="dark"] .px-detail__title{color:#f8fafc}
.px-detail__cover{width:100%;border-radius:14px;margin:0 0 1.2rem;aspect-ratio:16/9;object-fit:cover}

/* ---- Events & Companies: cover hero, galleries, service/product cards ---- */
.px-cover{margin:0 0 1.4rem;border-radius:16px;overflow:hidden;aspect-ratio:21/9;background:#eef1f4}
.px-cover img{width:100%;height:100%;object-fit:cover;display:block}
.px-firmhead{display:flex;gap:1rem;align-items:center;margin-bottom:1.1rem}
.px-firmhead__logo{width:76px;height:76px;border-radius:14px;object-fit:cover;background:#fff;border:1px solid #e6e9ee;flex:0 0 auto}
.px-firmhead__logo--ph{display:flex;align-items:center;justify-content:center;font-size:2rem;color:#c2c8d0}
.px-section-title{font-size:1.15rem;font-weight:800;margin:1.8rem 0 .8rem;display:flex;align-items:center;gap:.5rem}
.px-section-title i{color:var(--brand,#c8102e)}
.px-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;margin-bottom:.6rem}
.px-card{border:1px solid #e6e9ee;border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}
.px-card:hover{box-shadow:0 6px 22px rgba(15,23,42,.09);transform:translateY(-2px)}
.px-card__img{aspect-ratio:4/3;background:#eef1f4;overflow:hidden}
.px-card__img img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}
.px-card__body{padding:.8rem .9rem;display:flex;flex-direction:column;gap:.35rem}
.px-card__top{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem}
.px-card__title{font-size:1rem;font-weight:700;margin:0;line-height:1.25}
.px-card__price{font-size:.9rem;font-weight:800;color:var(--brand,#c8102e);white-space:nowrap}
.px-card__desc{font-size:.86rem;color:#5b6472;margin:0;line-height:1.45}
.px-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.6rem;margin:.4rem 0 1rem}
.px-gallery[data-count="1"]{grid-template-columns:1fr;max-width:640px}
.px-gallery figure{margin:0}
.px-gallery img{width:100%;height:180px;object-fit:cover;border-radius:10px;display:block;background:#eef1f4;cursor:zoom-in}
.px-gallery[data-count="1"] img{height:auto;max-height:520px;object-fit:contain}
.px-gallery figcaption{margin-top:.3rem;font-size:.78rem;color:#6b7280}
.px-hours{font-size:.9rem;border-collapse:collapse;margin-bottom:1rem}
.px-hours td{padding:.3rem 1.2rem .3rem 0}
.px-hours td:first-child{font-weight:700}
.px-hours td:last-child{color:#64748b}
@media (prefers-color-scheme:dark){
  .px-card{background:#161a20;border-color:#2a2f37}
  .px-firmhead__logo{background:#161a20;border-color:#2a2f37}
  .px-card__desc{color:#9aa3b0}
  .px-hours td:last-child{color:#9aa3b0}
}
.px-detail__logo{width:64px;height:64px;border-radius:12px;object-fit:contain;border:1px solid #e2e8f0;background:#fff;flex-shrink:0}
.px-detail__body{line-height:1.7;font-size:1.02rem;color:#334155}
[data-theme="dark"] .px-detail__body{color:#cbd5e1}
.px-detail__body p{margin:0 0 1rem}

/* Chips row (job meta) */
.px-detail__chips{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1.2rem}
.px-tagpill{padding:.3rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600}
.px-tagpill--primary{background:color-mix(in srgb,var(--accent) 14%,#fff);color:var(--accent)}
.px-tagpill--muted{background:#f1f5f9;color:#475569}
.px-tagpill--money{background:#ecfdf5;color:#059669}
[data-theme="dark"] .px-tagpill--muted{background:#334155;color:#cbd5e1}
[data-theme="dark"] .px-tagpill--primary{background:color-mix(in srgb,var(--accent) 25%,#1e293b)}
[data-theme="dark"] .px-tagpill--money{background:#064e3b;color:#6ee7b7}

/* Info sidebar */
.px-info{background:#f8fafc;border:1px solid #e8edf2;border-radius:16px;padding:1.3rem;position:sticky;top:80px}
[data-theme="dark"] .px-info{background:#1e293b;border-color:#334155}
.px-info__head{font-size:.95rem;font-weight:800;margin:0 0 .9rem;color:#0f172a}
[data-theme="dark"] .px-info__head{color:#f1f5f9}
.px-info__row{display:flex;gap:.6rem;margin:.55rem 0;font-size:.9rem;color:#334155;line-height:1.4}
[data-theme="dark"] .px-info__row{color:#cbd5e1}
.px-info__row strong{flex-shrink:0}
.px-info__sub{color:#94a3b8;font-size:.82rem}
.px-btn{display:block;padding:.75rem;border-radius:10px;text-align:center;text-decoration:none;font-weight:700;transition:.15s}
.px-btn--primary{background:var(--accent);color:#fff;margin-top:1rem}
.px-btn--primary:hover{filter:brightness(.92)}
.px-btn--outline{border:1.5px solid var(--accent);color:var(--accent);margin-top:.6rem}
.px-btn--outline:hover{background:var(--accent);color:#fff}
.px-alert{padding:.6rem 1rem;border-radius:8px;font-weight:700;margin:0 0 1rem;background:#fef2f2;color:#dc2626;border:1px solid #fecaca}

@media(max-width:860px){
  .px-detail{grid-template-columns:1fr;gap:1.5rem}
  .px-info{position:static}
  .px-detail__title{font-size:1.5rem}
}

/* ========================================================================== */
/* ===== Home: ultra-practical upgrade ====================================== */
/* ========================================================================== */
/* Service quick-access strip */
.home-services{max-width:var(--max);margin:0 auto .9rem;padding:0 var(--gap);display:grid;grid-template-columns:repeat(6,1fr);gap:.6rem}
.home-services a{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.7rem .4rem;background:#fff;border:1px solid #e8edf2;border-radius:12px;text-decoration:none;color:#334155;font-size:.78rem;font-weight:700;transition:.15s}
.home-services a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 16px rgba(15,23,42,.07)}
.hs__ico{font-size:1.3rem;line-height:1}
[data-theme="dark"] .home-services a{background:#1e293b;border-color:#334155;color:#cbd5e1}
@media(max-width:760px){.home-services{grid-template-columns:repeat(3,1fr)}}

/* Section block: lead card + compact headline list */
.sec-head .sec-more{font-size:.8rem;font-weight:700;color:var(--accent);text-decoration:none}
.sec-mix{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1.2rem;align-items:start}
.sec-mix > .card{margin:0}
.sec-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.sec-list li{border-bottom:1px solid #eef2f6}
[data-theme="dark"] .sec-list li{border-color:#334155}
.sec-list li:last-child{border-bottom:none}
.sec-list a{display:flex;gap:.7rem;align-items:center;padding:.6rem 0;text-decoration:none;color:inherit}
.sec-list a:hover .sec-list__title{color:var(--accent)}
.sec-list__img{width:76px;aspect-ratio:16/10;border-radius:8px;overflow:hidden;flex-shrink:0;background:#f1f5f9}
.sec-list__img img{width:100%;height:100%;object-fit:cover}
.sec-list__body{min-width:0}
.sec-list__title{display:block;font-size:.92rem;font-weight:700;line-height:1.3}
.sec-list__meta{font-size:.75rem;color:#94a3b8}
@media(max-width:760px){.sec-mix{grid-template-columns:1fr}}

/* Sidebar mini lists (Termine / Jobs) */
.mini-list{display:flex;flex-direction:column}
.mini-item{display:flex;gap:.7rem;align-items:flex-start;padding:.55rem 0;text-decoration:none;color:inherit;border-bottom:1px solid #eef2f6}
[data-theme="dark"] .mini-item{border-color:#334155}
.mini-item:last-child{border-bottom:none}
.mini-item:hover .mini-title{color:var(--accent)}
.mini-date{flex-shrink:0;width:44px;text-align:center;background:color-mix(in srgb,var(--accent) 10%,#fff);color:var(--accent);border-radius:8px;padding:.3rem 0;font-weight:900;font-size:1.05rem;line-height:1}
.mini-date small{display:block;font-size:.62rem;font-weight:700;text-transform:uppercase;margin-top:.1rem}
[data-theme="dark"] .mini-date{background:color-mix(in srgb,var(--accent) 22%,#1e293b)}
.mini-body{min-width:0}
.mini-title{display:block;font-size:.88rem;font-weight:700;line-height:1.3}
.mini-meta{display:block;font-size:.74rem;color:#94a3b8;margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Performance: reserve image space (CLS) + hero readability */
.card__img{display:block;aspect-ratio:16/10;overflow:hidden;background:#f1f5f9}
.card__img img{width:100%;height:100%;object-fit:cover}
.hero-lead__img{display:block;position:relative}
.hero-lead__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,20,.05) 30%,rgba(10,10,20,.72) 100%)}

/* ---- Bootstrap Icons: inline alignment with text ---- */
.bi{vertical-align:-.125em;line-height:1}
.px-info__row .bi,.mini-meta .bi,.blk-card__detail .bi,.blk-card__meta .bi{opacity:.85}
.home-services .hs__ico .bi,.home-services .bi{font-size:1.3rem}
.px-detail__cat .bi,.px-head__eyebrow .bi,.px-card__cat .bi{font-size:.95em}
.blk-card__icon .bi{font-size:1.5rem}
.px-tagpill .bi{vertical-align:-.1em}
