/* AssurFlow.fr / devis vehicules mobile 1.0.11
   Correctif visuel additif et isole; pas de modifications backend. */
@media(max-width:900px) {
  /* Compatibilite entre 3 maquettes de devis ayant une base .af-auto */
  .af-auto { width:100%;max-width:100%;min-width:0;overflow-x:clip; }
  .af-auto *, .af-auto *::before, .af-auto *::after { box-sizing:border-box; }
  .af-auto__shell { width:min(100% - 30px,780px);max-width:100%;margin-inline:auto; }
  .af-auto__hero { min-width:0; }
  .af-auto__hero-content,.af-auto__hero-media { min-width:0; }
  .af-auto__hero-media img { max-width:100%;height:auto;object-fit:contain; }
  .af-auto__form-section { min-width:0; }
  .af-auto__form-main { min-width:0; }
  .af-auto__step-side { min-width:0; }
  .af-auto__fields,.af-auto__contact-grid { min-width:0; }
  .af-auto__fields > *,.af-auto__contact-grid > * { min-width:0;max-width:100%; }
  .af-auto .champ input:not([type=radio]):not([type=checkbox]),
  .af-auto .champ select,.af-auto .champ textarea { max-width:100%;min-width:0; }
  .af-auto .af-vpicker__menu { max-width:100%;overscroll-behavior:contain; }
  .af-auto__advantage-strip,.af-auto__offers-grid,.af-auto__faq { min-width:0; }
}
@media(max-width:767px) {
  /* Mise en page hero tres courte : le formulaire reste visible rapidement */
  .af-auto__shell { width:calc(100% - 24px)!important; }
  .af-auto__crumbs { max-width:100%;overflow-wrap:anywhere;font-size:12px;line-height:1.55; }
  .af-auto__hero { display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:4px!important;padding:14px 0 15px!important; }
  .af-auto__hero h1 { font-size:clamp(28px,7.5vw,39px)!important;line-height:1.12!important;letter-spacing:-.035em!important;overflow-wrap:break-word; }
  .af-auto__lead { font-size:14px!important;line-height:1.58!important; }
  .af-auto__hero-bullets { display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 11px!important;margin:10px 0 2px!important;padding:0!important; }
  .af-auto__hero-bullets li { min-width:0;font-size:11px!important;line-height:1.4!important; }
  .af-auto__hero-media { min-height:0!important;display:flex;align-items:center;justify-content:center;max-height:210px;overflow:visible; }
  .af-auto__hero-media img { width:min(78%,270px)!important;max-height:210px!important;object-fit:contain!important; }
  .af-auto__hero-floating { position:absolute;bottom:5px!important;right:1%!important;font-size:10px!important;padding:7px 9px!important;max-width:55%; }
  /* La colonne laterale devient une navigation horizontale, quelle que soit
     la quantite d'etapes. Plus de 4 etapes ne saute plus sur deux lignes. */
  .af-auto__form-section { display:block!important;overflow:visible!important;border-radius:18px!important; }
  .af-auto__step-side { border-radius:18px 18px 0 0!important;padding:12px!important;min-width:0!important; }
  .af-auto__step-side-kicker,.af-auto__step-side>p,.af-auto__side-image { display:none!important; }
  .af-auto__step-list { display:flex!important;flex-flow:row nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;overscroll-behavior-x:contain;gap:6px!important;padding:2px 2px 8px!important;margin:0!important;scrollbar-width:thin;scrollbar-color:#b8d7fb transparent; }
  .af-auto__step-link { flex:0 0 94px!important;max-width:94px!important;min-width:94px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;text-align:center!important;gap:4px!important;padding:9px 5px!important;scroll-snap-align:nearest;border-radius:11px!important;min-height:65px; }
  .af-auto__step-link strong { display:block!important;max-width:100%!important;font-size:10px!important;line-height:1.25!important;white-space:normal!important;overflow-wrap:anywhere!important; }
  .af-auto__step-link small { display:none!important; }
  .af-auto__step-num { flex:none!important;width:27px!important;height:27px!important;font-size:11px!important; }
  .af-auto__form-main { padding:17px 14px!important;min-width:0; }
  .af-auto__panel { padding:18px 0 0!important;min-width:0; }
  .af-auto__panel h2 { font-size:clamp(21px,5vw,26px)!important;line-height:1.18!important;margin-top:5px!important; }
  .af-auto__panel-intro { font-size:13px!important;line-height:1.55!important; }
  .af-auto__fields,.af-auto__contact-grid { display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:17px!important;margin-top:19px!important; }
  .af-auto__fields>.champ,.af-auto__contact-grid>.champ { grid-column:1/-1!important;width:100%!important;max-width:100%!important; }
  .af-auto .champ > label:not(.af-auto__consent) { font-size:14px!important;line-height:1.4!important;margin-bottom:7px!important; }
  .af-auto .champ > p { font-size:12px!important;line-height:1.45!important; }
  .af-auto .champ input:not([type=radio]):not([type=checkbox]),
  .af-auto .champ select,.af-auto .champ textarea,
  .af-auto__contact-grid input,.af-auto__contact-grid select { font-size:16px!important;min-height:48px!important;padding-top:11px!important;padding-bottom:11px!important;line-height:1.5!important;width:100%!important;max-width:100%!important;border-radius:11px!important; }
  .af-auto .champ textarea { min-height:96px!important;resize:vertical; }
  .af-auto .champ [class*="grid"] { grid-template-columns:minmax(0,1fr)!important;gap:9px!important; }
  .af-auto .champ label:has(input[type=radio]),
  .af-auto .champ label:has(input[type=checkbox]) { min-height:46px!important;padding:11px 12px!important;display:flex!important;align-items:flex-start!important;gap:10px!important;border-radius:11px!important;line-height:1.45!important;font-size:13px!important;overflow-wrap:anywhere; }
  .af-auto .champ input[type=checkbox],.af-auto .champ input[type=radio],
  .af-auto__consent input { width:18px!important;height:18px!important;min-width:18px!important;flex:none;accent-color:#1276ed; }
  .af-auto .champ[data-condition].hidden { display:none!important; }
  .af-auto .champ[data-af-vehicule] { position:relative;isolation:auto; }
  .af-auto .champ[data-af-vehicule]:focus-within { z-index:110!important; }
  .af-auto .champ[data-af-vehicule="marque"] input { padding-left:58px!important; }
  .af-auto .af-vpicker__menu { position:absolute!important;left:0!important;right:0!important;max-height:min(38vh,280px)!important;overflow-y:auto!important;border-radius:12px!important;z-index:250!important;-webkit-overflow-scrolling:touch; }
  .af-auto .af-vpicker__option { min-height:48px!important;font-size:14px!important; }
  .af-auto__form-actions { display:flex!important;align-items:center!important;gap:9px!important;margin:20px -7px 0!important;padding:12px 7px calc(10px + env(safe-area-inset-bottom,0px))!important;position:sticky;bottom:0;z-index:30;background:linear-gradient(180deg,rgba(255,255,255,.95),#fff 30%);border-top:1px solid #e4eefa;box-shadow:0 -5px 16px #0d33700a; }
  .af-auto__form-actions button:not([hidden]) { min-height:48px!important;padding:10px 12px!important;font-size:14px!important;white-space:normal!important;line-height:1.3!important; }
  .af-auto__form-actions .af-auto__btn-next:not([hidden]) { flex:1!important;margin:0!important; }
  .af-auto__form-actions .af-auto__btn-back:not([hidden]) { flex:0 0 auto!important;min-width:97px!important; }
  .af-auto__security { text-align:left!important;font-size:11px!important;line-height:1.5!important; }
  .af-auto__consent { align-items:flex-start!important;gap:11px!important;font-size:12px!important;line-height:1.6!important; }
  .af-auto__advantage-strip { grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;margin:20px 0 36px!important;padding:9px!important; }
  .af-auto__advantage { border:0!important;padding:8px!important;min-width:0; }
  .af-auto__advantage img { width:42px!important;height:42px!important;object-fit:contain!important; }
  .af-auto__offers-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important; }
  .af-auto__offer { min-width:0; }
  .af-auto__offer img { height:115px!important;object-fit:contain!important; }
  .af-auto__offer > div { padding:12px!important; }
  .af-auto__offer h3 { font-size:14px!important;line-height:1.3!important; }
  .af-auto__offer p { font-size:12px!important;line-height:1.5!important; }
  .af-auto__offer-cta { min-height:43px;display:flex!important;align-items:center;justify-content:center; }
  .af-auto__faq { grid-template-columns:minmax(0,1fr)!important;gap:14px!important; }
  .af-auto__faq summary { min-height:44px;align-items:center;line-height:1.35; }
  .af-auto__closing { display:grid!important;grid-template-columns:1fr!important;gap:13px!important;padding:22px!important; }
  .af-auto__closing a { width:100%;text-align:center;margin:0!important;min-height:46px;display:flex!important;justify-content:center;align-items:center; }
  .af-auto__form-section,.af-auto__offer,.af-auto__faq details,.af-auto__closing { max-width:100%; }
  /* Formulaires produits non couverts par les trois maquettes specialisees:
     W garage, flotte, auto pro resilie, vehicule de societe, taxi, etc. */
  .af-vehicle-generic { min-width:0;max-width:100%;overflow-x:clip; }
  .af-vehicle-generic *, .af-vehicle-generic *::before,.af-vehicle-generic *::after { box-sizing:border-box; }
  .af-vehicle-generic > div { width:100%!important;max-width:720px!important;padding:20px 13px 50px!important;margin-inline:auto;min-width:0; }
  .af-vehicle-generic h1 { font-size:clamp(23px,6vw,32px)!important;line-height:1.2!important;overflow-wrap:anywhere; }
  .af-vehicle-generic .af-vehicle-progress { background:#fff;border:1px solid #e0ebfa;border-radius:14px;padding:13px!important;box-shadow:0 6px 22px rgba(17,60,127,.06);margin-top:18px!important; }
  .af-vehicle-generic .af-vehicle-progress #etape-titre { max-width:53%;overflow-wrap:anywhere;text-align:right; }
  .af-vehicle-generic #form-devis { margin-top:15px!important;min-width:0; }
  .af-vehicle-generic #form-devis>.etape { padding:21px 15px!important;min-width:0;border-radius:17px!important;overflow:visible!important; }
  .af-vehicle-generic #form-devis>.etape h2 { font-size:21px!important;line-height:1.25!important; }
  .af-vehicle-generic #form-devis .champ { min-width:0;max-width:100%!important;width:100%!important; }
  .af-vehicle-generic #form-devis .champ [class*="grid"],
  .af-vehicle-generic #form-devis .champ .grid { grid-template-columns:minmax(0,1fr)!important;gap:9px!important; }
  .af-vehicle-generic #form-devis .champ label { line-height:1.45!important; }
  .af-vehicle-generic #form-devis input:not([type=radio]):not([type=checkbox]),
  .af-vehicle-generic #form-devis select,.af-vehicle-generic #form-devis textarea {
    min-height:49px!important;min-width:0;width:100%!important;max-width:100%!important;font-size:16px!important;line-height:1.4!important;border-radius:11px!important; }
  .af-vehicle-generic #form-devis textarea { min-height:100px!important; }
  .af-vehicle-generic #form-devis label:has(>input[type=radio]),
  .af-vehicle-generic #form-devis label:has(>input[type=checkbox]) {
     min-height:45px;padding:11px!important;align-items:flex-start!important;gap:10px!important;overflow-wrap:anywhere;line-height:1.45!important; }
  .af-vehicle-generic #form-devis input[type=radio],
  .af-vehicle-generic #form-devis input[type=checkbox] { width:18px!important;height:18px!important;min-width:18px;flex-shrink:0;accent-color:#1674f6; }
  .af-vehicle-generic #form-devis .champ:has(.af-vpicker__menu) { position:relative;z-index:1; }
  .af-vehicle-generic #form-devis .champ:focus-within { z-index:130; }
  .af-vehicle-generic #form-devis .af-vpicker__menu { max-height:min(38vh,280px)!important;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:200; }
  .af-vehicle-generic #form-devis .af-vpicker__option { min-height:48px!important; }
  .af-vehicle-generic .af-vehicle-actions { display:flex!important;align-items:center!important;gap:9px!important;position:sticky;bottom:0;z-index:20;margin:0!important;padding:12px 0 calc(10px + env(safe-area-inset-bottom,0px))!important;border-top:1px solid #e5edf9;background:#fff;box-shadow:0 -7px 20px rgba(8,49,114,.06); }
  .af-vehicle-generic .af-vehicle-actions > span { display:none!important; }
  .af-vehicle-generic .af-vehicle-actions button:not(.hidden) { min-height:49px!important;white-space:normal;font-size:14px!important;padding:9px 13px!important; }
  .af-vehicle-generic .af-vehicle-actions #btn-suivant:not(.hidden),
  .af-vehicle-generic .af-vehicle-actions #btn-envoyer:not(.hidden) { flex:1!important; }
  .af-vehicle-generic .af-vehicle-actions #btn-precedent:not(.hidden) { flex:0 0 105px!important; }
  .af-vehicle-generic #form-devis [data-condition].hidden { display:none!important; }
  .af-vehicle-generic #form-devis input:focus-visible,.af-vehicle-generic #form-devis select:focus-visible,
  .af-auto #form-devis input:focus-visible,.af-auto #form-devis select:focus-visible { outline:2px solid #2479ee!important;outline-offset:2px; }
}
@media(max-width:380px){
  .af-auto__hero-bullets{grid-template-columns:1fr!important;gap:4px!important}
  .af-auto__hero-media{max-height:150px!important}
  .af-auto__hero-media img{max-height:155px!important}
  .af-auto__offers-grid{grid-template-columns:1fr!important}
  .af-auto__step-link{flex-basis:87px!important;min-width:87px!important;max-width:87px!important}
  .af-auto__advantage-strip{grid-template-columns:1fr 1fr!important}
  .af-auto__form-main{padding:15px 11px!important}
  .af-auto__form-actions .af-auto__btn-back:not([hidden]){min-width:87px!important}
  .af-vehicle-generic > div{padding-inline:10px!important}
  .af-vehicle-generic #form-devis>.etape{padding:19px 12px!important}
  .af-vehicle-generic .af-vehicle-actions #btn-precedent:not(.hidden){flex-basis:88px!important}
}
@media(prefers-reduced-motion:reduce){
  .af-auto,.af-vehicle-generic{scroll-behavior:auto!important}
  .af-auto *,.af-vehicle-generic *{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
