/* ============================================================
   SUNPEPT — Clinical Lab (v1)
   Design-Schicht über main.css: reines Weiß, Tinte, ein Labor-Blau,
   1-px-Linien, kleine Radien, Mono-Labels, nummerierte Sektionen.
   ============================================================ */

:root{
  --cl-ink:    #1C2E3A;
  --cl-ink-2:  #45596A;
  --cl-ink-3:  #6E8292;
  --cl-line:   #E0E9EF;
  --cl-line-2: #C9D7E1;
  --cl-bg:     #FFFFFF;
  --cl-bg-2:   #F2F7FA;
  --cl-bg-3:   #E6EFF5;
  --cl-blue:   #4C7A98;
  --cl-steel:  #C7DCE9;
  --cl-navy-2: #132029;
  --cl-blue-t: #EAF2F7;
  --cl-ok:     #15803D;
  --cl-mono:   "Manrope", system-ui, sans-serif;
  --cl-r:      8px;
  --cl-r-lg:   12px;

  /* main.css-Tokens auf die neue Palette umlenken */
  --navy: var(--cl-ink);
  --ink: var(--cl-ink); --ink-2: var(--cl-ink-2); --ink-3: var(--cl-ink-3);
  --line: var(--cl-line); --line-2: var(--cl-line-2);
  --bg: var(--cl-bg); --surface: #fff; --surface-2: var(--cl-bg-2);
  --acc: var(--cl-ink); --acc-t: var(--cl-bg-2);
  --gold: var(--cl-steel); --gold-soft: var(--cl-blue-t); --gold-ink: var(--cl-blue);
  --radius: var(--cl-r-lg); --radius-lg: 14px; --radius-sm: 6px;
  --shadow-sm: none;
  --shadow: 0 1px 2px rgb(28 46 58 / .04), 0 8px 24px rgb(28 46 58 / .06);
  --shadow-lg: 0 2px 6px rgb(28 46 58 / .06), 0 24px 56px rgb(28 46 58 / .10);
}

/* ---------- Basis ---------- */
body{ background:var(--cl-bg); color:var(--cl-ink); font-size:16px; letter-spacing:-0.006em; }
h1,h2,h3,h4{ font-weight:650; letter-spacing:-0.028em; line-height:1.08; color:var(--cl-ink); }
.mono, .kicker, .badge, .mm-bar-label, .mm-col-desc, .mm-soon-badge, .d-section-head,
.ps-counter, .pc-meta, .s-lab, .cart-count{ font-family:var(--cl-mono) !important; }
.surf{ font-family:inherit; font-weight:inherit; letter-spacing:inherit; color:var(--cl-ink-3); }
::selection{ background:var(--cl-steel); color:var(--cl-ink); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible{
  outline:2px solid var(--cl-blue); outline-offset:2px; border-radius:4px;
}

/* Inhalte nie unsichtbar starten lassen */
[data-reveal]{ opacity:1 !important; transform:none !important; transition:none !important; }

/* Kicker / Labels */
.kicker, .cl-label{
  font-family:var(--cl-mono); font-size:11px; font-weight:500; letter-spacing:.12em;
  text-transform:uppercase; color:var(--cl-ink-3); display:inline-flex; align-items:center; gap:8px;
}
.kicker::before{ width:6px; height:6px; border-radius:1px; background:var(--cl-blue); }
.cl-sq{ width:6px; height:6px; border-radius:1px; background:var(--cl-blue); display:inline-block; }

/* ---------- Buttons ---------- */
.btn{ border-radius:var(--cl-r); font-weight:600; font-size:14.5px; padding:12px 20px; letter-spacing:-0.005em; box-shadow:none !important; transform:none !important; }
.btn svg{ width:16px; height:16px; }
.btn-lg{ padding:15px 24px; font-size:15px; }
.btn-primary, .btn-acc, .btn-navy{ background:var(--cl-ink) !important; color:#fff !important; border:1px solid var(--cl-ink); }
.btn-primary:hover, .btn-acc:hover, .btn-navy:hover{ background:var(--cl-navy-2) !important; border-color:var(--cl-navy-2); }
.btn-ghost{ background:#fff !important; color:var(--cl-ink) !important; border:1px solid var(--cl-line-2) !important; }
.btn-ghost:hover{ border-color:var(--cl-ink) !important; }

/* Badges / Chips */
.badge{ border-radius:4px; font-size:10.5px; font-weight:500; letter-spacing:.08em; padding:4px 8px; border:1px solid var(--cl-line); background:#fff; color:var(--cl-ink-2); }
.badge-line{ background:var(--cl-bg-2); border-color:var(--cl-line); color:var(--cl-ink-2); }
.badge-ruo{ background:#FFF8EB; border-color:#F1D9A8; color:#8A5A12; }
.chip, .cl-chip{ display:inline-flex; align-items:center; gap:5px; font-size:12.5px; font-weight:600; padding:4px 9px; border-radius:5px; background:#fff; border:1px solid var(--cl-line-2); color:var(--cl-ink); }
.chip--soon, .cl-chip.is-soon{ color:var(--cl-ink-3); border-style:dashed; background:transparent; }
.cl-chip small{ font-family:var(--cl-mono); font-size:9.5px; text-transform:uppercase; letter-spacing:.08em; font-weight:500; }
.dot-ok{ background:var(--cl-ok); }

/* ---------- Utility-Bar & Header ---------- */
.utility, .topbar, .announce{ background:var(--cl-ink) !important; color:#C9D2D9 !important; font-family:var(--cl-mono) !important; font-size:11px !important; letter-spacing:.06em; }
.header{ background:rgb(255 255 255 / .94); border-bottom:1px solid var(--cl-line); backdrop-filter:blur(12px); }
.header .wrap{ min-height:64px; }
.nav > a, .nav > .has-menu > button{ font-size:14px; font-weight:550; color:var(--cl-ink-2); border-radius:6px; padding:8px 12px; }
.nav > a:hover, .nav > .has-menu > button:hover{ background:var(--cl-bg-2); color:var(--cl-ink); }
.icon-btn{ border-radius:8px; width:40px; height:40px; color:var(--cl-ink); }
.icon-btn svg{ width:20px; height:20px; stroke-width:1.7; }
.cart-count{ background:var(--cl-steel) !important; color:var(--cl-ink) !important; font-size:9.5px; }
.megamenu{ border-radius:var(--cl-r-lg); border-color:var(--cl-line); box-shadow:var(--shadow-lg); }
.mm-col-title{ font-weight:650; font-size:19px; }
.mm-link{ border-radius:6px; }

/* ---------- Layout-Bausteine ---------- */
.section{ padding:88px 0; }
.section-head h2{ font-size:clamp(28px,3.4vw,40px); }
.section-head p{ font-size:16.5px; color:var(--cl-ink-2); }

.cl-sec{ padding:96px 0; border-top:1px solid var(--cl-line); }
.cl-sec--alt{ background:var(--cl-bg-2); }
.cl-sec-head{ display:grid; grid-template-columns:56px 1fr auto; align-items:end; gap:20px 24px; margin-bottom:40px; }
.cl-sec-head--stack{ grid-template-columns:56px 1fr; align-items:start; }
.cl-sec-head h2{ font-size:clamp(28px,3.3vw,42px); margin-top:10px; max-width:24ch; }
.cl-idx{ font-family:var(--cl-mono); font-size:13px; color:var(--cl-blue); border-top:2px solid var(--cl-blue); padding-top:8px; align-self:start; }
.cl-sec-lead{ color:var(--cl-ink-2); font-size:15.5px; max-width:42ch; margin:0; }
.cl-sec-lead a{ color:var(--cl-blue); font-weight:600; }
.cl-more{ font-weight:600; font-size:14.5px; color:var(--cl-ink); border-bottom:1px solid var(--cl-ink); padding-bottom:2px; white-space:nowrap; }
.cl-more:hover{ color:var(--cl-blue); border-color:var(--cl-blue); }

/* ---------- Hero ---------- */
.cl-hero{ padding:72px 0 0; background:#fff; position:relative; }
.cl-hero::before{ content:""; position:absolute; inset:0 0 auto 0; height:100%; pointer-events:none;
  background-image:linear-gradient(var(--cl-line) 1px, transparent 1px), linear-gradient(90deg, var(--cl-line) 1px, transparent 1px);
  background-size:48px 48px; opacity:.45; mask-image:linear-gradient(180deg, #000 0%, transparent 85%); -webkit-mask-image:linear-gradient(180deg, #000 0%, transparent 85%); }
.cl-hero-grid{ position:relative; display:grid; grid-template-columns:1.05fr 1fr; gap:56px; align-items:center; }
.cl-hero h1{ font-size:clamp(40px,5.4vw,72px); font-weight:650; letter-spacing:-0.04em; line-height:1.0; margin:22px 0 22px; }
.cl-hero h1 span{ display:block; color:var(--cl-ink-3); }
.cl-hero-sub{ font-size:18px; line-height:1.6; color:var(--cl-ink-2); max-width:48ch; }
.cl-hero-cta{ display:flex; gap:10px; flex-wrap:wrap; margin-top:32px; }
.cl-plate{ margin:0; position:relative; aspect-ratio:5/4; background:var(--cl-bg-2); border:1px solid var(--cl-line); border-radius:var(--cl-r-lg); display:grid; place-items:center; overflow:hidden; }
.cl-plate::before{ content:""; position:absolute; inset:0;
  background-image:radial-gradient(circle, var(--cl-line-2) 1px, transparent 1.2px); background-size:20px 20px; opacity:.7; }
.cl-plate img{ position:relative; width:88%; height:auto; filter:drop-shadow(0 24px 30px rgb(28 46 58 / .16)); }
.cl-plate-tag{ position:absolute; z-index:1; font-family:var(--cl-mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--cl-ink-3); }
.cl-tl{ top:16px; left:18px; } .cl-tr{ top:16px; right:18px; color:#8A5A12; }
.cl-bl{ bottom:16px; left:18px; } .cl-br{ bottom:16px; right:18px; }
.cl-facts{ position:relative; display:grid; grid-template-columns:repeat(4,1fr); margin:64px 0 0; border:1px solid var(--cl-line); border-radius:var(--cl-r-lg); background:#fff; }
.cl-facts > div{ padding:20px 22px; border-left:1px solid var(--cl-line); }
.cl-facts > div:first-child{ border-left:0; }
.cl-facts dt{ font-family:var(--cl-mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--cl-ink-3); }
.cl-facts dd{ margin:8px 0 0; font-size:19px; font-weight:650; letter-spacing:-0.02em; }
.cl-facts dd.cl-facts-sub{ margin-top:4px; font-size:13px; font-weight:500; color:var(--cl-ink-3); letter-spacing:0; }
.cl-home > .cl-sec:first-of-type{ border-top:0; }
.cl-hero + .cl-sec{ border-top:0; padding-top:96px; }

/* ---------- Produktkarten (global) ---------- */
.prod-grid{ gap:16px; }
.cl-prod-grid{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); }
.prod-card{ background:#fff !important; border:1px solid var(--cl-line) !important; border-radius:var(--cl-r-lg) !important; box-shadow:none !important; padding:10px 10px 16px !important; transition:border-color .15s !important; transform:none !important; display:flex; flex-direction:column; }
.prod-card:hover{ border-color:var(--cl-ink) !important; }
.prod-card .pc-link{ display:flex; flex-direction:column; flex:1; }
.prod-card .pc-img{ background:var(--cl-bg-2) !important; border:0 !important; border-radius:var(--cl-r) !important; aspect-ratio:1/1; margin:0 0 14px !important; position:relative; overflow:hidden; display:grid; place-items:center; }
.prod-card .pc-img img{ width:84% !important; height:84% !important; object-fit:contain !important; mix-blend-mode:multiply; }
.prod-card .pc-line{ display:none !important; position:absolute; top:8px; left:8px; z-index:2; font-size:9.5px; max-width:calc(100% - 16px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.prod-card .pc-stock{ display:none; }
.prod-card h3{ font-size:15.5px !important; font-weight:650 !important; letter-spacing:-0.015em; text-align:left !important; margin:0 8px !important; line-height:1.25; }
.prod-card .pc-out{ text-align:left !important; font-size:12.5px !important; color:var(--cl-ink-3) !important; margin:6px 8px 0 !important; line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.prod-card .pc-meta{ text-align:left !important; font-size:10.5px !important; letter-spacing:.08em; text-transform:uppercase; color:var(--cl-ink-3) !important; margin:10px 8px 0 !important; }
.prod-card .pc-foot{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin:14px 8px 2px !important; width:auto !important; box-sizing:border-box; padding-top:12px; border-top:1px solid var(--cl-line); }
.prod-card .price{ font-size:16px !important; font-weight:700 !important; color:var(--cl-ink) !important; letter-spacing:-0.02em; }
.prod-card .price small, .prod-card .price .from{ font-family:var(--cl-mono); font-size:10.5px; color:var(--cl-ink-3); font-weight:500; }
.prod-card .pc-foot .btn{ padding:9px 14px !important; font-size:12.5px !important; font-weight:650 !important; background:var(--navy, #1C2E3A) !important; color:#fff !important; border:1px solid var(--navy, #1C2E3A) !important; box-shadow:0 8px 18px -12px rgb(28 46 58 / .7) !important; }
.prod-card .pc-foot .btn:hover, .prod-card .pc-foot .btn:focus-visible{ background:var(--steel-dk, #4C7A98) !important; color:#fff !important; border-color:var(--steel-dk, #4C7A98) !important; }

/* ---------- Forschungsgebiete (Liste) ---------- */
.cl-areas{ list-style:none; margin:0; padding:0; border-top:1px solid var(--cl-line-2); }
.cl-areas li{ border-bottom:1px solid var(--cl-line-2); }
.cl-area{ display:grid; grid-template-columns:56px 1.1fr 1.4fr 1.2fr 32px; gap:24px; align-items:center; padding:22px 0; color:var(--cl-ink); transition:background .15s, padding .15s; }
a.cl-area:hover{ background:#fff; padding-left:12px; padding-right:12px; }
.cl-area-n{ font-size:12.5px; color:var(--cl-ink-3); }
.cl-area-name{ font-size:20px; font-weight:650; letter-spacing:-0.02em; }
.cl-area-desc{ font-size:14px; color:var(--cl-ink-2); }
.cl-area-subs{ display:flex; flex-wrap:wrap; gap:6px; }
.cl-area-go{ font-size:18px; text-align:right; color:var(--cl-ink-3); }
a.cl-area:hover .cl-area-go{ color:var(--cl-blue); }
.cl-area.is-soon .cl-area-name, .cl-area.is-soon .cl-area-desc{ color:var(--cl-ink-3); }

/* ---------- Dokumentation ---------- */
.cl-doc{ display:grid; grid-template-columns:1fr 1.15fr; gap:72px; align-items:start; }
.cl-doc .cl-sec-head{ margin-bottom:24px; }
.cl-doc-lead{ font-size:16.5px; color:var(--cl-ink-2); line-height:1.65; margin:0 0 28px 80px; max-width:46ch; }
.cl-doc .btn{ margin-left:80px; }
.cl-spec{ margin:0; border-top:1px solid var(--cl-ink); }
.cl-spec > div{ display:grid; grid-template-columns:150px 1fr; gap:20px; padding:16px 0; border-bottom:1px solid var(--cl-line); }
.cl-spec dt{ font-family:var(--cl-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--cl-ink-3); padding-top:3px; }
.cl-spec dd{ margin:0; font-size:15.5px; font-weight:550; color:var(--cl-ink); }

/* ---------- Journal-Liste ---------- */
.cl-journal{ list-style:none; margin:0; padding:0; border-top:1px solid var(--cl-line-2); }
.cl-journal li{ border-bottom:1px solid var(--cl-line-2); }
.cl-journal a{ display:grid; grid-template-columns:110px 1fr 260px; gap:24px; align-items:baseline; padding:22px 0; }
.cl-j-meta, .cl-j-cat{ font-size:11.5px; letter-spacing:.06em; color:var(--cl-ink-3); text-transform:uppercase; }
.cl-j-cat{ text-align:right; }
.cl-j-title{ font-size:19px; font-weight:600; letter-spacing:-0.015em; line-height:1.3; }
.cl-journal a:hover .cl-j-title{ color:var(--cl-blue); }

/* ---------- FAQ / Akkordeon (global) ---------- */
.cl-faq{ display:grid; grid-template-columns:1fr 1.5fr; gap:72px; align-items:start; }
.cl-faq .cl-sec-head{ margin:0; }
.cl-faq .cl-sec-lead{ margin-top:16px; }
.acc{ border:0 !important; border-bottom:1px solid var(--cl-line-2) !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; margin:0 !important; }
.faq-wrap{ border-top:1px solid var(--cl-ink); }
.acc-head{ padding:20px 0 !important; font-size:16.5px !important; font-weight:600 !important; color:var(--cl-ink) !important; background:transparent !important; }
.acc-head:hover{ color:var(--cl-blue) !important; }
.acc-ic{ border-radius:4px !important; background:var(--cl-bg-2) !important; }
.acc.open .acc-ic{ background:var(--cl-ink) !important; }
.acc-body p{ padding:0 0 22px !important; color:var(--cl-ink-2); font-size:15px; line-height:1.65; }

/* ---------- Breadcrumb ---------- */
.breadcrumb, .sp-breadcrumb{ font-family:var(--cl-mono) !important; font-size:11.5px !important; letter-spacing:.04em; color:var(--cl-ink-3) !important; }

/* ---------- Produktseite ---------- */
.pdp{ gap:56px !important; }
.gallery-main{ background:var(--cl-bg-2) !important; border:1px solid var(--cl-line) !important; border-radius:var(--cl-r-lg) !important; box-shadow:none !important; }
.gallery-main .g-view, .gallery-main .g-view[data-view="product"]{ background:transparent !important; }
.gallery-main img{ mix-blend-mode:multiply; }
.g-thumb{ border-radius:var(--cl-r) !important; border:1px solid var(--cl-line) !important; background:var(--cl-bg-2) !important; box-shadow:none !important; }
.g-thumb.active{ border-color:var(--cl-ink) !important; }
.pdp-info h1{ font-size:clamp(32px,3.4vw,46px) !important; font-weight:650 !important; letter-spacing:-0.035em !important; }
.pdp-info .pi-sub{ font-size:15.5px !important; color:var(--cl-ink-2) !important; line-height:1.65; }
.pi-price-top .ppt-price{ font-weight:700; letter-spacing:-0.03em; }
.pi-price-top .ppt-note{ font-family:var(--cl-mono); font-size:11px !important; color:var(--cl-ink-3) !important; }
.pi-stats{ gap:0 !important; border:1px solid var(--cl-line); border-radius:var(--cl-r-lg); overflow:hidden; background:#fff; }
.pi-stat{ border:0 !important; border-left:1px solid var(--cl-line) !important; border-radius:0 !important; background:#fff !important; box-shadow:none !important; padding:14px 16px !important; }
.pi-stat:first-child{ border-left:0 !important; }
.pi-stat .s-lab{ font-size:10px !important; letter-spacing:.1em; color:var(--cl-ink-3) !important; }
.pi-stat .s-val{ font-size:15px !important; font-weight:650 !important; }
.pi-buy{ border:1px solid var(--cl-ink) !important; border-radius:var(--cl-r-lg) !important; background:#fff !important; box-shadow:none !important; }
.pi-buy .single_add_to_cart_button{ background:var(--cl-ink) !important; color:#fff !important; border-radius:var(--cl-r) !important; box-shadow:none !important; font-weight:600 !important; }
.pi-buy .single_add_to_cart_button:hover{ background:var(--cl-navy-2) !important; }
.pi-buy .single_add_to_cart_button.disabled{ background:var(--cl-bg-3) !important; color:var(--cl-ink-3) !important; }
.pi-buy .quantity .qty, .pi-buy .variations select{ border-radius:var(--cl-r) !important; border:1px solid var(--cl-line-2) !important; }
.sp-pills .variant{ border-radius:var(--cl-r) !important; border:1px solid var(--cl-line-2) !important; background:#fff !important; box-shadow:none !important; }
.sp-pills .variant.sel{ border-color:var(--cl-ink) !important; box-shadow:inset 0 0 0 1px var(--cl-ink) !important; }
.pi-trust a, .pi-trust div{ border-radius:var(--cl-r) !important; border:1px solid var(--cl-line) !important; background:#fff !important; box-shadow:none !important; }
.pi-trust .pt-ic{ background:var(--cl-bg-2) !important; color:var(--cl-ink) !important; border-radius:6px !important; }
.pi-coa{ border-radius:var(--cl-r-lg) !important; border:1px solid var(--cl-line) !important; background:var(--cl-bg-2) !important; box-shadow:none !important; }
.ruo-box, .research-note{ border-radius:var(--cl-r) !important; }
.tab-bar{ border-bottom:1px solid var(--cl-line) !important; gap:4px; }
.tab-bar button{ border-radius:0 !important; background:transparent !important; font-weight:600; color:var(--cl-ink-3) !important; border-bottom:2px solid transparent !important; }
.tab-bar button.active{ color:var(--cl-ink) !important; border-bottom-color:var(--cl-ink) !important; }
.spec-table td:first-child{ font-family:var(--cl-mono); font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--cl-ink-3); }
.sp-sticky-atc{ border-top:1px solid var(--cl-line) !important; box-shadow:0 -8px 24px rgb(28 46 58 / .08) !important; }
.sp-sticky-atc .ssa-btn{ background:var(--cl-ink) !important; color:#fff !important; border-radius:var(--cl-r) !important; }

/* ---------- Shop & Kategorie ---------- */
.shop-hero, .cat-hero, .wc-page-head{ background:#fff !important; border-bottom:1px solid var(--cl-line); }
.shop-hero h1, .cat-hero h1, .wc-page-head h1{ font-weight:650 !important; letter-spacing:-0.035em !important; }
.shop-trust, .sp-trust-bar{ background:var(--cl-bg-2) !important; border-top:1px solid var(--cl-line); border-bottom:1px solid var(--cl-line); }
.shop-tab, .shop-filter-toggle, .ps-tab{ border-radius:6px !important; }
.shop-tab.active, .ps-tab.active{ background:var(--cl-ink) !important; border-color:var(--cl-ink) !important; color:#fff !important; }
.cat-hero-card, .sp-mech-card, .sp-paper-card, .sp-journal-card, .sp-stat-chip, .sp-cta-banner, .journal-card{
  border-radius:var(--cl-r-lg) !important; box-shadow:none !important; border:1px solid var(--cl-line) !important; }
.sp-cta-banner{ background:var(--cl-ink) !important; }
.sunset .ocean, .sunset .sun-glow{ display:none !important; }
.sunset{ background:var(--cl-bg-2) !important; }

/* ---------- Footer ---------- */
.footer{ background:var(--cl-ink) !important; }
.footer h5{ font-family:var(--cl-mono) !important; letter-spacing:.12em; }
.footer-ruo{ font-family:var(--cl-mono); }

/* ---------- Formulare (Cart / Checkout) ---------- */
.woocommerce form .input-text, .woocommerce form select, .woocommerce-checkout input.input-text, .select2-container .select2-selection{ border-radius:var(--cl-r) !important; }
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, #place_order, .checkout-button{ border-radius:var(--cl-r) !important; box-shadow:none !important; }
#place_order, .checkout-button, .woocommerce a.button.alt, .woocommerce button.button.alt{ background:var(--cl-ink) !important; color:#fff !important; }
#place_order:hover, .checkout-button:hover{ background:var(--cl-navy-2) !important; }

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .cl-prod-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:980px){
  .cl-hero{ padding-top:40px; }
  .cl-hero-grid{ grid-template-columns:1fr; gap:32px; }
  .cl-facts{ grid-template-columns:repeat(2,1fr); margin-top:40px; }
  .cl-facts > div:nth-child(3){ border-left:0; }
  .cl-facts > div:nth-child(n+3){ border-top:1px solid var(--cl-line); }
  .cl-prod-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .cl-area{ grid-template-columns:40px 1fr 24px; gap:6px 16px; }
  .cl-area-desc, .cl-area-subs{ grid-column:2 / 3; }
  .cl-area-go{ grid-row:1; grid-column:3; }
  .cl-doc, .cl-faq{ grid-template-columns:1fr; gap:40px; }
  .cl-doc-lead, .cl-doc .btn{ margin-left:0; }
  .cl-journal a{ grid-template-columns:1fr; gap:6px; }
  .cl-j-cat{ text-align:left; }
}
@media (max-width:640px){
  .cl-sec{ padding:64px 0; }
  .cl-hero + .cl-sec{ padding-top:64px; }
  .cl-sec-head{ grid-template-columns:1fr; gap:12px; margin-bottom:28px; }
  .cl-sec-head--stack{ grid-template-columns:1fr; }
  .cl-idx{ width:36px; }
  .cl-more{ justify-self:start; }
  .cl-hero h1{ font-size:40px; }
  .cl-hero-sub{ font-size:16px; }
  .cl-hero-cta .btn{ flex:1 1 100%; }
  .cl-facts > div{ padding:16px; }
  .cl-facts dd{ font-size:17px; }
  .cl-prod-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .prod-card{ padding:8px 8px 12px !important; }
  .prod-card h3{ font-size:14px !important; margin:0 4px !important; }
  .prod-card .pc-out{ display:none; }
  .prod-card .pc-meta{ margin:6px 4px 0 !important; }
  .prod-card .pc-foot{ flex-direction:column; align-items:stretch; margin:10px 4px 2px !important; width:auto !important; }
  .prod-card .pc-foot .btn{ width:100%; }
  .cl-area-name{ font-size:17px; }
  .cl-spec > div{ grid-template-columns:1fr; gap:4px; }
  .cl-j-title{ font-size:17px; }
  .pi-stats{ flex-wrap:wrap; }
}

/* ---------- v1.1 Korrekturen ---------- */
.prod-card, .prod-card .pc-link{ align-items:stretch !important; text-align:left !important; }
.shop-grid{ grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:16px !important; }
@media (max-width:1100px){ .shop-grid{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; } }
@media (max-width:900px){ .shop-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; } }

/* Kategorie-Seiten: einheitlicher Akzent statt Gebietsfarben */
html:root{ --cat-accent: var(--cl-blue) !important; }
.cat-hero::before, .cat-hero::after{ display:none !important; }
.cat-hero .chip, .cat-hero-chips span{ font-family:var(--cl-mono); font-size:11px; border-radius:4px; }
.cat-hero-card{ background:#fff !important; }
.cat-hero-card-img{ background:var(--cl-bg-2) !important; border-radius:var(--cl-r) !important; }
.cat-hero-card-cta{ background:var(--cl-ink) !important; color:#fff !important; border-radius:6px !important; }
.sp-breadcrumb a{ color:var(--cl-ink-2) !important; }
.sp-stat-chip{ background:#fff !important; }
.sp-stat-chip-val{ color:var(--cl-ink) !important; }
.sp-mech-icon{ background:var(--cl-bg-2) !important; color:var(--cl-blue) !important; border-radius:6px !important; }
.sp-section .kicker, .sp-section-head .kicker{ color:var(--cl-ink-3) !important; }
.prod-card-img{ background:var(--cl-bg-2) !important; border-radius:var(--cl-r) !important; margin:10px 10px 0; }
.prod-card-img img{ mix-blend-mode:multiply; padding:8%; }
.prod-card-body{ padding:16px !important; }
.prod-card-badges .badge{ background:var(--cl-bg-2) !important; color:var(--cl-ink-2) !important; border:1px solid var(--cl-line) !important; }
.prod-card-footer .btn{ padding:8px 12px !important; font-size:12.5px !important; }
.sp-legal-note, .sp-ruo-note{ border-radius:var(--cl-r) !important; }
/* Quickview: dezent, nur mit Maus */
.qv-btn{ left:auto !important; right:8px; bottom:8px !important; transform:translateY(4px) !important; border-radius:6px !important; background:#fff !important; color:var(--cl-ink) !important; border:1px solid var(--cl-line-2) !important; box-shadow:none !important; backdrop-filter:none !important; font-family:var(--cl-mono) !important; font-weight:500 !important; font-size:11px !important; letter-spacing:.06em; text-transform:uppercase; padding:7px 10px !important; }
.qv-btn:hover{ background:var(--cl-ink) !important; color:#fff !important; border-color:var(--cl-ink) !important; }
.prod-card:hover .qv-btn{ transform:none !important; }
@media (hover:none){ .qv-btn{ display:none !important; } }
/* Keine Monospace-Schrift: „Space Mono" global auf Manrope umbiegen (gleicher Familienname, spätere Deklaration gewinnt) */
@font-face{ font-family:'Space Mono'; font-style:normal; font-weight:200 800; font-display:swap; src:url(../fonts/Manrope-latin-ext-76dcfc.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:'Space Mono'; font-style:normal; font-weight:200 800; font-display:swap; src:url(../fonts/Manrope-latin-814019.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; }
code, kbd, samp{ font-family:'Manrope', system-ui, sans-serif; font-variant-numeric:tabular-nums; }
