/**
 * Typographie mobile (≤1024px) — calée sur les cartes accueil :
 * titres cartes ~0.88rem, corps ~0.76rem, boutons ~0.72rem.
 * Desktop inchangé. Les .cards-grid .card ne sont pas modifiés ici.
 */
@media (max-width: 1024px) {
  body {
    font-family: var(--font-sans);
    line-height: 1.55;
  }

  /* —— Navigation —— */
  .nav-links > li > a:not(.btn),
  .nav-dropdown-toggle {
    font-size: 0.88rem !important;
  }

  .nav-dropdown-menu li a {
    font-size: 0.82rem !important;
  }

  /* —— Boutons (hors cartes accueil) —— */
  .btn:not(.card-action) {
    font-size: 0.78rem;
    padding: 0.58rem 1rem;
  }

  .btn-nav {
    font-size: 0.78rem !important;
  }

  /* —— Hero & gateway —— */
  .hero h1,
  [class*="-hero"] h1,
  .comparator-hero h1,
  .fiduciaire-hero h1,
  .assurance-hero h1,
  .immo-hero h1,
  .annonces-hero h1,
  .societe-hero h1,
  .buyer-hero h1 {
    font-size: clamp(1.12rem, 4.8vw, 1.28rem) !important;
    line-height: 1.25 !important;
  }

  .hero-lead,
  [class*="-hero"] .hero-lead,
  [class*="-hero"] p.lead,
  .comparator-hero p,
  .fiduciaire-hero p,
  .assurance-hero-lead,
  .immo-hero-lead,
  .annonces-hero-lead {
    font-size: 0.8rem !important;
    line-height: 1.5 !important;
  }

  .hero-eyebrow,
  .section-eyebrow,
  [class*="-eyebrow"] {
    font-size: 0.68rem !important;
    letter-spacing: 0.08em;
  }

  body.page-home:not([data-audience]) .audience-gateway h1 {
    font-size: clamp(1.08rem, 4.6vw, 1.22rem) !important;
  }

  body.page-home:not([data-audience]) .audience-gateway .hero-lead {
    font-size: 0.78rem !important;
  }

  body.page-home:not([data-audience]) .audience-card strong {
    font-size: 0.92rem !important;
  }

  body.page-home:not([data-audience]) .audience-card span:last-child {
    font-size: 0.76rem !important;
  }

  /* —— Sections —— */
  .section h2,
  .audience-header h2,
  .section-header h2,
  .service-block-text h2,
  .cta-layout h2,
  .contact-layout h2,
  .google-reviews-intro h3,
  .page-team h2,
  .fiduciaire-intro h2,
  .fiduciaire-service-detail h3,
  .assurance-block h2,
  .immo-section h2,
  .comparator-teaser h2,
  .pilier3-intro-text h2 {
    font-size: clamp(1.02rem, 3.8vw, 1.12rem) !important;
    line-height: 1.28 !important;
  }

  .section-lead,
  .service-block-text p,
  .fiduciaire-intro p,
  .assurance-intro p,
  .immo-section-lead,
  .pilier3-intro-text p {
    font-size: 0.8rem !important;
    line-height: 1.55 !important;
  }

  /* —— Stats —— */
  .stat-value,
  .stats-brand {
    font-size: 1.2rem !important;
  }

  .stat-label {
    font-size: 0.72rem !important;
  }

  /* —— Blocs contenu (3E, valeurs, approche…) —— */
  .three-e-card h3,
  .value h3,
  .approach-card h3 {
    font-size: 0.92rem !important;
    line-height: 1.3 !important;
  }

  .three-e-card p,
  .value p,
  .approach-card p {
    font-size: 0.76rem !important;
    line-height: 1.5 !important;
  }

  .three-e-letter {
    width: 34px;
    height: 34px;
    font-size: 0.95rem;
    margin-bottom: 0.65rem;
  }

  .three-e-card,
  .value {
    padding: 1.1rem 1rem;
  }

  /* —— Équipe —— */
  .team-name,
  .page-team-name {
    font-size: 0.88rem !important;
  }

  .team-role,
  .page-team-role {
    font-size: 0.62rem !important;
  }

  .team-tel,
  .team-mail,
  .page-team-tel,
  .page-team-mail {
    font-size: 0.72rem !important;
  }

  /* —— Contact —— */
  .contact-info,
  .contact-offices address,
  .contact-offices p {
    font-size: 0.76rem !important;
  }

  .contact-form label,
  .form-row label {
    font-size: 0.78rem;
  }

  .form-contact-hint,
  .contact-callback-hint,
  .form-error {
    font-size: 0.72rem !important;
  }

  /* —— Articles & actualités —— */
  .article-card-title,
  .actualites-card h3 {
    font-size: 0.88rem !important;
    line-height: 1.35 !important;
  }

  .actualites-grid .article-card-title {
    font-size: 0.72rem !important;
    line-height: 1.3 !important;
    font-weight: 600;
    -webkit-line-clamp: unset !important;
    display: block !important;
    overflow: visible !important;
  }

  .article-card-meta,
  .actualites-card-meta {
    font-size: 0.68rem !important;
  }

  .article-card-body p,
  .actualites-card p {
    font-size: 0.76rem !important;
  }

  .page-article .article-hero h1 {
    font-size: clamp(1.08rem, 4.5vw, 1.22rem) !important;
  }

  .article-content .article-lead {
    font-size: 0.84rem !important;
  }

  .article-content p,
  .article-content li {
    font-size: 0.8rem !important;
    line-height: 1.6 !important;
  }

  .article-content h2 {
    font-size: 0.92rem !important;
    margin-top: 1.5rem;
  }

  .article-content h3 {
    font-size: 0.88rem !important;
  }

  /* —— Comparateur / simulateur —— */
  .comparator-card h2,
  .comparator-card h3,
  .simulator-result-card h3 {
    font-size: 0.92rem !important;
  }

  .step-lead,
  .comparator-card p,
  .comparator-teaser-card li,
  .result-card p,
  .simulator-result-card p,
  .person-card-header p {
    font-size: 0.76rem !important;
  }

  .result-price strong,
  .simulator-result-value {
    font-size: 1.05rem !important;
  }

  .comp-progress-step {
    font-size: 0.68rem !important;
  }

  .pilier3-highlight strong {
    font-size: 0.68rem !important;
  }

  .pilier3-highlight p {
    font-size: 0.76rem !important;
  }

  /* —— Fiduciaire / entreprise / immo —— */
  .fiduciaire-service-detail p,
  .fiduciaire-service-detail li,
  .fiduciaire-service-theme,
  .immo-service-body p,
  .assurance-prestation p,
  .assurance-prestation li {
    font-size: 0.76rem !important;
  }

  .fiduciaire-service-detail h3,
  .immo-service-body h3 {
    font-size: 0.9rem !important;
  }

  /* —— Avis Google —— */
  .google-reviews-summary,
  .google-review-card p {
    font-size: 0.76rem !important;
  }

  .google-review-author {
    font-size: 0.82rem !important;
  }

  .google-review-meta {
    font-size: 0.68rem !important;
  }

  /* —— Footer —— */
  .footer-copy,
  .footer-links a {
    font-size: 0.72rem !important;
  }

  .footer-legal {
    font-size: 0.68rem !important;
    line-height: 1.5 !important;
  }

  .contact-bubble-text {
    font-size: 0.78rem !important;
  }
}

@media (max-width: 400px) {
  .hero h1,
  [class*="-hero"] h1 {
    font-size: 1.08rem !important;
  }

  .section h2,
  .audience-header h2 {
    font-size: 1rem !important;
  }

  .stat-value {
    font-size: 1.1rem !important;
  }
}

@media (max-width: 640px) {
  .actualites-grid .article-card-title {
    font-size: 0.58rem !important;
    line-height: 1.28 !important;
  }
}
