/* =========================================================================
   GV Veterinaria & Spa — Design tokens
   ========================================================================= */
:root {
  /* Brand */
  --gv-orange:        #F37021;
  --gv-orange-deep:   #D85A0F;
  --gv-orange-bright: #FF8A3D;
  --gv-orange-soft:   #FFE7D4;
  --gv-orange-glow:   rgba(243, 112, 33, .35);

  --gv-ink:           #14110F;   /* casi negro cálido */
  --gv-ink-2:         #2A241F;
  --gv-ink-3:         #443B33;

  --gv-cream:         #FFF7EE;
  --gv-cream-2:       #FCEFE0;
  --gv-cream-3:       #F4E5D2;

  --gv-mint:          #4A9B8E;
  --gv-mint-soft:     #DCEFEB;

  --gv-coral:         #FF7A6B;
  --gv-success:       #6BBA75;
  --gv-warn:          #FFB547;
  --gv-error:         #E74C3C;
  --gv-info:          #5B9BD5;

  --gv-text:          var(--gv-ink);
  --gv-text-muted:    #6B6B6B;
  --gv-text-soft:     #8C7E70;
  --gv-line:          #ECE3D6;
  --gv-line-strong:   #D9CCB8;

  /* Surface */
  --gv-bg:            var(--gv-cream);
  --gv-bg-card:       #FFFFFF;
  --gv-bg-elev:       #FFFFFF;
  --gv-bg-deep:       var(--gv-ink);

  /* Type */
  --gv-font-display:  'Fraunces', ui-serif, Georgia, 'Times New Roman', serif;
  --gv-font-body:     'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --gv-font-mono:     'JetBrains Mono', 'IBM Plex Mono', ui-monospace, Menlo, Consolas, monospace;

  /* Radius */
  --gv-radius-xs:  6px;
  --gv-radius-sm:  10px;
  --gv-radius:     16px;
  --gv-radius-lg:  24px;
  --gv-radius-xl:  32px;
  --gv-radius-full: 999px;

  /* Shadow */
  --gv-shadow-sm:  0 1px 2px rgba(20, 17, 15, .06), 0 1px 1px rgba(20, 17, 15, .03);
  --gv-shadow:     0 6px 18px -8px rgba(20, 17, 15, .15), 0 2px 6px -2px rgba(20, 17, 15, .07);
  --gv-shadow-lg:  0 24px 48px -16px rgba(20, 17, 15, .18), 0 8px 16px -8px rgba(20, 17, 15, .12);
  --gv-shadow-glow: 0 10px 30px -10px var(--gv-orange-glow);

  /* Spacing scale (4px base) */
  --gv-space-1:  4px;
  --gv-space-2:  8px;
  --gv-space-3:  12px;
  --gv-space-4:  16px;
  --gv-space-5:  20px;
  --gv-space-6:  24px;
  --gv-space-7:  32px;
  --gv-space-8:  40px;
  --gv-space-9:  56px;
  --gv-space-10: 72px;
  --gv-space-11: 96px;
  --gv-space-12: 128px;

  /* Container */
  --gv-container:    1240px;
  --gv-container-md: 1080px;
  --gv-container-sm: 880px;
  --gv-container-xs: 640px;

  /* Z */
  --gv-z-header:    50;
  --gv-z-overlay:   80;
  --gv-z-modal:     100;
  --gv-z-toast:     120;

  /* Motion */
  --gv-ease:        cubic-bezier(.4, 0, .2, 1);
  --gv-ease-out:    cubic-bezier(.16, 1, .3, 1);
  --gv-ease-spring: cubic-bezier(.34, 1.56, .64, 1);
  --gv-dur-fast:    140ms;
  --gv-dur:         220ms;
  --gv-dur-slow:    420ms;
}

/* Dark surfaces helpers */
.gv-dark {
  --gv-bg:            var(--gv-ink);
  --gv-bg-card:       var(--gv-ink-2);
  --gv-text:          var(--gv-cream);
  --gv-text-muted:    #BFAEA0;
  --gv-line:          #2E2520;
}
