/**
 * RegioJournal Child – Design-System (mobile first).
 *
 * Farben kommen aus Astras globaler Palette (Customizer › Global › Farben):
 *   Farbe 0 Markenblau #1A75BB · 1 Blau dunkel (Hover) · 2 Überschriften · 3 Text,
 *   dazu Astras Rollen „Hintergrund“, „Hintergrund 2“ (helle Fläche) und „Rahmen“.
 * Gedämpfter Text und helles Blau werden daraus gemischt. Hex-Werte sind nur Fallbacks.
 *
 * Die Klassen rj-* hängen als „Zusätzliche CSS-Klassen“ an Gutenberg-Blöcken
 * (siehe patterns/). Breakpoints: 600 · 900 · 1200.
 */

/* ---------- Schriften (lokal, SIL OFL) ---------- */
@font-face { font-family: "Schibsted Grotesk"; font-style: normal; font-weight: 400 900; font-display: swap; src: url("../fonts/schibsted-grotesk-latin-wght-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Schibsted Grotesk"; font-style: normal; font-weight: 400 900; font-display: swap; src: url("../fonts/schibsted-grotesk-latin-ext-wght-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Source Serif 4"; font-style: normal; font-weight: 200 900; font-display: swap; src: url("../fonts/source-serif-4-latin-wght-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Serif 4"; font-style: normal; font-weight: 200 900; font-display: swap; src: url("../fonts/source-serif-4-latin-ext-wght-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Source Serif 4"; font-style: italic; font-weight: 200 900; font-display: swap; src: url("../fonts/source-serif-4-latin-wght-italic.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---------- Tokens ---------- */
:root {
	--rj-brand: var(--ast-global-color-0, #1a75bb);
	--rj-brand-strong: var(--ast-global-color-1, #135a91);
	--rj-ink: var(--ast-global-color-2, #0f1419);
	--rj-text: var(--ast-global-color-3, #1f252d);
	/* Astras Rollen-Variablen statt fester Paletten-Nummern – die Reihenfolge 4–8 unterscheidet sich je nach Astra-Version. */
	--rj-bg: var(--ast-global-color-primary, #ffffff);
	--rj-surface: var(--ast-global-color-secondary, #f3f5f8);
	--rj-line: var(--ast-border-color, #e3e7ec);
	--rj-muted: color-mix(in srgb, var(--rj-text) 72%, var(--rj-bg));
	--rj-brand-tint: color-mix(in srgb, var(--rj-brand) 10%, var(--rj-bg));

	--rj-font-sans: "Schibsted Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--rj-font-serif: "Source Serif 4", Charter, "Iowan Old Style", Georgia, serif;

	--rj-fs-xs: 0.8125rem;
	--rj-fs-sm: 0.9375rem;
	--rj-fs-md: 1.0625rem;
	--rj-fs-body: clamp(1.125rem, 1.07rem + 0.25vw, 1.25rem);
	--rj-fs-h4: clamp(1.125rem, 1.08rem + 0.2vw, 1.25rem);
	--rj-fs-h3: clamp(1.25rem, 1.15rem + 0.45vw, 1.5rem);
	--rj-fs-h2: clamp(1.5rem, 1.3rem + 0.85vw, 2rem);
	--rj-fs-h1: clamp(1.875rem, 1.5rem + 1.7vw, 3rem);
	--rj-fs-hero: clamp(1.875rem, 1.4rem + 2.2vw, 3.25rem);

	--rj-gap: clamp(1rem, 0.8rem + 1vw, 1.75rem);
	--rj-radius: 10px;
	--rj-radius-sm: 6px;
	--rj-measure: 42rem;
}

/* ---------- Gemeinsame Bausteine ---------- */
/* Nur für Screenreader und Suchmaschinen sichtbar, z. B. die H1 der Startseite */
.rj-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.rj-section { padding-block: clamp(2rem, 1.5rem + 2vw, 3.5rem); margin: 0; }
.rj-section + .rj-section { border-top: 1px solid var(--rj-line); }
.rj-section > * { margin-block: 0; }

.rj-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem !important; }
.rj-section__title { font-family: var(--rj-font-sans); font-size: var(--rj-fs-h3) !important; font-weight: 800; letter-spacing: -0.015em; line-height: 1.15; margin: 0; display: flex; align-items: center; gap: .6rem; color: var(--rj-ink); }
.rj-section__title::before { content: ""; flex: none; width: 6px; height: 1.1em; border-radius: 3px; background: var(--rj-brand); }
.rj-section__more { margin: 0; font-size: var(--rj-fs-sm); font-weight: 600; white-space: nowrap; }
.rj-section__more a { color: var(--rj-brand); text-decoration: none; }
.rj-section__more a:hover { text-decoration: underline; text-underline-offset: 3px; }
.rj-section__intro { color: var(--rj-muted); font-size: var(--rj-fs-sm); margin: -.5rem 0 1rem; }

.rj-kicker { font-family: var(--rj-font-sans); font-size: var(--rj-fs-xs); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; line-height: 1.3; color: var(--rj-brand); }
.rj-kicker a { color: inherit; text-decoration: none; position: relative; z-index: 1; }
.rj-meta { color: var(--rj-muted); font-size: var(--rj-fs-xs); line-height: 1.4; }

.rj-chips { display: flex; gap: .5rem; overflow-x: auto; scrollbar-width: none; padding: 0 0 .25rem; margin: -.25rem 0 1.5rem; list-style: none; }
.rj-chips::-webkit-scrollbar { display: none; }
.rj-chip, .rj-tags a {
	display: inline-flex; align-items: center; min-height: 36px; padding: .35rem .9rem;
	border-radius: 999px; background: var(--rj-surface); color: var(--rj-ink);
	font: 600 var(--rj-fs-sm)/1.2 var(--rj-font-sans); white-space: nowrap; text-decoration: none;
	border: 1px solid transparent; cursor: pointer;
}
.rj-chip:hover, .rj-tags a:hover { border-color: var(--rj-line); background: var(--rj-bg); color: var(--rj-ink); }
.rj-chip[aria-pressed="true"] { background: var(--rj-brand); color: #fff; }

/* ---------- Teaser-Karten (Query Loop) ---------- */
body :is(ul, ol):is(.rj-grid, .rj-list, .rj-ticker, .rj-feed) { list-style: none; margin: 0; padding: 0; } /* gegen Astras Listen-Einzug */
/* Astras Kasten-Optik für Beiträge (Container „Boxed“) nicht auf Teaser übertragen */
body :is(.rj-grid, .rj-list, .rj-ticker, .rj-feed) > li { background: none; box-shadow: none; border-radius: 0; padding-inline: 0; margin-inline: 0; }
.rj-grid { display: grid; gap: var(--rj-gap); }

.rj-card { position: relative; display: flex; flex-direction: column; gap: .5rem; height: 100%; }
.rj-card > * { margin: 0 !important; }
.rj-card__media { position: relative; overflow: hidden; border-radius: var(--rj-radius); background: var(--rj-surface); aspect-ratio: 16 / 9; } /* Format der Redaktionsbilder – Text im Bild bleibt sichtbar */
.rj-card__media a { display: block; height: 100%; }
.rj-card__media img { width: 100%; height: 100% !important; object-fit: cover; transition: transform .4s ease; display: block; }
.rj-card:hover .rj-card__media img { transform: scale(1.03); }
.rj-card__title { font-family: var(--rj-font-sans); font-size: var(--rj-fs-h4) !important; font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; color: var(--rj-ink); text-wrap: balance; }
.rj-card__title a { color: inherit; text-decoration: none; }
.rj-card__title a::after { content: ""; position: absolute; inset: 0; } /* ganze Karte klickbar */
.rj-card:hover .rj-card__title { color: var(--rj-brand-strong); }
.rj-card__excerpt, .rj-card__excerpt p { color: var(--rj-muted); font-size: var(--rj-fs-sm); line-height: 1.5; margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.rj-card__excerpt .wp-block-post-excerpt__more-text { display: none; }

/* Aufmacher – Schriftgröße richtet sich nach der Spaltenbreite, nicht nach dem Fenster */
.rj-top > .wp-block-column, .rj-split > .wp-block-column { container-type: inline-size; }
.rj-card--lead .rj-card__title { font-size: clamp(1.75rem, 6.2cqi, 3.25rem) !important; font-weight: 800; letter-spacing: -0.025em; line-height: 1.08; overflow-wrap: break-word; }
.rj-card--lead .rj-card__excerpt, .rj-card--lead .rj-card__excerpt p { font-size: var(--rj-fs-md); color: var(--rj-text); -webkit-line-clamp: 4; }

/* Zeile: Text links, kleines Bild rechts */
.rj-card--row { display: grid; grid-template-columns: minmax(0, 1fr) 128px; column-gap: 1rem; row-gap: .35rem; align-content: start; }
.rj-card--row > * { grid-column: 1; }
.rj-card--row > .rj-card__media { grid-column: 2; grid-row: 1 / span 4; border-radius: var(--rj-radius-sm); align-self: start; }
.rj-card--row .rj-card__title { font-size: var(--rj-fs-md) !important; line-height: 1.25; }
.rj-card--row .rj-card__excerpt { display: none; }

.rj-list > li { padding-block: 1rem; border-top: 1px solid var(--rj-line); margin: 0; }
.rj-list > li:first-child { border-top: 0; padding-top: 0; }

/* Ticker „Neueste Meldungen“ */
.rj-ticker > li { padding: .8rem 0; border-top: 1px solid var(--rj-line); margin: 0; }
.rj-ticker > li:first-child { border-top: 0; padding-top: 0; }
.rj-ticker__item { position: relative; display: grid; grid-template-columns: 3.25rem minmax(0, 1fr); column-gap: .75rem; row-gap: .15rem; }
.rj-ticker__item > * { margin: 0 !important; grid-column: 2; }
.rj-ticker__item > .rj-ticker__time { grid-column: 1; grid-row: 1 / span 2; font-weight: 700; font-size: var(--rj-fs-sm); color: var(--rj-brand); font-variant-numeric: tabular-nums; }
.rj-ticker__item .rj-kicker { font-size: .6875rem; }
.rj-ticker__title { font-family: var(--rj-font-sans); font-size: var(--rj-fs-md) !important; font-weight: 600; line-height: 1.3; }
.rj-ticker__title a { color: var(--rj-ink); text-decoration: none; }
.rj-ticker__title a::after { content: ""; position: absolute; inset: 0; }
.rj-ticker__item:hover .rj-ticker__title a { color: var(--rj-brand-strong); }

/* Startseite oben: Aufmacher + Ticker. Spalten stapeln sich mobil. */
.rj-top { gap: calc(var(--rj-gap) * 1.5) !important; }
.rj-top > .wp-block-column + .wp-block-column,
.rj-split > .wp-block-column + .wp-block-column { border-top: 1px solid var(--rj-line); padding-top: 1.25rem; }

/* Wischbare Reihe (Dein Ort) */
.rj-rail { display: grid; grid-auto-flow: column; grid-auto-columns: 78%; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 0; margin: 0; list-style: none; }
.rj-rail::-webkit-scrollbar { display: none; }
.rj-rail > * { scroll-snap-align: start; }
.rj-rail.is-loading { opacity: .5; }
.rj-empty { color: var(--rj-muted); padding: 2rem 0; margin: 0; }

/* Archiv/Feed: erster Beitrag groß, Rest als Zeilen */
.rj-feed { display: grid; gap: 0; }
.rj-feed > li { padding-block: 1.1rem; border-top: 1px solid var(--rj-line); margin: 0; }
.rj-feed > li:first-child { border-top: 0; padding-top: 0; padding-bottom: 1.75rem; }
.rj-feed > li:first-child .rj-card__title { font-size: var(--rj-fs-h2) !important; font-weight: 800; letter-spacing: -0.02em; }
.rj-feed > li:not(:first-child) .rj-card { display: grid; grid-template-columns: minmax(0, 1fr) 128px; column-gap: 1rem; row-gap: .35rem; align-content: start; }
.rj-feed > li:not(:first-child) .rj-card > * { grid-column: 1; }
.rj-feed > li:not(:first-child) .rj-card__media { grid-column: 2; grid-row: 1 / span 4; border-radius: var(--rj-radius-sm); }
.rj-feed > li:not(:first-child) .rj-card__title { font-size: var(--rj-fs-md) !important; }
.rj-feed > li:not(:first-child) .rj-card__excerpt { display: none; }

/* Monatsmagazin-Band */
.rj-print { background: var(--rj-brand); color: #fff; border-radius: var(--rj-radius); padding: clamp(1.5rem, 1rem + 2vw, 2.5rem) !important; }
.rj-print :where(h2, h3, p, .rj-kicker) { color: #fff; }
.rj-print h2 { font-size: var(--rj-fs-h2) !important; font-weight: 800; letter-spacing: -0.02em; }
.rj-print .rj-kicker { opacity: .8; }
.rj-print .wp-block-button__link { background: #fff !important; color: var(--rj-brand-strong) !important; border-radius: 999px; font-weight: 600; }
.rj-print figure img { border-radius: 4px; box-shadow: 0 20px 40px rgb(0 0 0 / .25); transform: rotate(-4deg); max-width: 170px; margin-inline: auto; }

/* ---------- Werbung (Advanced Ads) ---------- */
/* Oben/unten: Rahmen aus [rj_ad]. Mitte: Advanced Ads' Content-Platzierung im Artikeltext –
   erkannt an der Klasse „…entity-placement“, die Advanced Ads selbst vergibt (eine eigene
   Container-Klasse lässt sich dort nicht eintragen). Die Anzeigen kommen fertig im HTML an,
   daher keine reservierte Mindesthöhe – sonst bleiben bei kleinen Bannern Lücken. */
.rj-ad,
.rj-article__body > :is([class*="entity-placement"], :has(> [class*="entity-placement"])) {
	margin-block: 2rem; text-align: center; font-family: var(--rj-font-sans); clear: both;
}
.rj-ad::before,
.rj-article__body > :is([class*="entity-placement"], :has(> [class*="entity-placement"]))::before {
	content: "Anzeige"; display: block; font-size: .6875rem; letter-spacing: .08em; text-transform: uppercase; color: var(--rj-muted); margin-bottom: .35rem;
}
.rj-ad > * { margin-inline: auto; }
.rj-ad :is(img, iframe), .rj-article__body [class*="entity-placement"] :is(img, iframe) { max-width: 100%; height: auto; }

/* ---------- Artikel (Layout Builder: Einzelbeitrag) ---------- */
.rj-article { max-width: var(--rj-measure); margin-inline: auto; padding-top: 1.25rem; }
.rj-article > * { margin-block: 0; }
.rj-article .rank-math-breadcrumb { font-size: var(--rj-fs-xs); color: var(--rj-muted); margin-bottom: 1rem; }
.rj-article .rank-math-breadcrumb p { margin: 0; }
.rj-article .rank-math-breadcrumb a { color: inherit; text-decoration: none; }
.rj-article .rank-math-breadcrumb a:hover { color: var(--rj-brand); }
.rj-article__title { font-family: var(--rj-font-sans); font-size: var(--rj-fs-h1) !important; font-weight: 800; letter-spacing: -0.025em; line-height: 1.1; margin-top: .5rem !important; color: var(--rj-ink); text-wrap: balance; }
.rj-article__subtitle { margin-top: .9rem !important; font-family: var(--rj-font-sans); font-size: clamp(1.125rem, 1.05rem + 0.4vw, 1.375rem); line-height: 1.45; color: var(--rj-text); text-wrap: pretty; }
.rj-article__bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.25rem !important; padding-block: .75rem; border-block: 1px solid var(--rj-line); }
.rj-article__bar > * { margin: 0 !important; }
.rj-article__bar .rj-meta { display: flex; flex-wrap: wrap; gap: .2rem .75rem !important; }
.rj-article__bar .rj-meta > * { margin: 0 !important; }

/* Mobil: Bild randlos über die ganze Breite, Bildunterschrift bleibt bündig mit dem Text */
.rj-article__figure { margin: 1.5rem 0 0 !important; }
.rj-article__figure img { width: 100vw; max-width: 100vw; margin-inline: calc(50% - 50vw); aspect-ratio: 16 / 9; object-fit: cover; }
.rj-article__figure figcaption, .rj-figcaption { padding-top: .6rem; font-size: var(--rj-fs-xs); line-height: 1.45; color: var(--rj-muted); text-align: left; margin: 0; }

/* Vorspann: der selbst geschriebene Auszug, fett als Einleitung */
.rj-article__lead { margin-top: 2rem !important; font-family: var(--rj-font-serif); font-size: calc(var(--rj-fs-body) * 1.05); line-height: 1.6; font-weight: 700; color: var(--rj-ink); }
.rj-article__lead p { margin: 0; }
.rj-article__lead + .rj-article__body { margin-top: 1.25rem !important; }
.rj-article__lead + .rj-article__body > p:first-of-type { font-size: inherit; }

/* Fließtext: Serifenschrift für ruhiges, langes Lesen */
.rj-article__body { margin-top: 2rem !important; font-family: var(--rj-font-serif); font-size: var(--rj-fs-body); line-height: 1.7; color: var(--rj-text); }
.rj-article__body > * { margin-block: 0 !important; }
.rj-article__body > * + * { margin-top: 1.15em !important; }
.rj-article__body > p:first-of-type { font-size: 1.08em; }
.rj-article__body :where(h2, h3, h4) { font-family: var(--rj-font-sans); color: var(--rj-ink); line-height: 1.2; letter-spacing: -0.015em; }
.rj-article__body > :where(h2, h3, h4) { margin-top: 1.9em !important; }
.rj-article__body h2 { font-size: var(--rj-fs-h3); font-weight: 800; }
.rj-article__body :where(h3, h4) { font-size: var(--rj-fs-h4); font-weight: 700; }
.rj-article__body > :where(h2, h3, h4) + * { margin-top: .6em !important; }
.rj-article__body a { color: var(--rj-brand-strong); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.rj-article__body strong { font-weight: 650; color: var(--rj-ink); }
.rj-article__body :where(ul, ol) { padding-left: 1.25em; }
.rj-article__body li + li { margin-top: .4em; }
.rj-article__body li::marker { color: var(--rj-brand); }
.rj-article__body blockquote { margin-inline: 0; padding: .25rem 0 .25rem 1.25rem; border-left: 4px solid var(--rj-brand); font-size: 1.1em; font-style: italic; color: var(--rj-ink); }
.rj-article__body figcaption { font-family: var(--rj-font-sans); font-size: var(--rj-fs-xs); color: var(--rj-muted); }
.rj-article__body > :is(.rj-ad, [class*="entity-placement"], :has(> [class*="entity-placement"])) { margin-block: 2.25rem !important; }

.rj-source { margin-top: 2rem !important; padding: 1rem 1.25rem; background: var(--rj-surface); border-radius: var(--rj-radius-sm); font-family: var(--rj-font-sans); font-size: var(--rj-fs-sm); color: var(--rj-muted); }
.rj-source b { color: var(--rj-ink); }
.rj-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.5rem !important; }
.rj-tags .wp-block-post-terms__separator { display: none; }

/* Teilen – reine Links, keine Drittanbieter-Skripte */
.rj-share { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; font-family: var(--rj-font-sans); }
.rj-share__links { display: flex; gap: .35rem; flex-wrap: wrap; }
.rj-share__btn {
	display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; padding: 0;
	border: 1px solid var(--rj-line); background: var(--rj-bg); color: var(--rj-ink); cursor: pointer; text-decoration: none;
}
.rj-share__btn:hover, .rj-share__btn:focus-visible { background: var(--rj-brand); border-color: var(--rj-brand); color: #fff; }
.rj-share__btn svg { width: 18px; height: 18px; }
.rj-share--compact { flex-wrap: nowrap; flex-shrink: 0; }
.rj-share--compact .rj-share__net { display: none; }
.rj-share--full { margin-top: 2rem; padding: 1.25rem; border: 1px solid var(--rj-line); border-radius: var(--rj-radius); justify-content: space-between; }
.rj-share--full strong { font-size: var(--rj-fs-md); color: var(--rj-ink); }

.rj-toast { position: fixed; left: 50%; bottom: 1.5rem; translate: -50% 1rem; opacity: 0; background: var(--rj-ink); color: #fff; padding: .75rem 1.1rem; border-radius: 999px; font: var(--rj-fs-sm) var(--rj-font-sans); transition: .2s; pointer-events: none; z-index: 9999; }
.rj-toast.is-on { opacity: 1; translate: -50% 0; }
.rj-progress { position: fixed; top: 0; left: 0; height: 3px; width: 0; background: var(--rj-brand); z-index: 9999; }

.rj-related { margin-top: 3rem; }

/* ---------- Archiv-Kopf ---------- */
.rj-archive-head { padding-block: 2rem 1.5rem; border-bottom: 1px solid var(--rj-line); margin-bottom: 2rem !important; }
.rj-archive-head > * { margin-block: 0 !important; }
.rj-archive-head .rj-archive-title { font-family: var(--rj-font-sans); font-size: var(--rj-fs-h1) !important; font-weight: 800; letter-spacing: -0.025em; margin-top: .35rem !important; color: var(--rj-ink); }
.rj-archive-head .wp-block-term-description { margin-top: .6rem !important; color: var(--rj-muted); max-width: 60ch; }
.rj-archive-head .rj-chips { margin: 1.25rem 0 0; }
.rj-pagination { margin-top: 2.5rem !important; justify-content: center; gap: .5rem; font-family: var(--rj-font-sans); }
.rj-pagination :where(a, .page-numbers) { min-width: 44px; height: 44px; display: inline-grid; place-items: center; border-radius: 999px; border: 1px solid var(--rj-line); font-weight: 600; padding-inline: .9rem; text-decoration: none; color: var(--rj-ink); }
.rj-pagination .page-numbers.current { background: var(--rj-ink); color: #fff; border-color: var(--rj-ink); }
.rj-pagination .page-numbers.dots { border: 0; }

/* ---------- Footer (Layout Builder: Footer) ---------- */
.rj-footer { background: var(--rj-ink); color: color-mix(in srgb, #fff 72%, var(--rj-ink)); font-family: var(--rj-font-sans); font-size: var(--rj-fs-sm); line-height: 1.5; margin: 0 !important; padding: 0 !important; }
.rj-footer__inner { max-width: var(--ast-normal-container-width, 1240px); margin-inline: auto; padding: 3rem 20px 2rem !important; }
.rj-footer :where(p, h3, ul) { margin: 0; }
.rj-footer a { color: inherit; text-decoration: none; }
.rj-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.rj-footer__cols { gap: 2rem !important; margin-bottom: 0 !important; }
.rj-footer__brand .wp-block-site-logo img { filter: brightness(0) invert(1); height: auto; }
.rj-footer__brand p { margin-top: .9rem !important; max-width: 34ch; }
.rj-footer__head { color: #fff !important; font-size: var(--rj-fs-xs) !important; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: .75rem !important; }
body .rj-footer__links { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.rj-footer__legal { margin-top: 2.5rem !important; padding-top: 1.5rem; border-top: 1px solid rgb(255 255 255 / .12); gap: .75rem 1.5rem; font-size: var(--rj-fs-xs); }
.rj-footer__legal-links { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }

/* ================= ab 600 px ================= */
@media (min-width: 600px) {
	.rj-rail { grid-auto-columns: 44%; }
	.rj-card--row { grid-template-columns: minmax(0, 1fr) 160px; }
	.rj-grid--3, .rj-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rj-share--compact .rj-share__net { display: inline-grid; }
	.rj-feed > li:not(:first-child) .rj-card { grid-template-columns: 200px minmax(0, 1fr); }
	.rj-feed > li:not(:first-child) .rj-card > * { grid-column: 2; }
	.rj-feed > li:not(:first-child) .rj-card__media { grid-column: 1; }
	.rj-feed > li:not(:first-child) .rj-card__excerpt { display: -webkit-box; }
}

/* Astra gibt Gruppen auf oberster Ebene zusätzlich Innenabstand links/rechts (Block-Abstände).
   Der Container hat schon einen Rand – sonst wird der Inhalt doppelt eingerückt und unnötig schmal. */
body .entry-content > .wp-block-group:is(.rj-section, .rj-article, .rj-archive-head) { padding-left: 0; padding-right: 0; }
body .entry-content > .wp-block-group.rj-section { padding-block: clamp(2rem, 1.5rem + 2vw, 3.5rem); }

/* ================= ab 900 px ================= */
@media (min-width: 900px) {
	.rj-top > .wp-block-column + .wp-block-column { border-top: 0; padding-top: 0; border-left: 1px solid var(--rj-line); padding-left: calc(var(--rj-gap) * 1.5); }
	.rj-split > .wp-block-column + .wp-block-column { border-top: 0; padding-top: 0; }
	.rj-split .rj-card:not(.rj-card--row) .rj-card__title { font-size: var(--rj-fs-h3) !important; }
	.rj-top .rj-card--row { grid-template-columns: minmax(0, 1fr) 128px; }

	.rj-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rj-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.rj-rail { grid-auto-columns: calc((100% - 3rem) / 4); }

	.rj-article__figure img { width: 100%; max-width: 100%; margin-inline: 0; border-radius: var(--rj-radius); }

	.rj-feed > li:first-child .rj-card { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); column-gap: calc(var(--rj-gap) * 1.5); row-gap: .5rem; align-content: center; }
	.rj-feed > li:first-child .rj-card > * { grid-column: 2; }
	.rj-feed > li:first-child .rj-card__media { grid-column: 1; grid-row: 1 / span 5; }
	.rj-feed > li:not(:first-child) .rj-card { grid-template-columns: 240px minmax(0, 1fr); column-gap: 1.5rem; }
	.rj-feed > li:not(:first-child) .rj-card__title { font-size: var(--rj-fs-h4) !important; }
}

/* ================= ab 1200 px ================= */
@media (min-width: 1200px) {
	.rj-article__figure { margin-inline: -5rem !important; }
}

@media (prefers-reduced-motion: reduce) {
	.rj-card__media img, .rj-toast { transition: none; }
}
