/* ==========================================================================
   LPP - Blocs de contenu et direction artistique
   Feuille autonome, prefixe .lpp- pour ne jamais entrer en conflit avec Webflow.
   ========================================================================== */
:root{
  --lpp-green:#19a65f;
  --lpp-green-dark:#147a46;   /* contraste 5,4:1 sur blanc : conforme WCAG AA */
  --lpp-green-soft:#ddf2e7;
  --lpp-ink:#282828;
  --lpp-ink-2:#5c5c5c;
  --lpp-line:#e3e6e4;
  --lpp-bg:#f7f9f8;
  --lpp-radius:14px;
  --lpp-shadow:0 1px 2px rgba(40,40,40,.05),0 8px 24px -12px rgba(40,40,40,.18);
  --lpp-sans:'Open Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --lpp-display:'Saira','Open Sans',system-ui,sans-serif;
}

.lpp-b{font-family:var(--lpp-sans);color:var(--lpp-ink);text-align:left;
  max-width:1120px;margin:0 auto;padding:0 24px;
  font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
.lpp-b *,.lpp-b *::before,.lpp-b *::after{box-sizing:border-box}
.lpp-section{padding-top:56px;padding-bottom:56px}
.lpp-section+.lpp-section{padding-top:0}

.lpp-b h2.lpp-h{font-family:var(--lpp-display);font-weight:700;font-size:clamp(24px,3.2vw,32px);
  line-height:1.2;letter-spacing:-.01em;margin:0 0 8px;color:var(--lpp-ink)}
.lpp-b h3.lpp-h3{font-family:var(--lpp-display);font-weight:600;font-size:19px;
  line-height:1.3;margin:0 0 6px;color:var(--lpp-ink)}
.lpp-lead{color:var(--lpp-ink-2);font-size:17px;margin:0 0 28px;max-width:70ch}
.lpp-eyebrow{font-family:var(--lpp-display);font-weight:600;font-size:12px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--lpp-green-dark);margin:0 0 10px}

/* --- Bandeau de chiffres ------------------------------------------------ */
.lpp-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:1px;background:var(--lpp-line);border:1px solid var(--lpp-line);
  border-radius:var(--lpp-radius);overflow:hidden;margin:0 0 8px}
.lpp-figure{background:#fff;padding:22px 20px}
.lpp-figure b{display:block;font-family:var(--lpp-display);font-weight:700;
  font-size:30px;line-height:1.1;color:var(--lpp-green-dark);letter-spacing:-.02em}
.lpp-figure span{display:block;font-size:14px;color:var(--lpp-ink-2);margin-top:4px}

/* --- Tableau comparatif ------------------------------------------------- */
.lpp-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;
  border:1px solid var(--lpp-line);border-radius:var(--lpp-radius);background:#fff}
.lpp-table{width:100%;border-collapse:collapse;min-width:580px;font-size:15px}
.lpp-table caption{text-align:left !important;padding:16px 20px 0;font-size:13px;color:var(--lpp-ink-2)}
.lpp-table th,.lpp-table td{padding:14px 20px;text-align:left;
  border-bottom:1px solid var(--lpp-line);vertical-align:top}
.lpp-table thead th{font-family:var(--lpp-display);font-weight:600;font-size:14px;
  letter-spacing:.02em;background:var(--lpp-bg);color:var(--lpp-ink);white-space:nowrap}
.lpp-table tbody th{font-weight:600;color:var(--lpp-ink);width:34%}
.lpp-table tbody tr:last-child th,.lpp-table tbody tr:last-child td{border-bottom:0}
.lpp-table .lpp-hi{background:#f3faf6}
.lpp-yes{color:var(--lpp-green-dark);font-weight:600}
.lpp-no{color:#a33}

/* --- Grille tarifaire --------------------------------------------------- */
.lpp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.lpp-card{background:#fff;border:1px solid var(--lpp-line);border-radius:var(--lpp-radius);
  padding:24px 22px;box-shadow:var(--lpp-shadow)}
.lpp-card .lpp-vol{font-family:var(--lpp-display);font-weight:600;font-size:14px;
  color:var(--lpp-green-dark);letter-spacing:.02em;margin:0 0 10px}
.lpp-card .lpp-price{font-family:var(--lpp-display);font-weight:700;font-size:26px;
  line-height:1.15;color:var(--lpp-ink);letter-spacing:-.02em;margin:0}
.lpp-card .lpp-price small{font-weight:400;font-size:14px;color:var(--lpp-ink-2)}
.lpp-card ul{list-style:none;margin:14px 0 0;padding:0;font-size:14.5px;color:var(--lpp-ink-2)}
.lpp-card li{position:relative;padding-left:22px;margin:7px 0}
.lpp-card li::before{content:"";position:absolute;left:0;top:.55em;width:11px;height:6px;
  border-left:2px solid var(--lpp-green);border-bottom:2px solid var(--lpp-green);
  transform:rotate(-45deg)}

/* --- FAQ (aucun JavaScript) --------------------------------------------- */
.lpp-faq{border:1px solid var(--lpp-line);border-radius:var(--lpp-radius);
  overflow:hidden;background:#fff}
.lpp-faq details{border-bottom:1px solid var(--lpp-line)}
.lpp-faq details:last-child{border-bottom:0}
.lpp-faq summary{cursor:pointer;list-style:none;padding:18px 52px 18px 22px;position:relative;
  font-family:var(--lpp-display);font-weight:600;font-size:16.5px;color:var(--lpp-ink)}
.lpp-faq summary::-webkit-details-marker{display:none}
.lpp-faq summary:hover{background:var(--lpp-bg)}
.lpp-faq summary:focus-visible{outline:3px solid var(--lpp-green);outline-offset:-3px}
.lpp-faq summary::after{content:"";position:absolute;right:24px;top:26px;width:9px;height:9px;
  border-right:2px solid var(--lpp-green-dark);border-bottom:2px solid var(--lpp-green-dark);
  transform:rotate(45deg);transition:transform .18s ease}
.lpp-faq details[open] summary::after{transform:rotate(-135deg);top:30px}
.lpp-faq .lpp-answer{padding:0 22px 20px;color:var(--lpp-ink-2);font-size:15.5px}
.lpp-faq .lpp-answer p{margin:0 0 10px}
.lpp-faq .lpp-answer p:last-child{margin:0}

/* --- Schema / figure ---------------------------------------------------- */
.lpp-figurebox{margin:0;background:#fff;border:1px solid var(--lpp-line);
  border-radius:var(--lpp-radius);padding:22px}
.lpp-figurebox svg{display:block;width:100%;height:auto}
.lpp-figurebox figcaption{text-align:left;margin-top:14px;font-size:13.5px;color:var(--lpp-ink-2);
  padding-top:12px;border-top:1px solid var(--lpp-line)}

/* --- Encadre / note ----------------------------------------------------- */
.lpp-note{background:var(--lpp-green-soft);border-radius:var(--lpp-radius);
  padding:20px 22px;font-size:15.5px;color:#14532d}
.lpp-note b{font-family:var(--lpp-display)}

/* --- Deux colonnes ------------------------------------------------------ */
.lpp-split{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:900px){.lpp-split{grid-template-columns:1fr 1fr;gap:32px;align-items:start}}

/* --- Appel a l'action --------------------------------------------------- */
.lpp-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:18px;background:var(--lpp-ink);color:#fff;border-radius:var(--lpp-radius);padding:26px 28px}
.lpp-cta p{margin:0;font-size:16px;color:#e8e8e8;max-width:56ch}
.lpp-cta strong{display:block;font-family:var(--lpp-display);font-weight:600;
  font-size:20px;color:#fff;margin-bottom:4px}
.lpp-cta a{flex:none;background:#fff;color:var(--lpp-green-dark);text-decoration:none;
  font-family:var(--lpp-display);font-weight:600;font-size:15px;letter-spacing:.02em;
  padding:14px 26px;border-radius:10px;transition:background .15s ease}
.lpp-cta a:hover{background:#eaf5ee}
.lpp-cta a:focus-visible{outline:3px solid #fff;outline-offset:2px}

@media(max-width:640px){
  .lpp-section{padding-top:40px;padding-bottom:40px}
  .lpp-b{padding:0 18px}
  .lpp-figure{padding:18px 16px}
  .lpp-figure b{font-size:26px}
  .lpp-cta{padding:22px 20px}
  .lpp-cta a{width:100%;text-align:center}
}
@media(prefers-reduced-motion:reduce){.lpp-faq summary::after{transition:none}}

/* --- Fil d'ariane -------------------------------------------------------- */
.lpp-crumb{font-size:13.5px;color:var(--lpp-ink-2);padding:18px 0 0;
  display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.lpp-crumb a{color:var(--lpp-ink-2);text-decoration:none;border-bottom:1px solid transparent}
.lpp-crumb a:hover{color:var(--lpp-green-dark);border-bottom-color:currentColor}
.lpp-crumb a:focus-visible{outline:2px solid var(--lpp-green);outline-offset:2px}
.lpp-crumb span[aria-current]{color:var(--lpp-ink);font-weight:600}
.lpp-crumb i{font-style:normal;color:var(--lpp-ink-2)}

/* --- Bloc reponse directe ------------------------------------------------ */
.lpp-lead-answer{background:#fff;border:1px solid var(--lpp-line);
  border-left:4px solid var(--lpp-green);border-radius:0 var(--lpp-radius) var(--lpp-radius) 0;
  padding:24px 26px;max-width:72ch;font-size:17.5px;line-height:1.6;color:var(--lpp-ink)}
.lpp-lead-answer strong{font-weight:700}
.lpp-lead-answer .lpp-q{display:block;font-family:var(--lpp-display);font-weight:600;
  font-size:14px;color:var(--lpp-green-dark);margin-bottom:10px;letter-spacing:.01em}

/* --- Sources et methodologie --------------------------------------------- */
.lpp-sources{background:var(--lpp-bg);border:1px solid var(--lpp-line);
  border-radius:var(--lpp-radius);padding:24px 26px}
.lpp-sources h2{font-family:var(--lpp-display);font-weight:600;font-size:16px;
  margin:0 0 12px;color:var(--lpp-ink)}
.lpp-sources ul{margin:0;padding-left:20px;font-size:14px;color:var(--lpp-ink-2);line-height:1.6}
.lpp-sources li{margin:6px 0}
.lpp-sources li b{color:var(--lpp-ink);font-weight:600}
.lpp-sources p{margin:12px 0 0;font-size:13px;color:var(--lpp-ink-2)}

/* --- Tableau : colonne chiffree ------------------------------------------ */
.lpp-table td.lpp-n,.lpp-table th.lpp-n{font-variant-numeric:tabular-nums;white-space:nowrap}
.lpp-table td.lpp-n b{font-family:var(--lpp-display);font-size:16px;color:var(--lpp-ink)}

/* --- Liens dans les blocs ------------------------------------------------ */
.lpp-b a:not(.lpp-cta a):not(.lpp-crumb a){
  color:var(--lpp-green-dark);text-decoration:underline;
  text-decoration-thickness:1px;text-underline-offset:3px;
  text-decoration-color:rgba(20,122,70,.35);transition:text-decoration-color .15s ease}
.lpp-b a:not(.lpp-cta a):not(.lpp-crumb a):hover{text-decoration-color:currentColor}
.lpp-b a:not(.lpp-cta a):not(.lpp-crumb a):visited{color:var(--lpp-green-dark)}
.lpp-b a:focus-visible{outline:2px solid var(--lpp-green);outline-offset:2px;border-radius:2px}
.lpp-note a{color:#0f5c33;text-decoration-color:rgba(15,92,51,.4)}
.lpp-note a:visited{color:#0f5c33}
.lpp-cta a,.lpp-cta a:visited{color:var(--lpp-green-dark);text-decoration:none}

/* ==========================================================================
   Composants de restructuration des pages département
   ========================================================================== */

/* --- Section de prose reprise de l'existant ------------------------------ */
.lpp-prose{max-width:70ch}
.lpp-prose p{margin:0 0 14px;color:var(--lpp-ink-2);font-size:16.5px}
.lpp-prose p:last-child{margin-bottom:0}
.lpp-prose strong{color:var(--lpp-ink)}

/* --- Parcours en étapes --------------------------------------------------- */
.lpp-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:1px;background:var(--lpp-line);border:1px solid var(--lpp-line);
  border-radius:var(--lpp-radius);overflow:hidden;counter-reset:st}
.lpp-step{background:#fff;padding:22px 20px;counter-increment:st;position:relative}
.lpp-step::before{content:counter(st);display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:50%;background:var(--lpp-green-soft);
  color:var(--lpp-green-dark);font-family:var(--lpp-display);font-weight:700;font-size:13px;
  margin-bottom:10px}
.lpp-step p{margin:0;font-size:15px;color:var(--lpp-ink-2);line-height:1.5}
.lpp-step b{display:block;font-family:var(--lpp-display);font-weight:600;font-size:15.5px;
  color:var(--lpp-ink);margin-bottom:3px}

/* --- Grille de liens vers les pages matériel ------------------------------ */
.lpp-linkgrid{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:540px){.lpp-linkgrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.lpp-linkgrid{grid-template-columns:repeat(3,1fr)}}
.lpp-linkgrid a{display:flex;align-items:center;gap:10px;background:#fff;
  border:1px solid var(--lpp-line);border-radius:10px;padding:14px 16px;
  font-family:var(--lpp-display);font-weight:600;font-size:15px;color:var(--lpp-ink);
  text-decoration:none;transition:border-color .15s ease,background .15s ease}
.lpp-linkgrid a::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;
  background:var(--lpp-green)}
.lpp-linkgrid a::after{content:"›";margin-left:auto;color:var(--lpp-green-dark);font-size:18px;line-height:1}
.lpp-linkgrid a:hover{border-color:var(--lpp-green);background:#f6fbf8}
.lpp-linkgrid a:focus-visible{outline:2px solid var(--lpp-green);outline-offset:2px}

/* --- Bande de marques ----------------------------------------------------- */
.lpp-rgpd{margin:4px 0 14px;font-size:12.5px;line-height:1.55;color:#5c5c5c;font-family:var(--lpp-sans);max-width:62ch}
.lpp-rgpd a{color:var(--lpp-green-dark);text-decoration:underline}
.lpp-intro{margin:0 0 18px;max-width:70ch;color:var(--lpp-ink-2);font-size:16px;line-height:1.6}
.lpp-brands{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;row-gap:20px;
  gap:14px 34px;background:#fff;border:1px solid var(--lpp-line);
  border-radius:var(--lpp-radius);padding:24px 26px}
.lpp-brands img{height:26px;width:auto;opacity:.9;
  transition:opacity .15s ease,filter .15s ease}
.lpp-brands img:hover{opacity:1}

/* --- Communes desservies -------------------------------------------------- */
.lpp-villes{display:flex;flex-wrap:wrap;gap:7px}
.lpp-villes span{background:#fff;border:1px solid var(--lpp-line);border-radius:20px;
  padding:6px 14px;font-size:14px;color:var(--lpp-ink-2)}

/* --- Densification du bandeau Webflow des pages géo ----------------------- */
.section_header_imprimante_geo{padding-top:34px!important;padding-bottom:34px!important;margin-top:0!important;margin-bottom:0!important}
/* le bandeau Webflow portait 140px de marge verticale morte */
.section-leasing-type,.section_comparatif_v3,.section-animated-banner,
.section_contactez-nous,.section-text-img-lr,.section-articles-textes,.section_richtext{
  margin-top:0!important;margin-bottom:0!important}

/* ==========================================================================
   Conversion : rappels contextuels, barre collante, bloc de valeur
   ========================================================================== */

/* --- Rappel de devis contextuel ------------------------------------------ */
.lpp-cta-inline{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;
  background:var(--lpp-green-soft);border:1px solid #c3e3d1;border-radius:var(--lpp-radius);
  padding:20px 24px;margin-top:26px}
.lpp-cta-inline p{margin:0;flex:1 1 300px;font-size:15.5px;color:#14532d;line-height:1.5}
.lpp-cta-inline strong{display:block;font-family:var(--lpp-display);font-weight:600;
  font-size:16.5px;color:#0f3d22;margin-bottom:3px}
.lpp-cta-inline a{flex:none;background:var(--lpp-green-dark);color:#fff!important;
  text-decoration:none!important;font-family:var(--lpp-display);font-weight:600;font-size:15px;
  padding:13px 24px;border-radius:9px;white-space:nowrap;transition:background .15s ease}
.lpp-cta-inline a:hover{background:#0f5c33}
.lpp-cta-inline a:focus-visible{outline:3px solid var(--lpp-ink);outline-offset:2px}
.lpp-cta-inline small{display:block;margin-top:5px;font-size:13.5px;color:#2f6b48}

/* --- Barre collante mobile ------------------------------------------------ */
.lpp-sticky{display:none}
@media(max-width:767px){
  .lpp-sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;
    align-items:center;gap:12px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.97);border-top:1px solid var(--lpp-line);
    box-shadow:0 -4px 16px -8px rgba(40,40,40,.3);backdrop-filter:saturate(140%) blur(6px)}
  .lpp-sticky span{flex:1;font-family:var(--lpp-sans);font-size:13px;line-height:1.3;color:var(--lpp-ink-2)}
  .lpp-sticky span b{display:block;font-family:var(--lpp-display);font-weight:600;
    font-size:14.5px;color:var(--lpp-ink)}
  .lpp-sticky a{flex:none;background:var(--lpp-green-dark);color:#fff;text-decoration:none;
    font-family:var(--lpp-display);font-weight:600;font-size:14.5px;padding:12px 18px;
    border-radius:9px;min-height:44px;display:flex;align-items:center}
  .lpp-sticky a:focus-visible{outline:3px solid var(--lpp-ink);outline-offset:2px}
  body{padding-bottom:76px}
}

/* --- Bloc de valeur : liste de contrôle ----------------------------------- */
.lpp-check{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--lpp-line);border:1px solid var(--lpp-line);border-radius:var(--lpp-radius);
  overflow:hidden;counter-reset:ck}
.lpp-check div{background:#fff;padding:18px 20px;counter-increment:ck}
.lpp-check b{display:block;font-family:var(--lpp-display);font-weight:600;font-size:15.5px;
  color:var(--lpp-ink);margin-bottom:4px}
.lpp-check b::before{content:counter(ck) ". ";color:var(--lpp-green-dark)}
.lpp-check p{margin:0;font-size:14.5px;color:var(--lpp-ink-2);line-height:1.5}

/* --- Sous-titres de section ----------------------------------------------- */
.lpp-b h3.lpp-sub{font-family:var(--lpp-display);font-weight:600;font-size:17px;
  color:var(--lpp-ink);margin:22px 0 8px;letter-spacing:-.005em}
.lpp-b h3.lpp-sub:first-child{margin-top:0}

/* --- Sources repliables ---------------------------------------------------- */
.lpp-sources details summary{cursor:pointer;list-style:none;font-family:var(--lpp-display);
  font-weight:600;font-size:16px;color:var(--lpp-ink);padding-right:26px;position:relative}
.lpp-sources details summary::-webkit-details-marker{display:none}
.lpp-sources details summary::after{content:"";position:absolute;right:4px;top:6px;width:8px;height:8px;
  border-right:2px solid var(--lpp-green-dark);border-bottom:2px solid var(--lpp-green-dark);
  transform:rotate(45deg)}
.lpp-sources details[open] summary::after{transform:rotate(-135deg);top:9px}
.lpp-sources details summary:focus-visible{outline:2px solid var(--lpp-green);outline-offset:3px}
.lpp-sources details ul{margin-top:14px}

/* --- Mesure de lecture ----------------------------------------------------- */
.lpp-lead,.lpp-lead-answer,.lpp-prose{max-width:64ch}
.lpp-prose p{max-width:64ch}

/* --- Bandeau des pages géo : compression mobile --------------------------- */
@media(max-width:767px){
  .section_header_imprimante_geo{padding-top:14px!important;padding-bottom:16px!important}
  .section_header_imprimante_geo .img_header_comparatif,
  .section_header_imprimante_geo img{max-height:132px;object-fit:cover;border-radius:8px}
  .section_header_imprimante_geo h1{font-size:26px!important;line-height:1.12!important;margin-bottom:6px!important}
  .section_header_imprimante_geo p{margin-bottom:6px!important;font-size:15px!important}
  .section_header_imprimante_geo li,.section_header_imprimante_geo .w-list-unstyled li{margin-bottom:2px!important}
  .lpp-crumb{padding-top:10px}
  .lpp-section{padding-top:30px;padding-bottom:30px}
  .lpp-section:first-of-type{padding-top:18px}
}

/* la liste de controle compte 6 entrees : 3 colonnes, jamais de cellule vide */
@media(max-width:1000px){.lpp-check{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.lpp-check{grid-template-columns:1fr}}

/* --- Grille de liens departements (hub) ----------------------------------- */
.lpp-geogrid{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:540px){.lpp-geogrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.lpp-geogrid{grid-template-columns:repeat(3,1fr)}}
.lpp-geogrid a{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;background:#fff;
  border:1px solid var(--lpp-line);border-radius:10px;padding:14px 16px;text-decoration:none;
  font-family:var(--lpp-display);font-weight:600;font-size:15px;color:var(--lpp-ink);
  transition:border-color .15s ease,background .15s ease}
.lpp-geogrid a i{font-style:normal;font-family:var(--lpp-mono,var(--lpp-display));font-size:12.5px;
  font-weight:600;color:var(--lpp-green-dark);letter-spacing:.04em}
.lpp-geogrid a em{font-style:normal;margin-left:auto;font-weight:400;font-size:13px;color:var(--lpp-ink-2);
  font-variant-numeric:tabular-nums}
.lpp-geogrid a:hover{border-color:var(--lpp-green);background:#f6fbf8}
.lpp-geogrid a:focus-visible{outline:2px solid var(--lpp-green);outline-offset:2px}

/* --- Formulaire en etapes ------------------------------------------------ */
.lpp-fsteps{display:flex;gap:8px;margin:0 0 22px;flex-wrap:wrap;
  font-family:var(--lpp-display);font-weight:600;font-size:13px;color:var(--lpp-ink-2)}
.lpp-fsteps span{display:flex;align-items:center;gap:8px;padding:7px 14px 7px 8px;
  border:1px solid var(--lpp-line);border-radius:999px;background:#fff}
.lpp-fsteps span i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;
  background:var(--lpp-bg);color:var(--lpp-ink-2);font-style:normal;font-size:12px;
  border:1px solid var(--lpp-line)}
.lpp-fsteps span.on{border-color:var(--lpp-green-dark);color:var(--lpp-ink)}
.lpp-fsteps span.on i{background:var(--lpp-green-dark);color:#fff;border-color:var(--lpp-green-dark)}
.lpp-fsteps span.done{color:var(--lpp-green-dark)}
.lpp-fsteps span.done i{background:#fff;color:var(--lpp-green-dark);border-color:var(--lpp-green-dark)}
.lpp-fnav{display:flex;gap:12px;align-items:center;margin:6px 0 14px;flex-wrap:wrap}
.lpp-fnav button{font-family:var(--lpp-display);font-weight:600;font-size:15px;
  border-radius:10px;min-height:46px;padding:0 26px;cursor:pointer;border:1px solid transparent}
.lpp-fnav .lpp-fnext{background:var(--lpp-green-dark);color:#fff}
.lpp-fnav .lpp-fnext:hover{background:#116039}
.lpp-fnav .lpp-fprev{background:#fff;color:var(--lpp-ink-2);border-color:var(--lpp-line)}
.lpp-fnav .lpp-fprev:hover{border-color:var(--lpp-ink-2);color:var(--lpp-ink)}
.lpp-fnav button:focus-visible{outline:2px solid var(--lpp-green);outline-offset:2px}
@media(max-width:560px){.lpp-fsteps{font-size:12px}.lpp-fsteps span{padding:6px 11px 6px 6px}
  .lpp-fnav button{flex:1 1 auto}}
.lpp-fhead{grid-column:1/-1}
.form-3 .lpp-fgrid{display:flex!important;flex-direction:column;gap:12px;margin-bottom:24px}
.form-3 .lpp-fgrid>*{max-width:520px;width:100%}
.form-3 .lpp-fgrid>.lpp-fhead{max-width:none}
.form-3 .lpp-fhead .h-03{margin-bottom:4px}
@media(min-width:768px){
  .form-3 .grid-19,.form-3 .grid-19-comp{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .form-3 .grid-19>select,.form-3 .grid-19-comp>select,
  .form-3 .grid-19>input,.form-3 .grid-19-comp>input,
  .form-3 .grid-19>.grid-20,.form-3 .grid-19-comp>.grid-20{
    grid-column:1/-1!important;grid-row:auto!important;max-width:520px}
}

/* --- modele de lettre (cluster fin de contrat) --- */
.lpp-letter{margin:18px 0 6px;border:1px solid #DDE3DF;border-radius:10px;background:#FBFCFB;overflow:hidden}
.lpp-letter__t{margin:0;padding:12px 18px;font-family:Saira,system-ui,sans-serif;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:#0F3D2E;background:#EEF3F0;border-bottom:1px solid #DDE3DF}
.lpp-letter pre{margin:0;padding:18px;overflow-x:auto;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.7;color:#333;-webkit-text-size-adjust:100%}
.lpp-letter__n{margin:0;padding:14px 18px;font-size:13px;line-height:1.6;color:#5c5c5c;background:#fff;border-top:1px solid #DDE3DF}
@media(max-width:600px){.lpp-letter pre{font-size:12px;padding:14px}}

/* grille de liens a deux colonnes (evite l'orphelin sur 4 elements) */
@media(min-width:640px){.lpp-linkgrid.lpp-linkgrid--2{grid-template-columns:repeat(2,minmax(0,1fr))}}
