/* ==========================================================================
   CSS Custom Properties (Style Guide)
   Wedding Website — Distressed Parchment Aesthetic
   ========================================================================== */

:root {
  /* ---- Colors ---- */
  --color-bg-primary: #3d2b1f;
  --color-bg-secondary: #4e3829;
  --color-bg-elevated: #5a4030;
  --color-heading: #f5e6c8;
  --color-body: #e8d5b7;
  --color-body-muted: rgba(232, 213, 183, 0.72);
  --color-border: rgba(245, 230, 200, 0.35);
  --color-border-strong: #f5e6c8;
  --color-accent: #c9a96e;
  --color-accent-hover: #dfc88a;
  --color-error: #e74c3c;
  --color-success: #4a7c59;
  --color-overlay: rgba(61, 43, 31, 0.95);
  --color-glass: rgba(61, 43, 31, 0.82);
  --color-glass-border: rgba(245, 230, 200, 0.12);

  /* ---- Leather patina (CSS-only background) ---- */
  --leather-base: #3d2b1f;
  --leather-patina-light: rgba(201, 169, 110, 0.18);
  --leather-patina-green: rgba(35, 50, 40, 0.25);
  --leather-patina-dark: rgba(42, 28, 20, 0.4);
  --leather-grain: rgba(255, 255, 255, 0.015);
  --leather-grain-x: 32px;
  --leather-grain-y: 16px;
  --leather-texture-image: url('../images/old-leather-portrait.webp');
  --leather-texture-tint: linear-gradient(
    rgba(61, 43, 31, 0.22),
    rgba(61, 43, 31, 0.22)
  );
  --page-overlay: linear-gradient(
    180deg,
    rgba(61, 43, 31, 0.55) 0%,
    rgba(61, 43, 31, 0.75) 55%,
    rgba(61, 43, 31, 0.92) 100%
  );
  --page-dragon-image: url('../images/colour-dragon-dice-small.webp');
  --page-dragon-size: clamp(16rem, 38vw, 30rem);
  --page-dragon-position: center calc(100% - 5rem);
  --color-surface: rgba(61, 43, 31, 0.92);
  --color-surface-soft: rgba(78, 56, 41, 0.88);

  /* ---- Typography ---- */
  --font-heading: 'Cormorant Garamond', 'Georgia', 'Times New Roman', serif;
  --font-body: 'Source Sans 3', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --font-size-base: 1rem;
  --font-size-sm: 0.875rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-h1: 2.5rem;
  --font-size-h2: 1.875rem;
  --font-size-h3: 1.5rem;
  --font-size-h4: 1.125rem;
  --line-height: 1.65;
  --line-height-tight: 1.15;
  --letter-spacing-wide: 0.12em;
  --letter-spacing-tight: -0.01em;

  /* ---- Spacing Scale ---- */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4.5rem;

  /* ---- Border & Radius ---- */
  --border-radius: 6px;
  --border-radius-md: 10px;
  --border-radius-lg: 16px;
  --border-radius-xl: 24px;
  --border-radius-pill: 999px;
  --border-width: 1px;

  /* ---- Shadows ---- */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.18);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.22);
  --shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.28);
  --shadow-glow: 0 0 0 1px rgba(245, 230, 200, 0.08), 0 12px 40px rgba(0, 0, 0, 0.25);

  /* ---- Transitions ---- */
  --transition-fast: 200ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-normal: 300ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 500ms cubic-bezier(0.4, 0, 0.2, 1);

  /* ---- Layout ---- */
  --container-max-width: 1120px;
  --header-max-width: 1440px;
  --container-narrow: 640px;
  --container-padding: var(--space-md);
  --header-height: 4.25rem;
  --nav-link-size: 0.8125rem;
}
