/* ============================================================
   Cali Family — Dark Skin
   GENERIERT von deploy/build_dark_css.py — nicht direkt editieren.
   ============================================================ */

html.dark-mode {
  /* Flaechen: tiefschwarz mit einem Hauch Violett (Miami bei Nacht) */
  --bg-page:    #07070a;
  --bg-surface: #111016;
  --bg-header:  #0b0a0f;
  --bg-card:    #14121a;
  --text-main:  #f4f2fa;
  --text-muted: #aba6b8;
  --border:     #26232f;
  --shadow:     0 2px 22px rgba(0,0,0,.7);

  /* Neon: Hot Pink als Akzent, Cyan als Gegenspieler, Sonnenuntergang als Verlauf */
  --accent:     #c1ff72;
  --accent-lt:  #d2ff94;
  --cf-cyan:    #b48cff;
  --cf-violet:  #8e55ff;
  --cf-sun:     #ffb347;
  --cf-lime:    #c1ff72;
  --cf-sunset:  linear-gradient(100deg, #ffb347 0%, #c1ff72 42%, #8e55ff 72%, #b48cff 100%);
  --cf-glow:    0 0 28px rgba(193,255,114,.35);

  /* Gruen-Skala des Bloom-Themes auf die neue Palette umbiegen */
  --green-400:  #d2ff94;
  --green-600:  #c1ff72;
  --green-800:  #c1ff72;
  --green-900:  #1a1822;
  --green-950:  #0f0e14;
  --green-100:  #1a1822;
  --green-50:   #111016;

  /* Legacy-Aliase der Templates */
  --green-dark:   #c1ff72;
  --green-light:  #d2ff94;
  --green-bg:     #0c0b11;
  --white:        #14121a;
  --black:        #f4f2fa;
  --gray-light:   #15131b;
  --gray-mid:     #26232f;
  --gray-text:    #aba6b8;
  --border-color: #26232f;

  color-scheme: dark;
}

html.dark-mode body { background: #07070a; color: var(--text-main); }
html.dark-mode .site-header,
html.dark-mode .site-footer { background: #0b0a0f; }

/* ---- 80er-Akzente (GTA-Vice-Look) ---- */
html.dark-mode .site-header { border-bottom: 1px solid rgba(193,255,114,.28); }
html.dark-mode .hero, html.dark-mode .hero-slider { position: relative; }
html.dark-mode .hero::after, html.dark-mode .hero-slider::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: repeating-linear-gradient(to bottom, rgba(255,255,255,.035) 0 1px, transparent 1px 3px);
  mix-blend-mode: overlay;
}
html.dark-mode .sale-link { color: var(--cf-cyan) !important; }
html.dark-mode .product-card:hover,
html.dark-mode .woocommerce ul.products li.product:hover { box-shadow: var(--cf-glow); border-color: rgba(193,255,114,.5); }
html.dark-mode .badge-instock, html.dark-mode .bloom-avail--instock { color: var(--cf-lime); }
html.dark-mode a:hover { color: var(--cf-cyan); }

/* Harte Hell-Werte aus den Templates abdunkeln */
html.dark-mode [style*="background:#fff"],
html.dark-mode [style*="background: #fff"],
html.dark-mode [style*="background:#fafafa"],
html.dark-mode [style*="background:#f6f7f7"],
html.dark-mode [style*="background:#f5f5f5"],
html.dark-mode [style*="background:#f9f9f9"] { background: #14121a !important; }

html.dark-mode input, html.dark-mode select, html.dark-mode textarea {
  background: #121017; color: var(--text-main); border-color: var(--border);
}
html.dark-mode input::placeholder, html.dark-mode textarea::placeholder { color: #6f6a7d; }

/* Produktkacheln / Karten */
html.dark-mode .product-card,
html.dark-mode .woocommerce ul.products li.product,
html.dark-mode .cat-card,
html.dark-mode .brand-card { background: #121017; border-color: #221f2b; }
html.dark-mode .product-card:hover,
html.dark-mode .woocommerce ul.products li.product:hover { border-color: rgba(193,255,114,.5); }

/* Preise im Neon */
html.dark-mode .price, html.dark-mode .woocommerce-Price-amount { color: var(--accent); }

/* ============================================================
   UEBERSCHRIFTEN — Neon statt brav
   ============================================================ */
html.dark-mode .section-title,
html.dark-mode .hero h1, html.dark-mode .hero-title {
  background: linear-gradient(92deg, #c1ff72 0%, #d2ff94 30%, #b48cff 62%, #b48cff 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  letter-spacing: .04em;
  filter: drop-shadow(0 0 16px rgba(193,255,114,.5)) drop-shadow(0 0 40px rgba(180,140,255,.18));
}
html.dark-mode .section-sub { color: #aba6b8; }
html.dark-mode .hero-label {
  color: var(--cf-cyan); border: 1px solid rgba(180,140,255,.45);
  text-shadow: 0 0 14px rgba(180,140,255,.55); background: rgba(180,140,255,.07);
}

/* ============================================================
   MARKEN-KACHELN — kein Kasten, grosses Logo
   ============================================================ */
html.dark-mode .brands-grid { gap: 32px 20px; }
html.dark-mode .brand-card {
  background: transparent; border: 0; border-radius: 0; min-height: 0; padding: 6px 4px 8px;
  transition: transform .25s var(--ease-out);
}
html.dark-mode .brand-card:hover { box-shadow: none; border: 0; transform: translateY(-4px); }
html.dark-mode .brand-logo {
  max-width: 100%; width: auto; height: 88px; margin-bottom: 14px;
  transition: transform .25s var(--ease-out), filter .25s var(--ease-out);
}
html.dark-mode .brand-card:hover .brand-logo { transform: scale(1.07); filter: drop-shadow(0 0 20px rgba(193,255,114,.6)); }
html.dark-mode .brand-name { font-size: .95rem; font-weight: 700; color: var(--text-main); letter-spacing: .01em; }
html.dark-mode .brand-card:hover .brand-name { color: var(--cf-cyan); }
html.dark-mode .brand-count { font-size: .78rem; color: var(--text-muted); opacity: 1; margin-top: 3px; }
html.dark-mode .brand-initial {
  width: 88px; height: 88px; border-radius: 12px; margin-bottom: 14px;
  background: linear-gradient(145deg, #1a1822, #241f33); border: 1px solid #33303d;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem; font-weight: 800; color: var(--accent); letter-spacing: .04em;
}

/* A–Z-Leiste auf der Markenseite */
html.dark-mode .az-nav { background: rgba(11,10,15,.92) !important; border-color: #26232f !important; }
html.dark-mode .az-letter { background: #1a1822 !important; color: var(--accent) !important; }
html.dark-mode .az-letter:hover { background: var(--accent) !important; color: #0b0a0f !important; }
html.dark-mode .az-letter.az-empty { background: transparent !important; color: #4a4557 !important; }
html.dark-mode .brand-letter-head {
  color: var(--cf-cyan) !important; border-bottom-color: #26232f !important;
  font-family: var(--font-display); font-weight: 400; letter-spacing: .08em;
  text-shadow: 0 0 20px rgba(180,140,255,.4);
}

/* Samentyp-/Kategorie-Kacheln: Neonrand + kraeftigerer Verlauf */
html.dark-mode .goal-card { border: 1px solid #221f2b; }
html.dark-mode .goal-card:hover { border-color: rgba(193,255,114,.55); box-shadow: 0 18px 44px rgba(0,0,0,.6), 0 0 26px rgba(193,255,114,.25); }
html.dark-mode .goal-overlay { background: linear-gradient(180deg, rgba(7,7,10,0) 30%, rgba(7,7,10,.55) 62%, rgba(7,7,10,.92) 100%); }
html.dark-mode .goal-title { text-shadow: 0 0 18px rgba(193,255,114,.45); }
html.dark-mode .goal-cta { color: var(--cf-cyan); }
html.dark-mode .cat-card, html.dark-mode .kat-card { background: transparent; border: 0; }

/* ============================================================
   FILTER-SIDEBAR (Shop, Kategorien, Marken, Suche)
   ============================================================ */
.cf-shop-layout { display: grid; grid-template-columns: 258px minmax(0,1fr); gap: 34px; align-items: start; }
@media (max-width: 1024px) { .cf-shop-layout { grid-template-columns: 1fr; gap: 0; } }

.cf-filter {
  background: transparent;
  color: var(--text-main);
  font-size: 14px;
  position: sticky;
  top: 90px;
  max-height: calc(100vh - 110px);
  overflow-y: auto;
  padding-right: 6px;
}
.cf-filter::-webkit-scrollbar { width: 6px; }
.cf-filter::-webkit-scrollbar-thumb { background: #2e2a38; border-radius: 3px; }

.cf-filter__head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 6px; }
.cf-filter__head h2 { font-size: 15px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; }
.cf-filter__reset { font-size: 12px; color: var(--text-muted); text-decoration: underline; }
.cf-filter__reset:hover { color: var(--accent); }

.cf-group { border-top: 1px solid var(--border); padding: 4px 0; }
.cf-group:first-of-type { border-top: 0; }
.cf-group > summary {
  list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between;
  padding: 14px 0; font-size: 12.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
}
.cf-group > summary::-webkit-details-marker { display: none; }
.cf-group > summary::after { content: "–"; color: var(--text-muted); font-size: 16px; line-height: 1; }
.cf-group:not([open]) > summary::after { content: "+"; }
.cf-group__body { padding-bottom: 14px; display: flex; flex-direction: column; gap: 9px; }
.cf-group__body--scroll { max-height: 264px; overflow-y: auto; padding-right: 6px; }
.cf-group__body--scroll::-webkit-scrollbar { width: 5px; }
.cf-group__body--scroll::-webkit-scrollbar-thumb { background: #2e2a38; border-radius: 3px; }
.cf-chip--reset { border-style: dashed; color: var(--text-muted); }

.cf-opt { display: flex; align-items: center; gap: 9px; cursor: pointer; color: var(--text-main); }
.cf-opt input { appearance: none; width: 15px; height: 15px; border: 1px solid #565166; border-radius: 2px; background: transparent; flex: 0 0 auto; position: relative; cursor: pointer; }
.cf-opt input:checked { border-color: var(--accent); background: var(--accent); }
.cf-opt input:checked::after { content: ""; position: absolute; left: 4px; top: 0; width: 5px; height: 10px; border: solid #0b0a0f; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.cf-opt span { line-height: 1.3; }
.cf-opt__count { color: #6f6a7d; font-size: 12px; margin-left: auto; }
.cf-opt:hover span { color: var(--accent); }

.cf-price { padding: 4px 0 16px; }
.cf-price__inputs { display: flex; gap: 10px; margin-top: 12px; }
.cf-price__field { display: flex; align-items: center; gap: 6px; border: 1px solid var(--border); padding: 8px 10px; flex: 1 1 0; }
.cf-price__field span { color: var(--text-muted); font-size: 12px; }
.cf-price__field input { border: 0; background: transparent; width: 100%; text-align: right; color: var(--text-main); font-size: 14px; padding: 0; }
.cf-range { position: relative; height: 18px; }
.cf-range input[type=range] { position: absolute; left: 0; width: 100%; appearance: none; background: transparent; pointer-events: none; margin: 0; height: 18px; }
.cf-range input[type=range]::-webkit-slider-thumb { appearance: none; pointer-events: auto; width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 0; cursor: pointer; }
.cf-range input[type=range]::-moz-range-thumb { pointer-events: auto; width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 0; cursor: pointer; }
.cf-range__track { position: absolute; top: 8px; left: 0; right: 0; height: 2px; background: #2e2a38; }
.cf-range__fill { position: absolute; top: 8px; height: 2px; background: var(--accent); }

.cf-filter__apply { display: none; }
.cf-active { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.cf-chip { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--border); border-radius: 999px; padding: 5px 12px; font-size: 12.5px; color: var(--text-main); }
.cf-chip:hover { border-color: var(--accent); color: var(--accent); }
.cf-chip b { font-weight: 600; }
/* 02.10.26: 0 Treffer bei aktiven Filtern */
.cf-empty { text-align: center; padding: 56px 20px; border: 1px dashed var(--border); border-radius: 14px; margin: 8px 0 24px; }
.cf-empty p { margin: 0 0 14px; color: var(--text-muted); }
.cf-empty .cf-empty__title { font-size: 18px; font-weight: 700; color: var(--text-main); margin-bottom: 8px; }
.cf-chip i { font-style: normal; color: var(--text-muted); }

/* Mobiler Filter-Button + Drawer */
.cf-filter-toggle {
  display: none; width: 100%; margin: 0 0 16px; padding: 12px 16px; border: 1px solid var(--border);
  background: #0f0f0f; color: var(--text-main); font-size: 14px; font-weight: 600; letter-spacing: .06em;
  text-transform: uppercase; cursor: pointer;
}
@media (max-width: 1024px) {
  .cf-filter-toggle { display: block; }
  .cf-filter { position: fixed; z-index: 9999; inset: 0 auto 0 0; width: min(88vw, 340px); background: #0b0a0f;
               padding: 22px 20px 80px; max-height: none; overflow-y: auto; transform: translateX(-102%);
               transition: transform .28s cubic-bezier(.25,1,.5,1); box-shadow: 0 0 40px rgba(0,0,0,.8); }
  .cf-filter.is-open { transform: none; }
  .cf-filter__close { position: absolute; top: 16px; right: 16px; background: none; border: 0; color: var(--text-main); font-size: 26px; line-height: 1; cursor: pointer; }
  .cf-filter__apply { display: block; position: fixed; bottom: 0; left: 0; width: min(88vw, 340px); padding: 16px; background: var(--cf-sunset); color: #0b0a0f; border: 0; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; cursor: pointer; }
  .cf-filter:not(.is-open) .cf-filter__apply { display: none; }
}
@media (min-width: 1025px) { .cf-filter__close { display: none; } }

/* ============================================================
   SEEDFINDER
   ============================================================ */
.sf-finder { max-width: 980px; margin: 0 auto; }
.sf-finder__step { border-top: 1px solid var(--border); padding: 26px 0; }
.sf-finder__step h3 { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 16px; }
.sf-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.sf-card { border: 1px solid var(--border); background: #121017; padding: 18px 16px; cursor: pointer; text-align: left; color: var(--text-main); transition: border-color .2s, background .2s; }
.sf-card:hover { border-color: #4a4557; }
.sf-card.is-on { border-color: var(--accent); background: #17151d; box-shadow: var(--cf-glow); }
.sf-card b { display: block; font-size: 15px; margin-bottom: 4px; }
.sf-card span { color: var(--text-muted); font-size: 12.5px; line-height: 1.4; }
.sf-finder__bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 0 0; border-top: 1px solid var(--border); }
.sf-finder__count { color: var(--text-muted); font-size: 14px; }
.sf-finder__count b { color: var(--accent); font-size: 19px; }
.sf-finder__go { background: var(--cf-sunset); color: #0b0a0f; border: 0; padding: 14px 30px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; cursor: pointer; }
.sf-finder__go:hover { filter: brightness(1.12); }

/* ============================================================
   AKTIONS-LAUFBAND (ganz oben, sitewide)
   ============================================================ */
.cali-ticker {
  position: relative; overflow: hidden; white-space: nowrap;
  background: linear-gradient(90deg, #0e0d13, #1c1a24 40%, #0e0d13);
  border-bottom: 1px solid rgba(193,255,114,.35);
  font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase;
}
.cali-ticker__track { display: inline-flex; align-items: center; gap: 46px; padding: 9px 24px; animation: cali-slide 46s linear infinite; }
.cali-ticker:hover .cali-ticker__track { animation-play-state: paused; }
.cali-ticker__item { color: #ece8f5; }
.cali-ticker__item a { color: #ece8f5; text-decoration: none; }
.cali-ticker__item a:hover { color: var(--cf-cyan); text-shadow: 0 0 12px rgba(180,140,255,.6); }
@keyframes cali-slide { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .cali-ticker__track, .cali-marquee__track { animation: none; } }

/* ============================================================
   PROMO-KACHELN (unter dem Hero)
   ============================================================ */
.cali-promos { padding: 44px 0 10px; }
.cali-promo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
@media (max-width: 900px) { .cali-promo-grid { grid-template-columns: 1fr; } }
.cali-promo {
  position: relative; display: block; min-height: 300px; overflow: hidden;
  border: 1px solid #221f2b; border-radius: 16px; text-decoration: none;
  background-size: cover; background-position: center; background-color: #121017;
  transition: transform .25s var(--ease-out), border-color .25s, box-shadow .25s;
}
.cali-promo:hover { transform: translateY(-5px); border-color: rgba(193,255,114,.55); box-shadow: 0 22px 50px rgba(0,0,0,.6), 0 0 30px rgba(193,255,114,.22); }
.cali-promo__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,7,10,.25) 0%, rgba(7,7,10,.82) 62%, rgba(7,7,10,.96) 100%); }
.cali-promo__body { position: relative; display: flex; flex-direction: column; gap: 7px; padding: 26px; height: 100%; justify-content: flex-end; }
.cali-promo__kicker { font-size: 11.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--cf-cyan); text-shadow: 0 0 14px rgba(180,140,255,.5); }
.cali-promo__title { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: clamp(1.3rem, 2.1vw, 1.9rem); line-height: 1.06; color: #fff; text-shadow: 0 0 22px rgba(193,255,114,.45); }
.cali-promo__text { font-size: .9rem; color: #cfcbd9; line-height: 1.5; }
.cali-promo__cta { margin-top: 6px; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); }
.cali-promo:hover .cali-promo__cta { color: var(--cf-cyan); }

/* ============================================================
   MARKEN-LAUFBAND
   ============================================================ */
.cali-marquee { overflow: hidden; padding: 26px 0; border-top: 1px solid #1b1924; border-bottom: 1px solid #1b1924; background: #0b0a10; }
.cali-marquee__track { display: inline-flex; align-items: center; gap: 56px; animation: cali-slide 52s linear infinite; }
.cali-marquee:hover .cali-marquee__track { animation-play-state: paused; }
.cali-marquee__item { flex: 0 0 auto; display: block; }
.cali-marquee__item img { height: 58px; width: auto; max-width: 150px; object-fit: contain; opacity: .78; transition: opacity .2s, transform .2s, filter .2s; }
.cali-marquee__item:hover img { opacity: 1; transform: scale(1.08); filter: drop-shadow(0 0 16px rgba(193,255,114,.55)); }

/* ============================================================
   MYSTERY BOXEN
   ============================================================ */
.cali-mb-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 1100px) { .cali-mb-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .cali-mb-grid { grid-template-columns: 1fr; } }
.cali-mb {
  position: relative; display: flex; flex-direction: column; gap: 6px; padding: 24px 20px 20px;
  border: 1px solid #221f2b; border-radius: 14px; text-decoration: none;
  background: linear-gradient(165deg, #15131b 0%, #0d0c12 100%);
  transition: transform .25s var(--ease-out), border-color .25s, box-shadow .25s;
}
.cali-mb::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 2px; background: var(--cf-sunset); border-radius: 14px 14px 0 0; opacity: .85; }
.cali-mb:hover { transform: translateY(-5px); border-color: rgba(193,255,114,.6); box-shadow: 0 0 34px rgba(193,255,114,.25); }
.cali-mb__price { font-family: var(--font-display); font-size: 2.1rem; line-height: 1; color: transparent; background: var(--cf-sunset); -webkit-background-clip: text; background-clip: text; filter: drop-shadow(0 0 16px rgba(193,255,114,.45)); }
.cali-mb__tier { font-size: 1rem; font-weight: 700; color: var(--text-main); letter-spacing: .02em; }
.cali-mb__text { font-size: .85rem; color: var(--text-muted); line-height: 1.5; flex: 1 1 auto; }
.cali-mb__cta { margin-top: 10px; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--cf-cyan); }
.cali-mb-facts { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 26px 0 0; padding: 22px 0 0; border-top: 1px solid #1b1924; }
@media (max-width: 900px) { .cali-mb-facts { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .cali-mb-facts { grid-template-columns: 1fr; } }
.cali-mb-facts li { font-size: .85rem; color: var(--text-muted); line-height: 1.5; }
.cali-mb-facts b { color: var(--text-main); display: block; margin-bottom: 2px; }

/* ============================================================
   SERVICES
   ============================================================ */
.cali-service-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 900px) { .cali-service-grid { grid-template-columns: 1fr; } }
.cali-service { border: 1px solid #221f2b; border-radius: 16px; padding: 30px; background: linear-gradient(160deg, #141219, #0c0b11); }
.cali-service--bloom { background: linear-gradient(160deg, #0b1a22, #0a0f18); border-color: rgba(180,140,255,.28); }
.cali-service__kicker { font-size: 11.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--cf-cyan); }
.cali-service h3 { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: 1.5rem; margin: 10px 0 10px; color: var(--text-main); letter-spacing: .02em; }
.cali-service p { color: var(--text-muted); line-height: 1.6; margin-bottom: 18px; }

/* ============================================================
   BE PART OF THE FAMILY
   ============================================================ */
.cali-family { position: relative; background-size: cover; background-position: center; background-color: #0c0b11; padding: 84px 0; overflow: hidden; }
.cali-family__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,7,10,.94) 0%, rgba(7,7,10,.74) 45%, rgba(7,7,10,.3) 100%); }
.cali-family__inner { position: relative; max-width: 640px; }
.cali-family__kicker { font-size: 12px; letter-spacing: .24em; text-transform: uppercase; color: var(--cf-cyan); text-shadow: 0 0 16px rgba(180,140,255,.6); }
.cali-family__title {
  font-family: var(--font-display); font-weight: 400; text-transform: uppercase;
  font-size: clamp(2.1rem, 5vw, 3.6rem); line-height: 1.02; margin: 10px 0 14px; letter-spacing: .03em;
  background: var(--cf-sunset); -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 0 22px rgba(193,255,114,.55));
}
.cali-family__text { color: #d3cfdc; line-height: 1.6; margin-bottom: 24px; }
.cali-family__btns { display: flex; flex-wrap: wrap; gap: 12px; }
.cali-family__btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 13px 24px; border-radius: 999px;
  font-weight: 700; font-size: .9rem; text-decoration: none; letter-spacing: .03em;
  border: 1px solid rgba(255,255,255,.18); color: #fff; background: rgba(255,255,255,.06);
  transition: transform .2s, box-shadow .2s, border-color .2s, background .2s;
}
.cali-family__btn:hover { transform: translateY(-2px); border-color: var(--accent); box-shadow: 0 0 24px rgba(193,255,114,.45); color: #fff; }
.cali-family__btn--wa:hover { border-color: #25d366; box-shadow: 0 0 24px rgba(37,211,102,.45); }
.cali-family__btn--ig:hover { border-color: #e1306c; box-shadow: 0 0 24px rgba(225,48,108,.45); }
.cali-family__btn--tg:hover { border-color: #29b6f6; box-shadow: 0 0 24px rgba(41,182,246,.45); }
.cali-family__hint { color: #8f8a9c; font-size: .85rem; }

/* Mystery-Box-Wunschfeld auf der Produktseite */
.cali-wish { margin: 0 0 18px; }
.cali-wish label { display: block; font-size: .85rem; color: var(--text-muted); margin-bottom: 6px; }
.cali-wish input { width: 100%; max-width: 420px; padding: 11px 13px; border: 1px solid var(--border); background: #121017; color: var(--text-main); border-radius: 8px; }
.cali-wish input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(193,255,114,.18); }

/* ============================================================
   JETZT VOR ORT VERFUEGBAR
   ============================================================ */
.cali-onsite__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.cali-onsite__all { font-size: .82rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--cf-cyan); text-decoration: none; white-space: nowrap; }
.cali-onsite__all:hover { text-shadow: 0 0 14px rgba(180,140,255,.6); }
.cali-onsite__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 1100px) { .cali-onsite__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .cali-onsite__grid { grid-template-columns: 1fr; } }
.cali-onsite__card {
  position: relative; display: flex; flex-direction: column; gap: 8px; padding: 14px;
  border: 1px solid #221f2b; border-radius: 14px; text-decoration: none; background: #0f0e14;
  transition: transform .25s var(--ease-out), border-color .25s, box-shadow .25s;
}
.cali-onsite__card:hover { transform: translateY(-4px); border-color: rgba(193,255,114,.55); box-shadow: 0 0 30px rgba(193,255,114,.18); }
.cali-onsite__card img { width: 100%; aspect-ratio: 1/1; object-fit: cover; border-radius: 10px; background: #0b0a0f; }
.cali-onsite__badge {
  position: absolute; top: 20px; left: 20px; z-index: 1; padding: 4px 10px; border-radius: 999px;
  font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  background: var(--cf-lime); color: #0b0a0f; box-shadow: 0 0 18px rgba(193,255,114,.5);
}
.cali-onsite__name { font-size: .9rem; font-weight: 600; color: var(--text-main); line-height: 1.35; }
.cali-onsite__price { font-size: .95rem; color: var(--accent); font-weight: 700; }

/* ---- automatisch erzeugt: dunkle Schrift auf neongruenen Flaechen ---- */
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 #payment .wc_payment_methods li.payment_method_bacs:has(input:checked),
html.dark-mode .woocommerce-checkout #payment .wc_payment_methods li.payment_method_cheque:has(input:checked),
html.dark-mode .woocommerce-checkout #payment .wc_payment_methods li:has(input[type="radio"]:checked),
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 /* Buttons im Account an Theme angleichen */ .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: #0b0a0f !important; }
