/* GPSI 1.0.13 — SYSTÈME TYPOGRAPHIQUE GLOBAL G.P.S.
 * Une seule hiérarchie typographique pour toutes les pages publiques GPSI.
 * Objectif : aucune disparité visible entre Accueil, Région, Département et Devis.
 */

.gpsi-home,
.gpsi-idf-body,
.gpsi-dept,
.gpsi-quote-page{
  --gps-font-sans:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --gps-type-body:16px;
  --gps-type-small:13px;
  --gps-type-nav:15px;
  --gps-type-button:15px;
  --gps-type-card-title:21px;
  --gps-type-h2:clamp(28px,2.15vw,36px);
  --gps-type-h1:clamp(42px,3.15vw,60px);
  font-family:var(--gps-font-sans)!important;
  font-size:var(--gps-type-body)!important;
  line-height:1.55!important;
}

.gpsi-home *,
.gpsi-idf-body *,
.gpsi-dept *,
.gpsi-quote-page *{
  font-family:inherit;
}

/* Navigation : même taille partout. */
.gpsi-home-nav .gpsi-nav-link,
.gpsi-dept-nav>a,
.gpsi-dept-account>a,
.gpsi-quote-header .gpsi-nav-link{
  font-size:var(--gps-type-nav)!important;
  line-height:1.3!important;
  font-weight:700!important;
}

/* H1 : même échelle sur tous les héros. */
.gpsi-home-hero h1,
.gpsi-idf-seo-hero h1,
.gpsi-dept-hero h1,
.gpsi-quote-hero-copy h1{
  font-size:var(--gps-type-h1)!important;
  line-height:1.04!important;
  letter-spacing:-.03em!important;
  font-weight:850!important;
}

/* Sous-titres de héros. */
.gpsi-home-hero h2,
.gpsi-idf-seo-hero h2{
  font-size:clamp(27px,2.35vw,35px)!important;
  line-height:1.14!important;
  letter-spacing:-.02em!important;
  font-weight:850!important;
}

/* Paragraphes de héros. */
.gpsi-home-hero-copy>p,
.gpsi-idf-seo-hero-copy>p:not(.gpsi-idf-kicker),
.gpsi-dept-hero p,
.gpsi-quote-hero-copy p{
  font-size:17px!important;
  line-height:1.6!important;
  font-weight:400!important;
}

/* Breadcrumbs / kickers / petits libellés. */
.gpsi-dept-breadcrumb,
.gpsi-idf-kicker,
.gpsi-home-section-heading>p{
  font-size:12.5px!important;
  line-height:1.3!important;
}

/* Titres de sections : même échelle partout. */
.gpsi-home-section-heading h2,
.gpsi-home-discover h2,
.gpsi-idf-section-title h2,
.gpsi-dept-title h2,
.gpsi-dept-reason-grid h2,
.gpsi-dept-zones h2,
.gpsi-quote-card h2{
  font-size:var(--gps-type-h2)!important;
  line-height:1.18!important;
  letter-spacing:-.02em!important;
  font-weight:850!important;
}

/* Titres de cartes / sous-sections. */
.gpsi-idf-seo-services h3,
.gpsi-idf-zone-box h2,
.gpsi-idf-zone-box h3,
.gpsi-dept-service-card h3,
.gpsi-dept-audience h2,
.gpsi-quote-card h3{
  font-size:var(--gps-type-card-title)!important;
  line-height:1.25!important;
  font-weight:800!important;
}

/* Textes courants. */
.gpsi-home-section-heading>span,
.gpsi-home-discover p,
.gpsi-idf-section-title span,
.gpsi-idf-seo-services li,
.gpsi-idf-why-list strong,
.gpsi-idf-why-list small,
.gpsi-idf-quote-panel p,
.gpsi-dept-service-card p,
.gpsi-dept-audience p,
.gpsi-dept-audience li,
.gpsi-dept-check-grid span,
.gpsi-dept-check-list span,
.gpsi-quote-card li{
  font-size:15.5px!important;
  line-height:1.55!important;
}

/* FAQ : plus de microscopique. */
.gpsi-idf-seo-faq summary,
.gpsi-dept-faq summary{
  font-size:15.5px!important;
  line-height:1.45!important;
}
.gpsi-idf-seo-faq details p,
.gpsi-dept-faq details p{
  font-size:15.5px!important;
  line-height:1.6!important;
}

/* Boutons / CTA. */
.gpsi-home-btn,
.gpsi-dept-btn,
.gpsi-dept-audience>a,
.gpsi-idf-primary-cta,
.gpsi-idf-secondary-cta,
.gpsi-idf-why-cta,
.gpsi-idf-zone-link,
.gpsi-quote-card-cta,
.gpsi-quote-help>a{
  font-size:var(--gps-type-button)!important;
  line-height:1.3!important;
  font-weight:800!important;
}

/* Réassurance / petits textes utiles. */
.gpsi-home-hero-points strong,
.gpsi-idf-proof strong,
.gpsi-quote-trust strong{
  font-size:14.5px!important;
}
.gpsi-home-hero-points small,
.gpsi-idf-proof small,
.gpsi-idf-primary-cta small,
.gpsi-idf-secondary-cta small,
.gpsi-idf-quote-panel>a small,
.gpsi-quote-trust small{
  font-size:12.5px!important;
  line-height:1.45!important;
}

/* Zones : lisibles mais compactes. */
.gpsi-dept-city-list{
  font-size:14px!important;
  line-height:1.5!important;
}
.gpsi-idf-dept-card strong,
.gpsi-idf-cities span{
  font-size:12.5px!important;
  line-height:1.35!important;
}

/* Footer : même famille et aucune taille minuscule. */
.gpsi-home-footer,
.gpsi-dept-footer,
.gpsi-quote-footer{
  font-family:var(--gps-font-sans)!important;
}
.gpsi-home-footer nav a,
.gpsi-home-footer-contact p,
.gpsi-home-footer-made,
.gpsi-home-footer-copy,
.gpsi-home-footer-social>strong,
.gpsi-dept-footer-brand span,
.gpsi-dept-footer-center span,
.gpsi-dept-footer-center small,
.gpsi-dept-footer-social>span,
.gpsi-quote-footer-grid a,
.gpsi-quote-footer-grid>div>strong,
.gpsi-quote-footer-brand strong,
.gpsi-quote-footer-brand em,
.gpsi-quote-copyright{
  font-size:13.5px!important;
  line-height:1.45!important;
}

/* Mobile : même système, simplement réduit de façon uniforme. */
@media(max-width:720px){
  .gpsi-home,
  .gpsi-idf-body,
  .gpsi-dept,
  .gpsi-quote-page{
    --gps-type-body:15.5px;
    --gps-type-nav:14px;
    --gps-type-button:15px;
    --gps-type-card-title:20px;
    --gps-type-h2:clamp(26px,7vw,32px);
    --gps-type-h1:clamp(36px,10vw,46px);
  }
  .gpsi-home-hero-copy>p,
  .gpsi-idf-seo-hero-copy>p:not(.gpsi-idf-kicker),
  .gpsi-dept-hero p,
  .gpsi-quote-hero-copy p{
    font-size:15.5px!important;
  }
  .gpsi-home-section-heading>span,
  .gpsi-home-discover p,
  .gpsi-idf-section-title span,
  .gpsi-idf-seo-services li,
  .gpsi-dept-service-card p,
  .gpsi-dept-audience p,
  .gpsi-dept-audience li,
  .gpsi-dept-check-grid span,
  .gpsi-dept-check-list span,
  .gpsi-idf-seo-faq summary,
  .gpsi-idf-seo-faq details p,
  .gpsi-dept-faq summary,
  .gpsi-dept-faq details p,
  .gpsi-quote-card li{
    font-size:15px!important;
  }
}
