/* ═══════════════════════════════════════════════════════════
   Éléments communs à toutes les pages (repris de la page d'accueil) :
   section « Prête à faire les premiers pas ? » + encadrés infos, pied de page
   ═══════════════════════════════════════════════════════════ */
.v2-box { font-family: var(--font-text-v2); letter-spacing: 0; }
.cta-block.v2-cta, .v2-ft { font-family: var(--font-text-v2); }
:root { --font-text-v2: 'Helvetica Neue', Helvetica, Arial, sans-serif; }
.v2-icon { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }

/* ── Section 4 : appel à l'action + encadrés infos pratiques ── */
.cta-block.v2-cta {
  padding-top: 48px;
  background:
    linear-gradient(rgba(45, 21, 16, 0.34), rgba(45, 21, 16, 0.34)),
    url("Fond traces roses 2.webp") center / cover no-repeat;
}
.cta-block.v2-cta h2 { font-size: 28px; }
.v2-cta .cta-block-inner p { text-wrap: balance; }
.v2-cta .cta-btn { color: var(--dore); border-color: var(--dore) !important; background: rgba(255, 255, 255, 0.88); }
.v2-cta .cta-btn:hover { color: var(--dore-dark); background: #fff; }
.v2-info {
  list-style: none;
  max-width: 1120px;
  margin: 52px auto 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1.45fr 1.45fr;
  gap: 14px;
  text-align: left;
}
.v2-box {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--terracotta);
  border-radius: 16px;
  padding: 18px 20px;
  box-shadow: 0 6px 18px rgba(45, 21, 16, 0.16);
  color: var(--texte-brun);
  text-shadow: none;
}
.v2-box-head { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.v2-box-head .v2-icon { font-size: 26px; color: var(--dore); }
.v2-box--big .v2-box-head .v2-icon { font-size: 30px; margin-left: -6px; position: relative; }
.v2-box--q .v2-box-head { align-items: flex-start; }
.v2-box--q .v2-box-head .v2-icon { top: -2px; }
.v2-box-title {
  font-family: 'Moranga', serif;
  font-weight: 700;
  font-style: italic;
  font-size: 22px;
  line-height: 1.2;
  color: var(--texte-fonce);
}
.v2-box-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.v2-line { display: flex; align-items: center; gap: 8px; font-size: 15px; line-height: 1.4; white-space: nowrap; }
.v2-line strong { font-family: 'Moranga', serif; font-style: italic; font-size: 18px; font-weight: 700; margin-right: -4px; color: var(--texte-fonce); } /* durées et tarifs en Moranga */
.v2-box li { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; line-height: 1.45; }
.v2-line::before, .v2-box ul li::before {
  content: '';
  width: 13px;
  min-width: 13px;
  height: 8px;
  background: var(--texte-brun);
  border-radius: 56% 44% 60% 40% / 46% 54% 44% 56%;
  transform: rotate(-12deg);
  filter: url(#rough-edge);
  opacity: 0.9;
}
.v2-box ul li::before { margin-top: 7px; }
.v2-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  min-width: 20px;
  margin-top: 2px;
  background: var(--texte-brun);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  border-radius: 63% 37% 54% 46% / 55% 48% 52% 45%;
  transform: rotate(-6deg);
}
.v2-box li:nth-child(2) .v2-num { transform: rotate(7deg); }
.v2-box strong { font-weight: 700; }

/* ── Pied de page : Helvetica (sauf la signature « Des petits pas vers soi ») + Instagram ── */
.v2-ft .footer-brand span,
.v2-ft .footer-address,
.v2-ft .footer-hours,
.v2-ft .footer-links a { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; }
.v2-footer-logo { display: block; height: 26px; width: auto; filter: brightness(0) invert(1); }
.v2-insta { display: flex; align-items: center; gap: 10px; margin-top: 18px; color: #fff; font-size: 14px; font-weight: 500; text-decoration: none; }
.v2-insta:hover span { text-decoration: underline; }

@media (max-width: 960px) {
  .v2-info { grid-template-columns: repeat(2, 1fr); }
  .cta-block.v2-cta { padding-top: 40px; }
  .cta-block.v2-cta h2 { font-size: 1.6rem; }
}
@media (max-width: 600px) {
  .cta-block.v2-cta {
    background:
      linear-gradient(rgba(45, 21, 16, 0.34), rgba(45, 21, 16, 0.34)),
      url("Fond traces roses 2.webp") 80% 0 / auto 420px repeat-y;
  }
  .v2-info { grid-template-columns: 1fr; }
}

/* Version sans les 4 encadrés (toutes les pages sauf l'accueil) : marges haut et bas égales */
.cta-block.v2-cta.v2-cta--simple { padding-top: 120px; }
@media (max-width: 960px) {
  .cta-block.v2-cta.v2-cta--simple { padding-top: 80px; }
}

/* ── Boutons du haut de page : même style que le haut de l'accueil (Prendre RDV + bouton secondaire) ── */
.v2-btns { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.v2-btns .btn-blanc { background: rgba(206, 145, 78, 0.55) !important; color: var(--blanc) !important; border-color: transparent !important; }
.v2-btns .btn-blanc:hover { background: rgba(206, 145, 78, 0.72) !important; }
@media (max-width: 600px) {
  .v2-btns .btn-primary, .v2-btns .btn-outline { flex: 1 1 100%; text-align: center; }
}

/* ── Sous-titres (sous un titre de section) : même style que l'accueil ── */
.v2-sub {
  font-family: var(--font-text-v2) !important;
  font-size: 19px !important;
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  color: #777573 !important;
  opacity: 1 !important;
  margin-bottom: 18px;
  text-wrap: balance;
}
@media (max-width: 600px) { .v2-sub { font-size: 17px !important; } }

/* Variante : mêmes caractéristiques que le sous-titre, seule la couleur change (moutarde) */
.v2-sub.v2-sub--dore { color: var(--dore) !important; }
/* Variante pour fond sombre (photo) : blanc avec ombre légère, comme le titre */
.v2-sub.v2-sub--blanc { color: #fff !important; text-shadow: 0 1px 12px rgba(45, 21, 16, 0.55); }
.v2-sub strong { font-weight: 700 !important; }

/* Sous-titres des tuiles de la page Accompagnements : la règle .block-item p imposait une autre taille */
.block-item p.v2-sub { font-size: 19px !important; line-height: 1.5 !important; color: #777573 !important; }
@media (max-width: 600px) { .block-item p.v2-sub { font-size: 17px !important; text-wrap: wrap; } } /* mobile : retour à la ligne naturel (pas d'équilibrage qui coupe trop tôt) */

/* ── Titre « Prête à faire les premiers pas ? » : simple texte (plus un titre), même apparence qu'avant ── */
.cta-block .cta-title {
  font-family: 'Moranga', serif;
  font-weight: 700;
  font-style: italic;
  font-size: 28px;
  line-height: 1.3;
  color: #fff;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
  margin-bottom: 20px;
}
@media (max-width: 960px) { .cta-block .cta-title { font-size: 1.6rem; } }

/* ── Boutons : « plein » et « contour » ont exactement la même taille ── */
.btn-primary, .btn-outline { line-height: 1.65; }
.btn-primary { border: 1.5px solid var(--dore); }
.btn-primary:hover { border-color: var(--dore-dark); }
@media (max-width: 960px) { .btn-primary { font-size: 1rem !important; padding: 10px 28px !important; } }
/* Même largeur pour « Prendre RDV » et « Appel découverte » (bloc « Prête à faire les premiers pas ») */
.btn-primary, .cta-block .cta-btn { box-sizing: border-box; min-width: 218px; text-align: center; }
@media (max-width: 960px) { .btn-primary, .cta-block .cta-btn { min-width: 221px; } }

/* ── Bouton « Prendre RDV » entre deux sections (remplace les séparations à 3 pas) ── */
.cta-rdv { text-align: center; }
/* Le bouton fixe lui-même l'espace autour de lui : le remplissage des deux sections voisines est annulé à cet endroit.
   Même espace au-dessus et en dessous : 64 px (ordinateur) / 48 px (tablette et mobile). */
.cta-rdv { margin: 64px 0; }
section:has(+ .cta-rdv) { padding-bottom: 0 !important; }
.cta-rdv + section { padding-top: 0 !important; }
@media (max-width: 960px) { .cta-rdv { margin: 48px 0; } }

/* Adresse du pied de page : toujours sur une seule ligne (la police se réduit un peu sous 390 px pour que ça tienne) */
.v2-ft .footer-map-link { white-space: nowrap; }
@media (max-width: 389px) { .v2-ft .footer-map-link { font-size: 3.55vw; } }

/* ============================================================
   ÉCHELLE TYPOGRAPHIQUE (référence : l'accueil)
   Ordinateur : H1 42 · titre de section 28 · titre de carte 20 · texte courant 17 · sous-titre 19
   Mobile (base 19 px) : H1 ~29 · titre de section 22,8 · titre de carte ~20 · texte courant ~16,7 · sous-titre 17
   ============================================================ */
@media (min-width: 961px) {
  /* texte courant : 17px */
  .split-text p:not(.v2-sub),
  .pratique-card p,
  .problems-header p:not(.v2-sub):not(.problems-subtitle),
  .problems-list li, .problems-list li span,
  .encadre p, .encadre-liste li,
  .pour-qui-list li, .box-list li,
  .about-text-p:not(.v2-sub),
  .about-conviction-text p:not(.v2-sub),
  .about-approche-section p:not(.v2-sub),
  .faq-question, .faq-answer { font-size: 17px !important; }
  /* titres de carte / d'encadré : 20px */
  .encadre-titre, h3.pratique-titre, .v2-approach .pillar h3 { font-size: 20px !important; }
}
@media (max-width: 960px) {
  /* listes : même taille que les paragraphes (elles restaient à 1rem = 19px) */
  .encadre-liste li { font-size: 0.88rem !important; }
  .specialite-name { font-size: 0.95rem !important; }
  .specialite-detail { font-size: 0.85rem !important; }
}

/* ── Échelle typographique, passe 2 : écarts restants ── */
@media (min-width: 961px) {
  /* À propos : liste des formations = mêmes tailles que sur mobile */
  .formation-name { font-size: 16.2px !important; }
  .formation-org { font-size: 14.3px !important; }
  /* Naturopathie : « Mes spécialités » */
  .specialite-name { font-size: 17px !important; }
  .specialite-detail { font-size: 15px !important; }
  /* Texte des bandeaux de page */
  .page-hero-text p { font-size: 17px !important; }
  /* Notes (Précision utile, note médicale, astérisque Tarifs) */
  .pour-qui-note, .note-medicale, .tarifs-section p[style*="font-size: 0.9rem"] { font-size: 15px !important; }
  /* Citations en italique (Profilage, À propos) */
  p[style*="font-size: 1.05rem"] { font-size: 17px !important; }
  /* Pages légales (Conditions générales, Mentions légales) : 16px, titres 20px / 17px */
  .legal-inner p, .legal-inner ul li, .legal-parties, .legal-retractation,
  .legal-intro-note, .legal-intro, .legal-contact-block { font-size: 16px !important; }
  .legal-inner h2, .legal-inner .legal-h2 { font-size: 20px !important; }
  .legal-inner h3 { font-size: 17px !important; }
  /* Tarifs : plus de texte sous 15px */
  .tarif-info p, .tarif-starter-desc { font-size: 15px !important; }
  .tarif-info h3, .contact-block h3 { font-size: 20px !important; }
  .tarif-starter-titre, .info-bloc h3 { font-size: 17px !important; }
  .info-bloc p, .contact-item p, .contact-block p { font-size: 17px !important; }
}
@media (max-width: 960px) {
  /* Pages légales : texte à la taille des paragraphes du site, titres à 20px */
  .legal-inner p, .legal-inner ul li, .legal-parties, .legal-retractation,
  .legal-intro-note, .legal-intro, .legal-contact-block, .legal-contact-block a { font-size: 0.88rem !important; }
  .legal-inner h2, .legal-inner .legal-h2 { font-size: 1.05rem !important; }
  .legal-inner h3 { font-size: 0.95rem !important; }
  .tarif-starter-desc { font-size: 0.88rem !important; }
}
