/* ============================================
   DESIGN SYSTEM - CSS VARIABLES
   Dott.ssa Elena Salami - Oculista
   ============================================ */

:root {
  /* ============================================
     PALETTE COLORI SOFISTICATA
     ============================================ */

  /* Primary - Blu profondo sofisticato */
  --color-primary-900: #0a2e3f;
  --color-primary-800: #134b61;
  --color-primary-700: #1a5f7a;
  --color-primary-600: #2e8bc0;
  --color-primary-500: #5ba3d0;
  --color-primary-400: #87c1e0;
  --color-primary-300: #b3dbef;
  --color-primary-200: #d4eaf5;
  --color-primary-100: #e8f4f8;
  --color-primary-50: #f4fafb;

  /* Neutrali - Grigi eleganti */
  --color-neutral-900: #1a1a1a;
  --color-neutral-800: #2d2d2d;
  --color-neutral-700: #404040;
  --color-neutral-600: #666666;
  --color-neutral-500: #808080;
  --color-neutral-400: #a6a6a6;
  --color-neutral-300: #cccccc;
  --color-neutral-200: #e5e5e5;
  --color-neutral-100: #f5f5f5;
  --color-neutral-50: #fafafa;

  /* Accent - Oro elegante per CTA */
  --color-accent-gold: #c9a25f;
  --color-accent-gold-light: #dbb87d;
  --color-accent-gold-dark: #b08945;

  /* Semantici */
  --color-success: #10b981;
  --color-error: #ef4444;
  --color-warning: #f59e0b;
  --color-info: #3b82f6;

  /* Glassmorphism */
  --glass-bg: rgba(255, 255, 255, 0.7);
  --glass-border: rgba(255, 255, 255, 0.18);
  --glass-shadow: 0 8px 32px rgba(26, 95, 122, 0.15);
  --glass-blur: blur(10px);

  /* ============================================
     TIPOGRAFIA PREMIUM
     ============================================ */

  /* Font Families */
  --font-heading: 'Josefin Sans', sans-serif;
  --font-body: 'Merriweather', Georgia, serif;
  --font-accent: 'Josefin Sans', sans-serif;

  /* Font Weights */
  --font-light: 300;
  --font-regular: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;

  /* Font Sizes - Fluid Typography */
  --text-xs: clamp(0.75rem, 0.9vw, 0.875rem);
  --text-sm: clamp(0.875rem, 1.1vw, 1rem);
  --text-base: clamp(1rem, 1.3vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1.5vw, 1.25rem);
  --text-xl: clamp(1.25rem, 1.8vw, 1.5rem);
  --text-2xl: clamp(1.5rem, 2.5vw, 2rem);
  --text-3xl: clamp(1.5rem, 2.5vw, 2rem);
  --text-4xl: clamp(1.75rem, 3.5vw, 2.5rem);
  --text-5xl: clamp(2rem, 4vw, 3rem);

  /* Line Heights */
  --leading-tight: 1.2;
  --leading-snug: 1.375;
  --leading-normal: 1.5;
  --leading-relaxed: 1.75;
  --leading-loose: 2;

  /* Letter Spacing */
  --tracking-tighter: -0.05em;
  --tracking-tight: -0.025em;
  --tracking-normal: 0;
  --tracking-wide: 0.025em;
  --tracking-wider: 0.05em;
  --tracking-widest: 0.1em;

  /* ============================================
     SPACING SYSTEM (8-point grid)
     ============================================ */

  --space-0: 0;
  --space-1: 0.5rem;    /* 8px */
  --space-2: 1rem;      /* 16px */
  --space-3: 1.5rem;    /* 24px */
  --space-4: 2rem;      /* 32px */
  --space-5: 2.5rem;    /* 40px */
  --space-6: 3rem;      /* 48px */
  --space-7: 3.5rem;    /* 56px */
  --space-8: 4rem;      /* 64px */
  --space-10: 5rem;     /* 80px */
  --space-12: 6rem;     /* 96px */
  --space-14: 7rem;     /* 112px */
  --space-16: 8rem;     /* 128px */
  --space-20: 10rem;    /* 160px */
  --space-24: 12rem;    /* 192px */

  /* Section Spacing */
  --section-padding-y: var(--space-16);
  --section-padding-y-mobile: var(--space-10);
  --section-padding-x: var(--space-6);
  --section-padding-x-mobile: var(--space-4);

  /* Container */
  --container-max-width: 1200px;
  --container-padding: var(--space-6);

  /* ============================================
     SHADOWS PREMIUM
     ============================================ */

  /* Ombre stratificate eleganti */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 8px 32px rgba(26, 95, 122, 0.12);
  --shadow-xl: 0 16px 48px rgba(26, 95, 122, 0.15);
  --shadow-2xl: 0 24px 64px rgba(26, 95, 122, 0.2);

  /* Ombre specifiche */
  --shadow-glass: 0 8px 32px rgba(31, 38, 135, 0.1);
  --shadow-inner: inset 0 2px 4px rgba(0, 0, 0, 0.06);

  /* ============================================
     TRANSIZIONI E ANIMAZIONI
     ============================================ */

  /* Easing Functions Premium */
  --ease-linear: linear;
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-in-out-smooth: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-spring: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
  --ease-in-out-back: cubic-bezier(0.68, -0.55, 0.265, 1.55);

  /* Durate */
  --duration-instant: 0.1s;
  --duration-fast: 0.2s;
  --duration-normal: 0.3s;
  --duration-slow: 0.5s;
  --duration-slower: 0.7s;
  --duration-slowest: 1s;

  /* ============================================
     BORDER RADIUS
     ============================================ */

  --radius-none: 0;
  --radius-sm: 0.5rem;
  --radius-md: 1rem;
  --radius-lg: 1.5rem;
  --radius-xl: 2rem;
  --radius-2xl: 3rem;
  --radius-full: 9999px;

  /* ============================================
     Z-INDEX SCALE
     ============================================ */

  --z-0: 0;
  --z-10: 10;
  --z-20: 20;
  --z-30: 30;
  --z-40: 40;
  --z-50: 50;
  --z-modal: 1000;
  --z-dropdown: 1100;
  --z-sticky: 1200;
  --z-fixed: 1300;
  --z-overlay: 1400;
  --z-tooltip: 1500;

  /* ============================================
     LAYOUT
     ============================================ */

  /* Header */
  --header-height: 80px;
  --header-height-mobile: 64px;

  /* Breakpoints (for reference in media queries) */
  --breakpoint-sm: 640px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;
  --breakpoint-2xl: 1536px;

  /* ============================================
     ICON SYSTEM
     ============================================ */

  /* Icon Sizes - Sistema consistente */
  --icon-xs: 16px;
  --icon-sm: 24px;
  --icon-md: 32px;
  --icon-lg: 48px;
  --icon-xl: 80px;
  --icon-2xl: 120px;

  /* ============================================
     TRANSFORM SCALES & LIFTS
     ============================================ */

  /* Scale values for hover effects */
  --scale-xs: 0.8;
  --scale-md: 1.03;
  --scale-lg: 1.05;
  --scale-xl: 1.1;

  /* Vertical lift on hover */
  --translate-lift-sm: -2px;
  --translate-lift-md: -5px;
  --translate-lift-lg: -8px;

  /* ============================================
     BORDER ACCENTS
     ============================================ */

  --border-accent-width: 4px;

  /* ============================================
     CUSTOM RGBA COLORS
     ============================================ */

  /* Glassmorphism & Overlays */
  --glass-white-90: rgba(255, 255, 255, 0.9);
  --glass-white-30: rgba(255, 255, 255, 0.3);
  --overlay-black-95: rgba(0, 0, 0, 0.95);
  --overlay-black-40: rgba(0, 0, 0, 0.4);

  /* Primary color overlays */
  --primary-overlay-10: rgba(46, 139, 192, 0.1);
  --primary-overlay-15: rgba(46, 139, 192, 0.15);
  --primary-overlay-25: rgba(46, 139, 192, 0.25);
}
