/* ============================================================
   JD Soluções Elétricas — Design Tokens
   ============================================================ */

:root {
  /* Brand */
  --color-primary: #0b3c5d;
  --color-primary-dark: #072a42;
  --color-primary-light: #14507a;
  --color-secondary: #f5b700;
  --color-secondary-hover: #e0a800;
  --color-accent: #ffd54f;
  --color-bg: #f8f9fa;
  --color-white: #ffffff;
  --color-gray: #6c757d;
  --color-gray-light: #e9ecef;
  --color-gray-dark: #495057;
  --color-black: #212529;
  --color-success: #28a745;
  --color-error: #dc3545;
  --color-warning: #ffc107;

  /* Typography */
  --font-heading: "Manrope", system-ui, sans-serif;
  --font-body: "Inter", system-ui, sans-serif;

  --fs-h1: clamp(2.25rem, 4vw + 1rem, 3.5rem); /* 56px */
  --fs-h2: clamp(1.875rem, 3vw + 0.75rem, 2.625rem); /* 42px */
  --fs-h3: clamp(1.5rem, 2vw + 0.5rem, 2rem); /* 32px */
  --fs-h4: 1.5rem; /* 24px */
  --fs-body: 1.125rem; /* 18px */
  --fs-small: 1rem; /* 16px */

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;

  --lh-tight: 1.2;
  --lh-heading: 1.25;
  --lh-body: 1.7;

  /* Layout */
  --container-max: 1320px;
  --gap: 1.25rem; /* 20px mobile — matches container padding to avoid overflow */
  --section-space: 3.75rem; /* 60px mobile */
  --section-space-md: 5rem; /* 80px tablet */
  --section-space-lg: 7.5rem; /* 120px desktop */

  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;

  --shadow-sm: 0 2px 8px rgba(11, 60, 93, 0.06);
  --shadow-md: 0 8px 24px rgba(11, 60, 93, 0.1);
  --shadow-lg: 0 16px 48px rgba(11, 60, 93, 0.14);

  --transition: 0.3s ease;
  --navbar-height: 80px;

  /* Bootstrap overrides */
  --bs-primary: #0b3c5d;
  --bs-secondary: #f5b700;
  --bs-body-font-family: var(--font-body);
  --bs-body-color: var(--color-black);
  --bs-body-bg: var(--color-white);
  --bs-border-radius: var(--radius-md);
  --bs-link-color: var(--color-primary);
  --bs-link-hover-color: var(--color-primary-light);
}

@media (min-width: 768px) {
  :root {
    --gap: 2rem; /* 32px */
    --section-space: var(--section-space-md);
  }
}

@media (min-width: 1200px) {
  :root {
    --section-space: var(--section-space-lg);
  }
}
