/**
 * Wedding Website - Design System Variables
 * Gaia & Sheheryar | August 30, 2026 | Zoagli, Italy
 *
 * Color palette inspired by watercolor invitation:
 * Pink bougainvillea, golden urns, Mediterranean botanicals
 */

:root {
  /* ==================== COLOR PALETTE ==================== */

  /* Primary Colors from Invitation */
  --coral-pink: #E87B75;              /* Script text, romantic accents */
  --golden-yellow: #F4C542;           /* Urns, lemons, decorative highlights */
  --emerald-green: #2d5f46;           /* Deep foliage, primary buttons */
  --olive-green: #2d5f46;             /* Mid-tone leaves, secondary text */
  --sage-green: #A8B89C;              /* Light botanical tones, subtle accents */

  /* Neutrals */
  --cream: #FAFAF5;                   /* Main background */
  --off-white: #F5F2E9;               /* Section backgrounds */
  --warm-white: #FFFEF9;              /* Card backgrounds */
  --charcoal: #2C2C2C;                /* Main text */
  --medium-gray: #666666;             /* Secondary text */
  --light-gray: #E0DDD4;              /* Borders, dividers */

  /* Accent Colors */
  --delft-blue: #265586;              /* From vases (prototype heritage) */
  --bougainvillea-pink: #D45D79;      /* Pink florals */
  --terracotta: #C17056;              /* Warm architectural accents */

  /* ==================== TYPOGRAPHY ==================== */

  /* Font Families */
  --font-script: 'Great Vibes', cursive;        /* Watercolor brush script for names */
  --font-serif: 'Baskervville', serif;          /* Classic editorial serif */
  --font-sans: 'Baskervville SC', serif;        /* Small caps serif for headers/nav */

  /* Font Sizes - Mobile First (rem based on 16px) - Refined & Minimal */
  --font-size-xs: 0.75rem;            /* 12px - Labels, footnotes */
  --font-size-sm: 0.875rem;           /* 14px - Secondary text */
  --font-size-base: 1rem;             /* 16px - Body text */
  --font-size-lg: 1.125rem;           /* 18px - Emphasized body */
  --font-size-xl: 1.375rem;           /* 22px - H3 */
  --font-size-2xl: 1.625rem;          /* 26px - H2 */
  --font-size-3xl: 2.125rem;          /* 34px - H1 mobile */
  --font-size-hero: 2.625rem;         /* 42px - Hero mobile */

  /* Line Heights */
  --line-height-tight: 1.2;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.7;
  --line-height-loose: 2;

  /* Font Weights */
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* ==================== SPACING SCALE ==================== */

  --spacing-xs: 0.5rem;               /* 8px */
  --spacing-sm: 1rem;                 /* 16px */
  --spacing-md: 1.5rem;               /* 24px */
  --spacing-lg: 3rem;                 /* 48px */
  --spacing-xl: 4.5rem;               /* 72px */
  --spacing-xxl: 7.5rem;              /* 120px */

  /* ==================== LAYOUT ==================== */

  /* Container Widths - Narrow editorial column */
  --container-max-width: 700px;
  --container-padding-mobile: var(--spacing-md);
  --container-padding-desktop: var(--spacing-lg);

  /* Breakpoints (referenced in media queries) */
  --breakpoint-mobile: 480px;
  --breakpoint-tablet: 768px;
  --breakpoint-desktop: 1024px;
  --breakpoint-wide: 1280px;

  /* ==================== EFFECTS ==================== */

  /* Shadows */
  --shadow-soft: 0 4px 12px rgba(44, 44, 44, 0.08);
  --shadow-medium: 0 8px 24px rgba(44, 44, 44, 0.12);
  --shadow-strong: 0 12px 32px rgba(44, 44, 44, 0.16);
  --shadow-frame: 0 10px 30px rgba(38, 85, 134, 0.15);

  /* Border Radius - Sharp, clean edges (Maison Estelle style) */
  --radius-sm: 0;
  --radius-md: 0;
  --radius-lg: 0;
  --radius-xl: 0;
  --radius-full: 0;

  /* Transitions */
  --transition-fast: 0.2s ease;
  --transition-medium: 0.3s ease;
  --transition-slow: 0.6s ease-out;

  /* Z-Index Scale */
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-popover: 1060;
  --z-tooltip: 1070;
}

/* ==================== RESPONSIVE TYPOGRAPHY ==================== */

@media (min-width: 768px) {
  :root {
    --font-size-hero: 3.5rem;         /* 56px */
    --font-size-3xl: 2.5rem;          /* 40px */
    --font-size-2xl: 1.75rem;         /* 28px */
    --font-size-xl: 1.5rem;           /* 24px */
  }
}

@media (min-width: 1024px) {
  :root {
    --font-size-hero: 4rem;           /* 64px */
  }
}
