/* Blutdruck-Journal · Produkttest · Design-System aus dem Advertorial (blutdruckjournal.com) */
:root{
  --ink:#1A1A1A; --brand:#9C3A43; --masthead:#6B1E2A; --brand2:#A8404E;
  --rose:#F3E9E6; --rose2:#E0C4BF; --grey:#666666; --grey2:#8A8A8A; --line:#E8DDD9;
  --gold:#D9A520; --green:#2E7D4F; --red:#B3261E;
  --maxw:680px; --radius:8px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:18px;line-height:1.6;}
@media(min-width:720px){body{font-size:19px}}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand)}
p{margin:0 0 20px}
strong{font-weight:700}

/* Masthead */
.masthead{background:var(--masthead);color:#fff;padding:14px 16px}
.masthead .inner{max-width:var(--maxw);margin:0 auto}
.masthead .name{font-weight:800;font-size:20px;letter-spacing:.2px;line-height:1.2}
.masthead .tag{font-weight:400;font-size:13px;opacity:.9;margin-top:2px}

.wrap{max-width:var(--maxw);margin:0 auto;padding:28px 16px 40px}

/* Kicker, Headline, Byline */
.kicker{color:var(--brand);font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin:4px 0 14px}
h1{font-size:28px;line-height:1.25;font-weight:800;margin:0 0 16px;letter-spacing:-.2px}
@media(min-width:720px){h1{font-size:32px}}
.subline{font-size:19px;color:#444;margin:0 0 22px;line-height:1.5}
.byline{display:flex;align-items:center;gap:12px;margin:0 0 22px}
.byline img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.byline .who{font-weight:700;font-size:15px;display:flex;align-items:center;gap:6px}
.byline .check{width:16px;height:16px;border-radius:50%;background:#2E7D4F;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:800}
.byline .meta{font-size:13px;color:var(--grey);margin-top:2px}

/* Figures */
figure{margin:0 0 26px}
figure img,figure video,.ph{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);display:block;background:#f3e9e6}
figcaption{font-size:14px;color:var(--grey);font-style:italic;margin-top:8px;line-height:1.45}
.ph{background:var(--rose);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--brand);padding:20px}
.ph .ph-k{font-size:11px;letter-spacing:2px;font-weight:700;text-transform:uppercase}
.ph .ph-t{font-size:26px;font-weight:800;margin:4px 0}
.ph .ph-s{font-size:14px;color:var(--grey);font-weight:400}
.split-labels{display:flex;justify-content:space-around;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px}
.split-labels .l{color:var(--brand)}.split-labels .r{color:var(--green)}

/* Boxes */
.box{background:var(--rose);border-left:3px solid var(--brand);padding:16px 18px;border-radius:0 var(--radius) var(--radius) 0;margin:0 0 26px;font-size:16px;line-height:1.55}
.box.strong{font-size:18px;font-weight:700;line-height:1.5}
.box p:last-child{margin:0}

/* Lists */
ul.symptoms{list-style:none;padding:0;margin:0 0 20px}
ul.symptoms li{padding:9px 0 9px 20px;position:relative;border-bottom:1px solid var(--line)}
ul.symptoms li:last-child{border-bottom:0}
ul.symptoms li::before{content:"";position:absolute;left:4px;top:19px;width:7px;height:7px;border-radius:50%;background:var(--brand)}

/* TOC */
.toc{background:var(--rose);border-radius:var(--radius);padding:18px 18px 6px;margin:0 0 34px}
.toc h4{margin:0 0 8px;color:var(--brand);font-size:18px}
.toc ol{list-style:none;margin:0;padding:0;counter-reset:n}
.toc li{counter-increment:n;border-top:1px solid var(--rose2)}
.toc a{display:flex;align-items:center;gap:10px;padding:11px 0;color:var(--ink);text-decoration:none;font-size:16px}
.toc a::before{content:counter(n,decimal-leading-zero);color:var(--brand);font-weight:700;font-size:13px;min-width:22px}
.toc a::after{content:"→";margin-left:auto;color:var(--brand)}

/* Headings */
h2{font-size:24px;line-height:1.3;font-weight:800;margin:48px 0 18px;padding-top:22px;border-top:1px solid var(--line)}
@media(min-width:720px){h2{font-size:26px}}
h3.between{text-align:center;font-size:22px;font-weight:800;margin:36px 0 22px}
.legend{font-size:14px;color:var(--grey);margin:-6px 0 22px}

/* Checklist */
.checklist{border:1px solid var(--rose2);border-radius:12px;padding:6px 18px;margin:0 0 24px}
.checklist .row{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.checklist .row:last-child{border-bottom:0}
.checklist svg{width:26px;height:26px;flex:0 0 26px;stroke:var(--brand);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.checklist .t{font-weight:700;display:block;margin-bottom:2px}
.checklist .d{font-size:16px;color:#333;line-height:1.5}

/* Cards */
.card{border:1px solid var(--rose2);border-radius:12px;padding:22px 22px 18px;margin:0 0 24px;background:#fff}
.card.winner{border:2px solid var(--brand)}
.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}
.card-rank{font-size:12px;letter-spacing:2px;font-weight:700;text-transform:uppercase;color:var(--grey)}
.card h3{margin:2px 0 4px;font-size:24px;line-height:1.2;font-weight:800}
.card-sub{color:var(--grey);font-size:15px}
.badge{flex:0 0 auto;min-width:96px;height:58px;border:2px solid var(--brand);border-radius:12px;background:var(--rose);color:var(--brand);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 12px}
.badge .w{font-size:10px;letter-spacing:1.5px;font-weight:700;text-transform:uppercase;line-height:1}
.badge .n{font-size:22px;font-weight:800;line-height:1.1;margin-top:3px}
.card.winner .badge{background:var(--brand);color:#fff}
.card figure{margin-bottom:18px}
.card p{font-size:17px}
.reviews{margin:4px 0 14px}
.reviews-label{font-size:12px;letter-spacing:2px;font-weight:700;text-transform:uppercase;color:var(--grey);margin-bottom:10px}
.review{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.review .av{width:36px;height:36px;border-radius:50%;background:#D8CFCB;flex:0 0 36px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:14px}
.review .rm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;margin-bottom:4px}
.review .name{font-weight:700;color:var(--ink);font-size:14px}
.stars{color:var(--gold);letter-spacing:1px;font-size:15px}
.stars .dim{color:#D9D2CF}
.verified{color:var(--green);font-weight:600}
.review p{margin:0;font-size:16px;font-style:italic;color:#333}
.verdict{border-top:1px solid var(--line);padding-top:14px;margin:0;font-weight:700;font-size:17px}
.verdict strong{color:var(--brand)}
.price{font-size:15px;color:var(--grey);margin:-6px 0 16px}

/* CTA */
.cta{margin:26px 0 30px;text-align:center}
.cta-button{display:block;max-width:480px;margin:0 auto;background:linear-gradient(90deg,var(--masthead),var(--brand2));color:#fff;text-decoration:none;font-weight:700;font-size:20px;padding:17px 22px;border-radius:15px;line-height:1.25}
.cta-button.big{font-size:22px;padding:19px 22px}
.cta small{display:block;color:var(--grey);font-size:14px;margin-top:10px}
.note{font-size:15px;color:var(--grey);margin:0 0 24px}

/* Table */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--rose2);border-radius:12px;margin:0 0 26px}
table{border-collapse:separate;border-spacing:0;width:100%;min-width:720px;font-size:14.5px}
th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.35}
th{background:#fff;font-weight:700}
thead th{border-bottom:2px solid var(--rose2)}
tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}
th:first-child,td:first-child{position:sticky;left:0;background:#fff;font-weight:700;min-width:150px;box-shadow:2px 0 0 var(--line)}
.kuro{background:var(--rose)!important;font-weight:600}
thead .kuro{color:var(--brand)}
.good{color:var(--green);font-weight:600}
.bad{color:var(--red);font-weight:600}
tr.total th,tr.total td{font-weight:800;border-top:2px solid var(--rose2)}

/* Pick box */
.pick{border:2px solid var(--brand);border-radius:12px;padding:22px;margin:0 0 30px;text-align:center}
.pick .lbl{color:var(--brand);font-size:12px;letter-spacing:2px;font-weight:800;text-transform:uppercase}
.pick h3{margin:8px 0 4px;font-size:24px;font-weight:800}
.pick .stars{font-size:20px;margin-bottom:12px;display:block}
.pick .pick-img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);margin:4px 0 18px}
.pick ul{list-style:none;padding:0;margin:0 auto 18px;text-align:left;max-width:460px}
.pick li{padding:6px 0 6px 28px;position:relative;font-size:16px}
.pick li::before{content:"✓";position:absolute;left:4px;color:var(--green);font-weight:800}
.pick .cta{margin:8px 0 0}

/* Result list */
.results{list-style:none;padding:0;margin:0 0 22px}
.results li{padding:10px 0;border-bottom:1px solid var(--line)}
.results li:last-child{border-bottom:0}
.results b{color:var(--brand)}

/* Checks box */
.checks{background:var(--rose);border-radius:var(--radius);padding:16px 18px;margin:0 0 22px}
.checks p{margin:0;padding:6px 0 6px 30px;position:relative;font-weight:700}
.checks p::before{content:"✓";position:absolute;left:2px;color:var(--green);font-weight:800}

/* Footer */
footer{border-top:1px solid var(--line);margin-top:48px;padding:22px 16px 40px;color:var(--grey);font-size:13px}
footer .inner{max-width:var(--maxw);margin:0 auto}
footer nav{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:12px}
footer a{color:var(--grey);text-decoration:none}
footer p{margin:0 0 8px;font-size:12px;line-height:1.5}

/* Beschriftetes Bild (Abb. 2) */
.annot-wrap{position:relative;border-radius:var(--radius);overflow:hidden}
.annot-wrap img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.annot-wrap svg{position:absolute;inset:0;width:100%;height:100%;font-family:Inter,sans-serif}
.an-title{font-size:44px;font-weight:800;fill:var(--brand)}
.an-sub{font-size:22px;font-weight:500;fill:#555}
.an-line path{fill:none;stroke:var(--brand);stroke-width:4;stroke-linecap:round}
.an-line circle{fill:#fff;stroke:var(--brand);stroke-width:4}
.an-label rect{fill:#fff;stroke:var(--brand);stroke-width:3}
.an-label text{font-size:28px;font-weight:700;fill:var(--brand);text-anchor:middle}
.an-note{font-size:21px;font-weight:500;fill:#444}

/* FAQ */
.faq{border-top:1px solid var(--line);margin:0 0 10px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:16px 36px 16px 0;font-weight:700;font-size:18px;position:relative;line-height:1.4}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:12px;color:var(--brand);font-size:26px;font-weight:400;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 18px;font-size:17px;color:#333}
