/**
 * Design System Variables - Orchestrated By Heaven Wedding Website
 * Logo-based color palette: Gold, Navy, Cream
 * Colors extracted from the OBH logo (hearts, cross, text)
 */

/* ==========================================================================
   GOOGLE FONTS IMPORT
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Merriweather:ital,wght@0,300;0,400;0,700;1,400&family=Lato:wght@300;400;700&family=Great+Vibes&display=swap');

/* ==========================================================================
   COLOR PALETTE (Logo-Based)
   ========================================================================== */

:root {
  /* Primary Brand Colors (From Logo) */
  --color-gold: #D4A854;           /* Logo hearts, "Healing Marriages" */
  --color-navy: #2C3E50;           /* Logo text, cross */
  --color-cream: #FFF9F0;          /* Logo background */
  
  /* Supporting Gold Variations */
  --color-gold-deep: #C99A3B;      /* Darker gold for hover states */
  --color-gold-light: #E8C989;     /* Lighter gold for subtle accents */
  --color-gold-lighter: #F4E4C1;   /* Very light gold for backgrounds */
  
  /* Supporting Navy Variations */
  --color-charcoal: #34495E;       /* Softer navy for body text */
  --color-navy-dark: #1A252F;      /* Darker navy for emphasis */
  --color-navy-light: rgba(44, 62, 80, 0.1);  /* Subtle overlays */
  
  /* Neutral Colors */
  --color-beige-soft: #F5F0E8;     /* Warm secondary background */
  --color-cream-light: #FFFEF8;    /* Lightest background */
  --color-white: #FFFFFF;          /* Pure white for cards/overlays */
  
  /* Accent Backgrounds */
  --color-gold-light-bg: rgba(212, 168, 84, 0.1);    /* Soft gold tint */
  --color-gold-medium-bg: rgba(212, 168, 84, 0.15);  /* Medium gold tint */
  
  /* Functional Colors */
  --color-error: #C0392B;          /* Form validation errors */
  --color-success: #27AE60;        /* Success messages */
  --color-warning: #F39C12;        /* Warning messages */
  --color-info: #3498DB;           /* Informational messages */

  /* ==========================================================================
     TYPOGRAPHY SYSTEM
     ========================================================================== */
  
  /* Font Families */
  --font-heading: 'Playfair Display', Georgia, serif;
  --font-subheading: 'Merriweather', Georgia, serif;
  --font-body: 'Lato', 'Helvetica Neue', Arial, sans-serif;
  --font-accent: 'Great Vibes', cursive;
  
  /* Font Sizes - Mobile First (Base: 16px) */
  --font-size-xs: 0.75rem;          /* 12px */
  --font-size-sm: 0.875rem;         /* 14px */
  --font-size-base: 1rem;           /* 16px */
  --font-size-lg: 1.125rem;         /* 18px */
  --font-size-xl: 1.25rem;          /* 20px */
  --font-size-2xl: 1.5rem;          /* 24px */
  --font-size-3xl: 1.875rem;        /* 30px */
  --font-size-4xl: 2.25rem;         /* 36px */
  --font-size-5xl: 3rem;            /* 48px */
  --font-size-6xl: 3.5rem;          /* 56px */
  --font-size-7xl: 4.5rem;          /* 72px */
  
  /* Line Heights */
  --line-height-tight: 1.2;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.6;
  --line-height-loose: 1.8;
  
  /* Font Weights */
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  
  /* Letter Spacing */
  --letter-spacing-tight: -0.02em;
  --letter-spacing-normal: 0;
  --letter-spacing-wide: 0.025em;
  --letter-spacing-wider: 0.05em;
  --letter-spacing-widest: 0.1em;

  /* ==========================================================================
     SPACING SCALE (8px baseline grid)
     ========================================================================== */
  
  --space-xs: 0.5rem;      /* 8px */
  --space-sm: 0.75rem;     /* 12px */
  --space-md: 1rem;        /* 16px */
  --space-lg: 1.5rem;      /* 24px */
  --space-xl: 2rem;        /* 32px */
  --space-2xl: 3rem;       /* 48px */
  --space-3xl: 4rem;       /* 64px */
  --space-4xl: 6rem;       /* 96px */
  --space-5xl: 8rem;       /* 128px */

  /* ==========================================================================
     LAYOUT VARIABLES
     ========================================================================== */
  
  /* Container Max Widths */
  --container-narrow: 720px;
  --container-regular: 1140px;
  --container-wide: 1400px;
  
  /* Breakpoints (for reference in media queries) */
  --breakpoint-mobile: 480px;
  --breakpoint-tablet: 768px;
  --breakpoint-desktop: 1024px;
  --breakpoint-wide: 1440px;
  
  /* Header Height */
  --header-height: 80px;
  --header-height-mobile: 64px;

  /* ==========================================================================
     EFFECTS & TRANSITIONS
     ========================================================================== */
  
  /* Box Shadows */
  --shadow-subtle: 0 1px 3px rgba(44, 62, 80, 0.08);
  --shadow-soft: 0 4px 6px rgba(44, 62, 80, 0.1);
  --shadow-medium: 0 8px 16px rgba(44, 62, 80, 0.12);
  --shadow-prominent: 0 12px 24px rgba(44, 62, 80, 0.15);
  --shadow-strong: 0 20px 40px rgba(44, 62, 80, 0.2);
  
  /* Border Radius */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-2xl: 24px;
  --radius-full: 9999px;
  
  /* Transitions */
  --transition-fast: 150ms ease-in-out;
  --transition-normal: 300ms ease-in-out;
  --transition-slow: 500ms ease-in-out;
  --transition-slower: 700ms ease-in-out;
  
  /* Easing Functions */
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  
  /* 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;

  /* ==========================================================================
     COMPONENT-SPECIFIC VARIABLES
     ========================================================================== */
  
  /* Buttons */
  --button-padding-sm: var(--space-sm) var(--space-lg);
  --button-padding-md: var(--space-md) var(--space-xl);
  --button-padding-lg: var(--space-lg) var(--space-2xl);
  
  /* Inputs */
  --input-padding: var(--space-md) var(--space-lg);
  --input-border-width: 1px;
  --input-border-color: var(--color-navy-light);
  --input-border-radius: var(--radius-md);
  
  /* Cards */
  --card-padding: var(--space-xl);
  --card-border-radius: var(--radius-lg);
  --card-shadow: var(--shadow-soft);
}

/* ==========================================================================
   DESKTOP OVERRIDES
   Larger font sizes for desktop viewing
   ========================================================================== */

@media (min-width: 1024px) {
  :root {
    --font-size-3xl: 2.25rem;        /* 36px */
    --font-size-4xl: 3rem;           /* 48px */
    --font-size-5xl: 3.75rem;        /* 60px */
    --font-size-6xl: 4.5rem;         /* 72px */
    --font-size-7xl: 6rem;           /* 96px */
  }
}

/* ==========================================================================
   DARK MODE SUPPORT (Optional - for future enhancement)
   ========================================================================== */

@media (prefers-color-scheme: dark) {
  :root {
    /* Note: Wedding sites typically don't use dark mode */
    /* This is here for future consideration if needed */
    /* Would require adjusting all color values */
  }
}

/* ==========================================================================
   PRINT STYLES
   ========================================================================== */

@media print {
  :root {
    --shadow-subtle: none;
    --shadow-soft: none;
    --shadow-medium: none;
    --shadow-prominent: none;
    --shadow-strong: none;
  }
}
