*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Palatino Linotype',Palatino,'Book Antiqua',serif;line-height:1.9;color:#2a2a2a;background:#fefefe}
.sc-PBgIRp{max-width:640px;margin:0 auto;padding:0 20px}
.sc-uSreEy{padding:60px 0 40px;border-bottom:1px solid #ccc;margin-bottom:48px}
.sc-uSreEy h1{font-size:24px;font-weight:400;letter-spacing:-.5px}
.sc-uSreEy p{font-size:14px;color:#777;margin-top:6px;font-style:italic}
.sc-uSreEy a{color:#2a2a2a;text-decoration:none;font-size:24px;font-weight:400;letter-spacing:-.5px}
.sc-cETpcY{padding:20px 0}
.sc-cETpcY h2{font-size:18px;font-weight:400;margin-bottom:4px}
.sc-cETpcY h2 a{color:#2a2a2a;text-decoration:none;border-bottom:1px solid transparent}
.sc-cETpcY h2 a:hover{border-bottom-color:#2a2a2a}
.sc-cETpcY .sc-LljtEq{font-size:12px;color:#aaa;margin-bottom:6px}
.sc-cETpcY p{font-size:14px;color:#666}
.sc-tDuHkr{color:#888;font-size:13px;text-decoration:none}
.sc-tDuHkr:hover{color:#2a2a2a}
.sc-LTTGld{padding-bottom:60px}
.sc-LTTGld h1{font-size:28px;font-weight:400;margin-bottom:8px}
.sc-LTTGld .sc-LljtEq{font-size:12px;color:#aaa;display:block;margin-bottom:32px}
.sc-LTTGld h2{font-size:21px;font-weight:400;margin:40px 0 12px;border-bottom:1px solid #eee;padding-bottom:6px}
.sc-LTTGld h3{font-size:17px;margin:28px 0 8px}
.sc-LTTGld p{margin-bottom:18px;font-size:16px}
.sc-LTTGld ul,.sc-LTTGld ol{margin:0 0 18px 20px}
.sc-LTTGld a{color:#555;border-bottom:1px solid #ccc}
.sc-LTTGld a:hover{color:#000;border-bottom-color:#000}
.sc-LTTGld img{max-width:100%;height:auto;margin:24px 0}
.sc-FHBZdQ{border-top:1px solid #ddd;padding:20px 0;margin-top:48px;text-align:center;font-size:12px;color:#aaa}
.sc-FHBZdQ a{color:#aaa;text-decoration:none}
.sc-BDVZwc{padding:0 0 16px;margin-bottom:24px;font-size:12px;color:#aaa;font-style:italic;border-bottom:1px solid #eee}
.sc-qLMuPm{padding:16px 0 0;margin-top:32px;font-size:11px;color:#999;border-top:1px solid #eee}
.sc-ktPLzT{font-size:12px;color:#aaa;margin:-26px 0 32px;font-weight:300}
.sc-evCkLc{margin:0 auto 32px;max-width:720px}
.sc-pKKqSG{width:100%;height:auto}
.sc-hSNwht{margin-top:40px;padding-top:20px;border-top:1px solid #eee;font-size:14px;color:#888}
.sc-hSNwht em{color:#aaa}
.sc-hSNwht a{color:#555;border-bottom:1px solid #ddd;text-decoration:none}
.sc-lfxKpl{padding:24px 0 0;border-top:1px solid #eee;margin-top:24px}
.sc-lfxKpl p{padding:3px 0;margin:0;font-size:15px}
.sc-lfxKpl a{color:#2a2a2a;text-decoration:none;border-bottom:1px solid transparent}
.sc-lfxKpl a:hover{border-bottom-color:#2a2a2a}
/* === Theme === */
:root{--primary:#5B4757;--accent:#A88C5C;--bg:#EEE8DC;--fg:#1F1A22;--border:#C9BFA8;--r:13px;--fb:'Mulish';--fh:'Cormorant Garamond';--moment:#5C6B4A}
/* === Custom === */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Mulish: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.74; font-size: 16.5px; }
::selection { background: var(--primary); color: var(--bg); }
:root hr { border: 0; border-top: 1px solid var(--border); margin: 30px 0; }

:root header { border-bottom: 1px solid var(--accent); padding: 56px 0 24px; margin-bottom: 42px; background: transparent; }
:root header h1 { font-family: var(--fh), Cambria, serif; font-size: 38px; font-weight: 500; color: var(--primary); letter-spacing: 0; line-height: 1.14; }
:root header h1 + p { font-family: var(--fb), system-ui, sans-serif; font-size: 14px; color: var(--fg); opacity: .78; margin-top: 6px; font-style: italic; }
:root header a { font-family: var(--fh), Cambria, serif; font-size: 26px; color: var(--primary); text-decoration: none; font-weight: 500; }

:root main { padding-bottom: 80px; }
:root main > h1 { font-family: var(--fh), Cambria, serif; font-size: 34px; font-weight: 500; line-height: 1.18; color: var(--primary); margin: 8px 0 6px; }
:root main > span { display: block; font-family: var(--fb), system-ui, sans-serif; font-size: 12px; color: var(--accent); margin-bottom: 30px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; }

:root main > article > p { margin-bottom: 18px; font-size: 16.5px; }
:root main > article > h2 { font-family: var(--fh), Cambria, serif; font-size: 24px; font-weight: 500; color: var(--primary); margin: 40px 0 14px; padding-bottom: 6px; border-bottom: 1px solid var(--accent); letter-spacing: 0; }
:root main > article > h3 { font-family: var(--fh), Cambria, serif; font-size: 19px; font-weight: 500; color: var(--accent); margin: 26px 0 10px; font-style: italic; }
:root main > article ul, :root main > article ol { margin: 0 0 18px 24px; }
:root main > article li { margin-bottom: 6px; }
:root main > article blockquote { border-left: 3px solid var(--accent); padding: 8px 0 8px 20px; margin: 26px 0; font-style: italic; color: var(--primary); background: rgba(168, 140, 92, .06); border-radius: 0 var(--r) var(--r) 0; }

:root main > article > p a, :root main > article > p a:visited { color: var(--primary); text-decoration: none; border-bottom: 1.5px solid var(--accent); padding-bottom: 1px; font-weight: 500; }
:root main > article > p a:hover { color: var(--accent); border-bottom-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/"] { font-family: var(--fb), system-ui, sans-serif; font-size: 13.5px; color: var(--bg); background: var(--primary); border: 0; padding: 3px 12px; border-radius: var(--r); text-decoration: none; letter-spacing: .03em; font-weight: 700; }
: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(--accent); color: var(--fg); }

:root main > article > img { width: 100%; height: auto; display: block; margin: 0 0 28px; border-radius: var(--r); box-shadow: 0 3px 14px rgba(31, 26, 34, .10); }

:root main > article > aside { border-top: 1px solid var(--accent); border-bottom: 1px solid var(--accent); padding: 14px 16px; margin-top: 32px; font-size: 13.5px; color: var(--fg); font-family: var(--fb), system-ui, sans-serif; font-style: italic; background: rgba(91, 71, 87, .05); }
:root main > article > aside b { color: var(--primary); font-weight: 700; font-style: normal; font-size: 11px; letter-spacing: .14em; display: inline-block; margin-right: 8px; font-family: var(--fb), system-ui, sans-serif; text-transform: uppercase; }

:root main > div { padding: 22px 0; border-bottom: 1px dotted var(--border); }
:root main > div:last-of-type { border-bottom: 0; }
:root main > 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 > h2 { font-family: var(--fh), Cambria, serif; font-size: 22px; font-weight: 500; margin-bottom: 6px; line-height: 1.22; letter-spacing: 0; }
:root main > div > h2 a { color: var(--primary); text-decoration: none; }
:root main > div > h2 a:hover { color: var(--accent); }
:root main > div > p:not(:first-child) { font-size: 14.5px; color: var(--fg); opacity: .85; margin-bottom: 10px; }
:root main > div > a:last-child { font-family: var(--fb), system-ui, sans-serif; font-size: 11.5px; color: var(--accent); text-decoration: none; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; }
:root main > div > a:last-child:hover { color: var(--primary); }

:root main > nav { margin-top: 48px; padding-top: 20px; border-top: 1px solid var(--accent); font-size: 14px; }
:root main > nav p em { font-family: var(--fb), system-ui, sans-serif; font-size: 11px; color: var(--accent); text-transform: uppercase; letter-spacing: .14em; font-style: normal; margin-right: 6px; font-weight: 700; }
:root main > nav p a { color: var(--primary); text-decoration: none; border-bottom: 1px solid var(--border); padding-bottom: 1px; font-weight: 500; }
:root main > nav p a:hover { border-bottom-color: var(--accent); color: var(--accent); }

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

/* === R2 fixes (2026-06-08T14:40:04.759817+00:00) === */

/* Brand name: heavier weight + distinct color so it reads as a real site name, not a breadcrumb */
:root header a { font-size: 1.7rem; font-weight: 700; letter-spacing: 0.03em; color: #3d2b35; }

/* Article paragraphs: slightly more line-height for long comparison articles */
:root main > article > p, .sc-LTTGld p { line-height: 1.75; }

/* H2 sections: generous top margin so section breaks are obvious while scrolling */
:root main > article > h2 { margin-top: 2.5em; margin-bottom: 0.6em; }

/* H3 subheadings: own color + weight so they don't look like bold body text */
:root main > article > h3 { font-size: 1.05rem; font-weight: 700; font-style: normal; margin-top: 1.8em; margin-bottom: 0.3em; color: #5B4757; }

/* Header tagline: readable trust anchor for first-time visitors */
:root header h1 + p { font-size: 0.95rem; line-height: 1.5; max-width: 48ch; color: #5B4757; opacity: 0.85; }

/* === R3 fixes (2026-06-08T15:20:04.418020+00:00) === */

/* H3: restore optical weight so subheadings read as structure, not colored body text */
:root main > article > h3 { font-size: 1.15rem; }

/* CTA pill links: larger text + more padding for a clear click target */
: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/"] { font-size: 14.5px; padding: 6px 16px; }

/* Date/category label: quieter so article title dominates when scanning the list */
:root main > div > p:first-child { font-size: 10px; color: var(--fg); opacity: 0.50; letter-spacing: .10em; font-weight: 500; }

/* Article excerpts on home: slightly more presence to encourage click-through */
:root main > div > p:not(:first-child) { font-size: 15px; opacity: 0.92; }

/* Post-article nav: box treatment makes it read as a 'what's next' invitation, not a footer */
:root main > nav { background: rgba(91, 71, 87, 0.05); border: 1px solid var(--accent); border-radius: var(--r); padding: 16px 20px; margin-top: 48px; }

/* === R4 fixes (2026-06-08T16:00:05.053034+00:00) === */

/* H3: weight 600 + italic so it sits clearly below H2 (700+500 weight ladder was inverted) */
:root main > article > h3 { font-weight: 600; font-style: italic; }

/* CTA pill links: larger text + more padding — reads as recommendation, not footnote */
: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/"] { font-size: 15.5px; padding: 8px 20px; }

/* First homepage entry: larger title gives a visual anchor when scanning the list */
:root main > div:first-of-type > h2 { font-size: 25px; line-height: 1.18; }

/* /choice/ links: heavier weight + thicker underline marks them as personal picks mid-sentence */
:root main > article > p a[href^="/choice/"] { font-weight: 700; border-bottom-width: 2px; }

/* ============================================================= */
/* v.946185 — layout revision                                    */
/* Editorial homepage: photo masthead, hero-featured card,       */
/* Editor's-Picks pair, two post-header strip bands, journal      */
/* grid. Home is a FLAT list of <div> cards under <main> (no      */
/* tail); scoped to `body:has(main > div > h2)` so article pages  */
/* (whose main > div is the "Überarbeitet" line, no h2) are       */
/* untouched. Moment colour #5C6B4A used in exactly 2 places:     */
/* hero drop-cap + Editor's-Picks label underline.               */
/* ============================================================= */

/* ---- HOME MASTHEAD: atmospheric photo + serif-italic wordmark ---- */
body:has(main > div > h2) header {
  position: relative;
  background: linear-gradient(rgba(40,32,42,.66), rgba(40,32,42,.44)), url("/theme-assets/site-hero.jpg");
  background-size: cover;
  background-position: center 42%;
  border-bottom: 3px solid var(--accent);
  border-radius: 0 0 14px 14px;
  padding: 74px 34px 48px;
  margin-bottom: 60px;
  text-align: center;
}
body:has(main > div > h2) header::before {
  content: "Pilates-Onlinekurse · Ehrlich getestet · München";
  display: block;
  font-family: var(--fb), sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 16px;
  text-shadow: 0 1px 6px rgba(0,0,0,.5);
}
body:has(main > div > h2) header h1 {
  font-family: var(--fh), Cambria, serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(40px, 7vw, 56px);
  line-height: 1.02;
  color: #f7f2e9;
  letter-spacing: .01em;
  text-shadow: 0 2px 16px rgba(0,0,0,.5);
}
body:has(main > div > h2) header h1 + p {
  font-family: var(--fh), Cambria, serif;
  font-style: italic;
  font-size: 18px;
  line-height: 1.5;
  color: #efe7d9;
  opacity: .96;
  max-width: 58ch;
  margin: 16px auto 0;
  text-shadow: 0 1px 8px rgba(0,0,0,.5);
}

/* ---- HOME GRID: 6-col editorial layout ---- */
body:has(main > div > h2) main {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  column-gap: 30px;
  row-gap: 42px;
  padding-bottom: 40px;
}

/* base card (journal default) — soft frame, warm paper, never white */
body:has(main > div > h2) main > div {
  order: 5;
  grid-column: span 3;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 26px 34px 30px;
  background: #f6f0e3;
  border: 1px solid rgba(91,71,87,.14);
  border-radius: 9px;
  box-shadow: 0 1px 4px rgba(31,26,34,.05);
}
body:has(main > div > h2) main > div:last-of-type { border-bottom: 1px solid rgba(91,71,87,.14); }
body:has(main > div > h2) main > div > p:first-child {
  font-size: 10.5px; letter-spacing: .16em; opacity: .55; font-weight: 700; margin-bottom: 10px;
}
body:has(main > div > h2) main > div > h2 { font-size: 20px; line-height: 1.26; margin-bottom: 12px; }
body:has(main > div > h2) main > div > p:nth-of-type(2) {
  font-size: 15px; line-height: 1.6; opacity: .9; margin-bottom: 16px;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
body:has(main > div > h2) main > div > a:last-child { margin-top: auto; }
/* a lone trailing journal card (odd count) spans the row instead of leaving an empty column */
body:has(main > div > h2) main > div:last-of-type:nth-of-type(even) { grid-column: 1 / -1; }
body:has(main > div > h2) main > div:last-of-type:nth-of-type(even) > p:nth-of-type(2) { max-width: 66ch; }

/* ---- HERO / FEATURED CARD (first entry) ---- */
body:has(main > div > h2) main > div:first-of-type {
  order: 1;
  grid-column: 1 / -1;
  padding: 40px 44px;
  background: linear-gradient(180deg, #f8f2e6, #f1eadb);
  border: 1px solid rgba(91,71,87,.2);
  border-radius: 12px;
  box-shadow: 0 3px 14px rgba(31,26,34,.07);
  overflow: hidden;
}
/* editorial reorder: badge → title → byline → excerpt → CTA → picks label */
body:has(main > div > h2) main > div:first-of-type::before {
  content: "Aktuellster Test";
  order: 0;
  font-family: var(--fb), sans-serif;
  font-size: 11.5px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 14px;
}
body:has(main > div > h2) main > div:first-of-type > h2 { order: 1; margin: 0 0 14px; font-size: clamp(30px, 4.6vw, 45px); }
body:has(main > div > h2) main > div:first-of-type > h2 a { font-family: var(--fh), Cambria, serif; font-style: italic; font-weight: 500; line-height: 1.1; color: var(--primary); }
body:has(main > div > h2) main > div:first-of-type > p:nth-of-type(1) { order: 2; font-size: 0; margin: 0 0 20px; }
body:has(main > div > h2) main > div:first-of-type > p:nth-of-type(1)::before {
  content: "Von Carolin Hofer · 6 Min Lesen";
  font-family: var(--fb), sans-serif;
  font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--fg); opacity: .68;
}
body:has(main > div > h2) main > div:first-of-type > p:nth-of-type(2) {
  order: 3; display: block; overflow: visible;
  font-size: 19px; line-height: 1.56; opacity: 1; max-width: 64ch; margin-bottom: 4px;
}
body:has(main > div > h2) main > div:first-of-type > p:nth-of-type(2)::first-letter {
  float: left; font-family: var(--fh), Cambria, serif; font-weight: 600; font-style: normal;
  font-size: 60px; line-height: .78; margin: 5px 12px 0 0; color: #5C6B4A;
}
body:has(main > div > h2) main > div:first-of-type > a:last-child {
  order: 4; align-self: flex-start; margin: 22px 0 0;
  font-family: var(--fb), sans-serif;
  border: 1.5px solid var(--primary); color: var(--primary);
  padding: 9px 24px; border-radius: 999px;
  font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; text-decoration: none;
}
body:has(main > div > h2) main > div:first-of-type > a:last-child:hover { background: var(--primary); color: var(--bg); }
/* Editor's-Picks section label — full width (hero is 1/-1), flush to hero edges */
body:has(main > div > h2) main > div:first-of-type::after {
  content: "Redaktions-Tipps — zuerst lesen";
  order: 5;
  margin: 30px -44px -40px;
  padding: 15px 44px;
  font-family: var(--fb), sans-serif;
  font-size: 12.5px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
  color: var(--primary);
  background: rgba(92,107,74,.07);
  border-top: 1px solid rgba(0,0,0,.09);
  border-bottom: 2px solid #5C6B4A;
}

/* ---- EDITOR'S PICKS (entries 2 & 3) — paired band with N° anchor ---- */
body:has(main > div > h2) main > div:nth-of-type(2),
body:has(main > div > h2) main > div:nth-of-type(3) {
  order: 3;
  position: relative;
  background: #f4eddd;
  border-color: rgba(168,140,92,.28);
}
body:has(main > div > h2) main > div:nth-of-type(2)::before,
body:has(main > div > h2) main > div:nth-of-type(3)::before {
  position: absolute; top: 14px; right: 24px;
  font-family: var(--fh), Cambria, serif; font-style: italic; font-size: 34px; line-height: 1;
  color: rgba(168,140,92,.42);
}
body:has(main > div > h2) main > div:nth-of-type(2)::before { content: "N° I"; }
body:has(main > div > h2) main > div:nth-of-type(3)::before { content: "N° II"; }
body:has(main > div > h2) main > div:nth-of-type(2) > h2,
body:has(main > div > h2) main > div:nth-of-type(3) > h2 { padding-right: 48px; }

/* ---- STRIP 1: section break before the journal ---- */
body:has(main > div > h2) main::before {
  content: "IN SCHREIBREIHENFOLGE";
  order: 4;
  grid-column: 1 / -1;
  min-height: 200px;
  margin: 26px 0 8px;
  display: flex; align-items: flex-end;
  padding: 0 40px 28px;
  background: linear-gradient(rgba(20,24,28,.55), rgba(20,24,28,.25)), url("/theme-assets/post-header.jpg");
  background-size: cover; background-position: center 30%;
  border-radius: 10px;
  font-family: var(--fb), sans-serif;
  font-size: 13px; font-weight: 700; letter-spacing: .32em; text-transform: uppercase;
  color: #f4efe6; text-shadow: 0 1px 8px rgba(0,0,0,.6);
}
/* ---- STRIP 2: section break after the journal ---- */
body:has(main > div > h2) main::after {
  content: "MEHR ARTIKEL";
  order: 6;
  grid-column: 1 / -1;
  min-height: 210px;
  margin: 30px 0 0;
  display: flex; align-items: flex-end;
  padding: 0 40px 30px;
  background: linear-gradient(rgba(24,20,28,.5), rgba(24,20,28,.34)), url("/theme-assets/post-header.jpg");
  background-size: cover; background-position: center 70%;
  border-radius: 10px;
  font-family: var(--fb), sans-serif;
  font-size: 13px; font-weight: 700; letter-spacing: .32em; text-transform: uppercase;
  color: #f4efe6; text-shadow: 0 1px 8px rgba(0,0,0,.6);
}

/* ---- Single-column reflow on narrow viewports ---- */
@media (max-width: 720px) {
  body:has(main > div > h2) main { grid-template-columns: 1fr; row-gap: 26px; }
  body:has(main > div > h2) main > div,
  body:has(main > div > h2) main > div:first-of-type,
  body:has(main > div > h2) main > div:nth-of-type(2),
  body:has(main > div > h2) main > div:nth-of-type(3) { grid-column: 1 / -1; }
  body:has(main > div > h2) main > div:first-of-type { padding: 30px 26px; }
  body:has(main > div > h2) main > div:first-of-type::after { margin: 26px -26px -30px; padding: 14px 26px; }
  body:has(main > div > h2) header h1 { font-size: clamp(32px, 9vw, 44px); }
}

/* ============================================================= */
/* ARTICLE PAGE — restrained editorial touches (preserve existing) */
/* ============================================================= */
/* Wordmark: match masthead's serif-italic display voice */
:root header a { font-family: var(--fh), Cambria, serif; font-style: italic; }
/* Drop cap on the opening paragraph */
:root main > article > p:first-of-type::first-letter {
  float: left; font-family: var(--fh), Cambria, serif; font-weight: 600;
  font-size: 54px; line-height: .8; margin: 6px 10px 0 0; color: var(--primary);
}
/* Dinkus divider above every H2 section after the first */
:root main > article > h2:not(:first-of-type)::before {
  content: "✦ ✦ ✦";
  display: block; text-align: center; border: 0;
  color: var(--accent); opacity: .65;
  font-size: 13px; font-weight: 400; letter-spacing: .5em;
  margin: 10px 0 30px;
}
