/* ==========================================================================
   DESIGN TOKENS — Andrea & Andrés
   This file is UNIQUE per wedding. Colors, fonts, spacing scale.
   Swap this file (and /assets) to reskin the reusable system for a new couple.
   ========================================================================== */

@font-face {
  font-family: "Pinyon Script";
  src: url("../assets/fonts/PinyonScript-Regular.woff2") format("woff2"),
       url("../assets/fonts/PinyonScript-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Ginora Sans";
  src: url("../assets/fonts/GinoraSans-Light.woff2") format("woff2"),
       url("../assets/fonts/GinoraSans-Light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Cormorant Garamond";
  src: url("../assets/fonts/CormorantGaramond-Italic.woff2") format("woff2"),
       url("../assets/fonts/CormorantGaramond-Italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

:root {
  /* ---- Color palette (sampled from design PDF) ---- */
  --color-cream:        #F1EBDF;   /* main background */
  --color-cream-rgb:     241, 235, 223;
  --color-sage:          #788268;  /* buttons, monogram, accents */
  --color-sage-light:    #9A9F8B;  /* button hover / lighter accent */
  --color-khaki:         #B8B499;  /* Mesa de Regalos section bg */
  --color-khaki-light:   #C4C5B3;  /* buttons on dark sections (Hospedaje, etc.) */
  --color-olive-dark:    #666456;  /* Hospedaje / RSVP / footer bg */
  --color-olive-dark-rgb:102, 100, 86;
  --color-near-black:    #201F1C;  /* hero overlay / darkest scrim */
  --color-text-dark:     #666456;  /* body text on light backgrounds */
  --color-text-light:    #F1EBDF; /* body text on dark backgrounds */
  --color-border-gold:   #A9A084;  /* thin decorative borders (gift card, info box) */

  /* ---- Typography ---- */
  --font-heading: "Pinyon Script", cursive;              /* elegant script headings */
  --font-body: "Ginora Sans", "Helvetica Neue", Arial, sans-serif; /* uppercase labels & body */
  --font-accent: "Cormorant Garamond", Georgia, serif;    /* secondary italic accent */

  --tracking-wide: 0.14em;
  --tracking-wider: 0.2em;

  /* ---- Fluid type scale (clamp: min, preferred, max) ---- */
  --fs-hero-heading: clamp(2.6rem, 3.2vw + 1.5rem, 5.5rem);
  --fs-section-heading: clamp(2.1rem, 2vw + 1.2rem, 3.4rem);
  --fs-subheading: clamp(1.5rem, 1.2vw + 1rem, 2.1rem);
  --fs-body: clamp(0.85rem, 0.3vw + 0.75rem, 0.95rem);
  --fs-label: clamp(0.7rem, 0.2vw + 0.65rem, 0.8rem);
  --fs-nav: clamp(0.72rem, 0.25vw + 0.65rem, 0.8rem);

  /* ---- Spacing scale ---- */
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-sm: 1.25rem;
  --space-md: 2rem;
  --space-lg: 3.5rem;
  --space-xl: 5.5rem;
  --space-2xl: 8rem;

  /* ---- Layout ---- */
  --max-width: 1440px;
  --content-width: min(90vw, var(--max-width));
  --nav-height: 92px;
  --nav-height-mobile: 68px;

  /* ---- Motion ---- */
  --ease-elegant: cubic-bezier(0.22, 1, 0.36, 1);
  --dur-fast: 0.25s;
  --dur-med: 0.6s;
  --dur-slow: 0.9s;
}
