html { scroll-behavior: smooth; }
    body { font-family: 'Manrope', system-ui, sans-serif; background: #0E0F12; color: #F5F4EF; }
    .font-display { font-family: 'Bricolage Grotesque', 'Manrope', system-ui, sans-serif; letter-spacing: -0.01em; }
    .font-mono { font-family: 'JetBrains Mono', ui-monospace, monospace; font-feature-settings: "tnum" 1; }
    [data-lucide] { stroke-width: 1.5; }
    /* mobile native-app feel */
    @media (max-width: 768px) {
      body { -webkit-tap-highlight-color: transparent; }
      button, a { touch-action: manipulation; }
    }
    /* image-slot tweaks */
    image-slot { background: linear-gradient(135deg,#1F2228,#0E0F12) !important; }

    /* WhatsApp-Schnellzugriff (unten links) */
    .wa-float {
      position: fixed;
      left: max(16px, env(safe-area-inset-left));
      bottom: max(16px, env(safe-area-inset-bottom));
      z-index: 9998;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 56px;
      height: 56px;
      border-radius: 50%;
      background: #25d366;
      color: #fff;
      box-shadow: 0 4px 18px rgba(0,0,0,.35), 0 0 0 3px rgba(255,255,255,.08);
      transition: transform 0.15s ease, box-shadow 0.15s ease;
    }
    .wa-float:hover { transform: scale(1.06); box-shadow: 0 6px 22px rgba(0,0,0,.4), 0 0 0 3px rgba(255,255,255,.12); }
    .wa-float svg { width: 30px; height: 30px; fill: currentColor; }

    /* Aktions-Lauftext (orange) — horizontales Marquee (zwei identische Segmente, -50 % = nahtlos) */
    #site-promo-banner.promo-ticker-outer {
      overflow: hidden;
    }
    #site-promo-banner .promo-ticker-track {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: center;
      width: max-content;
      max-width: none;
      flex-shrink: 0;
      animation: promo-marquee 50s linear infinite;
      will-change: transform;
      backface-visibility: hidden;
    }
    #site-promo-banner .promo-ticker-segment {
      flex: 0 0 auto;
    }
    @keyframes promo-marquee {
      0% { transform: translate3d(0, 0, 0); }
      100% { transform: translate3d(-50%, 0, 0); }
    }
    @media (prefers-reduced-motion: reduce) {
      #site-promo-banner .promo-ticker-track {
        animation-duration: 140s;
        animation-timing-function: linear;
      }
    }

    /* Flatpickr — dunkles UI (inline Kalender) */
    .flatpickr-calendar {
      background: #16181D !important;
      border: 1px solid rgba(255,255,255,.12) !important;
      border-radius: 12px !important;
      box-shadow: 0 16px 48px rgba(0,0,0,.45) !important;
      color: #F5F4EF !important;
    }
    .flatpickr-months .flatpickr-month,
    .flatpickr-current-month .flatpickr-monthDropdown-months,
    .flatpickr-current-month input.cur-year {
      background: transparent !important;
      color: #F5F4EF !important;
    }
    .flatpickr-weekdays,
    span.flatpickr-weekday {
      background: #16181D !important;
      color: #9CA3AF !important;
    }
    .flatpickr-day {
      color: #E5E7EB !important;
      border-color: transparent !important;
    }
    .flatpickr-day:hover,
    .flatpickr-day:focus {
      background: rgba(255,107,0,.2) !important;
      border-color: transparent !important;
    }
    .flatpickr-day.selected,
    .flatpickr-day.startRange,
    .flatpickr-day.endRange {
      background: #FF6B00 !important;
      color: #0E0F12 !important;
      border-color: #FF6B00 !important;
    }
    .flatpickr-day.flatpickr-disabled,
    .flatpickr-day.prevMonthDay,
    .flatpickr-day.nextMonthDay {
      color: #4B5563 !important;
    }
    .flatpickr-day.today {
      border-color: rgba(255,107,0,.55) !important;
    }
    input.flatpickr-input[readonly].form-control,
    input.flatpickr-input[readonly],
    .flatpickr-input[readonly] {
      cursor: pointer;
    }
    .flatpickr-calendar.arrowTop::before,
    .flatpickr-calendar.arrowTop::after,
    .flatpickr-calendar.arrowBottom::before,
    .flatpickr-calendar.arrowBottom::after {
      display: none !important;
    }
