/* =====================================================================
   IMPULSA COCINA — Design Tokens
   Brand: Impulsa 18 Multiservicios · Grupo Inserta Andalucía
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800&display=swap');

:root {
  /* ============== BRAND — PRIMARY (teal) ============== */
  --teal-900: #0F3A47;
  --teal-800: #155366;
  --teal-700: #1F6F89;
  --teal-600: #2C8AA7;
  --teal-500: #3FA0BD;
  --teal-400: #6FBBD1;
  --teal-300: #9CCFDE;
  --teal-200: #C6E3EC;
  --teal-100: #DEEFF4;
  --teal-050: #EEF6F9;

  /* ============== BRAND — SECONDARY (orange) ============== */
  --orange-700: #C9742B;
  --orange-600: #E07F2E;
  --orange-500: #F2994A;
  --orange-300: #F7BE8A;
  --orange-100: #FCE6D2;
  --orange-050: #FDF3EA;

  /* ============== NEUTRALS / INK ============== */
  --ink-900: #0E2530;
  --ink-800: #163240;
  --ink-700: #294453;
  --ink-600: #3A4F59;
  --ink-500: #5B6F78;
  --ink-400: #81959D;
  --ink-300: #AEBEC6;

  --line-strong: #CBD7DD;
  --line:        #E2E8EC;
  --line-soft:   #EDF1F4;

  --surface:      #FFFFFF;
  --surface-alt:  #FBFCFD;
  --bg:           #F7F9FB;
  --bg-shell:     #F0F4F7;

  /* ============== SEMANTIC / STATUS ============== */
  --success:     #2E8B57;  --success-bg: #E6F3EC;  --success-bd: #BFE0CD;
  --warning:     #C9821F;  --warning-bg: #FBF0DC;  --warning-bd: #F0D9AE;
  --danger:      #C9483A;  --danger-bg:  #FBE9E6;  --danger-bd:  #F1C5BE;
  --info:        #2C8AA7;  --info-bg:    #E5F1F5;  --info-bd:    #C0DEE8;

  /* ============== FOCUS ============== */
  --focus-ring: 0 0 0 0.2rem rgba(44, 138, 167, 0.30);

  /* ============== TYPOGRAPHY ============== */
  --font-heading: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-body: system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, 'SFMono-Regular', 'Menlo', 'Consolas', monospace;

  --fs-display: 2.25rem;
  --fs-h1: 1.75rem;
  --fs-h2: 1.375rem;
  --fs-h3: 1.125rem;
  --fs-body: 1rem;
  --fs-sm: 0.875rem;
  --fs-xs: 0.75rem;

  --lh-tight: 1.15;
  --lh-snug: 1.3;
  --lh-base: 1.55;

  /* ============== SPACING ============== */
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.5rem;
  --sp-6: 2rem;
  --sp-7: 3rem;

  /* ============== RADII ============== */
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 14px;
  --r-pill: 999px;

  /* ============== ELEVATION ============== */
  --sh-sm: 0 1px 2px rgba(22, 50, 64, 0.06), 0 1px 3px rgba(22, 50, 64, 0.05);
  --sh-md: 0 2px 6px rgba(22, 50, 64, 0.07), 0 4px 14px rgba(22, 50, 64, 0.06);
  --sh-lg: 0 8px 28px rgba(22, 50, 64, 0.12);
  --sh-card-hover: 0 6px 18px rgba(44, 138, 167, 0.14);

  --card-dish-h: 240px;

  /* ============== ALLERGENS — 14-UE ============== */
  --alg-gluten:      #B5832A;  --alg-gluten-bg:      #F7EFDC;
  --alg-crustaceos:  #D45A43;  --alg-crustaceos-bg:  #FBE7E2;
  --alg-huevos:      #C99A1E;  --alg-huevos-bg:      #FAF1D5;
  --alg-pescado:     #2E78A8;  --alg-pescado-bg:     #E2EEF6;
  --alg-cacahuetes:  #9A5A2E;  --alg-cacahuetes-bg:  #F3E7DC;
  --alg-soja:        #4F8C46;  --alg-soja-bg:        #E6F1E3;
  --alg-lacteos:     #5C93B5;  --alg-lacteos-bg:     #E5EFF5;
  --alg-frutos:      #7A4A28;  --alg-frutos-bg:      #EFE6DE;
  --alg-apio:        #6E8C2F;  --alg-apio-bg:        #EDF2DD;
  --alg-mostaza:     #C49216;  --alg-mostaza-bg:     #F9F0D2;
  --alg-sesamo:      #A07C3C;  --alg-sesamo-bg:      #F2EBDB;
  --alg-sulfitos:    #7E5BA6;  --alg-sulfitos-bg:    #EEE8F4;
  --alg-altramuces:  #3F8E78;  --alg-altramuces-bg:  #E2F0EB;
  --alg-moluscos:    #50739E;  --alg-moluscos-bg:    #E6ECF4;

  /* ============== BOOTSTRAP OVERRIDES ============== */
  --bs-primary: var(--teal-600);
  --bs-primary-rgb: 44, 138, 167;
  --bs-secondary: var(--orange-500);
  --bs-secondary-rgb: 242, 153, 74;
  --bs-success: var(--success);
  --bs-success-rgb: 46, 139, 87;
  --bs-warning: var(--warning);
  --bs-warning-rgb: 201, 130, 31;
  --bs-danger: var(--danger);
  --bs-danger-rgb: 201, 72, 58;
  --bs-body-color: var(--ink-600);
  --bs-body-bg: var(--bg);
  --bs-body-font-family: var(--font-body);
  --bs-border-radius: var(--r-md);
  --bs-border-radius-sm: var(--r-sm);
  --bs-border-radius-lg: var(--r-lg);
  --bs-border-radius-pill: var(--r-pill);
}

body {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-base);
  color: var(--ink-600);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  color: var(--ink-800);
  line-height: var(--lh-snug);
}
h1 { font-size: var(--fs-h1); font-weight: 700; letter-spacing: -0.01em; }
h2 { font-size: var(--fs-h2); font-weight: 700; }
h3 { font-size: var(--fs-h3); font-weight: 600; }

a { color: var(--teal-600); }
a:hover { color: var(--teal-700); }

small, .text-muted { color: var(--ink-400); }

.eyebrow {
  font-family: var(--font-heading);
  font-size: var(--fs-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-400);
}

code, .mono { font-family: var(--font-mono); font-size: 0.9em; }
