/* rmd-kadence-child/assets/css/components.css
   Styling der Basis-Komponenten. NUR Tokens aus tokens.css - keine Roh-Werte, keine Magic Numbers.
   Breakpoints (dokumentiert, da CSS-Vars in @media nicht moeglich): Tablet 1024px, Mobile 767px. */

/* ===== Globale Basis (Design-System) ===== */
body{font-family:var(--font-body);color:var(--color-text);line-height:var(--lh-normal);background:var(--color-page)}
/* Fliesstext-Links: dunkelgrau statt Kadence-Blau. 'body a' (Spezifitaet 0,1,1) schlaegt Kadences
   'a'/'a:hover'; Chrome (Nav/Footer/Buttons) nutzt klassenbasierte Selektoren und bleibt unberuehrt. */
body a{color:var(--color-link)}
body a:hover,body a:focus{color:var(--color-link-hover)}

/* ===== Layout-Grundlagen ===== */
.rmd-container{max-width:var(--container);margin:0 auto;padding-left:var(--space-6);padding-right:var(--space-6)}
.rmd-container.is-wide{max-width:var(--container-wide)}
.rmd-container.is-narrow{max-width:var(--container-narrow)}

.rmd-c-section--bg-alt{background:var(--color-surface)}
.rmd-c-section--bg-dark{background:var(--color-text);color:var(--color-bg)}
.rmd-c-section--bg-dark h1,.rmd-c-section--bg-dark h2,.rmd-c-section--bg-dark h3{color:var(--color-bg)}
/* Sektions-Rhythmus (Bauregel 6): default = --space-section. Weissraum ist das Wertigkeits-
   Signal. 'sm' bleibt fuer Baender/Zwischenstuecke, die bewusst keine volle Sektion sind. */
.rmd-c-section--pad-default{padding-top:var(--space-section);padding-bottom:var(--space-section)}
.rmd-c-section--pad-lg{padding-top:var(--space-section);padding-bottom:var(--space-section)}
.rmd-c-section--pad-sm{padding-top:var(--space-12);padding-bottom:var(--space-12)}
.rmd-c-section--pad-xl{padding-top:calc(var(--space-section) + var(--space-8));padding-bottom:calc(var(--space-section) + var(--space-8))}

.rmd-c-eyebrow{font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}
.rmd-c-eyebrow::before{content:"";width:var(--space-6);height:3px;background:var(--color-signal);border-radius:2px}

/* ===== Button =====
   Varianten: primary (gelb, DER eine Signal-Traeger) | ghost (Haarlinien-Rand statt schwarzem
   Kasten) | dark (dunkle Flaeche, Sekundaer-CTA) | text (Inline-Link mit gelbem Strich).
   'secondary' (schwarzer Rahmen) und 'neutral' (graue Flaeche) sind ersatzlos entfallen -
   siehe design-system.md, Bauregeln. */
.rmd-c-btn{font-family:var(--font-head);font-weight:var(--fw-bold);font-size:var(--fs-base);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--btn-height);padding:0 var(--space-6);border-radius:var(--radius-pill);border:1.5px solid transparent;box-sizing:border-box;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s,border-color .15s;line-height:1}
.rmd-c-btn svg,.rmd-c-btn .rmd-icon{width:16px;height:16px;stroke:currentColor;fill:none;transition:transform .18s ease}
/* Globales Button-Design: das (Pfeil-)Icon wandert beim Hover nach rechts. Gilt fuer jeden
   .rmd-c-btn mit Icon - der btn-Block setzt den Pfeil automatisch (ausser Warenkorb, s. btn.php). */
.rmd-c-btn:hover svg,.rmd-c-btn:hover .rmd-icon{transform:translateX(3px)}
@media(prefers-reduced-motion:reduce){.rmd-c-btn svg,.rmd-c-btn .rmd-icon{transition:none}.rmd-c-btn:hover svg,.rmd-c-btn:hover .rmd-icon{transform:none}}
/* WICHTIG: jede :hover-Regel MUSS die Textfarbe mitsetzen. Sonst greift body a:hover
   (Spezifitaet 0-1-2) und faerbt den Button-Text grau (--color-link-hover) - beim dunklen
   Button weisser Text -> grau auf dunkel, der "schlimme" Hover. Variante:hover ist 0-2-0
   und schlaegt body a:hover. */
.rmd-c-btn--primary{background:var(--color-signal);color:var(--color-on-signal);box-shadow:var(--shadow-cta)}
.rmd-c-btn--primary:hover{background:var(--color-signal-hover);color:var(--color-on-signal)}
.rmd-c-btn--ghost{background:transparent;color:var(--color-headline);border-color:var(--color-hairline)}
.rmd-c-btn--ghost:hover{border-color:var(--color-headline);color:var(--color-headline);background:var(--color-surface)}
.rmd-c-btn--dark{background:var(--btn-dark-bg);color:var(--btn-dark-text)}
.rmd-c-btn--dark:hover{background:var(--btn-dark-bg-hover);color:var(--btn-dark-text)}
/* secondary: weisse Flaeche, schwarzer Rand, schwarze Schrift (klare Sekundaer-Aktion neben dem
   gelben Primaer-CTA). Hover invertiert (schwarze Flaeche, weisse Schrift). */
.rmd-c-btn--secondary{background:var(--color-bg);color:var(--color-headline);border-color:var(--color-headline)}
.rmd-c-btn--secondary:hover{background:var(--color-headline);color:var(--color-bg);border-color:var(--color-headline)}
/* text: kein Button-Koerper, nur Label + gelber Strich darunter (Bauregel 4) */
.rmd-c-btn--text{height:auto;padding:0;border:none;border-radius:0;background:transparent;color:var(--color-headline);position:relative}
.rmd-c-btn--text::after{content:"";position:absolute;left:0;right:var(--space-6);bottom:-4px;height:3px;background:var(--color-signal);border-radius:2px;transition:right .18s}
/* Hover: Farbe halten (sonst greift body a:hover) + der gelbe Strich zieht bis unters Wortende */
.rmd-c-btn--text:hover{background:transparent;color:var(--color-headline)}
.rmd-c-btn--text:hover::after{right:0}
.rmd-c-btn[disabled],.rmd-c-btn.is-disabled{opacity:.4;pointer-events:none}
.rmd-c-btn:focus-visible{outline:2px solid var(--color-headline);outline-offset:2px}
/* Ghost auf dunklem Panel: Haarlinie umdrehen, sonst ist der Rand unsichtbar */
.rmd-c-section--bg-dark .rmd-c-btn--ghost,.rmd-c-cta .rmd-c-btn--ghost,.rmd-c-faq .rmd-c-btn--ghost{border-color:var(--color-hairline-dark);color:var(--color-on-dark)}
.rmd-c-section--bg-dark .rmd-c-btn--ghost:hover,.rmd-c-cta .rmd-c-btn--ghost:hover,.rmd-c-faq .rmd-c-btn--ghost:hover{border-color:var(--color-on-dark);color:var(--color-on-dark);background:transparent}

/* Lade-Zustand fuer Warenkorb-Buttons (WC setzt .loading beim AJAX-Add; PDP via header.js).
   Text verschwindet, ein Spinner dreht - der Kunde sieht sofort, dass etwas passiert. */
.add_to_cart_button.loading,.single_add_to_cart_button.loading,.rmd-c-btn.loading{color:transparent!important;pointer-events:none;position:relative}
.add_to_cart_button.loading::after,.single_add_to_cart_button.loading::after,.rmd-c-btn.loading::after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid rgba(13,16,18,.25);border-top-color:var(--color-on-signal);border-radius:var(--radius-pill);animation:rmd-spin .7s linear infinite}
@keyframes rmd-spin{to{transform:rotate(360deg)}}

/* ===== Icon: rohes Inline-SVG (Helper rmd_icon) - Groesse via font-size, Farbe via currentColor ===== */
.rmd-icon{width:1em;height:1em;display:inline-block;vertical-align:-.125em;flex:0 0 auto}

/* ===== Icon (Bauregel 3) =====
   BREAKING: war eine gerahmte Kachel auf Signal-Soft (44px Container um das SVG). Ist jetzt eine
   Klasse AUF dem SVG - duenne Outline, keine Kachel, Farbe ueber currentColor. Wer die Kachel
   sucht: sie ist ersatzlos weg, das war der Punkt. rmd_icon() bleibt unveraendert. */
.rmd-c-icon{stroke:currentColor;fill:none;stroke-width:1.4;display:block;flex:0 0 auto;color:var(--color-headline)}
.rmd-c-icon--sm{width:20px;height:20px;flex-basis:20px}
.rmd-c-icon--md{width:26px;height:26px;flex-basis:26px}
.rmd-c-icon--lg{width:34px;height:34px;flex-basis:34px}

/* ===== Mark: gelbe Unterstreichung EINES Wortes in der Headline (Bauregel 4) =====
   Der einzige zulaessige Gelb-Einsatz in einer Headline. Liegt per z-index HINTER dem Text,
   nicht dahinter als Flaeche - das Wort bleibt schwarz und lesbar. */
.rmd-c-mark{position:relative;display:inline-block;z-index:0}
.rmd-c-mark::after{content:"";position:absolute;left:-2px;right:-2px;bottom:.08em;height:.32em;background:var(--color-signal);border-radius:2px;z-index:-1}

/* ===== Badge ===== */
.rmd-c-badge{font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-bold);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);display:inline-block;line-height:1.4}
.rmd-c-badge--signal{background:var(--color-signal);color:var(--color-headline)}
.rmd-c-badge--dark{background:var(--color-headline);color:var(--color-bg)}
.rmd-c-badge--soft{background:var(--color-signal-soft);color:var(--color-on-signal)}
/* 'line' war ein umrandeter Badge - Rahmen raus, Flaeche rein (Bauregel 1). Name bleibt,
   damit keine Aufrufstelle bricht; 'quiet' ist der sprechende Alias fuer denselben Stil. */
.rmd-c-badge--line,.rmd-c-badge--quiet{background:var(--color-surface);color:var(--color-text-muted)}

/* ===== Rating ===== */
.rmd-c-rating{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}
.rmd-c-rating__stars{color:var(--color-star);font-size:var(--fs-md);letter-spacing:1px}
.rmd-c-rating__txt{font-size:var(--fs-sm);color:var(--color-text-muted)}
.rmd-c-rating__txt b{color:var(--color-text)}
/* Rating als Link zur Reviews-Section (PDP): klickbar, aber KEINE Unterstreichung/Farbaenderung (Kundenwunsch). */
.rmd-c-rating--link,.rmd-c-rating--link:hover,.rmd-c-rating--link:focus{text-decoration:none;color:inherit;cursor:pointer}
.rmd-c-rating--link:focus-visible{outline:2px solid var(--color-signal);outline-offset:3px;border-radius:4px}
/* Reviews-Section: Sticky-Header-Offset fuer den Anker + kompaktere Abstaende (Kundenwunsch: weniger
   White-Space nach oben/unten). Statt der grossen Sektions-Padding (112px) hier 40px, und die direkt
   folgende Section (Extra-Content) bekommt oben ebenfalls nur 40px. */
.rmd-c-reviews-anchor{scroll-margin-top:calc(var(--rmd-header-h,72px) + var(--space-6));padding-top:var(--space-10);padding-bottom:var(--space-16)}
.rmd-c-reviews-anchor + .rmd-c-section{padding-top:var(--space-10)}
/* Mobil bleibt der Abstand nach unten kompakter (nur Desktop soll luftiger zum Extra-Content sein). */
@media(max-width:767px){.rmd-c-reviews-anchor{padding-bottom:var(--space-10)}}

/* ===== USP-Liste ===== */
.rmd-c-usps{list-style:none;margin:0 0 var(--space-6);padding:0;max-width:480px;display:flex;flex-direction:column;gap:0}
.rmd-c-usps li{display:flex;align-items:center;gap:var(--space-3);font-size:var(--fs-sm);font-weight:var(--fw-regular);padding:var(--space-4) 0;border-top:1px solid var(--color-hairline)}
.rmd-c-usps li:last-child{border-bottom:1px solid var(--color-hairline)}
.rmd-c-usps__ico{flex:0 0 18px;width:18px;height:18px;display:flex;align-items:center;justify-content:center}
.rmd-c-usps__ico svg,.rmd-c-usps__ico .rmd-icon{width:18px;height:18px;stroke:var(--color-headline);stroke-width:2.2;fill:none}

/* ===== Card (Bauregel 1: Flaeche statt Rahmen) ===== */
.rmd-c-card{background:var(--color-surface);border-radius:var(--radius-card)}
.rmd-c-card--dark{background:var(--color-dark);color:var(--color-on-dark-muted)}
.rmd-c-card--dark h3,.rmd-c-card--dark h4{color:var(--color-on-dark)}
.rmd-c-card--pad-default{padding:var(--space-6)}
.rmd-c-card--pad-sm{padding:var(--space-4)}
.rmd-c-card--pad-lg{padding:var(--space-8)}
.rmd-c-card--shadow{box-shadow:var(--shadow-md)}

/* ===== Quote (Kundenstimme) =====
   Ein Kundenzitat ist eine AUSSAGE, kein Kleingedrucktes: gross in Montserrat 600, schwarz.
   Kein Kasten, kein gelber Balken links - der Autor traegt den kurzen gelben Strich. */
/* Kachel (Bauregel 1: Flaeche statt Rahmen). KEIN Strich links: der blockquote-Rand, den
   Kadence auf <blockquote> setzt, wird explizit genullt (0-2-0 schlaegt Kadences 0-1-1). */
.rmd-c-quote{max-width:620px;background:var(--color-surface);border:0;border-radius:var(--radius-card);padding:var(--space-8) var(--space-6);margin:0}
.rmd-c-quote__stars{color:var(--color-star);font-size:var(--fs-md);letter-spacing:2px;margin-bottom:var(--space-4)}
.rmd-c-quote .rmd-c-quote__text{font-family:var(--font-head);font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:var(--lh-snug);letter-spacing:-.01em;color:var(--color-headline);border:0;padding:0;margin:0 0 var(--space-5);quotes:none}
.rmd-c-quote__author{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--color-text-muted);font-style:normal;display:flex;align-items:center;gap:var(--space-3)}
.rmd-c-quote__author::before{content:"";flex:0 0 20px;width:20px;height:2px;background:var(--color-signal);border-radius:2px}

/* ===== Section-Kopf (Eyebrow + H2 + Lead) - Typo gespreizt (Bauregel 5) ===== */
.rmd-c-section__head{max-width:660px;margin-bottom:var(--space-10)}
.rmd-c-section__title{font-family:var(--font-head);font-size:var(--fs-5xl);font-weight:var(--fw-head);color:var(--color-headline);letter-spacing:-.03em;line-height:1.05;margin:var(--space-5) 0 var(--space-5);max-width:14ch}
.rmd-c-section__lead{font-size:var(--fs-md);color:var(--color-text-muted);margin:0;max-width:52ch;line-height:1.7}

/* ===== CTA ===== */
.rmd-c-cta--center{text-align:center;max-width:var(--container-narrow);margin:0 auto}
.rmd-c-cta__eyebrow{display:inline-block;font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.05em;text-transform:uppercase;background:var(--color-signal);color:var(--color-headline);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);margin-bottom:var(--space-4)}
/* Auf dem dunklen Panel: Headline weiss, Text gedaempft-hell (Kontrast AA) */
.rmd-c-cta__headline{font-family:var(--font-head);font-weight:var(--fw-head);font-size:var(--fs-5xl);color:var(--color-on-dark);letter-spacing:-.03em;line-height:1.12;margin:var(--space-5) auto var(--space-5);max-width:20ch}
.rmd-c-cta__text{font-size:var(--fs-md);color:var(--color-on-dark-muted);margin:0 auto var(--space-8);max-width:52ch;line-height:1.7}
.rmd-c-cta__btns{display:flex;gap:var(--space-3);flex-wrap:wrap}
.rmd-c-cta--center .rmd-c-cta__btns{justify-content:center}

/* ===== FAQ - dunkles Panel (Bauregel 8), Haarlinien statt Kaesten (Bauregel 2) =====
   Kein Kasten je Frage mehr: die Zeilen trennt eine Haarlinie. details/summary bleibt (nativ
   tastaturbedienbar, Antwort bleibt im DOM = SEO). */
/* ===== FAQ-Panel (dunkel): Fragen-Akkordeon links, optionales Kontakt-Panel rechts =====
   Spec rmd-c-faq.html (2026-07-24). Modifier --contact schaltet die zweite Spalte frei. */
.rmd-c-faq{background:var(--color-dark);border-radius:var(--radius-panel);overflow:hidden;max-width:none}
.rmd-c-faq--contact{display:grid;grid-template-columns:1.55fr 1fr}
.rmd-c-faq__main{padding:var(--space-16) var(--space-14)}
.rmd-c-faq__top{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-10)}
.rmd-c-faq__h{font-family:var(--font-head);font-size:var(--fs-6xl);font-weight:var(--fw-head);color:var(--color-on-dark);letter-spacing:-.045em;line-height:var(--lh-flat)}
.rmd-c-faq__hint{background:var(--surface-on-dark);border-radius:var(--radius);padding:var(--space-3) var(--space-5);font-size:var(--fs-sm);color:var(--color-on-dark-muted);line-height:1.5;max-width:none}
.rmd-c-faq__hint a{color:var(--color-on-dark);font-weight:var(--fw-medium);position:relative}
/* Hover: Schrift MUSS hell bleiben. Die globale Regel `body a:hover{color:--color-link-hover}`
   (dunkel, fuer helle Flaechen) faerbt den Link sonst auf dem dunklen Panel dunkel -> unsichtbar.
   Hier zurueck auf Signal-Gelb (die gelbe Unterstreichung wird zur ganzen Schrift). */
.rmd-c-faq__hint a:hover,.rmd-c-faq__hint a:focus{color:var(--color-signal)}
.rmd-c-faq__hint a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--color-signal);border-radius:2px}
.rmd-c-faq__row{border-bottom:1px solid var(--color-hairline-dark)}
.rmd-c-faq__row:first-of-type{border-top:1px solid var(--color-hairline-dark)}
.rmd-c-faq__q{display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-6) 0;cursor:pointer;list-style:none;font-family:var(--font-head);font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--color-on-dark);letter-spacing:-.01em;line-height:1.35;transition:opacity .15s}
.rmd-c-faq__q::-webkit-details-marker{display:none}
.rmd-c-faq__q:hover{opacity:.72}
.rmd-c-faq__q:focus{outline:none}
.rmd-c-faq__q:focus-visible{outline:2px solid var(--color-signal);outline-offset:4px;border-radius:6px}
.rmd-c-faq__pl{font-size:var(--fs-xl);color:var(--color-on-dark-muted);font-weight:300;line-height:1;flex:0 0 auto;transition:transform .25s cubic-bezier(.2,.7,.3,1)}
.rmd-c-faq__row[open] .rmd-c-faq__pl{transform:rotate(45deg);color:var(--color-signal)}
.rmd-c-faq__a{font-size:var(--fs-sm);color:var(--color-on-dark-muted);line-height:1.72;padding:0 var(--space-6) var(--space-6) 0;max-width:none}
/* Helle/hintergrundlose Variante (--plain): FAQ als loser Inline-Block im Beitragsfluss (kein dunkles
   Panel). Dunkler Text auf hellem Grund, kompaktere Masse, helle Hairlines. */
.rmd-c-faq--plain{background:transparent;border-radius:0;overflow:visible}
.rmd-c-faq--plain .rmd-c-faq__main{padding:0}
.rmd-c-faq--plain .rmd-c-faq__top{margin-bottom:var(--space-6)}
.rmd-c-faq--plain .rmd-c-faq__h{color:var(--color-headline);font-size:var(--fs-2xl)}
.rmd-c-faq--plain .rmd-c-faq__row,.rmd-c-faq--plain .rmd-c-faq__row:first-of-type{border-color:var(--color-hairline)}
.rmd-c-faq--plain .rmd-c-faq__q{color:var(--color-headline)}
.rmd-c-faq--plain .rmd-c-faq__pl{color:var(--color-text-muted)}
.rmd-c-faq--plain .rmd-c-faq__row[open] .rmd-c-faq__pl{color:var(--color-signal)}
.rmd-c-faq--plain .rmd-c-faq__a{color:var(--color-text);font-size:var(--fs-base);line-height:1.6}
.rmd-c-faq--plain .rmd-c-faq__q:focus-visible{outline-color:var(--color-headline)}
/* Mehrabschnittige FAQ-Antworten (Absaetze, Listen, Fett) sauber setzen. */
.rmd-c-faq__a > :first-child{margin-top:0}
.rmd-c-faq__a > :last-child{margin-bottom:0}
.rmd-c-faq__a p{margin:0 0 var(--space-3)}
.rmd-c-faq__a ul,.rmd-c-faq__a ol{margin:var(--space-3) 0;padding-left:var(--space-5)}
.rmd-c-faq__a li{margin:0 0 var(--space-1)}
.rmd-c-faq__a strong{color:var(--color-on-dark)}
/* Tabelle in FAQ-Antworten (z.B. Dioptrien/Vergroesserung) - dunkles Panel, zarte Trennlinien. */
.rmd-c-faq__a table{width:100%;border-collapse:collapse;margin:var(--space-4) 0;font-size:var(--fs-sm)}
.rmd-c-faq__a th,.rmd-c-faq__a td{text-align:left;padding:var(--space-2) var(--space-5) var(--space-2) 0;border-bottom:1px solid var(--color-hairline-dark)}
.rmd-c-faq__a th{color:var(--color-on-dark);font-family:var(--font-head);font-weight:var(--fw-semibold)}
.rmd-c-faq__side{background:var(--color-dark-2);padding:var(--space-16) var(--space-12)}
.rmd-c-faq__sh{display:flex;flex-direction:column;gap:var(--space-5);margin-bottom:var(--space-8)}
.rmd-c-faq__st{font-family:var(--font-head);font-size:var(--fs-xl);color:var(--color-on-dark);margin-bottom:var(--space-2);line-height:var(--lh-tight)}
.rmd-c-faq__side p{font-size:var(--fs-sm);color:var(--color-on-dark-muted)}
.rmd-c-faq__team{display:flex;flex:0 0 auto}
.rmd-c-faq__team span{width:42px;height:42px;border-radius:50%;border:2.5px solid var(--color-on-dark);margin-left:-13px;background:var(--color-dark-social-hover);display:flex;align-items:center;justify-content:center;overflow:visible;position:relative}
.rmd-c-faq__team span:first-child{margin-left:0}
.rmd-c-faq__team img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.rmd-c-faq__team .rmd-icon{width:19px;height:19px;color:var(--color-on-dark-muted);stroke-width:1.5}
.rmd-c-faq__on{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:var(--color-online);border:2.5px solid var(--color-dark-2)}
.rmd-c-faq__f{display:flex;flex-direction:column;gap:var(--space-3)}
/* Felder einheitlich mit den anderen Formularen (Pill-Form wie Checkout/Basis, 1.5px-Rand,
   gleiche Polsterung). Bewusst WEISS mit schwarzer Schrift, auch auf dem dunklen Panel - und
   sie bleiben bei Hover/Fokus weiss.
   WICHTIG (Kadence-Formular-Falle): an den Formular-Container .rmd-c-faq__f binden. Kadence
   stylt input[type=text|email|...] global inkl. border-radius:3px mit Spezifitaet (0,1,1) und
   schlaegt sonst die einzelne Klasse .rmd-c-faq__in (0,1,0) - dann bekamen Text-/E-Mail-Felder
   Kadences 3px, waehrend select/textarea unseren Radius trugen (drei verschiedene Rundungen!).
   .rmd-c-faq__f .rmd-c-faq__in = (0,2,0) gewinnt und vereinheitlicht alle Feldtypen. */
.rmd-c-faq__f .rmd-c-faq__in{width:100%;background:var(--color-bg);border:1.5px solid var(--color-field-border);border-radius:var(--radius-pill);padding:var(--space-3) var(--space-4);font-size:var(--fs-base);color:var(--color-text);outline:none;box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease}
.rmd-c-faq__f .rmd-c-faq__in::placeholder{color:var(--color-text-muted)}
.rmd-c-faq__f .rmd-c-faq__in:hover{border-color:var(--color-headline)}
/* Fokus: Feld bleibt WEISS, nur dunklerer Rand + dezenter Ring - KEIN Grau, KEIN Signal-Gelb. */
.rmd-c-faq__f .rmd-c-faq__in:focus{border-color:var(--color-headline);background:var(--color-bg);box-shadow:0 0 0 3px rgba(0,0,0,.06)}
/* Kommentarfeld/Textarea: kein Pill (saehe bei Mehrzeilern seltsam aus), sondern radius-lg wie das
   Standard-Textarea in Checkout/Basis-Formularen. */
.rmd-c-faq__f textarea.rmd-c-faq__in{min-height:118px;resize:vertical;line-height:var(--lh-normal);border-radius:var(--radius-lg)}
.rmd-c-faq__send{margin-top:var(--space-2);background:var(--color-signal);color:var(--color-on-signal);font-family:var(--font-head);font-weight:var(--fw-bold);font-size:var(--fs-sm);padding:var(--space-4) var(--space-6);border-radius:var(--radius-pill);align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;border:none;transition:background .15s}
.rmd-c-faq__send:hover{background:var(--color-signal-hover)}
.rmd-c-faq__send .rmd-icon{width:15px;height:15px;stroke-width:2.2;transition:transform .18s}
.rmd-c-faq__send:hover .rmd-icon{transform:translateX(3px)}
.rmd-c-faq__legal{font-size:var(--fs-xs);color:var(--color-on-dark-muted);line-height:1.5;margin-top:var(--space-4)}
.rmd-c-faq__legal a{color:var(--color-on-dark-muted);text-decoration:underline;text-underline-offset:2px}
/* Hover hell halten (sonst zieht `body a:hover` den Link ins Dunkle -> unsichtbar auf dem Panel). */
.rmd-c-faq__legal a:hover,.rmd-c-faq__legal a:focus{color:var(--color-on-dark)}
/* FAQ-Formular GLOBAL (Honeypot + Datenschutz-Checkbox + Statusmeldung). Muss auch dort greifen, wo das
   Formular ausserhalb der Support-Seiten steht (Produkt-/Kategorieseiten) - support.css laedt dort NICHT.
   Der Honeypot MUSS versteckt sein, sonst fuellt Browser-Autofill ihn und die Anfrage wird still verworfen. */
.rmd-c-faq__hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.rmd-c-faq__check{display:flex;gap:var(--space-2);align-items:flex-start;font-size:var(--fs-xs);line-height:1.5;color:var(--color-on-dark);margin-bottom:var(--space-3)}
.rmd-c-faq__check input{margin-top:3px;flex:0 0 auto;accent-color:var(--color-signal)}
.rmd-c-faq__check a{color:var(--color-on-dark);text-decoration:underline;text-underline-offset:2px}
.rmd-c-faq__check a:hover,.rmd-c-faq__check a:focus{color:var(--color-on-dark)}
.rmd-c-faq__msg{margin:var(--space-3) 0 0;font-family:var(--font-head);font-weight:var(--fw-semibold);font-size:var(--fs-sm)}
.rmd-c-faq__msg.is-ok{color:var(--color-online)}
.rmd-c-faq__msg.is-err{color:var(--color-sale)}
.rmd-c-faq__send.is-loading{opacity:.6;pointer-events:none}
@media(max-width:1000px){
.rmd-c-faq--contact{grid-template-columns:1fr}
.rmd-c-faq__main{padding:var(--space-10) var(--space-6) var(--space-8)}
.rmd-c-faq__side{padding:var(--space-8) var(--space-6) var(--space-10)}
.rmd-c-faq__h{font-size:var(--fs-4xl)}
.rmd-c-faq__top{margin-bottom:var(--space-6)}
}
@media(max-width:767px){
.rmd-c-faq__hint{max-width:none}
}

/* ===== Bild-Text-Spalten (cols, ersetzt imgtext) ===== */
/* Mehrere cols-Reihen (Kategorie-Extra-Content) vertikal gestapelt mit Luft dazwischen. */
.rmd-extra-rows{display:grid;gap:var(--space-16)}
/* Extra-Content-Bilder im Querformat 770x450 (Upload-Format des Kunden) - nicht auf 4:3
   beschneiden. Bild UND Platzhalter-Box auf dasselbe Verhaeltnis. */
.rmd-extra-rows .rmd-c-cols__media img{aspect-ratio:77/45}
.rmd-extra-rows .rmd-c-cols__media--ph{aspect-ratio:77/45}
.rmd-c-cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}
.rmd-c-cols--img-right .rmd-c-cols__media{order:2}
.rmd-c-cols__media{position:relative;margin:0;border-radius:var(--radius-card);overflow:hidden;background:var(--color-surface)}
.rmd-c-cols__media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;display:block}
.rmd-c-cols__cap{position:absolute;inset:auto 0 0;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-12) var(--space-6) var(--space-6);background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--color-dark) 88%,transparent));color:var(--color-on-dark)}
.rmd-c-cols__cap strong{font-family:var(--font-head);font-size:var(--fs-lg);line-height:var(--lh-snug);color:var(--color-on-dark)}
.rmd-c-cols__status{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--color-on-dark-muted)}
.rmd-c-cols__status i{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-pill);background:var(--color-online)}
/* Platzhalter-Bildbox (kein Bild gesetzt): gestreift, mit Icon + Beschriftung. */
.rmd-c-cols__media--ph{display:flex;align-items:center;justify-content:center;aspect-ratio:16/11;background:repeating-linear-gradient(45deg,var(--color-surface) 0,var(--color-surface) 14px,var(--color-bg) 14px,var(--color-bg) 28px)}
.rmd-c-cols__ph{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4);text-align:center;color:var(--color-text-muted)}
.rmd-c-cols__ph .rmd-icon{width:32px;height:32px}
.rmd-c-cols__phcap{font-size:var(--fs-sm)}
/* ===== Isolux-Diagramme (aufklappbare Karten, 2-spaltig) ===== */
.rmd-c-isolux__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);align-items:start}
.rmd-c-isolux__card{background:var(--color-bg);border:1px solid var(--color-hairline);border-radius:var(--radius-card);overflow:hidden}
.rmd-c-isolux__sum{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);cursor:pointer;list-style:none;font-family:var(--font-head);font-weight:var(--fw-semibold);font-size:var(--fs-sm);color:var(--color-headline);transition:background .15s}
.rmd-c-isolux__sum::-webkit-details-marker{display:none}
.rmd-c-isolux__sum:hover{background:var(--color-surface)}
.rmd-c-isolux__card[open] .rmd-c-isolux__sum{border-bottom:1px solid var(--color-hairline)}
.rmd-c-isolux__pl{position:relative;flex:0 0 15px;width:15px;height:15px}
.rmd-c-isolux__pl::before,.rmd-c-isolux__pl::after{content:"";position:absolute;top:50%;left:0;width:100%;height:2px;background:var(--color-headline);transform:translateY(-50%);border-radius:2px}
.rmd-c-isolux__pl::after{transform:translateY(-50%) rotate(90deg);transition:transform .2s}
.rmd-c-isolux__card[open] .rmd-c-isolux__pl::after{transform:translateY(-50%) rotate(0)}
.rmd-c-isolux__body{padding:var(--space-5)}
.rmd-c-isolux__img{width:100%;height:auto;display:block}
.rmd-c-isolux__ph{display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;color:var(--color-text-muted);font-size:var(--fs-sm);text-align:center;padding:var(--space-4);border-radius:var(--radius);background:repeating-linear-gradient(45deg,var(--color-surface) 0,var(--color-surface) 14px,var(--color-bg) 14px,var(--color-bg) 28px)}
@media(max-width:767px){.rmd-c-isolux__grid{grid-template-columns:1fr}}
.rmd-c-cols__headline{font-size:var(--fs-xl);margin:var(--space-2) 0 var(--space-3)}
.rmd-c-cols__text{font-size:var(--fs-base);color:var(--color-text-muted);margin:0;line-height:var(--lh-normal)}
.rmd-c-cols__points{list-style:none;margin:var(--space-6) 0 0;padding:0;display:flex;flex-direction:column;gap:0}
.rmd-c-cols__points li{display:flex;gap:var(--space-3);align-items:center;font-size:var(--fs-sm);padding:var(--space-4) 0;border-top:1px solid var(--color-hairline)}
.rmd-c-cols__points li:last-child{border-bottom:1px solid var(--color-hairline)}
.rmd-c-cols__pico{flex:0 0 18px;width:18px;height:18px;display:flex;align-items:center;justify-content:center}
.rmd-c-cols__pico .rmd-icon{width:18px;height:18px;color:var(--color-headline);stroke-width:2.2}
.rmd-c-cols__points b{font-family:var(--font-head);display:block}
.rmd-c-cols__points span span{color:var(--color-text-muted)}

/* ===== Galerie ===== */
.rmd-c-gallery__stage{position:relative;background:var(--color-surface);border-radius:var(--radius-panel);padding:var(--space-10);overflow:hidden;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;cursor:zoom-in}
.rmd-c-gallery__stage img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .25s ease,opacity .14s ease;will-change:transform}
.rmd-c-gallery__badge{position:absolute;top:var(--space-4);left:var(--space-4);background:var(--color-signal);color:var(--color-headline);font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-bold);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);z-index:3}
.rmd-c-gallery__badge.is-sale{left:auto;right:var(--space-4);background:var(--color-headline);color:var(--color-bg)}
.rmd-c-gallery__thumbs{display:flex;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap}
.rmd-c-gallery__thumbs button{width:74px;height:74px;padding:7px;background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:12px;cursor:pointer;transition:border-color .15s,box-shadow .15s;display:flex;align-items:center;justify-content:center}
.rmd-c-gallery__thumbs button img{max-width:100%;max-height:100%;object-fit:contain}
.rmd-c-gallery__thumbs button:hover{border-color:var(--color-alu)}
.rmd-c-gallery__thumbs button.active{border-color:var(--color-headline);box-shadow:0 0 0 3px rgba(0,0,0,.06)}


/* ===== Fokus-Sichtbarkeit (A11y) ===== */
.rmd-c-btn:focus-visible,.rmd-c-gallery__thumbs button:focus-visible{outline:3px solid var(--color-signal-hover);outline-offset:2px}

/* ===== Responsive: Tablet (<=1024px) ===== */
@media(max-width:1024px){
  .rmd-c-cols{grid-template-columns:1fr;gap:var(--space-8)}
  .rmd-c-cols--img-right .rmd-c-cols__media{order:-1}
  .rmd-c-cta__headline{font-size:var(--fs-2xl)}
}
/* ===== Layout-Grid + Feature-Karten (Seiten-Komposition aus Bloecken) ===== */
.rmd-grid{display:grid;gap:var(--space-6)}
.rmd-grid--2{grid-template-columns:repeat(2,1fr)}
.rmd-grid--3{grid-template-columns:repeat(3,1fr)}
.rmd-grid--4{grid-template-columns:repeat(4,1fr)}
.rmd-grid h3{font-family:var(--font-head);font-size:var(--fs-xl);color:var(--color-headline);margin:0 0 var(--space-2)}
.rmd-grid p{color:var(--color-text);margin:0}
.rmd-feature{display:flex;flex-direction:column;gap:var(--space-3);text-align:left}
.rmd-feature .rmd-c-icon{width:34px;height:34px;color:var(--color-headline)}
.rmd-feature b{font-family:var(--font-head);font-size:var(--fs-md);color:var(--color-headline)}
.rmd-feature span{color:var(--color-text-muted);font-size:var(--fs-sm)}
@media(max-width:900px){.rmd-grid--3,.rmd-grid--4{grid-template-columns:repeat(2,1fr)}}

/* ===== Responsive: Mobile (<=767px) ===== */
@media(max-width:767px){
  .rmd-c-section--pad-default{padding-top:var(--space-10);padding-bottom:var(--space-10)}
  .rmd-c-section--pad-xl{padding-top:var(--space-14);padding-bottom:var(--space-14)}
  .rmd-c-btn{width:100%}
  .rmd-c-cta__btns .rmd-c-btn{width:auto}
  .rmd-c-cta{padding:var(--space-10) var(--space-5)}
  .rmd-c-cta::before{top:-90px;right:-80px;width:280px;height:280px}
  .rmd-grid--2,.rmd-grid--3,.rmd-grid--4{grid-template-columns:1fr}
}

/* ============================================================
   STUFE B - Content-Bloecke (alles Token-basiert)
   ============================================================ */

/* Key-Facts-Band (Icon + Wert + Label) */
.rmd-c-facts{display:grid;grid-template-columns:repeat(4,1fr);border-radius:var(--radius-panel);overflow:hidden;background:var(--color-surface)}
.rmd-c-facts__cell{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-5);background:var(--color-bg);border-radius:var(--radius);margin:var(--space-2)}
.rmd-c-facts__cell:last-child{border-right:none}
.rmd-c-facts__ico{flex:0 0 26px;width:26px;height:26px;display:flex;align-items:center;justify-content:center}
.rmd-c-facts__ico .rmd-icon{width:26px;height:26px;color:var(--color-headline);stroke-width:1.4}
.rmd-c-facts__txt b{display:block;font-family:var(--font-head);font-size:var(--fs-lg);font-weight:var(--fw-bold);line-height:var(--lh-tight)}
.rmd-c-facts__txt span{font-size:var(--fs-sm);color:var(--color-text-muted)}
/* Karten-Variante (style=cards): Icon oben, Wert fett, Beschreibung darunter - vertikale Karten
   auf hellem Grund (Vorlage: Anwendungsbereich-Screenshot). Nur Layout; Basis-Grid/Spalten bleiben. */
.rmd-c-facts--cards{background:transparent;border-radius:0;overflow:visible;gap:var(--space-4)}
/* border:0 hebt die Haarlinie auf, die die Band-Variante auf Handy-Breite als border-bottom setzt
   (sonst harter Strich unter den Karten). */
.rmd-c-facts--cards .rmd-c-facts__cell{flex-direction:column;align-items:flex-start;gap:var(--space-3);margin:0;padding:var(--space-6);background:var(--color-surface);border:0;border-radius:var(--radius-card)}
.rmd-c-facts--cards .rmd-c-facts__ico{margin-bottom:var(--space-1)}
.rmd-c-facts--cards .rmd-c-facts__txt{display:flex;flex-direction:column;gap:var(--space-2)}
/* Heading der Karten (Beleuchtungsstärke etc.): Montserrat 800, 16px/24px, Textfarbe (lt. Vorgabe). */
.rmd-c-facts--cards .rmd-c-facts__txt b{font-family:var(--font-head);font-weight:800;font-size:var(--fs-base);line-height:24px;color:var(--color-text)}
.rmd-c-facts--cards .rmd-c-facts__txt span{line-height:1.5}

/* ===== Kennzahlen-Panel (Stil dark|light, Vorlage Zahlen-2b "Hero-Zahl"): grosse Hero-Zahl links,
   uebrige Kennzahlen im 2er-Raster rechts. Farben ueber lokale Variablen -> --light = weisse Variante. ===== */
.rmd-c-facts-dark{--_bg:var(--color-dark);--_line:var(--color-hairline-dark);--_head:#fff;--_muted:var(--color-on-dark-muted);position:relative;overflow:hidden;background:var(--_bg);border-radius:var(--radius-panel);padding:var(--space-20)}
.rmd-c-facts-dark--light{--_bg:var(--color-bg);--_line:var(--color-hairline);--_head:var(--color-headline);--_muted:var(--color-text-muted);border:1px solid var(--color-hairline);box-shadow:var(--shadow-md)}
.rmd-c-facts-dark__glow{position:absolute;top:-220px;right:-160px;width:640px;height:640px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--color-signal) 14%,transparent) 0%,transparent 62%);pointer-events:none;opacity:0;transition:opacity 1.4s ease-out}
.rmd-c-facts-dark.is-on .rmd-c-facts-dark__glow{opacity:1}
.rmd-c-facts-dark__inner{position:relative}
.rmd-c-facts-dark__eyebrow{display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--_muted)}
.rmd-c-facts-dark__eyebrow::before{content:"";width:28px;height:2px;background:var(--color-signal)}
.rmd-c-facts-dark__head{display:grid;grid-template-columns:minmax(0,440px) 1fr;column-gap:var(--space-20);align-items:end;margin-top:var(--space-4)}
.rmd-c-facts-dark__title{font-family:var(--font-head);font-weight:var(--fw-head);font-size:var(--fs-5xl);letter-spacing:-.03em;line-height:1.05;color:var(--_head);margin:0;text-wrap:balance}
.rmd-c-facts-dark__lead{font-family:var(--font-body);font-size:var(--fs-base);line-height:1.55;color:var(--_muted);margin:0;text-wrap:pretty}
.rmd-c-facts-dark__body{display:grid;grid-template-columns:minmax(0,440px) 1fr;column-gap:var(--space-20);align-items:stretch;margin-top:var(--space-16)}
.rmd-c-facts-dark__stat{border-top:1px solid var(--_line);padding-top:var(--space-5)}
.rmd-c-facts-dark__stat--hero{padding-top:var(--space-6);display:flex;flex-direction:column;justify-content:space-between}
.rmd-c-facts-dark__grid{display:grid;grid-template-columns:1fr 1fr;column-gap:var(--space-14);row-gap:var(--space-10);align-content:space-between}
.rmd-c-facts-dark__num{display:block;font-family:var(--font-head);font-weight:var(--fw-head);font-size:var(--fs-xl);letter-spacing:-.03em;line-height:1.1;color:var(--_head);margin:0;font-variant-numeric:tabular-nums}
.rmd-c-facts-dark__stat--hero .rmd-c-facts-dark__num{font-size:var(--fs-6xl);line-height:1.02}
.rmd-c-facts-dark__label{display:block;font-family:var(--font-body);font-size:var(--fs-sm);line-height:1.5;color:var(--_muted);margin:var(--space-3) 0 0}
.rmd-c-facts-dark__stat--hero .rmd-c-facts-dark__label{font-size:var(--fs-base);margin-top:var(--space-4)}
@media(max-width:1024px){
  .rmd-c-facts-dark{padding:var(--space-16) var(--space-10)}
  .rmd-c-facts-dark__head,.rmd-c-facts-dark__body{grid-template-columns:1fr;row-gap:var(--space-8)}
  .rmd-c-facts-dark__body{margin-top:var(--space-10)}
}
@media(max-width:767px){
  .rmd-c-facts-dark{padding:var(--space-12) var(--space-6)}
  .rmd-c-facts-dark__grid{grid-template-columns:1fr;row-gap:var(--space-8)}
  .rmd-c-facts-dark__label{margin-top:var(--space-4)}
  /* Mobile: Kennzahlen-Panel ueber die volle Breite (Container-Polster raus, Ecken buendig). */
  .rmd-facts-sec .rmd-container{padding-left:0;padding-right:0}
  .rmd-facts-sec .rmd-c-facts-dark{border-radius:0}
}
@media(prefers-reduced-motion:reduce){.rmd-c-facts-dark__glow{transition:none}}

/* Problem-/Schmerzpunkt-Karten */
.rmd-c-problem{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
.rmd-c-problem__card{background:var(--color-surface);border-radius:var(--radius-card);padding:var(--space-8) var(--space-6)}
.rmd-c-problem__tag{font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted)}
.rmd-c-problem__title{font-size:var(--fs-md);margin:var(--space-2) 0}
.rmd-c-problem__text{font-size:var(--fs-sm);color:var(--color-text-muted);margin:0}

/* Karten-Reihe (Mechanismus/Service) */
.rmd-c-cardrow{display:grid;gap:var(--space-4)}
.rmd-c-cardrow--3{grid-template-columns:repeat(3,1fr)}
.rmd-c-cardrow--4{grid-template-columns:repeat(4,1fr)}
.rmd-c-cardrow__card{background:var(--color-surface);border-radius:var(--radius-card);padding:var(--space-8) var(--space-6)}
.rmd-c-cardrow__ico{display:flex;align-items:center;margin-bottom:var(--space-5)}
.rmd-c-cardrow__ico .rmd-icon{width:26px;height:26px;color:var(--color-headline);stroke-width:1.4}
.rmd-c-cardrow__title{font-size:var(--fs-base);margin:0 0 var(--space-1)}
/* Kennzahl-Karte: graue Pille mit dem Oberbegriff oben (statt Icon), darunter der Wert als
   Ueberschrift. Weisse Pille auf grauer Karte - sie soll ruhig wirken, nicht als zweiter Titel.
   Der Wert bekommt Ueberschriftgroesse und bleibt in EINER Zeile (nowrap): ein Umbruch mitten in
   "2.800-3.300 Lux" wuerde die Karte zerreissen. */
.rmd-c-cardrow__badge{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--color-text-muted);background:var(--color-bg);box-shadow:inset 0 0 0 1px var(--color-hairline);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);margin-bottom:var(--space-5)}
/* Kopfzeile Icon + Pille nebeneinander: die Abstaende der Einzelteile werden hier neutralisiert,
   den Abstand nach unten setzt die Zeile selbst - sonst addieren sich zwei margins. */
.rmd-c-cardrow__head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}
.rmd-c-cardrow__head .rmd-c-cardrow__ico,.rmd-c-cardrow__head .rmd-c-cardrow__badge{margin-bottom:0}
.rmd-c-cardrow__head .rmd-c-cardrow__ico .rmd-icon{width:22px;height:22px}
/* Icon IN der Pille: klein und in der Textfarbe der Pille - es soll den Begriff begleiten,
   nicht mit ihm konkurrieren. */
.rmd-c-cardrow__badge .rmd-c-cardrow__ico{margin:0}
.rmd-c-cardrow__badge .rmd-icon{width:15px;height:15px;color:currentColor;stroke-width:1.6;flex:0 0 auto}
.rmd-c-cardrow__card--stat .rmd-c-cardrow__title{font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:-.02em;white-space:nowrap;margin:0 0 var(--space-3)}
.rmd-c-cardrow__text{font-size:var(--fs-sm);color:var(--color-text-muted);margin:0}


/* Beschreibung + Read-more (SEO-fest: bleibt im DOM) */
.rmd-c-desc{background:var(--color-surface);border-radius:var(--radius-panel);padding:var(--space-12);max-width:860px}
.rmd-c-desc__head{font-size:var(--fs-xl);margin:0 0 var(--space-3)}
.rmd-c-desc__intro,.rmd-c-desc__more-inner{font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--color-text)}
.rmd-c-desc__intro p,.rmd-c-desc__more-inner p{margin:0 0 var(--space-3)}
.rmd-c-desc__more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}
.rmd-c-desc__more.is-open{grid-template-rows:1fr}
.rmd-c-desc__more-inner{overflow:hidden}
.rmd-c-desc__toggle{background:none;border:none;cursor:pointer;font-family:var(--font-head);font-weight:var(--fw-semibold);font-size:var(--fs-base);color:var(--color-headline);display:inline-flex;align-items:center;gap:var(--space-2);border-bottom:2px solid var(--color-signal);padding:0 0 3px;margin-top:var(--space-2)}
.rmd-c-desc__toggle .rmd-icon{width:14px;height:14px;transition:transform .2s}
.rmd-c-desc__toggle[aria-expanded="true"] .rmd-icon{transform:rotate(180deg)}
/* KEIN Hover-Effekt: globale Woo/Kadence-Button-Styles pinnen sonst einen gelben Hintergrund an. */
.rmd-c-desc__toggle:hover,.rmd-c-desc__toggle:focus,.rmd-c-desc__toggle:active{background:none!important;box-shadow:none!important;color:var(--color-headline)!important}
.rmd-c-desc__toggle:focus-visible{outline:2px solid var(--color-headline);outline-offset:3px}

/* Spec-Tabelle (langwert-fest) */
.rmd-c-specs{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
.rmd-c-specs__group{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}
.rmd-c-specs__title{font-family:var(--font-head);font-size:var(--fs-base);font-weight:var(--fw-bold);margin:0 0 var(--space-3);padding-bottom:var(--space-2);border-bottom:2px solid var(--color-signal);display:inline-block}
.rmd-c-specs dl{display:grid;grid-template-columns:minmax(120px,44%) 1fr;margin:0}
.rmd-c-specs dt{font-size:var(--fs-sm);color:var(--color-text-muted);padding:var(--space-2) 0;border-top:1px solid var(--color-hairline)}
.rmd-c-specs dd{font-size:var(--fs-sm);font-weight:var(--fw-medium);padding:var(--space-2) 0;margin:0;border-top:1px solid var(--color-hairline);overflow-wrap:anywhere}
.rmd-c-specs dl>dt:first-of-type,.rmd-c-specs dl>dd:first-of-type{border-top:none}
.rmd-c-specs__downloads{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5)}
.rmd-c-specs__dl{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-head);font-weight:var(--fw-semibold);font-size:var(--fs-sm);padding:var(--space-2) var(--space-4);border:1.5px solid var(--color-hairline);border-radius:var(--radius-pill);color:var(--color-headline)}
.rmd-c-specs__dl .rmd-icon{width:15px;height:15px}

/* Pfeil-Nav (Slider) */
.rmd-c-nav{position:absolute;top:38%;width:42px;height:42px;border-radius:var(--radius-pill);background:var(--color-bg);border:0;box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}
.rmd-c-nav .rmd-icon{width:18px;height:18px;color:var(--color-headline)}
.rmd-c-nav--prev{left:-8px}.rmd-c-nav--next{right:-8px}
.rmd-c-nav:focus-visible{outline:2px solid var(--color-headline);outline-offset:2px}

/* Final-/Beratungs-CTA - dunkles Panel mit weichem Signal-Lichtschein (Bauregel 8). EIN Design fuer
   alle CTA-Kontexte (2026-07-24 vereinheitlicht: frueherer --glow-Modifier ins Basis-Panel gefaltet).
   Der Abschluss der Seite ist ein Anker, keine Karte. */
.rmd-c-cta{position:relative;overflow:hidden;background:var(--color-dark);border:0;border-radius:var(--radius-panel);padding:var(--space-14) var(--space-8);text-align:center}
.rmd-c-cta::before{content:"";position:absolute;top:-140px;right:-120px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle, color-mix(in srgb, var(--color-signal) 22%, transparent) 0%, color-mix(in srgb, var(--color-signal) 7%, transparent) 45%, transparent 70%);pointer-events:none;z-index:0}
.rmd-c-cta>*{position:relative;z-index:1}
.rmd-c-cta--center{max-width:none}
.rmd-c-cta--center .rmd-c-cta__headline{max-width:18ch;margin-left:auto;margin-right:auto}
.rmd-c-cta--center .rmd-c-cta__text{max-width:680px;margin-left:auto;margin-right:auto}
.rmd-c-cta__badge{margin-bottom:var(--space-4)}
.rmd-c-cta__contact{font-size:var(--fs-sm);color:var(--color-on-dark-muted);margin:var(--space-6) 0 0}
.rmd-c-cta__contact b{color:var(--color-on-dark);font-family:var(--font-head)}
/* ---- Rich-CTA (Haendler-Panel): linksbuendig, Personen-Karte rechts, Kennzahlen-Band unten ---- */
.rmd-c-cta--rich{text-align:left}
.rmd-c-cta--rich .rmd-c-cta__headline{max-width:none;margin-left:0;margin-right:0}
.rmd-c-cta--rich .rmd-c-cta__text{max-width:54ch;margin-left:0;margin-right:0}
.rmd-c-cta--rich .rmd-c-cta__btns{justify-content:flex-start;align-items:center}
.rmd-c-cta__top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-12);align-items:center}
.rmd-c-cta__contact--inline{margin:0;font-size:var(--fs-sm);color:var(--color-on-dark-muted)}
/* Personen-Karte im Haendler-Panel: Foto GROSS oben, Name/Rolle darunter (nicht daneben). */
.rmd-c-cta__person{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}
.rmd-c-cta__avatar{flex:0 0 auto;width:150px;height:150px;border-radius:var(--radius-pill);overflow:hidden;background:var(--color-dark-2)}
.rmd-c-cta__avatar img{width:100%;height:100%;object-fit:cover;display:block}
.rmd-c-cta__who{display:flex;flex-direction:column;gap:2px}
.rmd-c-cta__who strong{font-family:var(--font-head);font-size:var(--fs-md);color:var(--color-on-dark);line-height:1.25}
.rmd-c-cta__who span{font-size:var(--fs-sm);color:var(--color-on-dark-muted);line-height:1.4}
.rmd-c-cta__facts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:var(--space-10);padding-top:var(--space-8);border-top:1px solid var(--color-hairline-dark)}
.rmd-c-cta__fact{padding:0 var(--space-6);border-left:1px solid var(--color-hairline-dark)}
.rmd-c-cta__fact:first-child{padding-left:0;border-left:0}
.rmd-c-cta__fact strong{display:block;font-family:var(--font-head);font-weight:var(--fw-bold);font-size:var(--fs-3xl);color:var(--color-on-dark);letter-spacing:-.02em;line-height:1.1}
.rmd-c-cta__fact span{display:block;font-size:var(--fs-sm);color:var(--color-on-dark-muted);margin-top:var(--space-2)}
/* Rich-CTA mit nummerierten Schritten rechts (Haendler-Panel, Vorlage Screenshot). */
.rmd-c-cta__steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.rmd-c-cta__step{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-5) 0;border-top:1px solid var(--color-hairline-dark)}
.rmd-c-cta__step:first-child{border-top:0;padding-top:0}
.rmd-c-cta__stepnum{flex:0 0 auto;width:42px;height:42px;border-radius:var(--radius-pill);background:var(--color-signal);color:var(--color-on-signal);font-family:var(--font-head);font-weight:var(--fw-bold);font-size:var(--fs-md);display:flex;align-items:center;justify-content:center}
.rmd-c-cta__stepbody{display:flex;flex-direction:column;gap:var(--space-1)}
.rmd-c-cta__stepbody strong{font-family:var(--font-head);font-size:var(--fs-md);color:var(--color-on-dark);line-height:1.3}
.rmd-c-cta__stepbody span{font-size:var(--fs-sm);color:var(--color-on-dark-muted);line-height:1.55}
@media(min-width:901px){.rmd-c-cta--steps .rmd-c-cta__top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* ===== Mediaband (Vorlage Fertigung-2a): dunkles horizontales Bild-Scrollband mit Zaehler,
   Pfeilen und Fortschrittsleiste. Band full-bleed, Kopf/Track im Container. ===== */
.rmd-c-mediaband{background:var(--color-dark);background-image:radial-gradient(640px 420px at 88% -5%,rgba(255,234,118,.10),transparent 60%);padding:var(--space-section) 0;overflow:hidden}
.rmd-c-mediaband__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-10);align-items:end;margin-bottom:var(--space-12)}
.rmd-c-mediaband__eyebrow{display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--color-on-dark-muted)}
.rmd-c-mediaband__eyebrow::before{content:"";width:28px;height:3px;background:var(--color-signal);border-radius:2px;flex:0 0 auto}
.rmd-c-mediaband__title{font-family:var(--font-head);font-weight:var(--fw-head);font-size:var(--fs-3xl);letter-spacing:-.03em;line-height:1.05;color:var(--color-on-dark);margin:var(--space-5) 0 0;text-wrap:balance}
.rmd-c-mediaband__lead{font-family:var(--font-body);font-size:var(--fs-base);line-height:1.55;color:var(--color-on-dark-muted);margin:var(--space-5) 0 0;max-width:560px;text-wrap:pretty}
.rmd-c-mediaband__nav{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-4)}
.rmd-c-mediaband__arrows{display:flex;gap:var(--space-3)}
.rmd-c-mediaband__arrow{width:48px;height:48px;border-radius:var(--radius-pill);border:1px solid var(--color-hairline-dark);background:transparent;color:var(--color-on-dark);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}
.rmd-c-mediaband__arrow:hover{background:var(--color-signal);border-color:var(--color-signal);color:var(--color-dark)}
.rmd-c-mediaband__arrow:focus-visible{outline:2px solid var(--color-signal);outline-offset:2px}
.rmd-c-mediaband__arrow .rmd-icon{width:20px;height:20px;stroke:currentColor}
.rmd-c-mediaband__clip{overflow:hidden}
/* scroll-padding-left MUSS die padding-left-Formel spiegeln: sonst frisst der Mandatory-Snap
   (@media hover:none, mobil) die linke Polsterung und rueckt die erste Karte auf 0 - das Bild
   klebte dann am Rand, waehrend Titel/Text bei space-6 stehen. Mit scroll-padding richtet der
   Snap die Karten an derselben Kante wie der Container aus (Desktop full-bleed + Mobile space-6). */
.rmd-c-mediaband__band{display:flex;gap:var(--space-6);overflow-x:auto;scroll-snap-type:x proximity;scroll-behavior:smooth;scroll-padding-left:max(var(--space-6),calc((100vw - var(--container)) / 2 + var(--space-6)));padding:0 max(var(--space-6),calc((100vw - var(--container)) / 2 + var(--space-6))) var(--space-6);scrollbar-width:none}
.rmd-c-mediaband__band::-webkit-scrollbar{display:none}
.rmd-c-mediaband__card{flex:none;width:min(420px,78vw);scroll-snap-align:start;scroll-snap-stop:always;margin:0}
/* Touch-Geraete (Handy/Tablet): festes Snap -> genau eine Karte pro Wisch. Desktop bleibt proximity
   (damit die Pfeil-Animation weich bleibt). */
@media (hover: none){.rmd-c-mediaband__band{scroll-snap-type:x mandatory}}
.rmd-c-mediaband__sq{aspect-ratio:1;border-radius:var(--radius-card);overflow:hidden;background:rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:var(--fs-sm);color:var(--color-on-dark-muted)}
.rmd-c-mediaband__sq img{width:100%;height:100%;object-fit:cover;display:block}
.rmd-c-mediaband__cap{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-hairline-dark);display:flex;align-items:baseline;gap:var(--space-3)}
.rmd-c-mediaband__cap b{font-family:var(--font-head);font-weight:var(--fw-bold);font-size:var(--fs-sm);color:var(--color-on-dark-muted)}
.rmd-c-mediaband__cap span{font-family:var(--font-head);font-weight:var(--fw-semibold);font-size:var(--fs-base);color:var(--color-on-dark)}
/* Pfeile: Desktop im Kopf (--head); das zweite Set (--under, mobil unter den Bildern) ist auf
   Desktop ausgeblendet. Fruehere Fortschrittsleiste (.rmd-c-mediaband__track/__trackline/__bar,
   gelbe Linie) bewusst entfernt. */
.rmd-c-mediaband__nav--under{display:none}
@media(max-width:1024px){
  .rmd-c-mediaband{padding:var(--space-14) 0}
  .rmd-c-mediaband__head{grid-template-columns:1fr;gap:var(--space-6);margin-bottom:var(--space-8)}
  /* Mobil: Kopf-Pfeile aus, stattdessen zentriert UNTER den Bildern (wie die uebrigen Slider). */
  .rmd-c-mediaband__nav--head{display:none}
  .rmd-c-mediaband__nav--under{display:flex;flex-direction:row;justify-content:center;margin-top:var(--space-6)}
  .rmd-c-mediaband__card{width:min(280px,78vw)}
}
/* Handy: Anschnitt der zweiten Karte EXAKT wie beim Kundenstimmen-Slider (rmd-c-slider, ebenfalls
   ab 640px): Karte 82% der sichtbaren Breite (statt fix 280px gedeckelt - das schnitt die zweite
   Karte auf groesseren Handys staerker an) + gleicher Gap (space-5). Gleiche Container-Polsterung
   (space-6) haben beide bereits -> identischer Peek. */
@media(max-width:640px){
  .rmd-c-mediaband__band{gap:var(--space-5)}
  .rmd-c-mediaband__card{width:82%}
}

/* ===== Prozess-Linie (Vorlage Lichtloesung-Prozess-1a): Kopf (Titel links, Lead rechts) + Schritte
   in einer Reihe an gemeinsamer Haarlinie mit gelben Markern. ===== */
.rmd-c-process{background:var(--color-page);padding:var(--space-section) 0}
.rmd-c-process__head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--space-16);align-items:end;margin-bottom:var(--space-16)}
.rmd-c-process__title{font-family:var(--font-head);font-weight:var(--fw-head);font-size:var(--fs-3xl);letter-spacing:-.03em;line-height:1.05;color:var(--color-headline);margin:var(--space-5) 0 0;text-wrap:balance}
.rmd-c-process__lead{font-family:var(--font-body);font-size:var(--fs-base);line-height:1.55;color:var(--color-text-muted);margin:0;max-width:460px;text-wrap:pretty}
.rmd-c-process__steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--space-14);border-top:1px solid var(--color-hairline)}
.rmd-c-process__step{position:relative;padding-top:var(--space-8)}
.rmd-c-process__step::before{content:"";position:absolute;top:-2px;left:0;width:var(--space-6);height:3px;background:var(--color-signal);border-radius:2px}
.rmd-c-process__num{font-family:var(--font-head);font-weight:var(--fw-bold);font-size:var(--fs-sm);color:var(--color-text-muted);margin-bottom:var(--space-3)}
.rmd-c-process__steptitle{font-family:var(--font-head);font-weight:var(--fw-bold);font-size:var(--fs-lg);letter-spacing:-.01em;color:var(--color-headline);margin:0 0 var(--space-3)}
.rmd-c-process__steptext{font-family:var(--font-body);font-size:var(--fs-sm);line-height:1.55;color:var(--color-text-muted);margin:0;text-wrap:pretty}
@media(max-width:1024px){
  .rmd-c-process{padding:var(--space-14) 0}
  .rmd-c-process__head{grid-template-columns:1fr;gap:var(--space-6);margin-bottom:var(--space-10)}
  .rmd-c-process__steps{grid-template-columns:1fr;gap:0;border-top:none}
  .rmd-c-process__step{border-top:1px solid var(--color-hairline);padding:var(--space-8) 0}
}

/* ===== Vision/Mission Editorial-Zickzack (Vorlage Vision-Mission-3b): Titel + Zeilen mit Bild/Text
   im Wechsel, Bilder in Graustufen -> Hover volle Farbe. ===== */
.rmd-c-vm{background:var(--color-page);padding:var(--space-section) 0}
.rmd-c-vm__title{font-family:var(--font-head);font-weight:var(--fw-head);font-size:var(--fs-3xl);letter-spacing:-.03em;line-height:1.05;color:var(--color-headline);margin:var(--space-5) 0 var(--space-4);max-width:820px;text-wrap:balance}
.rmd-c-vm__subtitle{font-family:var(--font-body);font-size:var(--fs-md);line-height:1.55;color:var(--color-text-muted);margin:0 0 var(--space-10);max-width:640px;text-wrap:pretty}
.rmd-c-vm__row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-16);align-items:center;padding:var(--space-10) 0}
.rmd-c-vm__row--flip{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);padding-bottom:0}
.rmd-c-vm__media{aspect-ratio:4/3;border-radius:var(--radius-card);overflow:hidden;margin:0;background:var(--color-surface)}
.rmd-c-vm__media img{width:100%;height:100%;object-fit:cover;display:block}
.rmd-c-vm__body .rmd-c-eyebrow{margin-bottom:var(--space-4)}
.rmd-c-vm__heading{font-family:var(--font-head);font-weight:var(--fw-bold);font-size:var(--fs-2xl);letter-spacing:-.02em;line-height:1.15;color:var(--color-headline);margin:0 0 var(--space-4);text-wrap:balance}
.rmd-c-vm__text{font-family:var(--font-body);font-size:var(--fs-base);line-height:1.55;color:var(--color-text-muted);margin:0 0 var(--space-6);max-width:460px;text-wrap:pretty}
@media(max-width:1024px){
  .rmd-c-vm{padding:var(--space-14) 0}
  .rmd-c-vm__row,.rmd-c-vm__row--flip{grid-template-columns:1fr;gap:var(--space-6);padding:var(--space-10) 0}
  .rmd-c-vm__row--flip{padding-bottom:0}
  .rmd-c-vm__row--flip .rmd-c-vm__media{order:-1}
  .rmd-c-vm__heading{font-size:var(--fs-xl)}
}
@media(max-width:900px){
  .rmd-c-cta__top{grid-template-columns:1fr;gap:var(--space-8)}
  .rmd-c-cta__facts{grid-template-columns:repeat(2,1fr);row-gap:var(--space-8)}
  .rmd-c-cta__fact,.rmd-c-cta__fact:first-child{padding-left:0;border-left:0}
}
/* SEO-only: im DOM + fuer Screenreader vorhanden, visuell versteckt (Clip). Fuer crawlbare
   Kategorie-Beschreibung ohne sichtbaren "verlorenen" Block. Kein display:none (bleibt zugaenglich). */
.rmd-seo-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}

/* ---- trial: Test-/Probeangebot - helle Kachel, Text links + Bild rechts (eigener Block,
   aus cta herausgeloest). Bauregel 1 (Flaeche statt Rahmen), Bild als inset-Kachel. ---- */
.rmd-c-trial{background:var(--color-surface);border-radius:var(--radius-panel);padding:var(--space-12);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}
.rmd-c-trial__body{min-width:0}
.rmd-c-trial__body .rmd-c-eyebrow{margin-bottom:var(--space-4)}
.rmd-c-trial__headline{font-family:var(--font-head);font-weight:var(--fw-head);color:var(--color-headline);font-size:var(--fs-3xl);line-height:1.15;letter-spacing:-.02em;margin:0 0 var(--space-4)}
.rmd-c-trial__text{color:var(--color-text-muted);font-size:var(--fs-md);line-height:1.7;max-width:52ch;margin:0 0 var(--space-8)}
.rmd-c-trial__media{border-radius:var(--radius-card);overflow:hidden}
.rmd-c-trial__media img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
@media(max-width:900px){
  .rmd-c-trial{grid-template-columns:1fr;gap:var(--space-8);padding:var(--space-8)}
  .rmd-c-trial__media{order:-1}
}

/* Stufe-B Responsive */
@media(max-width:1024px){
  .rmd-c-facts{grid-template-columns:repeat(2,1fr)}
  .rmd-c-facts__cell:nth-child(2n){border-right:none}
  .rmd-c-problem,.rmd-c-cardrow--3,.rmd-c-cardrow--4,.rmd-c-specs{grid-template-columns:1fr}
}
@media(max-width:767px){
  .rmd-c-facts{grid-template-columns:1fr}
  .rmd-c-facts__cell{border-right:none;border-bottom:1px solid var(--color-hairline)}
  .rmd-c-facts__cell:last-child{border-bottom:none}
}

/* ============================================================
   REDAKTION - Content-Bloecke fuer Beitraege/Seiten (Token-basiert)
   ============================================================ */

/* Bild-Helper (Fokus + Platzhalter) */
.rmd-img{display:block;max-width:100%;object-position:center}
.rmd-focus-top{object-position:top}.rmd-focus-bottom{object-position:bottom}
.rmd-focus-left{object-position:left}.rmd-focus-right{object-position:right}
.rmd-img--ph{width:100%;min-height:120px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);color:var(--color-text-muted);font-family:var(--font-head);font-size:var(--fs-sm);text-align:center;padding:var(--space-4)}

/* Prose / Rich-Text */
.rmd-c-prose{max-width:var(--container-narrow);font-size:var(--fs-md);line-height:var(--lh-normal);color:var(--color-text)}
.rmd-c-prose>*+*{margin-top:var(--space-4)}
.rmd-c-prose h2{font-family:var(--font-head);font-size:var(--fs-2xl);font-weight:var(--fw-head);color:var(--color-headline);margin-top:var(--space-10);line-height:var(--lh-tight)}
.rmd-c-prose h3{font-family:var(--font-head);font-size:var(--fs-xl);font-weight:var(--fw-head);color:var(--color-headline);margin-top:var(--space-8);line-height:var(--lh-snug)}
.rmd-c-prose a{color:var(--color-headline);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px;text-decoration-color:var(--color-signal)}
.rmd-c-prose a:hover{background:var(--color-signal-soft)}
.rmd-c-prose strong{font-weight:var(--fw-bold)}
.rmd-c-prose ul,.rmd-c-prose ol{padding-left:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2)}
.rmd-c-prose li::marker{color:var(--color-text-muted)}
.rmd-c-prose blockquote{border-left:4px solid var(--color-signal);padding-left:var(--space-5);font-size:var(--fs-lg);color:var(--color-text-muted)}
.rmd-c-prose img{width:100%;height:auto;border-radius:var(--radius-card)}

/* Lead */
.rmd-c-lead{max-width:var(--container-narrow);font-size:var(--fs-lg);line-height:var(--lh-snug);color:var(--color-text-muted)}


/* Callout */
.rmd-c-callout{max-width:var(--container-narrow);display:flex;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius);background:var(--color-surface);border-left:4px solid var(--color-border)}
.rmd-c-callout--tipp{background:var(--color-signal-soft);border-left-color:var(--color-signal)}
.rmd-c-callout--achtung{background:var(--color-error-bg);border-left-color:var(--color-error)}
.rmd-c-callout__ic{flex:0 0 24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--color-headline)}
.rmd-c-callout__ic .rmd-icon{width:20px;height:20px}
.rmd-c-callout__body b{font-family:var(--font-head);font-size:var(--fs-base);display:block;margin-bottom:2px}
.rmd-c-callout__body p{font-size:var(--fs-sm);color:var(--color-text-muted);margin:0}

/* Inhaltsverzeichnis */
.rmd-c-toc{max-width:520px;background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6)}
.rmd-c-toc h4{font-family:var(--font-head);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:0 0 var(--space-4)}
.rmd-c-toc ol{list-style:none;counter-reset:t;display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0}
.rmd-c-toc li{counter-increment:t;display:flex;gap:var(--space-3);font-size:var(--fs-base)}
.rmd-c-toc li::before{content:counter(t);font-family:var(--font-head);font-weight:var(--fw-bold);font-size:var(--fs-xs);color:var(--color-text-muted);background:var(--color-bg);width:22px;height:22px;border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;flex:0 0 22px;margin-top:2px}
.rmd-c-toc a{color:var(--color-text)}
.rmd-c-toc a:hover{text-decoration:underline;text-decoration-color:var(--color-signal);text-decoration-thickness:2px}

/* Steps */
.rmd-c-steps{max-width:760px;list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.rmd-c-steps__s{display:grid;grid-template-columns:46px 1fr;gap:var(--space-5);padding:var(--space-5) 0;border-top:1px solid var(--color-hairline)}
.rmd-c-steps__s:first-child{border-top:none;padding-top:0}
.rmd-c-steps__n{width:46px;height:46px;border-radius:var(--radius-pill);background:var(--color-signal-soft);font-family:var(--font-head);font-weight:var(--fw-bold);font-size:var(--fs-md);display:flex;align-items:center;justify-content:center}
.rmd-c-steps__c h4{font-size:var(--fs-md);margin:0 0 var(--space-1)}
.rmd-c-steps__c p{font-size:var(--fs-base);color:var(--color-text-muted);margin:0}

/* Takeaways */
.rmd-c-takeaways{max-width:var(--container-narrow);background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6)}
.rmd-c-takeaways h4{font-size:var(--fs-md);margin:0 0 var(--space-4)}
.rmd-c-takeaways ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-3);margin:0;padding:0}
.rmd-c-takeaways li{display:flex;gap:var(--space-3);font-size:var(--fs-base);align-items:flex-start}
.rmd-c-takeaways__i{flex:0 0 18px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;margin-top:3px}
.rmd-c-takeaways__i .rmd-icon{width:18px;height:18px;color:var(--color-headline);stroke-width:2.2}

/* Figure (inhaltsgebunden - kein Crop) */
.rmd-c-figure{max-width:820px;margin:0}
.rmd-c-figure__img{width:100%;height:auto;border-radius:var(--radius-card)}
.rmd-c-figure figcaption{margin-top:var(--space-3);font-size:var(--fs-sm);color:var(--color-text-muted);border-left:3px solid var(--color-signal);padding-left:var(--space-3)}

/* Before/After (formatgebunden 4:3) */
.rmd-c-beforeafter{max-width:820px;margin:0}
.rmd-c-beforeafter__pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.rmd-c-beforeafter__item{position:relative;border-radius:var(--radius-card);overflow:hidden;aspect-ratio:4/3;background:var(--color-surface)}
.rmd-c-beforeafter__item .rmd-img,.rmd-c-beforeafter__item .rmd-img--ph{width:100%;height:100%;object-fit:cover}
.rmd-c-beforeafter__lbl{position:absolute;top:var(--space-3);left:var(--space-3);z-index:1;font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.04em;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-bg);color:var(--color-text)}
.rmd-c-beforeafter__item.is-after .rmd-c-beforeafter__lbl{background:var(--color-signal);color:var(--color-on-signal)}
.rmd-c-beforeafter figcaption{margin-top:var(--space-3);font-size:var(--fs-sm);color:var(--color-text-muted)}

/* Video (klick-to-load) */
.rmd-c-video{max-width:820px;position:relative;border-radius:var(--radius-card);overflow:hidden;background:var(--color-dark);aspect-ratio:16/9}
.rmd-c-video>.rmd-img,.rmd-c-video>.rmd-img--ph{width:100%;height:100%;object-fit:cover;opacity:.72}
.rmd-c-video__play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);cursor:pointer;background:transparent;border:0;width:100%}
.rmd-c-video__pbtn{width:64px;height:64px;border-radius:var(--radius-pill);background:var(--color-signal);display:flex;align-items:center;justify-content:center}
.rmd-c-video__pbtn svg{width:24px;height:24px;fill:var(--color-on-signal);margin-left:3px}
.rmd-c-video__hint{font-size:var(--fs-xs);color:var(--color-on-dark);background:rgba(0,0,0,.45);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill)}
.rmd-c-video__play:focus-visible{outline:3px solid var(--color-signal-hover);outline-offset:-4px}
.rmd-c-video__frame{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Author */
.rmd-c-author{max-width:var(--container-narrow);display:grid;grid-template-columns:72px 1fr;gap:var(--space-4);align-items:center;background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5)}
.rmd-c-author__img{width:72px;height:72px;border-radius:var(--radius-pill);object-fit:cover}
.rmd-c-author__role{font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}
.rmd-c-author__body h4{font-size:var(--fs-base);margin:3px 0 var(--space-1)}
.rmd-c-author__body p{font-size:var(--fs-sm);color:var(--color-text-muted);margin:0}

/* CTA-Banner (im Textfluss) */
.rmd-c-ctabanner{max-width:820px;display:flex;justify-content:space-between;align-items:center;gap:var(--space-5);background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);flex-wrap:wrap}
.rmd-c-ctabanner h4{font-size:var(--fs-lg);margin:0 0 var(--space-1)}
.rmd-c-ctabanner p{font-size:var(--fs-sm);color:var(--color-text-muted);margin:0}

/* Downloads */
.rmd-c-downloads{max-width:640px;display:flex;flex-direction:column;gap:var(--space-3)}
.rmd-c-downloads__item{display:flex;align-items:center;gap:var(--space-4);background:var(--color-surface);border-radius:var(--radius-card);padding:var(--space-4)}
.rmd-c-downloads__item:hover{border-color:var(--color-headline)}
.rmd-c-downloads__ic{flex:0 0 36px;height:36px;border-radius:var(--radius-sm);background:var(--color-surface);display:flex;align-items:center;justify-content:center;color:var(--color-headline)}
.rmd-c-downloads__ic .rmd-icon{width:18px;height:18px}
.rmd-c-downloads__t b{font-family:var(--font-head);font-size:var(--fs-base);display:block}
.rmd-c-downloads__t span{font-size:var(--fs-xs);color:var(--color-text-muted)}

/* Tabelle */
.rmd-c-table{max-width:820px;overflow-x:auto;border-radius:var(--radius-card)}
.rmd-c-table table{width:100%;border-collapse:collapse;min-width:520px}
.rmd-c-table th,.rmd-c-table td{text-align:left;padding:var(--space-4);font-size:var(--fs-sm);border-bottom:1px solid var(--color-hairline)}
.rmd-c-table thead th{font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);background:var(--color-surface)}
.rmd-c-table tbody tr:last-child td{border-bottom:none}
.rmd-c-table td:first-child{font-weight:var(--fw-medium);color:var(--color-headline)}

/* Verwandte Beitraege (formatgebunden 16:10) */
.rmd-c-related{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
.rmd-c-related__r{background:var(--color-surface);border-radius:var(--radius-card);overflow:hidden;display:block;transition:transform .2s}
.rmd-c-related__r:hover{transform:translateY(-3px)}
.rmd-c-related__r .rmd-img,.rmd-c-related__r .rmd-img--ph{width:100%;aspect-ratio:16/10;object-fit:cover}
.rmd-c-related__b{padding:var(--space-4)}
.rmd-c-related__meta{font-size:var(--fs-xs);color:var(--color-text-muted);margin-bottom:var(--space-2)}
.rmd-c-related__b h4{font-size:var(--fs-base);line-height:var(--lh-snug);margin:0}

/* Divider */
.rmd-c-divider{max-width:var(--container-narrow);display:flex;align-items:center;gap:var(--space-4)}
.rmd-c-divider__l{flex:1;height:1px;background:var(--color-border)}
.rmd-c-divider__d{width:26px;height:4px;background:var(--color-signal);border-radius:2px}

@media(max-width:820px){
  .rmd-c-beforeafter__pair,.rmd-c-related{grid-template-columns:1fr}
  .rmd-c-ctabanner{flex-direction:column;align-items:flex-start}
}

/* ============================================================
   SLIDER (generisch) + TILE (Produkt-/Inhalts-Kachel)
   Ein Slider ueberall: slides[] = fertige Karten, cols fuellt die Breite (2|3|4).
   ============================================================ */

/* Globaler Slider (Block slider.php): Zähler oben rechts, Scroll-Snap-Track (cols pro Ansicht),
   zentrierte Pfeil-Buttons darunter, Scrollbar versteckt. Ein Design für PDP-Upsells, Produktgruppen
   der „Leuchten für"-Seite u.a. Nav/Zähler = blocks.js ([data-slider]). */
.rmd-c-slider{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}
.rmd-c-slider__track{display:flex;align-items:flex-start;gap:var(--space-5);overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;scroll-behavior:smooth}
.rmd-c-slider__track::-webkit-scrollbar{display:none}
.rmd-c-slider__slide{min-width:0;scroll-snap-align:start}
.rmd-c-slider__slide>*{width:100%}
/* cols = Karten pro Ansicht (Gap N-1 mal abgezogen) */
.rmd-c-slider--cols-2 .rmd-c-slider__slide{flex:0 0 calc((100% - var(--space-5)) / 2)}
.rmd-c-slider--cols-3 .rmd-c-slider__slide{flex:0 0 calc((100% - 2 * var(--space-5)) / 3)}
.rmd-c-slider--cols-4 .rmd-c-slider__slide{flex:0 0 calc((100% - 3 * var(--space-5)) / 4)}
/* Variante peek: cols Karten voll + ein Drittel der naechsten. Sonst endet eine volle Reihe
   buendig am Rand und sieht aus wie alles, was es gibt. Breite w: 100% = cols*w + cols*gap + w/3. */
.rmd-c-slider--peek.rmd-c-slider--cols-2 .rmd-c-slider__slide{flex:0 0 calc((100% - 2 * var(--space-5)) * 3 / 7)}
.rmd-c-slider--peek.rmd-c-slider--cols-3 .rmd-c-slider__slide{flex:0 0 calc((100% - 3 * var(--space-5)) * 3 / 10)}
.rmd-c-slider--peek.rmd-c-slider--cols-4 .rmd-c-slider__slide{flex:0 0 calc((100% - 4 * var(--space-5)) * 3 / 13)}
.rmd-c-slider__nav{display:flex;gap:10px;justify-content:center}
.rmd-c-slider__navbtn{width:44px;height:44px;border-radius:var(--radius-pill);border:1px solid var(--color-hairline);background:var(--color-bg);box-shadow:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}
.rmd-c-slider__navbtn .rmd-icon{width:18px;height:18px;color:var(--color-headline)}
.rmd-c-slider__navbtn:hover{background:var(--color-surface)!important}
/* Woo/Kadence faerben <button> im :focus/:active gelb (--color-signal, teils !important) UND legen
   teils einen grauen box-shadow drunter. Fuer die Slider-Pfeile beides ausschalten: neutraler weisser
   Kreis ohne Schatten in allen Zustaenden, nur Hover leicht grau. */
.rmd-c-slider__navbtn:focus,.rmd-c-slider__navbtn:active{background:var(--color-bg)!important;box-shadow:none!important}
.rmd-c-slider__navbtn:focus-visible{outline:2px solid var(--color-headline);outline-offset:2px}
.rmd-c-slider__navbtn.is-off{opacity:.35;pointer-events:none}
/* Variante nav-end: Pfeile unten rechts (Kategorie-Sektionen). Track dehnt die Slides auf gleiche
   Hoehe (Backend-Bild-Slide = Kartenhoehe). */
.rmd-c-slider--nav-end .rmd-c-slider__nav{justify-content:flex-end}
.rmd-c-slider--nav-end .rmd-c-slider__track{align-items:stretch}
/* Tablet: 2 pro Ansicht */
@media(max-width:1100px){
  .rmd-c-slider--cols-3 .rmd-c-slider__slide,.rmd-c-slider--cols-4 .rmd-c-slider__slide{flex-basis:calc((100% - var(--space-5)) / 2)}
  .rmd-c-slider--peek.rmd-c-slider--cols-2 .rmd-c-slider__slide,.rmd-c-slider--peek.rmd-c-slider--cols-3 .rmd-c-slider__slide,.rmd-c-slider--peek.rmd-c-slider--cols-4 .rmd-c-slider__slide{flex-basis:calc((100% - 2 * var(--space-5)) * 3 / 7)}
}
/* Handy: 1 mit Peek */
@media(max-width:640px){
  .rmd-c-slider--cols-2 .rmd-c-slider__slide,.rmd-c-slider--cols-3 .rmd-c-slider__slide,.rmd-c-slider--cols-4 .rmd-c-slider__slide,
  .rmd-c-slider--peek.rmd-c-slider--cols-2 .rmd-c-slider__slide,.rmd-c-slider--peek.rmd-c-slider--cols-3 .rmd-c-slider__slide,.rmd-c-slider--peek.rmd-c-slider--cols-4 .rmd-c-slider__slide{flex-basis:82%}
}
@media(prefers-reduced-motion:reduce){.rmd-c-slider__track{scroll-behavior:auto}}

/* Tile: kontaktiertes Produktbild auf Weiss + Body (Eyebrow, Titel, Rating, Spec-Chips, Fusszeile).
   Kein Rahmen, kein Schatten (Bauregel 1) - die weisse Flaeche grenzt sich ueber den getoenten
   Section-Grund ab. Nur ein dezenter Hover-Lift. */
.rmd-c-tile{background:var(--color-bg);border-radius:var(--radius-card);overflow:hidden;display:flex;flex-direction:column;width:100%;transition:transform .2s}
.rmd-c-tile:hover{transform:translateY(-4px)}
/* Bestseller-Hervorhebung: dunkler Rahmen (inset, kein Layout-Shift) + schwarzes Badge. */
.rmd-c-tile--featured{box-shadow:inset 0 0 0 2px var(--color-headline)}
.rmd-c-tile--featured .rmd-c-tile__badge{background:var(--color-headline);color:var(--color-bg)}
/* Bild-Flaeche: feste Feldhoehe ueber min-height (KEIN aspect-ratio!), Freisteller bis 350px.
   object-fit:contain -> NIE anschneiden. WICHTIG: kein aspect-ratio - die Kombination
   aspect-ratio + min-height + overflow:hidden liess iOS-Safari auf schmalen 1-Spalten-Karten das
   breitenbegrenzte Quadratbild oben/unten abschneiden. min-height:390 > Bild(350)+Padding -> passt
   immer. Schmales Seiten-Padding; Badge/Feature-Marker liegen als Overlay in den oberen Ecken. */
.rmd-c-tile__thumb{position:relative;display:flex;align-items:center;justify-content:center;background:var(--color-bg);min-height:390px;padding:var(--space-3) var(--space-5);overflow:hidden}
.rmd-c-tile__thumb .rmd-c-tile__img,.rmd-c-tile__thumb img{width:auto;height:auto;max-width:100%;max-height:350px;object-fit:contain;display:block}
/* Overlay-Zeile: Badge links, Feature-Marker rechts */
.rmd-c-tile__top{position:absolute;top:var(--space-4);left:var(--space-4);right:var(--space-4);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2)}
.rmd-c-tile__badge{font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.08em;background:var(--color-signal);color:var(--color-on-signal);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill)}
/* Angebots-/Rabatt-Badge: Rot mit weisser Schrift (getrennt vom Signal-Gelb) */
.rmd-c-tile__badge--sale{background:var(--color-sale);color:var(--color-bg)}
.rmd-c-tile__feat{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--color-surface);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);margin-left:auto}
.rmd-c-tile__feat svg,.rmd-c-tile__feat .rmd-icon{width:15px;height:15px;flex:0 0 15px}
/* Monochrome (Lucide) einfaerben; Brand-Icons (mehrfarbig) NICHT umfaerben */
.rmd-c-tile__feat svg:not(.rmd-icon--brand),.rmd-c-tile__feat .rmd-icon:not(.rmd-icon--brand){stroke:var(--color-headline);fill:none;stroke-width:1.6}
.rmd-c-tile__feat span{font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-bold)}
.rmd-c-tile__body{padding:var(--space-3) var(--space-6) var(--space-6);display:flex;flex-direction:column;flex:1}
.rmd-c-tile__eyebrow{font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);margin-bottom:var(--space-2)}
.rmd-c-tile__title{font-family:var(--font-head);font-weight:var(--fw-semibold);font-size:var(--fs-lg);letter-spacing:-.02em;line-height:1.15;color:var(--color-headline);text-decoration:none}
/* Titel-Praefix (z.B. "LED Praxisleuchte"): optisch ausgeblendet, aber im DOM/Link-Text erhalten
   (SEO + Screenreader lesen den vollen Produktnamen; sichtbar bleibt nur der unterscheidende Teil). */
.rmd-c-tile__titlepre{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Rating als Zeile unter dem Titel */
.rmd-c-tile__rate{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--color-text-muted);margin-top:var(--space-3)}
.rmd-c-tile__stars{color:var(--color-star);font-size:var(--fs-xs);letter-spacing:1px}
/* Ohne Bewertung: leere (nicht ausgemalte) Sterne in Grau + "0 (0)" statt gar keinem Rating. */
.rmd-c-tile__stars--empty{color:var(--color-border-strong)}
/* Specs als Chips: Wert fett + optionales Label (entfaellt bei selbsterklaerendem Wert) */
.rmd-c-tile__chips{display:flex;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-4) 0 var(--space-5)}
.rmd-c-tile__chip{background:var(--color-surface);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);font-size:var(--fs-xs);white-space:nowrap;line-height:1.3}
.rmd-c-tile__chip b{font-family:var(--font-head);font-weight:var(--fw-bold);letter-spacing:-.01em;color:var(--color-headline)}
.rmd-c-tile__chip span{color:var(--color-text-muted)}
/* Mindestabstand zum Trenner: Karten OHNE Spec-Chips (z.B. Zubehoer ohne Lux/CRI) klebten mit der
   Bewertung direkt an der Fusszeilen-Trennlinie. Das Element unmittelbar VOR der Fusszeile (Rating,
   sonst Titel) bekommt daher etwas Luft. Bei vorhandenen Chips greift es nicht (Chips liefern die
   Luft selbst) -> kein doppelter Abstand. margin-top:auto der Fusszeile bleibt (schiebt sie nach
   unten), dieser Mindestabstand kommt additiv obendrauf. */
.rmd-c-tile__body > :has(+ .rmd-c-tile__foot){margin-bottom:var(--space-5)}
/* Fusszeile: Trennlinie, dann Preis+CTA in einer Zeile, darunter optionale Mikro-Trust-Zeile */
.rmd-c-tile__foot{margin-top:auto;padding-top:var(--space-5);border-top:1px solid var(--color-hairline);display:flex;flex-direction:column;gap:var(--space-3)}
.rmd-c-tile__footrow{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3)}
.rmd-c-tile__trust{font-size:var(--fs-xs);color:var(--color-text-muted);line-height:1.3}
.rmd-c-tile__price{font-family:var(--font-head);font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:-.02em;line-height:1;color:var(--color-headline);white-space:nowrap}
.rmd-c-tile__price small{display:block;font-family:var(--font-body);font-size:var(--fs-xs);font-weight:var(--fw-regular);color:var(--color-text-muted);margin-top:var(--space-1);letter-spacing:0}
.rmd-c-tile__price .woocommerce-Price-amount{white-space:nowrap}
/* Angebot: Grundpreis durchgestrichen + gedaempft, Aktionspreis wie normaler Preis (Rabatt sagt das Badge) */
.rmd-c-tile__price del{margin-right:var(--space-2);font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--color-text-muted);text-decoration:line-through}
.rmd-c-tile__price ins{text-decoration:none;color:inherit}
.rmd-c-tile__cta{font-family:var(--font-head);font-weight:var(--fw-bold);font-size:var(--fs-sm);color:var(--color-on-signal);display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);background:var(--color-signal);transition:background .15s;white-space:nowrap;text-decoration:none}
.rmd-c-tile__cta:hover{background:var(--color-signal-hover)}
.rmd-c-tile__cta svg,.rmd-c-tile__cta .rmd-icon{width:14px;height:14px;flex:0 0 14px;stroke:currentColor;fill:none;stroke-width:2.4}
.rmd-c-tile__foot .rmd-c-btn{flex:0 0 auto}

/* ============================================================
   MEDIA-BLOECKE (Home/Landing): imggrid, grid
   Nach den Bauregeln: Flaeche statt Rahmen, Karten-/Panel-Radius, Freisteller nie anschneiden.
   (mediatext entfernt - die Bild+Text-Kachel deckt jetzt die cta-Split-Variante ab.)
   ============================================================ */

/* Image-Gallerie: erstes Bild gross (2 Zeilen), Rest im Raster, Overlay-Zaehler auf dem letzten. */
.rmd-c-imggrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--space-3)}
.rmd-c-imggrid a{position:relative;border-radius:var(--radius-card);overflow:hidden;background:var(--color-surface)}
.rmd-c-imggrid a:first-child{grid-row:span 2}
.rmd-c-imggrid img{width:100%;height:100%;object-fit:cover;aspect-ratio:1;transition:transform .35s}
.rmd-c-imggrid a:first-child img{aspect-ratio:auto;min-height:240px}
.rmd-c-imggrid a:hover img{transform:scale(1.04)}
.rmd-c-imggrid__ov{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(13,16,18,.55);color:var(--color-on-dark);font-family:var(--font-head);font-size:var(--fs-xl);font-weight:var(--fw-bold)}

/* Produkt-Grid: Kategorie-Raster aus tile-Karten. Reiner Layout-Wrapper. */
.rmd-c-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}

@media(max-width:1024px){
  .rmd-c-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767px){
  .rmd-c-imggrid{grid-template-columns:1fr 1fr}
  .rmd-c-grid{grid-template-columns:1fr}
}

/* ===== Kategoriekarte (cat-tile, Spec rmd-c-cat-tile.html 2026-07-23, ersetzt catcard) =====
   Ebene Kategorie: Bild 1:1 auf Surface (contain + 8% Innenabstand - Freisteller nie angeschnitten,
   Hover-Zoom), Name (min-height fuer gleiche Hoehen), Kurztext, Footer "Modelle ansehen" + runder
   Pfeil. BEWUSST kein Preis, keine Modellzahl, keine Test-Zeile. Beratungs-Karte gleiche Familie. */
.rmd-c-cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
.rmd-c-cat-tile{background:var(--color-bg);border-radius:var(--radius-card);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;transition:transform .2s}
.rmd-c-cat-tile:hover{transform:translateY(-4px)}
.rmd-c-cat-tile__m{background:var(--color-bg);aspect-ratio:1;overflow:hidden;display:block}
.rmd-c-cat-tile__m img{width:100%;height:100%;object-fit:contain;padding:8%;display:block;transition:transform .4s cubic-bezier(.2,.7,.3,1)}
.rmd-c-cat-tile:hover .rmd-c-cat-tile__m img{transform:scale(1.05)}
/* Icon-Platzhalter im Bildfeld (bildlose Kacheln, z.B. Anwendungsbereiche ohne Freisteller):
   ruhiges Outline-Icon auf Surface-Grau, Hover -> Headline-Farbe + leichter Zoom. */
.rmd-c-cat-tile__m--icon{background:var(--color-surface);display:flex;align-items:center;justify-content:center}
.rmd-c-cat-tile__m--icon .rmd-icon{width:80px;height:80px;color:var(--color-icon-quiet);transition:color .28s ease,transform .4s cubic-bezier(.2,.7,.3,1)}
.rmd-c-cat-tile:hover .rmd-c-cat-tile__m--icon .rmd-icon{color:var(--color-headline);transform:scale(1.06)}
.rmd-c-cat-tile__b{padding:var(--space-6);display:flex;flex-direction:column;flex:1}
.rmd-c-cat-tile__n{font-family:var(--font-head);font-weight:var(--fw-head);font-size:var(--fs-lg);letter-spacing:-.03em;line-height:var(--lh-tight);color:var(--color-headline);margin-bottom:var(--space-2);min-height:2.2em}
.rmd-c-cat-tile__t{font-size:var(--fs-sm);color:var(--color-text-muted);line-height:var(--lh-normal);margin-bottom:var(--space-5)}
.rmd-c-cat-tile__f{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
.rmd-c-cat-tile__l{font-family:var(--font-head);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--color-text)}
.rmd-c-cat-tile__go{width:40px;height:40px;border-radius:var(--radius-pill);background:var(--color-surface);display:flex;align-items:center;justify-content:center;flex:0 0 40px;transition:background .18s}
.rmd-c-cat-tile__go svg,.rmd-c-cat-tile__go .rmd-icon{width:15px;height:15px;stroke:var(--color-headline);fill:none;stroke-width:2.2;transition:transform .18s}
.rmd-c-cat-tile:hover .rmd-c-cat-tile__go{background:var(--color-signal)}
.rmd-c-cat-tile:hover .rmd-c-cat-tile__go svg,.rmd-c-cat-tile:hover .rmd-c-cat-tile__go .rmd-icon{transform:translateX(2px)}
.rmd-c-cat-tile:focus-visible{outline:2px solid var(--color-headline);outline-offset:3px}
/* Anwendungsbereich-Karte (area-tile): cat-tile-Optik, aber Footer mit KOMPAKTEN Buttons
   (Produkt-Links primary, Wissen-Links ghost) statt Ganz-Karte-Link - je Bereich beliebig viele.
   Nutzt die cat-tile-Innenklassen; Name/Buttons bewusst etwas kleiner (weniger gedraengt). */
.rmd-c-area-tile{background:var(--color-bg);border-radius:var(--radius-card);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s}
.rmd-c-area-tile:hover{transform:translateY(-4px)}
.rmd-c-area-tile:hover .rmd-c-cat-tile__m--icon .rmd-icon{color:var(--color-headline);transform:scale(1.06)}
.rmd-c-area-tile:hover .rmd-c-cat-tile__m img{transform:scale(1.05);filter:none}
/* ACF-Bereichsbild = Foto (kein Freisteller) -> Flaeche fuellen statt einpassen. Standard graustufig
   (ruhiger, einheitlicher Grid, Gelb = einziger Akzent), beim Hover volle Farbe - "Karte erwacht".
   Mobil ohne Hover bleibt es grau (stimmig). Nur Foto-Kacheln; Icon-Kacheln haben kein img. */
.rmd-c-area-tile .rmd-c-cat-tile__m img{object-fit:cover;padding:0;filter:grayscale(1) contrast(1.02);transition:transform .4s cubic-bezier(.2,.7,.3,1),filter .35s ease}
.rmd-c-area-tile .rmd-c-cat-tile__n{font-size:var(--fs-md);min-height:0;margin-bottom:var(--space-2)}
.rmd-c-area-tile .rmd-c-cat-tile__t{margin-bottom:var(--space-5)}
/* Footer HIERARCHISCH (leichter, v.a. mobil): oben Produkt-Haupt-Button(s) primary; darunter die
   Wissen-Links als dezente Text-Links (kein Button-Block) statt einer zweiten schweren Pill-Reihe. */
.rmd-c-area-tile__f{margin-top:auto;display:flex;flex-direction:column;gap:var(--space-4)}
/* Produkt-Buttons je Bereich: Outline-Pillen (ghost) mit bereichs-eigenem Icon rechts (statt
   Pfeil). EIN Button -> volle Breite; mehrere -> kompakt, umbrechend. Label = spezifischer Bereich. */
.rmd-c-area-tile__row{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.rmd-c-area-tile__row .rmd-c-btn{flex:0 1 auto;height:38px;font-size:var(--fs-sm);padding:0 var(--space-4);gap:var(--space-2)}
.rmd-c-area-tile__row .rmd-c-btn:only-child{flex:1 1 100%}
.rmd-c-area-tile__row .rmd-c-btn--ghost{border-color:var(--color-border-strong)}
.rmd-c-area-tile__row .rmd-c-btn .rmd-icon{width:16px;height:16px} /* Icon = Textfarbe (currentColor), dunkel wie das Label */
/* Icon ist ein Bereichs-Marker, kein Pfeil -> beim Hover NICHT verschieben. */
.rmd-c-area-tile__row .rmd-c-btn:hover .rmd-icon{transform:none}
/* Wissen = dezente Text-Links (Pfeil wandert beim Hover). Mehrere -> nebeneinander/umbrechend. */
.rmd-c-area-tile__wissen{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-5)}
.rmd-c-area-tile__wl{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-head);font-weight:var(--fw-semibold);font-size:var(--fs-sm);color:var(--color-text);text-decoration:none;transition:color .15s}
.rmd-c-area-tile__wl .rmd-icon{width:14px;height:14px;color:var(--color-icon-quiet);transition:transform .18s ease,color .15s}
.rmd-c-area-tile__wl:hover{color:var(--color-headline)}
.rmd-c-area-tile__wl:hover .rmd-icon{transform:translateX(3px);color:var(--color-headline)}
.rmd-c-area-tile__wl:focus-visible{outline:2px solid var(--color-headline);outline-offset:3px;border-radius:2px}
/* ===== Beratungskachel (cat-help, Spec rmd-c-cat-help.html 2026-07-23, ersetzt cat-tile--help) =====
   Ebene Global - EINE Quelle, letzte Position im Kategorie-Raster. Dunkles Panel mit weichem
   Lichtschein oben rechts (pures CSS, kein Bild), Icon-Kreis, Haken-Punkteliste zwischen dunklen
   Haarlinien, Pill-CTA (der einzige Signal-Traeger der Kachel-Reihe). */
.rmd-c-cat-help{background:var(--color-dark);border-radius:var(--radius-card);padding:var(--space-8);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.rmd-c-cat-help::before{content:"";position:absolute;top:-90px;right:-90px;width:290px;height:290px;border-radius:50%;background:radial-gradient(circle, color-mix(in srgb, var(--color-signal) 24%, transparent) 0%, color-mix(in srgb, var(--color-signal) 8%, transparent) 45%, transparent 70%);pointer-events:none}
.rmd-c-cat-help__in{position:relative;z-index:1;display:flex;flex-direction:column}
.rmd-c-cat-help__ic{width:52px;height:52px;border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-on-dark) 7%, transparent);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-5);flex:0 0 auto}
/* Farbe via color/currentColor (das globale .rmd-icon-System setzt stroke:currentColor und
   kommt spaeter in der Kaskade - direktes stroke wuerde verlieren); Strichstaerke mit hoeherer
   Spezifitaet gegen die globale stroke-width:2. */
.rmd-c-cat-help__ic svg,.rmd-c-cat-help__ic .rmd-icon{width:26px;height:26px;color:var(--color-signal);stroke:var(--color-signal);fill:none}
.rmd-c-cat-help .rmd-c-cat-help__ic .rmd-icon{stroke-width:1.5}
.rmd-c-cat-help__h{color:var(--color-on-dark);font-family:var(--font-head);font-weight:var(--fw-head);font-size:var(--fs-xl);letter-spacing:-.03em;line-height:var(--lh-tight);margin:0 0 var(--space-3)}
.rmd-c-cat-help__t{color:var(--color-on-dark-muted);font-size:var(--fs-sm);line-height:var(--lh-normal);margin:0 0 var(--space-6)}
.rmd-c-cat-help__pts{list-style:none;margin:0 0 var(--space-6);padding:0}
.rmd-c-cat-help__pts li{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--color-on-dark-muted);padding:var(--space-2) 0;border-top:1px solid var(--color-hairline-dark)}
.rmd-c-cat-help__pts li:last-child{border-bottom:1px solid var(--color-hairline-dark)}
.rmd-c-cat-help__pts svg,.rmd-c-cat-help__pts .rmd-icon{width:14px;height:14px;color:var(--color-signal);stroke:var(--color-signal);fill:none;flex:0 0 14px}
.rmd-c-cat-help .rmd-c-cat-help__pts .rmd-icon{stroke-width:2.4}
.rmd-c-cat-help__cta{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-head);font-weight:var(--fw-bold);font-size:var(--fs-sm);background:var(--color-signal);color:var(--color-on-signal);padding:var(--space-3) var(--space-6);border-radius:var(--radius-pill);align-self:flex-start;text-decoration:none;transition:background .15s}
.rmd-c-cat-help__cta:hover{background:var(--color-signal-hover)}
.rmd-c-cat-help__cta:focus-visible{outline:2px solid var(--color-on-dark);outline-offset:3px}
.rmd-c-cat-help__cta svg,.rmd-c-cat-help__cta .rmd-icon{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.2;transition:transform .18s}
.rmd-c-cat-help__cta:hover svg,.rmd-c-cat-help__cta:hover .rmd-icon{transform:translateX(3px)}
@media(prefers-reduced-motion:reduce){
  .rmd-c-cat-tile,.rmd-c-area-tile,.rmd-c-cat-tile__m img,.rmd-c-cat-tile__go svg{transition:none}
}
@media(max-width:1000px){
  .rmd-c-cat-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .rmd-c-cat-grid{grid-template-columns:1fr}
  .rmd-c-cat-tile__n{min-height:0}
  .rmd-c-cat-tile__b{padding:var(--space-5) var(--space-5) var(--space-6)}
  .rmd-c-cat-help{padding:var(--space-6) var(--space-5)}
  .rmd-c-cat-help::before{top:-70px;right:-70px;width:220px;height:220px}
}

/* ===== Buy-Box-Bausteine =====
   Aus inc/single-product.php herausgeloest (waren dort Inline-Markup + eigene Klassen).
   Werte 1:1 uebernommen, damit sich optisch nichts verschiebt. Tokenisiert wurde nur, wo der
   Wert IDENTISCH bleibt (999px -> --radius-pill, 700 -> --fw-bold, 14px -> --fs-sm).
   SCHULD (bewusst offen, waere sonst eine stille Design-Aenderung): 30px, 13.5px, 16.5px, 11px,
   92px, 22px, 9px, 18px haben keine Token-Entsprechung. Beim naechsten Buy-Box-Design angleichen. */
.rmd-c-pricebox{background:none;border:0;border-radius:0;padding:0;margin-bottom:var(--space-5);max-width:480px}
/* Preis bold, kompakt: 28px (Kundenwunsch) - kraeftig, aber nicht erschlagend. */
.rmd-c-pricebox__price{font-family:var(--font-head);font-size:28px;font-weight:var(--fw-bold);letter-spacing:-.03em;line-height:1;color:var(--color-headline)}
.rmd-c-pricebox__price del{color:var(--color-text-muted);font-weight:var(--fw-medium);font-size:20px;margin-right:var(--space-2)}
.rmd-c-pricebox__price ins{text-decoration:none}
.rmd-c-pricebox__note{font-size:13.5px;color:var(--color-text-muted);margin-top:var(--space-1)}
.rmd-c-pricebox__note b{color:var(--color-text)}
.rmd-c-pricebox__sku{font-size:var(--fs-sm);color:var(--color-text-muted);margin-top:var(--space-2)}
.rmd-c-pricebox__sku[hidden]{display:none}
.rmd-c-pricebox__sku-val{color:var(--color-text);font-weight:var(--fw-medium)}
.rmd-c-pricebox__anchor{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-hairline);font-size:var(--fs-sm);color:var(--color-text-muted);display:flex;align-items:center;gap:var(--space-2)}
.rmd-c-pricebox__anchor b{color:var(--color-text)}
.rmd-c-pricebox__anchor svg{width:16px;height:16px;flex:0 0 16px;stroke:var(--color-text-muted);fill:none}

/* Test-CTA - dunkel. Der gelbe CTA der Buy-Box ist der Warenkorb-Button; genau EIN Signal-
   Traeger pro Viewport (Eiserne Regel). Vorher waren beide gelb - siehe design-system.md. */
/* WICHTIG: Test-CTA ist als <button> im .woocommerce-Kontext - Woo/Kadence faerben Buttons in
   :focus/:active gelb (--color-signal, teils !important). Nach Oeffnen+Schliessen des Popups kehrt
   der Fokus hierher zurueck -> Button wurde gelb. Farbe daher in ALLEN Zustaenden hart auf Dunkel
   pinnen (!important schlaegt Woo). Der Signal-Traeger bleibt ausschliesslich der Warenkorb-Button. */
.rmd-c-testcta,.rmd-c-testcta:focus,.rmd-c-testcta:active,.rmd-c-testcta:focus-visible{font-family:var(--font-head);display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;height:var(--btn-height-lg);box-sizing:border-box;background:var(--btn-dark-bg)!important;color:var(--btn-dark-text)!important;border:1.5px solid transparent;font-size:var(--fs-base);font-weight:var(--fw-bold);padding:0 var(--space-6);border-radius:var(--radius-pill);cursor:pointer;margin-top:var(--space-2);text-decoration:none;box-shadow:var(--shadow-cta);transition:background .15s}
.rmd-c-testcta:hover{background:var(--btn-dark-bg-hover)!important;color:var(--btn-dark-text)!important}
.rmd-c-testcta:focus:not(:focus-visible){outline:none}
.rmd-c-testcta:focus-visible{outline:2px solid var(--color-headline);outline-offset:2px}
.rmd-c-testcta svg{width:18px;height:18px;stroke:currentColor;fill:none;flex:0 0 auto}
.rmd-c-testcta__note{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--color-text-muted);text-align:center;margin:var(--space-2) 0 0}
.rmd-c-testcta__note a{color:var(--color-link);text-decoration:underline;text-underline-offset:2px}
.rmd-c-testcta__note a:hover{color:var(--color-link-hover)}

/* Meta-Liste (Variante 2a "Fetter Kern + Erklaerzeile"): EINE Surface-Box, Zeilen durch Haarlinien
   getrennt; je Zeile Icon + fetter Kern + gedaempfte Erklaerzeile. Ersetzt die 3 einzelnen weissen Kaesten. */
.rmd-c-buymeta{background:var(--color-surface);border-radius:var(--radius-card);padding:2px 24px;margin-top:var(--space-4);font-family:var(--font-body)}
.rmd-c-buymeta__row{display:flex;align-items:flex-start;gap:14px;padding:14px 0}
.rmd-c-buymeta__row+.rmd-c-buymeta__row{border-top:1px solid var(--color-hairline)}
.rmd-c-buymeta__row[hidden]{display:none}
.rmd-c-buymeta__icon{flex:0 0 auto;display:flex;color:var(--color-headline);padding-top:2px}
.rmd-c-buymeta__icon .rmd-icon,.rmd-c-buymeta__icon svg{width:22px;height:22px;fill:none}
.rmd-c-buymeta__body{display:flex;flex-direction:column;min-width:0}
.rmd-c-buymeta__kern{font-family:var(--font-head);font-size:14px;font-weight:var(--fw-semibold);color:var(--color-headline);line-height:1.25}
.rmd-c-buymeta__erklaerung{font-size:13px;color:var(--color-text-muted);line-height:1.45;margin-top:1px}
/* Der (legacy) Lieferzeit-Platz nimmt das verschobene Germanized-Element auf - Abstaende neutralisieren. */
.rmd-c-buymeta__slot .wc-gzd-additional-info{margin:0!important;padding:0!important;font-size:inherit!important;color:inherit!important}

/* Persona / Risk-Reversal: helle Kachel, Bild links + Text rechts. Bewusst kompakt gehalten
   (radius-card, space-6, straffe Textgroessen) - Bauregel 1: Flaeche statt Rahmen. */
.rmd-c-persona{background:var(--color-surface);border-radius:var(--radius-card);padding:var(--space-6);margin-top:var(--space-5)}
.rmd-c-persona--media{display:grid;grid-template-columns:180px 1fr;gap:var(--space-6);align-items:stretch}
.rmd-c-persona__media{border-radius:var(--radius);overflow:hidden;min-height:150px}
.rmd-c-persona__media img{width:100%;height:100%;object-fit:cover;display:block}
.rmd-c-persona__body{align-self:center;min-width:0}
.rmd-c-persona .rmd-c-eyebrow{margin-bottom:var(--space-3)}
.rmd-c-persona__head{font-family:var(--font-head);font-weight:var(--fw-head);font-size:var(--fs-lg);letter-spacing:-.01em;line-height:1.25;color:var(--color-headline);margin:0 0 var(--space-2)}
.rmd-c-persona__text{font-size:var(--fs-base);color:var(--color-text-muted);line-height:1.6;margin:0}
.rmd-c-persona__text b{color:var(--color-text);font-weight:var(--fw-semibold)}
@media(max-width:640px){
  .rmd-c-persona--media{grid-template-columns:1fr}
  .rmd-c-persona__media{max-height:200px}
}

@media(max-width:767px){
  .rmd-c-pricebox__price{font-size:var(--fs-3xl)}
  /* USP-Text mobil feiner - haelt den Wert, den die PDP vor dem Kapseln hatte. */
  .rmd-c-usps li{font-size:var(--fs-sm)}
}

/* ===== rmd-c-scope: Lieferumfang + optionales Zubehoer (zwei Zonen, Haarlinie dazwischen) =====
   Flaeche statt Box (kein Rahmen), Haarlinie trennt, Icons ohne Kachel, kein Gelb (bleibt dem CTA).
   Werte aus Tokens; nichts aus der Design-Vorlage inline uebernommen. */
.rmd-c-scope{border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface);margin:0 0 var(--space-4)}

/* Zone "Dabei" */
.rmd-c-scope__in{padding:var(--space-5)}
.rmd-c-scope__t{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}
.rmd-c-scope__chk{width:18px;height:18px;border-radius:var(--radius-pill);background:var(--color-success);display:flex;align-items:center;justify-content:center;flex:0 0 18px}
.rmd-c-scope__chk .rmd-icon{width:13px;height:13px;display:block;vertical-align:0;stroke:var(--color-on-dark,#fff);color:var(--color-on-dark,#fff);stroke-width:3.2;fill:none}
/* "Optional ergaenzen"-Badge: dunkler Kreis + weisses Plus (Gruen bleibt Signal fuer "gratis dabei"). */
.rmd-c-scope__add{width:18px;height:18px;border-radius:var(--radius-pill);background:var(--color-headline);display:flex;align-items:center;justify-content:center;flex:0 0 18px}
.rmd-c-scope__add .rmd-icon{width:13px;height:13px;display:block;vertical-align:0;stroke:var(--color-on-dark,#fff);color:var(--color-on-dark,#fff);stroke-width:3.2;fill:none}
.rmd-c-scope__lbl{font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text)}
/* "Dabei"-Chips: weisse Pillen mit weichem Schatten + gruenem Haken, inline (flex-wrap). */
.rmd-c-scope__grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}
/* Reine Info-Chips: flach, WEISS, ohne Rand und ohne Schatten -> wirken nicht klickbar. */
.rmd-c-scope__i{background:var(--color-bg);border-radius:var(--radius-pill);padding:8px 15px;display:inline-flex;align-items:center;gap:8px}
.rmd-c-scope__ichk{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
/* Haken gruen: ueber color (currentColor) - die globale .rmd-icon-Regel setzt stroke:currentColor. */
.rmd-c-scope__ichk .rmd-icon{width:15px;height:15px;color:var(--color-success);stroke-width:2.8;fill:none}
.rmd-c-scope__i span:last-child{font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-bold);line-height:1.2;color:var(--color-headline)}

/* Trenner */
.rmd-c-scope__sep{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-5)}
.rmd-c-scope__sep::before,.rmd-c-scope__sep::after{content:"";flex:1;height:1px;background:var(--color-hairline)}
.rmd-c-scope__sep span{font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}

/* Zone "Optional" - Kopf wie "Dabei" (Icon links); Haarlinie oben trennt von der "Dabei"-Zone. */
.rmd-c-scope__opt{padding:var(--space-5);border-top:1px solid var(--color-hairline)}
.rmd-c-scope__hint{font-size:var(--fs-sm);color:var(--color-text-muted);margin:0 0 var(--space-3);line-height:1.5}
.rmd-c-scope__o{display:flex;align-items:center;gap:var(--space-3);background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius);padding:11px 13px;margin-bottom:var(--space-2);cursor:pointer;transition:border-color .15s;position:relative;min-width:0;box-sizing:border-box}
.rmd-c-scope__o:last-child{margin-bottom:0}
/* Hover: dezente Umrandung wie im Checkout (Fuellung wird NICHT geaendert). */
.rmd-c-scope__o:hover{border-color:var(--color-headline)}
/* Checkbox visuell versteckt (nicht display:none - bleibt fokussierbar) */
.rmd-c-scope__o input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.rmd-c-scope__o:focus-within{outline:2px solid var(--color-headline);outline-offset:2px}
.rmd-c-scope__box{width:18px;height:18px;border-radius:var(--radius-sm);border:1.5px solid var(--color-border-strong);flex:0 0 18px;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}
/* Haken: stroke MIT #fff-Fallback + zusaetzlich color (falls das Inline-stroke="currentColor" der
   SVG greift, wenn ein Token in einer alten tokens.css fehlt - sonst dunkler Haken auf schwarzem
   Kasten = unsichtbar; gleiche Fallen-Klasse wie --lh-flat, siehe design-system.md Kap. 9). */
.rmd-c-scope__box .rmd-icon{width:12px;height:12px;stroke:var(--color-on-dark,#fff);color:var(--color-on-dark,#fff);stroke-width:4;fill:none;opacity:0;transition:opacity .15s}
/* Checked-Zustand doppelt: .is-on (JS) UND natives input:checked (rein CSS) - der Haken erscheint
   damit auch, wenn das JS nicht laeuft oder .is-on ausbleibt. */
.rmd-c-scope__o.is-on .rmd-c-scope__box,
.rmd-c-scope__o input:checked~.rmd-c-scope__box{background:var(--color-headline);border-color:var(--color-headline)}
.rmd-c-scope__o.is-on .rmd-c-scope__box .rmd-icon,
.rmd-c-scope__o input:checked~.rmd-c-scope__box .rmd-icon{opacity:1}
.rmd-c-scope__img{width:64px;height:64px;flex:0 0 64px;display:flex;align-items:center;justify-content:center}
.rmd-c-scope__img img{width:100%;height:100%;object-fit:contain}
/* Name + Preis: Desktop nebeneinander (Preis rechts). */
.rmd-c-scope__body{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
.rmd-c-scope__n{min-width:0;font-size:var(--fs-sm);line-height:1.3;color:var(--color-text)}
.rmd-c-scope__p{font-family:var(--font-head);font-size:var(--fs-sm);font-weight:var(--fw-bold);white-space:nowrap;color:var(--color-headline)}
/* Nicht lieferbar */
.rmd-c-scope__o.is-out{opacity:.55;cursor:not-allowed}
.rmd-c-scope__o.is-out .rmd-c-scope__p{font-weight:var(--fw-medium);color:var(--color-text-muted)}
/* passt-zu-Kopplung: Zubehoer, das zur gewaehlten Ausfuehrung NICHT passt, wird ausgegraut +
   gesperrt (durchgestrichen) statt ausgeblendet - gleiche Sprache wie die Varianten-Kacheln (.is-off). */
.rmd-c-scope__o.is-off{opacity:.5;cursor:not-allowed;pointer-events:none}
.rmd-c-scope__o.is-off .rmd-c-scope__n{text-decoration:line-through;text-decoration-thickness:1px;color:var(--color-text-muted)}
/* Wartet auf Farbwahl (variables Zubehoer): dezent gedaempft, Hinweis "Farbe waehlen" statt Preis,
   kein einladender Hover (der Klick tut nichts, bis die Farbe steht). */
.rmd-c-scope__o.is-await{cursor:default}
.rmd-c-scope__o.is-await .rmd-c-scope__n{color:var(--color-text-muted)}
.rmd-c-scope__o.is-await:hover{border-color:var(--color-border)}
.rmd-c-scope__hint-color{font-family:var(--font-body);font-weight:var(--fw-regular);font-style:italic;color:var(--color-text-muted);white-space:nowrap}

@media(max-width:560px){
  .rmd-c-scope__grid{grid-template-columns:1fr}
  /* Option: Name + Preis stapeln (Preis unter dem Namen), damit ein langer Name nicht gegen
     den Preis quetscht. Bild etwas kleiner, damit der Text mehr Breite bekommt. */
  .rmd-c-scope__body{flex-direction:column;align-items:flex-start;gap:2px}
  .rmd-c-scope__img{width:52px;height:52px;flex:0 0 52px}
}

/* ============================================================
   KATEGORIESEITE (woocommerce/archive-product.php)
   Breadcrumb + Extra-Placeholder hier GLOBAL (auf der PDP liegen sie zusaetzlich in
   single-product.css; Werte identisch, dort gewinnt die spaeter geladene Datei).
   ============================================================ */
.rmd-breadcrumb{font-size:var(--fs-sm);color:var(--color-text-muted);padding:var(--space-6) 0 var(--space-4)}
.rmd-breadcrumb a{color:var(--color-text-muted);text-decoration:none}
.rmd-breadcrumb a:hover{color:var(--color-text)}
/* Rechtstexte-Seiten (inc/legal-pages.php): der Kadence-Entry-Hero ist hier display:none, die
   sichtbare Ueberschrift ist die <h2> IM Inhalt. Deshalb: Breadcrumb oben im Inhalt (the_content)
   + Inhalts-Ueberschrift auf dem Handy kleiner/umbruchsicher, damit "Datenschutzerklaerung" passt. */
.rmd-legalpage .rmd-legalpage__crumb{padding:0 0 var(--space-4)}
.rmd-legalpage .rmd-legalpage__crumb span{color:var(--color-headline)}
/* "Stand: Monat Jahr"-Zeile direkt unter der Titel-Ueberschrift (dezent, gedaempft). */
.rmd-legalpage .rmd-legalpage__stand{margin:0 0 var(--space-6);color:var(--color-text-muted);font-size:var(--fs-sm)}
/* Breadcrumb weiter nach oben: Kadence' grossen Abstand ueber der Inhaltskarte + oberes Innenpadding kuerzen. */
.rmd-legalpage .content-area{margin-top:1.5rem}
.rmd-legalpage .entry-content-wrap{padding-top:1.25rem}
@media(max-width:767px){.rmd-legalpage .content-area{margin-top:.75rem}.rmd-legalpage .entry-content-wrap{padding-top:1rem}}
.rmd-legalpage .entry-content > h1:first-child,.rmd-legalpage .entry-content > h2:first-child{margin-top:0}
.rmd-legalpage .entry-content h1,.rmd-legalpage .entry-content h2{overflow-wrap:break-word;hyphens:auto}
@media(max-width:600px){.rmd-legalpage .entry-content h1,.rmd-legalpage .entry-content h2{font-size:var(--fs-xl);line-height:1.3}}

.rmd-extra-ph{border:2px dashed var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-8);text-align:center;background:var(--color-surface)}
.rmd-extra-ph__tag{display:inline-block;font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);background:var(--color-signal-soft);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);margin-bottom:var(--space-4)}
.rmd-extra-ph h3{font-family:var(--font-head);font-size:var(--fs-xl);color:var(--color-headline);margin:0 0 var(--space-2)}
.rmd-extra-ph p{font-size:var(--fs-base);color:var(--color-text-muted);max-width:var(--container-narrow);margin:0 auto}

/* Pagination unter dem Produkt-Grid */
.rmd-cat__pagination{margin-top:var(--space-10);display:flex;justify-content:center}
.rmd-cat__pagination .page-numbers{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0}
.rmd-cat__pagination .page-numbers li{margin:0}
.rmd-cat__pagination .page-numbers a,.rmd-cat__pagination .page-numbers span{display:inline-flex;align-items:center;justify-content:center;min-width:var(--btn-height);height:var(--btn-height);padding:0 var(--space-3);border-radius:var(--radius-pill);font-family:var(--font-head);font-weight:var(--fw-semibold);font-size:var(--fs-sm);color:var(--color-headline);text-decoration:none;background:var(--color-surface)}
.rmd-cat__pagination .page-numbers a:hover{background:var(--color-border)}
.rmd-cat__pagination .page-numbers .current{background:var(--color-signal);color:var(--color-on-signal)}
/* Magazin-Uebersicht (home.php/category.php): Newsroom-Layout auf einheitlichem Grund + zentrierte Pagination. */
.rmd-magazin{background:var(--color-page)}
.rmd-magazin__pagination{padding-bottom:var(--space-16);margin-top:var(--space-6)}
.rmd-magazin__pagination .page-numbers{justify-content:center}
.rmd-magazin .rmd-c-newsroom{padding-top:var(--space-6);padding-bottom:var(--space-2)}
.rmd-magazin .rmd-c-newsroom__grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:1000px){.rmd-magazin .rmd-c-newsroom__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.rmd-magazin .rmd-c-newsroom__grid{grid-template-columns:1fr}}
.rmd-cat__empty{text-align:center;color:var(--color-text-muted);padding:var(--space-10) 0}

/* Kategorie-Hero: links Text (mit Mehr/Weniger), rechts Banner-Bild */
.rmd-cat-hero{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}
.rmd-cat-hero--solo{grid-template-columns:1fr;max-width:var(--container-narrow)}
.rmd-cat-hero__text{min-width:0}
.rmd-cat-hero__title{font-family:var(--font-head);font-weight:var(--fw-head);font-size:var(--fs-4xl);letter-spacing:-.02em;line-height:1.1;color:var(--color-headline);margin:var(--space-3) 0 var(--space-4);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
.rmd-cat-hero__desc{font-size:var(--fs-md);color:var(--color-text-muted);line-height:1.7}
.rmd-cat-hero__desc>*{margin:0 0 var(--space-3)}
.rmd-cat-hero__desc>*:last-child{margin-bottom:0}
.rmd-cat-hero__media{border-radius:var(--radius-card);overflow:hidden}
.rmd-cat-hero__media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;display:block}
/* Kacheln-Sektion der Ueberkategorie: Kopf bewusst KLEINER als der Seitentitel (H1 = fs-4xl),
   sonst wirkt "Welche Bauform brauchen Sie?" wie die Haupt-Ueberschrift (Vorlage: 30px). */
.rmd-cat-cards-sec .rmd-c-section__title,
.rmd-cat-sec .rmd-c-section__title{font-size:var(--fs-2xl);margin:0 0 var(--space-2);max-width:none}

/* ===== Landing-Hero (rmd-c-hero): Anwendungsbereiche + Ueberkategorie (Vorlage
   rmd-c-hero-anwendungsbereiche.html) - Eyebrow + grosse H1 (Signal-Mark) + Lead + zwei
   Buttons (btn-Block) + Schnellwahl-Chips. Sitzt in .rmd-cat-hero-sec (Aussenabstand).
   Buttons/Schrift/Farben aus dem Designsystem - Mockup-CSS gewinnt NICHT. */
.rmd-c-hero__top{max-width:var(--container-narrow)}
/* Mit Banner-Bild: 2-spaltig (Text links, Bild rechts) wie die Produktkategorie-/Leaf-Hero. */
.rmd-c-hero--split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}
.rmd-c-hero--split .rmd-c-hero__col{min-width:0}
.rmd-c-hero--split .rmd-c-hero__top{max-width:none}
.rmd-c-hero__media{border-radius:var(--radius-card);overflow:hidden}
.rmd-c-hero__media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;display:block}
/* Zentriert (align=center): einspaltig, alles mittig; Bild (falls vorhanden) mittig ueber dem Text. */
.rmd-c-hero--center{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:var(--container-narrow);margin-inline:auto}
.rmd-c-hero--center .rmd-c-hero__col{width:100%}
.rmd-c-hero--center .rmd-c-hero__top{max-width:none}
.rmd-c-hero--center .rmd-c-eyebrow{justify-content:center}
.rmd-c-hero--center .rmd-c-hero__lead{margin-inline:auto}
.rmd-c-hero--center .rmd-c-hero__actions,.rmd-c-hero--center .rmd-c-hero__chips{justify-content:center}
.rmd-c-hero--center .rmd-c-hero__media{order:-1;width:100%;max-width:640px;margin-bottom:var(--space-8)}
.rmd-c-hero__title{font-family:var(--font-head);font-weight:var(--fw-head);font-size:var(--fs-4xl);line-height:1.08;letter-spacing:-.02em;color:var(--color-headline);margin:var(--space-3) 0 var(--space-5)}
.rmd-c-hero__lead{font-size:var(--fs-md);line-height:1.7;color:var(--color-text-muted);margin:0;max-width:60ch}
.rmd-c-hero__lead strong{color:var(--color-text);font-weight:var(--fw-medium)}
.rmd-c-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}
.rmd-c-hero__chips{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}
.rmd-c-chip{position:relative;display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);background:var(--color-bg);box-shadow:inset 0 0 0 1px var(--color-hairline);font-family:var(--font-head);font-weight:var(--fw-bold);font-size:var(--fs-sm);color:var(--color-headline);text-decoration:none;overflow:hidden;transition:box-shadow .18s,transform .18s}
.rmd-c-chip::before{content:"";position:absolute;left:14px;top:50%;width:36px;height:36px;transform:translateY(-50%);border-radius:50%;pointer-events:none;opacity:0;background:radial-gradient(circle,color-mix(in srgb,var(--color-signal) 85%,transparent) 0%,transparent 70%);transition:opacity .2s}
.rmd-c-chip:hover{box-shadow:inset 0 0 0 1px var(--color-border-strong);transform:translateY(-1px)}
.rmd-c-chip:hover::before{opacity:1}
.rmd-c-chip__ic{position:relative;display:flex;align-items:center;justify-content:center;color:var(--color-icon-quiet);transition:color .18s}
.rmd-c-chip__ic svg{width:20px;height:20px}
.rmd-c-chip:hover .rmd-c-chip__ic{color:var(--color-headline)}
.rmd-c-chip__l{position:relative}
.rmd-c-chip:focus-visible{outline:2px solid var(--color-headline);outline-offset:3px}
/* Sanfter, gestaffelter Auftritt - respektiert reduce-motion (unten abgeschaltet). */
.rmd-c-hero__top,.rmd-c-hero__actions,.rmd-c-hero__chips{opacity:0;transform:translateY(8px);animation:rmd-hero-in .5s ease forwards}
.rmd-c-hero__actions{animation-delay:.07s}
.rmd-c-hero__chips{animation-delay:.13s}
@keyframes rmd-hero-in{to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){
  .rmd-c-hero__title{font-size:var(--fs-3xl)}
  /* Banner-Hero stapelt: Bild ueber den Text (wie .rmd-cat-hero). */
  .rmd-c-hero--split{grid-template-columns:1fr;gap:var(--space-8)}
  .rmd-c-hero--split .rmd-c-hero__media{order:-1}
}
@media(max-width:640px){
  .rmd-c-hero__actions{flex-direction:column;align-items:stretch}
  .rmd-c-hero__chips{gap:var(--space-2)}
}
@media(prefers-reduced-motion:reduce){
  .rmd-c-hero__top,.rmd-c-hero__actions,.rmd-c-hero__chips{animation:none;opacity:1;transform:none}
  .rmd-c-chip,.rmd-c-chip::before{transition:none}
}

/* ===== Bauform-Picker (Ueberkategorie, Vorlage ueberkategorie-final.html) =====
   Weisses Panel mit Icon+Name je Unterkategorie, Haarlinien dazwischen. Hover/Fokus:
   "Licht geht an" - weicher gelber Lichtschein hinter dem Icon (radial, color-mix aus
   --color-signal), Icon hebt von icon-quiet auf headline. Kein Kasten, keine Fuellflaeche. */
.rmd-cat-hero + .rmd-c-picker{margin-top:var(--space-8)}
.rmd-c-picker{background:var(--color-bg);border-radius:var(--radius-panel);padding:var(--space-4) var(--space-3)}
.rmd-c-picker__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.rmd-c-pick{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-3);position:relative;border-radius:var(--radius-lg);text-decoration:none}
.rmd-c-pick:not(:last-child)::before{content:"";position:absolute;right:0;top:var(--space-6);bottom:var(--space-6);width:1px;background:var(--color-hairline)}
.rmd-c-pick__ic{height:76px;display:flex;align-items:center;justify-content:center;color:var(--color-icon-quiet);position:relative;transition:color .28s ease}
.rmd-c-pick__ic svg{width:68px;height:68px;position:relative;z-index:1}
.rmd-c-pick__ic::after{content:"";position:absolute;width:104px;height:104px;border-radius:50%;background:radial-gradient(circle, color-mix(in srgb, var(--color-signal) 95%, transparent) 0%, color-mix(in srgb, var(--color-signal) 45%, transparent) 42%, transparent 72%);transform:scale(.4);opacity:0;z-index:0;transition:transform .42s cubic-bezier(.2,.7,.3,1),opacity .34s ease}
.rmd-c-pick:hover .rmd-c-pick__ic::after,.rmd-c-pick:focus-visible .rmd-c-pick__ic::after{transform:scale(1);opacity:1}
.rmd-c-pick:hover .rmd-c-pick__ic,.rmd-c-pick:focus-visible .rmd-c-pick__ic{color:var(--color-headline)}
.rmd-c-pick__l b{font-family:var(--font-head);font-size:var(--fs-sm);font-weight:var(--fw-bold);letter-spacing:-.01em;text-align:center;display:block;color:var(--color-text)}
.rmd-c-pick:focus-visible{outline:2px solid var(--color-headline);outline-offset:3px}
@media(prefers-reduced-motion:reduce){
  .rmd-c-pick__ic,.rmd-c-pick__ic::after{transition:none}
}
@media(max-width:767px){
  .rmd-c-picker__row{grid-template-columns:repeat(2,1fr)}
  .rmd-c-pick:not(:last-child)::before{display:none}
  .rmd-c-pick{padding:var(--space-5) var(--space-2);gap:var(--space-3)}
  .rmd-c-pick__ic{height:60px}
  .rmd-c-pick__ic svg{width:54px;height:54px}
  .rmd-c-pick__ic::after{width:84px;height:84px}
}
/* Enger fassen: Breadcrumb + Hero + Grid lesen als EINE Einheit statt drei Sektionen mit vollem
   Rhythmus. Oben liefert die Breadcrumb bereits Luft; unten sitzt das Produkt-Grid direkt am Hero
   (sonst summieren sich Hero-Unterkante + Grid-Oberkante zu doppeltem Sektions-Abstand). */
.rmd-cat-hero-sec.rmd-c-section--pad-default{padding-top:var(--space-8);padding-bottom:var(--space-10)}
/* Anwendungsbereich-Hero (pad-sm): geringerer Abstand nach unten zur (dann folgenden) sticky Nav-Leiste
   - seit die Keyfacts darunter raus sind, wirkte die volle Unterkante zu leer. */
.rmd-cat-hero-sec.rmd-c-section--pad-sm{padding-bottom:var(--space-12)}
/* Shop-Uebersicht: schwarze Hero-Section FULL-BLEED (volle Breite), Inhalt boxed im Container.
   Dunkler Grund + Glow auf der Section; kleiner Abstand zu den Breadcrumbs (Kundenwunsch). */
.rmd-shop-hero-sec.rmd-c-section{margin-top:0;margin-bottom:78px}
.rmd-shop-hero-sec{position:relative;overflow:hidden;background:radial-gradient(760px 380px at 50% 0%,rgba(255,234,118,.15),transparent 72%),var(--color-dark)}
.rmd-shop-hero-sec.rmd-c-section.rmd-c-section--pad-sm{padding-top:clamp(var(--space-6),3vw,var(--space-8));padding-bottom:clamp(var(--space-10),5vw,var(--space-16))}
/* Breadcrumb ausnahmsweise IN der schwarzen Section, weiss + linksbuendig. */
.rmd-shop-hero-sec .rmd-breadcrumb{padding:0 0 var(--space-8);text-align:left;color:var(--color-on-dark)}
.rmd-shop-hero-sec .rmd-breadcrumb a{color:var(--color-on-dark-muted)}
.rmd-shop-hero-sec .rmd-breadcrumb a:hover{color:var(--color-on-dark)}
/* Navbar weiter runter: mehr Abstand zwischen Hero-Section und areanav. */
/* erste Bereichs-Section direkt unter der Navbar: kleinerer Abstand. */
.rmd-shop-area--first.rmd-c-section{margin-top:var(--space-4);padding-top:var(--space-8)}
/* Grid sitzt jetzt auf getoentem Grund (eigenes Band) -> moderater Innenabstand oben statt bündig. */
.rmd-cat-hero-sec + .rmd-c-section--pad-default{padding-top:var(--space-10)}
/* Anwendungsbereiche: Bereichs-Band NICHT buendig am Hero (anders als Ueberkategorie) - klarer
   Weisraum zwischen Hero und dem getoenten Karten-Band, sonst wirkt es gequetscht. */
/* Anwendungsbereiche: grauer Bereichs-Grund bindet direkt an den schwarzen Hero an (kein weisser Spalt). */
.rmd-ab-hero-flush.rmd-c-section{margin-bottom:0}
#bereiche.rmd-c-section{margin-top:0}
@media(max-width:767px){#bereiche.rmd-c-section{margin-top:0}}
/* Service-Band -> folgende Sektion (Beratungs-CTA / FAQ / Final-CTA): die volle Sektions-
   Polsterung summiert sich sonst zu doppeltem Abstand. Oberkante der Folge-Sektion kuerzen. */
.rmd-cat-sec + .rmd-c-section--pad-default{padding-top:var(--space-4)}

/* ============================================================
   ANWENDUNGSBEREICH-SEITE ("Leuchten fuer ...") - drei neue Layout-Bausteine.
   areanav (Sprung-Nav, sticky) + aufgaben-matrix (Aufgabe->Licht) sind eigene Bloecke;
   ab-group ist die Layout-Glue der Produktgruppen-Sektion (linke Sticky-Textspalte + Kachelraster).
   Alles nur Tokens - keine neuen Farben/Groessen/Radien.
   ============================================================ */

/* --- areanav: sticky Sprungnavigation, Pill-Reihe mit Icon; aktiv = gelbe Pill --- */
/* Sprung-Navigation: dunkle, schwebende Pill-Leiste (abgerundet + Schatten), sticky mit Abstand
   unter dem Header. Der nav selbst ist klick-durchlaessig (pointer-events:none), nur die Leiste faengt
   Klicks - so blockt der transparente Rand ueber/neben der Leiste nicht die Inhalte dahinter. */
.rmd-c-areanav{position:sticky;top:calc(var(--rmd-header-h,64px) + var(--space-2));z-index:20;padding-top:var(--space-3);padding-bottom:var(--space-3);pointer-events:none}
/* Statische Variante (z. B. Magazin-Kategorien mitten auf der Seite): nicht sticky, zentrierte Pille. */
.rmd-c-areanav--static{position:static;top:auto;z-index:auto;padding-top:0;padding-bottom:var(--space-8)}
.rmd-c-areanav--static .rmd-c-areanav__bar{width:fit-content;max-width:100%;margin-inline:auto;overflow-x:auto}

/* ===== Newsroom / Magazin-Sektion (Vorlage newsroom-1a.html): Kopf (Titel links + Filter rechts)
   + Karten (Bild 16:10, Lesezeit, Titel+Pfeil-Kreis, Auszug, Kategorie-Pill + Datum). ===== */
.rmd-c-newsroom{background:var(--color-page);padding:var(--space-section) 0}
.rmd-c-newsroom__head{display:flex;flex-wrap:wrap;gap:var(--space-6);align-items:flex-end;justify-content:space-between;margin-bottom:var(--space-12)}
.rmd-c-newsroom__intro{max-width:520px;display:flex;flex-direction:column;gap:var(--space-3)}
.rmd-c-newsroom__title{font-family:var(--font-head);font-size:var(--fs-3xl);font-weight:var(--fw-head);letter-spacing:-.03em;line-height:1.05;color:var(--color-headline);margin:0}
.rmd-c-newsroom__lead{font-family:var(--font-body);font-size:var(--fs-base);line-height:1.55;color:var(--color-text-muted);margin:0}
.rmd-c-newsroom__filters{display:flex;gap:var(--space-2);flex-wrap:wrap}
.rmd-c-newsroom__filter{text-decoration:none;padding:10px 18px;border-radius:var(--radius-pill);font-family:var(--font-head);font-size:var(--fs-sm);font-weight:var(--fw-semibold);background:var(--color-surface);color:var(--color-text-muted);transition:background .15s,color .15s}
.rmd-c-newsroom__filter:hover{background:var(--color-border);color:var(--color-headline)}
.rmd-c-newsroom__filter.is-active,.rmd-c-newsroom__filter.is-active:hover{background:var(--color-signal);color:var(--color-on-signal)}
.rmd-c-newsroom__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6)}
/* Card mit eingeruecktem Pfeil-Button oben rechts (Notch): der Button sitzt in einer runden
   Aussparung der Karten-Flaeche. --nhole = Radius der Aussparung, muss zum Button (--nbtn) + Spalt passen. */
/* background = globale Seitenfarbe: die Notch-Aussparung (Ring um den gelben Pfeil) zeigt dadurch
   IMMER die Seitenfarbe statt Weiss - unabhaengig davon, worauf die Card liegt. */
.rmd-c-newsroom__card{--nbtn:44px;--ncx:22px;--ncy:22px;--nhole:32px;position:relative;text-decoration:none;display:flex;border-radius:var(--radius-card);background:var(--color-page);box-shadow:var(--shadow-md);transition:transform .2s ease,box-shadow .2s ease}
.rmd-c-newsroom__card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.rmd-c-newsroom__surface{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;background:var(--color-bg);border-radius:var(--radius-card);overflow:hidden;
  -webkit-mask:radial-gradient(var(--nhole) at calc(100% - var(--ncx)) var(--ncy),#0000 calc(var(--nhole) - 1px),#000 var(--nhole));
          mask:radial-gradient(var(--nhole) at calc(100% - var(--ncx)) var(--ncy),#0000 calc(var(--nhole) - 1px),#000 var(--nhole))}
.rmd-c-newsroom__media{overflow:hidden;aspect-ratio:16/10;display:block;background:var(--color-surface)}
.rmd-c-newsroom__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s cubic-bezier(.2,.7,.3,1)}
.rmd-c-newsroom__card:hover .rmd-c-newsroom__media img{transform:scale(1.04)}
.rmd-c-newsroom__body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5) var(--space-6) var(--space-6);flex:1 1 auto}
.rmd-c-newsroom__readtime{font-family:var(--font-body);font-size:var(--fs-xs);color:var(--color-text-muted)}
.rmd-c-newsroom__titlerow{display:flex;align-items:flex-start;gap:var(--space-4);justify-content:space-between}
.rmd-c-newsroom__ctitle{font-family:var(--font-head);font-size:var(--fs-md);font-weight:var(--fw-bold);letter-spacing:-.01em;line-height:1.25;color:var(--color-headline);margin:0}
/* Pfeil = Signal-Kreis (unsere Farbe), eingerueckt in die Notch-Aussparung oben rechts. */
.rmd-c-newsroom__arrow{position:absolute;top:0;right:0;z-index:2;width:var(--nbtn);height:var(--nbtn);border-radius:var(--radius-pill);background:var(--color-signal);display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,transform .2s ease}
.rmd-c-newsroom__arrow .rmd-icon{width:18px;height:18px;stroke:var(--color-on-signal);stroke-width:2.4}
.rmd-c-newsroom__card:hover .rmd-c-newsroom__arrow{background:var(--color-signal-hover);transform:translate(1px,-1px)}
.rmd-c-newsroom__excerpt{font-family:var(--font-body);font-size:var(--fs-sm);line-height:1.55;color:var(--color-text-muted)}
.rmd-c-newsroom__meta{display:flex;align-items:center;gap:var(--space-4);margin-top:auto;padding-top:var(--space-2)}
.rmd-c-newsroom__cat{font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;background:var(--color-surface);color:var(--color-headline);padding:6px 12px;border-radius:var(--radius-pill)}
.rmd-c-newsroom__date{font-family:var(--font-body);font-size:var(--fs-xs);color:var(--color-text-muted)}
@media(max-width:767px){
  .rmd-c-newsroom{padding:var(--space-14) 0}
  .rmd-c-newsroom__head{align-items:flex-start;gap:var(--space-5);margin-bottom:var(--space-8)}
  /* Filter umbrechen statt scrollen (kein Slider/Scrollleiste) - alle Kategorien sichtbar. */
  .rmd-c-newsroom__filters{flex-wrap:wrap;gap:var(--space-2)}
  .rmd-c-newsroom__filter{padding:8px 15px}
}
/* Geklebt: Container-Padding oben schrumpfen, damit die Leiste naeher an den Header rueckt. */
.rmd-c-areanav.is-stuck{padding-top:var(--space-1)}
.rmd-c-areanav>.rmd-container{pointer-events:none}
.rmd-c-areanav__sentinel{height:0}
.rmd-c-areanav__bar{pointer-events:auto;display:flex;align-items:center;gap:var(--space-4);background:var(--color-dark);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow-lg);transition:background .25s ease,box-shadow .25s ease,backdrop-filter .25s ease}
/* Sobald die Leiste klebt (is-stuck via IntersectionObserver in blocks.js): KOMPAKT (schrumpft auf
   Inhaltsbreite, zentriert), stark durchscheinend + Weichzeichner, kein Schatten, kleinere Pills -
   damit sie beim Scrollen dezent bleibt statt als breiter Balken zu dominieren. Oben (nicht geklebt)
   bleibt sie voll. Fallback ohne backdrop = etwas deckender. */
.rmd-c-areanav.is-stuck .rmd-c-areanav__bar{width:fit-content;max-width:100%;margin-inline:auto;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:rgba(23,25,27,.72);box-shadow:none}
.rmd-c-areanav.is-stuck .rmd-c-areanav__links{flex:0 1 auto}
.rmd-c-areanav.is-stuck .rmd-c-areanav__pill{padding:7px 14px}
.rmd-c-areanav.is-stuck .rmd-c-areanav__cta{height:34px}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .rmd-c-areanav.is-stuck .rmd-c-areanav__bar{background:rgba(23,25,27,.42);backdrop-filter:blur(12px) saturate(1.05);-webkit-backdrop-filter:blur(12px) saturate(1.05)}
}
.rmd-c-areanav__links{display:flex;gap:var(--space-2);overflow-x:auto;overscroll-behavior-x:contain;flex:1 1 auto;scrollbar-width:none}
.rmd-c-areanav__links::-webkit-scrollbar{display:none}
/* Fade-Kante als Scroll-Hinweis: nur dort, wo horizontal noch etwas zu scrollen ist (Klassen per JS). */
.rmd-c-areanav__links.has-l.has-r{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%)}
.rmd-c-areanav__links.has-l:not(.has-r){-webkit-mask-image:linear-gradient(to right,transparent 0,#000 24px);mask-image:linear-gradient(to right,transparent 0,#000 24px)}
.rmd-c-areanav__links.has-r:not(.has-l){-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent 100%);mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent 100%)}
.rmd-c-areanav__pill{display:flex;align-items:center;gap:8px;white-space:nowrap;flex:0 0 auto;padding:10px 18px;border-radius:var(--radius-pill);font-family:var(--font-head);font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-decoration:none;background:transparent;color:var(--color-on-dark-muted);transition:background .15s ease,color .15s ease}
.rmd-c-areanav__pill .rmd-icon{width:16px;height:16px;flex:0 0 16px}
/* Hochgeladenes Icon (statt Inline-SVG) sauber ins 16px-Feld einpassen. */
.rmd-icon--img{object-fit:contain;display:inline-block}
.rmd-c-areanav__pill:hover{background:var(--color-dark-2);color:var(--color-on-dark)}
/* Aktiv = Signal-Fläche (Gelb), Text dunkel. */
.rmd-c-areanav__pill.is-active{background:var(--color-signal);color:var(--color-on-signal)}
.rmd-c-areanav__pill:focus-visible{outline:2px solid var(--color-signal);outline-offset:2px}
/* CTA = heller Voll-Button, hebt sich von der dunklen Leiste ab. */
.rmd-c-areanav__cta{flex:0 0 auto;height:40px;font-size:var(--fs-sm);background:var(--color-bg);color:var(--color-headline);border:none}
.rmd-c-areanav__cta:hover{background:var(--color-surface);color:var(--color-headline)}
@media(max-width:900px){.rmd-c-areanav__cta{display:none}}

/* --- aufgaben-matrix: 3 Spalten, nur Haarlinien --- */
.rmd-c-matrix{display:grid;gap:0;margin-top:var(--space-4)}
.rmd-c-matrix__head{display:grid;grid-template-columns:1.1fr 1.2fr .9fr;gap:var(--space-6);padding-bottom:var(--space-3);font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}
.rmd-c-matrix__row{display:grid;grid-template-columns:1.1fr 1.2fr .9fr;gap:var(--space-6);align-items:baseline;padding:var(--space-5) 0;border-top:1px solid var(--color-hairline)}
.rmd-c-matrix__task{font-family:var(--font-head);font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--color-headline);line-height:1.25}
.rmd-c-matrix__need{font-family:var(--font-body);font-size:var(--fs-base);color:var(--color-text);line-height:var(--lh-normal);text-wrap:pretty}
.rmd-c-matrix__rec{justify-self:start;font-family:var(--font-head);font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--color-headline);text-decoration:none;line-height:1.4;border-bottom:2px solid var(--color-signal)}
.rmd-c-matrix__rec--plain{border-bottom:0}
.rmd-c-matrix__rec:focus-visible{outline:2px solid var(--color-headline);outline-offset:3px}
@media(max-width:767px){
  .rmd-c-matrix__head{display:none}
  .rmd-c-matrix__row{grid-template-columns:1fr;gap:var(--space-2);padding:var(--space-5) 0}
}

/* --- ab-group: Produktgruppen-Sektion = Textblock oben, darunter Slider + Lifestyle-Bild --- */
/* Harter Schutz gegen horizontales Seiten-Scrollen (falls ein Kind mal ueber die Viewport-Breite
   hinausragt). overflow-x:clip erzeugt KEINEN Scroll-Container -> das sticky areanav bleibt sticky. */
.rmd-ab{overflow-x:clip}
/* contain:paint kapselt den horizontalen Slider-Scroll (Track) sauber im Gruppen-Kasten - verhindert,
   dass der Track-Scroll auf Dokumentebene "leckt" und man mobil über den rechten Rand in einen
   Whitescreen scrollen kann. Wichtig: overflow-x:clip reicht hier NICHT (verschachtelte Scroll-
   Container), contain:paint schon. Getestet: bringt echten window.scrollX-Overflow auf 0. */
/* --- Kategorie-Sektion (catsection): Header + 3 Punkte + count-basiertes Grid/Slider je Gruppe --- */
.rmd-c-catsec{display:flex;flex-direction:column;gap:var(--space-8)}
.rmd-c-catsec__head{display:flex;flex-direction:column;gap:var(--space-3);max-width:62ch}
.rmd-c-catsec__eyebrow{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}
.rmd-c-catsec__eyebrow::before{content:"";width:28px;height:3px;background:var(--color-signal);flex:0 0 auto}
.rmd-c-catsec__h{font-family:var(--font-head);font-size:var(--fs-3xl);font-weight:var(--fw-head);letter-spacing:-.03em;line-height:1.1;color:var(--color-headline);margin:0;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
.rmd-c-catsec__lead{font-family:var(--font-body);font-size:var(--fs-lg);line-height:var(--lh-normal);color:var(--color-text);margin:0;max-width:58ch;text-wrap:pretty}
.rmd-c-catsec__points{display:flex;flex-wrap:wrap;gap:var(--space-5) var(--space-14)}
.rmd-c-catsec__point{max-width:320px}
.rmd-c-catsec__point .rmd-icon{width:24px;height:24px;flex:0 0 auto;color:var(--color-headline);stroke-width:1.4;margin-top:1px}
.rmd-c-catsec__point b{display:block;font-family:var(--font-head);font-size:15px;font-weight:var(--fw-semibold);color:var(--color-headline);line-height:1.3}
.rmd-c-catsec__point span{display:block;font-size:var(--fs-sm);color:var(--color-text-muted);line-height:1.45;margin-top:3px}
.rmd-c-catsec__grid{display:grid;gap:var(--space-5);align-items:stretch}
.rmd-c-catsec__grid--2p{grid-template-columns:repeat(3,minmax(0,1fr))}
.rmd-c-catsec__grid--1p{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.rmd-c-catsec__grid--full{grid-template-columns:minmax(0,1fr)}
/* >2 Produkte: EINREIHIGES Grid (Scroll-Track | Bild) - identisch robust zum 2-Produkt-Grid. Der Track
   ist direktes Grid-Item (definite 2fr-Breite), daher loest die 50%-Kartenbreite sauber auf (2 sichtbar).
   Pfeile stehen UNTER dem Grid (eigener slider3-Wrapper), rechtsbuendig. */
.rmd-c-catsec__grid--slider{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.rmd-c-catsec__ptrack{min-width:0;align-items:stretch}
.rmd-c-catsec__ptrack .rmd-c-slider__slide{flex:0 0 calc((100% - var(--space-5)) / 2)}
/* Drag-to-scroll (Maus): scrollbaren Track als "greifbar" markieren (is-static = nicht scrollbar -> kein Greif-Cursor).
   Waehrend des Ziehens Snap + Smooth aus, sonst ruckelt die direkte scrollLeft-Steuerung. Touch bleibt nativ. */
[data-slider]:not(.is-static) .rmd-c-slider__track{cursor:grab}
.rmd-c-slider__track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none}
/* >=3 Produkte: am Desktop ~1/5 der naechsten Karte "anspicken" lassen -> sofort als Slider erkennbar, ohne die
   zwei sichtbaren Karten stark zu quetschen. Nur Desktop; mobil bleibt der bestehende 82%-Peek. */
@media (min-width:1025px){
	.rmd-c-catsec__slider3--peek .rmd-c-catsec__ptrack .rmd-c-slider__slide{flex-basis:calc((100% - 2 * var(--space-5)) / 2.2)}
}
/* Pfeile LINKS unter dem Slider (dort, wo die Produkte sind - nicht unter dem Bild rechts). Etwas
   praesenter (dezenter Schatten + festerer Rand), damit sie nicht untergehen. */
.rmd-c-catsec__pnav{display:flex;gap:10px;justify-content:flex-start;margin-top:var(--space-5)}
.rmd-c-catsec__pnav .rmd-c-slider__navbtn{border-color:var(--color-border)}
/* Slider nicht scrollbar (alle Karten sichtbar, z.B. 2 Produkte am Desktop) -> Pfeile ausblenden. */
[data-slider].is-static .rmd-c-slider__nav{display:none}
.rmd-c-catsec__life{margin:0;border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-md);height:100%;min-height:100%}
.rmd-c-catsec__life img{width:100%;height:100%;object-fit:cover;display:block}
.rmd-c-catsec__life--ph{display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-6);box-shadow:none;min-height:320px;background:repeating-linear-gradient(45deg,var(--color-surface) 0,var(--color-surface) 14px,var(--color-bg) 14px,var(--color-bg) 28px)}
.rmd-c-catsec__life--ph span{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--fs-sm);line-height:1.4}
/* Mobil-Bild ganz oben (zweite Instanz, nur mobil sichtbar): full-bleed 3/2 wie Lichtwissen. */
.rmd-c-catsec__lifemob{display:none;margin:0;border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-md)}
.rmd-c-catsec__lifemob img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
/* Bild-Slide im Slider auf Kartenhoehe (Track ist im nav-end auf stretch). */
.rmd-c-slider--nav-end .rmd-c-slider__slide{display:flex}
.rmd-c-slider--nav-end .rmd-c-slider__slide>*{width:100%}
@media(max-width:1024px){
  /* minmax(0,…) MUSS bleiben (auch mobil), sonst blaeht der Slider-Track (overflow-x) die 1fr-Spalte
     auf -> die Slides ragen aus der Seite (horizontaler Overflow). */
  .rmd-c-catsec__grid--slider,.rmd-c-catsec__grid--1p{grid-template-columns:minmax(0,1fr)}
  .rmd-c-catsec__grid--2p{grid-template-columns:1fr 1fr}
  /* Mobil/Tablet: Bild IMMER nach OBEN (order:-1), volle Breite, passende Hoehe (4/3 wie Extra-Content).
     Beim Slider stehen die Pfeile (pnav) ausserhalb des Grids -> automatisch unter dem Slider. */
  /* Slider-Overflow: die Slides tragen trotz overflow-x:auto zur Seiten-Breite bei (Browser-Quirk in
     verschachteltem Flex/Grid). contain:paint auf dem Slider-Wrapper kapselt das (bewiesen, s. alte
     .rmd-ab-group). NUR mobil (Desktop klemmt via minmax(0,2fr)); lifemob ist Geschwister -> unberuehrt. */
  .rmd-c-catsec__slider3{contain:paint}
  /* Mobil: Bild laeuft ganz oben ueber dem Header (lifemob, full-bleed), das Grid-Bild wird ausgeblendet. */
  .rmd-c-catsec__grid>.rmd-c-catsec__life{display:none}
  .rmd-c-catsec__lifemob{display:block;margin:0 calc(-1 * var(--space-6));border-radius:0;background:var(--color-surface)}
  .rmd-c-catsec__lifemob.rmd-c-catsec__life--ph{aspect-ratio:3/2;min-height:0}
}
@media(max-width:767px){
  /* 2 Produkte NICHT splitten - volle Breite gestapelt (wie 1 Produkt). Slider bleibt 1 Karte + Peek. */
  .rmd-c-catsec__grid--2p{grid-template-columns:minmax(0,1fr)}
  .rmd-c-catsec__ptrack .rmd-c-slider__slide{flex-basis:82%}
  /* Cards mobil kompakt, aber genug Luft OBEN, damit Badge/Feature-Banner das Leuchtenbild nicht ueberlappen. */
  /* Produktbild groesser: Innen-Padding runter (Bild fuellt fast die Kartenbreite), max-height rauf.
     Kartengroesse bleibt (min-height 290). Oben genug Luft, damit Badge/Feature nicht ueberlappen. */
  .rmd-c-catsec .rmd-c-tile__thumb{min-height:290px;padding:var(--space-8) var(--space-2) var(--space-2)}
  .rmd-c-catsec .rmd-c-tile__thumb .rmd-c-tile__img,.rmd-c-catsec .rmd-c-tile__thumb img{max-height:240px}
  /* Badge/Feature-Banner mobil kleiner (global) - trug zu stark auf. */
  .rmd-c-tile__badge,.rmd-c-tile__feat{font-size:10px;letter-spacing:.04em;padding:3px var(--space-2)}
}
/* Hero-Button "Zum Lichtwissen": weiss mit SCHWARZEM Rand (Ghost mit dunklerem Rand statt Hairline). */
.rmd-ab .rmd-c-btn--ghost{border-color:var(--color-headline)}

.rmd-ab-group{display:flex;flex-direction:column;gap:var(--space-10);contain:paint}
.rmd-ab-group__intro{max-width:640px;display:flex;flex-direction:column;gap:var(--space-5)}
.rmd-ab-group__eyebrow{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}
.rmd-ab-group__eyebrow::before{content:"";width:22px;height:2px;background:var(--color-signal);flex:0 0 auto}
.rmd-ab-group__h{font-family:var(--font-head);font-size:var(--fs-4xl);font-weight:var(--fw-head);letter-spacing:-.03em;line-height:1.05;color:var(--color-headline);margin:0}
.rmd-ab-group__text{font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--color-text);margin:0;text-wrap:pretty}
.rmd-ab-group__points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.rmd-ab-group__points li{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) 0;border-top:1px solid var(--color-hairline);font-size:var(--fs-sm);line-height:1.45;color:var(--color-text)}
.rmd-ab-group__points .rmd-icon{flex:0 0 auto;width:16px;height:16px;margin-top:3px;color:var(--color-headline);stroke-width:2.2}
.rmd-ab-group__all{align-self:start;font-family:var(--font-head);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-headline);text-decoration:none;border-bottom:2px solid var(--color-signal)}
.rmd-ab-group__all:focus-visible{outline:2px solid var(--color-headline);outline-offset:3px}
/* Anzeige-Block: enthaelt den globalen Slider-Block (.rmd-c-slider - Zähler/Track/Pfeile dort). */
.rmd-ab-group__show{min-width:0}
/* Kopfbereich: 50/50 Textblock links, Lifestyle-Bild rechts (Bild fuellt die Spaltenhoehe). */
.rmd-ab-group__top{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:stretch}
.rmd-ab-group__top .rmd-ab-group__intro{max-width:none}
.rmd-ab-group__life{min-height:320px;height:100%;border-radius:var(--radius-card);overflow:hidden}
.rmd-ab-group__life img{width:100%;height:100%;object-fit:cover;display:block}
/* Platzhalter, bis das Lifestyle-Foto gepflegt ist (gestreift + Beschriftung). */
.rmd-ab-group__life--ph{display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-6);color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--fs-sm);line-height:1.4;background:repeating-linear-gradient(45deg,var(--color-surface) 0,var(--color-surface) 14px,var(--color-bg) 14px,var(--color-bg) 28px)}
@media(max-width:900px){
  .rmd-ab-group__top{grid-template-columns:1fr}
  .rmd-ab-group__life{min-height:220px}
}

/* --- Kundenstimmen-Sektion: Raster aus quote-Karten (Alt, ungenutzt seit Bento-Block) --- */
.rmd-ab-voices{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}
.rmd-ab-voices .rmd-c-quote{max-width:none}
@media(max-width:900px){.rmd-ab-voices{grid-template-columns:1fr}}

/* === Kundenstimmen als Bento (Block testimonials.php) ===================================
   Kopf (Eyebrow mit Eck-Klammern, zweifarbige Headline, Subline) -> Bento-Raster (grosse
   Flagship-Karte 2x2 links, breite/schmale Karten rechts, eine dunkle Akzentkarte) -> Fusszeile.
   4-Spalten-Raster mit dense-Flow reproduziert den Referenz-Rhythmus. */
.rmd-c-tstm{}
.rmd-c-tstm__head{text-align:center;max-width:640px;margin:0 auto var(--space-12)}
.rmd-c-tstm__eyebrow{position:relative;display:inline-block;padding:6px 16px;font-family:var(--font-head);font-weight:600;font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}
.rmd-c-tstm__eyebrow::before,.rmd-c-tstm__eyebrow::after{content:"";position:absolute;width:11px;height:11px;border:0 solid var(--color-signal-hover)}
.rmd-c-tstm__eyebrow::before{top:0;right:0;border-width:2px 2px 0 0}
.rmd-c-tstm__eyebrow::after{bottom:0;left:0;border-width:0 0 2px 2px}
.rmd-c-tstm__title{font-family:var(--font-head);font-weight:700;font-size:var(--fs-4xl);line-height:1.12;color:var(--color-headline);margin:var(--space-4) 0 0}
.rmd-c-tstm__title-alt{display:block;color:var(--color-icon-quiet)}
.rmd-c-tstm__sub{color:var(--color-text-muted);font-size:var(--fs-md);margin:var(--space-4) 0 0}

.rmd-c-tstm__grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(0,auto);grid-auto-flow:row dense;gap:var(--space-5)}
.rmd-c-tstm__card{background:var(--color-bg);border-radius:var(--radius-card);padding:var(--space-6);display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}
.rmd-c-tstm__card--big{grid-column:span 2;grid-row:span 2;padding:var(--space-8)}
.rmd-c-tstm__card--wide{grid-column:span 2}
.rmd-c-tstm__card--narrow{grid-column:span 1}
.rmd-c-tstm__mark{width:26px;height:26px;color:var(--color-signal);margin-bottom:var(--space-3);flex:none}
.rmd-c-tstm__text{font-family:var(--font-body);color:var(--color-text);font-size:var(--fs-base);line-height:1.6;margin:0 0 var(--space-6);font-style:normal}
.rmd-c-tstm__card--big .rmd-c-tstm__text{font-size:var(--fs-lg)}
.rmd-c-tstm__card--narrow .rmd-c-tstm__text{font-size:var(--fs-sm)}
.rmd-c-tstm__by{display:flex;align-items:center;gap:var(--space-3);margin-top:auto}
.rmd-c-tstm__avatar{width:44px;height:44px;border-radius:var(--radius-pill);overflow:hidden;flex:none;background:var(--color-surface);display:flex;align-items:center;justify-content:center}
.rmd-c-tstm__avatar img{width:100%;height:100%;object-fit:cover;display:block}
.rmd-c-tstm__avatar--ph{font-family:var(--font-head);font-weight:700;color:var(--color-text-muted)}
.rmd-c-tstm__meta{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.rmd-c-tstm__name{font-family:var(--font-head);font-weight:700;color:var(--color-headline);font-size:var(--fs-sm)}
.rmd-c-tstm__role{color:var(--color-text-muted);font-size:var(--fs-xs)}
/* Dunkle Akzentkarte */
.rmd-c-tstm__card--dark{background:var(--color-dark);box-shadow:var(--shadow-md)}
.rmd-c-tstm__card--dark .rmd-c-tstm__text,.rmd-c-tstm__card--dark .rmd-c-tstm__name{color:var(--color-on-dark)}
.rmd-c-tstm__card--dark .rmd-c-tstm__role{color:var(--color-on-dark-muted)}
.rmd-c-tstm__card--dark .rmd-c-tstm__avatar{background:var(--color-dark-2)}
/* Fusszeile */
.rmd-c-tstm__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-10);flex-wrap:wrap}
.rmd-c-tstm__trust{color:var(--color-text-muted);font-size:var(--fs-sm);margin:0}
/* Tablet: 2 Spalten */
@media(max-width:1100px) and (min-width:901px){
  .rmd-c-tstm__grid{grid-template-columns:repeat(2,1fr)}
  .rmd-c-tstm__card--big{grid-row:auto}
}
/* Handy: alles gestapelt */
@media(max-width:900px){
  .rmd-c-tstm__grid{grid-template-columns:1fr}
  .rmd-c-tstm__card--big,.rmd-c-tstm__card--wide,.rmd-c-tstm__card--narrow{grid-column:auto;grid-row:auto}
  .rmd-c-tstm__title{font-size:var(--fs-3xl)}
}

/* Sektionsueberschriften auf der Anwendungsbereich-Seite auf H1-Groesse (fs-4xl) statt fs-5xl -
   sonst dwarfen die H2 die Hero-H1 (Heading-Hierarchie). Peer der Gruppen-Headlines (fs-4xl). */
.rmd-ab .rmd-c-section__title{font-size:var(--fs-4xl);line-height:1.1;max-width:none}
/* Kennzahlen-Band mit Abstand unter dem Hero. */
.rmd-ab-facts{margin-top:var(--space-10)}
/* Sprungmarken sitzen unter Header + sticky areanav. */
/* Anker-Abstand = per JS gemessene Header+Leisten-Hoehe (--rmd-anchor-offset). Fallback: statische
   Rechnung, falls JS (noch) nicht gelaufen ist. */
.rmd-ab-anchor{scroll-margin-top:var(--rmd-anchor-offset, calc(var(--rmd-header-h,64px) + var(--space-20) + var(--space-12)))}
/* Sprung-Ziel-Sektionen erhalten beim Klick auf eine Sprungmarke Fokus -> das Theme zeichnet einen
   schwarzen Outline rundum. Sektionen sind nicht interaktiv -> Outline unterdrücken (kein a11y-Nachteil,
   der Fokus kam nicht per Tastatur). */
.rmd-ab .rmd-c-section:focus,.rmd-ab .rmd-c-section:focus-visible{outline:none !important}
/* Handy: Sprung-Navigation UND das obere Keyfacts-Band ausblenden - beides kostet Platz und
   verschlechtert das Scrollen, bevor der Nutzer das erste Produkt sieht (Kundenwunsch).
   Nur mobil; Desktop bleibt unverändert. */
@media(max-width:768px){
  .rmd-c-areanav{display:none}
  .rmd-ab-facts{display:none}
}
@media(prefers-reduced-motion:reduce){.rmd-c-areanav__pill{transition:none}}

/* Mehr/Weniger (reines CSS, checkbox-hack): Beschreibung auf 3 Zeilen begrenzt, Label togglet */
.rmd-more__cb{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.rmd-more__body{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rmd-more__cb:checked ~ .rmd-more__body{display:block;-webkit-line-clamp:none;overflow:visible}
.rmd-more__btn{display:inline-flex;align-items:center;margin-top:var(--space-4);font-family:var(--font-head);font-weight:var(--fw-semibold);font-size:var(--fs-sm);color:var(--color-headline);cursor:pointer;position:relative}
.rmd-more__btn::after{content:"Mehr anzeigen"}
.rmd-more__cb:checked ~ .rmd-more__btn::after{content:"Weniger anzeigen"}
.rmd-more__btn::before{content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;background:var(--color-signal);border-radius:2px}
.rmd-more__cb:focus-visible ~ .rmd-more__btn{outline:2px solid var(--color-headline);outline-offset:3px}

@media(max-width:900px){
  .rmd-cat-hero{grid-template-columns:1fr;gap:var(--space-8)}
  .rmd-cat-hero__media{order:-1}
}
@media(max-width:767px){
  /* Banner randlos: aus dem Container-Padding ausbrechen -> volle Bildschirmbreite, keine Ecken */
  .rmd-cat-hero__media{margin-left:calc(-1 * var(--space-6));margin-right:calc(-1 * var(--space-6));border-radius:0}
  /* Abstand Breadcrumb -> Hero verringern (auch für pad=sm der Anwendungsbereich-Seite, damit das
     Hero-Bild mobil so nah an der Breadcrumb sitzt wie auf den Kategorieseiten). */
  .rmd-cat-hero-sec.rmd-c-section--pad-default,.rmd-cat-hero-sec.rmd-c-section--pad-sm{padding-top:var(--space-4)}
  .rmd-breadcrumb{padding-bottom:var(--space-2)}
}

/* ===== Komponente: Gutschein-Feld - dezent einklappbar (EINE Quelle: Warenkorb + Kasse) =====
   Markup: template-parts/blocks/coupon.php. Default nur die Trigger-Zeile; Klick oeffnet das
   Feld (Toggle in blocks.js). Erfolgs-Zeile bei aktivem Gutschein. Aenderungen hier wirken
   ueberall, wo die Komponente genutzt wird (Warenkorb, Kasse, Styleguide). */
.rmd-coupon-wrap{width:100%;margin:0 0 var(--space-5)}

/* Trigger-Zeile (dezent): Tag-Icon + "Sie haben einen Aktionscode?" + Chevron.
   WICHTIG: Kadence gibt JEDEM <button> einen gelben Grund + Button-Chrome (Radius/Schatten/
   Min-Hoehe) - hier hart abschalten, damit es eine reine Textzeile bleibt (kein gelber Grund). */
.rmd-coupon-trigger{display:inline-flex;align-items:center;gap:var(--space-2);margin:0;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;min-height:0!important;cursor:pointer;font-family:var(--font-body);font-weight:var(--fw-regular);font-size:var(--fs-sm);color:var(--color-text-muted);transition:color .15s}
.rmd-coupon-trigger:hover{color:var(--color-text)}
.rmd-coupon-trigger .rmd-icon{flex:0 0 auto;width:15px;height:15px;color:currentColor}
.rmd-coupon-trigger u{text-decoration:none;font-family:var(--font-head);font-weight:var(--fw-bold);color:var(--color-headline);position:relative}
.rmd-coupon-trigger u::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--color-signal);border-radius:2px}
.rmd-coupon-trigger .rmd-icon:last-child{width:13px;height:13px;color:var(--color-text-muted);transition:transform .25s}
.rmd-coupon-collapse.is-open .rmd-coupon-trigger .rmd-icon:last-child{transform:rotate(180deg)}

/* Einklapp-Panel (grid-rows-Reveal, sauber animiert) */
.rmd-coupon-panel{display:grid;grid-template-rows:0fr;opacity:0;margin-top:0;transition:grid-template-rows .28s ease,opacity .2s,margin .28s}
.rmd-coupon-collapse.is-open .rmd-coupon-panel{grid-template-rows:1fr;opacity:1;margin-top:var(--space-3)}
.rmd-coupon-panel__inner{overflow:hidden}

/* Feld: weisse Pill mit Rand, Tag-Icon, randloses Feld - und innen ein eigenstaendiger
   DUNKLER "Einlösen"-Button (klare Affordance statt schwebendem Text). Fokus: dunkler Rand
   + zarter Ring. Kein Gelb. */
.rmd-coupon{display:flex;align-items:center;gap:var(--space-2);background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-4);transition:border-color .15s,box-shadow .15s}
.rmd-coupon:focus-within{border-color:var(--color-headline);box-shadow:0 0 0 3px rgba(13,16,18,.06)}
.rmd-coupon .rmd-icon{flex:0 0 17px;width:17px;height:17px;color:var(--color-text-muted);margin:0}
/* NUR der aeussere Pill-Rand: Kadence gibt input[type=text] einen eigenen Rand/BG/Radius
   (spezifischer als .rmd-coupon__input) -> hart wegnehmen, sonst doppelte Umrandung. */
.rmd-coupon__input,
.rmd-coupon__input:focus,
.rmd-coupon__input:focus-visible{flex:1 1 auto;min-width:0;width:auto;border:0!important;outline:none!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;padding:var(--space-2) 0;font-family:var(--font-body);font-size:var(--fs-sm);color:var(--color-text);line-height:1.3}
.rmd-coupon__input::placeholder{color:var(--color-text-muted)}
.rmd-coupon__btn,
.rmd-coupon__btn:focus,
.rmd-coupon__btn:active{flex:0 0 auto;height:38px;min-height:0;border:0!important;box-shadow:none!important;background:var(--btn-dark-bg)!important;border-radius:var(--radius-pill)!important;padding:0 var(--space-5);font-family:var(--font-head);font-weight:var(--fw-bold);font-size:var(--fs-sm);color:var(--btn-dark-text)!important;white-space:nowrap;cursor:pointer;transition:background .15s,transform .08s}
.rmd-coupon__btn:hover{background:var(--btn-dark-bg-hover)!important}
.rmd-coupon__btn:active{transform:scale(.97)}
.rmd-coupon-wrap.is-loading .rmd-coupon{opacity:.55;pointer-events:none}
.rmd-coupon__msg{margin-top:var(--space-2);font-size:var(--fs-xs);line-height:var(--lh-snug)}
.rmd-coupon__msg:empty{display:none}
.rmd-coupon__msg ul,.rmd-coupon__msg p{list-style:none;margin:0;padding:0}
.rmd-coupon__msg .woocommerce-error{color:var(--color-error)}
.rmd-coupon__msg .woocommerce-message{color:var(--color-success)}

/* Eingeloest: Erfolgs-Zeile mit Entfernen */
.rmd-coupon-applied{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);background:var(--color-surface);border-radius:var(--radius-pill);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);margin:0 0 var(--space-2)}
.rmd-coupon-applied__l{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);min-width:0}
.rmd-coupon-applied__ok{flex:0 0 20px;width:20px;height:20px;border-radius:var(--radius-pill);background:var(--color-success);display:flex;align-items:center;justify-content:center}
.rmd-coupon-applied__ok .rmd-icon{width:11px;height:11px;color:var(--color-on-dark)}
.rmd-coupon-applied__l b{font-family:var(--font-head);font-weight:var(--fw-bold);color:var(--color-headline)}
.rmd-coupon-applied__l span{color:var(--color-text-muted)}
.rmd-coupon-applied__x{flex:0 0 26px;width:26px;height:26px;border:0!important;background:transparent!important;box-shadow:none!important;min-height:0!important;border-radius:var(--radius-pill)!important;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s;color:var(--color-text-muted)}
.rmd-coupon-applied__x:hover{background:var(--color-hairline)!important}
.rmd-coupon-applied__x .rmd-icon{width:12px;height:12px;color:currentColor}

/* ===== Ueber-uns / Vertrauensseiten ===== */
.rmd-c-about-hero{padding:var(--space-section) 0}
.rmd-c-about-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-12);align-items:center}
.rmd-c-about-hero__copy{min-width:0}
.rmd-c-about-hero__title{font-family:var(--font-head);font-size:var(--fs-5xl);font-weight:var(--fw-head);line-height:var(--lh-flat);letter-spacing:-.04em;color:var(--color-headline);max-width:14ch;margin:var(--space-4) 0 var(--space-6)}
.rmd-c-about-hero__lead{font-size:var(--fs-md);line-height:var(--lh-normal);color:var(--color-text-muted);max-width:58ch;margin:0}
.rmd-c-about-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}
.rmd-c-about-hero__trust{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);margin:var(--space-8) 0 0;padding:var(--space-5) 0 0;border-top:thin solid var(--color-hairline)}
.rmd-c-about-hero__trust li{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--color-text-muted)}
.rmd-c-about-hero__trust .rmd-icon{width:var(--space-4);height:var(--space-4);color:var(--color-headline)}
.rmd-c-about-hero__visual{position:relative;min-width:0}
.rmd-c-about-hero__figure{position:relative;overflow:hidden;border-radius:var(--radius-panel);margin:0;background:var(--color-surface)}
.rmd-c-about-hero__figure .rmd-c-about-hero__img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.rmd-c-about-hero__caption{position:absolute;inset:auto 0 0;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-12) var(--space-6) var(--space-6);background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--color-dark) 88%,transparent));color:var(--color-on-dark)}
.rmd-c-about-hero__caption strong{font-family:var(--font-head);font-size:var(--fs-lg);line-height:var(--lh-snug);color:var(--color-on-dark)}
.rmd-c-about-hero__status{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--color-on-dark-muted)}
.rmd-c-about-hero__status i{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-pill);background:var(--color-online)}
.rmd-c-about-hero__badge{position:absolute;top:var(--space-6);left:calc(var(--space-6) * -1);display:flex;align-items:center;gap:var(--space-3);max-width:24ch;padding:var(--space-4) var(--space-5);border-radius:var(--radius-card);background:var(--color-signal);color:var(--color-on-signal);box-shadow:var(--shadow-md)}
.rmd-c-about-hero__badge strong{font-family:var(--font-head);font-size:var(--fs-2xl);line-height:var(--lh-flat)}
.rmd-c-about-hero__badge span{font-size:var(--fs-xs);line-height:var(--lh-snug)}

.rmd-c-facts--1{grid-template-columns:1fr}
.rmd-c-facts--2{grid-template-columns:repeat(2,1fr)}
.rmd-c-facts--3{grid-template-columns:repeat(3,1fr)}

.rmd-c-media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:calc(var(--space-20) * 2);gap:var(--space-4)}
.rmd-c-media-grid__item{position:relative;overflow:hidden;border-radius:var(--radius-card);margin:0;background:var(--color-surface)}
.rmd-c-media-grid__item--featured{grid-column:span 2;grid-row:span 2}
.rmd-c-media-grid__item--wide{grid-column:span 2}
.rmd-c-media-grid__item .rmd-img{display:block;width:100%;height:100%;object-fit:cover}
.rmd-c-media-grid__item figcaption{position:absolute;inset:auto 0 0;padding:var(--space-8) var(--space-4) var(--space-4);background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--color-dark) 84%,transparent));font-size:var(--fs-sm);color:var(--color-on-dark)}

.rmd-c-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
.rmd-c-story-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.rmd-c-story-card{display:flex;min-width:0;background:var(--color-bg);border-radius:var(--radius-card);overflow:hidden}
.rmd-c-story-card__link{display:flex;flex-direction:column;width:100%;color:var(--color-text);text-decoration:none}
.rmd-c-story-card__link:hover{color:var(--color-text)}
.rmd-c-story-card__media{display:block;overflow:hidden;background:var(--color-surface);aspect-ratio:16/10}
.rmd-c-story-card__media .rmd-img{display:block;width:100%;height:100%;object-fit:cover}
.rmd-c-story-card__body{display:flex;flex-direction:column;flex:1;padding:var(--space-6)}
.rmd-c-story-card__eyebrow{font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:var(--space-3)}
.rmd-c-story-card__title{font-family:var(--font-head);font-size:var(--fs-lg);font-weight:var(--fw-head);line-height:var(--lh-snug);letter-spacing:-.02em;color:var(--color-headline)}
.rmd-c-story-card__text{font-size:var(--fs-sm);line-height:var(--lh-normal);color:var(--color-text-muted);margin-top:var(--space-3)}
.rmd-c-story-card__cta{display:flex;align-items:center;gap:var(--space-2);margin-top:auto;padding-top:var(--space-6);font-family:var(--font-head);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--color-headline)}
.rmd-c-story-card__cta .rmd-icon{width:var(--space-4);height:var(--space-4)}
.rmd-c-story-grid+.rmd-c-quote{margin-top:var(--space-8)}
.rmd-c-quote--wide{max-width:none}

/* Beratungsdialog: gebaut und im Styleguide abnehmbar, auf echten Seiten noch nicht gerendert. */
.rmd-c-consultation-demo{display:flex;align-items:center;justify-content:center;min-height:calc(var(--space-20) * 2);padding:var(--space-8);border-radius:var(--radius-card);background:var(--color-surface)}
.rmd-c-consultation{width:min(94vw,calc(var(--container-narrow) + var(--space-20) * 3));max-height:92vh;padding:0;border:0;border-radius:var(--radius-panel);background:var(--color-bg);color:var(--color-text);box-shadow:var(--shadow-lg);overflow:auto;overscroll-behavior:contain}
/* Scroll-Sperre fuer den Hintergrund, solange das Popup offen ist (rmdLockScroll/rmdUnlockScroll in
   blocks.js) - sonst scrollt auf Mobil/iOS die Seite hinter dem Popup mit. */
html.rmd-modal-open{overflow:hidden}
html.rmd-modal-open body{position:fixed;left:0;right:0;width:100%;overflow:hidden}
.rmd-c-consultation::backdrop{background:color-mix(in srgb,var(--color-dark) 68%,transparent)}
.rmd-c-consultation:focus{outline:none}
.rmd-c-consultation__close{position:absolute;top:var(--space-4);right:var(--space-4);z-index:3;width:var(--space-10);height:var(--space-10);display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-headline);cursor:pointer}
.rmd-c-consultation__close .rmd-icon{width:var(--space-5);height:var(--space-5)}
.rmd-c-consultation__close:focus-visible{outline:thin solid var(--color-headline);outline-offset:var(--space-1)}
/* Schliessen ist ein <button> - Woo/Kadence faerben Buttons im Hover gelb. Immer unser Grau,
   Icon bleibt dunkel (siehe Hover-Icon-Kontrast-Regel). */
.rmd-c-consultation__close:hover,.rmd-c-consultation__close:focus,.rmd-c-consultation__close:active{background:var(--color-border)!important;color:var(--color-headline)!important}
/* Formularfelder im Modal in UNSEREM Design erzwingen: Kadences input[type=text] (Spezifitaet
   0,1,1) schlaegt sonst .rmd-input (0,1,0) - hier via .rmd-c-consultation .rmd-input (0,2,0). */
.rmd-c-consultation .rmd-input,.rmd-c-consultation .rmd-select,.rmd-c-consultation .rmd-textarea{width:100%;font-family:var(--font-body);font-size:var(--fs-base);color:var(--color-text);background:var(--color-field-bg);border:1.5px solid var(--color-field-border);border-radius:var(--radius-pill);height:var(--field-height);padding:0 var(--space-5);box-shadow:none}
.rmd-c-consultation .rmd-textarea{height:auto;min-height:76px;border-radius:var(--radius-lg);padding:var(--space-3) var(--space-5)}
.rmd-c-consultation .rmd-input:focus,.rmd-c-consultation .rmd-select:focus,.rmd-c-consultation .rmd-textarea:focus{outline:none;border-color:var(--color-headline);box-shadow:0 0 0 3px rgba(0,0,0,.06)}
.rmd-c-consultation__shell{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);min-height:min(72vh,var(--container-narrow))}
.rmd-c-consultation__intro{display:flex;flex-direction:column;padding:var(--space-12);background:linear-gradient(180deg,var(--color-surface),color-mix(in srgb,var(--color-surface) 82%,var(--color-hairline)))}
.rmd-c-consultation__intro h2{font-family:var(--font-head);font-size:var(--fs-3xl);font-weight:var(--fw-head);line-height:var(--lh-tight);letter-spacing:-.03em;color:var(--color-headline);margin:var(--space-4) 0 var(--space-5)}
.rmd-c-consultation__intro>p{font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--color-text-muted);margin:0}
.rmd-c-consultation__trust{display:flex;align-items:flex-start;gap:var(--space-3);margin-top:auto;padding-top:var(--space-8);border-top:thin solid var(--color-hairline);font-size:var(--fs-sm);color:var(--color-text-muted)}
.rmd-c-consultation__trust .rmd-icon{width:var(--space-5);height:var(--space-5);flex:0 0 var(--space-5)}
/* Test-Modus: Produkt-Kachel in der Intro-Spalte (zeigt dem Kunden, was er testet) */
.rmd-c-consultation__product{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-6);padding:var(--space-4);border-radius:var(--radius);background:var(--color-bg);border:thin solid var(--color-hairline)}
.rmd-c-consultation__product img{width:var(--space-16);height:var(--space-16);flex:0 0 var(--space-16);object-fit:contain;border-radius:var(--radius-sm,8px);background:var(--color-surface)}
.rmd-c-consultation__product>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.rmd-c-consultation__product-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-muted)}
.rmd-c-consultation__product strong{font-family:var(--font-head);font-size:var(--fs-base);font-weight:var(--fw-semibold);line-height:var(--lh-snug,1.25);color:var(--color-headline)}
.rmd-c-consultation__product-meta{font-size:var(--fs-sm);color:var(--color-text-muted)}
.rmd-c-consultation__form{display:flex;flex-direction:column;padding:var(--space-10) var(--space-12)}
.rmd-c-consultation__progress{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin:0 0 var(--space-8);padding:0}
.rmd-c-consultation__progress li{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-3);border-bottom:thin solid var(--color-hairline);font-family:var(--font-head);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-text-muted)}
.rmd-c-consultation__progress li.is-active{border-color:var(--color-headline);color:var(--color-headline)}
/* Bereits besuchte Schritte sind anklickbar (zurueck zur Aenderung). */
.rmd-c-consultation__progress li.is-nav{cursor:pointer}
.rmd-c-consultation__progress li.is-nav:hover{color:var(--color-headline)}
.rmd-c-consultation__progress li.is-nav:hover b{background:var(--color-headline);color:var(--color-on-dark)}
.rmd-c-consultation__progress b{width:var(--space-8);height:var(--space-8);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--color-surface);font-size:var(--fs-xs)}
.rmd-c-consultation__progress li.is-active b{background:var(--color-dark);color:var(--color-on-dark)}
.rmd-c-consultation__step{min-width:0;margin:0;padding:0;border:0}
.rmd-c-consultation__step legend{font-family:var(--font-head);font-size:var(--fs-xl);font-weight:var(--fw-head);line-height:var(--lh-snug);color:var(--color-headline);margin-bottom:var(--space-5)}
.rmd-c-consultation__options{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr));gap:var(--space-3);margin-bottom:var(--space-6)}
.rmd-c-consultation__options label{display:flex;cursor:pointer}
.rmd-c-consultation__options input{position:absolute;opacity:0;pointer-events:none}
.rmd-c-consultation__options span{display:flex;align-items:center;width:100%;min-height:var(--field-height);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--color-surface);font-family:var(--font-head);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-text)}
.rmd-c-consultation__options input:checked+span{background:var(--color-dark);color:var(--color-on-dark)}
.rmd-c-consultation__options input:focus-visible+span{outline:thin solid var(--color-headline);outline-offset:var(--space-1)}
.rmd-c-consultation__fieldrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}
.rmd-c-consultation__fieldrow:last-of-type{margin-bottom:0}
.rmd-c-consultation__fieldrow--zip{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr) minmax(0,1fr)}
.rmd-c-consultation__fieldrow--vars{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));margin-bottom:var(--space-10)}
.rmd-c-consultation__hint{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--color-surface);font-size:var(--fs-sm);color:var(--color-text-muted)}
/* Zubehoer bewusst unaufdringlich: Standardbefestigung ist immer dabei. Kompakte, bildlose
   Checkbox-Zeilen links/rechts (2 Spalten). */
.rmd-c-consultation__addons-note{margin:0 0 var(--space-3);font-size:var(--fs-sm);color:var(--color-text-muted)}
.rmd-c-consultation__addons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin-bottom:var(--space-6)}
.rmd-c-consultation__addons .rmd-c-scope__o{padding:9px 11px;margin-bottom:0}
.rmd-c-consultation__addons .rmd-c-scope__box{width:16px;height:16px;flex-basis:16px}
/* WICHTIG: [hidden] setzt display:none per UA-Stylesheet - wird aber vom expliziten display:grid
   des Shells ueberschrieben. Ohne diese Zeile blieb das Formular sichtbar UND die Erfolgsmeldung
   erschien darunter angehaengt statt ersetzend. */
.rmd-c-consultation__shell[hidden],.rmd-c-consultation__success[hidden]{display:none}
.rmd-c-consultation__form .rmd-field{margin-bottom:var(--space-4)}
.rmd-c-consultation__form .rmd-field:last-child{margin-bottom:0}
/* Anmerkungsfeld deutlich von der Varianten-/Zubehoerauswahl darueber absetzen (der :last-of-type-
   Reset kann den Abstand der Varianten-Zeile auf 0 kollabieren lassen -> sonst zu eng). */
.rmd-c-consultation__note{margin-top:var(--space-8)}
.rmd-c-consultation__fieldrow .rmd-field{margin-bottom:0}
/* Consent: Haken oben an der ersten Textzeile, nicht mittig. Doppelklasse schlaegt .rmd-check
   (align-items:center) aus forms.css, das sonst spaeter laedt und gewinnt. */
.rmd-check.rmd-c-consultation__consent{align-items:flex-start;margin-top:var(--space-2)}
.rmd-c-consultation__consent input{margin-top:2px}
.rmd-c-consultation__actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:auto;padding-top:var(--space-6);border-top:thin solid var(--color-hairline)}
/* WICHTIG (gleiche Falle wie oben beim Shell): .rmd-c-btn setzt display:inline-flex und schlaegt
   damit das UA-[hidden]{display:none}. Ohne diese Zeile blieb der Absenden-Button (Weiter/Zurueck/
   Test anfragen) trotz hidden-Attribut sichtbar - so erschien "Test anfragen" schon auf Schritt 1
   statt erst im letzten Schritt. Jetzt respektieren die Buttons hidden -> Absenden nur am Ende. */
.rmd-c-consultation__actions .rmd-c-btn[hidden]{display:none}
.rmd-c-consultation__success{padding:var(--space-16);text-align:center}
.rmd-c-consultation__successicon{display:flex;align-items:center;justify-content:center;width:var(--space-14);height:var(--space-14);margin:0 auto var(--space-5);border-radius:var(--radius-pill);background:var(--color-success-bg);color:var(--color-success-ink)}
.rmd-c-consultation__successicon .rmd-icon{width:var(--space-6);height:var(--space-6)}
.rmd-c-consultation__success h2{font-family:var(--font-head);font-size:var(--fs-3xl);font-weight:var(--fw-head);line-height:var(--lh-tight);letter-spacing:-.03em;color:var(--color-headline);max-width:20ch;margin:var(--space-4) auto}
.rmd-c-consultation__success p{font-size:var(--fs-base);color:var(--color-text-muted);max-width:52ch;margin:0 auto var(--space-8)}

@media(max-width:1024px){
  .rmd-c-about-hero__grid{grid-template-columns:1fr;gap:var(--space-8)}
  /* Gestapelt (Tablet/Mobile): Bild zuerst, Text darunter. */
  .rmd-c-about-hero__copy{order:2}
  .rmd-c-about-hero__visual{order:1}
  .rmd-c-facts--3{grid-template-columns:repeat(2,1fr)}
  .rmd-c-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rmd-c-story-grid,.rmd-c-story-grid--2{grid-template-columns:1fr}
  .rmd-c-consultation__shell{grid-template-columns:1fr}
  .rmd-c-consultation__intro{padding:var(--space-8)}
  .rmd-c-consultation__trust{margin-top:var(--space-6)}
}
@media(max-width:767px){
  .rmd-c-about-hero__title{margin-top:var(--space-3)}
  .rmd-c-about-hero__actions{flex-direction:column}
  /* Hero-Bild full-bleed: bis an die Screen-Kanten und flush zum Header (kein Padding/Radius). */
  .rmd-c-about-hero{padding-top:0}
  .rmd-c-about-hero__visual{margin-left:calc(var(--space-6) * -1);margin-right:calc(var(--space-6) * -1)}
  .rmd-c-about-hero__figure{border-radius:0}
  /* Badge: nur das Jahr "Seit 2003" (Untertitel weg), kompakt - verdeckt das Bild nicht. */
  .rmd-c-about-hero__badge{top:var(--space-3);left:var(--space-3);gap:var(--space-2);padding:var(--space-2) var(--space-3)}
  .rmd-c-about-hero__badge strong{font-size:var(--fs-base)}
  .rmd-c-about-hero__badge span{display:none}
  .rmd-c-about-hero__trust{flex-direction:column}
  .rmd-c-facts--2,.rmd-c-facts--3{grid-template-columns:1fr}
  .rmd-c-media-grid{grid-auto-rows:calc(var(--space-20) + var(--space-12))}
  .rmd-c-media-grid__item--featured{grid-column:span 2}
  /* Mobil: kein zentriertes Popup (Kopf/Schliessen wurde oben abgeschnitten), sondern ein
     Vollhoehen-Panel wie der Warenkorb - von rechts, scrollt intern, Schliessen bleibt fixiert. */
  .rmd-c-consultation{width:min(100vw,26rem);max-width:100vw;height:100vh;height:100dvh;max-height:100dvh;margin:0 0 0 auto;border-radius:0}
  .rmd-c-consultation__shell{min-height:0}
  .rmd-c-consultation__close{position:fixed;top:var(--space-3);right:var(--space-3);z-index:5}
  .rmd-c-consultation__intro,.rmd-c-consultation__form{padding:var(--space-6)}
  /* Intro kompakt halten, sonst schiebt es die Schritt-Reiter (1/2) aus dem sichtbaren Bereich. */
  .rmd-c-consultation__intro{padding-top:var(--space-10);padding-bottom:var(--space-4)}
  .rmd-c-consultation__intro h2{font-size:var(--fs-2xl);margin:var(--space-2) 0 var(--space-3)}
  .rmd-c-consultation__intro>p,.rmd-c-consultation__trust{display:none}
  /* Reiter-Beschriftung (Testgeraet/Kontakt) auch mobil zeigen, nur kompakter. */
  .rmd-c-consultation__progress{gap:var(--space-2)}
  .rmd-c-consultation__progress li{font-size:var(--fs-xs);gap:var(--space-1)}
  .rmd-c-consultation__progress b{width:var(--space-6);height:var(--space-6)}
  .rmd-c-consultation__addons{grid-template-columns:1fr}
  .rmd-c-consultation__options,.rmd-c-consultation__fieldrow{grid-template-columns:1fr}
  .rmd-c-consultation__fieldrow--zip{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
  .rmd-c-consultation__fieldrow--zip .rmd-field:last-child{grid-column:1 / -1}
  .rmd-c-consultation__actions{flex-direction:column-reverse}
}

/* ========================================================================
   ICON-SYSTEM (Lucide) - ZWEISTUFIGE Strichstaerke (bewusst am Dateiende,
   ueberschreibt die uneinheitlichen Block-Strichstaerken):
   - klein / inline (< ~20px: Button-Pfeile, Chip-Haken, Mengen +/-) = 2.0
     (1.5 waere auf 16px optisch ~1px und wirkt auf gelbem Button blass)
   - gross (>= 26px: Icon-Block md/lg/xl, Facts/Cardrow/Feature) = 1.5
   Brand-Icons (mehrfarbig, .rmd-icon--brand) sind ausgenommen: eigene Farben.
   ======================================================================== */
.rmd-icon:not(.rmd-icon--brand){fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rmd-icon.rmd-c-icon--md,.rmd-icon.rmd-c-icon--lg,.rmd-icon.rmd-c-icon--xl,
.rmd-c-icon:not(.rmd-icon--brand),
.rmd-c-facts__ico .rmd-icon,.rmd-c-cardrow__ico .rmd-icon,.rmd-feature .rmd-icon{stroke-width:1.5}
/* Brand-Icons: KEINE fill/stroke-Regel - sie tragen ihre eigenen Farben (fill="none" am <svg>,
   eigene fills/strokes an den Pfaden). Ein Reset waere falsch (fill:initial = Schwarz -> deckt zu). */
/* Groessen-Klassen (Helper rmd_icon($name,'sm|md|lg|xl')) */
.rmd-c-icon--sm{width:20px;height:20px;flex-basis:20px}
.rmd-c-icon--md{width:26px;height:26px;flex-basis:26px}
.rmd-c-icon--lg{width:34px;height:34px;flex-basis:34px}
.rmd-c-icon--xl{width:44px;height:44px;flex-basis:44px}

/* ===== Art.-Nr. + Lieferzeit-Kasten (skubox-Block, PDP) - .rmd-skubox, JS in single-product.js ===== */
.rmd-skubox{display:flex;align-items:stretch;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0;margin:0 0 16px;font-size:var(--fs-sm);overflow:hidden}
.rmd-skubox[hidden]{display:none}
.rmd-skubox__item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:2px;padding:10px 15px}
.rmd-skubox__item[hidden]{display:none}
.rmd-skubox__item:not([hidden])+.rmd-skubox__item:not([hidden]){border-left:1px solid var(--color-border)}
.rmd-skubox__label{color:var(--color-text-muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:6px}
.rmd-skubox__live{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--color-online);animation:rmd-blink 1.6s ease-in-out infinite}
.rmd-skubox__val{font-family:var(--font-head);font-weight:var(--fw-semibold);color:var(--color-headline);letter-spacing:.02em}
.rmd-skubox__await{color:var(--color-text-muted);font-style:italic}
.rmd-skubox:not(.rmd-skubox--await) .rmd-skubox__await{display:none}
.rmd-skubox--await .rmd-skubox__val,.rmd-skubox--await .rmd-skubox__slot{display:none}
.rmd-skubox__slot .wc-gzd-additional-info,.rmd-skubox__slot .delivery-time-inner{margin:0!important;padding:0!important;font-size:0!important;color:var(--color-headline)!important;font-family:var(--font-head)}
.rmd-skubox__slot .delivery-time-data{font-size:var(--fs-sm)!important;font-weight:var(--fw-semibold)}
@keyframes rmd-blink{0%,100%{opacity:1}50%{opacity:.2}}
@media(max-width:767px){
.rmd-skubox{flex-direction:column}
.rmd-skubox__item{padding:8px 13px;gap:1px}
.rmd-skubox__label{font-size:10px}
.rmd-skubox__val,.rmd-skubox__await,.rmd-skubox__slot .delivery-time-data{font-size:13px!important}
.rmd-skubox__item:not([hidden])+.rmd-skubox__item:not([hidden]){border-left:0;border-top:1px solid var(--color-border)}
}
@media(prefers-reduced-motion:reduce){.rmd-skubox__live{animation:none}}


/* ============================================================================
   Produkt-Extra-Content-Baukasten (inc/product-content.php): mediacards, appctrl
   ========================================================================== */
.rmd-pc-sec .rmd-c-section__head{margin-bottom:var(--space-10)}
/* Bildkarten-Reihe */
.rmd-c-mcards{display:grid;gap:var(--space-6)}
.rmd-c-mcards--2{grid-template-columns:repeat(2,1fr)}
.rmd-c-mcards--3{grid-template-columns:repeat(3,1fr)}
.rmd-c-mcards--4{grid-template-columns:repeat(4,1fr)}
/* Home-Sektion "Ihr Partner...": die 4 Karten als 2x2 (nicht 4-in-einer-Reihe), damit sie gross
   und dem Screenshot nah bleiben. Nur in diesem Sektions-Kontext. */
.rmd-home-partner .rmd-c-mcards--4{grid-template-columns:repeat(2,1fr)}
/* Mobile: eine Karte pro Reihe (100%). Muss NACH der 2-Spalten-Regel oben stehen, sonst gewinnt
   diese bei gleicher Spezifitaet (0,2,0) auch auf dem Handy. */
@media(max-width:767px){.rmd-home-partner .rmd-c-mcards--4{grid-template-columns:1fr}}
/* Home: ALLE Sektions-Ueberschriften einheitlich + klar kleiner als die Hero-H1 (fs-5xl).
   Gleiches Prinzip wie .rmd-cat-sec auf den Kategorie-/Anwendungsseiten. Betrifft section-Koepfe,
   Kundenstimmen (tstm) und das Haendler-Panel (cta) - so wirkt nur die Hero-H1 als Hauptueberschrift. */
.rmd-home .rmd-c-section__title,.rmd-about .rmd-c-section__title,
.rmd-home .rmd-c-tstm__title,.rmd-about .rmd-c-tstm__title,
.rmd-home .rmd-c-cta__headline,.rmd-about .rmd-c-cta__headline{font-size:var(--fs-3xl)}
/* Wegweiser-Sektion: kurzer Titel darf einzeilig laufen (Standard-14ch waere zu schmal). */
.rmd-home-wf .rmd-c-section__title{max-width:none}
/* Partner-Titel bewusst ZWEIzeilig: 14ch gaebe 3 Zeilen; max-width:none nutzt die Kopfbreite (660px),
   die den langen Titel auf 2 Zeilen umbricht. text-wrap:balance verteilt sie gleichmaessig. */
.rmd-home-partner .rmd-c-section__title{max-width:none;text-wrap:balance}
/* Vorteile-Titel EINzeilig: zusaetzlich die 660px-Kopfbreite aufheben, sonst bricht der etwas
   laengere Titel in eine zweite Zeile. */
.rmd-home-vorteile .rmd-c-section__head,
.rmd-home-vorteile .rmd-c-section__title{max-width:none}
.rmd-c-mcards__card{margin:0;display:flex;flex-direction:column}
.rmd-c-mcards__top{position:relative;border-radius:var(--radius-card);overflow:hidden;background:var(--color-surface)}
.rmd-c-mcards__media img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.rmd-c-mcards__media--ph{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:repeating-linear-gradient(45deg,var(--color-surface) 0,var(--color-surface) 14px,var(--color-bg) 14px,var(--color-bg) 28px)}
.rmd-c-mcards__ph{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;padding:var(--space-4);color:var(--color-text-muted)}
.rmd-c-mcards__ph .rmd-icon{width:28px;height:28px}
.rmd-c-mcards__phcap{font-size:var(--fs-xs)}
.rmd-c-mcards__label{position:absolute;top:var(--space-3);left:var(--space-3);background:var(--color-dark);color:var(--color-on-dark);font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill,999px)}
.rmd-c-mcards__body{padding:var(--space-5) 0 0}
.rmd-c-mcards__title{font-family:var(--font-head);font-size:var(--fs-base);margin:0 0 var(--space-2)}
.rmd-c-mcards__text{font-size:var(--fs-sm);color:var(--color-text-muted);margin:0;line-height:1.6}
/* Variante media=bottom (Home "Ihr Partner..."): weisse Karte mit Rahmen, Label als Inline-Pill
   ueber dem Titel, Bild an der Kartenunterkante (margin-top:auto richtet die Bilder aller Karten aus). */
.rmd-c-mcards--media-bottom .rmd-c-mcards__card{background:var(--color-bg);border-radius:var(--radius-card);padding:var(--space-6);box-shadow:var(--shadow-md)}
.rmd-c-mcards--media-bottom .rmd-c-mcards__body{padding:0 0 var(--space-5)}
.rmd-c-mcards--media-bottom .rmd-c-mcards__title{font-size:var(--fs-lg);color:var(--color-headline)}
.rmd-c-mcards--media-bottom .rmd-c-mcards__top{margin-top:auto;border-radius:var(--radius)}
.rmd-c-mcards__label--inline{position:static;top:auto;left:auto;display:inline-block;background:var(--color-surface);color:var(--color-text-muted);text-transform:none;letter-spacing:.02em;margin-bottom:var(--space-4)}
/* dunkle Variante: Karte als dunkles Panel */
.rmd-c-mcards--dark .rmd-c-mcards__card{background:var(--color-dark-2);border-radius:var(--radius-card);overflow:hidden}
.rmd-c-mcards--dark .rmd-c-mcards__top{border-radius:0}
.rmd-c-mcards--dark .rmd-c-mcards__body{padding:var(--space-6)}
.rmd-c-mcards--dark .rmd-c-mcards__title{color:var(--color-on-dark)}
.rmd-c-mcards--dark .rmd-c-mcards__text{color:var(--color-on-dark-muted)}
.rmd-c-mcards--dark .rmd-c-mcards__media--ph{background:repeating-linear-gradient(45deg,var(--color-dark-2) 0,var(--color-dark-2) 14px,var(--color-dark) 14px,var(--color-dark) 28px)}
.rmd-c-mcards--dark .rmd-c-mcards__ph{color:var(--color-on-dark-muted)}
/* App-Steuerung */
.rmd-c-appctrl{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}
.rmd-c-appctrl--img-left .rmd-c-appctrl__media{order:-1}
.rmd-c-appctrl__media{border-radius:var(--radius-card);overflow:hidden;background:var(--color-surface)}
.rmd-c-appctrl__media img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.rmd-c-appctrl__media--ph{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:repeating-linear-gradient(45deg,var(--color-surface) 0,var(--color-surface) 14px,var(--color-bg) 14px,var(--color-bg) 28px)}
.rmd-c-appctrl__ph{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--color-text-muted);text-align:center;padding:var(--space-4)}
.rmd-c-appctrl__ph .rmd-icon{width:28px;height:28px}
.rmd-c-appctrl__phcap{font-size:var(--fs-xs)}
.rmd-c-appctrl__headline{font-family:var(--font-head);font-size:var(--fs-xl);margin:0 0 var(--space-4);line-height:var(--lh-tight)}
.rmd-c-appctrl__text{font-size:var(--fs-sm);color:var(--color-text-muted);margin:0 0 var(--space-6);line-height:1.7}
.rmd-c-appctrl__badges{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}
.rmd-c-appctrl__badge{display:inline-flex}
.rmd-c-appctrl__badge img{height:44px;width:auto;display:block}
.rmd-c-appctrl__badgefb{display:inline-flex;align-items:center;background:var(--color-dark);color:var(--color-on-dark);font-family:var(--font-head);font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill,999px)}
/* Technische-Daten-Fussnote */
.rmd-c-technote{font-size:var(--fs-xs);color:var(--color-text-muted);margin:var(--space-4) 0 0}
@media (max-width:900px){
  .rmd-c-appctrl{grid-template-columns:1fr;gap:var(--space-8)}
  .rmd-c-appctrl--img-left .rmd-c-appctrl__media{order:-1}
  .rmd-c-mcards--3,.rmd-c-mcards--4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .rmd-c-mcards--2,.rmd-c-mcards--3,.rmd-c-mcards--4{grid-template-columns:1fr}
}

/* Technische Daten mit Bild rechts (technische_daten-Baustein) */
.rmd-c-techgrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}
.rmd-c-techgrid__specs .rmd-c-usps{max-width:none;margin-bottom:0}
.rmd-c-techgrid__media{border-radius:var(--radius-card);overflow:hidden;background:var(--color-bg);display:flex;align-items:center;justify-content:center;padding:var(--space-8)}
.rmd-c-techgrid__media img{display:block;max-width:100%;height:auto}
.rmd-c-techgrid__media--ph{aspect-ratio:4/3;padding:0;background:repeating-linear-gradient(45deg,var(--color-surface) 0,var(--color-surface) 14px,var(--color-bg) 14px,var(--color-bg) 28px)}
.rmd-c-techgrid__ph{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--color-text-muted);text-align:center;padding:var(--space-4)}
.rmd-c-techgrid__ph .rmd-icon{width:28px;height:28px}
.rmd-c-techgrid__phcap{font-size:var(--fs-xs)}
@media (max-width:900px){.rmd-c-techgrid{grid-template-columns:1fr;gap:var(--space-8)}}

/* Baukasten-Bildseiten: einheitlicher Querformat-Rahmen (770x450 = 77/45) mit mittigem
   Zuschnitt. Gleichmaessige Reihen unabhaengig vom hochgeladenen Seitenverhaeltnis UND
   unabhaengig davon, welche srcset-Variante der Browser waehlt (jede wird auf denselben
   Rahmen zugeschnitten). Empfehlung: Bilder quer (770x450) hochladen -> kein Zuschnitt. */
.rmd-pc-sec .rmd-c-cols__media img,
.rmd-pc-sec .rmd-c-appctrl__media img{aspect-ratio:77/45;width:100%;height:100%;object-fit:cover;object-position:center}
.rmd-pc-sec .rmd-c-cols__media--ph,
.rmd-pc-sec .rmd-c-appctrl__media--ph{aspect-ratio:77/45}

/* "Flexible Gestaltung" Form-Karten (Kategorie, via mediacards): zentrierte Labels,
   Formen komplett zeigen (contain) statt Zuschnitt. */
.rmd-shapecards .rmd-c-mcards__body{text-align:center;padding-top:var(--space-3)}
.rmd-shapecards .rmd-c-mcards__title{font-family:var(--font-head);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-text-muted);margin:0}
.rmd-shapecards .rmd-c-mcards__media img{aspect-ratio:1/1;object-fit:cover;background:var(--color-surface)}
.rmd-shapecards .rmd-c-mcards__media--ph{aspect-ratio:1/1}

/* Mobile: Extra-Content-Bilder randlos ueber die volle Bildschirmbreite (Full-Bleed) -
   wie das Kategorie-Hero-Bild. Gilt global fuer die Bild-Text-Reihen (Kategorie/
   Ueberkategorie/PDP) und den Produkt-Baukasten (bild_text + App-Steuerung). */
@media (max-width:600px){
  .rmd-extra-rows .rmd-c-cols__media,
  .rmd-pc-sec .rmd-c-cols__media,
  .rmd-pc-sec .rmd-c-appctrl__media{margin-left:calc(-1 * var(--space-6));margin-right:calc(-1 * var(--space-6));border-radius:0}
}

/* Mobile: auch die Kategorie-Kachel-Bilder (Ueberkategorie/Shop) randlos ueber die volle
   Breite - Card-Overflow/Radius dafuer aufheben. Grid ist ab <=640px 1-spaltig. */
@media (max-width:640px){
  .rmd-c-cat-tile{overflow:visible;border-radius:0}
  .rmd-c-cat-tile__m{margin-left:calc(-1 * var(--space-6));margin-right:calc(-1 * var(--space-6));border-radius:0}
}

/* Mobile: auch das Kategorie-Split-Hero-Bild (Ueberkategorie) randlos ueber die volle
   Breite. Der Split-Hero stapelt ab <=900px; wir setzen Full-Bleed am Phone-Breakpoint. */
@media (max-width:640px){
  .rmd-cat-hero-sec .rmd-c-hero__media{margin-left:calc(-1 * var(--space-6));margin-right:calc(-1 * var(--space-6));border-radius:0}
}

/* Kundenstimmen an das Haus-Design angleichen (2026-07-31): Standard-Strich-Eyebrow
   linksbuendig (keine Eck-Klammern), keine Karten-Schatten, kein schwarzer Blockquote-
   Strich, Karten als dichtes Masonry (Spalten) -> weniger Weissraum. */
.rmd-c-tstm__head{text-align:left;max-width:none;margin:0 0 var(--space-10)}
.rmd-c-tstm__eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);padding:0;color:var(--color-text-muted)}
.rmd-c-tstm__eyebrow::before{content:"";position:static;width:var(--space-6);height:3px;border:0;background:var(--color-signal);border-radius:2px}
.rmd-c-tstm__eyebrow::after{content:none}
.rmd-c-tstm__title{margin-top:var(--space-3)}
.rmd-c-tstm__title-alt{color:var(--color-headline)}
.rmd-c-tstm__text{border:0;padding-left:0}
.rmd-c-tstm__card--big .rmd-c-tstm__text,.rmd-c-tstm__card--narrow .rmd-c-tstm__text{font-size:var(--fs-base)}
.rmd-c-tstm__card,.rmd-c-tstm__card--dark{box-shadow:none}
.rmd-c-tstm__grid{display:block;column-count:3;column-gap:var(--space-5)}
.rmd-c-tstm__card{width:100%;margin:0 0 var(--space-5);break-inside:avoid}
/* Slider-Variante (layout=slider): gleich grosse Karten im globalen slider-Baustein, das
   Bento-Groessenspiel entfaellt. contain:paint kapselt den horizontalen Scroll - ohne das schlaegt
   er mobil auf Dokumentebene durch und die Seite laesst sich ueber den rechten Rand schieben. */
.rmd-c-tstm--slider{contain:paint}
.rmd-c-tstm--slider .rmd-c-slider__slide{display:flex}
.rmd-c-tstm--slider .rmd-c-tstm__card{margin:0;height:100%}
@media (max-width:900px){.rmd-c-tstm__grid{column-count:2}}
@media (max-width:600px){.rmd-c-tstm__grid{column-count:1}}

/* ===== Kundenzeile (facepile): ueberlappende Portraits + Vertrauensaussage ===== */
/* Der weisse Ring kommt als box-shadow, nicht als border - so bleibt das Portrait rund und die
   Ueberlappung sauber, ohne dass der Rahmen die Bildflaeche verkleinert. */
.rmd-c-facepile{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}
.rmd-c-facepile__faces{display:flex;align-items:center}
.rmd-c-facepile__face{width:48px;height:48px;border-radius:var(--radius-pill);overflow:hidden;flex:none;background:var(--color-surface);box-shadow:0 0 0 3px var(--color-bg)}
.rmd-c-facepile__face+.rmd-c-facepile__face{margin-left:-14px}
.rmd-c-facepile__face img{width:100%;height:100%;object-fit:cover;display:block}
.rmd-c-facepile__text{font-size:var(--fs-sm);color:var(--color-text-muted);margin:0}
.rmd-c-facepile--md .rmd-c-facepile__face{width:56px;height:56px}
.rmd-c-facepile--md .rmd-c-facepile__face+.rmd-c-facepile__face{margin-left:-16px}

/* ===== Auswahl-Sektion (showcase): Liste links, grosses Anwendungsbild rechts ===== */
/* Weisses Panel wie unsere anderen grossen Sektionen. Zwei Spalten, rechts etwas breiter -
   das Bild ist hier das Argument, die Liste nur die Navigation dorthin. */
/* Die Karten-Sektion steht FREI auf der Seite - kein Panel im Panel. Nur das stage-Layout bringt
   noch einen eigenen weissen Kasten mit. */
.rmd-c-showcase--stage{background:var(--color-bg);border-radius:var(--radius-panel);box-shadow:var(--shadow-md);padding:var(--space-16) var(--space-14)}
.rmd-c-showcase__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:var(--space-16);align-items:start}
/* --- Karten-Layout: Kopf zweispaltig (Titel links, Vorspann rechts), Karten-Reihe, Fusszeile --- */
.rmd-c-showcase__head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-16);align-items:start;margin-bottom:var(--space-12)}
.rmd-c-showcase--cards .rmd-c-showcase__title{margin-bottom:0}
.rmd-c-showcase--cards .rmd-c-showcase__lead{margin:0;padding-top:var(--space-5)}
/* Ganze Karte ist der Link - nicht nur der Pfeil; der Pfeil ist die optische Einladung dazu. */
/* Ohne Schatten, reine weisse Flaeche (Kundenwunsch 2026-08-06): das Foto traegt die Karte, der
   Schatten hat nur Unruhe in die Reihe gebracht. Beim Hover bleibt das Anheben - es zeigt, dass die
   ganze Karte anklickbar ist - nur eben ohne Schlagschatten. */
.rmd-c-showcase__card{display:flex;flex-direction:column;background:var(--color-bg);border-radius:var(--radius-card);overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s ease}
a.rmd-c-showcase__card:hover{transform:translateY(-4px)}
a.rmd-c-showcase__card:focus-visible{outline:2px solid var(--color-headline);outline-offset:3px}
/* Hochformat: Anwendungsfotos wirken so am staerksten, Freisteller haben genug Luft. */
/* Bild fuellt die Kachel randlos (kein Innenabstand): das Foto ist hier das Argument, nicht der
   weisse Rahmen darum. Gilt auch fuer Shop-Freisteller - die werden dabei angeschnitten, dafuer
   wirkt die Reihe ruhig und gleichmaessig. */
/* Quadratische Bildflaeche mit `contain`: die Produktgruppen-Bilder sind Freisteller im
   Format 1:1 (500x500, 1000x1000). In der alten 4:5-Kachel mit `cover` wurden sie links und
   rechts angeschnitten - bei Gelenk- und Lupenleuchten fielen so die Pruefzeichen weg.
   Weisser Grund statt Flaechenfarbe, damit ein abweichendes Seitenverhaeltnis nicht als
   graues Band auffaellt. Kein Innenabstand: die Freisteller bringen ihren Rand selbst mit,
   zusaetzlicher Abstand laesst die Leuchte nur kleiner wirken. */
.rmd-c-showcase__cardmedia{position:relative;aspect-ratio:1/1;background:var(--color-bg);overflow:hidden;display:flex;align-items:center;justify-content:center}
.rmd-c-showcase__cardmedia img{width:100%;height:100%;object-fit:contain;display:block}
.rmd-c-showcase__cardbody{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-6)}
.rmd-c-showcase--cards .rmd-c-showcase__desc{display:block;margin-top:var(--space-1)}
.rmd-c-showcase--cards .rmd-c-showcase__name{font-size:var(--fs-base)}
a.rmd-c-showcase__card:hover .rmd-c-showcase__dot{background:var(--color-signal)}
/* Fusszeile: Haarlinie, Hinweis links, Signal-Button rechts. */
.rmd-c-showcase__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);flex-wrap:wrap;margin-top:var(--space-12);padding-top:var(--space-8);border-top:1px solid var(--color-hairline)}
.rmd-c-showcase__note{font-size:var(--fs-sm);color:var(--color-text-muted);margin:0;max-width:60ch}
.rmd-c-showcase__col{min-width:0}
.rmd-c-showcase__title{font-family:var(--font-head);font-weight:var(--fw-head);font-size:var(--fs-4xl);letter-spacing:-.03em;line-height:var(--lh-tight);color:var(--color-headline);margin:var(--space-4) 0 var(--space-5);text-wrap:balance}
.rmd-c-showcase__lead{font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--color-text-muted);margin:0 0 var(--space-8);text-wrap:pretty}

/* Ein Eintrag = ein Tab. Button statt div, damit Tastatur und Screenreader ihn bedienen koennen;
   die Button-Grundoptik wird deshalb hier bewusst zurueckgesetzt. */
.rmd-c-showcase__list{display:flex;flex-direction:column}
.rmd-c-showcase__item{appearance:none;-webkit-appearance:none;background:none;border:0;font:inherit;color:inherit;text-align:left;width:100%;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4);border-top:1px solid var(--color-hairline);border-radius:var(--radius);transition:background .15s ease}
.rmd-c-showcase__item:last-child{border-bottom:1px solid var(--color-hairline)}
.rmd-c-showcase__item:hover{background:var(--color-surface)}
.rmd-c-showcase__item.is-active{background:var(--color-surface)}
.rmd-c-showcase__item:focus-visible{outline:2px solid var(--color-headline);outline-offset:2px}
.rmd-c-showcase__txt{min-width:0}
.rmd-c-showcase__name{display:block;font-family:var(--font-head);font-weight:var(--fw-bold);font-size:var(--fs-md);letter-spacing:-.01em;color:var(--color-headline)}
/* Beschreibung nur beim aktiven Eintrag - die Liste bleibt sonst eine Textwand. */
.rmd-c-showcase__desc{display:none;font-size:var(--fs-sm);line-height:var(--lh-snug);color:var(--color-text-muted);margin-top:var(--space-1)}
.rmd-c-showcase__item.is-active .rmd-c-showcase__desc{display:block}
.rmd-c-showcase__dot{width:36px;height:36px;flex:0 0 auto;border-radius:var(--radius-pill);background:var(--color-surface);display:flex;align-items:center;justify-content:center;transition:background .15s ease}
.rmd-c-showcase__dot .rmd-icon{width:15px;height:15px;color:var(--color-headline)}
/* Signal-Gelb nur am aktiven Punkt - ein Akzent pro Blick (Bauregel Signal). */
.rmd-c-showcase__item.is-active .rmd-c-showcase__dot{background:var(--color-signal)}
.rmd-c-showcase__cta{margin-top:var(--space-6)}

/* Buehne: feste Hoehe, damit beim Umschalten nichts springt. Freisteller werden eingepasst
   (contain), Anwendungsfotos fuellen die Flaeche - deshalb cover per Modifier am Bild. */
.rmd-c-showcase__stage{position:relative;background:var(--color-surface);border-radius:var(--radius-card);height:520px;padding:var(--space-8)}
.rmd-c-showcase__panel{position:absolute;inset:var(--space-8);display:none;align-items:center;justify-content:center}
.rmd-c-showcase__panel.is-active{display:flex}
.rmd-c-showcase__panel img{width:100%;height:100%;object-fit:contain;display:block}
/* Anwendungsfotos fuellen die Buehne (cover) - Freisteller aus dem Shop bleiben eingepasst
   (contain), sonst wuerde ihnen der Rand abgeschnitten. */
.rmd-c-showcase__panel--cover{inset:0}
.rmd-c-showcase__panel--cover img{object-fit:cover;border-radius:var(--radius-card)}
.rmd-c-showcase__ph{font-size:var(--fs-sm);color:var(--color-icon-quiet);text-align:center}
.rmd-c-showcase__caption{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-top:var(--space-4)}
.rmd-c-showcase__caption b{font-family:var(--font-head);font-weight:var(--fw-semibold);font-size:var(--fs-sm);color:var(--color-headline)}
.rmd-c-showcase__caption span{font-size:var(--fs-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}

@media(max-width:1024px){
  .rmd-c-showcase--stage{padding:var(--space-12) var(--space-6)}
  .rmd-c-showcase__grid,.rmd-c-showcase__head{grid-template-columns:1fr;gap:var(--space-6)}
  .rmd-c-showcase__stage{height:380px}
  .rmd-c-showcase--cards .rmd-c-showcase__lead{padding-top:0}
}
@media(max-width:600px){
  .rmd-c-showcase__foot{flex-direction:column;align-items:flex-start;gap:var(--space-5)}
}
@media (prefers-reduced-motion:reduce){
  .rmd-c-showcase__item,.rmd-c-showcase__dot{transition:none}
}

/* ===== Regler-Karte (slidercard): Wert einstellen, Wirkung im Bild sehen ===== */
/* EINE Karte: Medienfeld oben (Bild/Video + Wirkungs-Ebene + schwebender Chip), Regler unten.
   overflow:hidden laesst das Bild sauber im Karten-Radius sitzen. */
/* Ohne Schatten - die Karte soll ruhig auf der Seite liegen, nicht schweben. */
/* touch-action:manipulation nimmt dem Browser den Doppeltipp-Zoom: zwei schnelle Tipps auf Plus
   oder Minus zoomten sonst die Seite, statt zweimal zu zaehlen. user-select verhindert, dass beim
   Ziehen die Beschriftung markiert wird. */
.rmd-c-slidercard{background:var(--color-bg);border-radius:var(--radius-card);overflow:hidden;touch-action:manipulation;-webkit-user-select:none;user-select:none}
.rmd-c-slidercard__media{position:relative;overflow:hidden;aspect-ratio:580/370}
/* Bild/Video fuellt das Medienfeld unabhaengig von seinen eigenen Massen. */
.rmd-c-slidercard__media img,.rmd-c-slidercard__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
/* Beschrifteter Platzhalter (JS ersetzt ein leeres <img> durch ein <span class="ph">) fuellt das
   Medienfeld ebenfalls - sonst klappt die Karte ohne Bild zusammen. */
.rmd-c-slidercard__media .ph{position:absolute;inset:0;border-radius:0}
/* Wirkungs-Ebenen: dim dunkelt ab (Beleuchtungsstaerke), tint faerbt warm/kalt (Farbtemperatur).
   Beide werden vom Seiten-JS gesteuert - hier nur der Ausgangszustand. */
.rmd-c-slidercard__dim{position:absolute;inset:0;background:var(--color-dark);opacity:0;transition:opacity .15s ease;pointer-events:none}
.rmd-c-slidercard__tint{position:absolute;inset:0;background:#FFF;mix-blend-mode:multiply;pointer-events:none;transition:background .15s ease}
/* Chip im Bild: Wert + Trennstrich + Statuspunkt. Dunkel durchscheinend, damit er auf hellen wie
   dunklen Fotos lesbar bleibt. */
.rmd-c-slidercard__chip{position:absolute;left:var(--space-5);bottom:var(--space-5);right:var(--space-5);display:inline-flex;align-items:center;gap:var(--space-3);width:fit-content;max-width:calc(100% - 2 * var(--space-5));background:rgba(23,25,27,.85);color:var(--color-on-dark);border-radius:var(--radius-pill);padding:9px var(--space-5);box-shadow:0 4px 14px rgba(13,16,18,.25)}
/* tabular-nums + nowrap: der Chip darf beim Ziehen nicht in der Breite zappeln oder umbrechen. */
.rmd-c-slidercard__value{font-family:var(--font-head);font-size:var(--fs-md);font-weight:var(--fw-bold);letter-spacing:-.02em;white-space:nowrap;font-variant-numeric:tabular-nums}
.rmd-c-slidercard__sep{width:1px;align-self:stretch;background:rgba(255,255,255,.25);flex:none}
.rmd-c-slidercard__status{display:flex;align-items:center;gap:7px;font-size:var(--fs-xs);color:var(--color-on-dark-muted);min-width:0}
.rmd-c-slidercard__statustext{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rmd-c-slidercard__dot{width:7px;height:7px;border-radius:50%;background:var(--color-on-dark-muted);flex:0 0 auto;transition:background .15s ease}
.rmd-c-slidercard__dot--low{background:var(--color-error)}
.rmd-c-slidercard__dot--ok{background:var(--color-success)}

.rmd-c-slidercard__body{padding:var(--space-6) var(--space-8) var(--space-8)}
.rmd-c-slidercard__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}
.rmd-c-slidercard__label{font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);min-width:0}
.rmd-c-slidercard__hint{font-size:var(--fs-xs);color:var(--color-text-muted);white-space:nowrap;flex:none}
/* Hoehe = Griffdurchmesser: die Spur liegt mittig darin, der Griff kann oben/unten nicht anecken. */
/* Regler-Zeile nach Vorlage 6a: Minus, Spur, Plus. Die Spur traegt die Fuellung, die Knoepfe
   sind ruhige Kreise - sie sollen die Karte nicht dominieren. */
.rmd-c-slidercard__row{display:flex;align-items:center;gap:var(--space-6);margin-top:var(--space-4)}
.rmd-c-slidercard__step{width:36px;height:36px;flex:0 0 36px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:50%;border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-headline);font-family:inherit;font-size:17px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;box-shadow:none;transition:border-color .15s ease,background .15s ease}
/* Kadence faerbt button:hover/:focus gelb und legt einen Schatten drunter - hier ausdruecklich aus. */
.rmd-c-slidercard__step:hover{border-color:var(--color-headline);background:var(--color-surface)!important;color:var(--color-headline)}
.rmd-c-slidercard__step:focus,.rmd-c-slidercard__step:active{background:var(--color-bg)!important;color:var(--color-headline);box-shadow:none!important}
.rmd-c-slidercard__step:focus-visible{outline:2px solid var(--color-headline);outline-offset:2px}
.rmd-c-slidercard__track{position:relative;flex:1 1 auto;min-width:0;height:24px}
/* Sichtbare Spur als eigenes Element (nicht als Input-Hintergrund) - nur so kann der Input darueber
   breiter sein als die Spur und der Griff beide Enden erreichen. */
.rmd-c-slidercard__bar{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);height:4px;border-radius:var(--radius-pill);background:linear-gradient(to right,var(--color-signal) 0 var(--fill,50%),var(--color-border) var(--fill,50%) 100%);pointer-events:none}
/* Farbtemperatur-Spur: physikalische Lichtfarben warmweiss -> tageslicht. Bewusst keine Brand-
   Tokens - das ist eine Messskala, kein Signal. Die Mitteltoene sind so gewaehlt, dass die Spur
   ohne Rahmen auf der weissen Karte sichtbar bleibt. */
.rmd-c-slidercard__bar--kelvin{background:linear-gradient(to right,#FFC98F,#FFE1BC 34%,#F2EFE8 60%,#D8E6F4)}
/* Die Kelvin-Spur bleibt der Verlauf, braucht aber dieselbe schlanke Hoehe. */
/* Skalen-Enden: die stillen Zahlen unter der Spur (von - bis). */
.rmd-c-slidercard__scale{display:flex;justify-content:space-between;margin-top:10px;font-size:var(--fs-xs);color:var(--color-icon-quiet)}

/* Regler: transparent UEBER der Spur, links/rechts je einen Griff-Radius (12px) breiter. Der Griff
   laeuft dadurch von Spur-Anfang bis Spur-Ende, statt eine Radiusbreite davor zu stoppen - und die
   Fuellkante deckt sich exakt mit der Griffmitte.
   WICHTIG 1 - SPEZIFITAET: Kadence stylt `input[type=range]` global (Rahmen, Radius, Padding,
   weisser Grund, box-shadow, max-width:100%). Element+Attribut (0,1,1) schlaegt eine einzelne
   Klasse (0,1,0) - deshalb haengen die Regler-Regeln an der Karte (0,2,0) und setzen die
   Kadence-Werte ausdruecklich zurueck. Ohne das legt sich der weisse Input-Grund UEBER die Spur
   (kein Gelb, kein Kelvin-Verlauf) und max-width kappt den Griff-Ueberhang an den Enden.
   WICHTIG 2: WebKit- und Moz-Selektoren NICHT gruppieren - ein dem Browser unbekanntes
   Pseudo-Element wuerde die komplette Regel verwerfen. */
/* touch-action:pan-y - eine Wischbewegung nach oben/unten scrollt weiter die Seite, eine
   waagerechte gehoert dem Regler. Ohne das rutscht der Finger beim Ziehen oft in den Seiten-Scroll. */
.rmd-c-slidercard .rmd-c-range{-webkit-appearance:none;appearance:none;touch-action:pan-y;position:absolute;top:0;left:-9px;width:calc(100% + 18px);max-width:none;height:24px;margin:0;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;box-shadow:none;outline:none;cursor:pointer}
/* Kadence setzt auf input[type=range]:focus (0,2,1) Rahmenfarbe + Schatten - hier abschalten. */
.rmd-c-slidercard .rmd-c-range:focus{border-color:transparent;box-shadow:none}
.rmd-c-range::-webkit-slider-runnable-track{height:24px;background:transparent;border:none}
/* Griff bewusst OHNE Ring/Rahmen - nur weiche Schatten geben die Kugel-Plastik. */
.rmd-c-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:3px;width:18px;height:18px;border:none;border-radius:50%;background:var(--color-bg);box-shadow:0 0 0 1px rgba(13,16,18,.10),0 1px 2px rgba(13,16,18,.18),0 3px 8px rgba(13,16,18,.12);cursor:grab;transition:transform .15s ease}
.rmd-c-range::-webkit-slider-thumb:hover{transform:scale(1.08)}
.rmd-c-range:active::-webkit-slider-thumb{cursor:grabbing}
.rmd-c-range::-moz-range-thumb{width:18px;height:18px;border:none;border-radius:50%;background:var(--color-bg);box-shadow:0 0 0 1px rgba(13,16,18,.10),0 1px 2px rgba(13,16,18,.18),0 3px 8px rgba(13,16,18,.12);cursor:grab}
.rmd-c-range::-moz-range-track{height:24px;background:transparent;border:none}
/* Auch hier hoehere Spezifitaet noetig: Kadence setzt auf input[type=range]:focus outline:0. */
.rmd-c-slidercard .rmd-c-range:focus-visible{outline:2px solid var(--color-headline);outline-offset:2px;border-radius:var(--radius-pill)}
@media (prefers-reduced-motion:reduce){
  .rmd-c-range::-webkit-slider-thumb,.rmd-c-slidercard__dim,.rmd-c-slidercard__tint,.rmd-c-slidercard__dot{transition:none}
}
@media (max-width:767px){
  .rmd-c-slidercard__body{padding:var(--space-5) var(--space-6) var(--space-6)}
  .rmd-c-slidercard__chip{left:var(--space-4);right:var(--space-4);bottom:var(--space-4);padding:8px var(--space-4);gap:var(--space-2)}
  /* Am Handy zaehlt die Trefferflaeche, nicht die Optik: Knoepfe auf 44px (die uebliche
     Mindestgroesse fuer den Finger), Regler-Bahn ebenso hoch. Die sichtbare Leiste bleibt schlank -
     sie sitzt mittig in der hohen Bahn, gezogen wird auf der ganzen Hoehe. */
  .rmd-c-slidercard__step{width:44px;height:44px;flex-basis:44px;font-size:19px}
  .rmd-c-slidercard__row{gap:var(--space-4)}
  .rmd-c-slidercard__track{height:44px}
  .rmd-c-slidercard .rmd-c-range{height:44px}
  .rmd-c-range::-webkit-slider-runnable-track{height:44px}
  .rmd-c-range::-webkit-slider-thumb{width:26px;height:26px;margin-top:9px}
  .rmd-c-range::-moz-range-thumb{width:26px;height:26px}
  .rmd-c-range::-moz-range-track{height:44px}
  .rmd-c-slidercard__value{font-size:var(--fs-sm)}
}

/* ===== Slider, der nur am Handy einer ist =====================================================
   Modifier `mobile`: unter 768px der normale Slider (wischen, Schnappen, Pfeile mittig darunter -
   dieselbe Bauart wie bei Kundenstimmen und Nachhaltigkeit), ab Tablet wieder eine schlichte
   Rasterreihe ohne Pfeile. EIN Markup fuer beide Breiten - so gibt es keine zweite, versteckte
   Kopie der Karten im Quelltext.
   Randlos ueber die volle Breite, damit die angeschnittene naechste Karte bis an den Rand laeuft;
   der Innenabstand haelt die erste Karte trotzdem auf einer Linie mit dem Text. */
/* Am Desktop keine Pfeile, wenn ohnehin alles nebeneinander passt. Am Handy bleiben sie - dort ist
   immer nur eine Karte sichtbar, dort wird also immer geschoben. */
@media (min-width:768px){
  .rmd-c-slider--few .rmd-c-slider__nav{display:none}
}
@media (min-width:768px){
  .rmd-c-slider--mobile .rmd-c-slider__track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;scroll-snap-type:none}
  .rmd-c-slider--mobile.rmd-c-slider--cols-4 .rmd-c-slider__track{grid-template-columns:repeat(4,minmax(0,1fr))}
  .rmd-c-slider--mobile.rmd-c-slider--cols-2 .rmd-c-slider__track{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rmd-c-slider--mobile .rmd-c-slider__nav{display:none}
}
/* Am Tablet zwei nebeneinander - vier Karten waeren dort zu schmal (so war es auch im alten
   Raster). Gleiche Spezifitaet wie die Spalten-Regeln oben, deshalb entscheidet die Reihenfolge. */
@media (min-width:768px) and (max-width:1024px){
  .rmd-c-slider--mobile.rmd-c-slider--cols-2 .rmd-c-slider__track,
  .rmd-c-slider--mobile.rmd-c-slider--cols-3 .rmd-c-slider__track,
  .rmd-c-slider--mobile.rmd-c-slider--cols-4 .rmd-c-slider__track{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rmd-c-slider--mobile .rmd-c-slider__slide{flex:none}
}
@media (max-width:767px){
  /* scroll-padding ist hier KEIN Feinschliff, sondern noetig: ohne das zieht das Schnappen die erste
     Karte buendig an die linke Kante. Der Innenabstand ist zwar da, aber die Schnapp-Position
     rechnet ab der Polsterkante - die Karte stand dadurch am Bildschirmrand, waehrend sie bei den
     anderen Slidern (ohne Ausbruch) auf einer Linie mit dem Text beginnt. */
  .rmd-c-slider--mobile .rmd-c-slider__track{margin-left:calc(-1 * var(--space-6));margin-right:calc(-1 * var(--space-6));padding-left:var(--space-6);padding-right:var(--space-6);scroll-padding-left:var(--space-6);contain:paint}
}
/* Der Bauformen-Slider erbt vom showcase-Raster den Abstand; die Karten sollen im Track gleich
   hoch sein, damit die Reihe beim Wischen nicht springt. */
.rmd-c-slider--showcase .rmd-c-slider__track,.rmd-c-slider--cardrow .rmd-c-slider__track{align-items:stretch}
.rmd-c-slider--showcase .rmd-c-slider__slide>*,.rmd-c-slider--cardrow .rmd-c-slider__slide>*{height:100%}

/* ===== Mobile: FAQ-Panel randlos ueber die volle Breite ====================================
   Gilt global (Kategorie-Archiv, Lichtwissen-Seiten). Das dunkle Panel steht damit wie ein eigenes
   Band im Seitenfluss; sein Innenabstand wird auf den Seitenrand zurueckgenommen, sonst ist der Text
   doppelt eingerueckt. */
@media (max-width:767px){
  .rmd-c-faq{margin-left:calc(-1 * var(--space-6));margin-right:calc(-1 * var(--space-6));border-radius:0}
  /* Plain-Variante bleibt im Textfluss (kein Full-Bleed, keine negativen Raender). */
  .rmd-c-faq--plain{margin-left:0;margin-right:0}
}

/* ===== Fokus-Ring global: nur bei Tastatur-Navigation (a11y), nicht bei Maus/Touch ===== */
/* Beim Klicken (Maus/Touch) oder programmatischem Fokus - z.B. ein Block-Link (Kachel/Karte),
   ein Anker-Ziel, Slider oder Galerie - KEIN Outline mehr (das war der schwarze Rahmen nach dem
   Klick). Echte Tastatur-Navigation zeigt weiterhin die :focus-visible-Ringe (Barrierefreiheit).
   Hebt den Browser-/Theme-Default global auf. */
:focus:not(:focus-visible){outline:none !important}

/* ===== Kontakt-Sektion (contactbar) - global ueber dem Footer, styleguide-faehig. NUR Tokens. ===== */
.rmd-c-contactbar{background:var(--color-page);padding-top:var(--space-16);padding-bottom:var(--space-16)}
.rmd-c-contactbar__panel{background:var(--color-surface);border-radius:var(--radius-panel);padding:var(--space-14) var(--space-12)}
.rmd-c-contactbar__head{display:flex;flex-wrap:wrap;gap:var(--space-8);align-items:flex-end;justify-content:space-between;margin-bottom:var(--space-12)}
.rmd-c-contactbar__intro{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}
.rmd-c-contactbar__h{font-family:var(--font-head);font-size:var(--fs-4xl);font-weight:var(--fw-bold);letter-spacing:-.03em;line-height:var(--lh-flat);color:var(--color-headline);margin:0}
.rmd-c-contactbar__lead{font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--color-text-muted);margin:0}
.rmd-c-contactbar__avatars{display:flex;flex:0 0 auto}
.rmd-c-contactbar__avatars span{position:relative;width:54px;height:54px;border-radius:var(--radius-pill);border:3px solid var(--color-surface);margin-left:-16px;background:var(--color-bg);display:flex;align-items:center;justify-content:center;overflow:visible;box-shadow:var(--shadow-sm)}
.rmd-c-contactbar__avatars span:first-child{margin-left:0}
.rmd-c-contactbar__avatars img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-pill)}
.rmd-c-contactbar__avatars .rmd-icon{width:24px;height:24px;color:var(--color-icon-quiet);stroke-width:1.5}
/* Status-Punkt: gruen+pulsierend = erreichbar, rot+statisch = ausserhalb der Zeiten (contactbar.js). */
.rmd-c-contactbar__status{position:absolute;right:0;bottom:2px;width:14px;height:14px;border-radius:var(--radius-pill);border:3px solid var(--color-surface);background:var(--color-icon-quiet)}
.rmd-c-contactbar__status.is-live{background:var(--color-online);animation:rmd-status-pulse 1.8s ease-out infinite}
.rmd-c-contactbar__status.is-off{background:var(--color-sale);animation:none}
@keyframes rmd-status-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--color-online) 55%,transparent)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
@media(prefers-reduced-motion:reduce){.rmd-c-contactbar__status.is-live{animation:none}}
.rmd-c-contactbar__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.rmd-c-contactbar__col{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);text-decoration:none;transition:background .15s}
.rmd-c-contactbar__col+.rmd-c-contactbar__col{border-left:1px solid var(--color-border)}
a.rmd-c-contactbar__col:hover{background:var(--color-bg)}
.rmd-c-contactbar__ic .rmd-icon{width:26px;height:26px;color:var(--color-headline);stroke-width:1.5}
.rmd-c-contactbar__label{font-family:var(--font-head);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}
.rmd-c-contactbar__val{font-family:var(--font-head);font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:-.01em;color:var(--color-headline);overflow-wrap:anywhere}
.rmd-c-contactbar__note{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--color-text-muted)}
@media(max-width:768px){
  .rmd-c-contactbar{padding-top:var(--space-10);padding-bottom:var(--space-10)}
  .rmd-c-contactbar__panel{padding:var(--space-8) var(--space-6);border-radius:var(--radius-card)}
  .rmd-c-contactbar__head{align-items:flex-start;margin-bottom:var(--space-8)}
  .rmd-c-contactbar__avatars span{width:46px;height:46px}
  .rmd-c-contactbar__grid{grid-template-columns:1fr}
  .rmd-c-contactbar__col{padding:var(--space-5) 0}
  .rmd-c-contactbar__col+.rmd-c-contactbar__col{border-left:0;border-top:1px solid var(--color-border)}
}

/* ============================================================================
   Shop-Uebersichts-Hero (dunkles Panel, wie "Leuchten fuer"-Mockup).
   Nutzt das hero-Layout (rmd-c-hero--split); hier nur dunkle Einfaerbung +
   Media-Platzhalter. Greift nur auf der Shop-Uebersicht (Klasse rmd-shop-hero).
   ========================================================================= */
.rmd-shop-hero{position:relative}
.rmd-shop-hero .rmd-c-hero__title{color:var(--color-on-dark)}
.rmd-shop-hero .rmd-c-hero__lead{color:var(--color-on-dark-muted)}
.rmd-shop-hero .rmd-c-hero__lead strong{color:var(--color-on-dark)}
.rmd-shop-hero .rmd-c-eyebrow{color:var(--color-on-dark-muted)}
.rmd-shop-hero .rmd-c-btn--text,.rmd-shop-hero .rmd-c-btn--text:hover{color:var(--color-on-dark)}
.rmd-shop-hero .rmd-c-hero__media{min-height:340px}
.rmd-shop-hero .rmd-c-hero__media img{width:100%;height:100%;object-fit:cover;display:block}
.rmd-shop-hero__ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);width:100%;min-height:340px;border:1px dashed var(--color-hairline-dark);border-radius:var(--radius-card);background:rgba(255,255,255,.02);color:var(--color-on-dark-muted);text-align:center;padding:var(--space-6)}
.rmd-shop-hero__ph .rmd-icon{width:38px;height:38px;opacity:.55}
.rmd-shop-hero__phcap{font-size:var(--fs-sm)}
/* Shop-Hero rechte Spalte: Service-Feature-Liste (Icon + Titel + Text, Haarlinie je Zeile). */
.rmd-shop-hero .rmd-c-hero__actions{align-items:center}
.rmd-shop-hero__meta{font-size:var(--fs-sm);color:var(--color-on-dark-muted)}
.rmd-shop-hero__features{display:flex;flex-direction:column;justify-content:center}
.rmd-shop-hero__feat{display:flex;gap:var(--space-4);align-items:flex-start;padding:var(--space-5) 0;border-top:1px solid var(--color-hairline-dark)}
.rmd-shop-hero__feat-ic{flex:0 0 auto;color:var(--color-signal);display:inline-flex;margin-top:2px}
.rmd-shop-hero__feat-ic .rmd-icon{width:22px;height:22px}
.rmd-shop-hero__feat-title{font-family:var(--font-head);font-weight:var(--fw-bold);font-size:var(--fs-md);color:var(--color-on-dark);margin:0 0 var(--space-1);line-height:var(--lh-snug)}
.rmd-shop-hero__feat-text{font-size:var(--fs-sm);color:var(--color-on-dark-muted);margin:0;line-height:1.55}
/* Zentrierte Shop-Hero-Variante (Screenshot 2026-08-05): zweizeilige Headline (Zeile 1 gedaempft,
   Zeile 2 hell), zentrierter Lead, darunter ein Kennzahlen-Band mit Trennlinien. */
.rmd-shop-hero--center{text-align:center}
.rmd-shop-hero--center .rmd-c-eyebrow{justify-content:center}
.rmd-shop-hero--center .rmd-c-hero__actions{justify-content:center}
.rmd-shop-hero__head{max-width:var(--container-narrow);margin-inline:auto}
.rmd-shop-hero__title{font-size:clamp(var(--fs-4xl),6vw,var(--fs-6xl));line-height:1.03;letter-spacing:-.02em;margin:var(--space-4) 0 var(--space-5)}
.rmd-shop-hero__t1,.rmd-shop-hero__t2{display:block}
.rmd-shop-hero__t1{color:var(--color-signal)}
.rmd-shop-hero__t2{color:var(--color-on-dark)}
.rmd-shop-hero__lead{margin-inline:auto;max-width:48ch}
.rmd-shop-hero__stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(var(--space-8),4vw,var(--space-12));border-top:1px solid var(--color-hairline-dark)}
.rmd-shop-hero__stat{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-6) var(--space-4);border-left:1px solid var(--color-hairline-dark)}
.rmd-shop-hero__stat:first-child{border-left:0}
.rmd-shop-hero__num{font-family:var(--font-head);font-weight:var(--fw-bold);font-size:var(--fs-2xl);color:var(--color-on-dark);line-height:1.1}
.rmd-shop-hero__lbl{font-size:var(--fs-sm);color:var(--color-on-dark-muted)}
@media(max-width:600px){
  .rmd-shop-hero__stats{grid-template-columns:1fr 1fr}
  .rmd-shop-hero__stat:nth-child(2n+1){border-left:0}
  .rmd-shop-hero__stat:nth-child(n+3){border-top:1px solid var(--color-hairline-dark)}
}
/* Anker-Sprung der areanav: Bereichs-Ueberschrift nicht unter Header/Nav verstecken. */
.rmd-shop-area{scroll-margin-top:calc(var(--rmd-header-h,64px) + var(--space-16) + var(--space-14))}
@media (max-width:900px){
  .rmd-shop-hero .rmd-c-hero__media,.rmd-shop-hero__ph{min-height:220px}
  .rmd-shop-hero__media--ph{display:none}
}

/* SIS-Partnershop Vorteile-Band: symmetrische, großzügige Abstände (Inhalt vertikal mittig, gleiche Luft oben/unten). */
.rmd-sis-vorteile.rmd-c-section.rmd-c-section--pad-default{padding-top:calc(var(--space-section) + var(--space-8));padding-bottom:calc(var(--space-section) + var(--space-8))}
/* SIS-Partnershop: mehr Abstand zwischen Vorteile-Band und FAQ (desktop-betont via vw). */
.rmd-sis-faqsec.rmd-c-section.rmd-c-section--pad-default{padding-top:clamp(var(--space-12),5vw,var(--space-20))}
/* SIS-Partnershop Partner-Karten: linke Karte breiter als rechte (wie Original); mobil gestapelt. */
.rmd-sis-partner .rmd-c-mcards--2{grid-template-columns:1.4fr 1fr}
@media(max-width:767px){.rmd-sis-partner .rmd-c-mcards--2{grid-template-columns:1fr}}
/* Partner-Bilder: beide Karten gleiche Bild-Hoehe (cover), egal ob Hoch-/Querformat. */
.rmd-sis-partner .rmd-c-mcards__media{height:clamp(340px,30vw,460px)}
.rmd-sis-partner .rmd-c-mcards__media img{height:100%;width:100%;aspect-ratio:auto;object-fit:cover}

/* Nur fuer Vorlese-Programme: sichtbar fuer die Technik, unsichtbar auf dem Bildschirm. */
.rmd-screenreader{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* ===== Raumplan mit Punkten (hotspots) =====================================================
   Punkte sitzen in PROZENT der Bildflaeche (--x/--y), nie in Pixeln - so bleiben sie bei jeder
   Breite an ihrer Stelle. Das Bild bringt sein Seitenverhaeltnis selbst mit.
   Am Desktop schwebt die Karte neben dem Punkt, am Handy sitzt sie in einem festen Feld unter dem
   Bild: neben dem Punkt muesste sie dort am Rand abgeschnitten oder verschoben werden. */
.rmd-c-hotspots{margin:0}
.rmd-c-hotspots__stage{position:relative;line-height:0}
.rmd-c-hotspots__img{width:100%;height:auto;display:block;border-radius:var(--radius-panel)}
.rmd-c-hotspots__dots{position:absolute;inset:0}
/* Der Punkt ist klein, die Trefferflaeche nicht: 44px sind das Mindestmass fuer den Finger. */
/* Kadence stylt `button` und vor allem `button:hover` global (gelber Grund, eckige Ecken,
   Schlagschatten). Element+Pseudoklasse (0,1,1) schlaegt eine einzelne Klasse - deshalb setzt der
   Punkt seine Zustaende ausdruecklich zurueck, sonst erscheint beim Zeigen ein gelbes Viereck. */
.rmd-c-hotspots__dot,
.rmd-c-hotspots__dot:hover,
.rmd-c-hotspots__dot:focus,
.rmd-c-hotspots__dot:active{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:44px;height:44px;padding:0;border:0;background:none;box-shadow:none;border-radius:50%;color:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center}
/* Der Punkt: dunkler Kreis mit gelbem Kern. Beim Zeigen waechst ein weicher Ring nach aussen -
   ein Lichtschein statt eines Kastens, passend zum Motiv. */
.rmd-c-hotspots__pulse{width:26px;height:26px;border-radius:50%;background:var(--color-dark);box-shadow:0 2px 8px rgba(13,16,18,.35),0 0 0 0 color-mix(in srgb, var(--color-signal) 55%, transparent);display:flex;align-items:center;justify-content:center;transition:transform .18s ease,box-shadow .18s ease}
.rmd-c-hotspots__pulse::after{content:"";width:9px;height:9px;border-radius:50%;background:var(--color-signal);transition:transform .18s ease}
.rmd-c-hotspots__dot:hover .rmd-c-hotspots__pulse,
.rmd-c-hotspots__dot:focus-visible .rmd-c-hotspots__pulse,
.rmd-c-hotspots__dot[aria-expanded="true"] .rmd-c-hotspots__pulse{transform:scale(1.1);box-shadow:0 4px 12px rgba(13,16,18,.4),0 0 0 9px color-mix(in srgb, var(--color-signal) 32%, transparent)}
.rmd-c-hotspots__dot:hover .rmd-c-hotspots__pulse::after,
.rmd-c-hotspots__dot[aria-expanded="true"] .rmd-c-hotspots__pulse::after{transform:scale(1.15)}
/* Fokus-Ring des Browsers weglassen - der Lichtschein oben zeigt den Fokus bereits an. */
.rmd-c-hotspots__dot:focus-visible{outline:none}
@media (prefers-reduced-motion:reduce){
  .rmd-c-hotspots__pulse,.rmd-c-hotspots__pulse::after{transition:none}
}
.rmd-c-hotspots__card{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,calc(-100% - 26px));width:250px;background:var(--color-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);padding:var(--space-6);text-align:center;line-height:var(--lh-normal);z-index:2}
.rmd-c-hotspots__title{font-family:var(--font-head);font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--color-headline);margin:0 0 var(--space-2)}
.rmd-c-hotspots__text{font-size:var(--fs-sm);color:var(--color-text-muted);margin:0 0 var(--space-5)}
.rmd-c-hotspots__list{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);margin-top:var(--space-6);line-height:var(--lh-normal)}
.rmd-c-hotspots__jump{font-size:var(--fs-sm);color:var(--color-text-muted);text-decoration:none;background:var(--color-surface);border-radius:var(--radius-pill);padding:7px var(--space-5);transition:background .15s ease,color .15s ease}
.rmd-c-hotspots__jump:hover,.rmd-c-hotspots__jump:focus-visible{background:var(--color-signal-soft);color:var(--color-headline)}
@media (max-width:767px){
  /* Karte raus aus der Bildflaeche: unter dem Bild hat sie Platz und laeuft nirgends ueber. */
  .rmd-c-hotspots__card{position:static;transform:none;width:100%;margin-top:var(--space-5);box-shadow:var(--shadow-md)}
  .rmd-c-hotspots__pulse{width:22px;height:22px}
  .rmd-c-hotspots__list{gap:var(--space-2)}
}
@media (prefers-reduced-motion:reduce){
  .rmd-c-hotspots__pulse{transition:none}
}
