/* ============================================================
   THEMES.CSS — CSS Custom Properties & Color System
   Birthday Surprise Website
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,900;1,400;1,700&family=Poppins:wght@300;400;500;600;700&family=Dancing+Script:wght@400;600;700&display=swap');

:root {
  /* ── Core Palette ── */
  --color-primary:        #FF6B9D;
  --color-primary-dark:   #C44569;
  --color-primary-light:  #FFB3CC;
  --color-accent:         #F8B500;
  --color-accent-teal:    #4ECDC4;
  --color-accent-purple:  #A55EEA;

  /* ── Background Layers ── */
  --bg-base:              #0a0a0f;
  --bg-surface:           #12121a;
  --bg-card:              #1a1a26;
  --bg-card-hover:        #22223a;

  /* ── Glass Morphism ── */
  --glass-bg:             rgba(255, 255, 255, 0.05);
  --glass-bg-hover:       rgba(255, 255, 255, 0.09);
  --glass-border:         rgba(255, 255, 255, 0.10);
  --glass-border-hover:   rgba(255, 107, 157, 0.35);
  --glass-blur:           blur(20px);
  --glass-blur-heavy:     blur(40px);

  /* ── Typography ── */
  --text-primary:         #F5F0FF;
  --text-secondary:       #B8B0CC;
  --text-muted:           #7a7090;
  --text-accent:          var(--color-primary);

  /* ── Gradients ── */
  --gradient-hero:        linear-gradient(135deg, #0a0a0f 0%, #1a0a1f 40%, #0f0a1a 100%);
  --gradient-primary:     linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
  --gradient-gold:        linear-gradient(135deg, #F8B500 0%, #FF6B35 100%);
  --gradient-teal:        linear-gradient(135deg, #4ECDC4 0%, #44A8B3 100%);
  --gradient-purple:      linear-gradient(135deg, #A55EEA 0%, #7B2FBE 100%);
  --gradient-card:        linear-gradient(145deg, rgba(255,107,157,0.08) 0%, rgba(164,94,234,0.05) 100%);
  --gradient-shimmer:     linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.06) 50%, transparent 100%);
  --gradient-radial-glow: radial-gradient(ellipse at center, rgba(255,107,157,0.15) 0%, transparent 70%);

  /* ── Shadows ── */
  --shadow-sm:            0 2px 8px rgba(0,0,0,0.3);
  --shadow-md:            0 8px 32px rgba(0,0,0,0.4);
  --shadow-lg:            0 16px 64px rgba(0,0,0,0.5);
  --shadow-glow-pink:     0 0 30px rgba(255,107,157,0.35), 0 0 60px rgba(255,107,157,0.15);
  --shadow-glow-gold:     0 0 30px rgba(248,181,0,0.35),  0 0 60px rgba(248,181,0,0.15);
  --shadow-glow-teal:     0 0 30px rgba(78,205,196,0.35), 0 0 60px rgba(78,205,196,0.15);
  --shadow-card:          0 8px 32px rgba(0,0,0,0.4), 0 0 0 1px var(--glass-border);

  /* ── Fonts ── */
  --font-heading:         'Playfair Display', Georgia, serif;
  --font-body:            'Poppins', system-ui, sans-serif;
  --font-accent:          'Dancing Script', cursive;

  /* ── Spacing ── */
  --space-xs:   0.25rem;
  --space-sm:   0.5rem;
  --space-md:   1rem;
  --space-lg:   2rem;
  --space-xl:   4rem;
  --space-2xl:  8rem;

  /* ── Border Radius ── */
  --radius-sm:   8px;
  --radius-md:   16px;
  --radius-lg:   24px;
  --radius-xl:   40px;
  --radius-full: 9999px;

  /* ── Transitions ── */
  --transition-fast:   150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base:   300ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow:   600ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-bounce: 400ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ── Z-Index Scale ── */
  --z-base:     1;
  --z-card:     10;
  --z-overlay:  100;
  --z-modal:    200;
  --z-nav:      300;
  --z-toast:    400;
  --z-cursor:   9999;
}
