/* ==========================================================================
   CLASSIC ROMANTIC — CSS VARIABLES
   ========================================================================== */

:root {
  /* ===== COLORS ===== */
  --color-bg: #FAF6F0;          /* ivory */
  --color-primary: #5C1A2B;     /* deep burgundy */
  --color-accent: #C9A25E;      /* muted gold */
  --color-accent-dark: #A8823F; /* gold, darker — for small-text contrast */
  --color-accent-light: #F2E4CA;/* soft champagne gold */
  --color-text: #5C1A2B;
  --color-text-muted: rgba(92, 26, 43, 0.7);
  --color-white: #FFFFFF;
  --color-overlay: rgba(10, 6, 4, 0.35); /* for text-over-video/image legibility */
  --color-loader-bg: #1A0A0F;   /* rich dark burgundy noir for loader backdrop */
  --color-envelope-inside: #F5EFEB;

  /* ===== FONTS ===== */
  --font-script: 'Great Vibes', cursive;
  --font-heading: 'Playfair Display', serif;
  --font-body: 'Lato', sans-serif;

  /* ===== FONT SIZES (fluid, clamp-based) ===== */
  --fs-script-hero: clamp(3.5rem, 9vw, 7rem);   /* couple names */
  --fs-script-sm: clamp(2rem, 5vw, 3rem);       /* smaller script use */
  --fs-h1: clamp(2.2rem, 5vw, 3.5rem);
  --fs-h2: clamp(1.6rem, 3.5vw, 2.4rem);
  --fs-h3: clamp(1.2rem, 2.5vw, 1.6rem);
  --fs-body: clamp(1rem, 1.5vw, 1.125rem);
  --fs-small: 0.875rem;
  --fs-label: 0.75rem; /* eyebrow labels, all-caps micro text */

  /* ===== FONT WEIGHTS ===== */
  --fw-light: 300;
  --fw-regular: 400;
  --fw-semibold: 600;
  --fw-bold: 700;

  /* ===== LETTER SPACING ===== */
  --ls-tight: 0.5px;
  --ls-normal: 1px;
  --ls-wide: 2.5px;   /* labels, all-caps */

  /* ===== SPACING SCALE (used for padding/margin everywhere) ===== */
  --space-xxs: 0.25rem;
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2.5rem;
  --space-xl: 4rem;
  --space-2xl: 6rem;
  --space-3xl: 9rem;

  /* ===== SECTION PADDING (responsive) ===== */
  --section-padding-y: clamp(3rem, 8vw, 6rem);
  --section-padding-x: clamp(1.25rem, 6vw, 4rem);

  /* ===== LAYOUT ===== */
  --max-width-content: 720px;
  --max-width-wide: 1100px;

  /* ===== BORDERS / RADIUS ===== */
  --radius-sm: 4px;
  --radius-md: 12px;
  --radius-full: 999px;
  --border-thin: 1px solid var(--color-accent);
  --border-card: 1px solid rgba(201, 162, 94, 0.4);

  /* ===== SHADOWS ===== */
  --shadow-soft: 0 8px 30px rgba(92, 26, 43, 0.12);
  --shadow-envelope: 0 25px 50px -12px rgba(26, 10, 15, 0.45), 0 10px 20px -5px rgba(92, 26, 43, 0.3);
  --shadow-card: 0 15px 35px rgba(0, 0, 0, 0.15);

  /* ===== TRANSITIONS ===== */
  --transition-fast: 0.25s ease;
  --transition-medium: 0.5s ease;
  --transition-slow: 0.9s cubic-bezier(0.22, 1, 0.36, 1);

  /* ===== Z-INDEX SCALE ===== */
  --z-loader: 1000;
  --z-nav: 50;
  --z-overlay: 40;
  --z-base: 1;
}
