/* ============================================================
   Bloom Industry — Redesign 2026 „dunkel, Bloom-Grün"
   GENERIERT von streetfarm/deploy/build_redesign.py aus bloom-dark.src.css
   (+ automatische Kontrast-Overrides aus style.css) — nicht direkt editieren.
   ============================================================ */

/* ---- Schriften (lokal gehostet, kein Google-Server) ---- */
@font-face { font-family: 'Barlow'; src: url('../fonts/barlow-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Barlow'; src: url('../fonts/barlow-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Barlow'; src: url('../fonts/barlow-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Barlow'; src: url('../fonts/barlow-700.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Barlow'; src: url('../fonts/barlow-800.woff2') format('woff2'); font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: 'Barlow Condensed'; src: url('../fonts/barlow-condensed-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Barlow Condensed'; src: url('../fonts/barlow-condensed-700.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }

/* ============================================================
   1. TOKENS — Grün-Skala des Themes auf die dunkle Palette umbiegen
   ============================================================ */
html.dark-mode {
  --rd-bg: #07070a;
  --rd-s1: #111016;
  --rd-s2: #18161f;
  --rd-s3: #201d29;
  --rd-line: #26232f;
  --rd-line2: #363142;
  --rd-tx: #f4f2fa;
  --rd-mu: #aba6b8;
  --rd-mu2: #837e91;
  --rd-green: #c1ff72;
  --rd-logo: #c1ff72;
  --rd-ink: #0a0c05;
  --rd-lime: #b48cff;
  --rd-sun: #FFC933;
  --rd-red: #ff5c7a;
  --rd-glow: 0 0 0 1px rgba(193,255,114,.25), 0 16px 40px rgba(0,0,0,.45), 0 0 40px rgba(193,255,114,.10);

  --bg-page:    var(--rd-bg);
  --bg-surface: var(--rd-s1);
  --bg-header:  var(--rd-bg);
  --bg-card:    var(--rd-s1);
  --text-main:  var(--rd-tx);
  --text-muted: var(--rd-mu);
  --border:     var(--rd-line);
  --accent:     var(--rd-green);
  --accent-lt:  var(--rd-lime);
  --shadow:     0 2px 18px rgba(0,0,0,.55);

  --green-950: #050507;
  --green-900: #1c1a24;
  --green-800: #c1ff72;
  --green-600: #a8e85a;
  --green-400: #b48cff;
  --green-100: #16141d;
  --green-50:  #111016;

  --green-dark:   #c1ff72;
  --dark-green:   #c1ff72;
  --green-light:  #b48cff;
  --green-bg:     #0c0b10;
  --white:        #111016;
  --black:        #f4f2fa;
  --gray-light:   #141219;
  --gray-mid:     #26232f;
  --gray-text:    #aba6b8;
  --border-color: #26232f;

  --font: 'Barlow', system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-display: 'Anton', 'Barlow', system-ui, sans-serif;
  --font-cond: 'Barlow Condensed', 'Barlow', sans-serif;

  color-scheme: dark;
  background: var(--rd-bg);
}

html.dark-mode body { background: var(--rd-bg); color: var(--rd-tx); font-family: var(--font); font-size: 16px; }
html.dark-mode a { color: var(--rd-green); }
html.dark-mode a:hover { color: var(--rd-lime); }
html.dark-mode ::selection { background: rgba(193,255,114,.35); color: #fff; }
html.dark-mode :focus-visible { outline: 2px solid var(--rd-lime); outline-offset: 3px; }

/* Harte Hell-Werte aus Templates abdunkeln */
html.dark-mode [style*="background:#fff"],
html.dark-mode [style*="background: #fff"],
html.dark-mode [style*="background:#ffffff"],
html.dark-mode [style*="background: #ffffff"],
html.dark-mode [style*="background:white"],
html.dark-mode [style*="background:#fafafa"],
html.dark-mode [style*="background:#f6f7f7"],
html.dark-mode [style*="background:#f5f5f5"],
html.dark-mode [style*="background:#f9f9f9"],
html.dark-mode [style*="background:#f2f8ee"],
html.dark-mode [style*="background:#fafaf7"] { background: var(--rd-s1) !important; }
html.dark-mode [style*="color:#888"], html.dark-mode [style*="color: #888"] { color: var(--rd-mu) !important; }
html.dark-mode [style*="color:#333"], html.dark-mode [style*="color:#222"], html.dark-mode [style*="color:#111"],
html.dark-mode [style*="color: #333"], html.dark-mode [style*="color:#2b2b2b"], html.dark-mode [style*="color:#444"] { color: var(--rd-tx) !important; }
html.dark-mode [style*="color:#666"], html.dark-mode [style*="color: #666"], html.dark-mode [style*="color:#555"] { color: var(--rd-mu) !important; }

html.dark-mode input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),
html.dark-mode select,
html.dark-mode textarea {
  background-color: var(--rd-bg); color: var(--rd-tx); border-color: var(--rd-line2);
}
html.dark-mode input::placeholder, html.dark-mode textarea::placeholder { color: var(--rd-mu2); }
html.dark-mode input[type=checkbox], html.dark-mode input[type=radio] { accent-color: var(--rd-green); }
html.dark-mode table, html.dark-mode th, html.dark-mode td { border-color: var(--rd-line); }
html.dark-mode hr { border-color: var(--rd-line); }

/* Überschriften */
html.dark-mode .section-title { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; letter-spacing: .005em; color: var(--rd-tx); }
html.dark-mode .section-sub { color: var(--rd-mu); }

/* Standard-Buttons des Themes */
html.dark-mode .btn-primary { background: var(--rd-green); color: var(--rd-ink); border-color: var(--rd-green); font-weight: 700; }
html.dark-mode .btn-primary:hover { background: var(--rd-green); color: var(--rd-ink); box-shadow: 0 0 0 4px rgba(193,255,114,.18), 0 10px 30px rgba(193,255,114,.3); }
html.dark-mode .btn-secondary { border-color: var(--rd-line2); color: var(--rd-tx); background: rgba(255,255,255,.02); }
html.dark-mode .btn-secondary:hover { border-color: var(--rd-green); color: var(--rd-green); background: transparent; }
html.dark-mode .btn-cart:hover { background: var(--rd-lime); color: var(--rd-ink); }

/* ============================================================
   2. RD-BAUSTEINE (gemeinsam)
   ============================================================ */
.rd-container { max-width: 1320px; margin: 0 auto; padding: 0 40px; }
@media (max-width: 900px) { .rd-container { padding: 0 20px; } }
@media (max-width: 480px) { .rd-container { padding: 0 16px; } }

.rd-i   { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; display: block; }
.rd-i-s { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; display: block; }
.rd-i-l { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; display: block; }

.rd-disp { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; letter-spacing: .005em; line-height: 1.0; margin: 0; color: var(--rd-tx); }
.rd-cond { font-family: var(--font-cond); }
.rd-eyebrow { font: 700 14px/1.2 var(--font-cond); letter-spacing: .18em; text-transform: uppercase; color: var(--rd-green); display: flex; align-items: center; gap: 10px; margin: 0; }
.rd-eyebrow::before { content: ""; width: 18px; height: 2px; background: currentColor; display: block; }
.rd-eyebrow--sun { color: var(--rd-sun); }
.rd-eyebrow--red { color: var(--rd-red); }

.rd-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 26px; border-radius: 10px; font: 700 16px/1 var(--font); border: 1.5px solid transparent; cursor: pointer; transition: background .2s, box-shadow .2s, border-color .2s, color .2s; text-decoration: none; white-space: nowrap; }
.rd-btn-p, .rd-btn-p:hover { background: var(--rd-green); color: var(--rd-ink); }
.rd-btn-p:hover { box-shadow: 0 0 0 4px rgba(193,255,114,.18), 0 10px 30px rgba(193,255,114,.30); }
.rd-btn-s { background: rgba(255,255,255,.02); border-color: var(--rd-line2); color: var(--rd-tx); }
html.dark-mode a.rd-btn-s { color: var(--rd-tx); }
.rd-btn-s:hover, html.dark-mode a.rd-btn-s:hover { border-color: var(--rd-green); color: var(--rd-green); }
html.dark-mode a.rd-btn-p, html.dark-mode a.rd-btn-p:hover { color: var(--rd-ink); }
.rd-btn-sm { min-height: 44px; padding: 0 18px; font-size: 15px; }

.rd-ib { width: 44px; height: 44px; border-radius: 10px; border: 1px solid var(--rd-line); background: transparent; color: var(--rd-tx); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; position: relative; padding: 0; text-decoration: none; }
html.dark-mode a.rd-ib { color: var(--rd-tx); }
.rd-ib:hover, html.dark-mode a.rd-ib:hover { border-color: var(--rd-green); color: var(--rd-green); }
.rd-cnt { position: absolute; top: -6px; right: -6px; min-width: 20px; height: 20px; border-radius: 10px; background: var(--rd-green); color: var(--rd-ink); font: 800 12px/20px var(--font); text-align: center; padding: 0 5px; }

.rd-pill { height: 44px; padding: 0 16px; border-radius: 10px; border: 1px solid var(--rd-line2); display: inline-flex; align-items: center; gap: 9px; font: 700 14.5px/1 var(--font); color: var(--rd-tx); background: transparent; text-decoration: none; cursor: pointer; white-space: nowrap; }
html.dark-mode a.rd-pill { color: var(--rd-tx); }
.rd-pill:hover, html.dark-mode a.rd-pill:hover { border-color: var(--rd-green); color: var(--rd-green); }
.rd-pill--b2b, html.dark-mode a.rd-pill--b2b { border-color: rgba(255,201,51,.45); color: var(--rd-sun); }
.rd-pill--b2b:hover, html.dark-mode a.rd-pill--b2b:hover { border-color: var(--rd-sun); color: var(--rd-sun); background: rgba(255,201,51,.06); }

.rd-checker { height: 16px; background-image: conic-gradient(var(--rd-green) 0 25%, transparent 0 50%, var(--rd-green) 0 75%, transparent 0); background-size: 16px 16px; opacity: .9; }

.rd-sec { padding: 88px 0 0; }
.rd-sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 34px; flex-wrap: wrap; }
.rd-sec-head h2 { font-size: clamp(34px, 4.2vw, 56px); margin-top: 14px; }
.rd-sec-head p { margin: 10px 0 0; color: var(--rd-mu); font-size: 17px; }
.rd-more { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--rd-green); text-decoration: none; white-space: nowrap; }
html.dark-mode a.rd-more { color: var(--rd-green); }
.rd-cico { width: 46px; height: 46px; border-radius: 12px; background: rgba(193,255,114,.12); color: var(--rd-green); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rd-chk { width: 26px; height: 26px; border-radius: 50%; background: rgba(193,255,114,.14); color: var(--rd-green); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }

/* ============================================================
   3. TOPBAR + HEADER
   ============================================================ */
.rd-topbar { background: #050507; border-bottom: 1px solid var(--rd-line); color: var(--rd-mu); font-size: 13.5px; }
.rd-topbar-in { min-height: 36px; display: flex; align-items: center; justify-content: center; gap: 34px; flex-wrap: wrap; padding: 6px 16px; }
.rd-topbar span { display: inline-flex; align-items: center; gap: 8px; }
.rd-topbar b { color: var(--rd-tx); font-weight: 600; }
html.dark-mode .rd-topbar a { color: var(--rd-tx); text-decoration: none; }
@media (max-width: 1100px) { .rd-topbar .rd-tb-opt { display: none; } }
@media (max-width: 640px)  { .rd-topbar { font-size: 12.5px; } .rd-topbar-in { gap: 14px; } .rd-topbar .rd-tb-opt2 { display: none; } }

html.dark-mode .site-header.rd-header { background: rgba(7,7,10,.94); -webkit-backdrop-filter: saturate(140%) blur(12px); backdrop-filter: saturate(140%) blur(12px); border-bottom: 1px solid var(--rd-line); }
.rd-hd-main { height: 76px; display: flex; align-items: center; gap: 28px; }
.rd-logo { display: flex; align-items: center; flex-shrink: 0; text-decoration: none; }
.rd-logo img { height: 50px; width: auto; display: block; filter: drop-shadow(0 0 18px rgba(193,255,114,.22)); }
.rd-search { flex: 1; position: relative; min-width: 0; margin: 0; }
.rd-search-box { height: 48px; border-radius: 12px; background: var(--rd-s1); border: 1px solid var(--rd-line2); display: flex; align-items: center; gap: 12px; padding: 0 8px 0 16px; color: var(--rd-mu); transition: border-color .2s, box-shadow .2s; }
.rd-search-box:focus-within { border-color: var(--rd-green); box-shadow: 0 0 0 4px rgba(193,255,114,.14); }
html.dark-mode .rd-search input[type=search] { flex: 1; min-width: 0; height: 44px; background: transparent; border: 0; outline: 0; color: var(--rd-tx); font: 500 15.5px var(--font); padding: 0; box-shadow: none; }
.rd-search input[type=search]::-webkit-search-cancel-button { -webkit-appearance: none; }
.rd-search .search-results[hidden] { display: none !important; }
.rd-search-go { height: 36px; padding: 0 14px; border-radius: 8px; border: 0; background: var(--rd-green); color: var(--rd-ink); font: 700 14px var(--font); cursor: pointer; }
html.dark-mode .rd-search .search-results { position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 120; margin: 0; padding: 8px; background: var(--rd-s1); border: 1px solid var(--rd-line2); border-radius: 12px; box-shadow: 0 24px 60px rgba(0,0,0,.6); max-height: 440px; }
html.dark-mode .search-result-item { color: var(--rd-tx) !important; }
html.dark-mode .search-result-item:hover { background: var(--rd-s2); }
html.dark-mode .search-result-img { background: #F4F6F1; object-fit: contain; }
html.dark-mode .search-result-price { color: var(--rd-green); }
.rd-search-all { display: flex; justify-content: center; padding: 10px; font-weight: 700; border-top: 1px solid var(--rd-line); margin-top: 4px; }
.rd-hd-actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
html.dark-mode .rd-header .menu-toggle { display: none; }

.rd-nav { border-top: 1px solid var(--rd-line); background: rgba(17,16,22,.55); }
.rd-nav-in { height: 50px; display: flex; align-items: center; gap: 2px; }
.rd-nl { color: var(--rd-tx); font: 600 15px/1 var(--font); padding: 10px 12px; border-radius: 8px; display: inline-flex; align-items: center; gap: 5px; text-decoration: none; background: none; border: 0; cursor: pointer; white-space: nowrap; }
html.dark-mode a.rd-nl { color: var(--rd-tx); }
.rd-nl:hover, html.dark-mode a.rd-nl:hover, .rd-dd:focus-within > .rd-nl { color: var(--rd-green); background: rgba(193,255,114,.08); }
.rd-nl.is-on, html.dark-mode a.rd-nl.is-on { background: rgba(193,255,114,.12); color: var(--rd-green); }
.rd-nl--sale { color: var(--rd-red); margin-left: auto; }
html.dark-mode a.rd-nl--sale { color: var(--rd-red); }
.rd-nav-sep { width: 1px; height: 22px; background: var(--rd-line2); margin: 0 8px; }
.rd-dd { position: relative; }
.rd-dd-panel { position: absolute; top: calc(100% + 6px); left: 0; min-width: 250px; background: var(--rd-s1); border: 1px solid var(--rd-line2); border-radius: 14px; padding: 8px; box-shadow: 0 24px 60px rgba(0,0,0,.6); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s, transform .18s, visibility .18s; z-index: 130; }
.rd-dd::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 10px; }
.rd-dd:hover .rd-dd-panel, .rd-dd:focus-within .rd-dd-panel { opacity: 1; visibility: visible; transform: none; }
.rd-dd-panel a, html.dark-mode .rd-dd-panel a { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 10px; color: var(--rd-tx); font-weight: 600; font-size: 15px; text-decoration: none; }
.rd-dd-panel a:hover, html.dark-mode .rd-dd-panel a:hover { background: var(--rd-s2); color: var(--rd-green); }
.rd-dd-panel a .rd-i-s { color: var(--rd-green); }
.rd-dd-panel--wide { min-width: 560px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; }

@media (max-width: 1400px) { .rd-nl { padding: 10px 9px; font-size: 14.5px; } .rd-hide-lg { display: none !important; } }
@media (max-width: 1260px) { .rd-hide-md { display: none !important; } }
.rd-dd--end .rd-dd-panel { left: auto; right: 0; }
@media (max-width: 1180px) { .rd-pill-beratung { display: none !important; } }
@media (max-width: 1100px) {
  .rd-nav { display: none; }
  html.dark-mode .rd-header .menu-toggle { display: inline-flex; }
  .rd-hd-main { height: auto; padding-top: 10px; padding-bottom: 12px; gap: 12px; flex-wrap: wrap; }
  .rd-logo { order: 1; flex: 1; }
  .rd-logo img { height: 38px; }
  .rd-hd-actions { order: 2; gap: 8px; }
  .rd-search { order: 3; flex: 0 0 100%; }
  .rd-search-go { display: none; }
  .rd-pill-label { display: none; }
  .rd-hd-actions .rd-pill { width: 44px; padding: 0; justify-content: center; }
  html.dark-mode .mobile-nav, html.dark-mode .mobile-nav-backdrop { top: var(--rd-hd-h, 124px); }
}
@media (max-width: 1100px) { html.dark-mode .mobile-nav, html.dark-mode .mobile-nav-backdrop { display: block; } html.dark-mode .mobile-nav-backdrop:not(.is-open) { pointer-events: none; } }
@media (min-width: 961px) { html.dark-mode .mobile-nav, html.dark-mode .mobile-nav-backdrop { display: none !important; } }

/* Mobile-Navigation (bestehendes Panel, neu eingefärbt) */
html.dark-mode .mobile-nav { background: var(--rd-bg); border-left: 1px solid var(--rd-line); max-width: 360px; box-shadow: -20px 0 60px rgba(0,0,0,.6); }
html.dark-mode .mobile-nav a, html.dark-mode .mobile-nav-consulting, html.dark-mode .mobile-nav-group-btn { color: var(--rd-tx); font: 600 16px var(--font); }
html.dark-mode .mobile-nav a:hover, html.dark-mode .mobile-nav-consulting:hover, html.dark-mode .mobile-nav-group-btn:hover { background: var(--rd-s1); color: var(--rd-green); }
html.dark-mode .mobile-nav svg { color: var(--rd-green); }
html.dark-mode .mobile-nav-backdrop { background: rgba(0,0,0,.6); }
html.dark-mode .mobile-sale-link { color: var(--rd-red) !important; }
html.dark-mode .mobile-nav-divider { background: var(--rd-line); }
html.dark-mode .mobile-nav-footer { border-top-color: var(--rd-line); }
.rd-mn-b2b, html.dark-mode .mobile-nav a.rd-mn-b2b { justify-content: center; border: 1px solid rgba(255,201,51,.45); color: var(--rd-sun); border-radius: 10px; font-weight: 700; }

/* ============================================================
   4. HERO-SLIDER
   ============================================================ */
.rd-hero { position: relative; height: 620px; overflow: hidden; background: var(--rd-bg); }
.rd-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .6s var(--ease-out), visibility .6s; }
.rd-slide.is-active { opacity: 1; visibility: visible; z-index: 1; }
.rd-slide-glow { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse 55% 75% at 78% 25%, rgba(193,255,114,.20), transparent 62%), radial-gradient(ellipse 40% 50% at 10% 100%, rgba(180,140,255,.06), transparent 60%); }
.rd-slide-img { position: absolute; right: 0; top: 0; width: 58%; height: 100%; object-fit: cover; object-position: 50% 22%; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 38%); mask-image: linear-gradient(90deg, transparent 0%, #000 38%); }
.rd-slide-content { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: center; gap: 22px; padding-bottom: 60px; max-width: 1320px; }
.rd-slide-content > * { max-width: 760px; }
.rd-hero-title { font-size: clamp(44px, 6.4vw, 92px); }
.rd-hero-title span { color: var(--rd-green); text-shadow: 0 0 44px rgba(193,255,114,.35); }
.rd-slide h2.rd-hero-title { font-size: clamp(40px, 5.4vw, 76px); }
.rd-hero-text { margin: 0; font-size: 19px; line-height: 1.55; color: var(--rd-mu); max-width: 580px !important; }
.rd-btns { display: flex; gap: 14px; flex-wrap: wrap; }
.rd-stats { display: flex; gap: 36px; margin-top: 6px; }
.rd-stats b { display: block; font: 700 30px/1 var(--font-cond); color: var(--rd-tx); }
.rd-stats span { font-size: 14px; color: var(--rd-mu); }
.rd-stats i { width: 1px; background: var(--rd-line2); }
.rd-social { display: flex; gap: 12px; flex-wrap: wrap; }
.rd-hero-chip { position: absolute; right: 72px; bottom: 80px; z-index: 2; width: 340px; display: flex; gap: 14px; align-items: center; padding: 12px; border-radius: 14px; background: rgba(17,16,22,.84); border: 1px solid rgba(193,255,114,.35); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 20px 50px rgba(0,0,0,.5); color: var(--rd-tx); text-decoration: none; }
html.dark-mode a.rd-hero-chip { color: var(--rd-tx); }
.rd-hero-chip:hover, html.dark-mode a.rd-hero-chip:hover { border-color: var(--rd-green); color: var(--rd-tx); }
.rd-hero-chip-img { width: 64px; height: 64px; border-radius: 10px; background: #F4F6F1; display: flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; }
.rd-hero-chip-img img { width: 56px; height: 56px; object-fit: contain; mix-blend-mode: multiply; }
.rd-hero-chip-t { flex: 1; min-width: 0; }
.rd-hero-chip-t small { display: block; font: 700 11.5px var(--font-cond); letter-spacing: .14em; text-transform: uppercase; color: var(--rd-mu); }
.rd-hero-chip-t strong { display: block; font-size: 15px; line-height: 1.25; }
.rd-hero-chip-t .amount, .rd-hero-chip-t .price { font: 700 19px var(--font-cond); color: var(--rd-green); }
.rd-creative { position: absolute; inset: 0; background: #000; display: block; }
.rd-creative img { width: 100%; height: 100%; object-fit: contain; }
.rd-hero-ctrl { position: absolute; left: 0; right: 0; bottom: 30px; z-index: 3; pointer-events: none; }
.rd-hero-ctrl .rd-container { display: flex; align-items: center; gap: 14px; }
.rd-hero-ctrl button { pointer-events: auto; width: 40px; height: 40px; }
.rd-hero-count { font: 700 15px var(--font-cond); letter-spacing: .12em; color: var(--rd-mu); margin-left: 6px; white-space: nowrap; }
.rd-hero-bars { display: flex; gap: 6px; margin-left: 4px; pointer-events: auto; }
.rd-hero-bars button { width: 36px; height: 16px; border: 0; padding: 0; background: none; cursor: pointer; position: relative; }
.rd-hero-bars button::before { content: ""; position: absolute; left: 0; right: 0; top: 6px; height: 3px; border-radius: 2px; background: var(--rd-line2); transition: background .3s; }
.rd-hero-bars button.is-active::before { background: var(--rd-green); }
@media (max-width: 1100px) { .rd-hero-chip { display: none; } }
@media (max-width: 900px) {
  .rd-hero { height: auto; min-height: 0; }
  .rd-slide { position: relative; display: none; }
  .rd-slide.is-active { display: block; }
  .rd-slide-img { position: relative; width: 100%; height: 280px; -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent 100%); mask-image: linear-gradient(180deg, #000 55%, transparent 100%); }
  .rd-slide-content { height: auto; padding: 28px 20px 92px; gap: 16px; }
  .rd-slide--img .rd-slide-content { margin-top: -60px; }
  .rd-hero-text { font-size: 16.5px; }
  .rd-btns .rd-btn { flex: 1 1 100%; }
  .rd-stats { gap: 18px; }
  .rd-stats b { font-size: 24px; }
  .rd-creative { position: relative; aspect-ratio: 4 / 5; }
  .rd-hero-ctrl { bottom: 22px; }
  .rd-hero-bars button { width: 22px; }
  .rd-hero-ctrl .rd-container { gap: 10px; }
}

/* ============================================================
   5. STARTSEITEN-SEKTIONEN
   ============================================================ */
.rd-usp { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--rd-line); border-bottom: 1px solid var(--rd-line); }
.rd-usp-i { display: flex; align-items: center; gap: 16px; padding: 22px 24px; }
.rd-usp-i + .rd-usp-i { border-left: 1px solid var(--rd-line); }
.rd-usp-i strong { display: block; font-size: 16.5px; }
.rd-usp-i span { display: block; font-size: 14.5px; color: var(--rd-mu); line-height: 1.4; }
@media (max-width: 1000px) { .rd-usp { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rd-usp-i:nth-child(3) { border-left: 0; } .rd-usp-i:nth-child(n+3) { border-top: 1px solid var(--rd-line); } }
@media (max-width: 560px) {
  .rd-usp { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px; border: 0; padding: 14px 0 4px; scrollbar-width: none; }
  .rd-usp::-webkit-scrollbar { display: none; }
  .rd-usp-i { flex: 0 0 250px; scroll-snap-align: start; background: var(--rd-s1); border: 1px solid var(--rd-line) !important; border-radius: 14px; padding: 14px; gap: 12px; }
  .rd-usp-i .rd-cico { width: 40px; height: 40px; }
  .rd-usp-i strong { font-size: 15px; } .rd-usp-i span { font-size: 13px; }
}

.rd-goals { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.rd-tile { position: relative; display: block; height: 440px; border-radius: 16px; overflow: hidden; border: 1px solid var(--rd-line); color: var(--rd-tx); text-decoration: none; transition: border-color .25s, box-shadow .25s; }
html.dark-mode a.rd-tile { color: var(--rd-tx); }
.rd-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease-out); }
.rd-tile:hover img { transform: scale(1.04); }
.rd-tile:hover, html.dark-mode a.rd-tile:hover { border-color: rgba(193,255,114,.6); box-shadow: 0 0 40px rgba(193,255,114,.15); color: var(--rd-tx); }
.rd-tile-ov { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,5,8,0) 30%, rgba(5,5,8,.55) 55%, rgba(5,5,8,.95) 100%); }
.rd-tile-c { position: absolute; left: 24px; right: 24px; bottom: 24px; display: flex; flex-direction: column; gap: 8px; }
.rd-tile-c .rd-num { font: 700 14px var(--font-cond); letter-spacing: .2em; color: var(--rd-green); }
.rd-tile-c h3 { font-size: 38px; }
.rd-tile-c > span:not(.rd-lnk):not(.rd-num) { color: var(--rd-mu); font-size: 15.5px; }
.rd-lnk { display: inline-flex; align-items: center; gap: 8px; color: var(--rd-green); font-weight: 700; font-size: 15px; }
@media (max-width: 1100px) { .rd-goals { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rd-tile { height: 360px; } }
@media (max-width: 560px) { .rd-goals { gap: 10px; } .rd-tile { height: 240px; } .rd-tile-c { left: 14px; right: 14px; bottom: 14px; } .rd-tile-c h3 { font-size: 24px; } .rd-tile-c > span, .rd-tile-c .rd-num { display: none; } }

.rd-cats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.rd-cat { min-height: 88px; background: var(--rd-s1); border: 1px solid var(--rd-line); border-radius: 14px; display: flex; align-items: center; gap: 14px; padding: 14px 18px; text-decoration: none; color: var(--rd-tx); transition: border-color .2s, background .2s; }
html.dark-mode a.rd-cat { color: var(--rd-tx); }
.rd-cat:hover, html.dark-mode a.rd-cat:hover { border-color: rgba(193,255,114,.55); background: var(--rd-s2); color: var(--rd-tx); }
.rd-cat-t { flex: 1; min-width: 0; }
.rd-cat-t strong { display: block; font-size: 17px; line-height: 1.25; }
.rd-cat-t span { display: block; font-size: 13.5px; color: var(--rd-mu); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rd-cat > .rd-i-s { color: var(--rd-mu2); }
@media (max-width: 1200px) { .rd-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px)  { .rd-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .rd-cat { min-height: 64px; padding: 10px 12px; gap: 10px; } .rd-cat .rd-cico { width: 36px; height: 36px; } .rd-cat-t span, .rd-cat > .rd-i-s { display: none; } .rd-cat-t strong { font-size: 14.5px; } }

.rd-brands { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.rd-brand { height: 124px; background: var(--rd-s1); border: 1px solid var(--rd-line); border-radius: 14px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; text-decoration: none; transition: border-color .2s, background .2s; }
.rd-brand:hover, html.dark-mode a.rd-brand:hover { border-color: rgba(193,255,114,.55); background: var(--rd-s2); }
.rd-brand img { max-width: 170px; max-height: 42px; width: auto; height: auto; object-fit: contain; opacity: .88; transition: opacity .2s, filter .2s; }
.rd-brand:hover img { opacity: 1; filter: drop-shadow(0 0 14px rgba(193,255,114,.45)); }
.rd-brand span { font-size: 12.5px; color: var(--rd-mu2); font-weight: 600; letter-spacing: .04em; }
@media (max-width: 900px) { .rd-brands { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .rd-brand { height: 96px; } .rd-brand img { max-width: 130px; max-height: 32px; } }

.rd-tabs { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.rd-tab { height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--rd-line2); background: transparent; color: var(--rd-mu); font: 700 14.5px var(--font); cursor: pointer; }
.rd-tab.is-on { background: var(--rd-tx); color: var(--rd-ink); border-color: var(--rd-tx); }
.rd-panel[hidden] { display: none !important; }

/* B2B-Band */
.rd-b2b { position: relative; margin-top: 96px; background: var(--rd-s1); }
.rd-b2b::after { content: ""; position: absolute; inset: 16px 0 0; pointer-events: none; background: radial-gradient(ellipse 50% 70% at 85% 50%, rgba(255,201,51,.07), transparent 60%); }
.rd-b2b-in { position: relative; z-index: 1; padding: 84px 0 96px; display: grid; grid-template-columns: 1.1fr 1fr; gap: 72px; align-items: start; }
.rd-b2b h2 { font-size: clamp(34px, 4.2vw, 56px); margin: 20px 0; }
.rd-b2b-lead { margin: 0 0 24px; font-size: 18px; color: var(--rd-mu); max-width: 560px; }
.rd-b2b-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 28px; margin: 0 0 30px; padding: 0; list-style: none; }
.rd-b2b-list li { display: flex; gap: 12px; align-items: center; font-weight: 600; }
.rd-b2b-card { background: var(--rd-bg); border: 1px solid var(--rd-line2); border-radius: 18px; padding: 28px; display: flex; flex-direction: column; gap: 20px; box-shadow: 0 30px 60px rgba(0,0,0,.35); }
.rd-b2b-card > small { font: 700 12.5px var(--font-cond); letter-spacing: .14em; text-transform: uppercase; color: var(--rd-mu); }
.rd-step { display: flex; gap: 14px; align-items: flex-start; }
.rd-step b { display: block; }
.rd-step > div > span { display: block; color: var(--rd-mu); font-size: 15px; }
.rd-stepn { width: 34px; height: 34px; border-radius: 50%; border: 1.5px solid var(--rd-green); color: var(--rd-green); font: 700 16px var(--font-cond); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rd-b2b-contact { border-top: 1px solid var(--rd-line); padding-top: 18px; display: flex; align-items: center; gap: 14px; color: var(--rd-mu); font-size: 15px; }
.rd-b2b-contact b { color: var(--rd-tx); display: block; }
@media (max-width: 960px) { .rd-b2b-in { grid-template-columns: 1fr; gap: 36px; padding: 56px 0 64px; } .rd-b2b-list { grid-template-columns: 1fr; } .rd-b2b { margin-top: 64px; } }

/* Outlet */
.rd-outlet { position: relative; border-radius: 20px; overflow: hidden; border: 1px solid var(--rd-line); min-height: 340px; display: flex; align-items: center; }
.rd-outlet > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rd-outlet::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(5,5,8,.96) 0%, rgba(5,5,8,.85) 42%, rgba(5,5,8,.2) 100%); }
.rd-outlet-c { position: relative; z-index: 2; padding: 48px 56px; max-width: 680px; display: flex; flex-direction: column; gap: 16px; }
.rd-outlet-c h2 { font-size: clamp(32px, 3.8vw, 52px); }
.rd-outlet-c p { margin: 0; color: var(--rd-mu); font-size: 17px; }
@media (max-width: 700px) { .rd-outlet-c { padding: 32px 24px; } .rd-outlet::before { background: linear-gradient(180deg, rgba(5,5,8,.7), rgba(5,5,8,.95)); } }

/* Services */
.rd-svcs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.rd-svc { background: var(--rd-s1); border: 1px solid var(--rd-line); border-radius: 16px; padding: 28px; display: flex; flex-direction: column; gap: 12px; text-decoration: none; color: var(--rd-tx); transition: border-color .2s; text-align: left; font: inherit; cursor: pointer; }
html.dark-mode a.rd-svc { color: var(--rd-tx); }
.rd-svc:hover, html.dark-mode a.rd-svc:hover { border-color: rgba(193,255,114,.55); color: var(--rd-tx); }
.rd-svc .rd-cico { width: 52px; height: 52px; }
.rd-svc h3 { margin: 6px 0 0; font: 700 21px var(--font); color: var(--rd-tx); }
.rd-svc p { margin: 0; color: var(--rd-mu); font-size: 15.5px; }
.rd-svc .rd-lnk { margin-top: auto; padding-top: 6px; }
@media (max-width: 1100px) { .rd-svcs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .rd-svcs { grid-template-columns: 1fr; gap: 12px; } .rd-svc { padding: 22px; } }

/* Blog */
.rd-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.rd-post { background: var(--rd-s1); border: 1px solid var(--rd-line); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; text-decoration: none; color: var(--rd-tx); transition: border-color .2s; }
html.dark-mode a.rd-post { color: var(--rd-tx); }
.rd-post:hover, html.dark-mode a.rd-post:hover { border-color: rgba(193,255,114,.55); color: var(--rd-tx); }
.rd-post-img { height: 190px; position: relative; background: radial-gradient(circle at 80% 20%, rgba(193,255,114,.28), transparent 55%), linear-gradient(135deg, #132016, #0D140F); border-bottom: 1px solid var(--rd-line); overflow: hidden; }
.rd-post-img img { width: 100%; height: 100%; object-fit: cover; opacity: .9; }
.rd-post-b { padding: 22px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.rd-post-b time { font-size: 13.5px; color: var(--rd-mu); }
.rd-post-b h3 { margin: 0; font: 700 20px/1.3 var(--font); color: var(--rd-tx); }
.rd-post-b p { margin: 0; color: var(--rd-mu); font-size: 15px; }
.rd-post-b .rd-lnk { margin-top: auto; }
@media (max-width: 960px) { .rd-posts { grid-template-columns: 1fr; } }

/* Community */
.rd-comm { border-radius: 20px; background: linear-gradient(120deg, rgba(193,255,114,.16), rgba(193,255,114,.03) 60%), var(--rd-s1); border: 1px solid rgba(193,255,114,.35); display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 36px 44px; flex-wrap: wrap; margin-bottom: 96px; }
.rd-comm h2 { font-size: 34px; }
.rd-comm p { margin: 8px 0 0; color: var(--rd-mu); font-size: 16.5px; }
.rd-soc { height: 52px; padding: 0 20px; border-radius: 12px; border: 1px solid var(--rd-line2); display: inline-flex; align-items: center; gap: 10px; font-weight: 700; color: var(--rd-tx); text-decoration: none; background: var(--rd-s2); }
html.dark-mode a.rd-soc { color: var(--rd-tx); }
.rd-soc:hover, html.dark-mode a.rd-soc:hover { border-color: var(--rd-green); color: var(--rd-green); }
@media (max-width: 700px) { .rd-comm { padding: 28px 22px; margin-bottom: 64px; } .rd-comm .rd-social { width: 100%; } .rd-soc { flex: 1 1 calc(50% - 6px); justify-content: center; } }

@media (max-width: 700px) { .rd-sec { padding-top: 56px; } .rd-sec-head { margin-bottom: 22px; } }

/* ============================================================
   6. PRODUKTKARTEN (Startseite, Shop, Kategorien)
   ============================================================ */
html.dark-mode .product-grid { gap: 24px; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
html.dark-mode .product-card { background: var(--rd-s1); border: 1px solid var(--rd-line); border-radius: 14px; transition: border-color .2s, box-shadow .2s; }
html.dark-mode .product-card:hover { border-color: rgba(193,255,114,.55); box-shadow: var(--rd-glow); }
html.dark-mode .product-card > a,
html.dark-mode .product-card .bloom-wl-img-wrap { background: #F4F6F1; }
html.dark-mode .product-card .bloom-wl-img-wrap > a { display: block; aspect-ratio: 1 / .86; overflow: hidden; background: #F4F6F1; }
html.dark-mode .product-card img { filter: none !important; mix-blend-mode: multiply; object-fit: contain; padding: 18px; background: transparent; width: 100%; height: 100%; }
html.dark-mode .product-card .product-body { padding: 16px 18px 18px; gap: 6px; }
html.dark-mode .product-card .sku { font: 600 12.5px var(--font); letter-spacing: .02em; color: var(--rd-mu2); margin: 0; }
html.dark-mode .product-card h3 { font: 600 16.5px/1.35 var(--font); color: var(--rd-tx); margin: 0; min-height: 44px; }
html.dark-mode .product-card h3 a { color: var(--rd-tx); }
html.dark-mode .product-card h3 a:hover { color: var(--rd-green); }
html.dark-mode .product-card .price { font: 700 24px/1.1 var(--font-cond); color: var(--rd-tx); margin: 8px 0 12px; letter-spacing: .01em; }
html.dark-mode .product-card .price del { color: var(--rd-mu2); font-size: 16px; font-weight: 600; }
html.dark-mode .product-card .price ins { text-decoration: none; color: var(--rd-red); }
html.dark-mode .product-card .price small { font: 500 12px var(--font); color: var(--rd-mu2); }
html.dark-mode .btn-cart { background: var(--rd-green); color: var(--rd-ink); border: 0; border-radius: 10px; min-height: 46px; font: 700 15px var(--font); width: 100%; cursor: pointer; }
html.dark-mode .bloom-stock-lbl { color: var(--rd-mu2); }
html.dark-mode .bloom-wl-btn--card { background: rgba(255,255,255,.92); color: #2e2a38; }
html.dark-mode .sale-badge { background: var(--rd-red); color: #1a0509; }

/* WooCommerce Sortierung / Pagination / Ergebniszahl */
html.dark-mode .woocommerce-ordering select,
html.dark-mode .bloom-select__btn { background-color: var(--rd-s1); border-color: var(--rd-line2); color: var(--rd-tx); }
html.dark-mode .bloom-select__list { background: var(--rd-s1); border-color: var(--rd-line2); }
html.dark-mode .page-numbers { color: var(--rd-tx); border-color: var(--rd-line2); }
html.dark-mode .page-numbers.current { background: var(--rd-green); color: var(--rd-ink); border-color: var(--rd-green); }
html.dark-mode .woocommerce-result-count { color: var(--rd-mu); }

/* ============================================================
   7. KATEGORIE-/SHOP-KOPF (bestehende Templates)
   ============================================================ */
html.dark-mode .bloom-cat-intro { color: var(--rd-mu); font-size: 16.5px; }
html.dark-mode .bloom-cat-text { background: var(--rd-bg); border-top-color: var(--rd-line); }
html.dark-mode .bloom-cat-text .bct-inner { color: var(--rd-mu); }
html.dark-mode .bloom-cat-text h2 { color: var(--rd-tx); font-family: var(--font-display); font-weight: 400; text-transform: uppercase; letter-spacing: .01em; font-size: 30px; }
html.dark-mode .bloom-cat-text h3 { color: var(--rd-tx); }
html.dark-mode .bloom-cat-text details { background: var(--rd-s1); border-color: var(--rd-line); }
html.dark-mode .bloom-cat-text summary { color: var(--rd-tx); }
html.dark-mode .subcat-card { background: var(--rd-s1); border-color: var(--rd-line); color: var(--rd-tx); }
html.dark-mode .subcat-card:hover { border-color: rgba(193,255,114,.55); background: var(--rd-s2); }
html.dark-mode .subcat-card .subcat-initial,
html.dark-mode .subcat-card .subcat-initial.subcat-emoji { background: rgba(193,255,114,.12); color: var(--rd-green); box-shadow: none; }
html.dark-mode .subcat-heading { color: var(--rd-mu); }
html.dark-mode .subcat-logo { background: #F4F6F1; border-radius: 10px; padding: 6px; }

/* ============================================================
   8. EINZELPRODUKT / WARENKORB / KASSE / KONTO
   ============================================================ */
html.dark-mode .sp-main-image, html.dark-mode .sp-thumb,
html.dark-mode .woocommerce-product-gallery__image { background: #F4F6F1 !important; }
html.dark-mode .sp-main-image img, html.dark-mode .sp-thumb img,
html.dark-mode .woocommerce-product-gallery__image img,
html.dark-mode .woocommerce-product-gallery .flex-viewport img { filter: none !important; mix-blend-mode: multiply; }
html.dark-mode td.product-thumbnail img { filter: none !important; background: #F4F6F1; border-radius: 8px; }
html.dark-mode .woocommerce-message, html.dark-mode .woocommerce-info, html.dark-mode .woocommerce-error { background: var(--rd-s1); color: var(--rd-tx); border-color: var(--rd-green); }
html.dark-mode .woocommerce-error { border-color: var(--rd-red); }
html.dark-mode .select2-container--default .select2-selection--single,
html.dark-mode .select2-dropdown { background: var(--rd-bg); border-color: var(--rd-line2); color: var(--rd-tx); }
html.dark-mode .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--rd-tx); }
html.dark-mode .select2-results__option { color: var(--rd-tx); }
html.dark-mode .select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--rd-green); color: var(--rd-ink); }

/* ============================================================
   9. FOOTER
   ============================================================ */
html.dark-mode .rd-footer { background: #050507; border-top: 1px solid var(--rd-line); color: var(--rd-mu); }
.rd-ft-grid { padding: 64px 0 0; display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(4, minmax(0, 1fr)); gap: 48px; }
.rd-linkbtn { background: none; border: 0; padding: 0; font: inherit; font-size: 15px; color: var(--rd-mu); cursor: pointer; text-align: left; }
.rd-linkbtn:hover { color: var(--rd-green); }
.rd-ft-brand { display: flex; flex-direction: column; gap: 18px; }
.rd-ft-brand img { height: 80px; width: auto; align-self: flex-start; filter: drop-shadow(0 0 18px rgba(193,255,114,.22)); }
.rd-ft-brand p { margin: 0; font-size: 15px; max-width: 320px; }
.rd-ft-contact { display: flex; flex-direction: column; gap: 8px; font-size: 15px; }
.rd-ft-contact a, html.dark-mode .rd-ft-contact a { display: inline-flex; gap: 10px; align-items: center; color: var(--rd-tx); text-decoration: none; }
.rd-ft-col h4 { margin: 0 0 16px; font: 700 14px var(--font-cond); letter-spacing: .18em; text-transform: uppercase; color: var(--rd-tx); }
.rd-ft-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.rd-ft-col a, html.dark-mode .rd-ft-col a { color: var(--rd-mu); text-decoration: none; font-size: 15px; }
.rd-ft-col a:hover, html.dark-mode .rd-ft-col a:hover { color: var(--rd-green); }
.rd-ft-bottom { margin-top: 48px; padding: 22px 0 28px; border-top: 1px solid var(--rd-line); display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 14px; color: var(--rd-mu2); flex-wrap: wrap; }
.rd-ft-bottom a, html.dark-mode .rd-ft-bottom a { color: var(--rd-mu); }
.rd-pay { display: flex; gap: 8px; flex-wrap: wrap; }
.rd-pay span { height: 30px; padding: 0 10px; border-radius: 6px; border: 1px solid var(--rd-line2); display: inline-flex; align-items: center; font: 700 12.5px var(--font); color: var(--rd-mu); }
html.dark-mode .rd-footer .footer-cookie-settings a,
html.dark-mode .rd-footer .footer-cookie-settings .cmplz-manage-consent { color: var(--rd-mu) !important; background: none; border: 0; padding: 0; font: inherit; cursor: pointer; }
@media (max-width: 1000px) { .rd-ft-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; } .rd-ft-brand { grid-column: 1 / -1; } }
@media (max-width: 520px) { .rd-ft-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; padding-top: 40px; } .rd-ft-brand img { height: 60px; } }

/* Modals (Beratung, Vorbestellen, Widerruf) */
html.dark-mode .consulting-modal { background: var(--rd-s1); border: 1px solid var(--rd-line2); color: var(--rd-tx); }
html.dark-mode .consulting-overlay { background: rgba(0,0,0,.7); }
html.dark-mode .consulting-header h2 { color: var(--rd-tx); }
html.dark-mode .consulting-header p { color: var(--rd-mu); }
html.dark-mode .consulting-close { color: var(--rd-tx); }

/* Complianz-Banner an den dunklen Look anpassen */
html.dark-mode .cmplz-cookiebanner { background: var(--rd-s1) !important; color: var(--rd-tx) !important; border: 1px solid var(--rd-line2) !important; }
html.dark-mode .cmplz-cookiebanner .cmplz-title, html.dark-mode .cmplz-cookiebanner .cmplz-message, html.dark-mode .cmplz-cookiebanner .cmplz-message p { color: var(--rd-tx) !important; }
html.dark-mode .cmplz-cookiebanner .cmplz-btn.cmplz-accept { background: var(--rd-green) !important; border-color: var(--rd-green) !important; color: var(--rd-ink) !important; }
html.dark-mode .cmplz-cookiebanner .cmplz-btn.cmplz-deny, html.dark-mode .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences, html.dark-mode .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences { background: transparent !important; border-color: var(--rd-line2) !important; color: var(--rd-tx) !important; }
html.dark-mode .cmplz-cookiebanner a { color: var(--rd-green) !important; }
html.dark-mode .cmplz-cookiebanner .cmplz-categories .cmplz-category { background: var(--rd-bg) !important; }

@media (prefers-reduced-motion: reduce) {
  .rd-slide, .rd-tile img, .rd-dd-panel { transition: none !important; }
}

/* ============================================================
   10. B2B-LOGIN (redesign/login.php)
   ============================================================ */
.rd-login { position: relative; padding: 64px 0 96px; overflow: hidden; }
.rd-login-glow { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse 40% 60% at 20% 30%, rgba(193,255,114,.13), transparent 62%), radial-gradient(ellipse 40% 60% at 85% 70%, rgba(255,201,51,.06), transparent 60%); }
.rd-login-in { position: relative; display: grid; grid-template-columns: 540px minmax(0, 1fr); gap: 72px; align-items: start; }
.rd-login-card { background: var(--rd-s1); border: 1px solid var(--rd-line2); border-radius: 20px; padding: 44px; display: flex; flex-direction: column; gap: 20px; box-shadow: 0 30px 70px rgba(0,0,0,.45); margin: 0; }
.rd-login-card h1 { font-size: 60px; }
.rd-login-sub { margin: -6px 0 4px; color: var(--rd-mu); font-size: 16.5px; }
.rd-alert { border: 1px solid rgba(255,92,122,.5); background: rgba(255,92,122,.08); color: #ffb3c2; border-radius: 10px; padding: 12px 14px; font-size: 15px; }
.rd-field { display: flex; flex-direction: column; gap: 7px; }
.rd-field label { font-weight: 600; font-size: 14.5px; color: var(--rd-tx); }
.rd-field-row { display: flex; justify-content: space-between; align-items: baseline; }
.rd-field-row a { font-size: 14.5px; font-weight: 600; }
html.dark-mode .rd-field input { height: 52px; border-radius: 10px; border: 1.5px solid var(--rd-line2); background: var(--rd-bg); color: var(--rd-tx); font: 500 16px var(--font); padding: 0 16px; width: 100%; outline: 0; transition: border-color .2s, box-shadow .2s; }
html.dark-mode .rd-field input:focus { border-color: var(--rd-green); box-shadow: 0 0 0 4px rgba(193,255,114,.16); }
.rd-pw { position: relative; }
html.dark-mode .rd-pw input { padding-right: 56px; }
.rd-pw-toggle { position: absolute; right: 4px; top: 4px; width: 44px; height: 44px; border: 0; background: transparent; color: var(--rd-mu); border-radius: 8px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.rd-pw-toggle:hover, .rd-pw-toggle[aria-pressed=true] { color: var(--rd-green); }
.rd-check { display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--rd-tx); cursor: pointer; }
.rd-check input { width: 18px; height: 18px; accent-color: var(--rd-green); margin: 0; }
.rd-btn-block { width: 100%; min-height: 56px; font-size: 17px; }
.rd-or { display: flex; align-items: center; gap: 14px; color: var(--rd-mu2); font-size: 14px; }
.rd-or::before, .rd-or::after { content: ""; flex: 1; height: 1px; background: var(--rd-line2); }
.rd-login-alt { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rd-login-info { display: flex; flex-direction: column; gap: 22px; padding-top: 8px; }
.rd-login-info h2 { font-size: clamp(40px, 4.4vw, 60px); }
.rd-login-lead { margin: 0; color: var(--rd-mu); font-size: 18px; max-width: 620px; }
.rd-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.rd-benefit { background: var(--rd-s2); border: 1px solid var(--rd-line); border-radius: 14px; padding: 18px; display: flex; flex-direction: column; gap: 8px; }
.rd-benefit b { font-size: 16px; }
.rd-benefit > span:last-child { color: var(--rd-mu); font-size: 14.5px; }
.rd-login-steps { display: flex; gap: 28px; flex-wrap: wrap; }
.rd-login-cta { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.rd-login-cta > span { font-size: 14.5px; color: var(--rd-mu); }
.rd-login-cta > span a { color: var(--rd-tx); font-weight: 600; }
@media (max-width: 1100px) { .rd-login-in { grid-template-columns: minmax(0, 1fr); gap: 48px; } .rd-login-card { max-width: 560px; } }
@media (max-width: 560px) { .rd-login { padding: 28px 0 64px; } .rd-login-card { padding: 28px 20px; } .rd-login-card h1 { font-size: 44px; } .rd-benefits, .rd-login-alt { grid-template-columns: 1fr; } }

/* ============================================================
   11. GLOBALE LAYOUT-ANGLEICHUNG
   ============================================================ */
html.dark-mode .container { max-width: 1320px; padding-left: 40px; padding-right: 40px; }
@media (max-width: 900px) { html.dark-mode .container { padding-left: 20px; padding-right: 20px; } }
@media (max-width: 480px) { html.dark-mode .container { padding-left: 16px; padding-right: 16px; } }
html.dark-mode h1.section-title { font-size: clamp(40px, 5vw, 72px); line-height: 1; margin-bottom: 8px !important; }

/* ============================================================
   12. MARKENSEITE (page-marken.php, Inline-Styles überschreiben)
   ============================================================ */
html.dark-mode .brand-search { background: var(--rd-s1) !important; border-color: var(--rd-line2) !important; color: var(--rd-tx); }
html.dark-mode .brand-search:focus { border-color: var(--rd-green) !important; box-shadow: 0 0 0 4px rgba(193,255,114,.14) !important; }
html.dark-mode .brand-total { color: var(--rd-mu) !important; }
html.dark-mode .az-nav { background: rgba(7,7,10,.92) !important; border-color: var(--rd-line) !important; top: 136px !important; }
html.dark-mode .az-letter { background: var(--rd-s2) !important; color: var(--rd-green) !important; }
html.dark-mode .az-letter:hover { background: var(--rd-green) !important; color: var(--rd-ink) !important; }
html.dark-mode .az-letter.az-empty { background: transparent !important; color: #45404f !important; }
html.dark-mode .brand-letter-head { color: var(--rd-tx) !important; border-bottom-color: var(--rd-line) !important; font-family: var(--font-display); font-weight: 400; letter-spacing: .02em; }
html.dark-mode .brand-card { background: var(--rd-s1); border-color: var(--rd-line); }
html.dark-mode .brand-card:hover { border-color: rgba(193,255,114,.55); box-shadow: var(--rd-glow); }
html.dark-mode .brand-logo { background: #F4F6F1; border-radius: 8px; padding: 6px; }
html.dark-mode .brand-name { color: var(--rd-tx); }
html.dark-mode .brand-initial { background: rgba(193,255,114,.12) !important; color: var(--rd-green) !important; }
html.dark-mode .brand-noresults { color: var(--rd-mu) !important; }
@media (max-width: 1100px) { html.dark-mode .az-nav { top: var(--rd-hd-h, 124px) !important; } }

/* Mobile-Menü: Gruppen bündig, Menü-Symbol wird zum X */
html.dark-mode .mobile-nav-group-btn { display: flex; align-items: center; gap: 10px; width: 100%; padding: 13px 14px; border: 0; background: none; border-radius: 10px; cursor: pointer; text-align: left; }
html.dark-mode .mobile-nav-chevron { margin-left: auto; transition: transform .2s; }
html.dark-mode .mobile-nav-chevron.is-open { transform: rotate(180deg); }
html.dark-mode .mobile-nav-sub { padding: 2px 0 6px 44px; }
html.dark-mode .mobile-nav-sub a { padding: 9px 12px; font-size: 15px; font-weight: 500; color: var(--rd-mu); }
.rd-header .menu-toggle .rd-ic-x { display: none; }
.rd-header .menu-toggle.is-open .rd-ic-x { display: block; }
.rd-header .menu-toggle.is-open .rd-ic-menu { display: none; }
.rd-header .menu-toggle.is-open { border-color: var(--rd-green); color: var(--rd-green); }
@media (max-width: 400px) { .rd-hero-title { font-size: 38px; } .rd-slide h2.rd-hero-title { font-size: 36px; } }

/* Produktraster auf dem Handy zweispaltig */
.rd-tabs .rd-more { margin-left: 14px; }
@media (max-width: 700px) { .rd-tabs .rd-more { margin-left: 0; } }
@media (max-width: 600px) {
  html.dark-mode .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  html.dark-mode .product-card .product-body { padding: 10px 11px 12px; }
  html.dark-mode .product-card img { padding: 10px; }
  html.dark-mode .product-card h3 { font-size: 14px; min-height: 38px; }
  html.dark-mode .product-card .sku { font-size: 11px; }
  html.dark-mode .product-card .price { font-size: 19px; margin: 6px 0 10px; }
  html.dark-mode .btn-cart { min-height: 42px; font-size: 13.5px; padding: 0 6px; }
  html.dark-mode .bloom-dual-stock--compact .bloom-stock-lbl { min-width: 0; margin-right: 4px; }
  html.dark-mode .bloom-stock-row { flex-wrap: wrap; }
}

/* Sicherheitsnetz gegen seitliches Scrollen (clip statt hidden: sticky Header bleibt intakt) */
html.dark-mode body { overflow-x: clip; }

/* ============================================================
   13. B2B-REGISTRIERUNG (page-registrierung.php)
   ============================================================ */
html.dark-mode .reg-hero { background: radial-gradient(ellipse 45% 90% at 85% 0%, rgba(255,201,51,.08), transparent 60%), radial-gradient(ellipse 50% 90% at 10% 100%, rgba(193,255,114,.12), transparent 60%), var(--rd-bg); border-bottom: 1px solid var(--rd-line); color: var(--rd-tx); }
html.dark-mode .reg-hero h1 { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; letter-spacing: .005em; font-size: clamp(40px, 5vw, 64px); line-height: 1; color: var(--rd-tx); }
html.dark-mode .reg-hero p { color: var(--rd-mu); font-size: 17px; opacity: 1; max-width: 620px; }
html.dark-mode .reg-form-wrap { background: var(--rd-s1); border-color: var(--rd-line2); border-radius: 20px; box-shadow: 0 30px 70px rgba(0,0,0,.4); }
html.dark-mode .reg-form h2 { font: 700 13.5px var(--font-cond); letter-spacing: .16em; text-transform: uppercase; color: var(--rd-green); border-bottom-color: var(--rd-line); }
html.dark-mode .reg-errors { background: rgba(255,92,122,.08); border-color: rgba(255,92,122,.5); color: #ffb3c2; }
html.dark-mode .reg-info-box { background: var(--rd-s1); border-color: var(--rd-line); border-radius: 16px; }
html.dark-mode .reg-info-box h3 { color: var(--rd-tx); }
html.dark-mode .reg-info-box li, html.dark-mode .reg-info-box p { color: var(--rd-mu); }
html.dark-mode .reg-contact a { color: var(--rd-green); font-weight: 600; }

/* ============================================================
   14. SHOP / KATEGORIE MIT FILTER-LEISTE (redesign/archive.php)
   ============================================================ */
.rd-archive-head { position: relative; padding: 32px 0 30px; border-bottom: 1px solid var(--rd-line); overflow: hidden; }
.rd-archive-glow { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse 45% 90% at 88% 0%, rgba(193,255,114,.16), transparent 60%); }
.rd-archive-head .rd-container { position: relative; display: flex; flex-direction: column; gap: 16px; }
.rd-crumbs { font-size: 14px; color: var(--rd-mu2); display: flex; flex-wrap: wrap; gap: 8px; }
html.dark-mode .rd-crumbs a { color: var(--rd-mu); }
html.dark-mode .rd-crumbs a:hover { color: var(--rd-green); }
.rd-crumbs [aria-current] { color: var(--rd-tx); }
.rd-archive-title { display: flex; align-items: flex-end; gap: 18px; flex-wrap: wrap; }
.rd-archive-title h1 { font-size: clamp(38px, 5.4vw, 76px); }
.rd-count { height: 34px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--rd-line2); display: inline-flex; align-items: center; font-weight: 600; font-size: 14px; color: var(--rd-mu); margin-bottom: 8px; }
.rd-archive-intro { max-width: 880px; color: var(--rd-mu); font-size: 16.5px; }
.rd-archive-intro p { margin: 0 0 6px; }
.rd-archive-intro strong { color: var(--rd-tx); }
.rd-subcats { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 4px; }
.rd-subcat { min-height: 60px; background: var(--rd-s1); border: 1px solid var(--rd-line); border-radius: 12px; display: inline-flex; align-items: center; gap: 12px; padding: 8px 16px 8px 10px; text-decoration: none; color: var(--rd-tx); transition: border-color .2s, background .2s; }
html.dark-mode a.rd-subcat { color: var(--rd-tx); }
.rd-subcat:hover, html.dark-mode a.rd-subcat:hover { border-color: rgba(193,255,114,.55); background: var(--rd-s2); color: var(--rd-tx); }
.rd-subcat b { display: block; font-size: 15px; line-height: 1.2; }
.rd-subcat small { display: block; color: var(--rd-mu2); font-size: 12.5px; }
.rd-subcat-img { width: 42px; height: 42px; border-radius: 8px; background: #F4F6F1; display: flex; align-items: center; justify-content: center; overflow: hidden; flex-shrink: 0; }
.rd-subcat-img img { width: 36px; height: 36px; object-fit: contain; }
.rd-subcat-dot { width: 42px; height: 42px; border-radius: 8px; background: rgba(193,255,114,.12); flex-shrink: 0; position: relative; }
.rd-subcat-dot::after { content: ""; position: absolute; inset: 15px; border-radius: 50%; background: var(--rd-green); box-shadow: 0 0 12px rgba(193,255,114,.6); }

.rd-shop { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 36px; padding-top: 32px; padding-bottom: 80px; align-items: start; }
.rd-filter { position: sticky; top: 140px; }
.rd-filter > summary { display: none; }
.rd-filter-box { background: var(--rd-s1); border: 1px solid var(--rd-line); border-radius: 16px; padding: 18px 20px 8px; max-height: calc(100vh - 160px); overflow-y: auto; scrollbar-width: thin; }
.rd-filter-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 12px; font-size: 17px; }
.rd-filter-head a { font-size: 14px; font-weight: 600; }
.rd-fgrp { border-top: 1px solid var(--rd-line); padding: 16px 0; display: flex; flex-direction: column; gap: 4px; }
.rd-fgrp h2 { margin: 0 0 6px; font: 700 13.5px var(--font-cond); letter-spacing: .16em; text-transform: uppercase; color: var(--rd-tx); }
.rd-opt { display: flex; align-items: center; gap: 10px; padding: 7px 8px; margin: 0 -8px; border-radius: 8px; color: var(--rd-tx); font-size: 15px; text-decoration: none; line-height: 1.3; }
html.dark-mode a.rd-opt { color: var(--rd-tx); }
.rd-opt:hover, html.dark-mode a.rd-opt:hover { background: var(--rd-s2); color: var(--rd-tx); }
.rd-opt em { margin-left: auto; font-style: normal; color: var(--rd-mu2); font-size: 13px; }
.rd-opt.is-on, html.dark-mode a.rd-opt.is-on { color: var(--rd-green); }
html.dark-mode a.rd-opt-up { color: var(--rd-mu); }
.rd-radio, .rd-box { width: 18px; height: 18px; border: 1.5px solid var(--rd-line2); flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; }
.rd-radio { border-radius: 50%; }
.rd-box { border-radius: 5px; }
.rd-opt.is-on .rd-radio { border-color: var(--rd-green); box-shadow: inset 0 0 0 4px var(--rd-s1); background: var(--rd-green); }
.rd-opt.is-on .rd-box { border-color: var(--rd-green); background: var(--rd-green); }
.rd-opt.is-on .rd-box::after { content: ""; width: 9px; height: 5px; border-left: 2px solid var(--rd-ink); border-bottom: 2px solid var(--rd-ink); transform: rotate(-45deg) translate(1px, -1px); }
.rd-more-brands summary { cursor: pointer; font-weight: 600; font-size: 14.5px; color: var(--rd-green); padding: 6px 0; list-style: none; }
.rd-more-brands summary::-webkit-details-marker { display: none; }
.rd-more-brands[open] summary { display: none; }
.rd-price { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rd-price label { display: flex; flex-direction: column; gap: 5px; font-size: 13px; color: var(--rd-mu); }
html.dark-mode .rd-price input { height: 42px; border-radius: 10px; border: 1.5px solid var(--rd-line2); background: var(--rd-bg); color: var(--rd-tx); padding: 0 10px; font: 500 15px var(--font); width: 100%; }
.rd-price button { grid-column: 1 / -1; }

.rd-results { min-width: 0; }
.rd-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.rd-toolbar-l { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.rd-toolbar-l b { font-size: 17px; margin-right: 4px; }
.rd-chip { height: 34px; padding: 0 10px 0 12px; border-radius: 999px; border: 1px solid rgba(193,255,114,.6); background: rgba(193,255,114,.12); color: var(--rd-green); display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; text-decoration: none; }
html.dark-mode a.rd-chip { color: var(--rd-green); }
.rd-reset { font-size: 14px; font-weight: 600; }
.rd-toolbar-r .woocommerce-ordering { margin: 0; }
html.dark-mode .rd-toolbar-r select.orderby { height: 44px; border-radius: 10px; border: 1px solid var(--rd-line2); background-color: var(--rd-s1); color: var(--rd-tx); font: 600 14.5px var(--font); padding: 0 36px 0 12px; }
.rd-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important; }
.rd-pages { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: 40px; }
.rd-pages-info { font-size: 14px; color: var(--rd-mu); }
.rd-pages > div { display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; }
html.dark-mode .rd-pages .page-numbers { min-width: 42px; height: 42px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--rd-line2); display: inline-flex; align-items: center; justify-content: center; color: var(--rd-tx); font-weight: 600; text-decoration: none; }
html.dark-mode .rd-pages a.page-numbers:hover { border-color: var(--rd-green); color: var(--rd-green); }
html.dark-mode .rd-pages .page-numbers.current { background: var(--rd-green); border-color: var(--rd-green); color: var(--rd-ink); }
html.dark-mode .rd-pages .page-numbers.dots { border: 0; min-width: 20px; }
.rd-empty { text-align: center; padding: 64px 20px; border: 1px dashed var(--rd-line2); border-radius: 16px; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.rd-empty h2 { font-size: 40px; }
.rd-empty p { margin: 0; color: var(--rd-mu); }
html.dark-mode .bloom-cat-text .rd-container .bct-inner { max-width: 880px; }

@media (max-width: 900px) {
  .rd-shop { grid-template-columns: minmax(0, 1fr); gap: 16px; padding-top: 18px; }
  .rd-filter { position: static; }
  .rd-filter > summary { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 16px; border-radius: 10px; border: 1px solid var(--rd-line2); font-weight: 700; cursor: pointer; list-style: none; }
  .rd-filter > summary::-webkit-details-marker { display: none; }
  .rd-filter[open] > summary { border-color: var(--rd-green); color: var(--rd-green); margin-bottom: 12px; }
  .rd-filter-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--rd-green); }
  .rd-filter-box { max-height: none; }
  .rd-subcats { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; }
  .rd-subcats::-webkit-scrollbar { display: none; }
  .rd-subcat { flex-shrink: 0; }
  .rd-toolbar-r { width: 100%; }
  html.dark-mode .rd-toolbar-r select.orderby { width: 100%; }
}
@media (max-width: 600px) { .rd-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }

/* 404 */
.rd-404 { position: relative; padding: 72px 0 96px; overflow: hidden; }
.rd-404-in { position: relative; display: flex; flex-direction: column; gap: 20px; }
.rd-404 h1 { font-size: clamp(44px, 6vw, 88px); }
.rd-404-text { margin: 0; color: var(--rd-mu); font-size: 18px; max-width: 640px; }
.rd-404-search { max-width: 720px; flex: none; }
.rd-404-cats { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 12px 0 8px; }
@media (max-width: 900px) { .rd-404-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rd-404-search .rd-search-go { display: inline-flex; align-items: center; } }


/* ============ Cali Family: eigene Bausteine & Feinschliff (deploy/cali-rd.css) ============ */
/* ------------------------------------------------------------
   Cali Family: Ergaenzungen zum Kit (wird von build_redesign.py angehaengt)
   Logo-Farben: Neon-Gruen #C1FF72 (Akzent) · Lila #8E55FF (Marke/Glow) · Hell-Lila #B48CFF (Hover/Eyebrow)
   ------------------------------------------------------------ */
html.dark-mode {
  --rd-lila: #8E55FF;
  --rd-lila-lt: #B48CFF;
  --rd-glow: 0 0 0 1px rgba(193,255,114,.22), 0 16px 40px rgba(0,0,0,.5), 0 0 44px rgba(142,85,255,.18);
}
html.dark-mode ::selection { background: rgba(142,85,255,.55); color: #fff; }

/* Logo (rundes Badge) */
.rd-logo img { height: 58px; width: 58px; border-radius: 50%; filter: drop-shadow(0 0 16px rgba(142,85,255,.45)); transition: filter .25s, transform .25s; }
.rd-logo:hover img { filter: drop-shadow(0 0 22px rgba(193,255,114,.45)); transform: rotate(-4deg); }
@media (max-width: 1100px) { .rd-logo img { height: 46px; width: 46px; } }
.rd-ft-brand img { height: 96px; width: 96px; border-radius: 50%; filter: drop-shadow(0 0 22px rgba(142,85,255,.4)); }

/* Lila als Zweitfarbe */
.rd-eyebrow { color: var(--rd-lila-lt); }
.rd-hero-title span, .rd-outlet-c h2 span { color: var(--rd-green); text-shadow: 0 0 36px rgba(142,85,255,.65), 0 0 90px rgba(142,85,255,.35); }
.rd-slide-glow { background: radial-gradient(ellipse 55% 75% at 78% 25%, rgba(142,85,255,.26), transparent 62%), radial-gradient(ellipse 45% 55% at 8% 100%, rgba(193,255,114,.08), transparent 60%); }
.rd-hero-bars button.is-active::before { background: linear-gradient(90deg, var(--rd-green), var(--rd-lila)); }
.rd-tile-c .rd-num { color: var(--rd-lila-lt); }
.rd-tile:hover, html.dark-mode a.rd-tile:hover { border-color: rgba(142,85,255,.7); box-shadow: 0 0 44px rgba(142,85,255,.25); }
.rd-cat:hover, html.dark-mode a.rd-cat:hover,
.rd-brand:hover, html.dark-mode a.rd-brand:hover,
.rd-svc:hover, html.dark-mode a.rd-svc:hover { border-color: rgba(142,85,255,.6); }
.rd-brand:hover img { filter: drop-shadow(0 0 14px rgba(142,85,255,.55)); }
html.dark-mode .product-card:hover { border-color: rgba(142,85,255,.6); box-shadow: var(--rd-glow); }
.rd-checker { background-image: conic-gradient(var(--rd-green) 0 25%, transparent 0 50%, var(--rd-lila) 0 75%, transparent 0); opacity: .85; }
.rd-comm { background: linear-gradient(120deg, rgba(142,85,255,.22), rgba(193,255,114,.05) 60%), var(--rd-s1); border-color: rgba(142,85,255,.4); }
html.dark-mode a:hover { color: var(--rd-lila-lt); }

/* Navigation: „Vor Ort" hervorheben */
.rd-nl--vor .rd-i-s { color: var(--rd-green); }
/* Sale direkt hinter „Service" statt ganz rechts (User-Wunsch 29.09.) */
.rd-nl--sale, html.dark-mode a.rd-nl--sale { margin-left: 0; }
.rd-dd-panel a .rd-i-s { color: var(--rd-lila-lt); }

/* Aktions-Laufband (Cali_Sections::ticker) im neuen Look */
html.dark-mode .cali-ticker { background: #050507; border-bottom: 1px solid var(--rd-line); font: 700 12.5px/1 var(--font-cond); letter-spacing: .14em; }
html.dark-mode .cali-ticker__item, html.dark-mode .cali-ticker__item a { color: var(--rd-mu); }
html.dark-mode .cali-ticker__item a:hover { color: var(--rd-green); text-shadow: none; }
html.dark-mode .cali-ticker__item + .cali-ticker__item::before { content: "✦"; color: var(--rd-lila); margin-right: 46px; }

/* Ueberschriften der bestehenden Seiten: ruhig wie im Kit statt Neon-Verlauf */
html.dark-mode .section-title, html.dark-mode .hero-title {
  background: none; -webkit-background-clip: border-box; background-clip: border-box;
  color: var(--rd-tx); -webkit-text-fill-color: currentColor; filter: none; letter-spacing: .01em;
}

/* Preise: Barlow Condensed, Akzent nur in Karten-Hover/Angebot */
html.dark-mode .single-product .price, html.dark-mode .summary .price { font-family: var(--font-cond); color: var(--rd-green); }

/* Produktkarten: Sortenfotos randlos (das helle Bildfeld des Kits ist fuer freigestellte Technik gedacht) */
html.dark-mode .product-card > a,
html.dark-mode .product-card .bloom-wl-img-wrap,
html.dark-mode .product-card .bloom-wl-img-wrap > a { background: var(--rd-s2); }
html.dark-mode .product-card .bloom-wl-img-wrap > a { aspect-ratio: 1 / 1; border-radius: 13px 13px 0 0; }
html.dark-mode .product-card img { mix-blend-mode: normal; object-fit: cover; padding: 0; transition: transform .45s var(--ease-out, ease); }
html.dark-mode .product-card:hover img { transform: scale(1.04); }
@media (max-width: 600px) { html.dark-mode .product-card img { padding: 0; } }

/* Breeder-Logos: ohne Kachel/Rahmen, schwarzer JPG-Hintergrund wird per „screen" unsichtbar */
.rd-brands { gap: 8px 16px; }
.rd-brand, html.dark-mode a.rd-brand { height: auto; padding: 4px 0 10px; background: none; border: 0; border-radius: 0; gap: 4px; }
.rd-brand:hover, html.dark-mode a.rd-brand:hover { background: none; border: 0; }
.rd-brand img { width: 170px; height: 170px; max-width: 100%; max-height: none; object-fit: contain; opacity: .92; border-radius: 0; mix-blend-mode: screen; filter: contrast(1.35); transition: transform .25s, opacity .25s, filter .25s; }
.rd-brand:hover img { opacity: 1; transform: scale(1.06); filter: contrast(1.35) brightness(1.15) saturate(1.1); }
.rd-brand span { margin-top: -8px; }
@media (max-width: 900px) { .rd-brand img { width: 130px; height: 130px; } }
@media (max-width: 480px) { .rd-brand img { width: 110px; height: 110px; } }

/* Mystery-Band */
.rd-outlet--mystery::before { background: linear-gradient(90deg, rgba(5,5,8,.96) 0%, rgba(5,5,8,.82) 45%, rgba(5,5,8,.15) 100%); }
.rd-outlet--mystery { border-color: rgba(142,85,255,.4); }

/* Footer: Cookie-Link aus Complianz wie die anderen Links */
.rd-ft-cookie a, .rd-ft-cookie .cmplz-manage-consent, html.dark-mode .rd-ft-cookie a {
  color: var(--rd-mu) !important; background: none !important; border: 0 !important; padding: 0 !important;
  font: inherit !important; font-size: 15px !important; cursor: pointer; text-decoration: none; text-align: left;
}
.rd-ft-cookie a:hover, .rd-ft-cookie .cmplz-manage-consent:hover { color: var(--rd-green) !important; }

/* Filter-Sidebar (Cali_Filters) an Kit-Flaechen angleichen */
html.dark-mode .cf-filter { background: var(--rd-s1); border-color: var(--rd-line); border-radius: 14px; }
html.dark-mode .cf-group > summary { font: 700 14px var(--font-cond); letter-spacing: .14em; text-transform: uppercase; color: var(--rd-tx); }
html.dark-mode .cf-chip { border-color: rgba(142,85,255,.5); }

/* Seedfinder-Karten */
html.dark-mode .cali-sf__card { background: var(--rd-s1); border-color: var(--rd-line); }

/* Tastatur-Fokus sichtbar in Lila */
html.dark-mode :focus-visible { outline-color: var(--rd-lila-lt); }

/* ============================================================
   SORTEN-STATS („Skill-Tree"-Schnellansicht, cali/strain-stats.php)
   ============================================================ */
/* Mood-Emoji auf dem Produktfoto */
.bloom-wl-img-wrap { position: relative; }
.cf-mood { position: absolute; left: 10px; top: 10px; z-index: 3; width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 21px; line-height: 1; background: rgba(7,7,10,.82); border: 1px solid rgba(142,85,255,.6); box-shadow: 0 0 18px rgba(142,85,255,.45); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); cursor: help; transition: transform .2s; }
.product-card:hover .cf-mood { transform: scale(1.12) rotate(-6deg); }

/* Kompakte Stat-Leiste in der Karte */
.cf-stats { display: grid; gap: 6px; margin: 6px 0 4px; padding: 10px 11px; border-radius: 10px; background: var(--rd-bg); border: 1px solid var(--rd-line); }
.cf-st { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 16px; }
.cf-k { font: 700 11px/1 var(--font-cond); letter-spacing: .14em; text-transform: uppercase; color: var(--rd-mu2); }
.cf-st b, .cf-node b { font: 700 13px/1 var(--font-cond); letter-spacing: .02em; color: var(--rd-tx); white-space: nowrap; }

/* Skill-Punkte (THC) */
.cf-seg { display: flex; gap: 3px; }
.cf-seg i { flex: 1; height: 7px; max-width: 22px; transform: skewX(-18deg); border-radius: 1px; background: var(--rd-line2); }
.cf-seg i.on { background: var(--rd-green); box-shadow: 0 0 8px rgba(193,255,114,.55); }
.cf-seg i.on:nth-child(4), .cf-seg i.on:nth-child(5) { background: linear-gradient(90deg, var(--rd-green), #E6FFBF); }

/* Zeitleiste (Bluetezeit 6–12 Wochen) */
.cf-time { position: relative; height: 7px; border-radius: 4px; background: repeating-linear-gradient(90deg, var(--rd-line2) 0 1px, var(--rd-s3) 1px calc(100% / 6)); }
.cf-time i { position: absolute; top: -1px; bottom: -1px; border-radius: 4px; background: linear-gradient(90deg, var(--rd-lila), var(--rd-lila-lt)); box-shadow: 0 0 10px rgba(142,85,255,.6); }

/* Regler Indica <-> Sativa */
.cf-ratio { position: relative; height: 7px; border-radius: 4px; background: linear-gradient(90deg, var(--rd-lila) 0%, #4a3a7a 45%, #5c7a3a 55%, var(--rd-green) 100%); opacity: .95; }
.cf-ratio i { position: absolute; top: 50%; width: 13px; height: 13px; margin: -6.5px 0 0 -6.5px; border-radius: 50%; background: #fff; border: 2px solid var(--rd-bg); box-shadow: 0 0 0 1px rgba(255,255,255,.5), 0 0 12px rgba(255,255,255,.55); }

/* Skill-Tree auf der Produktseite */
.cf-tree { margin: 4px 0 18px; padding: 20px 22px 18px; border-radius: 16px; background: radial-gradient(ellipse 60% 80% at 0% 0%, rgba(142,85,255,.16), transparent 60%), var(--rd-s1); border: 1px solid rgba(142,85,255,.4); box-shadow: 0 0 40px rgba(142,85,255,.12); }
.cf-tree-h { margin: 0 0 14px; font: 700 13px/1 var(--font-cond); letter-spacing: .2em; text-transform: uppercase; color: var(--rd-lila-lt); display: flex; align-items: center; gap: 10px; }
.cf-tree-h::before { content: ""; width: 18px; height: 2px; background: currentColor; }
.cf-root { display: flex; align-items: center; gap: 14px; }
.cf-root-emo { width: 58px; height: 58px; flex-shrink: 0; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 30px; background: var(--rd-bg); border: 2px solid var(--rd-lila); box-shadow: 0 0 0 5px rgba(142,85,255,.14), 0 0 26px rgba(142,85,255,.55); }
.cf-root strong { display: block; font: 400 26px/1 var(--font-display); text-transform: uppercase; color: var(--rd-tx); letter-spacing: .01em; }
.cf-root small { display: block; margin-top: 4px; color: var(--rd-mu); font-size: 14px; }
.cf-branches { list-style: none; margin: 6px 0 0 28px; padding: 6px 0 0 0; border-left: 2px solid rgba(142,85,255,.45); }
.cf-node { position: relative; display: grid; grid-template-columns: 82px minmax(0, 1fr) 118px; align-items: center; gap: 14px; padding: 11px 0 11px 26px; }
.cf-node::before { content: ""; position: absolute; left: 0; top: 50%; width: 18px; height: 2px; background: rgba(142,85,255,.45); }
.cf-node::after { content: ""; position: absolute; left: 16px; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-radius: 50%; background: var(--rd-green); box-shadow: 0 0 10px rgba(193,255,114,.7); }
.cf-node:last-child { background: linear-gradient(var(--rd-s1), var(--rd-s1)) 0 50% / 2px 50% no-repeat; margin-left: -2px; padding-left: 28px; }
.cf-node .cf-k { font-size: 12px; color: var(--rd-mu); }
.cf-node b { font-size: 16px; text-align: right; }
.cf-node .cf-seg i { height: 10px; max-width: none; }
.cf-node .cf-time, .cf-node .cf-ratio { height: 9px; }
.cf-timewrap, .cf-ratiowrap { display: flex; flex-direction: column; gap: 5px; }
.cf-timewrap small { display: flex; justify-content: space-between; font: 600 10.5px/1 var(--font-cond); color: var(--rd-mu2); letter-spacing: .06em; }
.cf-ratiowrap { flex-direction: row; align-items: center; gap: 8px; }
.cf-ratiowrap small { font: 700 10.5px/1 var(--font-cond); letter-spacing: .1em; text-transform: uppercase; color: var(--rd-mu2); }
.cf-ratiowrap .cf-ratio { flex: 1; }
.cf-effects { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.cf-chip { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border-radius: 999px; background: var(--rd-bg); border: 1px solid var(--rd-line2); font-size: 14px; color: var(--rd-tx); }
.cf-note { margin: 12px 0 0; font-size: 12.5px; color: var(--rd-mu2); }
@media (max-width: 520px) {
  .cf-node { grid-template-columns: 70px minmax(0, 1fr); }
  .cf-node b { grid-column: 2; text-align: left; font-size: 14px; }
  .cf-root strong { font-size: 22px; }
  .cf-st { grid-template-columns: 32px minmax(0, 1fr) auto; gap: 6px; }
  .cf-stats { padding: 8px; }
  .cf-st b { font-size: 11.5px; }
}

/* ============================================================
   HINTERGRUND: Verlauf Lila -> Schwarz („Lamborghini-Folie")
   Fixiert hinter der Seite (per Pseudo-Element, damit es auch mobil ruhig steht).
   ============================================================ */
html.dark-mode:has(body.bloom-rd) { background: #07070A; }
html.dark-mode body.bloom-rd { background: transparent; }
html.dark-mode body.bloom-rd::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(70% 55% at 88% 6%, rgba(160,110,255,.30) 0%, transparent 60%),
    radial-gradient(120% 90% at 100% 0%, rgba(122,52,230,.85) 0%, rgba(92,34,190,.55) 28%, rgba(46,16,100,.32) 52%, transparent 74%),
    linear-gradient(205deg, #4B1C9E 0%, #2A0F5E 26%, #120824 50%, #07070A 72%, #050507 100%);
}
/* Flaechen, die bisher tiefschwarz deckten, halbtransparent — der Verlauf scheint durch */
html.dark-mode body.bloom-rd .rd-hero { background: transparent; }
html.dark-mode body.bloom-rd .site-header.rd-header { background: rgba(9,6,18,.78); }
html.dark-mode body.bloom-rd .rd-nav { background: rgba(20,12,40,.45); }
html.dark-mode body.bloom-rd .rd-topbar { background: rgba(5,5,7,.72); }
html.dark-mode body.bloom-rd .cali-ticker { background: rgba(5,5,7,.8); }
html.dark-mode body.bloom-rd .rd-footer { background: rgba(5,5,7,.92); }
html.dark-mode body.bloom-rd .product-card,
html.dark-mode body.bloom-rd .rd-cat, html.dark-mode body.bloom-rd .rd-svc,
html.dark-mode body.bloom-rd .rd-usp-i { background-color: rgba(17,16,22,.82); }

/* ============================================================
   GTA-KEY-ART im Hero (rd-slide--full): Motiv volle Breite, Collage rechts,
   linkes Drittel dunkel fuer den Text (Bilder: assets/images/gta/)
   ============================================================ */
.rd-slide--full .rd-slide-img { width: 100%; object-position: right center; -webkit-mask-image: none; mask-image: none; }
.rd-slide--full::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(90deg, rgba(7,7,10,.94) 0%, rgba(7,7,10,.78) 28%, rgba(7,7,10,.25) 52%, transparent 68%),
              linear-gradient(0deg, rgba(7,7,10,.55) 0%, transparent 22%); }
.rd-slide--full .rd-slide-content { z-index: 2; }
.rd-slide--full .rd-slide-content > * { max-width: 640px; }
.rd-slide--full .rd-slide-glow { z-index: 1; opacity: .6; }
.rd-hero-chip { z-index: 3; }
@media (max-width: 900px) {
  .rd-slide--full .rd-slide-img { height: 300px; object-position: 86% center; -webkit-mask-image: linear-gradient(180deg, #000 60%, transparent 100%); mask-image: linear-gradient(180deg, #000 60%, transparent 100%); }
  .rd-slide--full::before { display: none; }
}
/* Mystery-Band mit GTA-Motiv: Collage rechts sichtbar lassen */
.rd-outlet--mystery > img { object-position: right center; }
/* Samentyp-Kacheln (GTA-Motive 3:4): Ausschnitt oben halten, damit Koepfe nicht abgeschnitten werden */
.rd-tile img { object-position: 50% 12%; }

/* Suchleiste komplett schwarz (User 29.09.: links/rechts war sie leicht grau) */
html.dark-mode .rd-search-box { background: #000; }
html.dark-mode .rd-search input[type=search],
html.dark-mode .rd-search input[type=search]:focus { background: transparent !important; }

/* Warenkorb (WooCommerce-Blocks): „Weiter zur Kasse" in Akzentfarbe statt grau */
html.dark-mode .wc-block-cart__submit-button, html.dark-mode .wc-block-components-checkout-place-order-button,
html.dark-mode a.wc-block-cart__submit-button { background: var(--rd-green) !important; color: var(--rd-ink) !important; border: 0 !important; border-radius: 10px; font-weight: 700; }
html.dark-mode .wc-block-cart__submit-button:hover { box-shadow: 0 0 0 4px rgba(193,255,114,.18), 0 10px 30px rgba(142,85,255,.35); }
/* Kasse: Beschreibung der Zahlart lesbar (war hellgrau auf hell) */
html.dark-mode #payment .payment_box, html.dark-mode .woocommerce-checkout #payment div.payment_box { background: var(--rd-s2) !important; color: var(--rd-tx) !important; border: 1px solid var(--rd-line2); }
html.dark-mode #payment div.payment_box::before { border-bottom-color: var(--rd-s2) !important; }
html.dark-mode #payment .payment_box p { color: var(--rd-tx) !important; }
html.dark-mode #payment .wc_payment_method > label, html.dark-mode #payment .wc_payment_method label { color: var(--rd-tx) !important; }
html.dark-mode .woocommerce-privacy-policy-text p { color: var(--rd-mu); font-size: 14px; }

/* ============================================================
   HERO-SLIDE „MARKENWELT" (echte Breeder-Logos, schwarzer Grund per screen ausgeblendet)
   ============================================================ */
.rd-slide--logos .rd-slide-glow { background: radial-gradient(ellipse 45% 70% at 74% 50%, rgba(142,85,255,.35), transparent 65%), radial-gradient(ellipse 40% 50% at 8% 100%, rgba(193,255,114,.08), transparent 60%); }
.rd-slide--logos .rd-slide-content > * { max-width: 600px; }
.rd-logowall { position: absolute; z-index: 1; top: 50%; right: max(40px, calc((100vw - 1320px) / 2 + 40px)); transform: translateY(-54%);
  display: grid; grid-template-columns: repeat(2, 230px); gap: 14px 30px; }
.rd-logowall__i { position: relative; display: flex; align-items: center; justify-content: center; width: 230px; height: 190px; border-radius: 22px; text-decoration: none; }
.rd-logowall__i::before { content: ""; position: absolute; inset: 14%; border-radius: 50%; background: radial-gradient(circle, rgba(142,85,255,.32), transparent 70%); filter: blur(6px); transition: opacity .3s, transform .3s; }
.rd-logowall__i img { position: relative; max-width: 190px; max-height: 120px; width: auto; height: auto; object-fit: contain; transition: transform .3s, filter .3s; }
.rd-logowall__i:hover img { transform: scale(1.08); filter: drop-shadow(0 0 18px rgba(142,85,255,.8)); }
.rd-logowall__i:hover::before { transform: scale(1.2); }
@media (max-width: 1250px) { .rd-logowall { grid-template-columns: repeat(2, 180px); gap: 8px 18px; } .rd-logowall__i { width: 180px; height: 150px; } .rd-logowall__i img { max-width: 150px; max-height: 100px; } }
@media (max-width: 1100px) { .rd-slide--logos .rd-slide-content > * { max-width: 460px; } }
@media (max-width: 900px) {
  .rd-logowall { position: relative; top: auto; right: auto; transform: none; margin: 18px auto 0; padding: 0 16px; grid-template-columns: repeat(2, minmax(0, 150px)); justify-content: center; gap: 4px 16px; }
  .rd-logowall__i { width: 100%; height: 120px; }
  .rd-logowall__i img { max-width: 130px; max-height: 80px; }
}

/* ============================================================
   GRÖSSEN-CHIPS MIT LIVE-BESTAND (theme-src/cali/sizes.php, Vorbild Bloom)
   Select + Swatches-Liste bleiben für WooCommerce im DOM, nur ausgeblendet
   ============================================================ */
html.dark-mode .variations_form .brd-sel-hidden { display: none !important; }
html.dark-mode .variations_form .variations td.value { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.brd-sizes { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }
.brd-size { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 5px; min-width: 96px; padding: 9px 12px 8px;
  background: var(--rd-s1); border: 1px solid var(--rd-line2); border-radius: 10px; color: var(--rd-tx);
  font: 700 15px/1.1 var(--font-cond); letter-spacing: .01em; text-align: left; cursor: pointer;
  transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease; }
.brd-size:hover { border-color: var(--rd-green); }
.brd-size[aria-checked="true"] { border-color: var(--rd-green); background: rgba(193,255,114,.10); box-shadow: inset 0 0 0 1px var(--rd-green), 0 0 18px rgba(142,85,255,.25); }
.brd-size:focus-visible { outline: 2px solid var(--rd-green); outline-offset: 2px; }
.brd-size:disabled { opacity: .4; cursor: not-allowed; }
.brd-size:disabled:hover { border-color: var(--rd-line2); }
.brd-size-s { display: inline-flex; align-items: center; gap: 5px; font: 600 11px/1 var(--font); letter-spacing: .01em; color: var(--rd-mu2); white-space: nowrap; }
.brd-size-s i, .brd-live i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: none; }
.brd-size-s.is-in { color: var(--rd-green); }
.brd-size-s.is-out { color: oklch(0.78 0.15 75); }
.brd-size-s.is-pre { color: var(--rd-mu2); }
.brd-size-s.is-in i, .brd-live i { animation: brd-pulse 2s ease-out infinite; }
.brd-live { display: inline-flex; align-items: center; gap: 6px; margin-left: 10px; font: 600 11px/1 var(--font); letter-spacing: .01em; text-transform: none; color: var(--rd-mu); vertical-align: middle; }
.brd-live i { color: var(--rd-green); }
@keyframes brd-pulse { 0% { box-shadow: 0 0 0 0 rgba(193,255,114,.55); } 70% { box-shadow: 0 0 0 5px rgba(193,255,114,0); } 100% { box-shadow: 0 0 0 0 rgba(193,255,114,0); } }
@media (prefers-reduced-motion: reduce) { .brd-size-s.is-in i, .brd-live i { animation: none; } }
@media (max-width: 480px) { .brd-size { min-width: calc(50% - 4px); } }

/* 02.10.26 Widerrufsfunktion § 356a BGB – Footer-Schaltfläche „Vertrag widerrufen" (hervorgehoben, wie Bloom) + Formular */
.rd-footer .rd-wr-li { margin-top: 10px; }
.rd-footer .rd-ft-col a.bwr-footer-btn { display: inline-block; padding: 9px 16px; border: 1px solid var(--rd-green); border-radius: 8px; color: var(--rd-green); font-weight: 700; font-size: 15px; text-decoration: none; line-height: 1.2; }
.rd-footer .rd-ft-col a.bwr-footer-btn:hover, .rd-footer .rd-ft-col a.bwr-footer-btn:focus-visible { background: var(--rd-green); color: var(--rd-ink); }
.bwr input[type=text], .bwr input[type=email], .bwr textarea { background: var(--rd-s1); border-color: var(--rd-line2); color: var(--rd-tx); }
.bwr input[type=text]:focus, .bwr input[type=email]:focus, .bwr textarea:focus { border-color: var(--rd-green); outline: none; box-shadow: 0 0 0 3px rgba(193,255,114,.15); }
.bwr button[type=submit] { background: var(--rd-green); color: var(--rd-ink); }
.bwr button[type=submit]:hover { box-shadow: 0 0 0 4px rgba(193,255,114,.18), 0 10px 30px rgba(142,85,255,.35); }

/* 03.10.26 Essen-Hero (Folie 1) mit Schriftzug „cali family" in der Collage: Verlauf endet früher, damit der Schriftzug hell bleibt */
.rd-slide--full:first-child::before {
  background: linear-gradient(90deg, rgba(7,7,10,.94) 0%, rgba(7,7,10,.8) 24%, rgba(7,7,10,.35) 36%, rgba(7,7,10,0) 47%),
              linear-gradient(0deg, rgba(7,7,10,.5) 0%, transparent 18%);
}
@media (max-width: 900px) {
  /* 05.10.26: Ausschnitt unten anlegen + Ausblendung erst ab 88 % + Text tiefer – Schriftzug lag im Verlauf, Eyebrow darüber */
  .rd-slide--full:first-child .rd-slide-img { object-position: 69% 100%;
    -webkit-mask-image: linear-gradient(180deg, #000 88%, transparent 100%); mask-image: linear-gradient(180deg, #000 88%, transparent 100%); }
  .rd-slide--full:first-child .rd-slide-content { margin-top: -18px; }
}
/* 05.10.26 Schriftzug „cali family" (gta/cali-family-schrift.png) groß und mittig im freien Bereich rechts neben dem Text
   (Textspalte endet bei max(0, (100% − 1320px) / 2) + 40 px Rand + 640 px) */
.rd-hero-schrift { position: absolute; z-index: 2; pointer-events: none; top: 52%; height: auto;   /* über der Naht zwischen den Kacheln, frei vom „Jetzt vor Ort“-Chip */
  left: calc((max(0px, (100% - 1320px) / 2) + 680px + 100%) / 2);
  width: clamp(200px, calc((100% - max(0px, (100% - 1320px) / 2) - 680px) * .5), 420px);   /* User: kleiner, Motive müssen erkennbar bleiben */
  transform: translate(-50%, -50%);
  filter: drop-shadow(0 10px 28px rgba(0,0,0,.55)) drop-shadow(0 0 40px rgba(142,85,255,.45)); }
@media (max-width: 900px) { .rd-hero-schrift { top: 150px; left: 50%; width: min(52vw, 300px); } }
/* 05.10.26 Breite Bildschirme (ab ~1450 px): Bild nicht mehr auf volle Breite ziehen (cover schnitt oben/unten ab –
   Schriftzug, Köpfe, Autos), sondern immer volle Höhe, rechts angelegt; linke Bildkante blendet in den Hintergrund aus.
   Gilt für alle GTA-Folien (alle Motive 2400×1029 mit dunklem linken Drittel) */
@media (min-width: 901px) {
  .rd-slide--full .rd-slide-img { left: auto; right: 0; width: auto; max-width: none; height: 100%; aspect-ratio: 2400 / 1029;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 14%); mask-image: linear-gradient(90deg, transparent 0, #000 14%); }
}

/* ---- automatisch erzeugt: dunkle Schrift auf Akzentflaechen ---- */
html.dark-mode .cart-count,
html.dark-mode .btn-login,
html.dark-mode .btn-submit,
html.dark-mode .btn-cart,
html.dark-mode .consulting-success-icon,
html.dark-mode .btn-preorder:hover,
html.dark-mode .btn-preorder-buy:hover,
html.dark-mode .btn-preorder-loop:hover,
html.dark-mode .reg-success-icon,
html.dark-mode .reg-info-box ol li::before,
html.dark-mode .step--active .step__num,
html.dark-mode .woocommerce-checkout #place_order,
html.dark-mode .calc-btn,
html.dark-mode .calc-btn-secondary:hover,
html.dark-mode .duenger-btn,
html.dark-mode .sp-add-to-cart,
html.dark-mode .single-product-page .cart .single_add_to_cart_button,
html.dark-mode .woocommerce-MyAccount-content .woocommerce-button,
html.dark-mode .woocommerce-MyAccount-content .button,
html.dark-mode .woocommerce-MyAccount-content button:not(.bloom-account-btn-ghost),
html.dark-mode .rleg-selected::before,
html.dark-mode .cal-nav:hover,
html.dark-mode .cal-sel-start,
html.dark-mode .cal-sel-end,
html.dark-mode .rental-success-icon,
html.dark-mode .entsorgung-highlight-icon,
html.dark-mode .entsorgung-step-num { color: #0a0c05 !important; }

/* ---- automatisch erzeugt: Hover-Zustaende ---- */
html.dark-mode .btn-b2b:hover,
html.dark-mode .btn-login:hover,
html.dark-mode .btn-submit:hover,
html.dark-mode .btn-cart:hover,
html.dark-mode .woocommerce-checkout #place_order:hover,
html.dark-mode .calc-btn:hover,
html.dark-mode .duenger-btn:hover,
html.dark-mode .sp-add-to-cart:hover,
html.dark-mode .single-product-page .cart .single_add_to_cart_button:hover,
html.dark-mode .woocommerce-MyAccount-content .woocommerce-button:hover,
html.dark-mode .woocommerce-MyAccount-content .button:hover,
html.dark-mode .woocommerce-MyAccount-content button:not(.bloom-account-btn-ghost):hover { background: #b48cff !important; color: #0a0c05 !important; }
