/*
  ZEM Abogadas — Design tokens
  Values sourced directly from the live site (zem-abogadas.com):
  Astra global color palette, Google Fonts (Playfair Display + Open Sans)
  and the header/footer brand teal used behind the SVG logo.
*/

:root {
  /* ---- Brand color palette (from ZEM's live Astra theme) ---- */
  --zem-navy: #0f172a;         /* deep navy — editorial / sports-page emphasis */
  --zem-teal: #4c6770;         /* primary brand teal — live header & footer bg */
  --zem-teal-dark: #3a4f56;    /* teal hover / pressed state */
  --zem-teal-soft: #849da2;    /* muted teal-gray — secondary text & borders */
  --zem-lavender-light: #f2f0fe; /* soft section background tint */
  --zem-lavender: #d8d8f5;     /* card / accent background */
  --zem-ink: #0d0614;          /* near-black — headline text */
  --zem-text: #222222;         /* body text */
  --zem-white: #ffffff;
  --zem-logo-ice: #d3e6ed;     /* logo stroke color, designed for teal/navy bg */

  /* ---- Typography ---- */
  --font-serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --font-sans: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;

  --fs-xs: 0.8125rem;
  --fs-sm: 0.9375rem;
  --fs-base: 1rem;
  --fs-md: 1.125rem;
  --fs-lg: clamp(1.25rem, 1.1rem + 0.7vw, 1.5rem);
  --fs-xl: clamp(1.75rem, 1.5rem + 1.2vw, 2.25rem);
  --fs-2xl: clamp(2.25rem, 1.8rem + 2vw, 3.25rem);
  --fs-3xl: clamp(2.75rem, 2.1rem + 3vw, 4.25rem);

  --lh-tight: 1.15;
  --lh-normal: 1.5;
  --lh-loose: 1.75;

  /* ---- Spacing scale ---- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4.5rem;
  --space-9: 6rem;
  --space-10: 8rem;

  /* ---- Shape / motion ---- */
  --radius-sm: 5px;
  --radius-md: 10px;
  --radius-lg: 20px;
  --shadow-sm: 0 2px 10px rgba(15, 23, 42, 0.06);
  --shadow-md: 0 12px 40px rgba(15, 23, 42, 0.12);
  --transition-fast: 160ms ease;
  --transition-base: 280ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 600ms cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);

  --container-width: 1180px;
  --container-width-wide: 1360px;

  /* ---- V2: elevation / glass / z-index scale ---- */
  --z-progress: 210;
  --z-header: 200;
  --z-float: 190;

  --glass-teal-bg: rgba(76, 103, 112, 0.62);
  --glass-navy-bg: rgba(15, 23, 42, 0.96);
  --glass-border: rgba(255, 255, 255, 0.14);
  --glass-blur: 18px;

  /* ---- V2: hero light-field stops (reuse brand hues only) ---- */
  --light-navy: rgba(15, 23, 42, 0.9);
  --light-teal: rgba(76, 103, 112, 0.55);
  --light-lavender: rgba(216, 216, 245, 0.28);
  --light-ice: rgba(211, 230, 237, 0.35);
  --pointer-light: rgba(211, 230, 237, 0.16);
}
