/* ==========================================================================
   Robustbook — Bausteinbibliothek rb-v2
   Stufe 1 des Umzugs auf Redesign v2. Werte 1:1 aus
   "Robustbook Redesign v2.dc.html" (1.233 Zeilen), nicht aus Annahmen.

   Regeln dieser Datei:
   - Keine Regel beginnt mit einer Bootstrap-Klasse.
   - Keine Regel mit erzwungener Vorrangmarkierung (siehe Abnahmepunkt in
     AP 1.2). Schutz vor der Bootstrap-Kaskade kommt stattdessen aus der
     Spezifitaet: jede Bausteinregel haengt unter der Wurzelklasse .rbv2,
     zwei Klassen sind spezifischer als Bootstraps meist einzelne Klassen
     oder Elementselektoren.
   - Alle Bausteinklassen tragen den Vorsatz "rbv2-".
   - Die data-Schalter des Entwurfs (data-pad, data-sect, data-stack,
     data-row, data-cta, data-hidesm, data-desknav, data-burger, data-util,
     data-hero, data-tight, data-push) sind hier Klassen, keine
     Attributselektoren.
   - Diese Datei ersetzt css/robustbook-2026.css nicht. Die bleibt
     unangetastet, bis eine spaetere Stufe sie abloest.

   Schriften: "Space Grotesk" und "Space Mono" liegen bereits lokal unter
   /fonts/ (siehe robustbook-2026.css). "Hanken Grotesk" ist im Entwurf neu
   und liegt NICHT lokal vor — hier nur als Merkmal mit Systemfallback
   hinterlegt, kein @font-face, kein CDN-Aufruf. Siehe Gestaltungsbuch V2,
   Abschnitt "Was offen bleibt".
   ========================================================================== */

@font-face{
  font-family:"Space Grotesk";
  src:url("/fonts/SpaceGrotesk-Regular.ttf") format("truetype");
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Space Grotesk";
  src:url("/fonts/SpaceGrotesk-Medium.ttf") format("truetype");
  font-weight:500; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Space Grotesk";
  src:url("/fonts/SpaceGrotesk-SemiBold.ttf") format("truetype");
  font-weight:600; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Space Grotesk";
  src:url("/fonts/SpaceGrotesk-Bold.ttf") format("truetype");
  font-weight:700; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Space Mono";
  src:url("/fonts/SpaceMono-Regular.ttf") format("truetype");
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Space Mono";
  src:url("/fonts/SpaceMono-Bold.ttf") format("truetype");
  font-weight:700; font-style:normal; font-display:swap;
}

/* --------------------------------------------------------------------------
   1. Marken — Farben, Schrift, Form, Haltepunkte, alle auf :root
   -------------------------------------------------------------------------- */
:root{
  /* Grund */
  --rbv2-grund:#0B0F1A;
  --rbv2-grund-tief:#080C15;
  --rbv2-flaeche:#101728;

  /* Linien — vier Stufen, von deutlich bis kaum sichtbar */
  --rbv2-linie:#1C2435;        /* Sektionsgrenzen, Kopf-/Fusszeile */
  --rbv2-linie-fein:#1F2738;   /* Karten, Formularfelder, Tabellenrahmen */
  --rbv2-linie-schwach:#131B29;/* Tabellenzeilen, mobiles Menue */
  --rbv2-linie-stark:#283447;  /* Rahmen von Outline-Knoepfen, Trenner */

  /* Akzent */
  --rbv2-akzent:#2F80FF;
  --rbv2-akzent-hover:#1B5FD9;
  --rbv2-akzent-hell:#6BA4FF;
  --rbv2-akzent-schwach:rgba(47,128,255,.09);   /* Trefferzeile Geraetewahl */
  --rbv2-akzent-schwach-2:rgba(47,128,255,.12); /* Auswahl-Chip Vergleich */
  --rbv2-akzent-schwach-3:rgba(47,128,255,.14); /* aktiver Vergleichsknopf */
  --rbv2-akzent-schwach-4:rgba(47,128,255,.05); /* Diagonalraster */
  --rbv2-akzent-schwach-5:rgba(47,128,255,.18); /* Glow-Blob Zentrum */

  /* Text, dunkler Grund */
  --rbv2-text:#E7EAF0;
  --rbv2-text-2:#C2C9D6;
  --rbv2-text-3:#A7AFBE;
  --rbv2-text-4:#9AA4B2;
  --rbv2-text-5:#D6DCE6;
  --rbv2-gedaempft:#6B7587;
  --rbv2-gedaempft-2:#5C6678;
  --rbv2-gedaempft-3:#3A4255;

  /* Helle Abschnitte — neu gegenueber der Augustfassung, eigene Textstufen */
  --rbv2-hell-grund:#FFFFFF;
  --rbv2-hell-ink:#0B0F1A;
  --rbv2-hell-text:#3A4255;     /* Fliesstext, z. B. Herstellerbeschreibung */
  --rbv2-hell-text-2:#6B7280;   /* Lead-Text "Nach Branche" — Abweichung von
                                    --rbv2-gedaempft (#6B7587), siehe Bestands-
                                    aufnahme AP 1.1 */
  --rbv2-hell-text-3:#28323F;   /* Listenzeilen "Auf einen Blick" */
  --rbv2-hell-kante:#EAEDF3;
  --rbv2-hell-kante-2:#D6DCE6;

  /* Schrift */
  --rbv2-schrift-display:'Space Grotesk','Noto Sans','Noto Sans SC',sans-serif;
  --rbv2-schrift-text:'Hanken Grotesk','Noto Sans','Noto Sans SC',sans-serif;
  --rbv2-schrift-mono:'Space Mono',monospace;

  /* Form */
  --rbv2-radius-sm:5px;
  --rbv2-radius:6px;
  --rbv2-radius-md:8px;
  --rbv2-radius-lg:10px;

  /* Bahnbreite */
  --rbv2-max:1320px;
  --rbv2-pad-desk:40px;
  --rbv2-pad-mobil:20px;

  /* Haltepunkte des Entwurfs — als Merkmal dokumentiert; Medienabfragen
     koennen die Werte nicht auswerten, sie stehen zusaetzlich als Beleg. */
  --rbv2-bp-nav:1080px;
  --rbv2-bp-service:980px;
  --rbv2-bp-stapel:820px;
  --rbv2-bp-eng:520px;
}

/* --------------------------------------------------------------------------
   2. Wurzel und Grundregeln — nur innerhalb .rbv2 wirksam
   -------------------------------------------------------------------------- */
.rbv2{
  background:var(--rbv2-grund);
  color:var(--rbv2-text-2);
  font-family:var(--rbv2-schrift-text);
  font-size:16px;
  line-height:1.6;
  min-height:100vh;
  overflow-x:hidden;
}
.rbv2 *{box-sizing:border-box}
.rbv2 img{max-width:100%}
.rbv2 a{color:var(--rbv2-akzent);text-decoration:none;font-family:inherit}
.rbv2 a:hover{color:var(--rbv2-akzent-hell)}
.rbv2 input,
.rbv2 select,
.rbv2 textarea,
.rbv2 button{font-family:inherit}
.rbv2 ::selection{background:var(--rbv2-akzent);color:#fff}
.rbv2 ::placeholder{color:var(--rbv2-gedaempft-2)}

@keyframes rbv2In{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.rbv2 .rbv2-enter{animation:rbv2In .18s ease}
.rbv2 .rbv2-enter-slow{animation:rbv2In .3s ease}

.rbv2 a:focus-visible,
.rbv2 button:focus-visible,
.rbv2 input:focus-visible,
.rbv2 select:focus-visible,
.rbv2 textarea:focus-visible,
.rbv2 [tabindex]:focus-visible{
  outline:2px solid var(--rbv2-akzent);
  outline-offset:2px;
  border-radius:var(--rbv2-radius-sm);
}

/* --------------------------------------------------------------------------
   3. data-Schalter des Entwurfs, als Klassen
   -------------------------------------------------------------------------- */

/* data-pad: seitliche Innenabstaende einer Bahn, nur links/rechts betroffen */
.rbv2 .rbv2-pad{padding-left:var(--rbv2-pad-desk);padding-right:var(--rbv2-pad-desk)}
@media (max-width:820px){
  .rbv2 .rbv2-pad{padding-left:var(--rbv2-pad-mobil);padding-right:var(--rbv2-pad-mobil)}
}

/* data-sect: Sektionsabstand oben/unten, bei 820px greift der Fusswert */
.rbv2 .rbv2-sect{}
@media (max-width:820px){
  .rbv2 .rbv2-sect{padding-top:56px;padding-bottom:0}
}

/* data-stack: aus dem Zwei-Spalten-Grid wird eine Spalte */
.rbv2 .rbv2-stack{}
@media (max-width:820px){
  .rbv2 .rbv2-stack{grid-template-columns:1fr;gap:28px}
}

/* data-row: aus der Zeile wird eine Spalte, linksbuendig */
.rbv2 .rbv2-row{}
@media (max-width:820px){
  .rbv2 .rbv2-row{flex-direction:column;align-items:flex-start}
  .rbv2 .rbv2-row .rbv2-push{margin-left:0}
}

/* data-cta: Aktionsknopf wird auf kleinen Breiten volle Breite */
.rbv2 .rbv2-cta{}
@media (max-width:820px){
  .rbv2 .rbv2-cta{width:100%;justify-content:center}
}

/* data-hidesm: auf kleinen Breiten ausgeblendet */
.rbv2 .rbv2-hidesm{}
@media (max-width:820px){
  .rbv2 .rbv2-hidesm{display:none}
}

/* data-desknav / data-burger: Nav wechselt bei 1080px auf Burger */
.rbv2 .rbv2-desknav{display:flex}
.rbv2 .rbv2-burger{display:none}
@media (max-width:1080px){
  .rbv2 .rbv2-desknav{display:none}
  .rbv2 .rbv2-burger{display:flex}
}

/* data-util: Servicezeile faellt bei 980px weg */
.rbv2 .rbv2-util{}
@media (max-width:980px){
  .rbv2 .rbv2-util{display:none}
}

/* data-hero: Hero-Innenabstand oben/unten schrumpft bei 820px */
.rbv2 .rbv2-hero{}
@media (max-width:820px){
  .rbv2 .rbv2-hero{padding-top:44px;padding-bottom:48px}
}

/* data-tight: Karteninnenabstand schrumpft bei 520px */
.rbv2 .rbv2-tight{}
@media (max-width:520px){
  .rbv2 .rbv2-tight{padding:22px 18px}
}

/* data-push: schiebt sich in der Zeile nach rechts, siehe .rbv2-row oben
   fuer das Rueckgaengigmachen bei 820px */
.rbv2 .rbv2-push{margin-left:auto}

/* --------------------------------------------------------------------------
   4. Bahn und Gitter
   -------------------------------------------------------------------------- */
.rbv2 .rbv2-container{max-width:var(--rbv2-max);margin:0 auto;padding-left:var(--rbv2-pad-desk);padding-right:var(--rbv2-pad-desk)}

.rbv2 .rbv2-grid{display:grid;gap:18px}
.rbv2 .rbv2-grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.rbv2 .rbv2-grid-4{grid-template-columns:repeat(auto-fit,minmax(238px,1fr))}
.rbv2 .rbv2-grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px}

/* --------------------------------------------------------------------------
   5. Typografie
   -------------------------------------------------------------------------- */
.rbv2 .rbv2-kicker-row{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.rbv2 .rbv2-kicker-rule{width:42px;height:3px;background:var(--rbv2-akzent);display:block}
.rbv2 .rbv2-kicker{
  font-family:var(--rbv2-schrift-mono);
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--rbv2-akzent);
}

.rbv2 .rbv2-eyebrow{
  font-family:var(--rbv2-schrift-mono);
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--rbv2-gedaempft-3);
}

.rbv2 .rbv2-h1{
  font-family:var(--rbv2-schrift-display);font-weight:700;
  font-size:clamp(30px,4.2vw,66px);line-height:1.1;letter-spacing:-.025em;
  margin:0 0 18px;color:#fff;
}
.rbv2 .rbv2-h1 .rbv2-h1-akzent{color:var(--rbv2-akzent)}

.rbv2 .rbv2-h2{
  font-family:var(--rbv2-schrift-display);font-weight:700;
  font-size:clamp(26px,3vw,40px);letter-spacing:-.02em;margin:0;color:#fff;
}
.rbv2 .rbv2-h2--klein{font-size:clamp(23px,2.6vw,34px)}

.rbv2 .rbv2-h3{
  font-family:var(--rbv2-schrift-display);font-weight:700;
  font-size:20px;letter-spacing:-.01em;margin:0 0 12px;color:#fff;
}

.rbv2 .rbv2-lead{
  font-size:18px;line-height:1.66;color:var(--rbv2-text-3);
  max-width:54ch;margin:0;text-wrap:pretty;
}

.rbv2 .rbv2-fliesstext{font-size:16px;color:var(--rbv2-text-3);margin:0;text-wrap:pretty}

/* Helle Fliesstext-Variante fuer weisse Abschnitte */
.rbv2 .rbv2-fliesstext--hell{color:var(--rbv2-hell-text);font-size:17px;line-height:1.72}

/* --------------------------------------------------------------------------
   6. Knoepfe
   -------------------------------------------------------------------------- */
.rbv2 .rbv2-btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--rbv2-schrift-display);font-weight:600;
  border-radius:var(--rbv2-radius);cursor:pointer;border:none;
  font-size:15px;padding:15px 26px;
}
.rbv2 .rbv2-btn-primary{
  background:var(--rbv2-akzent);color:#fff;
}
.rbv2 .rbv2-btn-primary:hover{background:var(--rbv2-akzent-hover);color:#fff}

.rbv2 .rbv2-btn-outline{
  background:none;border:1px solid var(--rbv2-linie-stark);color:var(--rbv2-text);
}
.rbv2 .rbv2-btn-outline:hover{border-color:var(--rbv2-akzent);color:var(--rbv2-akzent)}

.rbv2 .rbv2-btn-outline--mono{
  font-family:var(--rbv2-schrift-mono);font-weight:400;font-size:14px;
}

.rbv2 .rbv2-btn--klein{font-size:14.5px;padding:14px 24px}
.rbv2 .rbv2-btn--block{display:flex;width:100%;text-align:center;justify-content:center}

/* Vergleichsknopf auf Produktkarten — zwei Zustaende, aus JS-Logik
   this.cmpButton() abgeleitet: aus/an */
.rbv2 .rbv2-btn-compare{
  margin-top:auto;cursor:pointer;border-radius:var(--rbv2-radius);
  font-family:var(--rbv2-schrift-display);font-weight:600;font-size:13.5px;
  padding:11px 12px;width:100%;
  background:transparent;border:1px solid var(--rbv2-linie-stark);color:var(--rbv2-text-2);
}
.rbv2 .rbv2-btn-compare.rbv2-is-active{
  background:var(--rbv2-akzent-schwach-3);border-color:var(--rbv2-akzent);color:var(--rbv2-akzent-hell);
}

/* --------------------------------------------------------------------------
   7. Karten
   -------------------------------------------------------------------------- */
.rbv2 .rbv2-card{
  background:var(--rbv2-flaeche);border:1px solid var(--rbv2-linie-fein);
  border-radius:var(--rbv2-radius-lg);
}
.rbv2 .rbv2-card--pad{padding:30px}
.rbv2 .rbv2-card--pad-lg{padding:34px 32px}

.rbv2 .rbv2-product-card{
  display:flex;flex-direction:column;
  background:var(--rbv2-flaeche);border:1px solid var(--rbv2-linie-fein);
  border-radius:var(--rbv2-radius-lg);overflow:hidden;color:var(--rbv2-text);
}
.rbv2 .rbv2-product-card:hover{border-color:var(--rbv2-akzent)}
.rbv2 .rbv2-product-card__figure{
  background:var(--rbv2-grund);padding:22px;display:flex;align-items:center;justify-content:center;
  height:186px;border-bottom:1px solid var(--rbv2-linie-fein);
}
.rbv2 .rbv2-product-card__figure img{max-width:100%;max-height:142px;object-fit:contain}
.rbv2 .rbv2-product-card__body{padding:17px 19px 19px;display:flex;flex-direction:column;flex:1;gap:7px}
.rbv2 .rbv2-product-card__brand{
  font-family:var(--rbv2-schrift-mono);font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--rbv2-gedaempft-3);
}
.rbv2 .rbv2-product-card__name{
  font-family:var(--rbv2-schrift-display);font-weight:700;font-size:19px;color:#fff;
}
.rbv2 .rbv2-product-card__spec{font-size:14px;color:var(--rbv2-gedaempft)}

/* Kategorie-Kachel, hoeher, mit Bild mittig */
.rbv2 .rbv2-category-card{
  display:flex;flex-direction:column;color:var(--rbv2-text);
  background:var(--rbv2-flaeche);border:1px solid var(--rbv2-linie-fein);border-radius:var(--rbv2-radius-lg);
  padding:26px 26px 22px;min-height:330px;
}
.rbv2 .rbv2-category-card:hover{border-color:var(--rbv2-akzent)}

/* --------------------------------------------------------------------------
   8. Formulare
   -------------------------------------------------------------------------- */
.rbv2 .rbv2-field{display:flex;flex-direction:column;gap:8px}
.rbv2 .rbv2-field-label{
  display:block;font-family:var(--rbv2-schrift-mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--rbv2-gedaempft);
}
.rbv2 .rbv2-field-input{
  width:100%;background:var(--rbv2-flaeche);border:1px solid var(--rbv2-linie-fein);
  border-radius:var(--rbv2-radius);color:var(--rbv2-text);padding:13px 15px;font-size:15.5px;
}
.rbv2 .rbv2-field-input:focus{border-color:var(--rbv2-akzent);outline:none}
.rbv2 .rbv2-field-input--dunkel{background:var(--rbv2-grund)}
.rbv2 .rbv2-field-input textarea,
.rbv2 textarea.rbv2-field-input{resize:vertical}

.rbv2 .rbv2-form-row{display:grid;gap:20px}
.rbv2 .rbv2-form-row--2{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.rbv2 .rbv2-form-row--wide{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}

.rbv2 .rbv2-checkbox-row{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--rbv2-text-3);cursor:pointer}
.rbv2 .rbv2-checkbox-row input[type="checkbox"]{margin-top:5px;width:17px;height:17px;accent-color:var(--rbv2-akzent)}

/* --------------------------------------------------------------------------
   9. Abzeichen, Pillen, Filter — inklusive Normfilter (neu ggue. August)
   -------------------------------------------------------------------------- */
.rbv2 .rbv2-chip{
  border:1px solid var(--rbv2-linie-fein);border-radius:var(--rbv2-radius-sm);
  padding:8px 12px;font-family:var(--rbv2-schrift-mono);font-size:11.5px;
  letter-spacing:.04em;color:var(--rbv2-text-2);display:inline-block;
}

/* Normfilter-Pille: aus/an, aus der JS-Logik normFilters uebernommen */
.rbv2 .rbv2-filter-pill{
  cursor:pointer;border-radius:var(--rbv2-radius-sm);
  font-family:var(--rbv2-schrift-mono);font-size:11.5px;letter-spacing:.06em;
  padding:9px 13px;background:transparent;border:1px solid var(--rbv2-linie-stark);color:var(--rbv2-text-2);
}
.rbv2 .rbv2-filter-pill.rbv2-is-active{
  background:var(--rbv2-akzent);border-color:var(--rbv2-akzent);color:#fff;
}

/* Segment-Knopf (Typ-/Marken-Tabs im Vergleich, Blog-Tabs) */
.rbv2 .rbv2-segment{display:flex;gap:1px;background:var(--rbv2-linie-fein);border-radius:var(--rbv2-radius);overflow:hidden}
.rbv2 .rbv2-segment-btn{
  flex:1;cursor:pointer;border:none;background:var(--rbv2-flaeche);color:var(--rbv2-gedaempft);
  padding:12px 8px;font-family:var(--rbv2-schrift-display);font-weight:600;font-size:13px;
}
.rbv2 .rbv2-segment-btn.rbv2-is-active{background:var(--rbv2-akzent);color:#fff}

/* Blogfilter-Pille — eigene Form (Rahmen statt Segment), neu ggue. August */
.rbv2 .rbv2-blog-tab{
  cursor:pointer;border-radius:var(--rbv2-radius);
  font-family:var(--rbv2-schrift-display);font-weight:600;font-size:13.5px;
  padding:9px 15px;background:var(--rbv2-flaeche);border:1px solid var(--rbv2-linie-fein);color:var(--rbv2-gedaempft);
}
.rbv2 .rbv2-blog-tab.rbv2-is-active{background:var(--rbv2-akzent);border-color:var(--rbv2-akzent);color:#fff}

/* Auswahl-Chip im Geraetevergleich */
.rbv2 .rbv2-selection-chip{
  display:flex;align-items:center;gap:9px;background:var(--rbv2-akzent-schwach-2);
  border:1px solid var(--rbv2-akzent);border-radius:var(--rbv2-radius);color:var(--rbv2-akzent-hell);
  padding:8px 9px 8px 13px;font-family:var(--rbv2-schrift-display);font-weight:600;font-size:13.5px;
}
.rbv2 .rbv2-selection-chip__brand{
  font-family:var(--rbv2-schrift-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#3A6BB8;
}
.rbv2 .rbv2-selection-chip__remove{background:none;border:none;color:var(--rbv2-akzent-hell);cursor:pointer;font-size:16px;line-height:1;padding:0 2px}

/* --------------------------------------------------------------------------
   10. Bildergalerie — Produktseite, neu ggue. August
   -------------------------------------------------------------------------- */
.rbv2 .rbv2-gallery-main{
  background:var(--rbv2-flaeche);border:1px solid var(--rbv2-linie-fein);border-radius:var(--rbv2-radius-lg);
  padding:32px;display:flex;align-items:center;justify-content:center;min-height:380px;
}
.rbv2 .rbv2-gallery-main img{max-width:100%;max-height:360px;object-fit:contain}
.rbv2 .rbv2-gallery-thumbs{display:flex;gap:9px;margin-top:9px}
.rbv2 .rbv2-gallery-thumb{
  flex:1;background:var(--rbv2-flaeche);border:1px solid var(--rbv2-linie-fein);border-radius:var(--rbv2-radius-md);
  padding:12px;cursor:pointer;height:92px;display:flex;align-items:center;justify-content:center;
}
.rbv2 .rbv2-gallery-thumb.rbv2-is-active{border-color:var(--rbv2-akzent)}
.rbv2 .rbv2-gallery-thumb img{max-width:100%;max-height:66px;object-fit:contain}

/* --------------------------------------------------------------------------
   11. Tabellen — Datenblatt und Vergleich
   -------------------------------------------------------------------------- */
.rbv2 .rbv2-spec-table{width:100%;border-collapse:collapse;font-size:15px}
.rbv2 .rbv2-spec-table tr{border-bottom:1px solid var(--rbv2-linie)}
.rbv2 .rbv2-spec-table th{
  text-align:left;padding:12px 16px 12px 0;font-family:var(--rbv2-schrift-mono);font-weight:400;
  font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--rbv2-gedaempft-2);
  width:40%;vertical-align:top;
}
.rbv2 .rbv2-spec-table td{padding:12px 0;color:var(--rbv2-text-5);vertical-align:top}

.rbv2 .rbv2-compare-table{width:100%;border-collapse:collapse;margin-top:-1px}
.rbv2 .rbv2-compare-table th,
.rbv2 .rbv2-compare-table td{border-left:1px solid var(--rbv2-linie-schwach)}
.rbv2 .rbv2-compare-table thead th{
  background:var(--rbv2-flaeche);border-bottom:1px solid var(--rbv2-linie-fein);
  padding:20px 18px;text-align:left;vertical-align:bottom;min-width:186px;
}
.rbv2 .rbv2-compare-table thead th.rbv2-is-secondary{background:var(--rbv2-grund)}
.rbv2 .rbv2-compare-table tbody th{
  text-align:left;background:var(--rbv2-grund-tief);border-bottom:1px solid var(--rbv2-linie);
  padding:15px 16px;font-family:var(--rbv2-schrift-mono);font-weight:400;font-size:11.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--rbv2-gedaempft);vertical-align:top;
}
.rbv2 .rbv2-compare-table tbody td{border-bottom:1px solid var(--rbv2-linie);padding:15px 18px;font-size:15px;vertical-align:top}
.rbv2 .rbv2-compare-table td.rbv2-value-fehlt{color:var(--rbv2-gedaempft-3)}
.rbv2 .rbv2-compare-table td.rbv2-value-belegt{color:var(--rbv2-text-5)}

/* --------------------------------------------------------------------------
   12. Geteilte Kacheln (Info-Panel) — Kontakt, Branche
   -------------------------------------------------------------------------- */
.rbv2 .rbv2-panel{display:grid;gap:1px;background:var(--rbv2-linie-fein);border:1px solid var(--rbv2-linie-fein);border-radius:var(--rbv2-radius-lg);overflow:hidden}
.rbv2 .rbv2-panel--stack{display:flex;flex-direction:column}
.rbv2 .rbv2-panel__tile{background:var(--rbv2-flaeche);padding:28px}
.rbv2 .rbv2-panel__tile-titel{
  font-family:var(--rbv2-schrift-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--rbv2-akzent);margin-bottom:15px;
}

/* Helle Kachel-Verlinkung (Branchen-Raster auf Startseite) */
.rbv2 .rbv2-tile-link{
  background:var(--rbv2-hell-grund);padding:19px 18px;color:var(--rbv2-hell-ink);
  font-family:var(--rbv2-schrift-display);font-weight:600;font-size:15px;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.rbv2 .rbv2-tile-link:hover{background:#EEF1F6;color:var(--rbv2-akzent-hover)}

/* Bild-Abwandlung der Kachel-Verlinkung — Branchen-Raster mit Foto statt
   reiner Textzeile. Die Textfassung (.rbv2-tile-link allein, siehe oben,
   weiterhin in _bausteine.php gezeigt) bleibt unveraendert; diese Klasse
   kommt zusaetzlich dazu und schaltet nur Richtung/Innenabstand um. */
.rbv2 .rbv2-tile-link--bild{
  flex-direction:column;align-items:stretch;justify-content:flex-start;
  gap:0;padding:0;min-width:0;overflow:hidden;
  border:1px solid var(--rbv2-hell-kante);border-radius:var(--rbv2-radius-md);
}
.rbv2 .rbv2-tile-link--bild:hover{border-color:var(--rbv2-akzent)}
.rbv2 .rbv2-tile-link--bild .rbv2-tile-link__bild{
  display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;
}
.rbv2 .rbv2-tile-link--bild .rbv2-tile-link__beschriftung{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:16px 18px;
}

/* Helle Listenzeile ("Auf einen Blick") */
.rbv2 .rbv2-glance-row{background:var(--rbv2-hell-grund);padding:15px 18px;font-size:15px;color:var(--rbv2-hell-text-3)}

/* --------------------------------------------------------------------------
   13. Bahnbruecken — Kopfzeile, Servicezeile, Fusszeile
   -------------------------------------------------------------------------- */
.rbv2 .rbv2-servicezeile{background:var(--rbv2-grund-tief);border-bottom:1px solid var(--rbv2-linie)}
.rbv2 .rbv2-servicezeile-inner{
  display:flex;flex-wrap:wrap;gap:22px;align-items:center;
  font-family:var(--rbv2-schrift-mono);font-size:11.5px;letter-spacing:.06em;color:var(--rbv2-gedaempft-2);
  padding:9px var(--rbv2-pad-desk);
}
.rbv2 .rbv2-servicezeile a{color:var(--rbv2-text-4)}

.rbv2 .rbv2-header{background:rgba(11,15,26,.94)}
.rbv2 .rbv2-header-inner{display:flex;align-items:center;gap:32px;padding:15px var(--rbv2-pad-desk)}

.rbv2 .rbv2-burger-btn{
  background:none;border:1px solid var(--rbv2-linie-stark);border-radius:var(--rbv2-radius);
  color:var(--rbv2-text);cursor:pointer;padding:9px 14px;
  font-family:var(--rbv2-schrift-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  align-items:center;gap:9px;
}
.rbv2 .rbv2-burger-bar{width:15px;height:1.5px;background:var(--rbv2-text);display:block}

.rbv2 .rbv2-mobile-menu{border-top:1px solid var(--rbv2-linie);background:var(--rbv2-grund);padding:18px var(--rbv2-pad-desk) 24px}
.rbv2 .rbv2-mobile-nav-link{
  display:block;padding:14px 0;border-bottom:1px solid var(--rbv2-linie-schwach);
  font-family:var(--rbv2-schrift-display);font-weight:500;font-size:19px;color:var(--rbv2-text);
}

.rbv2 .rbv2-breadcrumb{
  font-family:var(--rbv2-schrift-mono);font-size:11.5px;color:var(--rbv2-gedaempft-3);
  display:flex;flex-wrap:wrap;gap:9px;padding:12px var(--rbv2-pad-desk);
  background:var(--rbv2-grund-tief);border-bottom:1px solid var(--rbv2-linie);
}
.rbv2 .rbv2-breadcrumb a{color:var(--rbv2-gedaempft)}
.rbv2 .rbv2-breadcrumb .rbv2-is-current{color:var(--rbv2-text-2)}

.rbv2 .rbv2-footer{background:var(--rbv2-grund-tief);border-top:1px solid var(--rbv2-linie)}
.rbv2 .rbv2-footer-col-titel{
  font-family:var(--rbv2-schrift-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--rbv2-gedaempft-3);margin-bottom:15px;
}
.rbv2 .rbv2-footer-link{font-size:15px;color:var(--rbv2-text-4)}
.rbv2 .rbv2-footer-link:hover{color:var(--rbv2-akzent)}
.rbv2 .rbv2-footer-bottom{
  border-top:1px solid var(--rbv2-linie-schwach);display:flex;flex-wrap:wrap;gap:14px;
  font-family:var(--rbv2-schrift-mono);font-size:11.5px;color:var(--rbv2-gedaempft-3);
  padding:20px var(--rbv2-pad-desk) 32px;
}

/* --------------------------------------------------------------------------
   14. Hintergruende — Diagonalraster und Glow
   -------------------------------------------------------------------------- */
.rbv2 .rbv2-raster{
  position:absolute;inset:0;
  background:repeating-linear-gradient(-47deg,
    var(--rbv2-akzent-schwach-4) 0, var(--rbv2-akzent-schwach-4) 1px,
    transparent 1px, transparent 66px);
}
.rbv2 .rbv2-glow{
  position:absolute;top:-200px;right:-160px;width:660px;height:660px;border-radius:50%;
  background:radial-gradient(circle,var(--rbv2-akzent-schwach-5),transparent 65%);
}
.rbv2 .rbv2-hero-flaeche{position:relative;border-bottom:1px solid var(--rbv2-linie);overflow:hidden}

/* --------------------------------------------------------------------------
   15. Helle Abschnitte — neu gegenueber der Augustfassung
   -------------------------------------------------------------------------- */
.rbv2 .rbv2-section-light{background:var(--rbv2-hell-grund);color:var(--rbv2-hell-ink)}
.rbv2 .rbv2-section-light a{color:var(--rbv2-hell-ink)}

/* Ueberschriften und Fliesstext im hellen Abschnitt duerfen die weisse Tinte
   der dunklen Buehne nicht erben. robustbook-2026.css spricht h1-h3 direkt
   an (".rb-2026 h1/h2/h3", Spezifitaet 0,1,1) und schlaegt damit die
   Vererbung von .rbv2-section-light; .rbv2 .rbv2-h1/h2/h3 (0,2,0) setzt
   Weiss ebenso fest verdrahtet. Beide Faelle — mit rbv2-Klasse und ohne —
   bekommen hier die noetige Spezifitaet, um auf --rbv2-hell-ink zu drehen. */
.rbv2 .rbv2-section-light h1,
.rbv2 .rbv2-section-light h2,
.rbv2 .rbv2-section-light h3,
.rbv2 .rbv2-section-light .rbv2-lead,
.rbv2 .rbv2-section-light .rbv2-fliesstext{color:var(--rbv2-hell-ink)}
.rbv2 .rbv2-section-light .rbv2-h1,
.rbv2 .rbv2-section-light .rbv2-h2,
.rbv2 .rbv2-section-light .rbv2-h3{color:var(--rbv2-hell-ink)}

/* --------------------------------------------------------------------------
   Nachtrag 22.08.2026 — Markenbeifuegung im Kopf
   Die drei Angaben standen als Inline-Stil an der <span> in header.php und
   hoben damit die Ausblendregel aus robustbook-2026.css Zeile 344
   (@media max-width:1300px {display:none}) auf: ein Inline-Stil schlaegt
   jede Regel aus einem Stilblatt, solange diese nicht erzwungen ist. Sichtbar wurde das erst auf Niederlaendisch —
   "Onderdeel van Bitblade Group" ist mit 28 Zeichen die laengste Fassung und
   liess den Kopf bei 384px um 7px ueberlaufen; Franzoesisch stand mit 25
   Zeichen exakt auf der Kante (rechte Kante 384 bei clientWidth 384).
   Dieselben Angaben hier als Regel, damit die Ausblendung wieder greift.
   -------------------------------------------------------------------------- */
.rbv2 .rb-nav__bitblade-text{white-space:normal;max-width:100px;display:inline-block}
@media (max-width:1300px){
  .rbv2 .rb-nav__bitblade-text{display:none}
}
