.al-lead{--al:#17365d;--green:#38a878;width:min(880px,calc(100% - 40px));max-width:880px;margin:44px auto;padding:30px 32px;background:#fff;border:1px solid #dfe7ec;border-radius:22px;box-shadow:0 16px 42px rgba(23,54,93,.08)}.al-lead *{box-sizing:border-box}.al-lead-head{text-align:center;max-width:760px;margin:0 auto 25px}.al-lead-head>span{font-size:12px;font-weight:900;letter-spacing:1.4px;color:var(--green)}.al-lead-head h2{font-size:30px;margin:7px 0}.al-lead-head p{margin:0;color:#657a8b}.al-progress{display:grid;grid-template-columns:1fr 34px 1fr 34px 1fr;align-items:center;margin:0 0 28px}.al-progress button{border:0;background:none;text-align:center;color:#8193a0}.al-progress b{display:flex;margin:auto;width:34px;height:34px;border-radius:50%;align-items:center;justify-content:center;background:#eaf0f4;color:#617485}.al-progress small{display:block;font-size:11px;margin-top:6px}.al-progress button.active,.al-progress button.done{color:var(--al);font-weight:800}.al-progress button.active b,.al-progress button.done b{background:var(--green);color:#fff}.al-progress i{height:2px;background:#dfe7ec}.al-step{display:none}.al-step.active{display:block}.al-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.al-field.wide{grid-column:1/-1}.al-field>label{display:block;font-size:13px;font-weight:800;margin-bottom:7px;color:#273f54}.al-field em{color:#c14c55;font-style:normal}.al-field input,.al-field select,.al-field textarea{width:100%;border:1px solid #cad7df;border-radius:10px;padding:12px 13px;font:inherit;background:#fff;color:#1d3042}.al-field textarea{min-height:110px;resize:vertical}.al-field input:focus,.al-field select:focus,.al-field textarea:focus{outline:3px solid rgba(56,168,120,.13);border-color:var(--green)}.al-choice{display:flex;gap:8px;flex-wrap:wrap}.al-choice label{margin:0}.al-choice input{position:absolute;opacity:0;pointer-events:none}.al-choice span{display:block;border:1px solid #cad7df;border-radius:10px;padding:10px 12px;font-size:13px;cursor:pointer;background:#fff}.al-choice input:checked+span{border-color:var(--green);background:#effaf5;color:#176846;font-weight:800}.al-step-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.al-next,.al-submit,.al-prev{border:0;border-radius:10px;padding:12px 17px;font-weight:900;cursor:pointer}.al-next,.al-submit{background:var(--green);color:#fff}.al-prev{background:#edf2f5;color:var(--al)}.al-consent label{display:flex;gap:10px;align-items:flex-start;background:#f7fafb;padding:13px;border-radius:10px}.al-consent input{width:auto;margin-top:3px}.al-security{display:block;text-align:right;margin-top:12px;color:#718591}.al-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}.al-invalid{border-color:#cf4b55!important;background:#fff8f8!important}@media(max-width:720px){.al-lead{margin:30px 14px;padding:22px 16px;border-radius:18px}.al-field-grid{grid-template-columns:1fr}.al-field.wide{grid-column:auto}.al-progress small{font-size:9px}.al-progress{grid-template-columns:1fr 18px 1fr 18px 1fr}.al-step-actions{justify-content:space-between}.al-lead-head h2{font-size:24px}}

/* AssurLab 4.0.9 — largeur optimisée des formulaires produits */
.al-lead-head{max-width:680px;margin-bottom:22px}
.al-lead-head h2{font-size:28px;line-height:1.22}
.al-progress{max-width:720px;margin:0 auto 24px}
.al-field-grid{gap:14px}
.al-field input,.al-field select,.al-field textarea{padding:11px 12px}
.al-step-actions{margin-top:19px}
.al-next,.al-submit,.al-prev{min-height:46px;padding:11px 16px}
.al-security{font-size:12px}

/* Évite qu'un conteneur parent de page produit étire visuellement la carte. */
.generic-product-page .al-lead,
.vtc-page .al-lead,
.rc-page .al-lead,
.mrp-page .al-lead,
.fleet-page .al-lead,
.utility-page .al-lead,
.truck-page .al-lead,
.dec-page .al-lead{
  width:min(880px,calc(100% - 40px));
  max-width:880px;
  margin-left:auto;
  margin-right:auto;
}

/* Tablette : conserve deux colonnes tant que les champs restent lisibles. */
@media(max-width:960px){
  .al-lead{
    width:min(820px,calc(100% - 32px));
    max-width:820px;
    padding:28px 26px;
  }
}

/* Mobile : carte bord à bord maîtrisée, une seule colonne. */
@media(max-width:720px){
  .al-lead{
    width:calc(100% - 28px);
    max-width:none;
    margin:28px auto;
    padding:21px 16px;
    border-radius:18px;
  }
  .al-lead-head{margin-bottom:19px}
  .al-lead-head h2{font-size:24px}
  .al-progress{margin-bottom:22px}
  .al-field-grid{grid-template-columns:1fr;gap:13px}
  .al-field.wide{grid-column:auto}
  .al-step-actions{gap:8px}
  .al-next,.al-submit,.al-prev{min-height:46px}
}

/* Très petits écrans : boutons empilés si nécessaire. */
@media(max-width:390px){
  .al-step-actions{display:grid;grid-template-columns:1fr}
  .al-step-actions button{width:100%}
}


/* AssurLab 4.0.10
   Les pages produit génériques (Moto, Décennale, Auto, etc.) utilisent
   volontairement une carte plus étroite que les templates dédiés comme
   Poids lourd. */
.generic-product-page .al-lead{
  width:min(760px,calc(100% - 40px)) !important;
  max-width:760px !important;
  padding-left:28px;
  padding-right:28px;
}

/* Les grilles internes restent respirantes sur desktop. */
.generic-product-page .al-field-grid{
  column-gap:14px;
  row-gap:13px;
}

/* Sur tablette on évite un effet "grand rectangle". */
@media(max-width:900px){
  .generic-product-page .al-lead{
    width:min(720px,calc(100% - 32px)) !important;
    max-width:720px !important;
    padding-left:24px;
    padding-right:24px;
  }
}

/* Mobile : pleine largeur maîtrisée, une colonne. */
@media(max-width:720px){
  .generic-product-page .al-lead{
    width:calc(100% - 28px) !important;
    max-width:none !important;
    padding-left:16px;
    padding-right:16px;
  }
}
