/* Conteneur + titres */
.lbh-wrap{max-width:1100px;margin:0 auto;padding:32px 20px}
.lbh-title{font-weight:700;letter-spacing:-.02em;color:#0f172a;margin:0 0 8px;text-align:center}
.lbh-sub{color:#475569;margin:0 auto 28px;line-height:1.65;max-width:780px;text-align:center}
/* Grille steps : 1 col mobile, 2 cols tablette, 3 cols desktop */
.lbh-steps{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:18px;align-items:stretch}
@media (min-width:680px){.lbh-steps{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.lbh-steps{grid-template-columns:repeat(3,1fr)}}
/* Cartes confort de lecture */
.lbh-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px 18px 16px;
  box-shadow:0 6px 18px rgba(0,0,0,.05);transition:transform .15s ease, box-shadow .15s ease;display:flex;flex-direction:column}
.lbh-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.08)}
.lbh-icon{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#1d4ed8,#60a5fa);
  display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;margin-right:10px;font-size:16px}
.lbh-h3{display:flex;align-items:center;font-size:1.125rem;margin:2px 0 6px;color:#0f172a}
.lbh-p{color:#334155;margin:0;line-height:1.55;font-size:.98rem}
.lbh-spacer{flex:1}
/* Timeline : compacte, centrée */
.lbh-timeline{margin:32px auto 0;border:1px dashed #e5e7eb;border-radius:14px;padding:14px;background:#fafafa;max-width:900px}
.lbh-timeline svg{display:block;width:100%;height:auto}
/* Écrans très larges */
@media (min-width:1400px){.lbh-title{font-size:42px}}
.lbh-footer{margin-top:40px;background:#0f172a;color:#cbd5e1}
.lbh-footer a{color:#e2e8f0;text-decoration:none}
.lbh-footer a:hover{color:#fff;text-decoration:underline}
.lbh-footer__wrap{max-width:1100px;margin:0 auto;padding:32px 20px;display:grid;gap:24px}
@media(min-width:900px){.lbh-footer__wrap{grid-template-columns:1.1fr 2fr}}
.lbh-footer__brand p{margin:.4rem 0 1rem;color:#94a3b8}
.lbh-footer__logo{display:inline-block;font-weight:800;letter-spacing:.02em;color:#fff;font-size:1.1rem;margin-bottom:.25rem}
.lbh-footer__cta{display:inline-block;background:#1d4ed8;color:#fff;padding:10px 14px;border-radius:10px;margin-top:6px}
.lbh-footer__cols{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:18px}
@media(min-width:700px){.lbh-footer__cols{grid-template-columns:repeat(3,1fr)}}
.lbh-footer__cols h4{color:#e2e8f0;margin:0 0 8px;font-weight:700}
.lbh-footer__cols ul{list-style:none;margin:0;padding:0}
.lbh-footer__cols li{margin:.35rem 0}
.lbh-footer__bottom{border-top:1px solid #1f2937;display:flex;justify-content:space-between;align-items:center;padding:12px 20px;gap:10px}
.lbh-footer{margin-top:40px;background:#0f172a;color:#cbd5e1}
.lbh-footer a{color:#e2e8f0;text-decoration:none}
.lbh-footer a:hover{color:#fff;text-decoration:underline}
.lbh-footer__wrap{max-width:1100px;margin:0 auto;padding:32px 20px;display:grid;gap:24px}
@media(min-width:900px){.lbh-footer__wrap{grid-template-columns:1.1fr 2fr}}
.lbh-footer__brand p{margin:.4rem 0 1rem;color:#94a3b8}
.lbh-footer__logo{display:inline-block;font-weight:800;letter-spacing:.02em;color:#fff;font-size:1.1rem;margin-bottom:.25rem}
.lbh-footer__cta{display:inline-block;background:#1d4ed8;color:#fff;padding:10px 14px;border-radius:10px;margin-top:6px}
.lbh-footer__cols{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:18px}
@media(min-width:700px){.lbh-footer__cols{grid-template-columns:repeat(3,1fr)}}
.lbh-footer__cols h4{color:#e2e8f0;margin:0 0 8px;font-weight:700}
.lbh-footer__cols ul{list-style:none;margin:0;padding:0}
.lbh-footer__cols li{margin:.35rem 0}
.lbh-footer__bottom{border-top:1px solid #1f2937;display:flex;justify-content:space-between;align-items:center;padding:12px 20px;gap:10px}
/* --- PATCH Méthodologie --- */
/* Grille : auto-fit avec largeur mini afin d'éviter les colonnes rikiki */
.lbh-steps{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap:18px; align-items:stretch;
}
/* Cartes : empêcher la casse “lettre par lettre” provenant de styles globaux */
.lbh-card, .lbh-card *{
  word-break: normal !important;
  overflow-wrap: anywhere;
  white-space: normal !important;
  hyphens: auto;
}
/* Petits écrans : mini à 240px pour caler deux colonnes si possible */
@media (max-width: 420px){
  .lbh-steps{ grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)) !important; }
}
/* Anti casse verticale héritée du thème / blocs */
.lbh-wrap, .lbh-wrap *{
  writing-mode: horizontal-tb !important;
}
.lbh-steps, .lbh-card, .lbh-card *{
  column-count: unset !important;
  column-width: auto !important;
  columns: auto !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
  hyphens: manual !important;
}
/* Grille confortable */
.lbh-steps{
  display:grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap:18px !important;
}
@media (max-width: 420px){
  .lbh-steps{ grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)) !important; }
}
/* Frise plus légère */
.lbh-timeline{
  margin:16px auto 0 !important;
  padding:8px 0 !important;
  border:none !important;
  background:transparent !important;
  max-width:900px !important;
}
.lbh-timeline{margin:16px auto 0 !important;padding:8px 0 !important;border:none !important;background:transparent !important;max-width:900px !important}
/* Neutraliser toute ancienne frise */
.lbh-timeline, .lbh-timeline * { display:none !important; }

/* Frise HTML propre */
.lbh-progress{max-width:1000px;margin:16px auto 0;padding:8px 12px}
.lbh-progress__bar{height:6px;border-radius:9999px;background:linear-gradient(90deg,#1d4ed8,#60a5fa)}
.lbh-progress__steps{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-top:10px}
.lbh-progress__step{position:relative;flex:1;text-align:center}
.lbh-progress__step::before{
  content:"";position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  width:18px;height:18px;border-radius:9999px;background:#fff;border:3px solid #1d4ed8;box-shadow:0 2px 6px rgba(0,0,0,.08)
}
.lbh-progress__step span{display:inline-block;margin-top:6px;color:#0f172a;font-size:13px}
@media (max-width:560px){
  .lbh-progress__step span{font-size:12px}
}
/* --- FRise méthodo : pastilles centrées sur la barre, labels dessous --- */
.lbh-progress{position:relative;max-width:1000px;margin:18px auto 0;padding:18px 12px}
.lbh-progress__bar{
  position:relative;height:6px;border-radius:9999px;background:linear-gradient(90deg,#1d4ed8,#60a5fa);
}
.lbh-progress__steps{
  position:relative;display:flex;justify-content:space-between;gap:0;margin-top:12px
}
/* pastille centrée sur la barre */
.lbh-progress__step{position:relative;flex:1;text-align:center}
.lbh-progress__step::before{
  content:"";position:absolute;top:-24px;left:50%;transform:translate(-50%, -50%);
  width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid #1d4ed8;
  box-shadow:0 2px 6px rgba(0,0,0,.08)
}
/* libellé */
.lbh-progress__step span{display:inline-block;margin-top:2px;color:#0f172a;font-size:13px;line-height:1}
@media (max-width:560px){.lbh-progress__step span{font-size:12px}}
/* ===== Frise Méthodo – alignement parfait ===== */
.lbh-progress{position:relative;max-width:1000px;margin:22px auto 0 !important;padding:34px 12px 0 !important}

/* Barre centrée verticalement (absolue) */
.lbh-progress__bar{
  position:absolute !important; left:0; right:0;
  top:22px;  /* hauteur de référence pour toutes les pastilles */
  height:6px; border-radius:9999px;
  background:linear-gradient(90deg,#1d4ed8,#60a5fa);
}

/* Conteneur des steps */
.lbh-progress__steps{
  position:relative !important;
  display:flex; justify-content:space-between; gap:0;
  margin-top:42px !important; /* espace sous la barre pour les libellés */
}

/* Pastille centrée SUR la barre (même top que la barre) */
.lbh-progress__step{position:relative; flex:1; text-align:center}
.lbh-progress__step::before{
  content:""; position:absolute; left:50%;
  top:22px; transform:translate(-50%, -50%) !important;
  width:18px; height:18px; border-radius:50%;
  background:#fff; border:3px solid #1d4ed8;
  box-shadow:0 2px 6px rgba(0,0,0,.08);
}

/* Libellé sous la pastille */
.lbh-progress__step span{
  display:inline-block; margin-top:0 !important;
  color:#0f172a; font-size:13px; line-height:1.1;
}
@media (max-width:560px){
  .lbh-progress{padding-top:32px !important}
  .lbh-progress__steps{margin-top:38px !important}
  .lbh-progress__step span{font-size:12px}
}
/* Frise : superpose les pastilles sur la barre, labels dessous */
.lbh-progress{max-width:1000px;margin:22px auto 0;padding:0 12px 0 !important}
.lbh-progress__bar{height:6px;border-radius:9999px;background:linear-gradient(90deg,#1d4ed8,#60a5fa)}
/* On remonte la rangée des steps pour qu'elle chevauche la barre */
.lbh-progress__steps{
  display:flex;justify-content:space-between;gap:0;
  margin-top:-3px !important;      /* chevauche la barre */
  padding-top:28px !important;     /* espace pour les libellés */
}
.lbh-progress__step{position:relative;flex:1;text-align:center}
.lbh-progress__step::before{
  content:"";position:absolute;left:50%;top:0;transform:translate(-50%,-50%);
  width:18px;height:18px;border-radius:50%;
  background:#fff;border:3px solid #1d4ed8;box-shadow:0 2px 6px rgba(0,0,0,.08)
}
.lbh-progress__step span{display:inline-block;margin-top:6px;color:#0f172a;font-size:13px;line-height:1}
@media (max-width:560px){.lbh-progress__step span{font-size:12px}}
/* ===== FRise Méthodo — centrage définitif ===== */
.lbh-progress{ position:relative; max-width:1000px; margin:22px auto 0 !important; padding:40px 12px 0 !important; }

.lbh-progress__bar{
  position:absolute !important; left:0; right:0;
  top:26px !important;                      /* repère unique */
  height:6px !important; border-radius:9999px;
  background:linear-gradient(90deg,#1d4ed8,#60a5fa) !important;
}

.lbh-progress__steps{
  position:relative !important;
  display:flex !important; justify-content:space-between !important; gap:0 !important;
  margin-top:0 !important; padding-top:46px !important;   /* espace pour les labels */
}

.lbh-progress__step{ position:relative !important; flex:1 1 0 !important; text-align:center !important; }

/* Pastille centrée pile sur la barre (même top, translate -50%) */
.lbh-progress__step::before{
  content:""; position:absolute !important;
  left:50% !important; top:26px !important; transform:translate(-50%,-50%) !important;
  width:18px !important; height:18px !important; border-radius:50% !important;
  background:#fff !important; border:3px solid #1d4ed8 !important;
  box-shadow:0 2px 6px rgba(0,0,0,.08) !important;
}

/* Libellés sous la pastille */
.lbh-progress__step span{
  display:inline-block !important; margin-top:0 !important;
  color:#0f172a !important; font-size:13px !important; line-height:1.1 !important;
}

@media (max-width:560px){
  .lbh-progress{ padding-top:36px !important; }
  .lbh-progress__bar{ top:22px !important; }
  .lbh-progress__steps{ padding-top:40px !important; }
  .lbh-progress__step span{ font-size:12px !important; }
}
/* ===== FRise Méthodo — position absolue pour TOUT ===== */
.lbh-progress{ position:relative !important; max-width:1000px; margin:22px auto 0 !important; padding:44px 0 0 !important; }

/* Barre fixée */
.lbh-progress__bar{
  position:absolute !important; left:0 !important; right:0 !important;
  top:22px !important; height:6px !important; border-radius:9999px !important;
  background:linear-gradient(90deg,#1d4ed8,#60a5fa) !important;
}

/* Rangée superposée à la barre */
.lbh-progress__steps{
  position:absolute !important; left:0 !important; right:0 !important;
  top:22px !important; display:flex !important; justify-content:space-between !important;
  align-items:center !important; gap:0 !important; margin:0 !important; padding:0 !important;
}

/* Chaque step = repère centré */
.lbh-progress__step{ position:relative !important; flex:1 1 0 !important; text-align:center !important; }

/* Pastille centrée SUR la barre */
.lbh-progress__step::before{
  content:""; position:absolute !important; left:50% !important; top:0 !important;
  transform:translate(-50%,-50%) !important; width:18px !important; height:18px !important;
  border-radius:50% !important; background:#fff !important; border:3px solid #1d4ed8 !important;
  box-shadow:0 2px 6px rgba(0,0,0,.08) !important;
}

/* Libellé placé en dessous, toujours par rapport AU MÊME repère */
.lbh-progress__step span{
  position:absolute !important; left:50% !important; top:0 !important;
  transform:translate(-50%, 18px) !important;   /* distance pastille → label */
  margin:0 !important; color:#0f172a !important; font-size:13px !important; line-height:1.1 !important;
}

@media (max-width:560px){
  .lbh-progress{ padding-top:40px !important; }
  .lbh-progress__bar, .lbh-progress__steps{ top:20px !important; }
  .lbh-progress__step span{ transform:translate(-50%, 16px) !important; font-size:12px !important; }
}
:root{
  --lbh-primary:#2563eb; /* bleu pro */
  --lbh-primary-2:#60a5fa;
  --lbh-ink:#0f172a;     /* ardoise texte */
  --lbh-muted:#334155;   /* sous-texte */
  --lbh-bg:#f7f8fb;      /* fond doux */
}

body{background:var(--lbh-bg)}
.lbh-title{color:var(--lbh-ink)}
.lbh-sub{color:var(--lbh-muted)}
.lbh-icon{background:var(--lbh-primary) !important}
.lbh-card{border:1px solid #e7eaf0 !important}
.lbh-progress__bar{background:linear-gradient(90deg,var(--lbh-primary),var(--lbh-primary-2)) !important}
.lbh-progress__step::before{border-color:var(--lbh-primary) !important}
a.button, .wp-element-button{
  background:var(--lbh-primary); color:#fff; padding:10px 16px; border-radius:12px; text-decoration:none
}
a.button:hover{filter:brightness(.95)}
/* Harmonise les espacements sur À propos */
.page-id-$(echo $APROPOS_ID){}
/* cartes un peu plus compactes desktop */
@media (min-width:1024px){ .lbh-steps{gap:14px} }
/* bouton primary */
.lbh-wrap .button{box-shadow:0 6px 18px rgba(37,99,235,.18)}
/* Cartes un peu plus serrées en desktop */
@media (min-width:1024px){ .lbh-steps{ gap:14px } }
/* Bouton primary plus “clicable” */
.lbh-wrap .button{ box-shadow:0 6px 18px rgba(37,99,235,.18) }
.lbh-faq details{background:#fff;border:1px solid #e7eaf0;border-radius:14px;padding:10px 14px;margin:10px 0;transition:box-shadow .15s ease}
.lbh-faq details[open]{box-shadow:0 8px 22px rgba(15,23,42,.06)}
.lbh-faq summary{cursor:pointer;list-style:none;font-weight:600;color:#0f172a}
.lbh-faq summary::-webkit-details-marker{display:none}
.lbh-faq summary:after{content:"+";float:right;color:#2563eb;font-weight:700}
.lbh-faq details[open] summary:after{content:"–"}
.lbh-faq__item > div{color:#334155;margin-top:8px}
/* Masque le footer natif du thème pour éviter le doublon */
#colophon, .site-footer, footer[role="contentinfo"]{display:none !important}
 /* Masquer le footer clair du thème (toutes variantes block / classic) */
 .wp-block-template-part.wp-block-footer,
 .wp-block-template-part[data-area="footer"],
 .wp-site-blocks > footer,
 footer[role="contentinfo"],
 .site-footer,
 #colophon { display:none !important; }
