/* ========================================
   INTER TYPOGRAPHY OVERRIDE - GLOBAL LOCK
   Force Inter Variable partout sur le site
   ======================================== */

/* Variables globales */
:root {
  --font-main: "InterVariable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
}

/* 🔥 OVERRIDE GLOBAL - FORCE INTER PARTOUT */
*,
*::before,
*::after,
html,
body,
div,
span,
p,
a,
h1, h2, h3, h4, h5, h6,
ul, ol, li,
section,
article,
nav,
header,
footer,
button,
input,
textarea,
select,
label,
blockquote,
cite,
code:not([class*="code-"]),
pre:not([class*="code-"]),
table,
td, th,
caption,
figcaption,
legend,
.title,
.subtitle,
.heading,
.text,
.description,
.content,
.card,
.button,
.link {
  font-family: var(--font-main) !important;
}

/* Titres - poids forts */
h1, h2, h3, h4, h5, h6,
.title,
.heading,
.section-title,
.tst-title,
.footer-title,
.services-title,
.about-title,
.hero-title {
  font-family: var(--font-main) !important;
  font-weight: 700 !important;
  letter-spacing: 0.005em;
}

/* Texte corps */
p,
span,
li,
a,
button,
input,
textarea,
label,
.text,
.description,
.copy,
.content {
  font-family: var(--font-main) !important;
  font-weight: 400;
  letter-spacing: 0.002em;
}

/* Liens */
a,
.link,
.nav-link,
.cta,
.button-link {
  font-family: var(--font-main) !important;
}

/* Boutons */
button,
.btn,
.button,
.cta-btn,
[type="button"],
[type="submit"] {
  font-family: var(--font-main) !important;
  font-weight: 600 !important;
}

/* Navigation & Menu */
.header-btn,
.side-link,
.nav-link,
.menu-link {
  font-family: var(--font-main) !important;
}

/* Sections spécifiques */
#about *,
#services *,
#team *,
#testimonials *,
#contact *,
#hero *,
.section-about-aesop *,
.elite-footer-section *,
.testimonials *,
.team--wood * {
  font-family: var(--font-main) !important;
}

/* Header & Footer */
#site-header *,
.hero-min-header *,
.side-nav *,
footer *,
.footer * {
  font-family: var(--font-main) !important;
}

/* Cards & Components */
.card,
.service-item,
.tst-card,
.person,
.footer-box,
.benefit-card {
  font-family: var(--font-main) !important;
}

.card *,
.service-item *,
.tst-card *,
.person *,
.footer-box *,
.benefit-card * {
  font-family: var(--font-main) !important;
}

/* ========================================
   MOBILE RESPONSIVE (390px - 768px)
   ======================================== */

@media (max-width: 768px) {
  /* Force Inter sur mobile */
  *,
  *::before,
  *::after {
    font-family: var(--font-main) !important;
  }

  /* Titres mobile */
  h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-main) !important;
    font-weight: 700 !important;
  }

  /* Menu mobile */
  .side-nav,
  .side-nav *,
  .side-link {
    font-family: var(--font-main) !important;
    letter-spacing: 0.25em !important;
  }

  /* Header mobile */
  .header-btn,
  .header-menu,
  .header-book {
    font-family: var(--font-main) !important;
  }

  /* Footer mobile */
  .footer-title,
  .footer-box,
  .footer-box * {
    font-family: var(--font-main) !important;
  }

  /* Testimonials mobile */
  .tst-title,
  .tst-card,
  .tst-card * {
    font-family: var(--font-main) !important;
  }

  /* About mobile */
  .section-about-aesop,
  .section-about-aesop * {
    font-family: var(--font-main) !important;
  }

  /* Services mobile */
  #services,
  #services * {
    font-family: var(--font-main) !important;
  }

  /* Team mobile */
  #team,
  #team * {
    font-family: var(--font-main) !important;
  }
}

/* ========================================
   SMALL MOBILE (390px - 600px)
   ======================================== */

@media (max-width: 600px) {
  body,
  body * {
    font-family: var(--font-main) !important;
  }
}

/* ========================================
   EXTRA SMALL MOBILE (< 390px)
   ======================================== */

@media (max-width: 390px) {
  html,
  html * {
    font-family: var(--font-main) !important;
  }
}

/* ========================================
   FALLBACK - DERNIÈRE LIGNE DE DÉFENSE
   ======================================== */

/* Si une police serif/Playfair/Caslon persiste, override brutal */
[style*="Playfair"],
[style*="Caslon"],
[style*="serif"],
[style*="Georgia"],
[style*="Poppins"],
[style*="Urbanist"],
[class*="playfair"],
[class*="caslon"],
[class*="serif"] {
  font-family: var(--font-main) !important;
}

/* Override inline styles */
body [style*="font-family"] {
  font-family: var(--font-main) !important;
}

/* ========================================
   MENU NAVIGATION - ESPACEMENT LETTRES
   ======================================== */

/* Force l'espacement de .25em sur TOUS les liens du menu */
.side-nav .side-link,
.side-nav__list .side-link,
.side-link,
.side-link span,
.side-link .i18n-fr,
.side-link .i18n-en,
nav .side-link,
aside .side-link {
  letter-spacing: .25em !important;
  text-transform: uppercase !important;
  font-family: var(--font-main) !important;
  font-weight: 700 !important;
}

/* Mobile aussi */
@media (max-width: 768px) {
  .side-link,
  .side-link *,
  .side-link span {
    letter-spacing: .25em !important;
    text-transform: uppercase !important;
  }
}

/* ===== KILL HOVER COLOR CHANGE ON MENU ===== */
.side-link,
.side-link:hover,
.side-link:focus-visible,
.side-link:active,
.side-link span,
.side-link .i18n-fr,
.side-link .i18n-en {
  color: rgba(245,245,245,.96) !important;
}
