/* ============================================
   DESIGN TOKENS
   Properus – Stealth Luxury (Graphit & Rose-Gold)
   ============================================ */

:root {
  /* ---- COLORS ---- */
  --c-bg-deep:        #121212;
  --c-bg-surface:     #1A1A1A;
  --c-bg-card:        #1E1E1E;
  --c-bg-card-hover:  #2A2A2A;

  --c-violet:         #B87E5F;
  --c-magenta:        #D4976F;
  --c-pink:           #D4976F;
  --c-gradient-cta:   linear-gradient(135deg, #B87E5F, #8B6F47);
  --c-gradient-glow:  linear-gradient(135deg, rgba(184,126,95,0.2), rgba(212,151,111,0.2));

  --c-glow-violet:    0 0 20px rgba(184,126,95,0.2), 0 0 60px rgba(184,126,95,0.08);
  --c-glow-sm:        0 0 10px rgba(184,126,95,0.15);
  --c-glow-lg:        0 0 30px rgba(184,126,95,0.25), 0 0 80px rgba(184,126,95,0.1);

  --c-border:         rgba(184,126,95,0.12);
  --c-border-hover:   rgba(184,126,95,0.35);
  --c-border-subtle:  rgba(51,65,85,0.4);

  /* Neutral borders & surfaces (for theme switching) */
  --c-card-border:    rgba(30, 30, 30, 0.7);
  --c-card-bg:        rgba(18, 18, 18, 0.5);
  --c-input-bg:       rgba(18, 18, 18, 0.5);
  --c-scrolled-bg:    rgba(18, 18, 18, 0.85);

  --c-text-primary:   #FAFAFA;
  --c-text-body:      #9CA3AF;
  --c-text-muted:     #6B7280;

  --c-success:        #22C55E;
  --c-error:          #EF4444;
  --c-warning:        #F59E0B;

  /* ---- TYPOGRAPHY ---- */
  --font-display:     -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Helvetica Neue', 'Inter', system-ui, sans-serif;
  --font-body:        -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', 'Inter', system-ui, sans-serif;

  --fs-xs:    clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --fs-sm:    clamp(0.875rem, 0.825rem + 0.25vw, 1rem);
  --fs-base:  clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --fs-lg:    clamp(1.125rem, 1.05rem + 0.375vw, 1.25rem);
  --fs-xl:    clamp(1.25rem, 1.05rem + 1vw, 1.75rem);
  --fs-2xl:   clamp(1.75rem, 1.3rem + 2.25vw, 2.5rem);
  --fs-3xl:   clamp(2.25rem, 1.6rem + 3.25vw, 3.5rem);
  --fs-hero:  clamp(2.5rem, 1.5rem + 5vw, 4.5rem);

  --fw-light:    300;
  --fw-regular:  400;
  --fw-medium:   500;
  --fw-semibold: 600;
  --fw-bold:     700;

  --lh-tight:    1.2;
  --lh-snug:     1.35;
  --lh-normal:   1.6;
  --lh-relaxed:  1.75;

  /* ---- SPACING (4px base) ---- */
  --sp-1:  0.25rem;   /*  4px */
  --sp-2:  0.5rem;    /*  8px */
  --sp-3:  0.75rem;   /* 12px */
  --sp-4:  1rem;      /* 16px */
  --sp-5:  1.25rem;   /* 20px */
  --sp-6:  1.5rem;    /* 24px */
  --sp-8:  2rem;      /* 32px */
  --sp-10: 2.5rem;    /* 40px */
  --sp-12: 3rem;      /* 48px */
  --sp-16: 4rem;      /* 64px */
  --sp-20: 5rem;      /* 80px */
  --sp-24: 6rem;      /* 96px */
  --sp-32: 8rem;      /* 128px */

  /* ---- LAYOUT ---- */
  --container-max:    1200px;
  --container-narrow: 800px;
  --nav-height:       72px;
  --radius-sm:  8px;
  --radius-md:  12px;
  --radius-lg:  20px;
  --radius-xl:  28px;
  --radius-full: 9999px;

  /* ---- Z-INDEX ---- */
  --z-base:     0;
  --z-card:     10;
  --z-sticky:   100;
  --z-overlay:  500;
  --z-modal:    1000;

  /* ---- ANIMATION ---- */
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:     cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast:    150ms;
  --dur-base:    250ms;
  --dur-slow:    400ms;
  --dur-reveal:  600ms;

  /* ---- GLASSMORPHISM ---- */
  --glass-bg:      rgba(18, 18, 18, 0.65);
  --glass-blur:    blur(20px);
  --glass-border:  1px solid var(--c-border);

  /* ---- BREAKPOINTS (Referenz, nicht zur Laufzeit nutzbar) ----
     S  ≤ 480px   Phones
     M  ≤ 767px   Phablets
     T  ≤ 1023px  Tablets
     D  ≥ 1024px  Desktop
     W  ≥ 1440px  Wide
  */

  /* ---- TOUCH ---- */
  --touch-target: 44px;

  /* ---- SAFE AREAS ---- */
  --safe-top:    env(safe-area-inset-top, 0px);
  --safe-right:  env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left:   env(safe-area-inset-left, 0px);
}

/* Globaler iOS-Zoom-Schutz: alle Inputs mind. 16px */
@media (max-width: 767px) {
  input, select, textarea {
    font-size: max(16px, 1rem);
  }
}

/* Globaler Overflow-Guard */
html, body {
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-fast:   0ms;
    --dur-base:   0ms;
    --dur-slow:   0ms;
    --dur-reveal: 0ms;
  }
}
