*{margin:0;padding:0;box-sizing:border-box}
body{font-family:Georgia,'Times New Roman',serif;line-height:1.8;color:#222;background:#f4f1eb}
.sc-JizcEk{max-width:1100px;margin:0 auto;padding:0 24px}
.sc-TzbIxG{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;padding:48px 0;text-align:center;margin-bottom:48px}
.sc-TzbIxG h1{font-size:36px;letter-spacing:2px;text-transform:uppercase;margin-bottom:6px}
.sc-TzbIxG p{font-size:16px;opacity:.8;font-style:italic}
.sc-TzbIxG .sc-kAZgvj{color:#fff;text-decoration:none;font-size:20px;letter-spacing:1px;text-transform:uppercase}
.sc-ahcMpA{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px}
.sc-tpIcAW{background:#fff;border-radius:4px;box-shadow:0 2px 12px rgba(0,0,0,.08);padding:28px;transition:box-shadow .2s}
.sc-tpIcAW:hover{box-shadow:0 4px 20px rgba(0,0,0,.14)}
.sc-tpIcAW h2{font-size:22px;margin-bottom:10px;line-height:1.3}
.sc-tpIcAW h2 a{color:#2c3e50;text-decoration:none}
.sc-tpIcAW .sc-EaoAoc{font-size:12px;color:#888;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}
.sc-tpIcAW p{font-size:15px;color:#555;margin-bottom:14px}
.sc-nTAYoB{color:#e74c3c;text-decoration:none;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.5px}
.sc-XNFkcy{max-width:780px;margin:0 auto;padding:0 24px 60px}
.sc-XNFkcy h1{font-size:36px;margin-bottom:10px;line-height:1.2}
.sc-XNFkcy .sc-EaoAoc{font-size:13px;color:#888;display:block;margin-bottom:28px;text-transform:uppercase;letter-spacing:1px}
.sc-XNFkcy h2{font-size:24px;margin:36px 0 14px}
.sc-XNFkcy h3{font-size:19px;margin:28px 0 10px}
.sc-XNFkcy p{margin-bottom:18px;font-size:17px}
.sc-XNFkcy ul,.sc-XNFkcy ol{margin:0 0 18px 28px}
.sc-XNFkcy a{color:#e74c3c}
.sc-XNFkcy img{max-width:100%;height:auto;border-radius:4px;margin:20px 0}
.sc-uYFYap{border-top:2px solid #ddd;padding:28px 0;margin-top:48px;text-align:center;font-size:13px;color:#888}
.sc-uYFYap a{color:#888}
.sc-rbbRqL{border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:14px 0;margin-bottom:28px;font-size:14px;color:#888;font-style:italic;text-align:center}
.sc-yOaQTt{background:#f9f3e3;padding:16px 20px;margin-top:28px;font-size:13px;color:#7a6230;border-radius:4px}
.sc-sqVbrM{font-size:11px;color:#888;margin:-22px 0 28px;text-transform:uppercase;letter-spacing:1.5px}
.sc-ZtYnhr{margin:0 0 28px}
.sc-ZgcCmq{width:100%;height:auto;border-radius:4px}
.sc-AiPLbi{border-top:2px solid #ddd;margin-top:40px;padding-top:24px}
.sc-AiPLbi h4{font-size:16px;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;color:#888}
.mag-related-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mag-related-item a{color:#2c3e50;text-decoration:none;font-size:15px}
.mag-related-item a:hover{color:#e74c3c}
.sc-gTvvrU{background:#fff;border-radius:4px;box-shadow:0 2px 12px rgba(0,0,0,.08);padding:22px 28px;margin-top:28px}
.sc-gTvvrU p{font-size:15px;padding:4px 0;margin:0}
.sc-gTvvrU .sc-EaoAoc{margin:0 8px 0 0;display:inline}
.sc-gTvvrU a{color:#2c3e50;text-decoration:none}
.sc-gTvvrU a:hover{color:#e74c3c}
/* === Theme === */
:root{--primary:#4D2D15;--accent:#5A8B4D;--bg:#F0E8D2;--fg:#15090A;--border:#C5B898;--r:1px;--fb:'Wix Madefor Text';--fh:'Sorts Mill Goudy'}
/* === Custom === */
@import url('https://fonts.googleapis.com/css2?family=Sorts+Mill+Goudy:ital@0;1&family=Wix+Madefor+Text:ital,wght@0,400;0,500;0,700;1,400&display=swap');

:root body { font-family: var(--fb), system-ui, -apple-system, sans-serif; color: var(--fg); background: var(--bg); line-height: 1.72; font-size: 16.5px; }
::selection { background: var(--primary); color: var(--bg); }
:root hr { border: 0; border-top: 1px solid var(--border); margin: 32px 0; }

:root nav { background: var(--primary); color: var(--bg); padding: 60px 0 40px; text-align: center; margin-bottom: 48px; border-bottom: 4px solid var(--accent); }
:root nav > div { max-width: 780px; margin: 0 auto; padding: 0 24px; }
:root nav > div > h1 { font-family: var(--fh), Cambria, serif; font-size: 44px; font-weight: 400; color: var(--bg); letter-spacing: 0; line-height: 1.10; margin-bottom: 8px; }
:root nav > div > p { font-family: var(--fb), system-ui, sans-serif; font-size: 13px; color: rgba(255, 255, 255, 0.85); font-style: italic; letter-spacing: 0.03em; display: block; max-width: 600px; margin: 0.25em auto 0; }
:root nav > div > a { font-family: var(--fh), Cambria, serif; font-size: 28px; color: var(--bg); text-decoration: none; font-weight: 400; }

:root main > h1 { font-family: var(--fh), Cambria, serif; font-size: 40px; font-weight: 400; color: var(--primary); line-height: 1.10; margin: 10px 0 6px; letter-spacing: 0; }
:root main > time { display: block; font-family: var(--fb), system-ui, sans-serif; font-size: 0.875rem; color: #5a4a2a; margin-bottom: 1.75em; letter-spacing: .14em; text-transform: uppercase; font-weight: 500; }

:root main > article > p { margin-bottom: 18px; font-size: 16.5px; max-width: 720px; line-height: 1.75; }
:root main > article > h2 { font-family: var(--fh), Cambria, serif; font-size: 28px; font-weight: 400; color: var(--primary); margin: 2.5em 0 0.5em; padding-bottom: 8px; border-bottom: 1px solid var(--accent); letter-spacing: 0; max-width: 720px; }
:root main > article > h3 { font-family: var(--fh), Cambria, serif; font-size: 21px; font-weight: 400; color: var(--accent); margin: 26px 0 10px; font-style: italic; max-width: 720px; }
:root main > article ul, :root main > article ol { margin: 0 0 18px 26px; max-width: 720px; }
:root main > article li { margin-bottom: 6px; }
:root main > article blockquote { border-left: 4px solid var(--accent); padding: 12px 0 12px 22px; margin: 28px 0; font-style: italic; color: var(--primary); background: rgba(90, 139, 77, .08); border-radius: 0 var(--r) var(--r) 0; max-width: 720px; }

:root main > article > p a, :root main > article > p a:visited { color: var(--primary); text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 3px; text-decoration-thickness: 1.5px; font-weight: 500; }
:root main > article > p a:hover { color: var(--accent); text-decoration-color: var(--primary); }

:root main > article > p a[href^="/ref/"], :root main > article > p a[href^="/try/"], :root main > article > p a[href^="/check/"], :root main > article > p a[href^="/partner/"], :root main > article > p a[href^="/go/"] { background: var(--accent); color: var(--bg); padding: 3px 12px; border-radius: var(--r); text-decoration: none; font-weight: 700; font-family: var(--fb), system-ui, sans-serif; font-size: 14.5px; letter-spacing: .03em; }
:root main > article > p a[href^="/ref/"]:hover, :root main > article > p a[href^="/try/"]:hover, :root main > article > p a[href^="/check/"]:hover, :root main > article > p a[href^="/partner/"]:hover, :root main > article > p a[href^="/go/"]:hover { background: var(--primary); }

:root main > article img, :root main > article > p > img { width: 100%; max-width: 720px; height: auto; display: block; border-radius: var(--r); box-shadow: 0 4px 18px rgba(21, 9, 10, .14); margin: 20px 0; }

:root main > article > em { display: block; background: rgba(77, 45, 21, .07); border-left: 4px solid var(--primary); border-radius: 0 var(--r) var(--r) 0; padding: 14px 20px; margin: 28px 0; font-size: 13.5px; color: var(--fg); font-family: var(--fb), system-ui, sans-serif; max-width: 720px; }

:root main > div > div { background: var(--bg); border: 1px solid var(--border); border-left: 4px solid var(--accent); border-radius: 0 var(--r) var(--r) 0; padding: 24px 26px; margin-bottom: 22px; box-shadow: 0 1px 6px rgba(21, 9, 10, .04); transition: transform .15s ease, box-shadow .15s ease, border-left-color .15s ease; }
:root main > div > div:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(21, 9, 10, .10); border-left-color: var(--primary); }
:root main > div > div > p:first-child { font-family: var(--fb), system-ui, sans-serif; font-size: 11px; color: var(--accent); letter-spacing: .14em; text-transform: uppercase; margin-bottom: 8px; font-weight: 700; }
:root main > div > div > h2 { font-family: var(--fh), Cambria, serif; font-size: 24px; font-weight: 400; margin-bottom: 8px; line-height: 1.16; letter-spacing: 0; }
:root main > div > div > h2 a { color: var(--primary); text-decoration: none; }
:root main > div > div > h2 a:hover { color: var(--accent); }
:root main > div > div > p:not(:first-child) { font-family: var(--fb), system-ui, sans-serif; font-size: 15px; color: var(--fg); opacity: .85; margin-bottom: 14px; }
:root main > div > div > a:last-child { font-family: var(--fb), system-ui, sans-serif; font-size: 13px; color: var(--bg); background: var(--primary); padding: 7px 20px; border-radius: var(--r); text-decoration: none; letter-spacing: .04em; font-weight: 700; display: inline-block; }
:root main > div > div > a:last-child:hover { background: var(--accent); }

:root footer { background: transparent; border-top: 1px solid var(--border); padding: 26px 0 36px; margin-top: 56px; text-align: center; font-family: var(--fb), system-ui, sans-serif; font-size: 12.5px; color: var(--fg); opacity: .60; letter-spacing: .04em; }
:root footer a { color: var(--fg); text-decoration: none; border-bottom: 1px dotted var(--border); }
:root footer a:hover { color: var(--primary); border-bottom-color: var(--primary); }

/* === R2 fixes (2026-06-08T10:00:04.744270+00:00) === */

:root article time, :root article .sc-sqVbrM { font-size: 0.875rem; font-weight: 500; display: block; margin-bottom: 1.75em; color: #5a4a2a; letter-spacing: .14em; text-transform: uppercase; }

:root aside.sc-AiPLbi, :root aside[class*='AiPLbi'] { margin-top: 3em; padding-top: 1.5em; border-top: 2px solid #8B6914; }

/* === R3 fixes (2026-06-08T10:40:15.259748+00:00) === */

/* Fix 1: 17px body text — one pixel less fatigue for 40-55 morning readers */
:root main > article > p { font-size: 17px; }

/* Fix 2: "Continue Reading" links as subtle brand-gold outlined button */
.sc-nTAYoB, a[class*='nTAYoB'] { display: inline-block; padding: 0.4em 1em; border: 1.5px solid #8B6914; border-radius: 3px; color: #8B6914; font-size: 0.85rem; font-weight: 500; letter-spacing: 0.03em; text-decoration: none; margin-top: 0.75em; }

/* Fix 3: Disclaimer block — gold left border for quick scanning */
.sc-yOaQTt, div[class*='yOaQTt'] { border-left: 3px solid #8B6914; padding-left: 1em; margin-top: 2em; color: #5a4a2a; font-size: 0.9em; }

/* Fix 4: Nav tagline clamped to 2 lines — core message in 2 seconds */
:root nav > div > p { font-size: 12px; line-height: 1.5; max-width: 600px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Fix 5: Homepage card date in brand gold — reads as intentional timestamp, not artifact */
.sc-tpIcAW .sc-EaoAoc, main .sc-EaoAoc { font-size: 0.75rem; color: #8B6914; letter-spacing: 0.05em; font-weight: 500; margin-bottom: 0.25em; display: block; }

/* === R4 fixes (2026-06-08T11:20:04.888848+00:00) === */

/* Fix 1: H3 subheadings — readable nav anchors instead of styled body text */
:root main > article > h3 { font-style: normal; font-weight: 500; color: var(--primary); border-left: 2px solid var(--accent); padding-left: 0.6em; margin-top: 1.8em; margin-bottom: 0.4em; }

/* Fix 2: Affiliate disclosure box — visible container matching end-of-article disclaimer pattern */
.sc-rbbRqL, div[class*='rbbRqL'] { display: block; background: rgba(139, 105, 20, 0.06); border-left: 3px solid #8B6914; padding: 10px 16px; margin: 20px 0; border-radius: 0 3px 3px 0; font-size: 0.85em; }

/* Fix 3: Homepage card excerpt — full opacity for fast relevance scan */
:root main > div > div > p:not(:first-child) { opacity: 1.0; }

/* Fix 4: Related article links — scannable nav list with gold left edge */
.mag-related-item a { display: block; padding: 0.4em 0.6em 0.4em 0.9em; border-left: 2px solid rgba(139, 105, 20, 0.35); margin-bottom: 0.35em; color: var(--primary); text-decoration: none; font-size: 0.9rem; transition: border-left-color 0.15s, color 0.15s; }
.mag-related-item a:hover { border-left-color: #8B6914; color: var(--accent); }

/* Fix 5: Last-updated date — subordinate to publish date, signals maintenance without competing */
.sc-sqVbrM, div[class*='sqVbrM'] { font-size: 0.75rem; color: #8B6914; opacity: 0.7; font-weight: 400; margin-top: -1.2em; margin-bottom: 1.75em; letter-spacing: 0.04em; display: block; }

/* === QA round-1 fixes (2026-07-18T10:18:16+0800) === */

:root { --rust: #B34F2A; }

/* -- Masthead: photo + gradient, italic serif wordmark, kicker signature line -- */
:root nav { background-color: var(--primary); background-image: linear-gradient(180deg, rgba(41,24,11,.80), rgba(77,45,21,.93)), url("/theme-assets/hero-masthead.jpg"); background-size: cover; background-position: center; padding: 66px 0 44px; }
:root nav > div::before { content: "Ehrliche Langzeit-Tests · Freiburg-Wiehre"; display: block; font-family: var(--fb), system-ui, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--accent); margin-bottom: 14px; }
:root nav > div > h1 { font-style: italic; font-size: 48px; }
:root nav > div > a { font-style: italic; }
:root nav > div > p { color: rgba(240,232,210,.82); }

/* ============ HOMEPAGE: hero → Editor's Picks band → chronological grid ============ */
/* main > div is the homepage grid ONLY (article <main> has no direct > div child) */
:root main > div { display: grid; grid-template-columns: repeat(6, 1fr); gap: 26px 26px; align-items: start; padding: 0; }

/* Band labels injected as full-width grid items via container pseudo-elements */
:root main > div::before { content: "Aus meinem A5-Heft — zuerst lesen"; order: 2; grid-column: 1 / -1; font-family: var(--fb), system-ui, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--rust); padding: 22px 0 4px; border-bottom: 2px solid var(--rust); margin: 10px 0 2px; }
:root main > div::after { content: "Alle Berichte — chronologisch"; order: 4; grid-column: 1 / -1; font-family: var(--fb), system-ui, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--primary); padding: 24px 0 4px; border-bottom: 1px solid var(--border); margin: 18px 0 2px; }

/* Default card = chronological grid tile (2-up) */
:root main > div > div { order: 5; grid-column: span 3; margin-bottom: 0; padding: 22px 24px; }
:root main > div > div > h2 { font-size: 21px; }
:root main > div > div > p:first-child { color: var(--accent); }
/* Orphaned final tile (odd count) spans full width instead of leaving an empty column */
:root main > div > div:last-child:nth-child(odd) { grid-column: 1 / -1; }

/* Editor's Picks band — three curated tiles, roman-numeral meta replaces the date */
:root main > div > div:nth-child(2), :root main > div > div:nth-child(3), :root main > div > div:nth-child(4) { order: 3; grid-column: span 2; border-left-width: 1px; border-top: 3px solid var(--accent); background: rgba(90,139,77,.05); }
:root main > div > div:nth-child(2) > p:first-child, :root main > div > div:nth-child(3) > p:first-child, :root main > div > div:nth-child(4) > p:first-child { display: none; }
:root main > div > div:nth-child(2)::before, :root main > div > div:nth-child(3)::before, :root main > div > div:nth-child(4)::before { display: block; font-family: var(--fh), Cambria, serif; font-style: italic; font-size: 18px; color: var(--accent); margin-bottom: 6px; }
:root main > div > div:nth-child(2)::before { content: "N° I"; }
:root main > div > div:nth-child(3)::before { content: "N° II"; }
:root main > div > div:nth-child(4)::before { content: "N° III"; }
:root main > div > div:nth-child(2) > h2, :root main > div > div:nth-child(3) > h2, :root main > div > div:nth-child(4) > h2 { font-size: 20px; }

/* THE hero — full-width featured card: big serif title, drop cap, N° watermark, byline */
:root main > div > div:first-child { order: 1; grid-column: 1 / -1; position: relative; overflow: hidden; padding: 40px 46px 38px; border: 1px solid var(--border); border-left: 1px solid var(--border); border-top: 4px solid var(--rust); background: #FBF7EA; }
:root main > div > div:first-child::before { content: "Neuester Langzeit-Bericht · von Heike Adler"; display: block; font-family: var(--fb), system-ui, sans-serif; font-size: 11.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--accent); margin-bottom: 16px; }
:root main > div > div:first-child::after { content: "N° 01"; position: absolute; top: 20px; right: 30px; font-family: var(--fh), Cambria, serif; font-style: italic; font-size: 66px; line-height: 1; color: rgba(90,139,77,.15); pointer-events: none; }
:root main > div > div:first-child > p:first-child { display: none; }
:root main > div > div:first-child > h2 { font-size: 42px; line-height: 1.08; max-width: 660px; margin-bottom: 14px; }
:root main > div > div:first-child > p:last-of-type { font-size: 18px; line-height: 1.66; max-width: 620px; color: var(--fg); opacity: 1; margin-bottom: 20px; }
:root main > div > div:first-child > p:last-of-type::first-letter { float: left; font-family: var(--fh), Cambria, serif; font-size: 62px; line-height: .82; padding: 6px 12px 0 0; color: var(--rust); }

/* CTA discipline: quiet olive arrow-link on tiles, outlined pill on the hero */
:root main > div > div > a:last-child { background: transparent; color: var(--accent); padding: 0; border-radius: 0; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; border-bottom: 1.5px solid transparent; }
:root main > div > div > a:last-child:hover { background: transparent; color: var(--primary); border-bottom-color: var(--primary); }
:root main > div > div:first-child > a:last-child { display: inline-block; border: 1.5px solid var(--primary); color: var(--primary); padding: 10px 26px; border-radius: 2px; letter-spacing: .1em; }
:root main > div > div:first-child > a:last-child:hover { background: var(--primary); color: var(--bg); border-color: var(--primary); }

/* ============ ARTICLE page polish ============ */
:root main > h1 { font-size: 46px; line-height: 1.06; }
/* Lede drop cap (rust — same drop-cap role as the homepage hero) */
:root main > article > p:first-of-type::first-letter { float: left; font-family: var(--fh), Cambria, serif; font-size: 64px; line-height: .8; padding: 6px 12px 0 0; color: var(--rust); }
/* Section-break dinkus above every heading after the first */
:root main > article > h2:not(:first-of-type)::before { content: "✳ ✳ ✳"; display: block; text-align: center; font-size: 15px; letter-spacing: .5em; color: var(--accent); opacity: .55; margin: 1.6em 0 1.1em; border: 0; }
/* Hanging opening quote on blockquotes */
:root main > article > blockquote { position: relative; }
:root main > article > blockquote::before { content: "\201C"; position: absolute; top: -6px; left: 6px; font-family: var(--fh), Cambria, serif; font-size: 52px; line-height: 1; color: var(--accent); opacity: .35; }

/* Related-articles aside as a designed "Weiterlesen" panel */
:root main > aside[class] { margin-top: 3.5em; padding: 24px 28px; background: rgba(77,45,21,.04); border: 1px solid var(--border); border-top: 3px solid var(--accent); border-radius: 0; }
:root main > aside > h4 { font-family: var(--fh), Cambria, serif; font-style: italic; font-weight: 400; font-size: 21px; color: var(--primary); margin: 0 0 14px; }
:root main > aside > div { display: grid; gap: 8px; }
:root main > aside > div > div > a { display: block; font-family: var(--fb), system-ui, sans-serif; font-size: 15px; color: var(--primary); text-decoration: none; padding: 8px 0 8px 16px; border-left: 2px solid var(--accent); transition: border-left-color .15s, color .15s; }
:root main > aside > div > div > a:hover { color: var(--accent); border-left-color: var(--primary); }

/* ---- Responsive: collapse the editorial grid on narrow screens ---- */
@media (max-width: 768px) {
  :root main > div { grid-template-columns: 1fr; }
  :root main > div > div, :root main > div > div:first-child, :root main > div > div:nth-child(2), :root main > div > div:nth-child(3), :root main > div > div:nth-child(4), :root main > div > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
  :root main > div > div:first-child > h2 { font-size: 32px; }
  :root main > div > div:first-child::after { font-size: 46px; top: 14px; right: 18px; }
  :root nav > div > h1 { font-size: 36px; }
}
