/* Bonne Piste : charte « Plan coté » (piste 1a, Claude Design, 08/10/2026). Jetons repris de tokens.css. */
:root{
  --bp-papier:#F6F4EF;--bp-blanc:#FFFFFF;--bp-sable:#E6D9C0;--bp-sable-fonce:#E9E3D6;--bp-terre:#7A5137;--bp-terre-texte:#6A452E;
  --bp-encre:#1C1B19;--bp-encre-2:#3D3934;--bp-gris:#6B6459;--bp-trait:#CFC6B6;--bp-trait-clair:#E3DCCF;--bp-grille:#EEF1F6;--bp-plan-remplissage:#EFE5D1;
  --bp-action:#AB4928;--bp-action:oklch(0.52 0.15 40);--bp-action-survol:oklch(0.47 0.15 40);--bp-action-sur-encre:oklch(0.60 0.15 40);
  --bp-info:#2F5E93;--bp-info:oklch(0.48 0.11 245);--bp-info-texte:oklch(0.42 0.11 245);--bp-info-fonce:oklch(0.38 0.11 245);--bp-info-moyen:oklch(0.80 0.06 245);--bp-info-pale:oklch(0.95 0.025 245);
  --bp-erreur:oklch(0.50 0.17 25);--bp-succes:oklch(0.48 0.10 150);
  --bp-font:"IBM Plex Sans",system-ui,sans-serif;--bp-mono:"IBM Plex Mono",ui-monospace,monospace;
  --bp-rayon:2px;--bp-bordure:1px solid var(--bp-trait);--bp-filet:3px;--bp-transition:120ms ease-out;
  --bp-marge:clamp(16px,4vw,56px);--bp-section:clamp(56px,6vw,88px);
  /* thème Twenty Twenty-Five : on remplace ses préréglages */
  --wp--preset--color--base:var(--bp-papier);--wp--preset--color--contrast:var(--bp-encre);
  --wp--preset--font-family--manrope:var(--bp-font);--wp--preset--font-family--fira-code:var(--bp-mono);
}
html,body{overflow-x:clip}
body{background:var(--bp-papier)!important;color:var(--bp-encre);font-family:var(--bp-font)!important;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
body h1,body h2,body h3,body h4{font-family:var(--bp-font)!important;font-weight:700;letter-spacing:-.02em;color:var(--bp-encre)}
body .wp-block-post-title{font-size:clamp(28px,2.6vw + 12px,48px);line-height:1.08;letter-spacing:-.03em}
h1,h2,h3,p{text-wrap:pretty}
.wp-block-post-content a,.entry-content a{color:var(--bp-info-texte);text-underline-offset:3px}
.wp-block-post-content a:hover{color:var(--bp-info-fonce)}
:focus-visible{outline:2px solid var(--bp-info)!important;outline-offset:2px}
.wp-block-post-featured-image img{border:1px solid var(--bp-trait);border-radius:0}

/* Boutons */
.bp-btn-action,.bp-btn-secondaire{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:var(--bp-rayon);font:600 16px var(--bp-font);text-decoration:none!important;cursor:pointer;transition:background var(--bp-transition),color var(--bp-transition)}
.bp-btn-action{background:var(--bp-action);color:#fff!important;border:0}
.bp-btn-action:hover{background:var(--bp-action-survol)}
.bp-btn-action--sur-encre{background:var(--bp-action-sur-encre);color:var(--bp-encre)!important;flex:none}
.bp-btn-secondaire{background:transparent;color:var(--bp-encre)!important;border:1.5px solid var(--bp-encre)}
.bp-btn-secondaire:hover{background:var(--bp-encre);color:var(--bp-papier)!important}
.bp-libelle{font:500 11px var(--bp-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--bp-gris)}
.bp-surtitre{font:500 12px var(--bp-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--bp-info)}
.bp-carte{background:var(--bp-blanc);border:var(--bp-bordure);border-top:var(--bp-filet) solid var(--bp-info);border-radius:0;box-shadow:none}
.bp-carte--terre{border-top-color:var(--bp-terre)}

/* En-tête */
.bp-entete{border-bottom:1px solid var(--bp-trait);background:var(--bp-papier)}
.bp-entete>.wp-block-group{min-height:72px;gap:24px}
.bp-logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--bp-encre)}
.bp-logo__symbole{position:relative;display:inline-block;width:40px;height:22px;border:2px solid var(--bp-encre);flex:none}
.bp-logo__symbole::before{content:"";position:absolute;left:50%;top:-2px;bottom:-2px;width:2px;background:var(--bp-encre);transform:translateX(-1px)}
.bp-logo__symbole::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border:2px solid var(--bp-encre);border-radius:50%;transform:translate(-50%,-50%);background:var(--bp-papier)}
.bp-logo__nom{font:700 20px var(--bp-font);letter-spacing:-.02em;white-space:nowrap}
.bp-entete .wp-block-navigation{font:500 14px var(--bp-font);gap:26px}
.bp-entete .wp-block-navigation a{text-decoration:none}
.bp-entete .wp-block-navigation a:hover{color:var(--bp-info-texte)}
.bp-btn-entete{min-height:44px;padding:0 20px;font-size:14px;white-space:nowrap}

/* Pied de page */
.bp-pied{border-top:1px solid var(--bp-trait);margin-top:var(--bp-section)}
.bp-pied .bp-pied__grille{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2fr));gap:40px;font:14px/1.9 var(--bp-font);padding:48px 0}
.bp-pied a{color:var(--bp-encre);text-decoration:none;display:block}
.bp-pied a:hover{color:var(--bp-info-texte)}
.bp-pied strong{font:700 20px var(--bp-font);display:block;letter-spacing:-.02em}
.bp-pied p{margin:6px 0 0;color:var(--bp-encre-2);line-height:1.5}
.bp-pied small{display:block;margin-top:14px;font:12px var(--bp-mono);color:var(--bp-gris)}

/* Accueil */
.bp-accueil{padding:0;max-width:1440px;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}
.bp-accueil *{box-sizing:border-box}
.bp-hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center;padding:56px 0 64px}
.bp-hero__texte{display:flex;flex-direction:column;gap:24px}
.bp-hero h1{margin:0;font:700 clamp(28px,3.2vw + 10px,54px)/1.04 var(--bp-font);letter-spacing:-.03em}
.bp-chapo{margin:0;font:400 18px/1.55 var(--bp-font);color:var(--bp-encre-2);max-width:520px}
.bp-boutons{display:flex;gap:12px;flex-wrap:wrap}
.bp-hero__photo{position:relative;padding:28px 0 0 36px}
.bp-hero__photo img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;border:1px solid var(--bp-trait)}
.bp-cote{position:absolute;display:flex;align-items:center;gap:8px;color:var(--bp-info)}
.bp-cote span{font:500 12px var(--bp-mono);background:var(--bp-papier);padding:0 6px}
.bp-cote i{background:currentColor;flex:none}
.bp-cote b{flex:1;background:currentColor}
.bp-cote--h{top:0;left:36px;right:0;height:20px}
.bp-cote--h i{width:1px;height:14px}.bp-cote--h b{height:1px}
.bp-cote--v{top:28px;left:0;bottom:0;width:20px;flex-direction:column}
.bp-cote--v i{height:1px;width:14px}.bp-cote--v b{width:1px}
.bp-cote--v span{writing-mode:vertical-rl;transform:rotate(180deg);padding:6px 0}
.bp-repere{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,3fr) minmax(0,3fr)}
.bp-repere>div{padding:28px 32px;display:flex;flex-direction:column;gap:18px}
.bp-repere>div+div{border-left:1px solid var(--bp-trait-clair);padding:28px 24px;gap:12px}
.bp-repere__tete{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.bp-repere__titre{font:600 18px var(--bp-font)}
.bp-montant-xl{font:700 clamp(28px,2vw + 14px,44px)/1 var(--bp-font);letter-spacing:-.02em}
.bp-fourchette__barre{position:relative;height:10px;background:linear-gradient(90deg,var(--bp-sable),var(--bp-info-moyen),var(--bp-sable))}
.bp-fourchette__barre::after{content:"";position:absolute;left:var(--pos,50%);top:-7px;width:2px;height:24px;background:var(--bp-encre)}
.bp-fourchette__mediane{position:absolute;left:var(--pos,50%);top:20px;transform:translateX(-50%);font:500 12px var(--bp-mono);white-space:nowrap}
.bp-repere__chiffre p{margin:22px 0 0;font:14px/1.55 var(--bp-font);color:var(--bp-encre-2)}
.bp-plan{flex:1;min-height:150px;display:flex;align-items:center;justify-content:center;background-image:linear-gradient(var(--bp-grille) 1px,transparent 1px),linear-gradient(90deg,var(--bp-grille) 1px,transparent 1px);background-size:12px 12px}
.bp-plan__piste{position:relative;width:min(200px,80%);aspect-ratio:2/1;border:2px solid var(--bp-info);background:var(--bp-plan-remplissage)}
.bp-plan__piste::before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1px dashed var(--bp-info)}
.bp-plan__l,.bp-plan__w{position:absolute;font:500 11px var(--bp-mono);color:var(--bp-info)}
.bp-plan__l{top:-20px;left:0;right:0;text-align:center}
.bp-plan__w{right:-30px;top:calc(50% - 8px)}
.bp-coupe{display:flex;flex-direction:column;border:1px solid var(--bp-trait);font:500 11px var(--bp-mono)}
.bp-coupe>div{display:flex;align-items:center;padding:0 10px}
.bp-coupe__sable{height:30px;background:var(--bp-sable)}
.bp-coupe__geo{height:6px;padding:0!important;background:var(--bp-encre)}
.bp-coupe__drain{height:38px;background:repeating-radial-gradient(circle at 3px 3px,#B9AC98 0 2px,#D3C8B6 2px 6px)}
.bp-coupe__sol{height:40px;background:var(--bp-terre);color:#fff}
.bp-legende{font:11px var(--bp-mono);color:var(--bp-gris)}
.bp-parcours{padding-top:var(--bp-section);display:flex;flex-direction:column;gap:28px}
.bp-section-tete{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.bp-accueil h2{margin:0;font:700 clamp(24px,1.6vw + 14px,36px)/1.1 var(--bp-font);letter-spacing:-.02em;max-width:640px}
.bp-section-tete p{margin:0;font:15px/1.5 var(--bp-font);color:var(--bp-encre-2);max-width:420px}
.bp-etapes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.bp-etape{padding:22px;display:flex;flex-direction:column;gap:10px;min-height:210px;text-decoration:none!important;color:var(--bp-encre)!important;transition:border-color var(--bp-transition)}
.bp-etape:hover{border-color:var(--bp-info)}
.bp-etape__num{font:600 13px var(--bp-mono);color:var(--bp-info)}
.bp-carte--terre .bp-etape__num{color:var(--bp-terre)}
.bp-etape__titre{font:600 19px/1.2 var(--bp-font)}
.bp-etape__texte{font:14px/1.5 var(--bp-font);color:var(--bp-encre-2);flex:1}
.bp-etape__lien{font:600 14px var(--bp-font);color:var(--bp-info-texte)}
.bp-carte--terre .bp-etape__lien{color:var(--bp-terre-texte)}
.bp-constructeurs{margin-top:var(--bp-section);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;padding-top:40px;border-top:1px solid var(--bp-trait)}
.bp-constructeurs>div{display:flex;flex-direction:column;gap:18px}
.bp-constructeurs p{margin:0;font:16px/1.55 var(--bp-font);color:var(--bp-encre-2)}
.bp-dep-form{display:flex;gap:10px}
.bp-champ{flex:1;min-height:52px;padding:0 16px;background:var(--bp-blanc);border:1px solid var(--bp-encre);border-radius:var(--bp-rayon);font:400 15px var(--bp-font);color:var(--bp-encre)}
.bp-acces{justify-content:flex-end}
.bp-pastilles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.bp-pastille{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 16px;border:var(--bp-bordure);background:var(--bp-blanc);font:500 15px var(--bp-font);color:var(--bp-encre)!important;text-decoration:none!important}
.bp-pastille:hover{border-color:var(--bp-info)}
.bp-pastille span{font:600 13px var(--bp-mono);color:var(--bp-info)}
.bp-lien-outil{font:600 14px var(--bp-font);color:var(--bp-info-texte)!important;text-decoration:none!important}
.bp-aplat{margin-top:var(--bp-section);padding:40px;background:var(--bp-sable);display:grid;grid-template-columns:minmax(0,3fr) repeat(4,minmax(0,2fr));gap:32px}
.bp-aplat h2{font-size:28px!important;line-height:1.15!important}
.bp-aplat>div{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--bp-encre);padding-top:14px}
.bp-aplat__num{font:600 12px var(--bp-mono)}
.bp-aplat strong{font:600 16px var(--bp-font)}
.bp-aplat>div>span:last-child{font:14px/1.5 var(--bp-font);color:var(--bp-encre-2)}
.bp-bandeau-pro{margin:24px 0 0;padding:36px 40px;background:var(--bp-encre);color:var(--bp-papier);display:flex;justify-content:space-between;align-items:center;gap:32px}
.bp-bandeau-pro>div{display:flex;flex-direction:column;gap:6px}
.bp-bandeau-pro .bp-surtitre{color:#C9BFAE}
.bp-bandeau-pro strong{font:600 26px/1.2 var(--bp-font)}
.home .wp-block-post-content>*:not(.bp-accueil){max-width:760px}
.home main{margin-top:0!important}
.home main>.wp-block-group{padding-top:0!important}
.home .wp-block-post-content{margin-top:0!important}

/* Outils et section Constructeurs : première passe aux couleurs de la charte (CSS seul, aucun changement de structure) */
.ccc-btn.ccc-cta,.ccc-btn.ccc-primary,.cc-ol-btn,.cc-co-btn,#cccar-calcBtn{background:var(--bp-action)!important;border-color:var(--bp-action)!important;color:#fff!important;border-radius:var(--bp-rayon)!important;font-family:var(--bp-font)!important}
.ccc-btn.ccc-cta:hover,.cc-ol-btn:hover,.cc-co-btn:hover,#cccar-calcBtn:hover{background:var(--bp-action-survol)!important}
.ccc-btn{border-radius:var(--bp-rayon)!important;font-family:var(--bp-font)!important}
.cc-ol,.cc-co-cta{background:var(--bp-blanc)!important;border:var(--bp-bordure)!important;border-top:var(--bp-filet) solid var(--bp-info)!important;border-radius:0!important}
.cc-ol-badge{background:var(--bp-info)!important;border-radius:var(--bp-rayon)!important}
.cc-ol input,.cc-ol select,.cc-ol textarea{border:1px solid var(--bp-encre)!important;border-radius:var(--bp-rayon)!important}
.cc-co-carte{border-radius:0!important;border-color:var(--bp-trait)!important;border-top:var(--bp-filet) solid var(--bp-info)!important}
.cc-co-chips li{border-radius:var(--bp-rayon)!important;background:var(--bp-sable-fonce)!important}
.cc-co-liens li a{border-radius:var(--bp-rayon)!important;background:var(--bp-blanc)}
.cc-co-repere{background:var(--bp-blanc)!important;border-radius:0!important;border-top:var(--bp-filet) solid var(--bp-info)!important}
.cc-co-repere td,.cc-co-repere th,.ccc-n{font-variant-numeric:tabular-nums}
.cc-co-sous,.cc-co-fil{font-family:var(--bp-mono)!important}
.ccc-page,.sim-page,.cc-rce,.cc-co{font-family:var(--bp-font)!important}
.sim-page h1,.sim-page h2,.sim-page h3,.cc-rce h2,.cc-rce h3{font-family:var(--bp-font)!important}

/* Mobile */
@media (max-width:900px){
  .bp-hero,.bp-constructeurs{grid-template-columns:1fr;gap:28px}
  .bp-hero{padding:24px 0 40px}
  .bp-hero__photo{order:-1;padding:0}
  .bp-cote{display:none}
  .bp-repere{grid-template-columns:1fr}
  .bp-repere>div+div{border-left:0;border-top:1px solid var(--bp-trait-clair)}
  .bp-etapes{grid-template-columns:1fr}
  .bp-etape{min-height:0}
  .bp-section-tete{flex-direction:column;align-items:flex-start;gap:12px}
  .bp-pastilles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bp-aplat{grid-template-columns:1fr;padding:28px 20px}
  .bp-bandeau-pro{flex-direction:column;align-items:flex-start;padding:28px 20px}
  .bp-bandeau-pro strong{font-size:21px}
  .bp-boutons a{width:100%}
  .bp-pied .bp-pied__grille{grid-template-columns:1fr 1fr;gap:28px}
  .bp-btn-entete{display:none!important}
  .bp-logo__symbole{width:30px;height:16px}
  .bp-logo__nom{font-size:17px}
}
