/* ============================================================
   VARIABLES.CSS — Design Tokens
   Site Institucional | Advocacia em Direito Médico
   ============================================================ */

:root {
  /* ──────────────────────────────────────────────
     CORES
     ────────────────────────────────────────────── */

  /* Primárias */
  --color-black:            #1A1A1A;
  --color-offwhite:         #F5F2EE;
  --color-white:            #FFFFFF;

  /* Secundárias */
  --color-navy:             #1B2A4A;
  --color-navy-light:       #253a64;
  --color-gray:             #6B6B6B;
  --color-gray-light:       #E8E5E0;
  --color-gray-lighter:     #F0EDEA;
  --color-gray-dark:        #3D3D3D;

  /* Detalhe */
  --color-champagne:        #C4A97D;
  --color-champagne-light:  #D4C5A9;
  --color-champagne-dark:   #A8905F;

  /* Funcionais */
  --color-success:          #4A6741;
  --color-error:            #8B3A3A;
  --color-focus:            #1B2A4A;

  /* Overlays */
  --overlay-dark:           rgba(26, 26, 26, 0.65);
  --overlay-light:          rgba(255, 255, 255, 0.08);
  --overlay-champagne:      rgba(196, 169, 125, 0.08);

  /* ──────────────────────────────────────────────
     TIPOGRAFIA
     ────────────────────────────────────────────── */

  --font-serif:             'Cormorant Garamond', 'Georgia', 'Times New Roman', serif;
  --font-sans:              'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* Tamanhos — Fluid Typography */
  --text-xs:                0.75rem;     /* 12px */
  --text-sm:                0.875rem;    /* 14px */
  --text-base:              1rem;        /* 16px */
  --text-md:                1.125rem;    /* 18px */
  --text-lg:                clamp(1.125rem, 1.5vw, 1.375rem);    /* 18–22px */
  --text-xl:                clamp(1.25rem,  2vw,   1.5rem);      /* 20–24px */
  --text-2xl:               clamp(1.5rem,   2.5vw, 2rem);        /* 24–32px */
  --text-3xl:               clamp(1.75rem,  3vw,   2.5rem);      /* 28–40px */
  --text-4xl:               clamp(2rem,     4vw,   3.25rem);     /* 32–52px */
  --text-5xl:               clamp(2.5rem,   5vw,   4.5rem);      /* 40–72px */
  --text-hero:              clamp(2.75rem,  6vw,   5.5rem);      /* 44–88px */

  /* Pesos */
  --weight-light:           300;
  --weight-regular:         400;
  --weight-medium:          500;
  --weight-semibold:        600;

  /* Line heights */
  --leading-tight:          1.1;
  --leading-snug:           1.25;
  --leading-normal:         1.5;
  --leading-relaxed:        1.65;
  --leading-loose:          1.8;

  /* Letter spacing */
  --tracking-tight:         -0.02em;
  --tracking-normal:        0;
  --tracking-wide:          0.05em;
  --tracking-wider:         0.1em;
  --tracking-widest:        0.2em;

  /* ──────────────────────────────────────────────
     ESPAÇAMENTO
     ────────────────────────────────────────────── */

  --space-2xs:              0.25rem;     /* 4px */
  --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 */

  /* Seções */
  --section-padding-y:      clamp(4rem, 8vw, 8rem);
  --section-padding-x:      clamp(1.25rem, 5vw, 3rem);

  /* Container */
  --container-max:          1280px;
  --container-narrow:       860px;
  --container-wide:         1440px;

  /* ──────────────────────────────────────────────
     BORDAS E SOMBRAS
     ────────────────────────────────────────────── */

  --radius-sm:              4px;
  --radius-md:              8px;
  --radius-lg:              12px;
  --radius-xl:              16px;
  --radius-full:            9999px;

  --shadow-sm:              0 1px 3px rgba(0, 0, 0, 0.06);
  --shadow-md:              0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg:              0 8px 32px rgba(0, 0, 0, 0.1);
  --shadow-xl:              0 16px 48px rgba(0, 0, 0, 0.12);
  --shadow-glass:           0 8px 32px rgba(0, 0, 0, 0.08),
                            inset 0 1px 0 rgba(255, 255, 255, 0.25);

  /* ──────────────────────────────────────────────
     LIQUID GLASS
     ────────────────────────────────────────────── */

  --glass-bg-light:         rgba(255, 255, 255, 0.12);
  --glass-bg-dark:          rgba(26, 26, 26, 0.06);
  --glass-bg-solid:         rgba(245, 242, 238, 0.95);
  --glass-border:           rgba(255, 255, 255, 0.18);
  --glass-border-dark:      rgba(26, 26, 26, 0.08);
  --glass-blur:             20px;
  --glass-saturate:         1.2;

  /* ──────────────────────────────────────────────
     TRANSIÇÕES
     ────────────────────────────────────────────── */

  --transition-fast:        150ms ease;
  --transition-base:        300ms ease;
  --transition-slow:        500ms ease;
  --transition-slower:      800ms ease-out;

  --ease-out-expo:          cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-quart:         cubic-bezier(0.25, 1, 0.5, 1);
  --ease-in-out:            cubic-bezier(0.4, 0, 0.2, 1);

  /* ──────────────────────────────────────────────
     Z-INDEX
     ────────────────────────────────────────────── */

  --z-base:                 1;
  --z-dropdown:             10;
  --z-sticky:               20;
  --z-header:               100;
  --z-overlay:              200;
  --z-modal:                300;
  --z-tooltip:              400;
  --z-top:                  999;

  /* ──────────────────────────────────────────────
     HEADER
     ────────────────────────────────────────────── */

  --header-height:          80px;
  --header-height-mobile:   64px;
}
