/* =============================================
   Calheiros Brast — Design Tokens
   ============================================= */

:root {
  /* --- Color Palette --- */
  --primary:         #1A2D4A;
  --primary-dark:    #0F1D33;
  --primary-light:   #2A4A6B;
  --primary-rgb:     26, 45, 74;

  --accent:          #C9A84C;
  --accent-light:    #D4B96A;
  --accent-dark:     #A88A3A;
  --accent-rgb:      201, 168, 76;

  --text:            #1A1A2E;
  --text-secondary:  #5A6577;
  --text-muted:      #8A93A1;
  --text-on-dark:    #E8ECF2;
  --text-on-dark-muted: #9CAABB;

  --bg:              #FAFBFD;
  --bg-warm:         #F5F3EF;
  --bg-dark:         #0F1D33;
  --bg-darker:       #0A1528;

  --card:            #FFFFFF;
  --card-dark:       rgba(255, 255, 255, 0.04);
  --border:          #E2E8F0;
  --border-light:    #F0F2F5;
  --border-on-dark:  rgba(255, 255, 255, 0.08);

  --success:         #059669;
  --error:           #DC2626;

  /* --- Typography --- */
  --font-heading:    'EB Garamond', 'Georgia', serif;
  --font-body:       'Lato', 'Helvetica Neue', sans-serif;

  --text-xs:         clamp(0.7rem, 0.65rem + 0.25vw, 0.8rem);
  --text-sm:         clamp(0.8rem, 0.75rem + 0.25vw, 0.9rem);
  --text-base:       clamp(0.95rem, 0.9rem + 0.25vw, 1.05rem);
  --text-lg:         clamp(1.1rem, 1rem + 0.5vw, 1.25rem);
  --text-xl:         clamp(1.25rem, 1.1rem + 0.75vw, 1.5rem);
  --text-2xl:        clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  --text-3xl:        clamp(1.8rem, 1.3rem + 2.5vw, 2.8rem);
  --text-4xl:        clamp(2.2rem, 1.5rem + 3.5vw, 3.8rem);
  --text-5xl:        clamp(2.8rem, 1.8rem + 5vw, 5rem);

  --weight-light:    300;
  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;

  --leading-tight:   1.2;
  --leading-normal:  1.6;
  --leading-relaxed: 1.8;

  --tracking-tight:  -0.02em;
  --tracking-normal: 0;
  --tracking-wide:   0.05em;
  --tracking-wider:  0.12em;
  --tracking-widest: 0.2em;

  /* --- Spacing (8px base grid) --- */
  --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-8:    2rem;      /* 32px */
  --space-10:   2.5rem;    /* 40px */
  --space-12:   3rem;      /* 48px */
  --space-16:   4rem;      /* 64px */
  --space-20:   5rem;      /* 80px */
  --space-24:   6rem;      /* 96px */
  --space-32:   8rem;      /* 128px */

  /* --- Layout --- */
  --container-sm:   640px;
  --container-md:   768px;
  --container-lg:   1024px;
  --container-xl:   1200px;
  --container-2xl:  1400px;

  --section-padding-y: clamp(4rem, 3rem + 5vw, 8rem);
  --section-padding-x: clamp(1.25rem, 1rem + 2vw, 3rem);

  /* --- Borders & Radius --- */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   16px;
  --radius-2xl:  24px;
  --radius-full: 9999px;

  /* --- Shadows --- */
  --shadow-sm:    0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md:    0 4px 12px rgba(0, 0, 0, 0.06);
  --shadow-lg:    0 8px 30px rgba(0, 0, 0, 0.08);
  --shadow-xl:    0 16px 48px rgba(0, 0, 0, 0.1);
  --shadow-gold:  0 4px 20px rgba(201, 168, 76, 0.15);
  --shadow-card-hover: 0 12px 40px rgba(0, 0, 0, 0.12);

  /* --- Transitions --- */
  --ease-out:       cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out:    cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring:    cubic-bezier(0.34, 1.56, 0.64, 1);

  --duration-fast:   150ms;
  --duration-normal: 300ms;
  --duration-slow:   500ms;
  --duration-reveal: 800ms;

  /* --- Z-index Scale --- */
  --z-base:       1;
  --z-dropdown:   10;
  --z-sticky:     20;
  --z-overlay:    30;
  --z-modal:      40;
  --z-whatsapp:   50;
  --z-chatbot:    55;
  --z-chatbot-modal: 60;
  --z-nav:        100;
}
