/* ============================================================
   Bloom Industry — Redesign 2026 „dunkel, Bloom-Grün"
   GENERIERT von redesign/build_css.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: #0B100C;
  --rd-s1: #111913;
  --rd-s2: #172119;
  --rd-s3: #1E2A21;
  --rd-line: #243128;
  --rd-line2: #344538;
  --rd-tx: #EEF3EA;
  --rd-mu: #A3B1A5;
  --rd-mu2: #7F8E82;
  --rd-green: #34C862;
  --rd-green-hi: #67D689;   /* Hover-Grün (heller Ton des Preis-Grüns, statt Lime) */
  --rd-logo: #26AE64;
  --rd-ink: #06120A;
  --rd-lime: #C8F169;
  --rd-sun: #FFC933;
  --rd-red: #FF6B5C;
  --rd-glow: 0 0 0 1px rgba(52,200,98,.25), 0 16px 40px rgba(0,0,0,.45), 0 0 40px rgba(52,200,98,.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-green-hi);   /* nur Hover/Rahmen – vorher Lime (wirkte gelb) */
  --shadow:     0 2px 18px rgba(0,0,0,.55);

  --green-950: #070B08;
  --green-900: #14261A;
  --green-800: #34C862;
  --green-600: #2BB24F;
  --green-400: #C8F169;
  --green-100: #17231A;
  --green-50:  #111913;

  --green-dark:   #34C862;
  --dark-green:   #34C862;
  --green-light:  #C8F169;
  --green-bg:     #0F1611;
  --white:        #111913;
  --black:        #EEF3EA;
  --gray-light:   #151E17;
  --gray-mid:     #243128;
  --gray-text:    #A3B1A5;
  --border-color: #243128;

  --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-green-hi); }
html.dark-mode ::selection { background: rgba(52,200,98,.35); color: #fff; }
html.dark-mode :focus-visible { outline: 2px solid var(--rd-green-hi); 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(52,200,98,.18), 0 10px 30px rgba(52,200,98,.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-green); color: var(--rd-ink); box-shadow: 0 0 0 4px rgba(52,200,98,.18), 0 10px 30px rgba(52,200,98,.28); }

/* ============================================================
   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(52,200,98,.18), 0 10px 30px rgba(52,200,98,.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(52,200,98,.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(52,200,98,.14); color: var(--rd-green); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }

/* ============================================================
   3. TOPBAR + HEADER
   ============================================================ */
.rd-topbar { background: #070B08; 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(11,16,12,.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(52,200,98,.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(52,200,98,.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,25,19,.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 11px; 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(52,200,98,.08); }
.rd-nl.is-on, html.dark-mode a.rd-nl.is-on { background: rgba(52,200,98,.12); color: var(--rd-green); }
.rd-nl--sale { color: var(--rd-red); }   /* 01.10.26: steht jetzt direkt neben Headshop */
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(52,200,98,.20), transparent 62%), radial-gradient(ellipse 40% 50% at 10% 100%, rgba(200,241,105,.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(52,200,98,.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,25,19,.84); border: 1px solid rgba(52,200,98,.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(52,200,98,.6); box-shadow: 0 0 40px rgba(52,200,98,.15); color: var(--rd-tx); }
.rd-tile-ov { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6,10,7,0) 30%, rgba(6,10,7,.55) 55%, rgba(6,10,7,.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(52,200,98,.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; } }

/* Marken-Kacheln – wie Cali Family: kein Kasten, kein Hintergrund, großes Logo (29.09.26) */
.rd-brands { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 34px 20px; }
.rd-brand { min-height: 0; padding: 6px 4px 8px; background: transparent; border: 0; border-radius: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; text-decoration: none; transition: transform .25s cubic-bezier(.2,.8,.2,1); }
.rd-brand:hover, html.dark-mode a.rd-brand:hover { background: transparent; border: 0; transform: translateY(-4px); }
.rd-brand img { max-width: 200px; max-height: 58px; width: auto; height: auto; object-fit: contain; opacity: .9; transition: transform .25s cubic-bezier(.2,.8,.2,1), filter .25s ease, opacity .25s ease; }
.rd-brand:hover img { opacity: 1; transform: scale(1.07); filter: drop-shadow(0 0 18px rgba(52,200,98,.55)); }
.rd-brand span { font-size: 14px; color: var(--rd-tx); font-weight: 700; letter-spacing: .01em; transition: color .2s ease; }
.rd-brand:hover span { color: var(--rd-green); }
@media (max-width: 900px) { .rd-brands { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 12px; } .rd-brand img { max-width: 150px; max-height: 42px; } }
@media (prefers-reduced-motion: reduce) { .rd-brand, .rd-brand img { transition: none; } .rd-brand:hover, .rd-brand:hover img { transform: none; } }

.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(8,12,9,.96) 0%, rgba(8,12,9,.85) 42%, rgba(8,12,9,.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(8,12,9,.7), rgba(8,12,9,.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(52,200,98,.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(52,200,98,.55); color: var(--rd-tx); }
.rd-post-img { height: 190px; position: relative; background: radial-gradient(circle at 80% 20%, rgba(52,200,98,.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(52,200,98,.16), rgba(52,200,98,.03) 60%), var(--rd-s1); border: 1px solid rgba(52,200,98,.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(52,200,98,.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: #2A3A2E; }
html.dark-mode .sale-badge { background: var(--rd-red); color: #1A0503; }

/* 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(52,200,98,.55); background: var(--rd-s2); }
html.dark-mode .subcat-card .subcat-initial,
html.dark-mode .subcat-card .subcat-initial.subcat-emoji { background: rgba(52,200,98,.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: #070B08; 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(52,200,98,.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(52,200,98,.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,107,92,.5); background: rgba(255,107,92,.08); color: #FFB3AA; 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(52,200,98,.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(52,200,98,.14) !important; }
html.dark-mode .brand-total { color: var(--rd-mu) !important; }
html.dark-mode .az-nav { background: rgba(11,16,12,.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: #3A4A3E !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(52,200,98,.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(52,200,98,.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(52,200,98,.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,107,92,.08); border-color: rgba(255,107,92,.5); color: #FFB3AA; }
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(52,200,98,.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(52,200,98,.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(52,200,98,.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(52,200,98,.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(52,200,98,.6); background: rgba(52,200,98,.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; } }


/* ==== 29.09.26: Hover ohne Lime + Größen-Auswahl mit Live-Bestand ==== */
html.dark-mode .single-product-page .cart .single_add_to_cart_button.disabled:hover,
html.dark-mode .single-product-page .cart .single_add_to_cart_button.wc-variation-selection-needed:hover { box-shadow: none !important; }
html.dark-mode .rental-reset-btn:hover, html.dark-mode .rental-new-btn:hover { border-color: var(--rd-green); color: var(--rd-green); }
html.dark-mode .cal-free:hover { color: var(--rd-green); }

/* Größen-Chips (inc/bloom-redesign.php → bloom_rd_size_chips) – Select bleibt für WooCommerce im DOM */
html.dark-mode .variations_form select.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: 4px; min-width: 86px; padding: 9px 12px 8px;
  background: var(--rd-s1); border: 1px solid var(--rd-line2); border-radius: 8px; 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; }
.brd-size:hover { border-color: var(--rd-green); }
.brd-size[aria-checked="true"] { border-color: var(--rd-green); background: rgba(52,200,98,.10); box-shadow: inset 0 0 0 1px var(--rd-green); }
.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.72 0.16 70); }
.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(52,200,98,.55); } 70% { box-shadow: 0 0 0 5px rgba(52,200,98,0); } 100% { box-shadow: 0 0 0 0 rgba(52,200,98,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); } }

/* ==== 29.09.26: Neon-Leuchten in der Hauptnavigation (Headshop gelb, Seeds lila) ==== */
html.dark-mode a.rd-nl.rd-nl--neon-y, html.dark-mode a.rd-nl.rd-nl--neon-y.is-on { color: #FFF25C; text-shadow: 0 0 4px rgba(255,242,92,.85), 0 0 12px rgba(255,230,0,.55), 0 0 22px rgba(255,214,0,.30); }
html.dark-mode a.rd-nl.rd-nl--neon-y:hover { color: #FFF79A; background: rgba(255,236,60,.08); text-shadow: 0 0 5px rgba(255,242,92,1), 0 0 16px rgba(255,230,0,.75), 0 0 30px rgba(255,214,0,.45); }
html.dark-mode a.rd-nl.rd-nl--neon-p, html.dark-mode a.rd-nl.rd-nl--neon-p.is-on { color: #D98CFF; text-shadow: 0 0 4px rgba(217,140,255,.9), 0 0 12px rgba(180,60,255,.6), 0 0 22px rgba(160,32,240,.35); }
html.dark-mode a.rd-nl.rd-nl--neon-p:hover { color: #EBC2FF; background: rgba(190,90,255,.10); text-shadow: 0 0 5px rgba(225,160,255,1), 0 0 16px rgba(180,60,255,.8), 0 0 30px rgba(160,32,240,.5); }
html.dark-mode .mobile-nav a.rd-m-neon-p { color: #D98CFF; text-shadow: 0 0 4px rgba(217,140,255,.8), 0 0 12px rgba(180,60,255,.5); }
@media (prefers-reduced-motion: no-preference) {
  html.dark-mode a.rd-nl.rd-nl--neon-y, html.dark-mode a.rd-nl.rd-nl--neon-p { animation: rd-neon 3.2s ease-in-out infinite; }
  html.dark-mode a.rd-nl.rd-nl--neon-p { animation-delay: 1.6s; }
  html.dark-mode a.rd-nl.rd-nl--neon-y:hover, html.dark-mode a.rd-nl.rd-nl--neon-p:hover { animation: none; }
}
@keyframes rd-neon { 0%, 100% { filter: brightness(1); } 50% { filter: brightness(1.18); } }

/* ==== 29.09.26: Kategorie-Ratgeber eingeklappt + luftiger (redesign/archive.php) ==== */
html.dark-mode .bloom-cat-text .bct-guide { position: relative; }
html.dark-mode .bloom-cat-text .bct-guide.is-collapsed { max-height: 15.5em; overflow: hidden; }
html.dark-mode .bloom-cat-text .bct-guide.is-collapsed::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 7em; background: linear-gradient(to bottom, rgba(11,16,12,0), var(--rd-bg) 88%); pointer-events: none; }
html.dark-mode .bloom-cat-text .bct-more { display: inline-flex; align-items: center; gap: 8px; margin: 14px 0 6px; padding: 10px 18px; border-radius: 8px; border: 1px solid var(--rd-line2); background: var(--rd-s1); color: var(--rd-green); font: 700 14px/1 var(--font); cursor: pointer; }
html.dark-mode .bloom-cat-text .bct-more:hover { border-color: var(--rd-green); background: rgba(52,200,98,.08); }
html.dark-mode .bloom-cat-text .bct-more[hidden] { display: none; }
html.dark-mode .bloom-cat-text .bct-inner p { margin: 0 0 12px; }
html.dark-mode .bloom-cat-text .bct-inner h3 { margin: 26px 0 8px; font-size: 18px; }
html.dark-mode .bloom-cat-text .bct-inner h2 + p, html.dark-mode .bloom-cat-text .bct-inner h3 + p { margin-top: 0; }
html.dark-mode .bloom-cat-text .bct-faq { margin-top: 34px; }

/* ==== 29.09.26: Ratgeber (redesign/ratgeber.php) + Link-Kasten in Kategorien ==== */
.rg-main { padding: 22px 0 70px; }
.rg-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; color: var(--rd-mu2); margin-bottom: 22px; }
.rg-crumbs a { color: var(--rd-green); }
.rg-h1 { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; letter-spacing: .01em; font-size: clamp(30px, 4.2vw, 46px); line-height: 1.05; color: var(--rd-tx); margin: 8px 0 10px; }
.rg-h2 { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; letter-spacing: .01em; font-size: 28px; color: var(--rd-tx); margin: 0 0 16px; }
.rg-lead { max-width: 760px; color: var(--rd-mu); font-size: 17px; line-height: 1.7; margin-bottom: 30px; }
.rg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.rg-card { display: flex; flex-direction: column; gap: 10px; padding: 22px; background: var(--rd-s1); border: 1px solid var(--rd-line); border-radius: 12px; color: var(--rd-tx); text-decoration: none; transition: border-color .15s ease, transform .15s ease; }
.rg-card:hover { border-color: var(--rd-green); transform: translateY(-2px); }
html.dark-mode a.rg-card, html.dark-mode a.rg-card:hover { color: var(--rd-tx); }
.rg-card h2, .rg-card h3 { font: 700 20px/1.25 var(--font); color: var(--rd-tx); margin: 0; }
.rg-card h3 { font-size: 17px; }
.rg-card p { color: var(--rd-mu); font-size: 15px; line-height: 1.6; margin: 0; flex: 1; }
.rg-card-tag { align-self: flex-start; font: 700 11px/1 var(--font-cond); letter-spacing: .06em; text-transform: uppercase; color: var(--rd-green); background: rgba(52,200,98,.1); border: 1px solid rgba(52,200,98,.3); padding: 5px 8px; border-radius: 6px; }
.rg-card-meta { display: inline-flex; align-items: center; gap: 6px; font: 600 13px var(--font); color: var(--rd-green); margin-top: auto; }
.rg-card--post { padding: 0 0 18px; overflow: hidden; }
.rg-card--post h3, .rg-card--post .rg-card-meta { padding: 0 18px; }
.rg-card-img { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--rd-s2); }
.rg-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rg-blog, .rg-more, .rg-shop { margin-top: 56px; }
.rg-art-head { max-width: 900px; margin-bottom: 26px; }
.rg-meta { color: var(--rd-mu2); font-size: 14px; margin: 0; }
.rg-layout { display: grid; grid-template-columns: 250px minmax(0, 760px); gap: 48px; align-items: start; }
.rg-layout > .rg-content:only-child { grid-column: 1 / -1; max-width: 760px; }
.rg-toc { position: sticky; top: 150px; background: var(--rd-s1); border: 1px solid var(--rd-line); border-radius: 12px; padding: 18px; font-size: 14px; }
.rg-toc strong { display: block; font: 700 12px/1 var(--font-cond); letter-spacing: .08em; text-transform: uppercase; color: var(--rd-mu); margin-bottom: 10px; }
.rg-toc ol { margin: 0; padding-left: 18px; display: grid; gap: 8px; color: var(--rd-mu2); }
.rg-toc a { color: var(--rd-tx); line-height: 1.35; }
.rg-toc a:hover { color: var(--rd-green-hi); }
.rg-content { color: #C9D3CB; font-size: 17px; line-height: 1.75; }
.rg-content > :first-child { margin-top: 0; }
.rg-content h2 { font: 800 26px/1.2 var(--font); color: var(--rd-tx); margin: 42px 0 12px; scroll-margin-top: 150px; }
.rg-content h3 { font: 700 20px/1.3 var(--font); color: var(--rd-tx); margin: 28px 0 8px; }
.rg-content p { margin: 0 0 16px; }
.rg-content ul, .rg-content ol { margin: 0 0 18px; padding-left: 22px; display: grid; gap: 6px; }
.rg-content li::marker { color: var(--rd-green); }
.rg-content a { color: var(--rd-green); text-decoration: underline; text-underline-offset: 3px; }
.rg-content strong { color: var(--rd-tx); }
.rg-content table { width: 100%; border-collapse: collapse; margin: 8px 0 22px; font-size: 15px; display: block; overflow-x: auto; }
.rg-content th, .rg-content td { border: 1px solid var(--rd-line); padding: 10px 12px; text-align: left; vertical-align: top; }
.rg-content th { background: var(--rd-s2); color: var(--rd-tx); }
.rg-content blockquote, .rg-content .rg-tip { margin: 20px 0; padding: 16px 18px; background: rgba(52,200,98,.07); border-left: 3px solid var(--rd-green); border-radius: 0 10px 10px 0; color: var(--rd-tx); }
.rg-shop-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; }
.rg-shop-head .rg-h2 { margin: 0; }
@media (max-width: 960px) {
  .rg-layout { grid-template-columns: 1fr; gap: 20px; }
  .rg-toc { position: static; }
  .rg-content { font-size: 16px; }
}
/* Link-Kasten „Ausführlicher Ratgeber" am Ende des Kategorie-Textes */
html.dark-mode .bloom-cat-text .bct-guide-link { margin: 26px 0 0; padding: 18px 20px; background: var(--rd-s1); border: 1px solid var(--rd-line2); border-left: 3px solid var(--rd-green); border-radius: 10px; color: var(--rd-tx); font-weight: 600; }
html.dark-mode .bloom-cat-text .bct-guide-link a { color: var(--rd-green); }

/* ==== 29.09.26: Mietgeräte – Halbtage, Übergabe-Wahl, Fehler (page-mietgeraete.php) ==== */
html.dark-mode .cal-half { position: relative; overflow: hidden; }
html.dark-mode .cal-half-am { background: linear-gradient(135deg, oklch(0.55 0.20 27 / .30) 0 50%, transparent 50% 100%); }
html.dark-mode .cal-half-pm { background: linear-gradient(135deg, transparent 0 50%, oklch(0.55 0.20 27 / .30) 50% 100%); }
.rleg-half::before { background: linear-gradient(135deg, oklch(0.55 0.20 27 / .45) 0 50%, oklch(0.45 0.15 145 / .3) 50% 100%); border: 1.5px solid var(--rd-line2, #344538); }
html.dark-mode .rental-when { display: flex; gap: 8px; }
html.dark-mode .rental-when input { flex: 1 1 auto; min-width: 0; }
html.dark-mode .rental-when select { flex: 0 0 auto; width: auto; min-width: 140px; background: var(--rd-s1); color: var(--rd-tx); border: 1px solid var(--rd-line2); border-radius: 8px; padding: 0 10px; }
html.dark-mode .rental-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
html.dark-mode .rental-choice label { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; background: var(--rd-s1); border: 1px solid var(--rd-line2); border-radius: 10px; cursor: pointer; font-weight: 500; }
html.dark-mode .rental-choice label[hidden] { display: none; }
html.dark-mode .rental-choice label:has(input:checked) { border-color: var(--rd-green); background: rgba(52,200,98,.08); box-shadow: inset 0 0 0 1px var(--rd-green); }
html.dark-mode .rental-choice input { margin-top: 3px; accent-color: var(--rd-green); }
html.dark-mode .rental-choice span { display: flex; flex-direction: column; gap: 3px; }
html.dark-mode .rental-choice small { color: var(--rd-mu); font-size: 13px; line-height: 1.4; }
html.dark-mode #rentalPayment { width: 100%; background: var(--rd-s1); color: var(--rd-tx); border: 1px solid var(--rd-line2); border-radius: 8px; padding: 10px 12px; }
html.dark-mode .rental-form-error { margin: 4px 0 12px; padding: 10px 14px; border-radius: 8px; background: rgba(255,107,92,.12); border: 1px solid rgba(255,107,92,.45); color: #FFB3AA; font-weight: 600; }
@media (max-width: 640px) { html.dark-mode .rental-choice { grid-template-columns: 1fr; } html.dark-mode .rental-when { flex-direction: column; } html.dark-mode .rental-when select { width: 100%; min-height: 42px; } }

/* ==== 29.09.26: Kasse kompakt – 2 Spalten, Zahlungsarten einzeilig, Hinweise nebeneinander ==== */
html.dark-mode .checkout-page { padding-top: 28px; }
html.dark-mode .checkout-header { margin-bottom: 18px; }
/* Hinweise „Schon Kunde?" + „Gutschein?" nebeneinander */
html.dark-mode .checkout-columns > .woocommerce { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; align-items: start; }
html.dark-mode .checkout-columns > .woocommerce > .woocommerce-notices-wrapper,
html.dark-mode .checkout-columns > .woocommerce > form.checkout_coupon,
html.dark-mode .checkout-columns > .woocommerce > form.woocommerce-form-login,
html.dark-mode .checkout-columns > .woocommerce > form.woocommerce-checkout { grid-column: 1 / -1; }
html.dark-mode .checkout-columns > .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
html.dark-mode .woocommerce-form-login-toggle .woocommerce-info, html.dark-mode .woocommerce-form-coupon-toggle .woocommerce-info { margin: 0 0 16px; padding: 12px 16px; font-size: 14px; }
/* Grundraster: Formular links, Übersicht rechts (sticky) */
html.dark-mode form.woocommerce-checkout { grid-template-columns: minmax(0, 1fr) 420px; gap: 32px; }
html.dark-mode form.woocommerce-checkout #customer_details.col2-set { display: flex; flex-direction: column; gap: 8px; width: auto; }
html.dark-mode form.woocommerce-checkout #customer_details .col-1, html.dark-mode form.woocommerce-checkout #customer_details .col-2 { float: none; width: 100%; max-width: none; }
html.dark-mode .woocommerce-billing-fields__field-wrapper, html.dark-mode .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 2px 16px; }
html.dark-mode .woocommerce-billing-fields__field-wrapper > .form-row, html.dark-mode .woocommerce-shipping-fields__field-wrapper > .form-row { grid-column: 1 / -1; width: auto; float: none; margin: 0 0 10px; }
html.dark-mode .woocommerce-billing-fields__field-wrapper > .form-row-first, html.dark-mode .woocommerce-shipping-fields__field-wrapper > .form-row-first { grid-column: 1 / 4; }
html.dark-mode .woocommerce-billing-fields__field-wrapper > .form-row-last, html.dark-mode .woocommerce-shipping-fields__field-wrapper > .form-row-last { grid-column: 4 / -1; }
html.dark-mode .woocommerce-billing-fields__field-wrapper > .bloom-f-plz, html.dark-mode .woocommerce-shipping-fields__field-wrapper > .bloom-f-plz { grid-column: 1 / 3; }
html.dark-mode .woocommerce-billing-fields__field-wrapper > .bloom-f-city, html.dark-mode .woocommerce-shipping-fields__field-wrapper > .bloom-f-city { grid-column: 3 / -1; }
html.dark-mode #billing_address_2_field, html.dark-mode #shipping_address_2_field { margin-top: -4px; }
html.dark-mode .woocommerce-checkout .woocommerce-additional-fields h3 { display: none; }
html.dark-mode .woocommerce-checkout #order_comments { min-height: 64px; height: 64px; }
html.dark-mode #ship-to-different-address { margin: 8px 0 10px; font-size: 15px; }
/* Übersicht rechts */
html.dark-mode .checkout-columns #order_review { padding: 18px 18px 20px; top: 150px; }
html.dark-mode .woocommerce-checkout-review-order-table th, html.dark-mode .woocommerce-checkout-review-order-table td { padding: 7px 0; }
/* Versandarten: Zeile volle Breite, Optionen kompakt untereinander */
html.dark-mode .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals { display: grid; grid-template-columns: 1fr; }
html.dark-mode .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th { border-bottom: 0; padding-bottom: 2px; }
html.dark-mode .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td { width: 100%; }
html.dark-mode #shipping_method { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
html.dark-mode #shipping_method li { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 13.5px; line-height: 1.3; }
html.dark-mode #shipping_method li input { margin: 0; accent-color: var(--rd-green); flex: none; }
/* Zahlungsarten: eine Zeile je Methode */
html.dark-mode .woocommerce-checkout #payment { margin-top: 14px; }
html.dark-mode .woocommerce-checkout #payment .wc_payment_methods { gap: 6px; margin-bottom: 12px; }
html.dark-mode .woocommerce-checkout #payment .wc_payment_methods li { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 10px; padding: 10px 12px; border-width: 1px; }
html.dark-mode .woocommerce-checkout #payment .wc_payment_methods li > input[type="radio"] { margin: 0; grid-column: 1; }
html.dark-mode .woocommerce-checkout #payment .wc_payment_methods li > label { grid-column: 2; margin: 0; justify-content: space-between; font-size: 14px; }
html.dark-mode .woocommerce-checkout #payment .wc_payment_methods li > label img { max-height: 22px; width: auto; margin: 0; }
html.dark-mode .woocommerce-checkout #payment .wc_payment_methods li > .payment_box { grid-column: 1 / -1; padding: 8px 0 0; font-size: 13px; }
html.dark-mode .woocommerce-checkout #payment .wc_payment_methods li > .payment_box p:last-child { margin-bottom: 0; }
html.dark-mode .woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper { font-size: 12.5px; }
/* unter 1100 px: einspaltig, Übersicht nicht sticky */
@media (max-width: 1100px) {
  html.dark-mode form.woocommerce-checkout { grid-template-columns: 1fr; }
  html.dark-mode form.woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; position: static; }
}
@media (max-width: 640px) {
  html.dark-mode .checkout-columns > .woocommerce { grid-template-columns: 1fr; }
  html.dark-mode .woocommerce-billing-fields__field-wrapper > .form-row-first, html.dark-mode .woocommerce-shipping-fields__field-wrapper > .form-row-first, html.dark-mode .woocommerce-billing-fields__field-wrapper > .form-row-last, html.dark-mode .woocommerce-shipping-fields__field-wrapper > .form-row-last { grid-column: 1 / -1; }
}

/* ── 30.09.26 Mietgeräte: geschlossene Tage (keine Abholung/Rückgabe) ── */
html.dark-mode .cal-closed { color: var(--text-muted); opacity: .45; cursor: not-allowed; background: repeating-linear-gradient(135deg, oklch(1 0 0 / .05) 0 4px, transparent 4px 8px); }
html.dark-mode .cal-closed.cal-in-range { opacity: .8; }
html.dark-mode .rental-hours { display: block; margin-top: 6px; color: var(--text-muted); }

/* ── 30.09.26 Footer: Öffnungszeiten unter der Adresse ── */
.rd-ft-hours, html.dark-mode .rd-ft-hours { display: inline-flex; gap: 10px; align-items: center; color: var(--rd-mu); }

/* ── 30.09.26 Live-Status „Jetzt geöffnet" (Kopfzeile + Footer) ── */
.rd-open { display: inline-flex; align-items: center; gap: 7px; font-weight: 600; white-space: nowrap; }
.rd-open i { width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex: none; }
.rd-open.is-open { color: var(--rd-green); }
.rd-open.is-open i { animation: rdOpenPulse 2s ease-out infinite; }
.rd-open.is-closed { color: var(--rd-red); }
.rd-topbar .rd-open { margin-left: 4px; }
@keyframes rdOpenPulse { 0% { box-shadow: 0 0 0 0 rgba(52, 200, 98, .55); } 70% { box-shadow: 0 0 0 7px rgba(52, 200, 98, 0); } 100% { box-shadow: 0 0 0 0 rgba(52, 200, 98, 0); } }
@media (prefers-reduced-motion: reduce) { .rd-open.is-open i { animation: none; } }
/* Kopfzeile bleibt mit Live-Status einzeilig: unter 1400 px engerer Abstand, Telefon (steht im Header als „Beratung") ausblenden */
@media (max-width: 1400px) { .rd-topbar-in { gap: 22px; } .rd-topbar-in > span:last-child { display: none; } }
/* Handy-Kopfzeile: Kurz-Status neben „Versand in 24–48 h" */
.rd-topbar .rd-tb-mob { display: none; }
@media (max-width: 1240px) { .rd-topbar .rd-tb-opt { display: none; } }
@media (max-width: 780px) { .rd-topbar .rd-tb-opt2 { display: none; } .rd-topbar .rd-tb-mob { display: inline-flex; } }

/* ══════════ 30.09.26 Mobil-Audit – Welle 1 (tools/mobile-audit-2026-09-30.md) ══════════ */
/* P1 #1/#2 Kontakt + Über uns: Inline-Grids (.resp-grid) mobil einspaltig */
html.dark-mode .resp-grid > * { min-width: 0; }
@media (max-width: 860px) {
  html.dark-mode .resp-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 24px !important; }
  html.dark-mode .resp-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 560px) { html.dark-mode .resp-grid-3 { grid-template-columns: minmax(0, 1fr) !important; } }
/* P1 #3 Ratgeber: Tabellen dürfen die Spalte nicht aufdrücken */
.rg-content { min-width: 0; }
.rg-content td, .rg-content th { overflow-wrap: anywhere; hyphens: auto; }
@media (max-width: 960px) { .rg-layout { grid-template-columns: minmax(0, 1fr); } }
/* P1 #4 Suchergebnisseite: WP-Body-Klasse search-results nicht wie das Such-Dropdown aus style.css behandeln */
html.dark-mode body.search-results { display: block; max-height: none; overflow-y: visible; overflow-x: clip; margin-top: 0; gap: 0; }
/* P1 #5 + P2 #24 Registrierung: Spalte nicht aufdrücken, Formular zuerst */
html.dark-mode .reg-layout > * { min-width: 0; }
@media (max-width: 768px) { html.dark-mode .reg-layout { grid-template-columns: minmax(0, 1fr); } html.dark-mode .reg-sidebar { order: 0; } }
html.dark-mode .reg-layout .form-check label { display: block; position: relative; padding-left: 28px; }
html.dark-mode .reg-layout .form-check label input[type=checkbox] { position: absolute; left: 0; top: 3px; margin: 0; }
/* P2 #8 B2B-Block: seitlicher Abstand */
@media (max-width: 960px) { .rd-b2b-in { padding: 56px 20px 64px; } }
@media (max-width: 480px) { .rd-b2b-in { padding: 48px 16px 56px; } }
/* P2 #9 Geschlossenes Mobilmenü: kein Schatten über dem Inhalt */
html.dark-mode .mobile-nav:not(.is-open) { box-shadow: none; }
/* P2 #10 + #48 iOS zoomt nicht mehr in Felder: mobil mind. 16 px, Felder 44 px hoch */
@media (max-width: 900px) {
  html.dark-mode input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=hidden]), html.dark-mode select, html.dark-mode textarea { font-size: 16px !important; }
  html.dark-mode .form-group input:not([type=checkbox]):not([type=radio]), html.dark-mode .consulting-form input, html.dark-mode .consulting-form select { min-height: 44px; }
}
/* P2 #12 Live-Suche: Dropdown bleibt über der Handy-Tastatur */
@media (max-width: 900px) { html.dark-mode .rd-search .search-results { max-height: min(440px, calc(100dvh - 230px)); } .rd-search-all { position: sticky; bottom: -8px; background: var(--rd-s1); } }
/* P2 #16 Kategorie-FAQ im Redesign-Look */
html.dark-mode .bct-faq details { border-bottom: 1px solid var(--rd-line); }
html.dark-mode .bct-faq summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 48px; padding: 12px 0; font-weight: 600; color: var(--rd-tx); cursor: pointer; }
html.dark-mode .bct-faq summary::-webkit-details-marker { display: none; }
html.dark-mode .bct-faq summary::after { content: "+"; color: var(--rd-green); font-size: 22px; line-height: 1; flex: none; }
html.dark-mode .bct-faq details[open] summary::after { content: "\2013"; }
html.dark-mode .bct-faq details > :not(summary) { margin: 0 0 14px; }
/* P2 #18/#19/#20 Produktseite */
html.dark-mode .single-product-page form.cart .single_add_to_cart_button { min-height: 48px; }
html.dark-mode .single-product-page form.cart input.qty { min-height: 48px; font-size: 16px; }
@media (max-width: 600px) { html.dark-mode .sp-related .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; } }
@media (min-width: 700px) and (max-width: 768px) { html.dark-mode .single-product-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; } }
/* P2 #22 Marken A–Z: einzeilig wischbar, größere Tap-Flächen */
@media (max-width: 700px) {
  html.dark-mode .az-nav { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; justify-content: flex-start !important; }
  html.dark-mode .az-nav::-webkit-scrollbar { display: none; }
  html.dark-mode .az-letter { flex: 0 0 auto; min-width: 36px; height: 40px; display: inline-flex !important; align-items: center; justify-content: center; }
  html.dark-mode .brand-name { font-size: 14px; }
  html.dark-mode .brand-count { font-size: 12.5px; }
}
/* P2 #23 Kategorien-Übersicht: 2 Spalten, kompakte Kacheln */
@media (max-width: 600px) {
  html.dark-mode div:has(> .kat-kachel) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  html.dark-mode .kat-kachel { min-height: 0; padding: 14px; }
  html.dark-mode .kat-kachel-icon img { max-height: 28px; width: auto; }
}
/* P2 #25 Warenkorb: klare Kasse-CTA, größere Mengen-Buttons */
html.dark-mode .wc-block-cart__submit-button { background: var(--rd-green) !important; color: var(--rd-ink) !important; font-weight: 700 !important; min-height: 52px; border-radius: 12px !important; }
html.dark-mode .wc-block-components-quantity-selector { min-height: 40px; }
html.dark-mode .wc-block-components-quantity-selector input { font-size: 16px; }
html.dark-mode .wc-block-components-quantity-selector button { min-width: 40px; min-height: 40px; }
/* P2 #26 Sale leer: Button nicht zerquetschen */
html.dark-mode .sale-empty > a.btn-b2b { width: auto !important; height: auto !important; min-height: 46px; padding: 0 22px !important; background: var(--rd-green) !important; color: var(--rd-ink) !important; border-radius: 10px; font-weight: 700; white-space: nowrap; align-items: center; }
/* P2 #27/#28 Standardseiten (AGB, Datenschutz …): Tabellen scrollen, Überschriften mit Luft */
html.dark-mode .page-content-wrap table { display: block; max-width: 100%; overflow-x: auto; }
html.dark-mode .page-content-wrap h2, html.dark-mode .page-content-wrap h3 { margin: 28px 0 8px; }
html.dark-mode .page-content-wrap p { margin: 0 0 12px; }
/* P3 #30/#34 Wischleisten bis zum Bildschirmrand */
@media (max-width: 700px) { .rd-usp, .rd-subcats { margin-inline: -20px; padding-inline: 20px; scroll-padding-inline: 20px; } }
@media (max-width: 480px) { .rd-usp, .rd-subcats { margin-inline: -16px; padding-inline: 16px; scroll-padding-inline: 16px; } }
/* P3 #31 Slider-Punkte: größere Tap-Fläche */
@media (max-width: 900px) { .rd-hero-bars button { height: 44px; } .rd-hero-bars button::before { top: 20px; } }
/* P3 #32 Lagerzeilen auf Karten lesbar */
@media (max-width: 600px) { html.dark-mode .product-card .bloom-stock-lbl, html.dark-mode .product-card .bloom-stock-val, html.dark-mode .product-card .sku { font-size: 12px; } }
/* P3 #33 Kaufbuttons in einer Kartenreihe auf gleicher Höhe */
html.dark-mode .product-card { display: flex; flex-direction: column; }
html.dark-mode .product-card .product-body { flex: 1; display: flex; flex-direction: column; }
html.dark-mode .product-card .product-body .btn-cart { margin-top: auto; }
/* P3 #35 Filter-Optionen */
@media (max-width: 900px) { .rd-opt { min-height: 44px; } }
/* P3 #38 Untermenü-Einträge */
html.dark-mode .mobile-nav-sub a { padding: 11px 12px; }
/* P3 #39 Footer-Links: größere Tap-Flächen */
@media (max-width: 900px) { .rd-ft-grid li a, html.dark-mode .rd-footer .footer-cookie-settings .cmplz-manage-consent { display: inline-block; padding: 9px 0; } .rd-ft-contact a { padding: 6px 0; } }
/* P3 #40 Kalkulatoren-Tabs in einer Reihe */
@media (max-width: 600px) { html.dark-mode .calc-tabs { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; } html.dark-mode .calc-tab { min-height: 44px; font-size: 13.5px; padding: 6px 4px; white-space: normal; } }
/* P3 #41 Mietkalender */
@media (max-width: 600px) { html.dark-mode .cal-cell { font-size: 14.5px; } }
/* P3 #42 Beratungs-Modal: größeres Schließen-X */
html.dark-mode .consulting-close { min-width: 44px; min-height: 44px; }
/* P2 #14/#15 Kategorie mobil: Filter + Sortierung in einer Zeile, Filter als Bottom-Sheet, Intro eingeklappt */
.rd-sheet-x, .rd-sheet-bd { display: none; }
@media (max-width: 900px) {
  .rd-shop { grid-template-columns: auto minmax(0, 1fr); column-gap: 10px; row-gap: 12px; }
  .rd-results, .rd-results > .rd-toolbar { display: contents; }
  .rd-filter { grid-column: 1; grid-row: 1; }
  .rd-toolbar-r { grid-column: 2; grid-row: 1; width: auto; }
  .rd-toolbar-l { grid-column: 1 / -1; }
  .rd-toolbar-l > b { display: none; }
  .rd-results > :not(.rd-toolbar) { grid-column: 1 / -1; }
  .rd-filter[open] > summary { margin-bottom: 0; }
  .rd-sheet-bd { display: block; position: fixed; inset: 0; z-index: 998; background: rgba(0, 0, 0, .6); opacity: 0; pointer-events: none; transition: opacity .2s; }
  html.rd-sheet-open .rd-sheet-bd { opacity: 1; pointer-events: auto; }
  html.rd-sheet-open, html.rd-sheet-open body { overflow: hidden; }
  .rd-filter[open] > .rd-filter-box { position: fixed; left: 0; right: 0; bottom: 0; z-index: 999; max-height: 85dvh; overflow-y: auto; border-radius: 18px 18px 0 0; padding: 0 18px calc(18px + env(safe-area-inset-bottom)); box-shadow: 0 -20px 60px rgba(0, 0, 0, .6); animation: rdSheetIn .22s var(--ease-out); }
  .rd-filter-head { position: sticky; top: 0; z-index: 2; background: var(--rd-s1); padding: 12px 0; gap: 12px; }
  .rd-filter-head b { margin-right: auto; }
  .rd-sheet-x { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-right: -10px; border: 0; background: none; color: var(--rd-tx); font-size: 30px; line-height: 1; cursor: pointer; }
  .rd-archive-intro.is-clamped { max-height: 7.4em; overflow: hidden; -webkit-mask-image: linear-gradient(#000 50%, transparent); mask-image: linear-gradient(#000 50%, transparent); }
  .rd-intro-more { align-self: flex-start; background: none; border: 0; padding: 4px 0; color: var(--rd-green); font: 700 15px var(--font); cursor: pointer; }
}
@keyframes rdSheetIn { from { transform: translateY(40px); opacity: .5; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .rd-filter[open] > .rd-filter-box { animation: none; } }
/* P2 #27 Seitentitel auf Standardseiten */
html.dark-mode .rd-page-title { font-size: clamp(34px, 7vw, 56px); margin: 0 0 24px; }
/* P1 #7 Footer „Cookie-Einstellungen“: Complianz-Auslöser sichtbar lassen */
html.dark-mode .rd-footer .rd-linkbtn.cmplz-manage-consent { display: inline-block !important; }
/* Absicherung: Mobil-Elemente nie am Desktop (z. B. nach Drehen des Tablets) */
@media (min-width: 901px) { .rd-intro-more { display: none; } .rd-archive-intro.is-clamped { max-height: none; -webkit-mask-image: none; mask-image: none; } }
/* AGB-Versandtabelle (30.09.26): passt mobil ohne Wischen */
@media (max-width: 600px) { html.dark-mode .bloom-versand-tabelle { display: table !important; table-layout: fixed; } html.dark-mode .bloom-versand-tabelle th, html.dark-mode .bloom-versand-tabelle td { padding: 6px 6px !important; font-size: 12.5px; overflow-wrap: anywhere; hyphens: auto; } html.dark-mode .bloom-versand-tabelle th:first-child, html.dark-mode .bloom-versand-tabelle td:first-child { width: 24%; } }

/* ═══ Mobil-Audit – Welle 2 (01.10.26) ═══ */
/* #11 Header: beim Runterscrollen ausblenden, beim Hochscrollen zeigen (JS in redesign/header.php setzt .is-hidden) */
@media (max-width: 1100px) {
  html.dark-mode .site-header.rd-header { transition: transform .28s cubic-bezier(.2,.7,.2,1); }
  html.dark-mode .site-header.rd-header.is-hidden { transform: translateY(calc(-100% - 60px)); }
}
@media (prefers-reduced-motion: reduce) { html.dark-mode .site-header.rd-header { transition: none; } }
/* #29 Suchfeld: kein zweiter, dunklerer Kasten im Eingabefeld */
html.dark-mode .rd-search input[type=search] { background: transparent !important; border: 0 !important; box-shadow: none !important; }
/* #37 Menge mit −/+ (JS in inc/bloom-redesign.php) */
html.dark-mode form.cart .quantity.brd-qty { display: inline-flex; align-items: stretch; border: 1px solid var(--rd-line2); border-radius: 12px; overflow: hidden; background: var(--rd-s1); margin: 0; }
html.dark-mode form.cart .quantity.brd-qty input.qty { width: 52px; min-height: 48px; border: 0 !important; border-radius: 0; background: transparent !important; text-align: center; padding: 0; -moz-appearance: textfield; appearance: textfield; box-shadow: none; }
html.dark-mode form.cart .quantity.brd-qty input.qty::-webkit-outer-spin-button, html.dark-mode form.cart .quantity.brd-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.brd-qty-b { width: 44px; border: 0; background: transparent; color: var(--rd-tx); font: 600 20px/1 var(--font); cursor: pointer; transition: background .15s, color .15s; }
.brd-qty-b:hover { background: rgba(52,200,98,.12); color: var(--rd-green); }
.brd-qty-b:active { background: rgba(52,200,98,.22); }
/* #17 Mobile Kaufleiste (erscheint, wenn der eigentliche Button nicht im Bild ist) */
.brd-buybar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; background: rgba(17,25,19,.97); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-top: 1px solid var(--rd-line2); box-shadow: 0 -12px 30px rgba(0,0,0,.45); padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); animation: brdBarIn .22s cubic-bezier(.2,.7,.2,1); }
.brd-buybar[hidden] { display: none; }
.brd-buybar-in { display: flex; align-items: center; gap: 12px; max-width: 760px; margin: 0 auto; }
.brd-buybar-p { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.brd-buybar-t { color: var(--rd-mu); font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.dark-mode .brd-buybar-pr, html.dark-mode .brd-buybar-pr .amount { color: var(--rd-tx); font: 800 17px/1.2 var(--font); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.brd-buybar-pr del { opacity: .55; font-size: 13px; margin-right: 4px; }
.brd-buybar-pr ins { text-decoration: none; }
.brd-buybar-pr small, .brd-buybar-pr .woocommerce-price-suffix { display: none; }
.brd-buybar-b { flex: none; min-height: 48px; padding: 0 20px; border: 0; border-radius: 12px; background: var(--rd-green); color: var(--rd-ink); font: 800 15px var(--font); cursor: pointer; }
.brd-buybar-b.is-pending { background: var(--rd-s2, #1d2a20); color: var(--rd-tx); border: 1px solid var(--rd-green); }
html.brd-has-buybar body { padding-bottom: 76px; }
@media (min-width: 901px) { .brd-buybar { display: none !important; } html.brd-has-buybar body { padding-bottom: 0; } }
@keyframes brdBarIn { from { transform: translateY(100%); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) { .brd-buybar { animation: none; } }
.brd-flash { animation: brdFlash 1.6s ease-out; border-radius: 12px; }
@keyframes brdFlash { 0%, 40% { box-shadow: 0 0 0 3px var(--rd-green); } 100% { box-shadow: 0 0 0 3px transparent; } }
/* #36 Brotkrumen Produktseite: einzeilig, wischbar, größere Tap-Flächen; aktueller Titel steht ohnehin als H1 */
@media (max-width: 600px) {
  html.dark-mode .single-product-breadcrumb .container { display: flex; align-items: center; gap: 6px; white-space: nowrap; overflow-x: auto; scrollbar-width: none; }
  html.dark-mode .single-product-breadcrumb .container::-webkit-scrollbar { display: none; }
  html.dark-mode .single-product-breadcrumb a { display: inline-block; padding: 10px 2px; }
  html.dark-mode .single-product-breadcrumb .container > span:last-child, html.dark-mode .single-product-breadcrumb .container > span:nth-last-child(2) { display: none; }
}
/* #21 Ratgeber „Passende Produkte" in den eigenen Karten */
html.dark-mode .product-grid.rg-grid-products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { html.dark-mode .product-grid.rg-grid-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
/* #43 Startseite „Neuigkeiten": mobil seitlich wischbar statt drei Karten untereinander */
@media (max-width: 960px) {
  .rd-posts { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 82%; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; padding-bottom: 8px; scrollbar-width: none; overscroll-behavior-x: contain; }
  .rd-posts::-webkit-scrollbar { display: none; }
  .rd-posts > .rd-post { scroll-snap-align: start; }
}
@media (min-width: 640px) and (max-width: 960px) { .rd-posts { grid-auto-columns: 46%; } }
/* #13 Creative-Slides ohne eigenes Handy-Motiv: mobil das Breitbild in Originalproportion (keine schwarzen Balken), darunter Platz für die Slider-Steuerung */
@media (max-width: 900px) {
  .rd-slide--wide { background: #000; padding-bottom: 64px; }
  .rd-slide--wide .rd-creative { aspect-ratio: var(--cr-ratio, 16 / 9); }
}

/* 01.10.26 Widerrufsfunktion § 356a BGB – Footer-Schaltfläche „Vertrag widerrufen" (hervorgehoben) */
.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 { background: var(--rd-green); color: var(--rd-ink); }

/* ---- automatisch erzeugt: dunkle Schrift auf grünen Flächen ---- */
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: #06120A !important; }

/* ---- automatisch erzeugt: Hover-Zustände (vorher dunkelgrün) ---- */
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: #34C862 !important; color: #06120A !important; box-shadow: 0 0 0 4px rgba(52,200,98,.18), 0 10px 30px rgba(52,200,98,.28) !important; }
