/* ============================================================
   FARMÁCIA DEFINITIVA — VARIÁVEIS GLOBAIS
   Mobile-first | Poppins | Identidade visual própria
   ============================================================ */

/* ---------- Fontes locais ---------- */
@font-face {
  font-family: 'Poppins';
  src: url('../assets/fonts/Poppins-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('../assets/fonts/Poppins-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('../assets/fonts/Poppins-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('../assets/fonts/Poppins-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('../assets/fonts/Poppins-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ---------- Paleta de cores ---------- */
:root {
  /* Primárias (identidade atual da Definitiva) */
  --color-primary:        #1F5B5A;
  --color-primary-light:  #276F6E;
  --color-primary-dark:   #174847;
  --color-accent:         #CC794D;
  --color-accent-light:   #E6BBAA;

  /* Neutros */
  --color-white:          #ffffff;
  --color-off-white:      #f9fbfc;
  --color-gray-100:       #D7E2E8;
  --color-gray-200:       #c6d5dc;
  --color-gray-400:       #6D8B85;
  --color-gray-600:       #4d6461;
  --color-gray-900:       #183433;

  /* WhatsApp */
  --color-whatsapp:       #25d366;
  --color-whatsapp-dark:  #128c4e;

  /* ---------- Tipografia (rem, sem clamp) ---------- */
  /* Mobile base (< 640px) */
  --fs-xs:    0.75rem;   /* 12px */
  --fs-sm:    0.875rem;  /* 14px */
  --fs-base:  1rem;      /* 16px */
  --fs-md:    1.125rem;  /* 18px */
  --fs-lg:    1.25rem;   /* 20px */
  --fs-xl:    1.5rem;    /* 24px */
  --fs-2xl:   1.875rem;  /* 30px */
  --fs-3xl:   2.25rem;   /* 36px */
  --fs-4xl:   2.75rem;   /* 44px */

  /* ---------- Espaçamentos ---------- */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-5:  1.25rem;
  --space-6:  1.5rem;
  --space-8:  2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;

  /* ---------- Layout ---------- */
  --max-width:      1200px;
  --nav-height:     4rem;       /* mobile */
  --nav-height-lg:  5rem;       /* desktop */
  --nav-height-sm:  3.25rem;    /* nav reduzida ao rolar */

  /* ---------- Bordas & sombras ---------- */
  --radius-sm:  0.375rem;
  --radius-md:  0.75rem;
  --radius-lg:  1.25rem;
  --radius-pill: 9999px;

  --shadow-sm:  0 1px 4px rgba(0,0,0,.08);
  --shadow-md:  0 4px 16px rgba(0,0,0,.12);
  --shadow-lg:  0 8px 32px rgba(0,0,0,.16);

  /* ---------- Transições ---------- */
  --transition-fast:   150ms ease;
  --transition-base:   280ms ease;
  --transition-slow:   480ms ease;
}

/* ---------- Breakpoints de referência (comentário) ----------
   xs: < 400px
   sm: 400px – 639px
   md: 640px – 767px
   lg: 768px – 1023px
   xl: 1024px – 1279px
  2xl: ≥ 1280px
   --------------------------------------------------------- */

/* ---------- Ajustes tipográficos por breakpoint ---------- */

/* sm */
@media (min-width: 400px) {
  :root {
    --fs-2xl:   2rem;
    --fs-3xl:   2.5rem;
    --fs-4xl:   3rem;
  }
}

/* md */
@media (min-width: 640px) {
  :root {
    --fs-xl:    1.625rem;
    --fs-2xl:   2.25rem;
    --fs-3xl:   3rem;
    --fs-4xl:   3.5rem;
    --nav-height: 4.5rem;
  }
}

/* lg */
@media (min-width: 768px) {
  :root {
    --fs-base:  1.0625rem;
    --fs-md:    1.1875rem;
    --fs-xl:    1.75rem;
    --fs-2xl:   2.5rem;
    --fs-3xl:   3.25rem;
    --fs-4xl:   4rem;
  }
}

/* xl */
@media (min-width: 1024px) {
  :root {
    --fs-2xl:   2.75rem;
    --fs-3xl:   3.5rem;
    --fs-4xl:   4.5rem;
    --nav-height: var(--nav-height-lg);
  }
}

/* 2xl */
@media (min-width: 1280px) {
  :root {
    --fs-3xl:   3.75rem;
    --fs-4xl:   5rem;
  }
}
