/*
Theme Name: BTP Mada
Theme URI: https://acd-management.com
Template: twentytwentyfive
Author: ACD Management
Author URI: https://acd-management.com
Description: Thème enfant BTP Mada — charte v5.1 « Équilibre Minéral & Terrien, tenue ». Palette assagie (Sienne calcinée, Laiton patiné, Basalte, Chaux Sable), typographie éditoriale, rayons ≤ 4 px, filets 1 px, aucune ombre décorative.
Version: 5.1.0
Text Domain: btp-mada
*/

/* ─── Tokens (miroirs de theme.json, pour usage front) ─────── */
:root {
  --btp-bg:        #F0EBDF;
  --btp-bg-alt:    #E8E2D2;
  --btp-ink:       #1B1917;
  --btp-ink-soft:  #33302B;
  --btp-muted:     #6A6459;
  --btp-rule:      #D6CFC0;
  --btp-accent:    #8C3B24;
  --btp-brass:     #8B6E2F;
  --btp-good:      #4A6B4C;
  --btp-radius:    3px;
}

/* ─── Base éditoriale (front, hors shortcodes .ro-*) ───────── */
body {
  background: var(--btp-bg);
  color: var(--btp-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 500;
  letter-spacing: -0.005em;
  color: var(--btp-ink);
}

/* Radius maîtrisé partout */
.wp-block-button__link,
.wp-block-search__button,
input, textarea, select, button {
  border-radius: var(--btp-radius) !important;
}

/* Retirer les ombres décoratives des groupes/cartes gutenberg */
.wp-block-group,
.wp-block-column,
.wp-block-cover {
  box-shadow: none !important;
}

/* Séparateurs plutôt qu'ombres */
.wp-block-separator {
  border: 0;
  border-top: 1px solid var(--btp-rule);
  opacity: 1;
}

/* Boutons — pas de pilule */
.wp-block-button__link {
  background: var(--btp-accent);
  color: #F0EBDF;
  padding: 12px 22px;
  font-weight: 500;
  letter-spacing: 0.01em;
  border: 1px solid var(--btp-accent);
}
.wp-block-button__link:hover {
  background: var(--btp-ink);
  border-color: var(--btp-ink);
  color: #F0EBDF;
}
.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  color: var(--btp-accent);
  border: 1px solid var(--btp-accent);
}

/* Liens neutres du corps */
.entry-content a,
.wp-block-post-content a {
  color: var(--btp-accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.entry-content a:hover,
.wp-block-post-content a:hover { color: var(--btp-ink); }

/* Chiffres tabulaires partout où ça s'aligne */
.wp-block-table,
.ro-stat-num,
.wp-block-latest-posts__post-date,
figure.wp-block-table td {
  font-variant-numeric: tabular-nums;
}

/* Footer BTP — hairline discrète, pas de bloc coloré */
.wp-block-template-part[class*="footer"] {
  border-top: 1px solid var(--btp-rule);
  background: var(--btp-bg);
  color: var(--btp-ink-soft);
  padding-top: 40px;
}
.wp-block-template-part[class*="footer"] a {
  color: var(--btp-ink);
  text-decoration: none;
}
.wp-block-template-part[class*="footer"] a:hover {
  color: var(--btp-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Corriger la charte v5.0 embarquée (.ro-*) — saturation réduite */
.ro-page {
  --ro-bois:       #8C3B24 !important;   /* sienne calcinée (ex #C85A32) */
  --ro-bois-clair: #A44A2C !important;
  --ro-or:         #8B6E2F !important;   /* laiton patiné (ex #D9A74A) */
  --ro-or-clair:   #A48339 !important;
  --ro-terre:      #1B1917 !important;
  --ro-creme:      #F0EBDF !important;
  --ro-creme-dark: #E8E2D2 !important;
  --ro-radius:     3px !important;
  --ro-radius-lg:  4px !important;
  --ro-shadow:     none !important;
  --ro-shadow-md:  none !important;
  --ro-shadow-lg:  none !important;
  --ro-border:     #D6CFC0 !important;
}
.ro-page .ro-btn {
  border-radius: 3px !important;
  box-shadow: none !important;
}
.ro-page .ro-btn-primary:hover { transform: none !important; }

/* ─── Classes ajoutées par la refonte de la homepage ─────── */

/* Hero badge — petite capitale, discret */
.ro-page .ro-hero-badge {
  display: inline-block;
  background: transparent !important;
  color: var(--btp-muted) !important;
  border: none !important;
  padding: 0 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  margin-bottom: 20px !important;
}

/* Hero title en serif éditorial */
.ro-page .ro-hero-title {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif !important;
  font-size: clamp(34px, 5.5vw, 56px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.015em !important;
  font-weight: 500 !important;
  margin-bottom: 20px !important;
}
.ro-page .ro-hero-title .ro-accent em {
  font-style: italic;
  color: var(--btp-accent);
}
.ro-page .ro-hero-sub {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
  max-width: 58ch !important;
  color: var(--btp-ink-soft) !important;
  margin-bottom: 28px !important;
}

/* Trois engagements — remplacent la barre de stats */
.ro-page .ro-engagements {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--btp-rule);
  border-bottom: 1px solid var(--btp-rule);
  margin: 44px 0 !important;
  padding: 0 !important;
}
@media (max-width: 780px) {
  .ro-page .ro-engagements { grid-template-columns: 1fr; }
}
.ro-page .ro-engagement {
  padding: 22px 26px;
  border-right: 1px solid var(--btp-rule);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ro-page .ro-engagement:last-child { border-right: none; }
@media (max-width: 780px) {
  .ro-page .ro-engagement { border-right: none; border-bottom: 1px solid var(--btp-rule); }
  .ro-page .ro-engagement:last-child { border-bottom: none; }
}
.ro-page .ro-engagement-label {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--btp-accent);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.ro-page .ro-engagement strong {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-size: 19px;
  font-weight: 500;
  color: var(--btp-ink);
}
.ro-page .ro-engagement span:last-child {
  font-size: 14px;
  color: var(--btp-muted);
  line-height: 1.5;
}

/* Titres de section — serif, taille tenue */
.ro-page .ro-section-title {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif !important;
  font-weight: 500 !important;
  font-size: 32px !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 28px !important;
}

/* Steps — chiffres romains, hairlines */
.ro-page .ro-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 780px) { .ro-page .ro-steps { grid-template-columns: 1fr; } }
.ro-page .ro-step {
  padding: 24px 24px 22px !important;
  border: 1px solid var(--btp-rule) !important;
  background: var(--btp-bg) !important;
  border-radius: 3px !important;
  box-shadow: none !important;
}
.ro-page .ro-step-num {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif !important;
  font-size: 36px !important;
  font-style: italic !important;
  color: var(--btp-accent) !important;
  line-height: 1 !important;
  margin-bottom: 14px !important;
  background: transparent !important;
  padding: 0 !important;
}
.ro-page .ro-step h3 {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif !important;
  font-size: 19px !important;
  font-weight: 500 !important;
  margin-bottom: 8px !important;
}
.ro-page .ro-step p {
  font-size: 14.5px;
  color: var(--btp-ink-soft);
  line-height: 1.55;
}

/* Section "Vous êtes artisan" — dépouillée, pas de bloc bleu criard */
.ro-page .ro-section-blue {
  background: var(--btp-ink) !important;
  color: var(--btp-bg) !important;
  padding: 48px 40px !important;
  border-radius: 3px !important;
}
.ro-page .ro-section-blue .ro-section-title,
.ro-page .ro-section-blue .ro-section-sub {
  color: var(--btp-bg) !important;
}
.ro-page .ro-section-blue .ro-btn-white {
  background: var(--btp-bg) !important;
  color: var(--btp-ink) !important;
  border-color: var(--btp-bg) !important;
  border-radius: 3px !important;
}
.ro-page .ro-section-blue .ro-btn-white:hover {
  background: var(--btp-accent) !important;
  color: var(--btp-bg) !important;
  border-color: var(--btp-accent) !important;
}

/* Grille métiers — cartes sobres, hairline, texte serif */
.ro-page .ro-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid var(--btp-rule);
  border-left: 1px solid var(--btp-rule);
}
@media (max-width: 780px) { .ro-page .ro-grid-4 { grid-template-columns: repeat(2, 1fr); } }
.ro-page .ro-metier-card {
  padding: 22px 22px !important;
  border-right: 1px solid var(--btp-rule) !important;
  border-bottom: 1px solid var(--btp-rule) !important;
  background: var(--btp-bg) !important;
  color: var(--btp-ink) !important;
  text-align: left !important;
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  border-radius: 0 !important;
  transition: background 0.15s ease, color 0.15s ease;
  box-shadow: none !important;
}
.ro-page .ro-metier-card:hover {
  background: var(--btp-ink) !important;
  color: var(--btp-bg) !important;
}

/* Hero — layout deux colonnes avec visuel SVG */
.ro-page .ro-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) !important;
  gap: 48px !important;
  background: var(--btp-bg) !important;
  padding: 56px 0 !important;
  align-items: center !important;
  border-bottom: 1px solid var(--btp-rule) !important;
}
@media (max-width: 900px) {
  .ro-page .ro-hero { grid-template-columns: 1fr !important; gap: 28px !important; }
}
.ro-page .ro-hero-inner {
  padding: 0 !important;
  max-width: none !important;
}
.ro-page .ro-hero-visual {
  aspect-ratio: 4 / 5;
  border: 1px solid var(--btp-rule);
  background: var(--btp-bg-alt);
  overflow: hidden;
  min-height: 320px;
}
.ro-page .ro-hero-visual svg { display: block; width: 100%; height: 100%; }

/* Section "Le tiers de confiance" */
.ro-page .ro-trust {
  background: var(--btp-bg-alt) !important;
  border-top: 1px solid var(--btp-rule) !important;
  border-bottom: 1px solid var(--btp-rule) !important;
  padding: 56px 44px !important;
  margin: 44px 0 !important;
}
.ro-page .ro-trust-head { max-width: 720px; margin-bottom: 40px; }
.ro-page .ro-eyebrow {
  display: inline-block;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--btp-accent);
  font-weight: 600;
  margin-bottom: 14px;
}
.ro-page .ro-trust-head .ro-section-title em {
  font-style: italic;
  color: var(--btp-accent);
}
.ro-page .ro-trust-lede {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-size: 19px;
  line-height: 1.55;
  color: var(--btp-ink-soft);
  max-width: 62ch;
}
.ro-page .ro-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 900px) { .ro-page .ro-trust-grid { grid-template-columns: 1fr; } }
.ro-page .ro-trust-card {
  background: var(--btp-bg);
  border: 1px solid var(--btp-rule);
  padding: 24px 24px 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ro-page .ro-trust-num {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-style: italic;
  font-size: 28px;
  line-height: 1;
  color: var(--btp-accent);
}
.ro-page .ro-trust-card h3 {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-size: 20px;
  font-weight: 500;
  margin: 0;
}
.ro-page .ro-trust-card p {
  font-size: 14.5px;
  color: var(--btp-ink-soft);
  line-height: 1.55;
  margin: 0;
  flex: 1;
}
.ro-page .ro-trust-doc {
  padding-top: 12px;
  border-top: 1px solid var(--btp-rule);
  font-size: 12.5px;
  color: var(--btp-muted);
  letter-spacing: 0.02em;
}

/* Teaser BtoB — sobre, bordé */
.ro-page .ro-bto-teaser {
  border: 1px solid var(--btp-rule) !important;
  padding: 40px 44px !important;
  background: var(--btp-bg) !important;
  margin: 44px 0 !important;
}
.ro-page .ro-bto-body { max-width: 720px; }
.ro-page .ro-bto-body h2 em { font-style: italic; color: var(--btp-accent); }
.ro-page .ro-bto-body p {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-size: 17px;
  color: var(--btp-ink-soft);
  line-height: 1.55;
  margin-bottom: 20px;
}
.ro-page .ro-bto-body .ro-btn-outline {
  background: transparent !important;
  color: var(--btp-ink) !important;
  border: 1px solid var(--btp-ink) !important;
  border-radius: 3px !important;
}
.ro-page .ro-bto-body .ro-btn-outline:hover {
  background: var(--btp-ink) !important;
  color: var(--btp-bg) !important;
}

/* ─── Page « Comptes professionnels » ─────────────────── */

.ro-page.ro-comptes-pro { background: var(--btp-bg); }
.ro-page .ro-cp-hero {
  padding: 64px 44px 44px !important;
  border-bottom: 1px solid var(--btp-rule);
}
.ro-page .ro-cp-hero-inner { max-width: 780px; }
.ro-page .ro-cp-title {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif !important;
  font-size: clamp(30px, 4.5vw, 44px) !important;
  line-height: 1.1 !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  margin: 12px 0 20px !important;
}
.ro-page .ro-cp-title em { color: var(--btp-accent); font-style: italic; }
.ro-page .ro-cp-lede {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif !important;
  font-size: 19px !important;
  line-height: 1.55 !important;
  color: var(--btp-ink-soft) !important;
  max-width: 62ch;
}

.ro-page .ro-cp-archetypes {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--btp-rule);
  border-left: 1px solid var(--btp-rule);
  margin: 44px 0 !important;
}
@media (max-width: 900px) {
  .ro-page .ro-cp-archetypes { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 620px) {
  .ro-page .ro-cp-archetypes { grid-template-columns: 1fr !important; }
}
.ro-page .ro-cp-arch {
  padding: 26px 24px 28px;
  border-right: 1px solid var(--btp-rule);
  border-bottom: 1px solid var(--btp-rule);
  background: var(--btp-bg);
}
.ro-page .ro-cp-arch-label {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-style: italic;
  font-size: 24px;
  color: var(--btp-accent);
  display: block;
  margin-bottom: 10px;
  line-height: 1;
}
.ro-page .ro-cp-arch h3 {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-size: 19px;
  font-weight: 500;
  margin: 0 0 8px;
}
.ro-page .ro-cp-arch p {
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--btp-ink-soft);
  margin: 0;
}

.ro-page .ro-cp-method {
  background: var(--btp-bg-alt) !important;
  padding: 56px 44px !important;
  border-top: 1px solid var(--btp-rule);
  border-bottom: 1px solid var(--btp-rule);
  margin: 44px 0 !important;
}
.ro-page .ro-cp-method-head { max-width: 720px; margin-bottom: 36px; }
.ro-page .ro-cp-method-head em { font-style: italic; color: var(--btp-accent); }
.ro-page .ro-cp-method-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid var(--btp-rule);
  border-left: 1px solid var(--btp-rule);
}
@media (max-width: 900px) {
  .ro-page .ro-cp-method-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
  .ro-page .ro-cp-method-grid { grid-template-columns: 1fr; }
}
.ro-page .ro-cp-method-step {
  padding: 24px 22px;
  border-right: 1px solid var(--btp-rule);
  border-bottom: 1px solid var(--btp-rule);
  background: var(--btp-bg);
}
.ro-page .ro-cp-method-num {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--btp-accent);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  display: block;
  margin-bottom: 10px;
}
.ro-page .ro-cp-method-step h4 {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-size: 17px;
  font-weight: 500;
  margin: 0 0 6px;
}
.ro-page .ro-cp-method-step p {
  font-size: 14px;
  line-height: 1.55;
  color: var(--btp-ink-soft);
  margin: 0;
}

.ro-page .ro-cp-form {
  padding: 56px 44px !important;
  max-width: 900px;
  margin: 0 auto !important;
}
.ro-page .ro-cp-form-head { max-width: 620px; margin-bottom: 32px; }
.ro-page .ro-cp-form-head p {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-size: 17px;
  color: var(--btp-ink-soft);
}
.ro-page .ro-cp-form-head strong { color: var(--btp-ink); }
.ro-page .ro-cp-formulaire {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 20px;
}
@media (max-width: 700px) {
  .ro-page .ro-cp-formulaire { grid-template-columns: 1fr; }
}
.ro-page .ro-cp-field { display: flex; flex-direction: column; gap: 6px; }
.ro-page .ro-cp-field--full { grid-column: 1 / -1; }
.ro-page .ro-cp-field label {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--btp-muted);
  font-weight: 600;
}
.ro-page .ro-cp-field input,
.ro-page .ro-cp-field select,
.ro-page .ro-cp-field textarea {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 15px !important;
  padding: 11px 12px !important;
  border: 1px solid var(--btp-rule) !important;
  background: var(--btp-bg) !important;
  color: var(--btp-ink) !important;
  border-radius: 3px !important;
  transition: border-color 0.15s ease;
}
.ro-page .ro-cp-field input:focus,
.ro-page .ro-cp-field select:focus,
.ro-page .ro-cp-field textarea:focus {
  outline: none !important;
  border-color: var(--btp-accent) !important;
}
.ro-page .ro-cp-actions {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.ro-page .ro-cp-actions-note {
  font-size: 12.5px;
  color: var(--btp-muted);
  max-width: 42ch;
  line-height: 1.5;
}

.ro-page .ro-cp-direct {
  padding: 32px 44px !important;
  border-top: 1px solid var(--btp-rule);
  background: var(--btp-bg);
  text-align: center;
}
.ro-page .ro-cp-direct p { margin: 0 0 6px; font-size: 15px; }
.ro-page .ro-cp-direct a {
  color: var(--btp-accent);
  text-decoration: none;
  font-weight: 500;
}
.ro-page .ro-cp-direct a:hover { text-decoration: underline; }
.ro-page .ro-cp-direct-note {
  font-size: 12.5px;
  color: var(--btp-muted);
  margin-top: 8px !important;
}

/* Ligne SOS discrète — plus de bloc rouge dominant */
.ro-page .ro-sos-line {
  border-top: 1px solid var(--btp-rule) !important;
  padding: 22px 0 !important;
  text-align: center !important;
  background: transparent !important;
  margin-top: 32px !important;
}
.ro-page .ro-sos-line p {
  font-size: 14px !important;
  color: var(--btp-muted) !important;
  margin: 0 !important;
}
.ro-page .ro-sos-line a {
  color: var(--btp-accent) !important;
  font-weight: 500 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* ═══════════════════════════════════════════════════════════
   PASSE DE CORRECTION — lisibilité + responsive
   Neutralise les règles héritées du plugin (fond sombre,
   textes blancs, centrage forcé, éléments en position absolute).
   ═══════════════════════════════════════════════════════════ */

/* Base .ro-page — famille système, pas Plus Jakarta */
.ro-page {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, system-ui, sans-serif !important;
  background: var(--btp-bg) !important;
  color: var(--btp-ink) !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
}

/* ── Hero ─────────────────────────────────────────────── */
.ro-page .ro-hero::before,
.ro-page .ro-hero::after {
  content: none !important;
  display: none !important;
}
.ro-page .ro-hero {
  background: var(--btp-bg) !important;
  background-image: none !important;
  padding: 56px 24px !important;
  max-width: 1180px;
  margin: 0 auto;
  text-align: left !important;
  overflow: visible !important;
}
.ro-page .ro-hero-inner {
  max-width: none !important;
  margin: 0 !important;
  text-align: left !important;
  padding: 0 !important;
  position: relative;
  z-index: 1;
}
.ro-page .ro-hero-title {
  color: var(--btp-ink) !important;
  text-align: left !important;
}
.ro-page .ro-hero-title .ro-accent,
.ro-page .ro-hero-title .ro-accent em {
  color: var(--btp-accent) !important;
  font-style: italic !important;
}
.ro-page .ro-hero-sub {
  color: var(--btp-ink-soft) !important;
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 58ch !important;
}
.ro-page .ro-hero .ro-cta-group {
  justify-content: flex-start !important;
  margin-top: 24px !important;
}
@media (max-width: 900px) {
  .ro-page .ro-hero { padding: 40px 20px !important; }
  .ro-page .ro-hero-visual { display: none !important; }
}

/* ── Titres et intros de section : alignement gauche par défaut ── */
.ro-page .ro-section-title {
  text-align: left !important;
  color: var(--btp-ink) !important;
}
.ro-page .ro-section-sub {
  text-align: left !important;
  color: var(--btp-ink-soft) !important;
  margin-left: 0 !important;
  max-width: 62ch !important;
}
/* Exception : la section "Vous êtes artisan" reste centrée en gardant sa forme "carte" */
.ro-page .ro-section-blue {
  text-align: center !important;
}
.ro-page .ro-section-blue .ro-section-title,
.ro-page .ro-section-blue .ro-section-sub {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 640px !important;
  color: var(--btp-bg) !important;
}
.ro-page .ro-section-blue .ro-cta-group {
  justify-content: center !important;
}

/* Contenu principal centré dans la largeur, padding responsif */
.ro-page .ro-section {
  padding: 48px 24px !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
}
@media (max-width: 700px) {
  .ro-page .ro-section { padding: 36px 20px !important; }
}

/* ── Comment ça marche — cartes gauche, num en position statique ── */
.ro-page .ro-steps { margin-top: 20px !important; }
.ro-page .ro-step {
  text-align: left !important;
  position: relative;
}
.ro-page .ro-step-num {
  position: static !important;
  transform: none !important;
  background: transparent !important;
  color: var(--btp-accent) !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  display: block !important;
  box-shadow: none !important;
  text-align: left !important;
}
.ro-page .ro-step h3 {
  color: var(--btp-ink) !important;
  text-align: left !important;
}
.ro-page .ro-step p {
  text-align: left !important;
}

/* ── Métiers — cartes cohérentes gauche ─────────────── */
.ro-page .ro-metier-card {
  text-align: left !important;
  min-height: 68px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  padding: 20px 22px !important;
}
.ro-page .ro-specialites .ro-grid-4,
.ro-page .ro-grid-4 { margin-top: 24px !important; gap: 0 !important; }

/* ── Trust head / lede alignés gauche ─────────────── */
.ro-page .ro-trust-head .ro-section-title,
.ro-page .ro-cp-hero-inner .ro-cp-title,
.ro-page .ro-cp-method-head .ro-section-title,
.ro-page .ro-cp-form-head .ro-section-title,
.ro-page .ro-bto-body .ro-section-title {
  text-align: left !important;
  max-width: none !important;
}

/* ── Section-blue : padding responsif + wrapper ──── */
.ro-page .ro-section-blue {
  padding: 44px 24px !important;
  margin: 44px auto !important;
  max-width: 1132px !important;
}
@media (max-width: 700px) {
  .ro-page .ro-section-blue { padding: 32px 20px !important; margin: 32px 12px !important; }
}

/* ── Boutons hover : plus de translation (déjà retirée dans un bloc, mais ceinture-bretelles) ── */
.ro-page .ro-btn { transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease !important; }
.ro-page .ro-btn:hover { transform: none !important; box-shadow: none !important; }

/* ── Trust card : hover subtil, garde alignement gauche ── */
.ro-page .ro-trust-card { transition: border-color 0.15s ease; }
.ro-page .ro-trust-card:hover { border-color: var(--btp-accent); }

/* ── Focus visible — accessibilité ─────────────── */
.ro-page a:focus-visible,
.ro-page button:focus-visible,
.ro-page .ro-btn:focus-visible,
.ro-page input:focus-visible,
.ro-page select:focus-visible,
.ro-page textarea:focus-visible {
  outline: 2px solid var(--btp-accent) !important;
  outline-offset: 2px !important;
}

/* ── Correction largeur formulaire Comptes pro ───── */
.ro-page .ro-cp-form { padding: 48px 24px !important; }
@media (max-width: 700px) { .ro-page .ro-cp-form { padding: 32px 20px !important; } }
.ro-page .ro-cp-hero { padding: 56px 24px 40px !important; }
@media (max-width: 700px) { .ro-page .ro-cp-hero { padding: 40px 20px 32px !important; } }
.ro-page .ro-cp-method { padding: 48px 24px !important; margin: 0 !important; }
@media (max-width: 700px) { .ro-page .ro-cp-method { padding: 36px 20px !important; } }
.ro-page .ro-cp-archetypes { margin: 0 !important; }

/* ── Trust padding responsif ─────────────────────── */
.ro-page .ro-trust {
  padding: 56px 24px !important;
  margin: 40px auto !important;
  max-width: 1180px !important;
}
@media (max-width: 700px) { .ro-page .ro-trust { padding: 36px 20px !important; } }

/* ── BtoB teaser padding responsif ───────────────── */
.ro-page .ro-bto-teaser {
  padding: 40px 32px !important;
  max-width: 1132px !important;
  margin: 44px auto !important;
}
@media (max-width: 700px) { .ro-page .ro-bto-teaser { padding: 28px 20px !important; margin: 32px 12px !important; } }

/* ── Titre hero taille responsive plus fine ──────── */
.ro-page .ro-hero-title {
  font-size: clamp(28px, 5.2vw, 52px) !important;
  line-height: 1.08 !important;
}
@media (max-width: 480px) {
  .ro-page .ro-hero-title { font-size: 30px !important; line-height: 1.1 !important; }
  .ro-page .ro-hero-sub { font-size: 15.5px !important; }
}

/* ── Comptes pro title responsif ─────────────────── */
.ro-page .ro-cp-title {
  font-size: clamp(26px, 4.2vw, 40px) !important;
  line-height: 1.12 !important;
}
@media (max-width: 480px) {
  .ro-page .ro-cp-title { font-size: 26px !important; }
  .ro-page .ro-cp-lede { font-size: 16px !important; }
}

/* ── Section-title taille responsive ─────────────── */
.ro-page .ro-section-title {
  font-size: clamp(24px, 3.6vw, 32px) !important;
  line-height: 1.18 !important;
}
@media (max-width: 480px) {
  .ro-page .ro-section-title { font-size: 24px !important; }
}

/* ── Header pattern (nav) — mobile wrap ─────────── */
@media (max-width: 780px) {
  .wp-block-template-part[class*="header"] .wp-block-group.alignwide {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }
}
@media (max-width: 560px) {
  .wp-block-template-part[class*="header"] .wp-block-group {
    row-gap: 8px !important;
    column-gap: 16px !important;
  }
}

/* ── Body : casse toutes les colonnes d'overflow horizontal ── */
body, .wp-site-blocks { overflow-x: hidden !important; }

/* ── SVG hero : cadré, ne déborde jamais ────────── */
.ro-page .ro-hero-visual svg { max-width: 100% !important; }

/* ── Retirer les ombres résiduelles sur .ro-step ── */
.ro-page .ro-step:hover {
  transform: none !important;
  box-shadow: none !important;
  border-color: var(--btp-accent) !important;
  background: var(--btp-bg) !important;
}

/* ── .ro-stat-num n'existe plus mais si le CSS l'appliquait ailleurs ── */
.ro-page .ro-stat-num { color: var(--btp-accent) !important; }

/* ═══════════════════════════════════════════════════════════
   PAGES INTERNES — page-header, formulaire, annuaire, pricing
   Alignement sur la charte rectifiée (fond clair, hairline, sienne).
   ═══════════════════════════════════════════════════════════ */

/* ── En-tête de page (Déposer / Annuaire / Partenaire / Blog / Légales) ── */
.ro-page .ro-page-header::before,
.ro-page .ro-page-header::after {
  content: none !important;
  display: none !important;
}
.ro-page .ro-page-header {
  background: var(--btp-bg) !important;
  background-image: none !important;
  border-bottom: 1px solid var(--btp-rule) !important;
  padding: 48px 24px 44px !important;
  text-align: left !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  overflow: visible !important;
}
@media (max-width: 700px) {
  .ro-page .ro-page-header { padding: 36px 20px 32px !important; }
}
.ro-page .ro-page-header h1 {
  color: var(--btp-ink) !important;
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif !important;
  font-weight: 500 !important;
  font-size: clamp(26px, 4.2vw, 40px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 12px !important;
  text-align: left !important;
}
.ro-page .ro-page-header p {
  color: var(--btp-ink-soft) !important;
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  max-width: 62ch !important;
  margin: 0 !important;
  text-align: left !important;
}

/* ── Formulaire déposer — chips branches ──────────── */
.ro-page .ro-form-container {
  max-width: 780px !important;
  padding: 40px 24px !important;
}
@media (max-width: 700px) { .ro-page .ro-form-container { padding: 32px 20px !important; } }
.ro-page .ro-label-main {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  color: var(--btp-ink) !important;
  text-align: left !important;
  margin-bottom: 20px !important;
}
.ro-page .ro-branches {
  gap: 0 !important;
  border: 1px solid var(--btp-rule);
  border-radius: 3px;
  overflow: hidden;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
}
.ro-page .ro-branch {
  min-height: 84px !important;
  padding: 16px 12px !important;
  background: var(--btp-bg) !important;
  border: none !important;
  border-right: 1px solid var(--btp-rule) !important;
  border-bottom: 1px solid var(--btp-rule) !important;
  border-radius: 0 !important;
  color: var(--btp-ink) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  transition: background 0.15s ease !important;
}
.ro-page .ro-branch span {
  color: var(--btp-ink) !important;
  font-weight: 500 !important;
}
.ro-page .ro-branch:hover {
  background: var(--btp-bg-alt) !important;
  transform: none !important;
  border-color: var(--btp-rule) !important;
}
.ro-page .ro-branch.active {
  background: var(--btp-ink) !important;
  border-color: var(--btp-ink) !important;
  color: var(--btp-bg) !important;
  box-shadow: none !important;
}
.ro-page .ro-branch.active span { color: var(--btp-bg) !important; }
.ro-page .ro-branch[data-branch="sos"].active {
  background: var(--btp-accent) !important;
  border-color: var(--btp-accent) !important;
  color: var(--btp-bg) !important;
  box-shadow: none !important;
}
.ro-page .ro-branch[data-branch="sos"].active span { color: var(--btp-bg) !important; }

/* Champs formulaire — cohérence avec .ro-cp-field */
.ro-page .ro-form-group > label,
.ro-page .ro-form > label {
  color: var(--btp-ink) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: var(--btp-muted) !important;
}
.ro-page .ro-form-group input,
.ro-page .ro-form-group select,
.ro-page .ro-form-group textarea,
.ro-page .ro-form input,
.ro-page .ro-form select,
.ro-page .ro-form textarea {
  border: 1px solid var(--btp-rule) !important;
  border-radius: 3px !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  background: var(--btp-bg) !important;
  color: var(--btp-ink) !important;
}
.ro-page .ro-form-group input:focus,
.ro-page .ro-form-group select:focus,
.ro-page .ro-form-group textarea:focus,
.ro-page .ro-form input:focus,
.ro-page .ro-form select:focus,
.ro-page .ro-form textarea:focus {
  border-color: var(--btp-accent) !important;
  box-shadow: none !important;
  outline: none !important;
}
.ro-page .ro-form-divider {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: var(--btp-ink) !important;
  border-bottom: 1px solid var(--btp-rule) !important;
  padding-bottom: 8px !important;
  margin: 28px 0 20px !important;
}
.ro-page .ro-info-box {
  background: var(--btp-bg-alt) !important;
  border-left: 3px solid var(--btp-accent) !important;
  border-radius: 0 !important;
  color: var(--btp-ink-soft) !important;
}
.ro-page .ro-sos-alert {
  background: var(--btp-bg-alt) !important;
  border: 1px solid var(--btp-accent) !important;
  color: var(--btp-accent) !important;
  border-radius: 3px !important;
}
.ro-page .ro-checkbox-group label,
.ro-page .ro-form-group > label:has(input[type=checkbox]) {
  border: 1px solid var(--btp-rule) !important;
  border-radius: 3px !important;
  background: var(--btp-bg) !important;
  color: var(--btp-ink) !important;
}
.ro-page .ro-checkbox-group label:has(input:checked),
.ro-page .ro-form-group > label:has(input[type=checkbox]:checked) {
  background: var(--btp-bg-alt) !important;
  border-color: var(--btp-accent) !important;
}
.ro-page input[type=checkbox] { accent-color: var(--btp-accent) !important; }

/* ── Annuaire artisan cards ──────────────────────── */
.ro-page .ro-artisan-card::before {
  background: var(--btp-accent) !important;
  height: 2px !important;
}
.ro-page .ro-artisan-card {
  border: 1px solid var(--btp-rule) !important;
  border-radius: 3px !important;
  box-shadow: none !important;
  background: var(--btp-bg) !important;
  padding: 22px !important;
}
.ro-page .ro-artisan-card:hover {
  transform: none !important;
  box-shadow: none !important;
  border-color: var(--btp-accent) !important;
}
.ro-page .ro-artisan-avatar {
  background: var(--btp-ink) !important;
  color: var(--btp-bg) !important;
  border-radius: 0 !important;
  border: 1px solid var(--btp-ink) !important;
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif !important;
  font-weight: 500 !important;
}
.ro-page .ro-artisan-name {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif !important;
  color: var(--btp-ink) !important;
  font-weight: 500 !important;
}
.ro-page .ro-artisan-rating {
  background: var(--btp-bg-alt) !important;
  color: var(--btp-ink) !important;
  border-radius: 3px !important;
}
.ro-page .ro-annuaire-filters {
  background: var(--btp-bg-alt) !important;
  border: 1px solid var(--btp-rule) !important;
  border-radius: 3px !important;
}
.ro-page .ro-annuaire-filters select {
  border: 1px solid var(--btp-rule) !important;
  border-radius: 3px !important;
  background: var(--btp-bg) !important;
  color: var(--btp-ink) !important;
}
.ro-page .ro-annuaire-cta { background: var(--btp-bg-alt) !important; }

/* ── Devenir partenaire — pricing ────────────────── */
.ro-page .ro-pricing-card {
  border: 1px solid var(--btp-rule) !important;
  border-radius: 3px !important;
  box-shadow: none !important;
  padding: 30px 24px !important;
  text-align: left !important;
}
.ro-page .ro-pricing-card:hover { transform: none !important; box-shadow: none !important; }
.ro-page .ro-pricing-featured {
  border-color: var(--btp-accent) !important;
  border-width: 2px !important;
}
.ro-page .ro-pricing-popular {
  background: var(--btp-accent) !important;
  color: var(--btp-bg) !important;
  border-radius: 3px !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-size: 10.5px !important;
}
.ro-page .ro-pricing-name {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif !important;
  color: var(--btp-ink) !important;
  font-weight: 500 !important;
}
.ro-page .ro-pricing-price {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif !important;
  color: var(--btp-accent) !important;
  font-weight: 500 !important;
  font-variant-numeric: tabular-nums;
}
.ro-page .ro-pricing-badge {
  background: var(--btp-bg-alt) !important;
  color: var(--btp-muted) !important;
  border-radius: 3px !important;
}
.ro-page .ro-pricing-badge-orange {
  background: var(--btp-bg-alt) !important;
  color: var(--btp-accent) !important;
}
.ro-page .ro-pricing-features li {
  border-bottom: 1px solid var(--btp-rule) !important;
  color: var(--btp-ink-soft) !important;
}

.ro-page .ro-pack-conformite {
  background: var(--btp-bg-alt) !important;
  border: 1px solid var(--btp-rule) !important;
  border-radius: 3px !important;
}
.ro-page .ro-pack-price {
  color: var(--btp-accent) !important;
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif !important;
  font-weight: 500 !important;
  font-variant-numeric: tabular-nums;
}

/* ── FAQ accordéon ───────────────────────────────── */
.ro-page .ro-faq-item {
  border: 1px solid var(--btp-rule) !important;
  border-radius: 3px !important;
  background: var(--btp-bg) !important;
}
.ro-page .ro-faq-q {
  color: var(--btp-ink) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-weight: 500 !important;
}

/* ── Blog ────────────────────────────────────────── */
.ro-page .ro-blog-intro-card {
  background: var(--btp-bg-alt) !important;
  border-left: 3px solid var(--btp-accent) !important;
  border-radius: 0 !important;
}
.ro-page .ro-blog-intro-card h2 {
  color: var(--btp-ink) !important;
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif !important;
  font-weight: 500 !important;
}
.ro-page .ro-blog-article {
  border: 1px solid var(--btp-rule) !important;
  border-radius: 3px !important;
  box-shadow: none !important;
  background: var(--btp-bg) !important;
}
.ro-page .ro-article-date { color: var(--btp-accent) !important; font-family: -apple-system, sans-serif !important; letter-spacing: 0.06em; }
.ro-page .ro-article-tag {
  background: var(--btp-bg-alt) !important;
  color: var(--btp-ink-soft) !important;
  border-radius: 3px !important;
}
.ro-page .ro-blog-notify {
  background: var(--btp-bg-alt) !important;
  border-radius: 3px !important;
}
.ro-page .ro-notify-input {
  border: 1px solid var(--btp-rule) !important;
  border-radius: 3px !important;
  background: var(--btp-bg) !important;
  color: var(--btp-ink) !important;
}
.ro-page .ro-notify-input:focus {
  border-color: var(--btp-accent) !important;
  box-shadow: none !important;
}

/* ── Success msg cohérent ────────────────────────── */
.ro-page .ro-success-inner {
  background: var(--btp-bg-alt) !important;
  border: 1px solid var(--btp-accent) !important;
  border-radius: 3px !important;
}
.ro-page .ro-success-inner h2 { color: var(--btp-accent) !important; }
.ro-page .ro-success-icon { display: none !important; }

/* ── Table partenariat (leads) ───────────────────── */
.ro-page .ro-leads-table {
  border-radius: 3px !important;
  box-shadow: none !important;
}
.ro-page .ro-table thead { background: var(--btp-ink) !important; }
.ro-page .ro-table th { color: var(--btp-bg) !important; font-family: -apple-system, sans-serif !important; letter-spacing: 0.04em; }
.ro-page .ro-table td { border-bottom: 1px solid var(--btp-rule) !important; }
.ro-page .ro-table tbody tr:hover { background: var(--btp-bg-alt) !important; }
.ro-page .ro-price-cell { color: var(--btp-accent) !important; }

/* ── Badges rerouted vers palette rectifiée ──────── */
.ro-page .ro-badge-green,
.ro-page .ro-badge-or, .ro-page .ro-badge-gold,
.ro-page .ro-badge-blue,
.ro-page .ro-badge-orange,
.ro-page .ro-badge-purple,
.ro-page .ro-badge-bois {
  background: var(--btp-bg-alt) !important;
  color: var(--btp-ink) !important;
  border: 1px solid var(--btp-rule) !important;
  border-radius: 3px !important;
  font-family: -apple-system, sans-serif !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-size: 10.5px !important;
  padding: 4px 10px !important;
}
.ro-page .ro-badge-red {
  background: var(--btp-bg-alt) !important;
  color: var(--btp-accent) !important;
  border-color: var(--btp-accent) !important;
}
.ro-page .ro-blog-tag {
  background: transparent !important;
  border: 1px solid var(--btp-rule) !important;
  color: var(--btp-accent) !important;
  border-radius: 3px !important;
  font-family: -apple-system, sans-serif !important;
}

/* ── Assurer texte lisible sur success/couleur ── */
.ro-page .ro-white,
.ro-page .ro-section .ro-white { color: var(--btp-bg) !important; }
.ro-page .ro-section-blue .ro-white,
.ro-page .ro-section-blue { color: var(--btp-bg) !important; }

/* ═══════════════════════════════════════════════════════════
   PASSE MOBILE — bugs identifiés à 375px
   ═══════════════════════════════════════════════════════════ */

/* Spécificité — les <a class="ro-btn"> perdaient contre .ro-page a
   qui les colorait en sienne sur fond sienne (texte invisible).
   On force le texte sur chaque variante de bouton. */
.ro-page a.ro-btn-primary,
.ro-page a.ro-btn-white,
.ro-page a.ro-btn-outline,
.ro-page a.ro-btn-outline-white,
.ro-page a.ro-btn-danger,
.ro-page a.ro-btn-or,
.ro-page a.ro-btn-orange,
.ro-page a.ro-btn-whatsapp,
.ro-page .ro-btn-primary,
.ro-page .ro-btn-danger,
.ro-page .ro-btn-or,
.ro-page .ro-btn-orange,
.ro-page .ro-btn-whatsapp {
  text-decoration: none !important;
}
.ro-page a.ro-btn-primary,
.ro-page .ro-btn-primary,
.ro-page button.ro-btn-primary {
  background: var(--btp-accent) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--btp-accent) !important;
  box-shadow: none !important;
}
.ro-page a.ro-btn-primary:hover,
.ro-page .ro-btn-primary:hover,
.ro-page button.ro-btn-primary:hover {
  background: var(--btp-ink) !important;
  color: #FFFFFF !important;
  border-color: var(--btp-ink) !important;
}
.ro-page a.ro-btn-outline,
.ro-page .ro-btn-outline {
  background: transparent !important;
  color: var(--btp-ink) !important;
  border: 1px solid var(--btp-ink) !important;
}
.ro-page a.ro-btn-outline:hover,
.ro-page .ro-btn-outline:hover {
  background: var(--btp-ink) !important;
  color: var(--btp-bg) !important;
}
.ro-page a.ro-btn-white,
.ro-page .ro-btn-white {
  background: var(--btp-bg) !important;
  color: var(--btp-ink) !important;
  border: 1px solid var(--btp-bg) !important;
}
.ro-page a.ro-btn-white:hover,
.ro-page .ro-btn-white:hover {
  background: var(--btp-accent) !important;
  color: #FFFFFF !important;
  border-color: var(--btp-accent) !important;
}
.ro-page a.ro-btn-outline-white,
.ro-page .ro-btn-outline-white {
  background: transparent !important;
  color: var(--btp-bg) !important;
  border: 1px solid var(--btp-bg) !important;
}
.ro-page a.ro-btn-danger,
.ro-page .ro-btn-danger {
  background: var(--btp-accent) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--btp-accent) !important;
}
.ro-page a.ro-btn-or,
.ro-page .ro-btn-or {
  background: var(--btp-brass) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--btp-brass) !important;
}
.ro-page a.ro-btn-orange,
.ro-page .ro-btn-orange {
  background: var(--btp-accent) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--btp-accent) !important;
}
.ro-page a.ro-btn-whatsapp,
.ro-page .ro-btn-whatsapp {
  background: #128C7E !important;
  color: #FFFFFF !important;
  border: 1px solid #128C7E !important;
}

/* Radius uniforme sur tous les .ro-btn */
.ro-page .ro-btn { border-radius: 3px !important; box-shadow: none !important; }

/* Header intro (Déposer / Annuaire / …) — texte qui ne déborde jamais */
.ro-page .ro-page-header,
.ro-page .ro-page-header p,
.ro-page .ro-page-header h1 {
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  hyphens: auto !important;
}
.ro-page .ro-page-header p { max-width: 60ch !important; }

/* Emojis dans les .ro-branch (Rénovation/Construction/Conception/Financement/SOS) — masqués */
.ro-page .ro-branch { font-size: 0 !important; line-height: 0 !important; }
.ro-page .ro-branch span {
  font-size: 15px !important;
  line-height: 1.4 !important;
  display: block !important;
  margin-top: 2px !important;
}
/* Étiquette du meta "Environ 2 minutes — Étape 1/2" — retirer emoji horloge */
.ro-page .ro-branch-meta,
.ro-page .ro-form-meta { font-size: 12.5px !important; color: var(--btp-muted) !important; text-align: left !important; }

/* Boutons de soumission de formulaire — jamais d'emoji, poids normal */
.ro-page button[type=submit],
.ro-page input[type=submit] { text-transform: none !important; }

/* Emoji du CTA "Envoyer ma demande de projet" — on retire l'emoji via ::before */
.ro-page .ro-form-submit,
.ro-page button.ro-btn-primary[type=submit],
.ro-page button.ro-btn-lg[type=submit] {
  background: var(--btp-accent) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--btp-accent) !important;
  border-radius: 3px !important;
  box-shadow: none !important;
}

/* Cards artisan — les avatars conservent leur icône métier lisible */
.ro-page .ro-artisan-avatar {
  font-size: 24px !important;
  min-width: 54px !important;
  min-height: 54px !important;
  border-radius: 3px !important;
}

/* Cadenas / mask sur coordonnées — plus discret */
.ro-page .ro-masked,
.ro-page .ro-mask-icon { color: var(--btp-muted) !important; }

/* Widget SOS floating (injecté quelque part, s'affiche rond orange en bas-droit) — l'aligner sur charte */
.ro-page .ro-sos-float,
body .ro-sos-float,
body [class*="sos-float"],
body [class*="floating-sos"] {
  background: var(--btp-accent) !important;
  color: #FFFFFF !important;
  box-shadow: 0 6px 18px rgba(140,59,36,0.30) !important;
}

/* Petit clean up : padding safety sur toutes les sections .ro-page */
@media (max-width: 480px) {
  .ro-page .ro-hero { padding: 32px 18px !important; }
  .ro-page .ro-section { padding: 28px 18px !important; }
  .ro-page .ro-trust { padding: 32px 18px !important; margin: 24px auto !important; }
  .ro-page .ro-section-blue { padding: 28px 18px !important; margin: 24px 8px !important; }
  .ro-page .ro-bto-teaser { padding: 24px 18px !important; margin: 24px 8px !important; }
  .ro-page .ro-page-header { padding: 28px 18px !important; }
  .ro-page .ro-form-container { padding: 24px 18px !important; }
}

/* Empêcher les images / rects extra-larges dans les sections de déborder */
.ro-page img, .ro-page svg { max-width: 100% !important; height: auto !important; }
.ro-page .ro-hero-visual svg { height: 100% !important; }

/* ═══════════════════════════════════════════════════════════
   HEADER & FOOTER — nouveau markup HTML pur (parts/header.html)
   ═══════════════════════════════════════════════════════════ */

/* Le wrapper WP autour du template-part header ne doit rien masquer */
.wp-site-blocks > header.wp-block-template-part,
header.wp-block-template-part {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

.btp-header {
  background: var(--btp-bg);
  border-bottom: 1px solid var(--btp-rule);
  position: relative;
  z-index: 10;
  display: block !important;
}
.btp-header__inner {
  max-width: 1180px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 16px 24px;
  flex-wrap: wrap;
}
@media (max-width: 780px) {
  .btp-header__inner { padding: 14px 18px; gap: 14px; }
}

.btp-brand {
  display: inline-flex;
  align-items: baseline;
  gap: 12px;
  text-decoration: none;
  color: var(--btp-ink);
  flex: 0 0 auto;
}
.btp-brand__word {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.005em;
  line-height: 1;
  color: var(--btp-ink);
}
.btp-brand__word em {
  font-style: italic;
  color: var(--btp-accent);
}
.btp-brand__region {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 10.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--btp-muted);
  font-weight: 600;
}
@media (max-width: 480px) {
  .btp-brand__region { display: none; }
  .btp-brand__word { font-size: 20px; }
}

.btp-nav {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 14.5px;
}
.btp-nav a {
  color: var(--btp-ink);
  text-decoration: none;
  transition: color 0.15s ease;
}
.btp-nav a:hover { color: var(--btp-accent); }
.btp-nav__cta {
  color: #FFFFFF !important;
  background: var(--btp-accent);
  padding: 9px 16px;
  border: 1px solid var(--btp-accent);
  border-radius: 3px;
  font-weight: 500;
}
.btp-nav__cta:hover {
  background: var(--btp-ink) !important;
  border-color: var(--btp-ink);
  color: #FFFFFF !important;
}
@media (max-width: 780px) {
  .btp-nav { gap: 14px; font-size: 13.5px; width: 100%; justify-content: flex-start; }
  .btp-nav__cta { margin-left: auto; padding: 8px 14px; }
}
@media (max-width: 480px) {
  .btp-nav a:not(.btp-nav__cta) { font-size: 13px; }
}

/* Footer */
.btp-footer {
  border-top: 1px solid var(--btp-rule);
  background: var(--btp-bg);
  color: var(--btp-ink-soft);
  padding: 44px 24px 28px;
  margin-top: 60px;
}
.btp-footer__inner {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--btp-rule);
}
@media (max-width: 900px) {
  .btp-footer__inner { grid-template-columns: 1fr 1fr; gap: 28px; }
}
@media (max-width: 520px) {
  .btp-footer__inner { grid-template-columns: 1fr; gap: 22px; padding-bottom: 22px; }
  .btp-footer { padding: 32px 18px 22px; }
}
.btp-footer__brand {
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-size: 20px;
  font-weight: 500;
  color: var(--btp-ink);
  margin: 0 0 10px;
  letter-spacing: -0.005em;
}
.btp-footer__desc {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--btp-ink-soft);
  margin: 0;
  max-width: 34ch;
}
.btp-footer__label {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--btp-muted);
  font-weight: 600;
  margin: 0 0 14px;
}
.btp-footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.btp-footer li a {
  color: var(--btp-ink);
  font-size: 14px;
  text-decoration: none;
  transition: color 0.15s ease;
}
.btp-footer li a:hover { color: var(--btp-accent); text-decoration: underline; text-underline-offset: 3px; }
.btp-footer__legal {
  text-align: center;
  font-size: 11.5px;
  letter-spacing: 0.06em;
  color: var(--btp-muted);
  margin: 24px 0 0;
}

/* ═══════════════════════════════════════════════════════════
   Masquer le titre WP par défaut (« Accueil ») injecté par
   templates/page.html — le hero et .ro-page-header le remplacent.
   ═══════════════════════════════════════════════════════════ */
.wp-block-post-title,
h1.wp-block-post-title {
  display: none !important;
}

/* Padding global du .entry-content à zéro : le contenu .ro-page gère seul */
.wp-block-post-content,
.entry-content {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
}
main.wp-block-group,
main.has-global-padding {
  padding: 0 !important;
  margin: 0 !important;
}
main.wp-block-group > .wp-block-post-content { margin: 0 !important; }
