*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,system-ui,sans-serif;line-height:1.7;color:#333;background:#fff}
.panel-e49c15{max-width:780px;margin:0 auto;padding:0 20px}
header{background:#1a1a2e;color:#fff;padding:32px 0;margin-bottom:40px}
header h1{font-size:28px;margin-bottom:4px}
header p{opacity:.7;font-size:15px}
header .widget-1b49f1{color:#fff;text-decoration:none;font-size:18px;font-weight:600}
.module-6a569c{border-bottom:1px solid #eee;padding:24px 0}
.module-6a569c h2{font-size:20px;margin-bottom:8px}
.module-6a569c h2 a{color:#1a1a2e;text-decoration:none}
.module-6a569c h2 a:hover{color:#e94560}
.module-6a569c .date{font-size:13px;color:#999;margin-bottom:8px}
.layout-185966{color:#e94560;text-decoration:none;font-size:14px;font-weight:600}
.outer-ec15c5{padding-bottom:60px}
.outer-ec15c5 h1{font-size:32px;margin-bottom:8px}
.outer-ec15c5 time{font-size:13px;color:#999;display:block;margin-bottom:24px}
.outer-ec15c5 h2{font-size:22px;margin:32px 0 12px}
.outer-ec15c5 h3{font-size:18px;margin:24px 0 8px}
.outer-ec15c5 p{margin-bottom:16px}
.outer-ec15c5 ul,.outer-ec15c5 ol{margin:0 0 16px 24px}
.outer-ec15c5 a{color:#e94560}
.outer-ec15c5 img{max-width:100%;height:auto;border-radius:8px;margin:16px 0}
footer{border-top:1px solid #eee;padding:24px 0;margin-top:40px;text-align:center;font-size:13px;color:#999}
footer a{color:#999}
.sidebar-121bc8{background:#f5f5f5;border-left:3px solid #999;padding:10px 14px;margin-bottom:20px;font-size:13px;color:#777;font-style:italic}
.content-b6c535{background:#fef9e7;border:1px solid #f0c36d;padding:10px 14px;margin-top:20px;font-size:12px;color:#8a6d3b}
.page-feeb0e{font-size:13px;color:#999;margin:-16px 0 24px;font-style:italic}
.inner-c3b560{text-align:center;margin:0 0 20px}
.header-6474c9{max-width:100%;height:auto;border-radius:6px}
.main-61638c{margin-top:40px;padding-top:24px;border-top:1px solid #eee}
.main-61638c h3{font-size:18px;margin-bottom:12px}
.main-61638c ul{list-style:none;padding:0}
.main-61638c li{padding:4px 0}
.main-61638c a{color:#e94560;text-decoration:none}
.outer-c48987{padding:20px 0}
.outer-c48987 ul{list-style:none;padding:0}
.outer-c48987 li{padding:5px 0;font-size:15px}
.outer-c48987 a{color:#1a1a2e;text-decoration:none}
.outer-c48987 a:hover{color:#e94560}
/* === Theme === */
:root{--primary:#5C4D2D;--accent:#B85772;--bg:#F0E9D2;--fg:#1A1408;--border:#C5B998;--r:26px;--rust:#B34F2A;--fb:'Schibsted Grotesk';--fh:'Fraunces'}
/* === Custom === */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400;1,9..144,600;1,9..144,700&family=Schibsted+Grotesk:wght@400;500;700&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(--accent); color: var(--bg); }
:root hr { border: 0; border-top: 1px solid var(--border); margin: 30px 0; }

:root header { background: var(--primary); color: var(--bg); padding: 46px 0 28px; margin-bottom: 44px; border-bottom: 4px solid var(--accent); }
:root header h1 { font-family: var(--fh), Cambria, serif; font-size: 36px; font-weight: 700; color: var(--bg); line-height: 1.14; margin-bottom: 6px; letter-spacing: 0; }
:root header h1 + p { font-family: var(--fb), system-ui, sans-serif; font-size: 14.5px; color: rgba(240, 233, 210, .96); font-style: italic; letter-spacing: 0.01em; opacity: 1.0; }
:root header a { font-family: var(--fh), Cambria, serif; font-size: 24px; color: var(--bg); text-decoration: none; font-weight: 700; }

:root main { padding-bottom: 60px; }
:root main > h1 { font-family: var(--fh), Cambria, serif; font-size: 32px; font-weight: 700; color: var(--primary); line-height: 1.18; margin: 10px 0 6px; }
:root main > time { display: block; font-family: var(--fb), system-ui, sans-serif; font-size: 12px; color: var(--accent); margin-bottom: 28px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; }

:root main > article:not(:has(> .date)) > p { margin-bottom: 18px; font-size: 16.5px; line-height: 1.75; }
:root main > article:not(:has(> .date)) > h2 { font-family: var(--fh), Cambria, serif; font-size: 24px; font-weight: 700; color: var(--primary); margin: 2.5em 0 0.6em; padding-bottom: 6px; border-bottom: 1px solid var(--accent); }
:root main > article:not(:has(> .date)) > h3 { font-family: var(--fh), Cambria, serif; font-size: 19px; font-weight: 700; color: var(--accent); margin: 1.8em 0 0.4em; font-style: normal; border-left: 3px solid var(--accent); padding-left: 10px; }
:root main > article:not(:has(> .date)) ul, :root main > article:not(:has(> .date)) ol { margin: 0 0 18px 24px; }
:root main > article:not(:has(> .date)) li { margin-bottom: 6px; }
:root main > article:not(:has(> .date)) blockquote { border-left: 4px solid var(--accent); padding: 10px 0 10px 20px; margin: 26px 0; font-style: italic; color: var(--primary); background: rgba(184, 87, 114, .07); border-radius: 0 var(--r) var(--r) 0; }

:root main > article:not(:has(> .date)) > p a, :root main > article:not(:has(> .date)) > 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:not(:has(> .date)) > p a:hover { color: var(--accent); text-decoration-color: var(--primary); }

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

:root main > article:not(:has(> .date)) > div:has(> img) { margin: 0 0 28px; }
:root main > article:not(:has(> .date)) > div:has(> img) > img { width: 100%; height: auto; display: block; border-radius: var(--r); box-shadow: 0 3px 14px rgba(26, 20, 8, .12); }

:root main > article:not(:has(> .date)) > div:has(> em) { border-left: 4px solid var(--primary); border-radius: 0 var(--r) var(--r) 0; padding: 12px 18px; margin-top: 32px; font-size: 13.5px; color: var(--fg); font-family: var(--fb), system-ui, sans-serif; font-style: italic; background: rgba(92, 77, 45, .06); }
:root main > article:not(:has(> .date)) > div:has(> em) em { font-family: var(--fh), Cambria, serif; font-style: normal; color: var(--primary); text-transform: uppercase; font-size: 11px; letter-spacing: .14em; display: inline-block; margin-right: 8px; font-weight: 700; }

:root main > article:has(> .date) { padding: 22px 0; border-bottom: 1px solid var(--border); }
:root main > article:has(> .date):last-of-type { border-bottom: 0; }
:root main > article:has(> .date) > h2 { font-family: var(--fh), Cambria, serif; font-size: 22px; font-weight: 700; margin-bottom: 4px; line-height: 1.22; }
:root main > article:has(> .date) > h2 a { color: var(--primary); text-decoration: none; }
:root main > article:has(> .date) > h2 a:hover { color: var(--accent); }
:root main > article:has(> .date) > .date { font-family: var(--fb), system-ui, sans-serif; font-size: 11px; color: var(--accent); letter-spacing: .14em; text-transform: uppercase; margin-bottom: 8px; display: block; font-weight: 700; }
:root main > article:has(> .date) > p:not(.date) { font-size: 0.95rem; color: #555; opacity: .85; margin-bottom: 0.5em; }
:root main > article:has(> .date) > a:last-child { font-family: var(--fb), system-ui, sans-serif; font-size: 12px; color: var(--bg); background: var(--primary); padding: 6px 16px; border-radius: var(--r); text-decoration: none; letter-spacing: .08em; text-transform: uppercase; font-weight: 700; }
:root main > article:has(> .date) > a:last-child:hover { background: var(--accent); }

:root main > section { margin-top: 40px; padding-top: 22px; border-top: 2px solid var(--primary); }
:root main > section > h3 { font-family: var(--fh), Cambria, serif; font-size: 15px; color: var(--primary); margin-bottom: 14px; font-weight: 700; }
:root main > section > ul { list-style: none; margin: 0; padding: 0; }
:root main > section > ul > li { padding: 9px 0; border-bottom: 1px dotted var(--border); }
:root main > section > ul > li:last-child { border-bottom: 0; }
:root main > section > ul > li > a { color: var(--fg); text-decoration: none; font-family: var(--fb), system-ui, sans-serif; font-size: 14.5px; }
:root main > section > ul > li > a:hover { color: var(--primary); }

:root footer { background: transparent; border-top: 1px solid var(--accent); padding: 22px 0 32px; margin-top: 44px; text-align: center; font-family: var(--fb), system-ui, sans-serif; font-size: 12px; 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-01T10:40:09.936135+00:00) === */

/* Header background: warmer dark brown, less institutional olive */
:root header { background: #4a3818; }

/* Strong / key data points: colored bold for scannable price anchors */
:root main > article:not(:has(> .date)) strong { color: #5a2e00; font-weight: 700; }

/* === R3 fixes (2026-06-01T11:30:04.197852+00:00) === */

/* Footer opacity: 60% → 75% so trust-signal links (Datenschutz etc.) are findable on quick scan */
:root footer { opacity: .75; }

/* H3 bottom margin: 0.4em → 0.65em so first paragraph reads as section body, not a heading caption */
:root main > article:not(:has(> .date)) > h3 { margin: 1.8em 0 0.65em; }

/* Price-list li items with bold labels: subtle dotted separator aids per-item reading like a mini table */
:root main > article:not(:has(> .date)) li:has(> strong) { padding: 5px 0; border-bottom: 1px dotted rgba(90, 46, 0, 0.12); }

/* Article H1 bottom margin: 6px → 14px so date line reads as metadata, not a subtitle of the title */
:root main > h1 { margin: 10px 0 14px; }

/* === R4 fixes (2026-06-01T12:10:10.488388+00:00) === */

/* /suggest/ affiliate links: pill style matching /ref/, /go/ etc. — distinguishes affiliate from editorial links */
:root main > article:not(:has(> .date)) > p a[href^="/suggest/"],
:root main > article:not(:has(> .date)) > p a[href^="/suggest/"]:visited { background: var(--accent); color: var(--bg); border-radius: var(--r); padding: 3px 14px; text-decoration: none; font-family: var(--fh), Cambria, serif; font-size: 14.5px; letter-spacing: .03em; font-weight: 700; }
:root main > article:not(:has(> .date)) > p a[href^="/suggest/"]:hover { background: var(--primary); }

/* Price-list li rows: font-weight 500 makes value numbers scan-readable; strong label stays dominant at 700 */
:root main > article:not(:has(> .date)) li:has(> strong) { font-weight: 500; }

/* === QA round-1 fixes (2026-07-18T08:58:24+0800) === */

/* Editorial voice: one display serif (Fraunces italic) + one text/meta sans (Schibsted Grotesk).
   One rust moment color used in exactly two roles: drop caps + the "Womit anfangen" picks label. */
:root { --fh: 'Fraunces'; --rust: #B34F2A; }

/* --- Masthead: real photo + warm gradient, italic serif wordmark, manifesto line, kicker signature --- */
:root header {
  background-image: linear-gradient(rgba(46, 37, 18, .80), rgba(46, 37, 18, .92)), url("/theme-assets/hero-masthead.jpg");
  background-size: cover;
  background-position: center;
  border-bottom: 3px solid var(--accent);
  padding: 58px 0 42px;
}
:root header h1 { font-style: italic; font-weight: 600; font-size: 44px; letter-spacing: -.012em; line-height: 1.06; }
:root header h1::before {
  content: "Ehrliche Kursvergleiche · Frankfurt am Main";
  display: block;
  font-family: var(--fb), system-ui, sans-serif;
  font-style: normal;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(240, 233, 210, .72);
  margin-bottom: 12px;
}
:root header h1 + p { font-size: 15.5px; max-width: 62ch; line-height: 1.5; }
:root header a { font-style: italic; font-size: 26px; }

/* ======================= HOMEPAGE: hero → Editor's Picks band → chronological grid ======================= */
:root main:has(> article > .date) {
  max-width: 1120px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  column-gap: 36px;
  row-gap: 0;
  padding-top: 6px;
}
:root main:has(> article > .date) > article { padding: 0; border-bottom: 0; }

/* -- Band labels: two extra grid cells via main::before / ::after, spanning full width -- */
:root main:has(> article > .date)::before,
:root main:has(> article > .date)::after {
  grid-column: 1 / -1;
  font-family: var(--fb), system-ui, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .19em;
  font-size: 12px;
}
:root main:has(> article > .date)::before {
  content: "Womit anfangen — drei Tests für den Einstieg";
  order: 2;
  color: var(--rust);
  padding: 34px 0 16px;
  margin-top: 22px;
  border-top: 1px solid var(--border);
}
:root main:has(> article > .date)::after {
  content: "Alle Testnotizen — chronologisch";
  order: 4;
  color: var(--primary);
  padding: 40px 0 8px;
  margin-top: 30px;
  border-top: 2px solid var(--primary);
}

/* -- HERO: full-width, big italic display title + pull-quote rail filling the right column -- */
:root main:has(> article > .date) > article:first-of-type {
  grid-column: 1 / -1;
  order: 1;
  display: grid;
  grid-template-columns: 3.15fr 2fr;
  column-gap: 48px;
  align-items: start;
  padding: 6px 0 42px;
  margin-bottom: 4px;
  border-bottom: 2px solid var(--primary);
}
:root main:has(> article > .date) > article:first-of-type > * { grid-column: 1; }
:root main:has(> article > .date) > article:first-of-type > .date {
  order: 1;
  font-size: 11.5px;
  margin-bottom: 14px;
}
:root main:has(> article > .date) > article:first-of-type > .date::before { content: "Aktuellster Test · "; }
:root main:has(> article > .date) > article:first-of-type > h2 { order: 2; margin-bottom: 12px; }
:root main:has(> article > .date) > article:first-of-type > h2 a {
  font-style: italic;
  font-weight: 600;
  font-size: 42px;
  line-height: 1.07;
  letter-spacing: -.01em;
}
:root main:has(> article > .date) > article:first-of-type > p:not(.date) {
  order: 3;
  font-family: var(--fb), system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.6;
  color: var(--fg);
  opacity: 1;
  margin-bottom: 20px;
}
:root main:has(> article > .date) > article:first-of-type > p:not(.date)::first-letter {
  font-family: var(--fh), Cambria, serif;
  font-size: 3.3em;
  line-height: .8;
  float: left;
  margin: 6px 10px -2px 0;
  color: var(--rust);
  font-weight: 600;
}
:root main:has(> article > .date) > article:first-of-type > a:last-child {
  order: 4;
  justify-self: start;
  background: transparent;
  color: var(--primary);
  border: 1.5px solid var(--primary);
  padding: 9px 22px;
}
:root main:has(> article > .date) > article:first-of-type > a:last-child:hover { background: var(--primary); color: var(--bg); }
:root main:has(> article > .date) > article:first-of-type::before {
  content: "»Einen zurückgegeben.\A Einen als Einstieg behalten.\A Einer hat wirklich etwas verändert.«";
  grid-column: 2;
  grid-row: 1 / span 20;
  align-self: center;
  white-space: pre-line;
  font-family: var(--fh), Cambria, serif;
  font-style: italic;
  font-weight: 400;
  font-size: 21px;
  line-height: 1.42;
  color: var(--primary);
  border-left: 2px solid var(--accent);
  padding-left: 26px;
}

/* -- EDITOR'S PICKS band: three cards, N° I/II/III, tight teasers -- */
:root main:has(> article > .date) > article:nth-of-type(2),
:root main:has(> article > .date) > article:nth-of-type(3),
:root main:has(> article > .date) > article:nth-of-type(4) {
  grid-column: span 2;
  order: 3;
  padding: 22px 0 4px;
  border-top: 2px solid var(--primary);
}
:root main:has(> article > .date) > article:nth-of-type(2)::before,
:root main:has(> article > .date) > article:nth-of-type(3)::before,
:root main:has(> article > .date) > article:nth-of-type(4)::before {
  display: block;
  font-family: var(--fh), Cambria, serif;
  font-style: italic;
  font-size: 16px;
  font-weight: 600;
  color: var(--accent);
  margin-bottom: 8px;
}
:root main:has(> article > .date) > article:nth-of-type(2)::before { content: "N° I"; }
:root main:has(> article > .date) > article:nth-of-type(3)::before { content: "N° II"; }
:root main:has(> article > .date) > article:nth-of-type(4)::before { content: "N° III"; }
:root main:has(> article > .date) > article:nth-of-type(2) > h2 a,
:root main:has(> article > .date) > article:nth-of-type(3) > h2 a,
:root main:has(> article > .date) > article:nth-of-type(4) > h2 a { font-size: 20px; line-height: 1.24; }
:root main:has(> article > .date) > article:nth-of-type(2) > p:not(.date),
:root main:has(> article > .date) > article:nth-of-type(3) > p:not(.date),
:root main:has(> article > .date) > article:nth-of-type(4) > p:not(.date) {
  font-size: 13.5px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* -- CHRONOLOGICAL grid: consistent 2-col cards, hairline dividers -- */
:root main:has(> article > .date) > article:nth-of-type(n+5) {
  grid-column: span 3;
  order: 5;
  padding: 26px 0;
  border-top: 1px solid var(--border);
}
:root main:has(> article > .date) > article:nth-of-type(n+5) > h2 a { font-size: 21px; line-height: 1.26; }

/* Read-More CTA (picks + grid): quiet text link, not a heavy pill */
:root main:has(> article > .date) > article:nth-of-type(n+2) > a:last-child {
  background: transparent;
  color: var(--accent);
  padding: 4px 0;
  font-family: var(--fh), Cambria, serif;
  font-style: italic;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  font-size: 14.5px;
}
:root main:has(> article > .date) > article:nth-of-type(n+2) > a:last-child:hover { background: transparent; color: var(--primary); }

/* ======================= ARTICLE PAGE: display title, drop cap, section dinkus ======================= */
:root main > h1 { font-size: 40px; font-style: italic; font-weight: 600; letter-spacing: -.012em; line-height: 1.1; }
:root main > article:not(:has(> .date)) > p:first-of-type::first-letter {
  font-family: var(--fh), Cambria, serif;
  font-size: 3.3em;
  line-height: .8;
  float: left;
  margin: 7px 10px -2px 0;
  color: var(--rust);
  font-weight: 600;
}
:root main > article:not(:has(> .date)) > h2 {
  border-bottom: 0;
  padding-bottom: 0;
  font-size: 26px;
  font-weight: 600;
  margin: 2.2em 0 .55em;
}
:root main > article:not(:has(> .date)) > h2::before {
  content: "· · ·";
  display: block;
  text-align: center;
  color: var(--accent);
  font-size: 17px;
  letter-spacing: .5em;
  font-weight: 400;
  margin: 0 0 .85em;
}

/* --- Mobile: collapse editorial grid to a single readable column --- */
@media (max-width: 820px) {
  :root main:has(> article > .date) { grid-template-columns: 1fr; max-width: 720px; }
  :root main:has(> article > .date) > article:first-of-type { grid-template-columns: 1fr; grid-column: 1 / -1; }
  :root main:has(> article > .date) > article:first-of-type > h2 a { font-size: 32px; }
  :root main:has(> article > .date) > article:first-of-type::before {
    grid-column: 1;
    grid-row: auto;
    order: 5;
    margin-top: 20px;
    font-size: 18px;
  }
  :root main:has(> article > .date) > article:nth-of-type(2),
  :root main:has(> article > .date) > article:nth-of-type(3),
  :root main:has(> article > .date) > article:nth-of-type(4),
  :root main:has(> article > .date) > article:nth-of-type(n+5) { grid-column: 1 / -1; }
  :root main > h1 { font-size: 30px; }
  :root header h1 { font-size: 34px; }
}
