/**
 * Piscinas Rodríguez - Design System Tokens
 * Specialist in shotcrete (gunitado) pools - Almería, Spain
 */

:root {
  /* ==========================================================================
     Colors - Mediterranean Blue & Sand Palette
     ========================================================================== */
  
  /* Primary Blues - Harmonized with logo */
  --color-ocean-deep: hsl(210, 50%, 12%); /* Very dark blue, near logo's charcoal */
  --color-azure: hsl(210, 65%, 45%);      /* Primary blue matching logo waves */
  --color-pool: hsl(195, 85%, 50%);       /* Vibrant pool water blue */
  --color-foam: hsl(195, 55%, 88%);       /* Very light blue tint */
  
  /* Sand & Earth Tones */
  --color-sand: hsl(38, 50%, 85%);        /* Warm sandy beige */
  --color-sand-dark: hsl(35, 35%, 50%);   /* Darker sand for contrast */
  --color-cream: hsl(40, 25%, 97%);       /* Near-white warm background */
  
  /* Text & Utilities */
  --color-text: hsl(210, 25%, 12%);       /* Dark text */
  --color-text-light: hsl(210, 15%, 40%); /* Lighter text for subtitles */
  --color-white: #ffffff;
  --color-overlay: hsla(210, 50%, 5%, 0.65); /* Semi-transparent dark overlay for hero */
  
  /* Social / Actions */
  --color-whatsapp: hsl(142, 70%, 40%);
  --color-whatsapp-hover: hsl(142, 70%, 35%);

  /* ==========================================================================
     Typography
     ========================================================================== */
  
  --font-heading: 'Outfit', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-body: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  
  /* Fluid Typography using clamp()
     Scales smoothly between mobile (320px) and desktop (1200px) */
  --fs-xs: clamp(0.75rem, 0.71rem + 0.2vw, 0.875rem);   /* 12px -> 14px */
  --fs-sm: clamp(0.875rem, 0.84rem + 0.17vw, 1rem);     /* 14px -> 16px */
  --fs-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);   /* 16px -> 18px */
  --fs-lg: clamp(1.125rem, 1.05rem + 0.38vw, 1.35rem);  /* 18px -> 21.6px */
  --fs-xl: clamp(1.25rem, 1.13rem + 0.6vw, 1.6rem);     /* 20px -> 25.6px */
  --fs-2xl: clamp(1.5rem, 1.3rem + 1vw, 2.1rem);        /* 24px -> 33.6px */
  --fs-3xl: clamp(1.875rem, 1.55rem + 1.6vw, 2.8rem);   /* 30px -> 44.8px */
  --fs-4xl: clamp(2.25rem, 1.77rem + 2.4vw, 3.75rem);   /* 36px -> 60px */
  --fs-hero: clamp(2.75rem, 2.05rem + 3.5vw, 5rem);     /* 44px -> 80px */
  
  /* Line Heights */
  --lh-tight: 1.1;
  --lh-heading: 1.25;
  --lh-base: 1.6;
  --lh-loose: 1.8;
  
  /* Letter Spacing */
  --tracking-tight: -0.02em;
  --tracking-normal: 0;
  --tracking-wide: 0.02em;
  --tracking-wider: 0.05em;

  /* ==========================================================================
     Spacing
     ========================================================================== */
  
  --space-xs: 0.25rem;    /* 4px */
  --space-sm: 0.5rem;     /* 8px */
  --space-md: 1rem;       /* 16px */
  --space-lg: 1.5rem;     /* 24px */
  --space-xl: 2rem;       /* 32px */
  --space-2xl: 3rem;      /* 48px */
  --space-3xl: 6rem;      /* 96px */
  --space-4xl: 8rem;      /* 128px */
  
  /* Fluid spacing for sections */
  --space-section-y: clamp(3rem, 5vw, 6rem);
  --space-section-x: clamp(1rem, 3vw, 2rem);

  /* ==========================================================================
     Layout & Geometry
     ========================================================================== */
  
  /* Border Radius */
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 1rem;
  --radius-xl: 2rem;
  --radius-full: 9999px;
  
  /* Container Dimensions */
  --container-max: 1200px;
  --container-padding: var(--space-section-x);

  /* ==========================================================================
     Effects & Animations
     ========================================================================== */
  
  /* 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);
  
  /* Shadows */
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --shadow-glow: 0 0 20px hsla(210, 65%, 45%, 0.3); /* Blue glow matching primary color */
  
  /* Z-Index Layers */
  --z-base: 1;
  --z-nav: 100;
  --z-overlay: 200;
  --z-modal: 300;
  --z-whatsapp: 400;
}
