/* =========================================================
   BASE.CSS (bereinigt, fehlerfrei, ohne doppelte Selektoren)
   - klare Variablen
   - Home: 3 / 2 / 1 Spalten (Mobile untereinander wie Futurezone)
   - Artikel: Content + Sidebar (schmal ~210px) + sticky
   - Mobile: Sidebar verschwindet, Ads/Partner inline und sauber
   ========================================================= */

:root{
  --accent:#ef4444;

  --bg:#ffffff;
  --txt:#0f172a;
  --muted:#64748b;

  --line:rgba(15,23,42,.12);
  --card:#ffffff;
  --shadow:0 12px 40px rgba(2,6,23,.08);

  --radius:16px;

  /* Kompatibilität für ältere Regeln */
  --primary: var(--accent);
  --text: var(--txt);

  --warn: rgba(239,68,68,.12);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;
  background:var(--bg);
  color:var(--txt);
  font-size:var(--font-scale, 1rem);
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}

.container{max-width:var(--container-max, 1180px);margin:0 auto;padding:0 18px}

.muted{color:var(--muted)}
.small{font-size:.9rem}

.badge{
  display:inline-flex;align-items:center;gap:6px;
  border:1px solid var(--line);
  padding:4px 10px;border-radius:999px;
  font-weight:800;font-size:.78rem;
  background:rgba(0,0,0,.02);
}
.badge--warn{background:var(--warn)}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

/* =========================================================
   HEADER
   ========================================================= */
.fh{
  position:sticky;top:0;z-index:60;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--line);
}
.fh__bar{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap;padding:14px 0}
.fh__brand{display:flex;gap:10px;align-items:center;font-weight:950}
.fh__mark{
  width:38px;height:38px;border-radius:14px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--accent);color:#fff;
  box-shadow:0 14px 34px rgba(0,0,0,.14)
}
.fh__name{letter-spacing:-.02em}
.fh__tag{
  margin-left:4px;font-size:.75rem;font-weight:900;color:var(--accent);
  border:1px solid var(--line);padding:3px 10px;border-radius:999px;background:rgba(0,0,0,.02)
}
.fh__nav{display:flex;gap:10px;flex-wrap:wrap}
.fh__nav a{font-weight:800;opacity:.9;padding:8px 10px;border-radius:12px}
.fh__nav a:hover{background:rgba(0,0,0,.04);opacity:1}

.shell{padding:18px 0 28px}

/* =========================================================
   PROSE
   ========================================================= */
.prose{line-height:1.75}
.prose h2{margin:26px 0 10px;letter-spacing:-.02em}
.prose h3{margin:22px 0 10px}
.prose p{margin:12px 0}
.prose figure{margin:18px 0}
.prose img{border-radius:16px;border:1px solid var(--line)}
.prose blockquote{
  margin:16px 0;padding:14px 16px;border-left:4px solid var(--accent);
  background:rgba(0,0,0,.03);border-radius:14px
}
.prose a{
  color:var(--accent);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);
  transition:text-decoration-color .15s, background .15s;
}
.prose a:hover{
  text-decoration-color:var(--accent);
  background:color-mix(in srgb, var(--accent) 8%, transparent);
}

/* =========================================================
   HOME GRID (Futurezone-Feeling: Mobile immer 1-spaltig)
   ========================================================= */
.home__grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:16px;
}

/* Tablet */
@media (max-width: 980px){
  .home__grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}

/* Mobile: untereinander */
@media (max-width: 760px){
  .home__grid{ grid-template-columns: 1fr; }
}

/* Home cards */
.homeCard{overflow:hidden;display:flex;flex-direction:column}
.homeCard__img img{
  display:block;
  width:100%;
  aspect-ratio:var(--home-img-ratio, 16/9);
  object-fit:cover;
}
.homeCard--lead{grid-column: span 2;}
.homeCard--lead .homeCard__img img{aspect-ratio:var(--home-img-ratio, 16/9);height:auto}
.homeCard__body{padding:12px}
.homeCard__title{margin:10px 0 0;font-size:1.25rem;line-height:1.15;letter-spacing:-.02em}
.homeCard__title a:hover{color:var(--accent)}
.homeCard__meta{display:flex;gap:8px;flex-wrap:wrap}

/* Lead auf Mobile nicht „quer“ spannen */
@media (max-width: 760px){
  .homeCard--lead{grid-column:auto}
  .homeCard--lead .homeCard__img img{height:auto;aspect-ratio:16/9}
}

/* =========================================================
   ARTICLE (Hero + Meta)
   ========================================================= */

/* AEO: Kurz-gesagt TL;DR callout */
.a__tldr{
  margin:0 0 22px;
  padding:14px 18px;
  border-left:4px solid var(--accent);
  background:rgba(239,68,68,.06);
  border-radius:0 12px 12px 0;
}
.a__tldr__label{
  font-weight:900;
  font-size:.76rem;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:5px;
}
.a__tldr__text{
  margin:0;
  font-size:1.02rem;
  line-height:1.55;
  color:var(--txt);
}

/* GEO: Quellen section */
.a__sources{
  margin:22px 0 0;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.a__sources h2{
  font-size:.95rem;
  font-weight:700;
  margin:0 0 8px;
}
.a__sourcesList{
  padding-left:18px;
  margin:0;
}
.a__sourcesList li{
  font-size:.88rem;
  color:var(--muted);
  word-break:break-all;
}
.a__sourcesList a{
  color:var(--accent);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.a__sourceMeta{
  display:block;
  font-size:.78rem;
  color:var(--muted);
  word-break:normal;
}

.a{max-width:var(--a-max, 780px);margin:0 auto}
.a__hero{margin:0 0 14px;border-radius:0;overflow:hidden;border:0}
.a__hero > img{
  display:block;width:100%;
  height:auto;
  aspect-ratio:var(--a-hero-ratio, 16/9);
  object-fit:cover;object-position:center center;
}
@media (max-width: 900px){
  .a__hero > img{aspect-ratio:var(--a-hero-ratio, 16/9)}
}

/* =========================================================
   HOME LAYOUT (Main + Sidebar)
   ========================================================= */
.homeLayout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:22px;
  align-items:start;
}
.homeFull{margin:10px 0 20px}
.homeMain{min-width:0;display:flex;flex-direction:column;gap:20px}
.homeSide{min-width:0}
.homeSide__sticky{
  position:sticky;
  top:88px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.homeBlock{display:flex;flex-direction:column;gap:12px}
.homeBlock__title{font-weight:900;font-size:1.15rem;letter-spacing:-.02em}
.homeTopics{display:flex;flex-wrap:wrap;gap:10px}
.homeTopic{
  border:1px solid var(--line);
  border-radius:999px;
  padding:6px 12px;
  font-size:.85rem;
  color:var(--muted);
}
.homeTopic:hover{color:var(--accent);border-color:var(--accent)}
.homeNewsletter{
  border:1px solid var(--line);
  border-radius:16px;
  padding:16px;
  background:linear-gradient(135deg, rgba(14,116,144,.08), rgba(251,191,36,.12));
  box-shadow:0 12px 30px rgba(15,23,42,.06);
}
.homeNewsletter__title{font-weight:900;margin:0 0 6px}
.homeNewsletter__form{display:flex;flex-direction:column;gap:8px}
.homeNewsletter__row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.homeNewsletter__form input{
  flex:1 1 220px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
  background:#fff;
  box-shadow:0 6px 14px rgba(15,23,42,.06);
}
.homeNewsletter__form button{
  border:1px solid transparent;
  border-radius:12px;
  padding:10px 14px;
  background:var(--accent);
  color:#fff;
  font-weight:800;
}
.homeNewsletter__form button:hover{filter:brightness(.95)}
.homeNewsletter__consent{display:flex;gap:8px;align-items:flex-start;font-size:.82rem;color:var(--muted)}
.homeNewsletter__consent a{color:var(--accent);text-decoration:none}
.homeNewsletter__consent a:hover{text-decoration:underline}
.homeNewsletter__status{font-size:.85rem;min-height:1em}
.homeNewsletter__status.is-ok{color:#059669}
.homeNewsletter__status.is-err{color:#dc2626}
.homeNewsletter__hp{display:none}

@media (max-width: 980px){
  .homeLayout{grid-template-columns:1fr}
  .homeSide__sticky{position:static}
}

/* =========================================================
   HOME BLOCKS (custom layouts)
   ========================================================= */
.homeMasthead{padding:6px 0 10px;border-bottom:1px solid var(--line)}
.homeMasthead__title{font-size:2rem;font-weight:900;letter-spacing:-.02em}
.homeMasthead__subtitle{color:var(--muted);margin-top:6px}

.homeChips{display:flex;gap:10px;flex-wrap:wrap}
.chipCard{
  display:flex;gap:10px;align-items:center;
  border:1px solid var(--line);border-radius:14px;padding:8px 10px;
  background:#fff;min-width:180px;max-width:260px;
}
.chipCard__img{width:42px;height:42px;border-radius:10px;object-fit:cover}
.chipCard__text{font-weight:800;font-size:.88rem;line-height:1.2}

.chipStrip{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));
  gap:14px;
  padding:6px 0 10px;
  border-bottom:1px solid var(--line);
}
.chipStrip__item{
  display:grid;
  grid-template-columns:1fr 52px;
  gap:10px;
  align-items:center;
  text-decoration:none;
  color:inherit;
}
.chipStrip__meta{display:flex;flex-direction:column;gap:4px}
.chipStrip__cat{
  font-size:.7rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:800;
  color:var(--accent);
}
.chipStrip__title{font-weight:800;font-size:.92rem;line-height:1.25}
.chipStrip__img{width:52px;height:40px;border-radius:8px;object-fit:cover;border:1px solid var(--line)}

.specialTopic{
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  background:linear-gradient(180deg, rgba(15,23,42,.02), rgba(255,255,255,1));
}
.specialTopic__head{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.specialTopic__eyebrow{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.7rem;
  font-weight:800;
  color:var(--accent);
}
.specialTopic__title{font-size:1.2rem;font-weight:900}
.specialTopic__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}
.specialTopic__lead{display:grid;grid-template-columns:1fr;gap:10px}
.specialTopic__leadImg img{width:100%;height:auto;display:block;border-radius:14px;aspect-ratio:var(--home-img-ratio);object-fit:cover}
.specialTopic__leadBody{display:flex;flex-direction:column;gap:6px}
.specialTopic__leadTitle{font-size:1.2rem;margin:0;line-height:1.2}
.specialTopic__leadTitle a{text-decoration:none;color:inherit}
.specialTopic__leadDesc{color:var(--muted);font-size:.92rem}
.specialTopic__meta{font-size:.8rem;color:var(--muted)}
.specialTopic__list{display:flex;flex-direction:column;gap:10px}
.specialTopic__item{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:10px;
  align-items:center;
  text-decoration:none;
  color:inherit;
}
.specialTopic__itemImg{width:72px;height:54px;border-radius:10px;object-fit:cover;border:1px solid var(--line)}
.specialTopic__itemTitle{font-weight:800;font-size:.95rem;line-height:1.2}

@media (max-width: 980px){
  .specialTopic__grid{grid-template-columns:1fr}
}

.homeSplit{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.homeSplit__side .adBlock{margin-top:0}
@media (max-width: 980px){.homeSplit{grid-template-columns:1fr}}

.homeList{display:flex;flex-direction:column;gap:10px}
.homeList__item{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.homeList__img{width:72px;height:54px;border-radius:10px;object-fit:cover}
.homeList__date{font-size:.78rem;color:var(--muted);margin-bottom:4px}
.homeList__title{font-weight:800;line-height:1.2}

.homeGrid{display:grid;gap:16px}
.homeGrid--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.homeGrid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.homeGrid--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width: 980px){
  .homeGrid--cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 760px){
  .homeGrid--cols-3,
  .homeGrid--cols-4{grid-template-columns:1fr}
}
.homeGrid--s .homeCard__title{font-size:1rem}
.homeGrid--l .homeCard__title{font-size:1.4rem}

.a__head{padding:10px 0 6px}
.a__title{margin:10px 0 0;font-size:var(--a-title, 2.25rem);line-height:1.05;letter-spacing:-.03em}
.a__deck{margin:10px 0 0;color:var(--muted);font-size:var(--a-deck, 1.03rem)}
.a__meta{margin-top:.5rem;font-size:.9rem;color:var(--muted)}
.a__ai{opacity:.75;font-style:italic}

.img__credit{font-size:.75rem;color:var(--muted);margin-top:.25rem}

.dbFooter{margin-top:22px;padding-top:14px;border-top:1px solid var(--line)}
.dbFooter__row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* Article Disclaimer */
/* Anzeige unter dem Artikel: kompakter Streifen statt Feed-Karte */
.adStrip{display:flex;gap:16px;align-items:center;margin:24px 0 8px;padding:12px 14px;border:1px solid var(--line,#e5e7eb);border-radius:12px;background:var(--card,#fff)}
.adStrip__img{flex:0 0 150px}
.adStrip__img img{display:block;width:150px;height:150px;object-fit:cover;border-radius:10px}
.adStrip__body{min-width:0;flex:1}
.adStrip__badge{display:block;font-size:.72rem;font-weight:800;letter-spacing:.02em;color:var(--muted,#6b7280);margin-bottom:4px}
.adStrip__title{display:block;font-weight:800;font-size:1.05rem;line-height:1.25;color:inherit;text-decoration:none}
.adStrip__teaser{margin:6px 0 10px;font-size:.93rem;line-height:1.45;color:var(--muted,#6b7280)}
.adStrip__cta{display:inline-block;font-weight:700;font-size:.88rem;padding:7px 14px;border-radius:999px;background:var(--accent,#111827);color:#fff;text-decoration:none}
.adStrip--image{display:block;text-align:center;padding:10px}
.adStrip--image img{display:inline-block;max-width:420px;width:100%;height:auto;border-radius:8px}
.adStrip--raw{display:block;padding:0;border:0;background:transparent}
.adStrip--raw .ownAd{border:1px solid var(--line,#e5e7eb);border-radius:12px}
.adStrip--raw .ownAd--strip{display:flex;gap:16px;align-items:center}
.adStrip--raw .ownAd--strip>a{display:flex!important;gap:16px;align-items:center;flex:1}
.adStrip--raw .ownAd--strip img{width:150px!important;height:150px!important;aspect-ratio:1/1!important;flex:0 0 150px;margin:0!important}
@media (max-width:560px){.adStrip{flex-direction:column;align-items:stretch}.adStrip__img{flex-basis:auto}.adStrip__img img{width:100%;height:160px}.adStrip--raw .ownAd--strip>a{flex-direction:column;align-items:stretch}.adStrip--raw .ownAd--strip img{width:100%!important;height:160px!important;aspect-ratio:auto!important}}
/* Expertenbox (Kundenartikel einer Experten-Kampagne) */
.expertBox{display:flex;gap:16px;align-items:flex-start;margin:28px 0 8px;padding:16px 18px;border:1px solid var(--line,#e5e7eb);border-left:4px solid var(--accent,#111827);border-radius:10px;background:var(--card,#fff)}
.expertBox__photo{width:96px;height:96px;border-radius:50%;object-fit:cover;flex:0 0 96px}
.expertBox__label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#6b7280);margin-bottom:2px}
.expertBox__name{font-weight:800;font-size:1.05rem}
.expertBox__title{color:var(--muted,#6b7280);font-size:.92rem;margin-bottom:6px}
.expertBox__bio{margin:0 0 8px;font-size:.95rem;line-height:1.5}
.expertBox__links a{margin-right:14px;font-weight:600}
@media (max-width:520px){.expertBox{flex-direction:column}.expertBox__photo{width:72px;height:72px;flex-basis:72px}}
.articleDisclaimer{
  margin-top:22px;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.55;
}

/* =========================================================
   ADS: gemeinsame Bausteine
   ========================================================= */
.adBlock{margin:16px 0}
.adBlock__badge{
  font-size:12px;
  font-weight:700;
  opacity:.8;
  margin:0 0 8px 0;
  display:inline-block;
}

/* Portrait (Sidebar) */
.adBlock--portrait{width:210px;max-width:210px}
.adPortrait__img{
  width:210px;max-width:210px;height:auto;
  border-radius:14px;border:1px solid var(--line);
  display:block;margin:0 auto;
}

/* Native card (infeed / after_article) */
.adCard--native{
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  background:var(--card);
}
.adCard__link{display:block;color:inherit;text-decoration:none}
.adCard__media{aspect-ratio:16/9;overflow:hidden;background:#f3f4f6}
.adCard__img{width:100%;height:100%;object-fit:cover;display:block}
.adCard__body{padding:12px 14px}
.adCard__badge{display:inline-block;font-size:12px;font-weight:800;opacity:.8;margin-bottom:6px}
.adCard__headline{font-weight:900;line-height:1.15}
.adCard__teaser{margin-top:6px;opacity:.85;line-height:1.35}

/* Banner (Home inline) */
.adBlock--banner .adBanner__img{
  width:100%;
  border-radius:16px;
  border:1px solid var(--line);
  display:block;
}

/* Partner Logos (Strip/Grid) */
.adLogoStrip{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center}
.adLogoStrip__item{
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px 10px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:14px;
  background:var(--card);
}
.adLogoStrip__img{height:56px;width:auto;display:block}

/* =========================================================
   ARTICLE LAYOUT: Content + Sidebar (sticky)
   ========================================================= */
.aLayout{
  display:grid;
  grid-template-columns: minmax(0, 1fr) var(--a-side, 210px);
  gap: var(--a-gap, 18px);
  align-items:start;
}
.aMain{min-width:0}
.aSide{min-width:0}
.aSide__sticky{
  position: sticky;
  top: 88px; /* Abstand zu Sticky-Header */
  display:flex;
  flex-direction:column;
  gap: 14px;
}

/* Sidebar Blocks */
.aSideBlock{
  border:1px solid var(--line);
  background:var(--card);
  border-radius:14px;
  padding:12px 12px;
}
.aSideBlock__title{
  font-weight:900;
  font-size:.95rem;
  margin-bottom:8px;
  letter-spacing:-.01em;
}
.aSideList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.aSideItem a{
  display:block;
  color:var(--text);
  text-decoration:none;
  font-weight:700;
  line-height:1.2;
  overflow-wrap:anywhere;
  word-break:break-word;
  hyphens:auto;
}
.aSideItem a:hover{color:var(--accent)}
.aSideItem__meta{font-size:.78rem;color:var(--muted);margin-top:2px}
.aSideTopics{display:flex;flex-wrap:wrap;gap:8px}
.aSideTopic{
  border:1px solid var(--line);
  border-radius:999px;
  padding:4px 10px;
  font-size:.78rem;
  color:var(--muted);
  text-decoration:none;
}
.aSideTopic:hover{color:var(--accent);border-color:var(--accent)}

/* =========================================================
   MOBILE: Sidebar weg, Ads/Partner inline (schön)
   Erwartet Markup: .aMobileAds / .aMobilePartners (wie bei dir)
   ========================================================= */
.aMobileAds,
.aMobilePartners{display:none}

@media (max-width: 980px){
  .aLayout{ grid-template-columns: 1fr; }
  .aSide{ display:none; }

  .aMobileAds,
  .aMobilePartners{
    display:block;
    margin: 14px 0 0;
  }

  /* Sidebar-Ad als saubere Card (vollbreit) */
  .aMobileAds .adBlock--portrait{
    width:100%;
    max-width:100%;
  }
  .aMobileAds .adPortrait__img{
    width:100%;
    max-width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
    border-radius:16px;
  }

  /* Partnerlogos: horizontal scroll (Futurezone-Style) */
  .aMobilePartners .adLogoStrip{
    flex-direction:row;
    flex-wrap:nowrap;
    overflow-x:auto;
    gap:10px;
    padding-bottom:6px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .aMobilePartners .adLogoStrip__item{
    flex:0 0 auto;
    width:180px;
    scroll-snap-align:start;
  }
  .aMobilePartners .adLogoStrip__img{
    width:180px;
    height:64px;
    object-fit:contain;
  }
}

/* =========================================================
   LAYOUT PRESETS (per site)
   ========================================================= */
body.layout--classic{
  --a-max: 780px;
  --a-hero: 420px;
  --a-hero-mobile: 280px;
  --a-gap: 18px;
  --a-side: 210px;
  --a-title: 2.25rem;
  --a-deck: 1.03rem;
}
body.layout--airy{
  --a-max: 820px;
  --a-hero: 460px;
  --a-hero-mobile: 300px;
  --a-gap: 26px;
  --a-side: 220px;
  --a-title: 2.4rem;
  --a-deck: 1.08rem;
}
body.layout--compact{
  --a-max: 720px;
  --a-hero: 320px;
  --a-hero-mobile: 240px;
  --a-gap: 14px;
  --a-side: 200px;
  --a-title: 2.05rem;
  --a-deck: .98rem;
}
body.layout--photo{
  --a-max: 820px;
  --a-hero: 520px;
  --a-hero-mobile: 320px;
  --a-gap: 20px;
  --a-side: 220px;
  --a-title: 2.5rem;
  --a-deck: 1.08rem;
}
body.layout--micro{
  --a-max: 760px;
  --a-hero: 260px;
  --a-hero-mobile: 220px;
  --a-gap: 16px;
  --a-side: 200px;
  --a-title: 2.1rem;
  --a-deck: .96rem;
}
body.layout--minimal{
  --a-max: 700px;
  --a-hero: 280px;
  --a-hero-mobile: 220px;
  --a-gap: 12px;
  --a-title: 2.0rem;
  --a-deck: .95rem;
}
body.layout--minimal .aLayout{ grid-template-columns: 1fr; }
body.layout--minimal .aSide{ display:none; }
body.layout--minimal .aMobileAds,
body.layout--minimal .aMobilePartners{ display:block; }

body.layout--magazine{
  --a-max: 840px;
  --a-hero: 440px;
  --a-hero-mobile: 280px;
  --a-gap: 22px;
  --a-side: 240px;
  --a-title: 2.35rem;
  --a-deck: 1.06rem;
}
body.layout--sidebar{
  --a-max: 760px;
  --a-hero: 360px;
  --a-hero-mobile: 260px;
  --a-gap: 24px;
  --a-side: 260px;
  --a-title: 2.2rem;
  --a-deck: 1.0rem;
}

/* =========================================================
   VARIANTS (Look & Feel)
   ========================================================= */
body.v-news{ --bg:#f6f8fc; --txt:#0f172a; --muted:#526070; }
body.v-impuls{ --bg:radial-gradient(1200px 600px at 20% -10%, rgba(122,31,43,.10), transparent 55%), #fffdf8; }
body.v-portal{
  --bg:#0b1220;
  --txt:#e9eefc;
  --muted:rgba(233,238,252,.72);
  --line:rgba(255,255,255,.14);
  --card:rgba(255,255,255,.04);
  --shadow:none;
}
body.v-portal .fh{background:rgba(11,18,32,.78)}
body.v-portal .fh__nav a:hover{background:rgba(255,255,255,.06)}
body.v-report{ --bg:#f7faf8; --txt:#0b1020; --muted:#51606a; }

:root{ color-scheme: light; }

/* ===========================
   Ad / Partner Badges – dezent
   =========================== */

/* Basis für Ad-Meta */
.homeCard--ad .homeCard__meta,
.adCard--native .adCard__badge{
  gap: 6px;
}

/* Allgemeines dezentes Badge */
.badge{
  background: transparent;
  border: 1px solid rgba(0,0,0,.18);
  color: var(--muted);
  font-weight: 700;
  font-size: .68rem;
  padding: 3px 8px;
  border-radius: 999px;
  letter-spacing: .01em;
}

/* Anzeige – minimal hervorgehoben */
.badge--warn,
.badge.ad-badge{
  border-color: rgba(0,0,0,.22);
  color: rgba(0,0,0,.65);
  background: rgba(0,0,0,.02);
}

/* Partner – noch ruhiger */
.badge.ad-partner{
  border-color: rgba(0,0,0,.14);
  color: rgba(0,0,0,.55);
  background: transparent;
}

/* Auf Mobile minimal kleiner */
@media (max-width: 640px){
  .badge{
    font-size: .65rem;
    padding: 2px 7px;
  }
}

/* "Anzeige" in Teasern/Listen (ad_badge() in src/bootstrap.php): gleiche Optik wie
   .badge auf der Artikelseite, aber kompakt genug fuer Ticker, Rails und Sidebar-
   Listen — steht immer direkt vor dem Titel. */
.adBadge{
  display:inline-block; vertical-align:middle;
  margin:0 6px 2px 0; padding:1px 6px;
  border:1px solid rgba(0,0,0,.22); border-radius:999px;
  color:rgba(0,0,0,.65); background:rgba(0,0,0,.02);
  font-size:.62rem; font-weight:700; line-height:1.4;
  letter-spacing:.04em; text-transform:uppercase; white-space:nowrap;
}
.homeCard__meta .adBadge,
.urHero__meta .adBadge,
.frMeta .adBadge,
.unLead__meta .adBadge{ margin-bottom:0; }

/* ===========================
   "Das könnte Sie auch interessieren"
   =========================== */

.recBlock{
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.recBlock__h{
  margin: 0 0 12px;
  font-size: 1.15rem;
  letter-spacing: -.02em;
}

/* Vorheriger/Nächster Beitrag (interne Verlinkung, lückenlose Kette) */
.aNeighbours{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
  margin: 22px 0 0;
}
.aNeighbours__link{
  display: block;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: inherit;
  text-decoration: none;
}
.aNeighbours__link:hover{ border-color: var(--brand, currentColor); }
.aNeighbours__link--next{ text-align: right; }
.aNeighbours__label{
  display: block;
  margin-bottom: 4px;
  font-size: .78rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  opacity: .7;
}
.aNeighbours__title{
  display: block;
  font-weight: 700;
  line-height: 1.3;
}
@media (max-width: 560px){
  .aNeighbours{ grid-template-columns: 1fr; }
  .aNeighbours__spacer{ display: none; }
}

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

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

@media (max-width: 640px){
  .recGrid{ grid-template-columns: 1fr; gap: 12px; }
}

.fh__nav{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

@media (max-width:640px){
  .fh__nav{
    overflow-x:auto;
    flex-wrap:nowrap;
    -webkit-overflow-scrolling:touch;
    padding-bottom:6px;
  }
  .fh__nav a{
    white-space:nowrap;
    flex:0 0 auto;
  }
}

.homeCard__date{ font-size:.85rem; font-weight:700; opacity:.75; }
.a__date{ font-weight:700; opacity:.75; margin-left:.25rem; }

/* Home variant hook (noch keine Optikänderung) */
.home--sections .home__grid{
  /* identisch wie bisher */
}

/* ── Home Infinite-Feed (Weitere Artikel) ───────────────────── */
.homeFeed{margin:26px auto 10px}
.homeFeed__head{font-size:1.15rem;font-weight:800;margin:0 0 16px;padding-bottom:9px;border-bottom:2px solid var(--line,#e5e7eb)}
.homeFeed__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:900px){.homeFeed__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.homeFeed__grid{grid-template-columns:1fr}}
.homeFeed__wide{grid-column:1/-1}
.homeFeed__wide--partners{padding:6px 0}
.homeFeed__wide .homeCard--adRaw{max-width:420px}
.homeFeed__card{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:10px;overflow:hidden;transition:box-shadow .15s ease,transform .15s ease}
.homeFeed__card:hover{box-shadow:0 6px 20px rgba(0,0,0,.08);transform:translateY(-2px)}
.homeFeed__imgwrap{aspect-ratio:16/9;background:#eef2f6;overflow:hidden}
.homeFeed__imgwrap--empty{background:linear-gradient(135deg,#eef2f6,#e2e8f0)}
.homeFeed__img{width:100%;height:100%;object-fit:cover;display:block}
.homeFeed__body{padding:12px 14px 16px;display:flex;flex-direction:column;gap:7px}
.homeFeed__ad{align-self:flex-start;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;background:#f0f0f0;color:#666;padding:2px 7px;border-radius:4px}
.homeFeed__title{font-size:1rem;font-weight:700;line-height:1.32;margin:0}
.homeFeed__meta{font-size:.8rem;color:var(--muted,#6b7280)}
.homeFeed__sentinel{height:1px}

/* ── Artikel-FAQ (FAQPage) ──────────────────────────────────── */
.a__faq{margin:28px 0 8px;padding-top:18px;border-top:1px solid var(--line,#e5e7eb)}
.a__faq>h2{font-size:1.3rem;margin:0 0 14px}
.a__faqItem{margin:0 0 14px}
.a__faqQ{font-size:1.05rem;font-weight:700;margin:0 0 4px;line-height:1.3}
.a__faqA{margin:0;color:var(--txt,#0f172a);line-height:1.65}

/* ── Prose: kurze Kernpunkte-Liste (P2.3 Scannability) ───────── */
.prose ul{margin:14px 0;padding-left:22px;list-style:disc}
.prose ul li{margin:6px 0;line-height:1.6}
.prose ol{margin:14px 0;padding-left:22px}

/* ── Themen-Cluster (P2.4) ──────────────────────────────────── */
.a__cluster{margin:26px 0 8px;padding-top:16px;border-top:1px solid var(--line,#e5e7eb)}
.a__cluster>h2{font-size:1.2rem;margin:0 0 10px}
.a__cluster>h2 a{color:var(--accent,#ef4444);text-decoration:none}
.a__clusterList{margin:0;padding-left:20px;list-style:disc}
.a__clusterList li{margin:5px 0;line-height:1.5}
.a__clusterList a{text-decoration:none}
.a__clusterList a:hover{text-decoration:underline}

/* EU AI Act: sichtbares Overlay auf KI-generierten Bildern */
.a__hero{position:relative}
.a__aiTag{position:absolute;left:10px;bottom:10px;background:rgba(15,23,42,.82);color:#fff;font:600 12px/1.1 Arial,Helvetica,sans-serif;padding:5px 9px;border-radius:6px;letter-spacing:.02em;pointer-events:none;z-index:3;box-shadow:0 1px 4px rgba(0,0,0,.3)}

/* EU AI Act: sichtbarer Hinweis bei KI-erstellten Texten */
.a__aiNotice{margin:0 0 14px;padding:8px 12px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#475569;font-size:13px;line-height:1.4}

/* EU AI Act: dezenter KI-Hinweis auf Listing-Thumbnails (Startseite/Kategorie).
   Bild-basiert (cover_is_ai_generated) — analog zum a__aiTag der Artikelseite,
   aber kleiner/zurueckhaltender. */
.homeCard__img,
.catCard__imgWrap { position: relative; }
.thumbAiTag{
  position:absolute; left:5px; bottom:5px;
  display:inline-flex; align-items:center;
  padding:0 4px; border-radius:3px;
  background:rgba(15,23,42,.42); color:rgba(255,255,255,.88);
  font-size:9px; font-weight:600; line-height:1.5;
  letter-spacing:.06em; text-transform:uppercase;
  -webkit-backdrop-filter:blur(1.5px); backdrop-filter:blur(1.5px);
  pointer-events:none; z-index:2;
}
/* Wrapper, damit der KI-Badge in Custom-Themes ueber dem Bild positioniert werden kann. */
.thumbWrap{ position:relative; display:block; }
.thumbWrap > img{ display:block; width:100%; height:auto; }
/* Inline-Variante fuer kleine Fix-Groessen-Thumbs (Sidebar): Bildgroesse bleibt erhalten. */
.thumbWrapInline{ position:relative; display:inline-block; line-height:0; vertical-align:top; max-width:100%; }

/* Fix: lange Woerter (z.B. "Kennzeichnungspflicht") duerfen im Sidebar-Block
   ("Weiterlesen") nicht ueber den Container hinauslaufen. */
.aSideItem{ min-width:0; }
.aSideItem__body{ min-width:0; overflow:hidden; }
.aSideItem a, .aSideBlock__title{ overflow-wrap:anywhere; word-break:break-word; hyphens:auto; }

:root{
  --bg: #0b1220;
  --text: #e9eefc;
  --muted: rgba(233,238,252,.72);
  --border: rgba(255,255,255,.14);
  --primary: #e9eefc;
  --secondary: #6b7280;
  --accent: #f59e0b;
  --badge: #e9eefc;
  --warn: #f59e0b;
  --radius: 5px;
  --txt: var(--text);
  --line: var(--border);
}

/* DEBUG themeKey=redaktionsportal domain=digitaljournal.at */
/* overrides: redaktionsportal */
/* =========================
   Redaktionsportal – Light Editorial
   ========================= */

/* Grundfarben überschreiben */
:root {
  --bg: #f8fafc;           /* sehr helles Grau */
  --card: #ffffff;
  --text: #0f172a;          /* fast schwarz */
  --muted: #475569;
  --line: #e2e8f0;

  --accent: #2563eb;       /* seriöses Blau */
  --primary: #2563eb;
  --secondary: #334155;

  --radius: 8px;
  --shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}
