/* =============================================
   HAUS EDELWEISS — Design Tokens
   Extracted from Figma: 1572:23178
   ============================================= */

:root {
  /* --- Brand Colors (from Figma variables) --- */
  --color-wine:           #440A04;
  --color-rust:           #832706;
  --color-yellow:         #FBB947;
  --color-sage:           #AFAE9A;

  /* --- Neutrals --- */
  --color-cream:          #F4F1DE;   /* neutrals/500 */
  --color-cream-light:    #FAF9F0;   /* neutrals/200 */
  --color-white:          #FFFFFF;
  --color-black:          #1A1A1A;

  /* --- Extended palette --- */
  --color-sand-dark:      #E8E4CD;
  --color-sand-medium:    #E9E6D1;
  --color-wine-dark:      #451614;
  --color-peach:          #E8C1B1;

  /* --- Semantic --- */
  --color-bg:             var(--color-cream-light);
  --color-bg-dark:        var(--color-wine);
  --color-text:           var(--color-wine);
  --color-text-light:     var(--color-rust);
  --color-text-on-dark:   var(--color-cream);
  --color-accent:         var(--color-yellow);

  /* --- Typography ---
     PP Eiko: Main headings (commercial — fallback to Cormorant Garamond)
     Fraktur Font: Menu/nav italic labels (fallback to Cormorant Garamond italic)
     Geist: Body text, labels, UI (free by Vercel)
     NOTE: Replace fallbacks with actual font files in /assets/fonts/
  */
  --font-heading:         'PP Eiko', 'Cormorant Garamond', 'Georgia', serif;
  --font-display:         'Fraktur Font', 'Cormorant Garamond', 'Georgia', serif;
  --font-body:            'Geist', 'Inter', 'Helvetica Neue', Arial, sans-serif;

  /* Font sizes — fluid */
  --text-xs:              clamp(0.65rem, 0.6rem + 0.2vw, 0.75rem);
  --text-sm:              clamp(0.8rem, 0.75rem + 0.2vw, 0.875rem);
  --text-base:            clamp(0.875rem, 0.82rem + 0.25vw, 1rem);
  --text-lg:              clamp(1rem, 0.9rem + 0.4vw, 1.25rem);
  --text-xl:              clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
  --text-2xl:             clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem);
  --text-3xl:             clamp(2rem, 1.5rem + 2vw, 3rem);
  --text-4xl:             clamp(2.5rem, 1.8rem + 3vw, 4rem);
  --text-5xl:             clamp(3rem, 2rem + 4vw, 4.875rem);  /* ~78px at 1512w */
  --text-hero:            clamp(4rem, 3rem + 5vw, 7rem);       /* giant footer logo */

  /* Font weights */
  --weight-regular:       400;
  --weight-medium:        500;

  /* Line heights */
  --leading-none:         1;
  --leading-tight:        1.08;
  --leading-snug:         1.25;
  --leading-normal:       1.5;
  --leading-relaxed:      1.7;

  /* Letter spacing */
  --tracking-tight:       -0.03em;
  --tracking-normal:      0;
  --tracking-wide:        0.05em;
  --tracking-wider:       0.12em;

  /* --- Spacing --- */
  --space-xs:             0.5rem;    /* 8px */
  --space-sm:             0.75rem;   /* 12px */
  --space-md:             1rem;      /* 16px */
  --space-lg:             1.25rem;   /* 20px */
  --space-xl:             2rem;      /* 32px */
  --space-2xl:            2.5rem;    /* 40px */
  --space-3xl:            3.75rem;   /* 60px */
  --space-4xl:            5rem;      /* 80px */
  --space-5xl:            7.5rem;    /* 120px */

  --section-py:           clamp(5rem, 4rem + 5vw, 7.5rem);
  --container-px:         clamp(2rem, 1rem + 3vw, 4rem);

  /* --- Layout --- */
  --container-max:        1512px;
  --content-max:          1416px;

  /* --- Transitions --- */
  --ease-out:             cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out:          cubic-bezier(0.65, 0, 0.35, 1);
  --duration-fast:        200ms;
  --duration-normal:      400ms;
  --duration-slow:        600ms;

  /* --- Z-index --- */
  --z-base:               1;
  --z-above:              10;
  --z-header:             100;
  --z-overlay:            500;
  --z-modal:              1000;
}
