/* Police et échelles de l’accueil validé, appliquées aux rôles de la page Création.
   Autorisation explicite d’Arnaud : « Reprendre les polices et tailles validées
   de l’accueil ». Le niveau des balises Hn n’intervient pas dans leur taille. */
@font-face { font-family: "WS24 Interphases Reference"; src: url("https://framerusercontent.com/assets/D7TPXhEtV1SSlJJnxRjUZU0R7A.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "WS24 Interphases Reference"; src: url("https://framerusercontent.com/assets/AZNrVprA7e02lhXR2XgJ8mvDPSU.woff2") format("woff2"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "WS24 Interphases Reference"; src: url("https://framerusercontent.com/assets/GYxb9NEqwBXjRgLK1g5KlqPyek.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "WS24 Interphases Reference"; src: url("https://framerusercontent.com/assets/Igd3Kca3ntQknNCMEpZMpboBRzE.woff2") format("woff2"); font-style: normal; font-weight: 800; font-display: swap; }

:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) {
  --creation-copy-size: 21px;
  --creation-meta-size: 18px;
  --creation-action-size: 19px;
  font-family: "WS24 Interphases Reference", Arial, sans-serif;
  font-size: 21px;
  font-weight: 400;
  line-height: 1.7;
}

:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) #contenu-principal :is(
  p, .ws24-align-li
) {
  font-size: var(--creation-copy-size);
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: 0;
}

/* Le thème historique impose les interlignes de titres avec !important.
   Même exception ciblée que la feuille typographique validée de l’accueil. */
:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) #contenu-principal :is(h1, h2, h3, h4) {
  font-family: inherit;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
  margin-bottom: 24px;
  padding: 0;
}

:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) #contenu-principal :is(.ws24-creation-hero, .ws24-page-hero) h1 {
  font-size: 65px;
  line-height: 1.12 !important;
}

:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) #contenu-principal :is(
  .section-title h3,
  .ws24-proof-feature__content h2,
  :is(.ws24-creation-cta, .ws24-page-cta) h2
) {
  font-size: 48px;
  line-height: 1.2 !important;
}

:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) #contenu-principal :is(
  .ws24-ux-bridge__content h2,
  .ws24-precocon-content h2
) {
  font-size: 36px;
  line-height: 1.25 !important;
}

:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) #contenu-principal .ws24-cause-card h4 {
  font-size: 24px;
  line-height: 1.2 !important;
}

:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) #contenu-principal .ws24-pmo h4 {
  margin-bottom: 16px;
}

:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) #contenu-principal :is(h1,h2,h3,h4) :is(span,a) {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit !important;
  letter-spacing: 0;
  text-transform: none;
}

:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) #contenu-principal :is(
  .section-title small,
  .ws24-proof-feature__eyebrow,
  .ws24-ux-bridge__eyebrow,
  .ws24-precocon-num
) {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .08em;
}

:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) #contenu-principal .ws24-align-label {
  font-size: 24px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
}

:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) #contenu-principal .ws24-cause-num {
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .1em;
}

:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) #contenu-principal .ws24-faq-question {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
}

:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) #contenu-principal :is(
  .ws24-proof-feature__source, .ws24-proof-feature__metrics span
) {
  font-size: var(--creation-meta-size);
  line-height: 1.55;
}

:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) #contenu-principal .ws24-proof-feature__metrics strong {
  font-size: 24px;
  line-height: 1.2;
}

:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) #contenu-principal :is(
  .ban-btn, .ws24-ux-bridge__link, .ws24-precocon-link, .ws24-proof-feature__link
) {
  font-size: var(--creation-action-size);
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0;
  text-transform: none;
}

:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) .header_style_01 .navbar-default .navbar-nav a,
:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) .header_style_01 .navbar-default .navbar-nav > li a.btn-light.top-btn {
  font-size: var(--creation-copy-size);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
}

/* Les deux logos portent une taille inline dans le header/footer historique. */
:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) .header_style_01 .navbar-brand > span {
  font-size: 23px !important;
  line-height: 1.7;
}

:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) .ws24-footer .widget-title > span {
  font-size: 40px !important;
  line-height: 1.15;
  letter-spacing: 0;
}

:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) .ws24-footer :is(p, .footer-links li, .footer-links a) {
  font-size: var(--creation-copy-size);
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: 0;
}

:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) .ws24-footer .widget-title h3 {
  font-size: 24px;
  font-weight: 800;
  line-height: 1.3 !important;
  letter-spacing: 0;
}

:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) .ws24-footer-legal,
:is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) .ws24-footer-legal a {
  font-size: 17px;
  font-weight: 300;
  line-height: 1.7;
}

@media (max-width: 767px) {
  :is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) {
    --creation-copy-size: 19px;
    --creation-meta-size: 17px;
    --creation-action-size: 18px;
    font-size: 19px;
  }
  :is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) #contenu-principal :is(.ws24-creation-hero, .ws24-page-hero) h1 {
    font-size: 46px;
  }
  :is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) #contenu-principal :is(
    .section-title h3, .ws24-proof-feature__content h2, :is(.ws24-creation-cta, .ws24-page-cta) h2
  ) { font-size: 36px; }
  :is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) #contenu-principal :is(
    .ws24-ux-bridge__content h2, .ws24-precocon-content h2
  ) { font-size: 32px; }
  :is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) #contenu-principal .ws24-cause-card h4 {
    font-size: 25px;
    line-height: 1.3 !important;
  }
  :is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) #contenu-principal .ws24-pmo h4 {
    font-size: 26px;
    line-height: 1.2 !important;
  }
  :is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) #contenu-principal .ws24-faq-question { font-size: 22px; }
  :is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) .ws24-footer .widget-title > span {
    font-size: clamp(27px, 7.8vw, 38px) !important;
  }
  :is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) .ws24-footer-legal,
  :is(body.ws24-creation-style-valide, body.ws24-pages-style-valide) .ws24-footer-legal a { font-size: 16px; }
}
