/* ==========================================================================
   CSS Custom Properties - Sagra del Borgo Antico di Montefiore
   Design tokens: colors, typography, spacing, and more.
   ========================================================================== */

:root {
  /* ========================================================================
     COLORS
     Warm terracotta / olive / gold palette for a rustic-elegant feel.
     ======================================================================== */

  /* Primary - Terracotta */
  --color-primary: #c75b39;
  --color-primary-dark: #a04428;
  --color-primary-light: #e8845f;

  /* Secondary - Olive */
  --color-secondary: #4a6741;
  --color-secondary-dark: #354d30;
  --color-secondary-light: #6b8f60;

  /* Accent - Gold */
  --color-accent: #d4a843;
  --color-accent-dark: #b8912e;
  --color-accent-light: #e8c96a;

  /* Neutrals */
  --color-cream: #faf5ee;
  --color-warm-white: #fffdf8;
  --color-stone: #8c7e73;
  --color-charcoal: #2d2926;
  --color-dark: #1a1714;

  /* Semantic */
  --color-success: #5a8f5c;
  --color-error: #c44536;

  /* Overlays */
  --overlay-dark: rgba(26, 23, 20, 0.65);
  --overlay-warm: rgba(199, 91, 57, 0.15);

  /* ========================================================================
     FONTS
     ======================================================================== */

  /* Display / Headings - Cavello bold for readable headings */
  --font-display: "Cavello", Georgia, "Times New Roman", serif;

  /* Accent - Vineyard for hero title and decorative elements only */
  --font-accent: "Vineyard", Georgia, "Times New Roman", serif;
  --font-accent-rough: "Vineyard Rough", Georgia, "Times New Roman", serif;

  /* Body / Running text - Cavello slab serif */
  --font-body: "Cavello", Georgia, "Times New Roman", serif;

  /* UI / Buttons, labels, navigation - Cavello for readability */
  --font-ui: "Cavello", Georgia, "Times New Roman", serif;

  /* ========================================================================
     TYPE SCALE
     Fluid typography using clamp() for seamless responsiveness.
     ======================================================================== */
  --text-xs: clamp(0.8rem, 0.75rem + 0.3vw, 0.95rem);
  --text-sm: clamp(0.9rem, 0.85rem + 0.35vw, 1.05rem);
  --text-base: clamp(1.05rem, 1rem + 0.35vw, 1.2rem);
  --text-md: clamp(1.15rem, 1.05rem + 0.55vw, 1.4rem);
  --text-lg: clamp(1.35rem, 1.2rem + 0.8vw, 1.7rem);
  --text-xl: clamp(1.6rem, 1.35rem + 1.3vw, 2.25rem);
  --text-2xl: clamp(2rem, 1.6rem + 2.1vw, 3rem);
  --text-3xl: clamp(2.5rem, 1.9rem + 3.2vw, 4rem);
  --text-4xl: clamp(3.2rem, 2.2rem + 4.2vw, 5rem);
  --text-hero: clamp(2.8rem, 2rem + 4vw, 5rem);

  /* ========================================================================
     SPACING SCALE
     Consistent spacing tokens from extra-small to section-level.
     ======================================================================== */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
  --space-section: clamp(4rem, 3rem + 5vw, 8rem);

  /* ========================================================================
     CONTAINER SIZES
     ======================================================================== */
  --container-max: 1200px;
  --container-wide: 1400px;
  --container-narrow: 800px;

  /* ========================================================================
     BORDER RADIUS
     ======================================================================== */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-pill: 9999px;

  /* ========================================================================
     TRANSITIONS
     ======================================================================== */
  --transition-fast: 0.2s ease;
  --transition-base: 0.3s ease;
  --transition-slow: 0.6s ease;

  /* ========================================================================
     SHADOWS
     Warm-toned shadows to match the rustic palette.
     ======================================================================== */
  --shadow-sm: 0 1px 3px rgba(45, 41, 38, 0.08);
  --shadow-md: 0 4px 12px rgba(45, 41, 38, 0.1);
  --shadow-lg: 0 8px 30px rgba(45, 41, 38, 0.12);
  --shadow-xl: 0 16px 50px rgba(45, 41, 38, 0.16);

  /* ========================================================================
     Z-INDEX SCALE
     Layering system for overlapping UI elements.
     ======================================================================== */
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-overlay: 300;
  --z-modal: 400;
  --z-toast: 500;
}
