/* ============================================================
   SUNPEPT — Unterseiten im Clinical-Lab-System
   Einheitlicher dunkler Seiten-Hero (Header liegt transparent darüber),
   Produktseite mit dunkler Bühne, Journal, Beiträge, Rechtstexte, Shop, Kasse.
   ============================================================ */

/* ---------- 1. Einheitlicher Seiten-Hero ---------- */
body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero, .pdp-stage){
  position:relative !important; isolation:isolate; overflow:hidden;
  margin-top:-65px !important; padding-top:138px !important; padding-bottom:76px !important;
  background:radial-gradient(110% 120% at 80% 0%, #2A4457 0%, var(--navy) 46%, var(--navy-3) 100%) !important;
  color:#fff !important; border:0 !important; text-align:left;
}
body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero)::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background-image:linear-gradient(rgb(199 220 233 / .07) 1px, transparent 1px), linear-gradient(90deg, rgb(199 220 233 / .07) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(80% 90% at 75% 20%, #000 10%, transparent 75%); -webkit-mask-image:radial-gradient(80% 90% at 75% 20%, #000 10%, transparent 75%);
}
body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero)::after{
  content:""; position:absolute; z-index:-1; right:-160px; top:-200px; width:720px; height:720px; pointer-events:none;
  background:radial-gradient(circle, rgb(199 220 233 / .18) 0%, rgb(199 220 233 / .04) 40%, transparent 66%);
}
body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero, .pdp-stage) :is(h1, h2, h3){ color:#fff !important; }
body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero) h1{
  font-size:clamp(36px,4.8vw,64px) !important; font-weight:650 !important; letter-spacing:-.04em !important; line-height:1.02 !important; margin-top:16px !important; max-width:20ch;
}
body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero) :is(p, .post-dek, li){ color:rgb(230 238 244 / .74) !important; }
body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero) :is(p, .post-dek){ font-size:17px; line-height:1.65; max-width:60ch; }
body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero, .pdp-stage) :is(.breadcrumb, .sp-breadcrumb){ color:var(--steel-2) !important; margin-bottom:6px; }
body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero, .pdp-stage) :is(.breadcrumb, .sp-breadcrumb) a{ color:rgb(230 238 244 / .72) !important; }
body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero, .pdp-stage) :is(.breadcrumb, .sp-breadcrumb) a:hover{ color:#fff !important; }
body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero, .pdp-stage) :is(.breadcrumb .cur, .sp-breadcrumb span){ color:#fff !important; }
body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero) :is(.kicker, .eyebrow){ color:var(--steel-2) !important; margin-top:22px; }
body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero) .kicker::before{ background:var(--steel) !important; }
body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero) :is(.badge, .chip){ background:rgb(199 220 233 / .1) !important; border-color:rgb(199 220 233 / .28) !important; color:var(--steel) !important; }
body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero) a:not(.btn):not(.hm-btn){ color:var(--steel); }
body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero) .btn-acc,
body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero) .btn-primary,
body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero) .btn-navy{ background:var(--steel) !important; color:var(--navy) !important; border-color:var(--steel) !important; }
body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero) .btn-acc:hover{ background:#fff !important; }
body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero) .btn-ghost{ background:transparent !important; color:#E6EEF4 !important; border-color:rgb(199 220 233 / .35) !important; }
body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero) .btn-ghost:hover{ border-color:var(--steel) !important; color:#fff !important; }
/* Suchfelder / Formulare in Heros */
body.has-hero :is(.faq-hero, .gl-hero, .pg-hero) input[type="search"], body.has-hero :is(.faq-hero, .gl-hero, .pg-hero) input[type="text"]{
  background:rgb(255 255 255 / .06) !important; border:1px solid rgb(199 220 233 / .3) !important; color:#fff !important; border-radius:8px !important; }
body.has-hero :is(.faq-hero, .gl-hero, .pg-hero) input::placeholder{ color:rgb(230 238 244 / .5); }
/* Bild-/Karten-Inhalte im Hero bleiben hell */
body.has-hero .cat-hero .cat-hero-card :is(h3, p, span, a){ color:var(--navy) !important; }
body.has-hero .cat-hero .cat-hero-card .cat-hero-card-cta{ color:#fff !important; background:var(--navy) !important; }
body.has-hero .cat-hero .cat-hero-card{ border:0 !important; box-shadow:0 30px 60px -30px rgb(0 0 0 / .6), 0 0 0 1px rgb(199 220 233 / .2) !important; }

/* Kompakte Heros (Rechtstexte, Kasse, Suche, 404) */
body.has-hero :is(.pg-hero, .page-hero){ padding-bottom:64px !important; }
body.has-hero .page-hero .site-shell{ padding:0 !important; }
body.has-hero .page-hero--compact{ text-align:center; }
body.has-hero .page-hero--compact h1{ margin-left:auto !important; margin-right:auto !important; }
body.has-hero .page-hero--compact p{ margin-left:auto; margin-right:auto; }

/* ---------- 2. Produktseite ---------- */
.pdp-stage{ padding-bottom:88px !important; }
.pdp-stage .hm-hero-bg{ position:absolute; inset:0; z-index:-1; pointer-events:none; }
.pdp-stage .hm-glow{ right:auto; left:-260px; top:-160px; }
.pdp-stage .breadcrumb{ margin-bottom:28px !important; }
.pdp-stage .pdp{ align-items:start; }
.pdp-stage .gallery-main{ background:#fff !important; border:0 !important; border-radius:18px !important; box-shadow:0 0 0 1px rgb(199 220 233 / .25), 0 0 0 12px rgb(199 220 233 / .05), 0 50px 80px -40px rgb(0 0 0 / .7) !important; }
.pdp-stage .gallery-main img{ mix-blend-mode:normal; }
.pdp-stage .g-thumb{ background:#fff !important; border:2px solid transparent !important; opacity:.7; transition:opacity .2s, border-color .2s; }
.pdp-stage .g-thumb.active, .pdp-stage .g-thumb:hover{ opacity:1; border-color:var(--steel) !important; }
.pdp-stage .pdp-info h1{ color:#fff !important; font-size:clamp(34px,3.8vw,54px) !important; letter-spacing:-.04em !important; }
.pdp-stage .pi-head .badge{ background:rgb(199 220 233 / .08) !important; border-color:rgb(199 220 233 / .25) !important; color:var(--steel) !important; }
.pdp-stage .pi-price-top .ppt-price, .pdp-stage .pi-price-top .ppt-price .amount, .pdp-stage .pi-price-top .woocommerce-Price-amount{ color:#fff !important; }
.pdp-stage .pi-price-top .ppt-price{ font-size:30px !important; }
.pdp-stage .pi-price-top .ppt-note{ color:var(--steel-2) !important; }
.pdp-stage .pi-sub, .pdp-stage .pi-sub p{ color:rgb(230 238 244 / .76) !important; }
.pdp-stage .pi-sub strong, .pdp-stage .pi-sub b{ color:#fff !important; }
.pdp-stage .pi-sub :is(div, p)[style], .pdp-stage .pi-sub .sp-box, .pdp-stage .pi-sub blockquote{ background:rgb(199 220 233 / .07) !important; border:1px solid rgb(199 220 233 / .2) !important; border-radius:10px !important; color:rgb(230 238 244 / .8) !important; }
.pdp-stage .pi-stats{ background:rgb(199 220 233 / .06) !important; border-color:rgb(199 220 233 / .22) !important; }
.pdp-stage .pi-stat{ background:transparent !important; border-left-color:rgb(199 220 233 / .22) !important; }
.pdp-stage .pi-stat .s-lab{ color:var(--steel-2) !important; }
.pdp-stage .pi-stat .s-val{ color:#fff !important; }
.pdp-stage .pi-buy{ background:#fff !important; border:0 !important; border-radius:16px !important; box-shadow:0 0 0 1px rgb(199 220 233 / .3), 0 30px 60px -30px rgb(0 0 0 / .6) !important; }
.pdp-stage .pi-trust a, .pdp-stage .pi-trust > div{ background:rgb(199 220 233 / .06) !important; border-color:rgb(199 220 233 / .2) !important; }
.pdp-stage .pi-trust a:hover{ border-color:var(--steel) !important; }
.pdp-stage .pi-trust strong{ color:#fff !important; }
.pdp-stage .pi-trust span:not(.pt-ic){ color:var(--steel-2) !important; }
.pdp-stage .pi-trust .pt-ic{ background:rgb(199 220 233 / .12) !important; color:var(--steel) !important; }
.pdp-stage .pi-coa{ background:rgb(199 220 233 / .06) !important; border-color:rgb(199 220 233 / .2) !important; }
.pdp-stage .pi-coa-head{ color:#fff !important; }
.pdp-stage .pi-coa-links a{ background:rgb(199 220 233 / .1) !important; border:1px solid rgb(199 220 233 / .25) !important; color:#fff !important; border-radius:6px !important; }
.pdp-stage .pi-coa-links a:hover{ background:var(--steel) !important; color:var(--navy) !important; }
.pdp-stage .pi-coa-note{ color:var(--steel-2) !important; }
.pdp-stage .ruo-box{ background:rgb(230 204 170 / .07) !important; border:1px solid rgb(230 204 170 / .3) !important; }
.pdp-stage .ruo-box p, .pdp-stage .ruo-box strong{ color:#E6CCAA !important; }
.pdp-stage .ruo-box .rb-ic{ color:#E6CCAA !important; background:transparent !important; }
.pdp-stage .g-ruo-tag{ z-index:2; }

.pdp-below{ padding-top:72px; padding-bottom:110px; }
.pdp-below .pdp-tabs{ border-top:0 !important; padding-top:0 !important; margin-top:0 !important; }
.pdp-below .tab-bar{ border-bottom:1px solid var(--line) !important; }
.pdp-below .tab-bar button{ font-size:15px !important; padding:16px 18px !important; }
.pdp-below .tab-panel{ padding-top:36px; }
.pdp-below .prose{ max-width:760px; font-size:16.5px; line-height:1.75; color:#34495A; }
.pdp-below .prose h2, .pdp-below .prose h3{ margin:40px 0 12px; font-size:24px; letter-spacing:-.025em; color:var(--navy); }
.pdp-below .prose a{ color:var(--steel-dk); border-bottom:1px solid currentColor; }
.pdp-faq{ margin-top:110px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.45fr); gap:72px; align-items:start; }
.pdp-faq .hm-head{ margin:0; position:sticky; top:110px; }
.pdp-faq .faq-wrap{ border-top:2px solid var(--navy); }
.pdp-related{ margin-top:110px; }
.pdp-rel-grid{ display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:16px !important; }
.pdp-faq .hm-idx, .pdp-related .hm-idx{ min-width:40px; }

/* ---------- 3. Shop & Kategorie ---------- */
.shop-trust, .sp-trust-bar{ background:var(--tint) !important; border-color:var(--line) !important; }
.shop-body{ padding-top:48px !important; padding-bottom:110px !important; }
.shop-hero .shop-hero-sub{ color:rgb(230 238 244 / .74) !important; }
.cat-hero{ padding-bottom:96px !important; }
.cat-hero .cat-hero-chips span, .cat-hero .cat-hero-sub{ color:var(--steel-2) !important; }
.sp-breadcrumb{ background:transparent !important; }

/* ---------- 4. Journal-Übersicht ---------- */
.page-top .post-head h1.surf{ font-family:inherit !important; color:#fff !important; }
.journal-filter{ display:flex; flex-wrap:wrap; gap:6px; }
.jf-btn{ height:36px; display:inline-flex; align-items:center; padding:0 14px !important; border-radius:6px !important; border:1px solid var(--line) !important; background:#fff !important; color:#45596A !important; font-size:11.5px !important; letter-spacing:.08em; text-transform:uppercase; }
.jf-btn:hover{ border-color:var(--navy) !important; color:var(--navy) !important; }
.jf-btn.active{ background:var(--navy) !important; border-color:var(--navy) !important; color:#fff !important; }
.journal-grid--full{ display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:16px !important; }
.journal-card{ position:relative; display:flex !important; flex-direction:column; min-height:300px; padding:26px !important; background:#fff !important; border:1px solid var(--line) !important; border-radius:14px !important; box-shadow:none !important; overflow:hidden; transition:border-color .25s, transform .35s var(--ease), box-shadow .35s !important; }
.journal-card::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--steel); transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease); }
.journal-card:hover{ transform:translateY(-4px) !important; border-color:var(--line-2) !important; box-shadow:0 24px 40px -28px rgb(28 46 58 / .35) !important; }
.journal-card:hover::after{ transform:scaleX(1); }
.journal-card .jc-tag{ font-size:10.5px !important; letter-spacing:.12em !important; text-transform:uppercase; color:#6E8292 !important; background:none !important; padding:0 !important; }
.journal-card h3{ margin:20px 0 12px !important; font-size:21px !important; font-weight:650 !important; letter-spacing:-.02em !important; line-height:1.28 !important; color:var(--navy) !important; }
.journal-card .jc-excerpt{ color:#56697A !important; font-size:14.5px !important; line-height:1.6; }
.journal-card .jc-foot{ margin-top:auto !important; padding-top:20px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; }
.journal-card .jc-read{ color:var(--navy) !important; font-size:11.5px !important; }
.nav-links{ display:flex; gap:6px; justify-content:center; margin-top:48px; }
.nav-links .page-numbers{ display:grid; place-items:center; min-width:40px; height:40px; border-radius:8px; border:1px solid var(--line); font-weight:600; }
.nav-links .page-numbers.current{ background:var(--navy); color:#fff; border-color:var(--navy); }

/* ---------- 5. Einzelbeitrag ---------- */
.post-top .post-head{ max-width:860px; }
.post-top .post-head h1{ font-size:clamp(34px,4.4vw,58px) !important; max-width:22ch; }
.post-top .post-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:26px; padding-top:22px; border-top:1px solid rgb(199 220 233 / .18); color:var(--steel-2) !important; font-family:var(--mono); font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; }
.post-top .post-meta span{ color:var(--steel-2) !important; }
.post-top .pm-av{ display:inline-grid !important; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--steel) !important; color:var(--navy) !important; font-weight:700; letter-spacing:0; }
.post-top .pm-sep{ width:4px; height:4px; border-radius:50%; background:rgb(199 220 233 / .4); }
.post-cover{ max-width:1080px; margin:-40px auto 0; position:relative; z-index:2; padding:0 28px; }
.post-cover img{ border-radius:16px; box-shadow:0 40px 70px -40px rgb(28 46 58 / .5); }
.article{ max-width:740px !important; margin:72px auto 0 !important; font-size:17.5px !important; line-height:1.78 !important; color:#2E4253 !important; }
.article > * + *{ margin-top:1.15em; }
.article h2{ margin:2.2em 0 .6em !important; font-size:30px !important; font-weight:650 !important; letter-spacing:-.03em !important; line-height:1.15 !important; color:var(--navy) !important; padding-top:24px; border-top:1px solid var(--line); }
.article h3{ margin:1.8em 0 .5em !important; font-size:22px !important; font-weight:650 !important; letter-spacing:-.02em !important; color:var(--navy) !important; }
.article a{ color:var(--steel-dk) !important; border-bottom:1px solid rgb(76 122 152 / .4); text-decoration:none !important; }
.article a:hover{ border-bottom-color:var(--steel-dk); }
.article ul, .article ol{ padding-left:1.3em; }
.article ul{ list-style:none; padding-left:0; }
.article ul li{ position:relative; padding-left:22px; margin-top:.5em; }
.article ul li::before{ content:""; position:absolute; left:2px; top:.72em; width:7px; height:7px; border-radius:1px; background:var(--steel-dk); }
.article blockquote{ margin:2em 0; padding:22px 26px; border-left:3px solid var(--steel-dk); background:var(--tint); border-radius:0 10px 10px 0; font-size:17px; color:#34495A; }
.article table{ width:100%; border-collapse:collapse; font-size:15px; margin:2em 0; }
.article th{ text-align:left; font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#6E8292; border-bottom:2px solid var(--navy); padding:10px 12px 10px 0; }
.article td{ border-bottom:1px solid var(--line); padding:12px 12px 12px 0; vertical-align:top; }
.article code{ font-family:var(--mono); font-size:.88em; background:var(--tint); padding:2px 6px; border-radius:4px; }
.article strong{ color:var(--navy); }
.post-ruo{ max-width:740px; margin:56px auto 0; }
.post-ruo .pr-box{ display:flex; gap:14px; align-items:flex-start; padding:20px 22px; border:1px solid #F1D9A8; background:#FFF8EB; border-radius:12px; color:#7A5212; font-size:14.5px; }
.post-ruo .pr-box svg{ width:20px; height:20px; flex-shrink:0; margin-top:2px; }
.post-back{ max-width:740px; margin:32px auto 0; }
.post-back a{ display:inline-flex; align-items:center; gap:8px; font-weight:650; color:var(--navy); border-bottom:1px solid currentColor; padding-bottom:2px; }

/* ---------- 6. Reguläre Seiten / Rechtstexte ---------- */
.pg-body{ padding:72px 0 110px; }
.pg-body .entry-content{ max-width:780px; font-size:16.5px; line-height:1.75; color:#34495A; }
.pg-body .entry-content h2{ margin:2em 0 .6em; font-size:26px; font-weight:650; letter-spacing:-.025em; color:var(--navy); padding-top:22px; border-top:1px solid var(--line); }
.pg-body .entry-content h3{ margin:1.6em 0 .5em; font-size:19px; font-weight:650; color:var(--navy); }
.pg-body .entry-content p + p{ margin-top:1em; }
.pg-body .entry-content a{ color:var(--steel-dk); border-bottom:1px solid currentColor; }
.pg-body .entry-content ul, .pg-body .entry-content ol{ padding-left:1.3em; margin:1em 0; list-style:revert; }
.pg-body .entry-content table{ width:100%; border-collapse:collapse; margin:1.5em 0; font-size:15px; }
.pg-body .entry-content td, .pg-body .entry-content th{ border-bottom:1px solid var(--line); padding:10px 12px 10px 0; text-align:left; }
/* WooCommerce-Seiten (Warenkorb, Kasse, Konto) brauchen volle Breite */
.woocommerce-cart .pg-body .entry-content, .woocommerce-checkout .pg-body .entry-content, .woocommerce-account .pg-body .entry-content{ max-width:none; font-size:15.5px; line-height:1.6; }
.woocommerce-cart .pg-body .entry-content h2, .woocommerce-checkout .pg-body .entry-content h2, .woocommerce-account .pg-body .entry-content h2{ border-top:0; padding-top:0; margin-top:0; }
.woocommerce-cart .pg-hero h1, .woocommerce-checkout .pg-hero h1, .woocommerce-account .pg-hero h1{ font-size:clamp(32px,4vw,52px) !important; }
.woocommerce-cart .pg-hero, .woocommerce-checkout .pg-hero, .woocommerce-account .pg-hero{ padding-bottom:52px !important; }
.woocommerce-cart .pg-hero .kicker, .woocommerce-checkout .pg-hero .kicker{ display:none; }

/* ---------- 7. Inhaltsseiten mit eigenem Layout (FAQ, Über uns, Glossar, Kontakt, Landingpages) ---------- */
:is(.faq-cta, .au-cta, .gl-cta, .sp-cta-banner, .lp-cta){ position:relative; isolation:isolate; overflow:hidden; background:var(--navy-3) !important; color:#fff !important; border-radius:16px !important; border:0 !important; }
:is(.faq-cta, .au-cta, .gl-cta, .sp-cta-banner, .lp-cta)::before{ content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(60% 90% at 50% 120%, rgb(199 220 233 / .25), transparent 70%), linear-gradient(rgb(199 220 233 / .05) 1px, transparent 1px) 0 0/48px 48px, linear-gradient(90deg, rgb(199 220 233 / .05) 1px, transparent 1px) 0 0/48px 48px; }
:is(.faq-cta, .au-cta, .gl-cta, .sp-cta-banner, .lp-cta) :is(h2, h3){ color:#fff !important; }
:is(.faq-cta, .au-cta, .gl-cta, .sp-cta-banner, .lp-cta) p{ color:rgb(230 238 244 / .72) !important; }
:is(.faq-cta, .au-cta, .gl-cta, .sp-cta-banner, .lp-cta) .kicker{ color:var(--steel-2) !important; }
:is(.faq-cta, .au-cta, .gl-cta, .sp-cta-banner, .lp-cta) .btn-acc{ background:var(--steel) !important; color:var(--navy) !important; border-color:var(--steel) !important; }
:is(.faq-cta, .au-cta, .gl-cta, .sp-cta-banner, .lp-cta) .btn-ghost{ background:transparent !important; color:#fff !important; border-color:rgb(199 220 233 / .35) !important; }
/* Karten in Inhaltsseiten einheitlich */
:is(.au-card, .au-val, .gl-item, .kt-card, .lp-card, .faq-cat, .sp-mech-card, .sp-paper-card){ border-radius:14px !important; border:1px solid var(--line) !important; box-shadow:none !important; background:#fff !important; }
/* Sektionsköpfe in Inhaltsseiten */
main :is(.au-head, .faq-sec-head, .lp-module) h2{ font-weight:650 !important; letter-spacing:-.035em !important; }

/* ---------- 8. Suche & 404 ---------- */
.sp-search .pg-hero h1{ max-width:none; }
.sp-search-h{ font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#6E8292; }

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .pdp-faq{ grid-template-columns:1fr; gap:28px; }
  .pdp-faq .hm-head{ position:static; }
  .pdp-rel-grid, .journal-grid--full{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:640px){
  body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero, .pdp-stage){ padding-top:112px !important; padding-bottom:52px !important; }
  body.has-hero :is(.pg-hero, .faq-hero, .au-hero, .gl-hero, .kt-hero, .lp-hero, .page-top, .post-top, .shop-hero, .cat-hero, .page-hero) h1{ font-size:clamp(30px,8.6vw,40px) !important; }
  .pdp-stage .pdp-info h1{ font-size:32px !important; }
  .pdp-below{ padding-top:48px; padding-bottom:80px; }
  .pdp-faq, .pdp-related{ margin-top:72px; }
  .pdp-rel-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
  .journal-grid--full{ grid-template-columns:1fr !important; }
  .journal-card{ min-height:0; }
  .article{ font-size:16.5px !important; margin-top:48px !important; }
  .article h2{ font-size:24px !important; }
  .post-cover{ margin-top:-24px; padding:0 16px; }
  .pg-body{ padding:48px 0 80px; }
}
/* Beitrag: Kopf linksbündig wie alle Heros */
.post-top .post-head{ text-align:left !important; margin:0 !important; }
.post-top .post-head .post-cat{ margin-top:18px; }
.post-top .post-meta{ justify-content:flex-start !important; }
/* Lieferumfang-Box (2. Absatz der Kurzbeschreibung) auf dunkler Bühne */
.pdp-stage .pdp-info .pi-sub p + p{ background:rgb(199 220 233 / .07) !important; border:1px solid rgb(199 220 233 / .2) !important; color:rgb(230 238 244 / .78) !important; }

/* Einheitliche Typo-Gewichte in allen Inhaltsseiten (Inline-Styles nutzen 800) */
main :is(h1, h2){ font-weight:650 !important; letter-spacing:-.035em !important; }
main h3{ font-weight:650 !important; letter-spacing:-.015em; }
main :is(.au-stat-num, .sp-stat-chip-val){ font-weight:650 !important; letter-spacing:-.04em !important; }
/* Vollbreite CTA-Bänder ohne Rundung */
:is(.faq-cta, .au-cta, .gl-cta){ border-radius:0 !important; padding:96px 0 !important; }
:is(.faq-cta, .au-cta, .gl-cta) h2{ font-size:clamp(30px,4vw,52px) !important; }
/* Buttons in Inhaltsbereichen nicht wie Fließtext-Links färben */
.pg-body .entry-content :is(a.button, a.btn, .wc-block-components-button, .return-to-shop a){ color:#fff !important; border-bottom:0 !important; background:var(--navy) !important; }
.pg-body .entry-content :is(a.button, a.btn):hover{ background:var(--navy-2) !important; }
.return-to-shop{ margin-top:20px; }
.cart-empty.woocommerce-info{ border-radius:10px !important; }
/* Beitragsbild: ruhige Probenplatte statt riesiger Fläche */
.post-cover{ max-width:880px !important; }
.post-cover img{ width:100%; max-height:440px; object-fit:contain; background:#fff; padding:28px; border:1px solid var(--line); }
.sp-prod-grid{ gap:16px !important; }
@media (max-width:560px){ .sp-prod-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; } }
/* Seitliche Abstände in Heros (main.css setzt hier 0) */
.post-top .wrap{ padding:0 28px !important; }
body.has-hero .page-hero .site-shell{ padding:0 28px !important; }
@media (max-width:640px){ .post-top .wrap, body.has-hero .page-hero .site-shell{ padding:0 20px !important; } }
/* Suche im Hero: Button hell */
.pg-hero .sp-search-form button, .pg-hero form[role="search"] button{ background:var(--steel) !important; color:var(--navy) !important; border:0 !important; border-radius:8px !important; font-weight:650; }
.woocommerce-cart .pg-body, .woocommerce-checkout .pg-body{ padding-top:44px; }
.woocommerce-cart .pg-body .woocommerce-notices-wrapper:empty{ display:none; }

/* ---------- Footer: weicher Übergang + Raster wie im Hero ---------- */
.footer{ position:relative; isolation:isolate; background:var(--navy) !important; }
.footer::before{ content:""; position:absolute; left:0; right:0; bottom:100%; height:160px; pointer-events:none; z-index:1;
  background:linear-gradient(180deg, rgb(28 46 58 / 0) 0%, rgb(28 46 58 / .06) 35%, rgb(28 46 58 / .35) 75%, var(--navy) 100%); }
.footer::after{ content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(60% 50% at 50% 0%, rgb(199 220 233 / .10), transparent 70%),
    linear-gradient(rgb(199 220 233 / .045) 1px, transparent 1px) 0 0/64px 64px,
    linear-gradient(90deg, rgb(199 220 233 / .045) 1px, transparent 1px) 0 0/64px 64px;
  mask-image:linear-gradient(180deg, #000 0%, rgb(0 0 0 / .4) 60%, transparent 100%); -webkit-mask-image:linear-gradient(180deg, #000 0%, rgb(0 0 0 / .4) 60%, transparent 100%); }
/* Vor dunklen Abschlüssen (Startseite) ist kein Verlauf nötig */
.hm-end + .footer::before, main:has(> .hm-end:last-child) + .footer::before{ display:none; }
/* Footer-Oberkante nahtlos: kein Rand, Raster/Schein erst unterhalb einblenden */
.footer{ border-top:0 !important; box-shadow:none !important; }
.footer::after{ background:
    radial-gradient(55% 45% at 50% 35%, rgb(199 220 233 / .08), transparent 70%),
    linear-gradient(rgb(199 220 233 / .045) 1px, transparent 1px) 0 0/64px 64px,
    linear-gradient(90deg, rgb(199 220 233 / .045) 1px, transparent 1px) 0 0/64px 64px !important;
  mask-image:linear-gradient(180deg, transparent 0, #000 140px, rgb(0 0 0 / .4) 65%, transparent 100%) !important;
  -webkit-mask-image:linear-gradient(180deg, transparent 0, #000 140px, rgb(0 0 0 / .4) 65%, transparent 100%) !important; }
.footer::before{ height:240px !important;
  background:linear-gradient(180deg, rgb(28 46 58 / 0) 0%, rgb(28 46 58 / .03) 20%, rgb(28 46 58 / .1) 38%, rgb(28 46 58 / .24) 54%, rgb(28 46 58 / .45) 68%, rgb(28 46 58 / .68) 80%, rgb(28 46 58 / .87) 91%, rgb(28 46 58) 100%) !important; }
/* Footer: farbiger Verlauf statt Transparenz-Overlay */
.footer::before{ display:none !important; }
.footer{ background:
    radial-gradient(70% 90% at 12% 0%, #2E4A5E 0%, rgb(46 74 94 / 0) 60%),
    radial-gradient(60% 80% at 92% 100%, rgb(76 122 152 / .35) 0%, rgb(76 122 152 / 0) 65%),
    linear-gradient(160deg, #22394A 0%, #1C2E3A 40%, #132029 75%, #0E1820 100%) !important; }
.footer::after{ mask-image:linear-gradient(180deg, #000 0%, rgb(0 0 0 / .5) 60%, transparent 100%) !important; -webkit-mask-image:linear-gradient(180deg, #000 0%, rgb(0 0 0 / .5) 60%, transparent 100%) !important; }

/* Nahtloser Übergang Section → Footer: Footer beginnt im Farbton des dunklen Abschlusses (#0E1820) */
.footer{ background:
    radial-gradient(60% 70% at 88% 100%, rgb(76 122 152 / .28) 0%, rgb(76 122 152 / 0) 65%),
    linear-gradient(180deg, #0E1820 0%, #132029 28%, #1A2B37 62%, #22394A 100%) !important; }
.footer::after{ mask-image:linear-gradient(180deg, transparent 0, #000 160px, rgb(0 0 0 / .45) 70%, transparent 100%) !important;
  -webkit-mask-image:linear-gradient(180deg, transparent 0, #000 160px, rgb(0 0 0 / .45) 70%, transparent 100%) !important; }
/* Dunkle Sektionen direkt vor dem Footer enden im selben Ton, ohne Lichtkante am Rand */
.hm-end{ background:#0E1820 !important; }
.hm-end-bg{ background:
    radial-gradient(55% 70% at 50% 62%, rgb(199 220 233 / .16), transparent 70%),
    linear-gradient(rgb(199 220 233 / .05) 1px, transparent 1px) 0 0/64px 64px,
    linear-gradient(90deg, rgb(199 220 233 / .05) 1px, transparent 1px) 0 0/64px 64px !important;
  mask-image:linear-gradient(180deg, #000 70%, transparent 100%); -webkit-mask-image:linear-gradient(180deg, #000 70%, transparent 100%); }
:is(.faq-cta, .au-cta, .gl-cta){ background:#0E1820 !important; }
:is(.faq-cta, .au-cta, .gl-cta)::before{ mask-image:linear-gradient(180deg, #000 70%, transparent 100%); -webkit-mask-image:linear-gradient(180deg, #000 70%, transparent 100%); }

/* ---------- Journal: Faktenbox, Inhaltsverzeichnis, Produkt-CTA, Quellen ---------- */
.article .sp-facts{ margin:2.2em 0; padding:26px 28px; border-radius:14px; background:var(--navy); color:#E6EEF4; position:relative; overflow:hidden; }
.article .sp-facts::after{ content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(rgb(199 220 233 / .05) 1px, transparent 1px) 0 0/40px 40px, linear-gradient(90deg, rgb(199 220 233 / .05) 1px, transparent 1px) 0 0/40px 40px; }
.article .sp-facts h2{ margin:0 0 14px !important; padding:0 !important; border:0 !important; font-size:12px !important; font-family:var(--mono); letter-spacing:.14em !important; text-transform:uppercase; color:var(--steel) !important; font-weight:500 !important; }
.article .sp-facts ul{ position:relative; z-index:1; margin:0; }
.article .sp-facts li{ color:#E6EEF4; padding-left:22px; margin-top:.55em; font-size:15.5px; line-height:1.55; }
.article .sp-facts li::before{ background:var(--steel) !important; }
.article .sp-facts strong{ color:#fff; }
.article .sp-facts a{ color:var(--steel) !important; border-bottom-color:rgb(199 220 233 / .4) !important; }
.sp-toc{ margin:2em 0; padding:20px 24px; border:1px solid var(--line); border-radius:12px; background:var(--tint); }
.sp-toc-h{ display:block; font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#6E8292; margin-bottom:10px; }
.article .sp-toc ol{ margin:0; padding-left:1.2em; counter-reset:none; list-style:decimal; }
.article .sp-toc li{ padding:0; margin-top:.35em; font-size:15px; }
.article .sp-toc li::before{ display:none; }
.article .sp-toc a{ border-bottom:0 !important; color:var(--navy) !important; }
.article .sp-toc a:hover{ color:var(--steel-dk) !important; }
.article :is(h2, h3)[id]{ scroll-margin-top:100px; }
.sp-inline-cta{ display:grid; grid-template-columns:88px 1fr auto; gap:18px; align-items:center; margin:2em 0; padding:14px 18px 14px 14px; border:1px solid var(--line-2); border-radius:14px; background:#fff; box-shadow:0 18px 40px -30px rgb(28 46 58 / .45); }
.sp-ic-img{ display:block; width:88px; height:88px; border-radius:10px; background:var(--tint); overflow:hidden; border-bottom:0 !important; }
.sp-ic-img img{ width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.sp-ic-label{ display:block; font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:#6E8292; }
.article a.sp-ic-name{ display:block; margin-top:4px; font-size:18px; font-weight:650; letter-spacing:-.02em; color:var(--navy) !important; border-bottom:0 !important; }
.sp-ic-meta{ display:block; margin-top:2px; font-size:13px; color:#56697A; }
.sp-ic-buy{ text-align:right; }
.sp-ic-price{ display:block; font-weight:700; font-size:17px; color:var(--navy); }
.article a.sp-ic-btn{ display:inline-flex; margin-top:8px; height:40px; align-items:center; padding:0 16px; border-radius:8px; background:var(--navy); color:#fff !important; font-weight:650; font-size:14px; border-bottom:0 !important; }
.article a.sp-ic-btn:hover{ background:var(--navy-2); }
.sp-post-cta{ position:relative; isolation:isolate; overflow:hidden; max-width:1080px; margin:80px auto 0; padding:52px 48px; border-radius:18px; background:#0E1820; color:#fff; }
.sp-post-cta::before{ content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(60% 80% at 85% 0%, rgb(199 220 233 / .18), transparent 65%), linear-gradient(rgb(199 220 233 / .05) 1px, transparent 1px) 0 0/48px 48px, linear-gradient(90deg, rgb(199 220 233 / .05) 1px, transparent 1px) 0 0/48px 48px; }
.sp-post-cta-head h2{ margin:14px 0 10px; font-size:clamp(26px,3vw,38px); font-weight:650; letter-spacing:-.035em; color:#fff !important; }
.sp-post-cta-head p{ color:rgb(230 238 244 / .72); max-width:62ch; font-size:15.5px; }
.sp-post-cta-grid{ display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:14px !important; margin-top:28px; }
.sp-post-cta-btns{ display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.article .sp-sources{ padding-left:1.4em !important; list-style:decimal !important; font-size:14px; line-height:1.6; color:#45596A; }
.article .sp-sources li{ padding-left:4px !important; margin-top:.6em; }
.article .sp-sources li::before{ display:none !important; }
.article .sp-sources li:target{ background:var(--tint); border-radius:6px; }
.article sup a{ border-bottom:0 !important; font-size:.75em; font-weight:600; }
.article .sp-ruo-note{ margin-top:2.4em; padding:16px 20px; border:1px solid #F1D9A8; background:#FFF8EB; border-radius:10px; color:#7A5212; font-size:14.5px; }
.article .sp-ruo-note strong{ color:#7A5212; }
@media (max-width:640px){
  .sp-inline-cta{ grid-template-columns:64px 1fr; }
  .sp-ic-img{ width:64px; height:64px; }
  .sp-ic-buy{ grid-column:1 / -1; text-align:left; display:flex; align-items:center; justify-content:space-between; }
  .article a.sp-ic-btn{ margin-top:0; }
  .sp-post-cta{ margin:56px 16px 0; padding:32px 20px; }
  .sp-post-cta-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
  .article .sp-facts{ padding:20px; }
}
.sp-legal-lang{ max-width:780px; margin:0 0 28px; padding:14px 18px; border:1px solid var(--line-2); border-left:3px solid var(--steel-dk); border-radius:0 10px 10px 0; background:var(--tint); font-size:14.5px; color:#34495A; }
/* Längere Übersetzungen: keine Wortumbrüche mitten im Wort */
.pi-trust strong, .pi-trust span, .pi-stat .s-val, .hm-facts dd, .prod-card h3{ word-break:normal !important; overflow-wrap:normal !important; hyphens:manual; }
.pi-trust a, .pi-trust > div{ min-width:0; }

/* ---------- PDP: Versand + Laborprüfung (unter dem Warenkorb) ---------- */
.pi-assure{ display:grid; gap:10px; margin:16px 0 18px; }
.pa-ship{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.pa-ship-ic{ flex:0 0 auto; width:38px; height:38px; border-radius:10px; display:grid; place-items:center; background:rgb(199 220 233 / .12); color:var(--steel); }
.pa-ship-ic svg{ width:20px; height:20px; }
.pa-ship p{ flex:1 1 180px; margin:0; font-size:14px; line-height:1.45; color:#fff; }
.pa-ship p strong{ font-weight:700; }
.pa-ship p span{ color:var(--steel-2); font-size:13px; }
.pa-pill{ display:inline-flex; align-items:center; gap:8px; padding:6px 14px 6px 6px; border-radius:999px; background:var(--steel); color:var(--navy); font-size:12px; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; box-shadow:0 8px 20px -10px rgb(199 220 233 / .7); }
.pa-pill b{ font-weight:800; }
.pa-pill-ic{ width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:var(--navy); color:var(--steel); }
.pa-pill-ic svg{ width:14px; height:14px; }
.pa-meta{ margin:0; font-size:12.5px; color:var(--steel-2); text-align:right; }
.pa-lab{ position:relative; display:flex; align-items:center; gap:16px; padding:14px 18px 14px 14px; border-radius:12px; text-decoration:none; background:
  radial-gradient(rgb(199 220 233 / .1) 1px, transparent 1.2px) 0 0 / 12px 12px,
  linear-gradient(120deg, rgb(199 220 233 / .1), rgb(199 220 233 / .03)); border:1px solid rgb(199 220 233 / .28); transition:border-color .2s, background-color .2s; }
.pa-lab:hover{ border-color:var(--steel); }
.pa-seal{ flex:0 0 auto; width:62px; height:62px; color:var(--steel); }
.pa-seal svg{ width:100%; height:100%; }
.pa-seal text{ transform-box:view-box; transform-origin:32px 32px; animation:pa-spin 40s linear infinite; }

.pa-lab-txt{ flex:1; min-width:0; display:grid; gap:4px; }
.pa-lab-txt strong{ font-size:15px; font-weight:700; color:#fff; line-height:1.35; }
.pa-lab-txt em{ font-style:normal; color:var(--steel); }
.pa-lab-mono{ font-family:var(--mono); font-size:11.5px; letter-spacing:.02em; color:var(--steel-2); }
.pa-lab-arrow{ flex:0 0 auto; width:18px; height:18px; color:var(--steel-2); transition:transform .2s var(--ease); }
.pa-lab:hover .pa-lab-arrow{ transform:translateX(3px); color:#fff; }
@keyframes pa-spin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce){ .pa-seal text{ animation:none; } }
@media (max-width:560px){ .pa-meta{ text-align:left; } .pa-pill{ font-size:11px; } }

/* ---------- Peptid-Rechner (Labor) ---------- */
.lr-hero .hm-label{ margin:10px 0 4px; }
.lr-body{ background:linear-gradient(180deg, var(--navy-3) 0, var(--navy-3) 140px, var(--tint) 140px); padding:0 0 64px; }
.lr-app{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 0 0 1px var(--line), 0 40px 80px -40px rgb(14 24 32 / .45); }
.lr-in{ padding:30px 32px; display:grid; gap:4px; }
.lr-step{ display:grid; grid-template-columns:34px minmax(0,1fr); gap:14px; padding:18px 0; border-bottom:1px dashed var(--line-2); }
.lr-step:last-child{ border-bottom:0; }
.lr-num{ font-family:var(--mono); font-size:11px; color:var(--steel-dk); padding-top:3px; }
.lr-lab{ display:block; font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--navy); margin-bottom:12px; }
.lr-lab em{ font-style:normal; font-weight:500; text-transform:none; letter-spacing:0; color:#8A9BA7; margin-left:6px; }
.lr-row{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.lr-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.lr-chip{ height:40px; padding:0 16px; border-radius:8px; border:1px solid var(--line-2); background:#fff; color:var(--navy); font:inherit; font-size:14px; font-weight:600; cursor:pointer; transition:border-color .15s, background .15s, color .15s; }
.lr-chip:hover{ border-color:var(--steel-dk); }
.lr-chip.is-on{ background:var(--navy); border-color:var(--navy); color:#fff; }
.lr-chips--sm .lr-chip{ height:36px; padding:0 13px; font-size:13.5px; }
.lr-input{ display:inline-flex; align-items:center; height:40px; border:1px solid var(--line-2); border-radius:8px; background:var(--tint); overflow:hidden; }
.lr-input:focus-within{ border-color:var(--navy); box-shadow:0 0 0 3px rgb(199 220 233 / .6); }
.lr-input input, .lr-input select{ width:92px; height:100%; border:0; background:transparent; padding:0 4px 0 12px; font:inherit; font-size:15px; font-weight:600; color:var(--navy); outline:0; -moz-appearance:textfield; }
.lr-input input::-webkit-outer-spin-button, .lr-input input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.lr-input span{ padding:0 12px 0 4px; font-family:var(--mono); font-size:12px; color:#6E8292; }
.lr-input--wide input{ width:140px; }
.lr-hint{ margin:8px 0 0; font-size:13px; color:#8A6A3E; }
.lr-out{ position:relative; padding:30px 30px 26px; color:#fff; background:
  radial-gradient(90% 60% at 100% 0%, rgb(76 122 152 / .35), transparent 65%),
  radial-gradient(rgb(199 220 233 / .09) 1px, transparent 1.2px) 0 0 / 14px 14px,
  linear-gradient(160deg, var(--navy), var(--navy-3)); }
.lr-out-lab{ display:block; font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--steel-2); margin-bottom:8px; }
.lr-big{ display:flex; align-items:baseline; gap:10px; }
.lr-big b{ font-size:clamp(46px,6vw,64px); font-weight:900; letter-spacing:-.03em; line-height:1; font-variant-numeric:tabular-nums; }
.lr-big span{ font-family:var(--mono); font-size:15px; color:var(--steel); }
.lr-gauge{ height:6px; border-radius:6px; background:rgb(199 220 233 / .14); margin:18px 0 20px; overflow:hidden; }
.lr-gauge i{ display:block; height:100%; width:0; border-radius:inherit; background:linear-gradient(90deg, var(--steel-dk), var(--steel)); transition:width .35s var(--ease); }
.lr-kpis{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0 0 6px; }
.lr-kpis > div{ padding:12px 14px; border-radius:10px; background:rgb(199 220 233 / .07); border:1px solid rgb(199 220 233 / .16); }
.lr-kpis dt{ font-size:12px; color:var(--steel-2); margin-bottom:4px; }
.lr-kpis dd{ margin:0; font-size:14px; color:var(--steel); }
.lr-kpis dd b{ font-size:21px; color:#fff; font-weight:800; font-variant-numeric:tabular-nums; }
.lr-sub{ margin-top:18px; padding-top:18px; border-top:1px solid rgb(199 220 233 / .14); }
.lr-mini{ display:flex; flex-wrap:wrap; gap:12px; }
.lr-mini label{ display:grid; gap:6px; font-size:12.5px; color:var(--steel-2); }
.lr-input--dark{ background:rgb(199 220 233 / .08); border-color:rgb(199 220 233 / .22); }
.lr-input--dark input, .lr-input--dark select{ color:#fff; }
.lr-input--dark select{ width:auto; padding:0 10px 0 4px; font-family:var(--mono); font-size:12px; color:var(--steel); cursor:pointer; }
.lr-input--dark select option{ color:var(--navy); }
.lr-input--dark span{ color:var(--steel-2); }
.lr-input--dark:focus-within{ border-color:var(--steel); box-shadow:none; }
.lr-res{ margin:12px 0 0; font-size:14.5px; line-height:1.55; color:rgb(230 238 244 / .85); }
.lr-res b{ color:#fff; }
.lr-note{ margin:22px 0 0; font-size:12px; color:var(--steel-2); opacity:.85; }
.lr-formula{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin-top:22px; }
.lr-formula code{ font-family:var(--mono); font-size:12.5px; padding:7px 12px; border-radius:6px; background:#fff; border:1px solid var(--line); color:var(--navy); }
.lr-text{ background:#fff; padding:72px 0; }
.lr-text-in{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:56px; align-items:start; }
.lr-prose h2, .lr-faq h2{ font-size:clamp(24px,2.6vw,32px); font-weight:800; letter-spacing:-.02em; color:var(--navy); margin:0 0 16px; }
.lr-prose h3{ font-size:17px; font-weight:700; color:var(--navy); margin:26px 0 8px; }
.lr-prose p{ font-size:15.5px; line-height:1.7; color:#4A5B67; margin:0 0 12px; }
.lr-ruo{ margin-top:22px !important; padding:14px 16px; border-left:3px solid var(--steel-dk); background:var(--tint); border-radius:0 8px 8px 0; font-size:14px !important; }
.lr-q{ border-bottom:1px solid var(--line); }
.lr-q summary{ list-style:none; display:flex; justify-content:space-between; gap:16px; padding:18px 0; cursor:pointer; font-weight:650; font-size:15.5px; color:var(--navy); }
.lr-q summary::-webkit-details-marker{ display:none; }
.lr-q summary span{ flex:0 0 auto; width:22px; height:22px; border-radius:50%; border:1px solid var(--line-2); position:relative; transition:transform .2s; }
.lr-q summary span::before, .lr-q summary span::after{ content:""; position:absolute; left:50%; top:50%; width:9px; height:1.5px; background:var(--navy); transform:translate(-50%,-50%); }
.lr-q summary span::after{ transform:translate(-50%,-50%) rotate(90deg); transition:opacity .2s; }
.lr-q[open] summary span::after{ opacity:0; }
.lr-q p{ margin:0 0 18px; font-size:15px; line-height:1.65; color:#4A5B67; }
.lr-end{ padding:64px 0; text-align:center; }
.lr-end h2{ color:#fff; font-size:clamp(22px,2.8vw,32px); font-weight:800; letter-spacing:-.02em; margin:0 auto 22px; max-width:24ch; }
.lr-end-links{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:26px; }
.lr-end-links a{ display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:999px; border:1px solid rgb(199 220 233 / .25); color:#fff; font-size:14px; font-weight:600; }
.lr-end-links a:hover{ border-color:var(--steel); background:rgb(199 220 233 / .08); }
.lr-end-links svg, .lr-end .hm-btn svg{ width:15px; height:15px; }
@media (max-width:900px){
  .lr-app, .lr-text-in{ grid-template-columns:1fr; }
  .lr-text-in{ gap:40px; }
}
@media (max-width:560px){
  .lr-in{ padding:18px 18px; }
  .lr-out{ padding:24px 20px; }
  .lr-step{ grid-template-columns:1fr; gap:6px; }
  .lr-kpis{ grid-template-columns:1fr; }
}
.lr-res small{ display:block; margin-top:6px; font-size:12.5px; color:#E6CCAA; }

/* ── Journal: Zwei-Spalten-Layout mit Seitenleiste (v.19) ─────────────── */
.post-top .pm-av--img{ display:block !important; width:30px; height:30px; border-radius:50%; object-fit:cover; background:none !important; border:1.5px solid rgb(199 220 233 / .45); }
.post-layout{ max-width:1180px; margin:0 auto; padding:0 28px; display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:64px; align-items:start; }
.post-layout .article{ margin:72px 0 0 !important; padding-left:0 !important; padding-right:0 !important; max-width:740px !important; }
.post-side{ margin-top:72px; display:flex; flex-direction:column; gap:18px; align-self:stretch; }
.post-side > *{ flex:0 0 auto !important; max-width:none !important; }
.ps-prod-img{ background:#fff !important; border:1px solid var(--line); }
.ps-card{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:20px; box-shadow:0 18px 40px -32px rgb(28 46 58 / .45); }
.ps-label{ display:block; font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); }
.ps-h{ margin:0 0 12px !important; padding:0 !important; border:0 !important; font-size:15px !important; font-weight:650 !important; letter-spacing:-.01em !important; color:var(--navy) !important; }
.ps-prod{ display:flex; flex-direction:column; gap:8px; }
.ps-prod-img{ display:grid; place-items:center; margin:6px 0 4px; padding:14px; border-radius:12px; background:var(--tint, #F2F7FA); }
.ps-prod-img img{ width:150px; height:150px; object-fit:contain; }
.ps-prod-name{ font-size:19px; font-weight:650; letter-spacing:-.02em; color:var(--navy); text-decoration:none; }
.ps-prod-meta{ font-size:13px; color:var(--ink-3); }
.ps-prod-price{ font-size:20px; font-weight:700; color:var(--navy); }
.ps-prod-price del{ font-size:14px; color:var(--ink-3); font-weight:500; }
.ps-prod-coa{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--steel-dk); }
.ps-prod-coa svg, .ps-trust svg{ width:18px; height:18px; flex:none; }
.ps-btn{ display:block; margin-top:6px; padding:13px 16px; border-radius:10px; background:var(--navy); color:#fff !important; text-align:center; font-weight:650; font-size:15px; text-decoration:none; transition:background .2s, transform .2s; }
.ps-btn:hover{ background:#0E1820; transform:translateY(-1px); }
.ps-more{ display:flex; flex-wrap:wrap; gap:4px 10px; font-size:12.5px; color:var(--ink-3); }
.ps-more a{ color:var(--steel-dk); text-decoration:none; border-bottom:1px solid rgb(76 122 152 / .35); }
.ps-ruo{ margin:4px 0 0 !important; font-size:11.5px !important; line-height:1.45 !important; color:var(--ink-3) !important; }
.ps-related ul{ list-style:none; margin:0; padding:0; }
.ps-related li + li{ border-top:1px solid var(--line); }
.ps-related li a{ display:block; padding:11px 0; text-decoration:none; }
.ps-rel-cat{ display:block; font-size:10.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); margin-bottom:3px; }
.ps-rel-title{ display:block; font-size:14.5px; line-height:1.35; font-weight:600; color:var(--navy); }
.ps-related li a:hover .ps-rel-title{ color:var(--steel-dk); }
.ps-link{ display:inline-block; margin-top:10px; font-size:13px; font-weight:600; color:var(--steel-dk); text-decoration:none; }
.ps-sticky{ position:sticky; top:96px; display:flex; flex-direction:column; gap:12px; }
.ps-trust ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.ps-trust li{ display:flex; gap:10px; align-items:flex-start; font-size:13px; line-height:1.45; color:var(--ink-2); }
.ps-trust li svg{ color:var(--steel-dk); margin-top:1px; }
.ps-trust strong{ display:block; color:var(--navy); font-size:13.5px; }
.ps-trust a{ color:var(--steel-dk); text-decoration:none; border-bottom:1px solid rgb(76 122 152 / .35); }
.ps-mini{ display:grid; grid-template-columns:44px 1fr auto; gap:12px; align-items:center; padding:10px 14px 10px 10px; border-radius:14px; background:#0E1820; color:#fff; text-decoration:none; box-shadow:0 18px 40px -26px rgb(28 46 58 / .7); }
.ps-mini-img img{ width:44px; height:44px; object-fit:contain; border-radius:8px; background:#fff; }
.ps-mini-txt strong{ display:block; font-size:13.5px; line-height:1.3; }
.ps-mini-txt span{ font-size:12.5px; color:rgb(230 238 244 / .75); }
.ps-mini-txt span *{ color:inherit !important; }
.ps-mini-go{ font-size:12.5px; font-weight:650; color:var(--steel); white-space:nowrap; }
@media (max-width:1080px){
  .post-layout{ grid-template-columns:minmax(0,1fr); gap:0; max-width:796px; }
  .post-side{ margin-top:48px; display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:16px; }
  .ps-sticky{ position:static; }
  .ps-mini{ display:none; }
}

/* Tabellen im Text: auf schmalen Screens waagerecht wischbar (v.21) */
.sp-table-scroll{ margin:2em 0; overflow-x:auto; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain;
  background:linear-gradient(90deg,#fff 30%,rgb(255 255 255 / 0)) left / 28px 100% no-repeat local,
             linear-gradient(270deg,#fff 30%,rgb(255 255 255 / 0)) right / 28px 100% no-repeat local,
             radial-gradient(farthest-side at 0 50%,rgb(28 46 58 / .16),transparent) left / 12px 100% no-repeat scroll,
             radial-gradient(farthest-side at 100% 50%,rgb(28 46 58 / .16),transparent) right / 12px 100% no-repeat scroll; }
.sp-table-scroll:focus-visible{ outline:2px solid var(--steel-dk); outline-offset:4px; }
.sp-table-scroll > table{ margin:0 !important; }
@media (max-width:760px){
  .sp-table-scroll > table{ min-width:600px; }
  .sp-table-scroll > table :is(th,td){ white-space:normal; min-width:110px; }
}
