/* ==========================================================================
   kochgeschirr-test.de: Ergänzungen zur unveränderten comparison.css
   (Schrift lokal, Seitenbasis, Cookie-Banner, Rechtsseiten).
   ========================================================================== */

/* Source Serif 4, selbst gehostet (SIL Open Font License), damit vor der
   Einwilligung kein Request an Google Fonts geht. Variable Schrift: eine
   Datei deckt 400 bis 700 ab (dieselben Dateien, die Google ausliefert). */
@font-face{
  font-family:'Source Serif 4';font-style:normal;font-weight:400 700;font-display:swap;
  src:url(/assets/fonts/source-serif-4-latin-ext-a0cd390d01.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:400 700;font-display:swap;
  src:url(/assets/fonts/source-serif-4-latin-2a24bad466.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;
}

/* Seitenbasis, wie im <style> der preview.html */
html,body{margin:0;padding:0;overflow-x:hidden;background:#fff;}

/* Sticky-CTA ausblenden, solange der Banner offen ist (beide sitzen unten) */
html.kg-cb-open .cp-sticky{visibility:hidden;}

/* ---------- Cookie-Banner ---------- */
.kg-cb{
  --kg-ink:#16231f;--kg-body:#3c4a46;--kg-muted:#71807b;--kg-accent:#0e5c4a;--kg-accent-dk:#0a4438;
  --kg-line:#e3e8e6;--kg-soft:#f6f8f7;
  position:fixed;left:12px;right:12px;bottom:12px;z-index:100;
  max-width:560px;margin:0 auto;box-sizing:border-box;
  background:#fff;border:1px solid var(--kg-line);border-radius:12px;
  box-shadow:0 10px 32px rgba(22,35,31,.16);
  padding:16px 16px 14px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:13.5px;line-height:1.55;color:var(--kg-body);
  max-height:calc(100vh - 24px);overflow-y:auto;
}
.kg-cb[hidden]{display:none;}
.kg-cb *{box-sizing:border-box;}
.kg-cb-title{font-size:14.5px;font-weight:700;color:var(--kg-ink);margin:0 0 6px;}
.kg-cb p{margin:0 0 12px;}
.kg-cb a{color:var(--kg-accent);}
.kg-cb-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.kg-cb-btn{
  display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;
  border-radius:8px;border:1.5px solid var(--kg-accent);background:#fff;color:var(--kg-accent);
  font:inherit;font-weight:700;font-size:14px;cursor:pointer;text-align:center;
}
.kg-cb-btn:hover{background:#eaf3f0;}
.kg-cb-btn-primary{background:var(--kg-accent);color:#fff;}
.kg-cb-btn-primary:hover{background:var(--kg-accent-dk);}
.kg-cb-link{
  display:block;width:100%;margin:8px 0 0;padding:6px 0;background:none;border:0;
  font:inherit;font-size:13px;color:var(--kg-muted);text-decoration:underline;cursor:pointer;
  min-height:32px;
}
.kg-cb-panel{border-top:1px solid var(--kg-line);margin:12px 0 0;padding:12px 0 0;}
.kg-cb-panel[hidden]{display:none;}
.kg-cb-opt{display:flex;gap:10px;align-items:flex-start;padding:8px 0;cursor:pointer;}
.kg-cb-opt input{width:20px;height:20px;margin:1px 0 0;flex:0 0 auto;accent-color:var(--kg-accent);}
.kg-cb-opt b{display:block;color:var(--kg-ink);font-size:13.5px;}
.kg-cb-opt span{display:block;font-size:12.5px;color:var(--kg-muted);}
.kg-cb-save{margin-top:8px;width:100%;}
@media (max-width:767px){
  .kg-cb{left:8px;right:8px;bottom:8px;padding:12px 14px 8px;font-size:13px;line-height:1.5;}
  .kg-cb-title{font-size:14px;margin-bottom:4px;}
  .kg-cb p{margin-bottom:10px;}
  .kg-cb-link{margin-top:4px;}
}
@media (min-width:768px){
  .kg-cb{left:auto;right:20px;bottom:20px;margin:0;}
}

/* ---------- Rechtsseiten (Impressum, Datenschutz, 404) ---------- */
.cp .kg-legal h1{font-size:30px;margin:0 0 20px;}
.cp .kg-legal h2{font-size:21px;margin:32px 0 10px;}
.cp .kg-legal h3{font-size:17px;margin:22px 0 8px;}
.cp .kg-legal p,.cp .kg-legal li{font-size:15.5px;line-height:1.7;}
.cp .kg-legal ul{padding-left:20px;margin:0 0 18px;}
.cp .kg-legal hr{border:0;border-top:1px solid #e3e8e6;margin:28px 0;}
.cp .kg-legal a{word-break:break-word;}
.cp .kg-legal .kg-back{display:inline-block;margin:0 0 20px;font-size:14px;font-weight:600;text-decoration:none;}
.cp .kg-legal .kg-note{font-size:13.5px;color:#71807b;}


/* ===== comparison.css (unverändert aus projects/comparison-page/assets) ===== */
/* ==========================================================================
   Comparison Page – "Küchen-Gesundheit.de" (Toxikologe testet 5 Pfannen)
   Redaktionelle Verbraucherportal-Optik, bewusst NICHT Tovara-Brand.
   Alles unter .cp gescopt, damit nichts ins Theme blutet.
   ========================================================================== */

.cp{
  --ink:#16231f;
  --body:#3c4a46;
  --muted:#71807b;
  --accent:#0e5c4a;
  --accent-dk:#0a4438;
  --accent-soft:#eaf3f0;
  --accent-line:#c7ded6;
  --gold:#9a6f1c;
  --gold-soft:#fbf5e6;
  --gold-line:#e6d4a8;
  --good:#1a8a5c;
  --warn:#b8860b;
  --bad:#c0392b;
  --good-soft:#eaf6f0;
  --warn-soft:#fdf6e5;
  --bad-soft:#fbeeec;
  --line:#e3e8e6;
  --line-soft:#eef2f0;
  --bg:#ffffff;
  --bg-soft:#f6f8f7;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;

  font-family:var(--sans);
  color:var(--body);
  font-size:17px;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  background:var(--bg);
}

.cp *,.cp *::before,.cp *::after{box-sizing:border-box;}
.cp img{max-width:100%;height:auto;display:block;}

/* ---------- Layout ---------- */
.cp-wrap{width:100%;max-width:720px;margin:0 auto;padding:0 20px;}
.cp-wrap-wide{width:100%;max-width:1000px;margin:0 auto;padding:0 20px;}
.cp-sec{padding:44px 0;}
.cp-sec-soft{background:var(--bg-soft);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);}

/* ---------- Typo ---------- */
.cp h1,.cp h2,.cp h3,.cp h4{font-family:var(--serif);color:var(--ink);margin:0;font-weight:700;letter-spacing:-.01em;}
.cp h1{font-size:34px;line-height:1.2;}
.cp h2{font-size:27px;line-height:1.25;}
.cp h3{font-size:21px;line-height:1.35;margin:36px 0 14px;}
.cp h3 + p,.cp h3 + ul{margin-top:0;}
.cp p{margin:0 0 18px;}
.cp p:last-child{margin-bottom:0;}
.cp a{color:var(--accent);}

.cp-eyebrow{
  font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  color:var(--accent);margin:0 0 12px;
}
.cp-kicker{
  display:inline-block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  font-weight:700;color:var(--accent-dk);background:var(--accent-soft);
  border:1px solid var(--accent-line);border-radius:99px;padding:5px 12px;margin:0 0 16px;
}
.cp-sechead{margin:0 0 22px;}
.cp-sechead h2{margin:0;}
.cp-sechead .cp-sub{margin:10px 0 0;color:var(--muted);font-size:16px;}
.cp-rule{width:52px;height:3px;background:var(--accent);border-radius:2px;margin:0 0 18px;}

/* Betonte Zeilen (kurze Standalone-Sätze aus der Copy) */
.cp-big{
  font-family:var(--serif);font-size:22px;line-height:1.42;color:var(--ink);
  font-weight:600;margin:0 0 20px;
}
.cp-label{
  font-family:var(--sans);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;
  font-weight:700;color:var(--accent);margin:26px 0 10px;
}
.cp-src{font-size:13.5px;color:var(--muted);font-style:italic;margin:-6px 0 18px;}

/* ---------- Listen ---------- */
.cp-rt ul,.cp-list{margin:0 0 18px;padding:0 0 0 22px;}
.cp-rt li,.cp-list li{margin:0 0 9px;}
.cp-rt p{margin:0 0 18px;}
.cp-rt > *:last-child{margin-bottom:0;}

/* Listen mit Emoji-Marker in der Copy (✅ / ❌) -> kein doppelter Bullet */
.cp-flat ul,ul.cp-flat{list-style:none;margin:0 0 18px;padding:0;}
.cp-flat li{
  margin:0 0 12px;padding:0 0 0 0;
}
.cp-checks ul,ul.cp-checks{list-style:none;margin:0;padding:0;}
.cp-checks li{
  margin:0 0 14px;padding:14px 16px;background:var(--good-soft);
  border-left:3px solid var(--good);border-radius:0 8px 8px 0;font-size:16px;line-height:1.62;
}
.cp-cons ul,ul.cp-cons{list-style:none;margin:0;padding:0;}
.cp-cons li{
  position:relative;margin:0 0 10px;padding:0 0 0 22px;font-size:16px;
}
.cp-cons li::before{
  content:"";position:absolute;left:2px;top:11px;width:8px;height:2px;
  background:var(--bad);border-radius:2px;
}

/* ---------- Masthead ---------- */
.cp-masthead{background:var(--accent-dk);color:#fff;padding:14px 0 13px;}
.cp-masthead .cp-mh-name{
  font-family:var(--serif);font-size:19px;font-weight:700;letter-spacing:.08em;color:#fff;
}
.cp-masthead .cp-mh-tag{font-size:12.5px;color:#b9d4cb;margin-top:2px;}
.cp-mh-kicker{
  background:#f2f5f4;border-bottom:1px solid var(--line);
  font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
  padding:9px 0;font-weight:600;
}

/* ---------- Hero ---------- */
.cp-hero{padding:38px 0 30px;}
.cp-hero .cp-meta{font-size:13px;color:var(--muted);margin:0 0 14px;}
.cp-hero h1{margin:0 0 16px;}
.cp-hero .cp-lead{font-size:19px;line-height:1.6;color:#41504b;margin:0;}
.cp-trust{
  display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0;padding:0;list-style:none;
}
.cp-trust li{
  font-size:13px;font-weight:600;color:var(--accent-dk);background:var(--accent-soft);
  border:1px solid var(--accent-line);border-radius:99px;padding:6px 13px;line-height:1.35;
}

@media (max-width:640px){
  .cp-trust{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .cp-trust li{display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;padding:7px 8px;}
}

/* ---------- Autor ---------- */
.cp-authorcard{
  display:flex;gap:18px;align-items:center;background:var(--bg-soft);
  border:1px solid var(--line);border-radius:12px;padding:16px;margin:0 0 26px;
}
.cp-authorcard .cp-ph{width:104px;min-width:104px;height:104px;border-radius:10px;margin:0;}
.cp-authorcard .cp-au-photo{
  width:104px;min-width:104px;height:104px;border-radius:50%;object-fit:cover;
  display:block;margin:0;border:1px solid var(--line);background:var(--bg-soft);
}
.cp-authorcard .cp-au-name{font-family:var(--serif);font-size:18px;font-weight:700;color:var(--ink);}
.cp-authorcard .cp-au-role{font-size:13.5px;color:var(--muted);margin-top:3px;}

/* ---------- Platzhalter-Bilder ---------- */
.cp-ph{
  display:flex;align-items:center;justify-content:center;text-align:center;
  border:1px dashed #c3cdc9;border-radius:10px;color:var(--muted);
  font-size:13px;font-weight:600;letter-spacing:.02em;padding:16px;
  background:repeating-linear-gradient(135deg,#f7f9f8,#f7f9f8 10px,#f2f5f4 10px,#f2f5f4 20px);
  margin:0 0 20px;min-height:120px;
}
.cp-ph-wide{aspect-ratio:16/9;min-height:0;}
.cp-figure{margin:0 0 22px;}
.cp-figure img{border-radius:10px;border:1px solid var(--line);width:100%;height:auto;background:var(--bg-soft);}
/* Konkurrenz-Produktfotos: einheitliche Buehne 16:10, Motiv nie verzerrt */
.cp-figure-product img{aspect-ratio:16/10;object-fit:contain;background:#fff;}
.cp-figure figcaption{font-size:13px;color:var(--muted);margin-top:8px;text-align:center;}

/* ---------- Mythen ---------- */
.cp-myth{
  border:1px solid var(--line);border-radius:12px;padding:22px 20px;margin:0 0 18px;background:#fff;
}
.cp-myth .cp-myth-no{
  display:inline-block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;
  color:var(--bad);background:var(--bad-soft);border-radius:99px;padding:4px 11px;margin:0 0 12px;
}
.cp-myth h3{margin:0 0 14px;}
.cp-myth .cp-truth{
  font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;
  color:var(--good);margin:0 0 10px;
}
.cp-myth .cp-myth-body{border-left:3px solid var(--accent-line);padding-left:16px;}

/* ---------- Kriterien ---------- */
.cp-krit{list-style:none;margin:0;padding:0;counter-reset:krit;}
.cp-krit li{
  position:relative;padding:0 0 0 54px;margin:0 0 22px;
}
.cp-krit li::before{
  counter-increment:krit;content:counter(krit);
  position:absolute;left:0;top:0;width:38px;height:38px;border-radius:50%;
  background:var(--accent);color:#fff;font-family:var(--serif);font-weight:700;font-size:18px;
  display:flex;align-items:center;justify-content:center;
}
.cp-krit h3{margin:6px 0 6px;font-size:18px;}
.cp-krit p{font-size:16px;margin:0;}

/* ---------- Vergleichstabelle ---------- */
.cp-tblwrap{
  position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;
  border:1px solid var(--line);border-radius:12px;background:#fff;
}
.cp-tbl{border-collapse:separate;border-spacing:0;width:100%;min-width:860px;font-size:14px;}
.cp-tbl th,.cp-tbl td{
  padding:13px 14px;text-align:left;vertical-align:top;
  border-bottom:1px solid var(--line-soft);line-height:1.45;
}
.cp-tbl thead th{
  background:#f2f5f4;font-family:var(--sans);font-size:13px;font-weight:700;color:var(--ink);
  border-bottom:1px solid var(--line);white-space:normal;
}
.cp-tbl tbody th{
  font-weight:700;color:var(--ink);font-size:13.5px;background:#fff;
  position:sticky;left:0;z-index:2;border-right:1px solid var(--line);
}
.cp-tbl thead th:first-child{position:sticky;left:0;z-index:3;background:#f2f5f4;border-right:1px solid var(--line);}
.cp-tbl tr:last-child th,.cp-tbl tr:last-child td{border-bottom:0;}
.cp-tbl .cp-col-1{
  background:var(--accent-soft);
  border-left:2px solid var(--accent);border-right:2px solid var(--accent);
  font-weight:600;color:#123f34;
}
.cp-tbl thead .cp-col-1{background:var(--accent);color:#fff;border-color:var(--accent);}
.cp-tbl thead .cp-col-1 .cp-col-badge{
  display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:#bfe3d7;font-weight:700;margin-top:3px;
}
.cp-tbl tbody tr:last-child .cp-col-1{border-bottom:2px solid var(--accent);}
.cp-tbl tbody tr:first-child .cp-col-1{border-top:0;}
.cp-tbl .cp-score{font-weight:700;}
.cp-scrollhint{
  display:none;font-size:12.5px;color:var(--muted);margin:10px 0 0;text-align:center;
}

/* Gestapelte Variante der Vergleichstabelle – unter 1024px statt der Tabelle.
   Gleiche Daten, kein seitliches Scrollen. */
.cp-stack{display:none;}
.cp-stk-block{
  border:1px solid var(--line);border-radius:12px;background:#fff;
  margin:0 0 14px;overflow:hidden;
}
.cp-stk-block:last-child{margin-bottom:0;}
/* .cp h3 ist spezifischer als eine blosse Klasse -> mit .cp qualifizieren */
.cp .cp-stk-crit{
  margin:0;padding:11px 14px;background:#f2f5f4;
  border-bottom:1px solid var(--line);
  font-size:15px;font-weight:700;letter-spacing:.02em;
  text-transform:uppercase;color:var(--ink);line-height:1.35;
}
.cp-stk-row{
  display:grid;grid-template-columns:108px minmax(0,1fr);gap:10px;
  padding:10px 14px;border-bottom:1px solid var(--line-soft);align-items:start;
}
.cp-stk-block .cp-stk-row:last-child{border-bottom:0;}
.cp-stk-l{min-width:0;}
.cp-stk-name{
  display:block;font-size:13px;font-weight:700;color:var(--ink);
  line-height:1.3;overflow-wrap:anywhere;
}
.cp-stk-mat{
  display:block;font-size:11.5px;font-weight:500;color:var(--muted);
  line-height:1.3;margin-top:1px;overflow-wrap:anywhere;
}
.cp-stk-v{
  min-width:0;font-size:13.5px;line-height:1.45;color:var(--body);
  overflow-wrap:anywhere;
}
.cp-stk-win{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent);}
.cp-stk-win .cp-stk-name{color:var(--accent);}
.cp-stk-win .cp-stk-mat{color:#4a7d70;}
.cp-stk-win .cp-stk-v{font-weight:600;color:#123f34;}
.cp-stk-badge{
  display:inline-block;background:var(--accent);color:#fff;border-radius:4px;
  padding:2px 6px;margin-top:3px;font-size:9.5px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;line-height:1.4;
  white-space:nowrap;vertical-align:middle;
}

/* ---------- Platz-Karten ---------- */
.cp-rank{
  border:1px solid var(--line);border-radius:14px;background:#fff;padding:26px 22px;margin:0 0 22px;
}
.cp-rank-head{margin:0 0 18px;}
.cp-rank .cp-rank-badge{
  display:inline-block;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;
  color:var(--muted);background:#f2f5f4;border:1px solid var(--line);
  border-radius:99px;padding:5px 12px;margin:0 0 12px;
}
.cp-rank h2{font-size:24px;margin:0 0 8px;}
.cp-rank .cp-rank-sub{font-size:16.5px;color:var(--muted);font-style:italic;margin:0;}
.cp-rank .cp-quote-claim{
  background:var(--bg-soft);border-left:3px solid var(--line);padding:12px 16px;
  border-radius:0 8px 8px 0;font-style:italic;color:#4a5a55;margin:0 0 20px;
}
.cp-rank-fazit{
  background:var(--bg-soft);border-left:3px solid var(--accent-line);
  padding:16px 18px;border-radius:0 10px 10px 0;font-size:16px;margin:22px 0 0;
}
.cp-verdict{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  border-top:1px solid var(--line);margin:22px 0 0;padding:18px 0 0;
}
.cp-verdict .cp-verdict-txt{font-weight:700;color:var(--ink);font-size:15.5px;}

/* Testsieger-Variante */
.cp-rank-winner{
  border:2px solid var(--accent);border-radius:16px;padding:0;overflow:hidden;
  box-shadow:0 14px 40px -26px rgba(14,92,74,.55);
}
.cp-rank-winner .cp-winner-top{
  background:var(--accent);color:#fff;padding:16px 22px;
}
.cp-rank-winner .cp-winner-top .cp-rank-badge{
  background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.32);color:#fff;margin:0;
}
.cp-rank-winner .cp-rank-body{padding:24px 22px 26px;}
.cp-rank-winner h2{color:var(--ink);}

/* Sterne */
.cp-stars{position:relative;display:inline-block;line-height:1;white-space:nowrap;font-size:18px;letter-spacing:2px;}
.cp-stars-bg{color:#d6ded9;}
.cp-stars-fg{position:absolute;left:0;top:0;overflow:hidden;color:#e0a80f;}

/* ---------- Buttons / CTA ---------- */
.cp-cta{margin:24px 0 0;text-align:center;}
.cp-btn{
  display:inline-block;width:100%;max-width:440px;text-align:center;
  background:var(--accent);color:#fff !important;text-decoration:none;
  font-family:var(--sans);font-size:17px;font-weight:700;line-height:1.3;
  padding:17px 24px;border-radius:10px;
  box-shadow:0 10px 24px -14px rgba(14,92,74,.9);
  transition:background .15s ease,transform .15s ease;
}
.cp-btn:hover{background:var(--accent-dk);transform:translateY(-1px);}
.cp-btn-gold{background:var(--gold);box-shadow:0 10px 24px -14px rgba(154,111,28,.9);}
.cp-btn-gold:hover{background:#7f5b14;}
.cp .cp-trustline{font-size:13.5px;color:var(--muted);margin:34px 0 0;line-height:1.6;}
.cp-cta2{display:inline-block;margin:12px 0 0;font-size:15px;font-weight:600;color:var(--accent);text-decoration:underline;text-underline-offset:3px;}

/* ---------- Reviews ---------- */
.cp-reviews{display:grid;gap:16px;}
.cp-review{
  border:1px solid var(--line);border-radius:12px;background:#fff;padding:20px;
}
.cp-review .cp-rv-stars{color:#e0a80f;font-size:14px;letter-spacing:2px;margin:0 0 8px;}
.cp-review h3{font-size:17.5px;margin:0 0 10px;}
.cp-review blockquote{margin:0 0 12px;font-size:16px;line-height:1.65;color:#43514d;}
.cp-review .cp-rv-author{font-size:14px;color:var(--muted);font-weight:600;}

/* ---------- Fazit ---------- */
.cp-fazit{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:14px;padding:26px 22px;}
.cp-fazit h2{margin:0 0 16px;}

/* ---------- Offer ---------- */
.cp-offer{
  border:2px solid var(--gold-line);border-radius:16px;overflow:hidden;background:#fff;
  box-shadow:0 16px 44px -30px rgba(154,111,28,.75);
}
.cp-offer-top{background:var(--gold-soft);border-bottom:1px solid var(--gold-line);padding:22px 22px 20px;text-align:center;}
.cp-offer-top .cp-offer-eyebrow{
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gold);margin:0 0 10px;
}
.cp-offer-top h2{font-size:24px;margin:0;}
.cp-offer-body{padding:24px 22px 26px;}
.cp-offer-pkg{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--ink);margin:0 0 16px;}
.cp-offer-items{list-style:none;margin:0 0 22px;padding:0;}
.cp-offer-items li{
  padding:13px 16px;margin:0 0 10px;background:var(--good-soft);border-radius:8px;
  font-size:16px;font-weight:600;color:#22403a;line-height:1.55;
}
.cp-offer-blockhead{
  font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--accent);margin:0 0 10px;
}
.cp-offer-tiers{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:8px;}
.cp-offer-tiers li{
  display:flex;justify-content:space-between;gap:12px;align-items:baseline;
  border:1px solid var(--line);border-radius:8px;padding:11px 14px;font-size:15.5px;
}
.cp-offer-tiers li b{color:var(--accent);font-size:16px;}
.cp-offer-note{font-size:14.5px;color:var(--muted);margin:0 0 22px;}
.cp-offer-safe{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:12px;}
.cp-offer-safe li{font-size:15.5px;line-height:1.55;padding-left:0;}
.cp .cp-offer-hint{font-size:13.5px;color:var(--muted);margin:34px 0 0;line-height:1.6;text-align:center;}
.cp-offer-img{border-top:1px solid var(--line-soft);}

/* ---------- FAQ ---------- */
.cp-faq{border-top:1px solid var(--line);}
.cp-faq details{border-bottom:1px solid var(--line);}
.cp-faq summary{
  list-style:none;cursor:pointer;display:flex;gap:14px;align-items:flex-start;
  padding:18px 2px;font-family:var(--serif);font-size:18px;font-weight:700;color:var(--ink);line-height:1.4;
}
.cp-faq summary::-webkit-details-marker{display:none;}
.cp-faq .cp-faq-ico{
  margin-left:auto;flex:0 0 22px;width:22px;height:22px;position:relative;margin-top:4px;
}
.cp-faq .cp-faq-ico::before,.cp-faq .cp-faq-ico::after{
  content:"";position:absolute;background:var(--accent);border-radius:2px;transition:transform .2s ease;
}
.cp-faq .cp-faq-ico::before{left:3px;right:3px;top:10px;height:2px;}
.cp-faq .cp-faq-ico::after{top:3px;bottom:3px;left:10px;width:2px;}
.cp-faq details[open] .cp-faq-ico::after{transform:scaleY(0);}
.cp-faq .cp-faq-a{padding:0 2px 22px;font-size:16.5px;}
.cp-faq details[open] summary{color:var(--accent-dk);}

/* ---------- Closer ---------- */
.cp-closer{background:var(--accent-dk);color:#dfeee8;padding:46px 0;}
.cp-closer h2{color:#fff;margin:0 0 18px;}
.cp-closer p{color:#cfe4dc;}
.cp-closer .cp-closer-punch{font-family:var(--serif);font-size:21px;color:#fff;font-weight:600;margin:0 0 22px;}
.cp-closer .cp-btn{background:#fff;color:var(--accent-dk) !important;box-shadow:0 10px 28px -16px rgba(0,0,0,.7);}
.cp-closer .cp-btn:hover{background:#eaf3f0;}

/* ---------- Footer ---------- */
.cp-footer{background:#f2f5f4;border-top:1px solid var(--line);padding:32px 0 40px;font-size:13.5px;color:var(--muted);line-height:1.65;}
.cp-footer .cp-ft-meta{font-weight:600;color:#4d5b57;margin:0 0 16px;}
.cp-footer p{margin:0 0 14px;}
.cp-footer .cp-ft-links{margin:18px 0 8px;font-weight:600;}
.cp-footer .cp-ft-links a{color:var(--accent);text-decoration:none;}
.cp-footer .cp-ft-copy{font-size:12.5px;}

/* ---------- Sticky Mobile CTA ---------- */
.cp-sticky{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:rgba(255,255,255,.97);border-top:1px solid var(--line);
  box-shadow:0 -8px 24px -18px rgba(0,0,0,.5);
  padding:9px 14px calc(9px + env(safe-area-inset-bottom));
  display:none;align-items:center;gap:12px;
  transform:translateY(110%);transition:transform .22s ease;
}
.cp-sticky.is-on{transform:translateY(0);}
.cp-sticky .cp-sticky-txt{font-size:13px;font-weight:700;color:var(--ink);line-height:1.3;}
.cp-sticky .cp-sticky-sub{font-size:11.5px;color:var(--muted);font-weight:500;}
.cp-sticky .cp-sticky-btn{
  margin-left:auto;flex:0 0 auto;background:var(--accent);color:#fff !important;text-decoration:none;
  font-size:14px;font-weight:700;padding:11px 16px;border-radius:8px;white-space:nowrap;
}

/* ==========================================================================
   Desktop
   ========================================================================== */
@media (min-width:768px){
  .cp{font-size:17.5px;}
  .cp h1{font-size:42px;}
  .cp h2{font-size:31px;}
  .cp-sec{padding:56px 0;}
  .cp-hero{padding:52px 0 40px;}
  .cp-hero .cp-lead{font-size:20px;}
  .cp-big{font-size:24px;}
  .cp-rank{padding:32px 30px;}
  .cp-rank-winner .cp-rank-body{padding:30px 30px 32px;}
  .cp-rank-winner .cp-winner-top{padding:18px 30px;}
  .cp-rank h2{font-size:27px;}
  .cp-offer-top{padding:28px 32px 24px;}
  .cp-offer-body{padding:30px 32px 32px;}
  .cp-reviews{grid-template-columns:1fr 1fr;}
  .cp-btn{width:auto;min-width:340px;}
  .cp-authorcard{padding:20px 22px;}
  .cp-tbl{min-width:0;}
  .cp-tbl th,.cp-tbl td{padding:14px 16px;}
  .cp-stk-row{grid-template-columns:170px minmax(0,1fr);padding:11px 18px;}
  .cp .cp-stk-crit{padding:12px 18px;font-size:17px;}
  .cp-stk-name{font-size:14px;}
  .cp-stk-v{font-size:15px;}
}

/* ==========================================================================
   Vergleichstabelle: unter 1024px die gestapelte Variante statt der Tabelle.
   Nirgends seitliches Scrollen, weder Seite noch Container.
   ========================================================================== */
@media (max-width:1023px){
  .cp-tblwrap{display:none;}
  .cp-scrollhint{display:none;}
  .cp-stack{display:block;}
}

/* ==========================================================================
   Mobile-Feinschliff
   ========================================================================== */
@media (max-width:767px){
  .cp-wrap,.cp-wrap-wide{padding:0 16px;}
  .cp h1{font-size:29px;}
  .cp h2{font-size:24px;}
  .cp-rank{padding:22px 16px;}
  .cp-rank h2{font-size:21px;}
  .cp-rank-winner .cp-rank-body{padding:20px 16px 24px;}
  .cp-rank-winner .cp-winner-top{padding:14px 16px;}
  .cp-offer-top,.cp-offer-body{padding-left:16px;padding-right:16px;}
  .cp-fazit{padding:22px 16px;}
  .cp-authorcard{flex-direction:column;align-items:flex-start;gap:14px;}
  .cp-authorcard .cp-ph{width:100%;height:150px;}
  .cp-sticky{display:flex;}
}

@media (prefers-reduced-motion:reduce){
  .cp *{transition:none !important;}
}
