/* ═══════════════════════════════════════════════════════
   DESIGN TOKENS — Vitis Aurora 2027
   Squad Web | Cooperativa Vinícola Aurora
   ═══════════════════════════════════════════════════════ */

:root {

  /* ───────────────────────────────
     CORES — Paleta da marca
  ─────────────────────────────── */

  /* Marca principal */
  --color-marca:            #18344c; /* azul-noite */
  --color-marca-hover:      #122639;
  --color-marca-light:      #2a4d6d;

  /* Acentos / status */
  --color-verde:            #283a2c; /* institucional / status disponível */
  --color-verde-hover:      #1c2a1f;
  --color-amarelo:          #ddad6f; /* dourado — CTAs e destaques */
  --color-amarelo-hover:    #c79759;
  --color-amarelo-light:    #ecc999;
  --color-bege:             #8d876f; /* texto secundário */
  --color-bege-basico:      #d9bba1; /* fundo sutil */

  /* Eixos temáticos */
  --color-cooperativismo:   #b05640; /* terracota */
  --color-mercado:          #80313c; /* vinho — status ocupado */
  --color-mercado-hover:    #6a2832;
  --color-enoturismo:       #563d54; /* roxo */
  --color-esg:              #636147; /* verde oliva */

  /* Neutras */
  --color-bg:               #f2eadc; /* champagne — fundo principal */
  --color-surface:          #ffffff; /* cards, modais */
  --color-surface-2:        #faf3e6; /* variação champagne */
  --color-border:           rgb(24 52 76 / 0.12);
  --color-border-strong:    rgb(24 52 76 / 0.24);
  --color-text:             #333333; /* texto base */
  --color-text-muted:       #8d876f; /* bege escuro */
  --color-text-inverse:     #ffffff;
  --color-preto:            #333333;
  --color-branco:           #ffffff;
  --color-champagne:        #f2eadc;

  /* Aliases semânticos (compatibilidade com mapping arquitetural) */
  --color-primary:          var(--color-marca);
  --color-primary-hover:    var(--color-marca-hover);
  --color-primary-light:    var(--color-marca-light);
  --color-secondary:        var(--color-amarelo);
  --color-secondary-hover:  var(--color-amarelo-hover);
  --color-accent:           var(--color-amarelo);

  /* Marca terceiros */
  --color-whatsapp:         #25D366;
  --color-whatsapp-hover:   #1ebe5a;

  /* Feedback */
  --color-success:          var(--color-verde);
  --color-success-bg:       #e8efe9;
  --color-warning:          var(--color-amarelo);
  --color-warning-bg:       #fbf2e3;
  --color-error:            var(--color-mercado);
  --color-error-bg:         #f5e4e6;
  --color-info:             var(--color-marca);
  --color-info-bg:          #e3e9ef;


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

  --font-heading: 'Unna', 'Playfair Display', Georgia, serif;
  --font-body:    'JUST Sans', 'Mulish', 'Nunito Sans', system-ui, -apple-system, Segoe UI, sans-serif;
  --font-mono:    'Courier New', Courier, monospace;

  /* Aliases legados (compat com estilos.md) */
  --font-title:   var(--font-heading);
  --font:         var(--font-body);

  /* Escala fluida (clamp) — calibrada para hero 50/55 e h2 35 */
  --text-xs:   clamp(0.6875rem, 1vw,  0.75rem);     /* 11–12px */
  --text-sm:   clamp(0.8125rem, 1.3vw, 0.875rem);   /* 13–14px */
  --text-base: clamp(0.9375rem, 1.6vw, 1rem);       /* 15–16px */
  --text-lg:   clamp(1rem,      1.8vw, 1.125rem);   /* 16–18px (P base 18) */
  --text-xl:   clamp(1.125rem,  2vw,  1.25rem);     /* 18–20px */
  --text-2xl:  clamp(1.25rem,   2.5vw, 1.625rem);   /* 20–26px (h4 italic) */
  --text-3xl:  clamp(1.5rem,    3vw,  1.875rem);    /* 24–30px */
  --text-4xl:  clamp(1.75rem,   3.8vw, 2.1875rem);  /* 28–35px (h2 35) */
  --text-5xl:  clamp(2.25rem,   5vw,  3.125rem);    /* 36–50px (h1 50) */
  --text-6xl:  clamp(2.75rem,   6vw,  3.75rem);     /* 44–60px */

  /* Pesos */
  --font-light:    300;
  --font-regular:  400;
  --font-medium:   500;
  --font-semibold: 600;
  --font-bold:     700;
  --font-black:    900;

  /* Alturas de linha */
  --leading-none:    1;
  --leading-tight:   1.1;     /* h1 50/55 ≈ 1.1 */
  --leading-snug:    1.3;
  --leading-normal:  1.33;    /* p 18/24 ≈ 1.33 */
  --leading-relaxed: 1.6;
  --leading-loose:   1.85;

  /* Tracking */
  --tracking-tight:  -0.02em;
  --tracking-normal:  0;
  --tracking-wide:    0.025em;
  --tracking-wider:   0.05em;
  --tracking-widest:  0.12em;


  /* ───────────────────────────────
     ESPAÇAMENTOS
  ─────────────────────────────── */

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

  /* Padding de seção — responsivo / generoso (estilo editorial) */
  --section-padding-y: clamp(var(--space-16), 9vw, var(--space-28));
  --section-padding-x: clamp(var(--space-5),  5vw, var(--space-10));


  /* ───────────────────────────────
     BORDAS
  ─────────────────────────────── */

  --radius-none: 0;
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   16px;
  --radius-2xl:  24px;
  --radius-3xl:  32px;
  --radius-full: 9999px;

  --border-thin:   1px solid var(--color-border);
  --border-medium: 2px solid var(--color-border);
  --border-thick:  4px solid var(--color-border);


  /* ───────────────────────────────
     SOMBRAS
  ─────────────────────────────── */

  --shadow-xs: 0 1px 2px 0 rgb(24 52 76 / 0.06);
  --shadow-sm: 0 1px 3px 0 rgb(24 52 76 / 0.08), 0 1px 2px -1px rgb(24 52 76 / 0.06);
  --shadow-md: 0 4px 10px -2px rgb(24 52 76 / 0.10), 0 2px 4px -2px rgb(24 52 76 / 0.06);
  --shadow-lg: 0 12px 24px -6px rgb(24 52 76 / 0.14), 0 4px 8px -4px rgb(24 52 76 / 0.08);
  --shadow-xl: 0 24px 40px -12px rgb(24 52 76 / 0.18), 0 8px 16px -8px rgb(24 52 76 / 0.10);
  --shadow-2xl:0 32px 64px -16px rgb(24 52 76 / 0.28);
  --shadow-inner: inset 0 2px 4px 0 rgb(24 52 76 / 0.06);


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

  --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-bounce:  cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-spring:  cubic-bezier(0.175, 0.885, 0.32, 1.275);

  --duration-fast:   150ms;
  --duration-base:   300ms;
  --duration-slow:   500ms;
  --duration-slower: 700ms;

  --transition-fast:   var(--duration-fast) var(--ease-in-out);
  --transition-base:   var(--duration-base) var(--ease-in-out);
  --transition-slow:   var(--duration-slow) var(--ease-in-out);
  --transition-bounce: var(--duration-base) var(--ease-bounce);


  /* ───────────────────────────────
     LAYOUT
  ─────────────────────────────── */

  --container-xs:  480px;
  --container-sm:  640px;
  --container-md:  768px;
  --container-lg:  1024px;
  --container-xl:  1280px;
  --container-2xl: 1440px;

  --navbar-height: 88px;

  /* Z-index */
  --z-hide:    -1;
  --z-base:     0;
  --z-raised:  10;
  --z-dropdown:20;
  --z-sticky:  30;
  --z-overlay: 40;
  --z-modal:   50;
  --z-toast:   60;
  --z-tooltip: 70;
  --z-nav:     80;
  --z-max:    999;
}
