:root {
  /* Brand Colors — meinpvberater.de
     Helles Theme, warmes Solar-Gelb als Accent, sattes Grün als CTA-Anker.
     Bewusst KEIN Atlas-Mint (#00f5d4) — das ist B2B-KI-Brand, hier B2C-Hausbesitzer. */

  --bg:                #ffffff;
  --bg-soft:           #f7f9f5;
  --bg-card:           #ffffff;
  --bg-section-alt:    #f1f5ee;

  --text-primary:      #14201a;
  --text-secondary:    #4a5b51;
  --text-muted:        #7a8b81;
  --text-inverse:      #ffffff;

  --accent:            #1f8a4c;       /* Solar-Grün — CTA, Highlights */
  --accent-hover:      #166e3c;
  --accent-soft:       #d4f0dd;

  --sun:               #f7b733;       /* Solar-Gelb — Akzente, Sonnen-Symbolik */
  --sun-soft:          #fff3d6;

  --warning:           #d04a3b;       /* 2026-Deadline-Rot, Verlust-Indikator */
  --warning-soft:      #fde6e3;

  --border:            #dce4dc;
  --border-strong:     #b6c4b8;

  /* Typography */
  --font-sans:  "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-display: "Plus Jakarta Sans", system-ui, sans-serif;

  /* Type Scale (mobile-first) */
  --fs-xs:   12px;
  --fs-sm:   14px;
  --fs-base: 16px;
  --fs-lg:   18px;
  --fs-xl:   22px;
  --fs-h3:   24px;
  --fs-h2:   30px;
  --fs-h1:   36px;
  --fs-hero: 40px;

  --lh-tight: 1.15;
  --lh-snug:  1.3;
  --lh-base:  1.55;
  --lh-loose: 1.7;

  /* Spacing */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-10: 40px;
  --sp-12: 48px;
  --sp-16: 64px;
  --sp-20: 80px;
  --sp-24: 96px;

  /* Touch targets */
  --tap: 48px;
  --cta-h-mobile: 56px;
  --cta-h-desktop: 60px;

  /* Radii */
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 24px;
  --r-pill: 999px;

  /* Shadows */
  --sh-sm: 0 1px 2px rgba(20, 32, 26, 0.06);
  --sh-md: 0 4px 12px rgba(20, 32, 26, 0.08);
  --sh-lg: 0 12px 32px rgba(20, 32, 26, 0.12);
  --sh-cta: 0 8px 24px rgba(31, 138, 76, 0.3);

  /* Layout */
  --max-w: 1200px;
  --gutter: 20px;

  /* Animation */
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --t-fast: 150ms;
  --t-base: 250ms;
  --t-slow: 400ms;

  /* Safe area (iPhone notch / home bar) */
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-top:    env(safe-area-inset-top, 0px);
}

/* Desktop type scale (≥768px) */
@media (min-width: 768px) {
  :root {
    --fs-h1:   48px;
    --fs-h2:   36px;
    --fs-hero: 64px;
    --gutter:  32px;
  }
}

@media (min-width: 1024px) {
  :root {
    --fs-h1:   56px;
    --fs-hero: 72px;
    --gutter:  40px;
  }
}

/* Reduced motion respect */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
