/*
 * Funnel v2 - shared look of every online quotation wizard (habitation, auto, santé, RC Pro, animaux, emprunteur, scolaire,
 * juridique): white page, slim header, one centred question per screen, illustrated choice cards that move on by themselves,
 * a primary button that stays disabled until the answers are valid, and a square back arrow. Original Pluton stylesheet.
 * Everything is scoped under <body class="fv2">, so tempo_online (which shares tempo_form.css) is never affected.
 * The accent colour comes from the company branding variables.
 */
body.fv2{
  --fv2-accent:var(--quotation-button,#a32483);
  --fv2-accent-text:var(--quotation-button-text,#fff);
  --fv2-ink:#2b1229;--fv2-muted:#7c6479;--fv2-line:#e3dbe1;--fv2-soft:#f6f1f5;--fv2-off:#cdc1ca;--fv2-danger:#d93025;--fv2-radius:6px;
  margin:0;background:#fff;color:var(--fv2-ink);font-family:'Nunito','Roboto',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:16px;line-height:1.4;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;
}
body.fv2 *,body.fv2 *::before,body.fv2 *::after{box-sizing:border-box}
body.fv2 h1,body.fv2 h2,body.fv2 h3,body.fv2 .fv2-btn,body.fv2 .button,body.fv2 .btn_next_step{font-family:'Outfit','Nunito',system-ui,sans-serif}

/* ---------- Header: logo left, product label, help button right ---------- */
body.fv2 #page .header{display:flex;align-items:center;gap:14px;height:56px;padding:0 16px;background:#fff;border:0;box-shadow:0 1px 8px rgba(43,18,41,.08);position:sticky;top:0;z-index:30}
body.fv2 #page .header #logo{flex:0 0 auto;display:flex;align-items:center}
body.fv2 #page .header #logo img{width:auto;max-height:32px}
body.fv2 #page .header .logo-container{display:none}
body.fv2 #page .header .fv2-product{display:none;padding-left:14px;border-left:1px solid var(--fv2-line);font-size:14px;font-weight:700;color:var(--fv2-ink)}
body.fv2 #page .header .top_menu{margin-left:auto}
/* The tenant branding banner (topline + centred logo) is replaced by this slimmer header on funnel pages. */
body.fv2 #page .header .top_menu_item{margin:0;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--fv2-muted);white-space:nowrap}
body.fv2 .fv2-help{margin:0;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 10px;border-radius:var(--fv2-radius);background:var(--fv2-accent);color:var(--fv2-accent-text);font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}
body.fv2 #page .header .top_menu_item i{color:var(--fv2-accent)}
body.fv2 .fv2-help{margin-left:auto}
body.fv2 .fv2-help span{display:none}
body.fv2 .fv2-help svg{width:18px;height:18px}
@media(min-width:768px){
  body.fv2 #page .header{height:64px;padding:0 32px}
  body.fv2 #page .header #logo img{max-height:38px}
  body.fv2 #page .header .fv2-product{display:block}
  body.fv2 .fv2-help{padding:0 16px}
  body.fv2 .fv2-help span{display:inline}
}

/* ---------- Page container ---------- */
body.fv2 .online-quotation{width:100%;max-width:960px;margin:0 auto;padding:32px 20px 64px;float:none;position:relative}
@media(min-width:768px){body.fv2 .online-quotation{padding:56px 32px 80px}}
/* The numbered progress bar is replaced by the one-question-per-screen rhythm. */
body.fv2 .form__steps{display:none!important}

/* ---------- Titles ---------- */
body.fv2 .form__step,body.fv2 .fv-page{background:transparent;border:0;box-shadow:none;padding:0;margin:0 auto;max-width:560px}
body.fv2 .form__header{margin:0 0 12px;text-align:center}
body.fv2 .form__title{margin:0;font-size:26px;line-height:1.2;font-weight:800;letter-spacing:-.01em;color:var(--fv2-ink);text-align:center}
body.fv2 .form__title .fv2-accent,body.fv2 .fv-title .fv2-accent{color:var(--fv2-accent)}
body.fv2 .fv-title{margin:0 0 12px;font-size:26px;line-height:1.2;font-weight:800;letter-spacing:-.01em;color:var(--fv2-ink);text-align:center}
body.fv2 .fv-sub{margin:0 auto 28px;max-width:480px;font-size:15px;line-height:1.45;color:var(--fv2-ink);text-align:center}
@media(min-width:768px){body.fv2 .form__title,body.fv2 .fv-title{font-size:34px}body.fv2 .fv-sub{font-size:16px}}
@media(max-width:359px){body.fv2 .form__title,body.fv2 .fv-title{font-size:22px}}

/* ---------- Questions of the existing wizards ---------- */
body.fv2 .form__input-group,body.fv2 .form-group{margin:0 0 18px;width:100%}
body.fv2 .product-question{text-align:center}
body.fv2 .form__input-label,body.fv2 .product-question>label{display:block;margin:0 0 12px;padding:0;font-size:16px;font-weight:700;color:var(--fv2-ink);text-align:center}
body.fv2 .form__input-label .text-danger{display:none}
body.fv2 fieldset legend{display:block;margin:0 0 6px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--fv2-accent);text-align:center;border:0}

/* ---------- Inputs (48px, 6px radius, 1px line) ---------- */
body.fv2 .form__input,body.fv2 .form-control,body.fv2 .fv-input,body.fv2 .online-quotation input[type=text],body.fv2 .online-quotation input[type=email],body.fv2 .online-quotation input[type=tel],body.fv2 .online-quotation input[type=number],body.fv2 .online-quotation input[type=date],body.fv2 .online-quotation select{
  display:block;width:100%;height:48px;padding:0 16px;font-size:16px;color:var(--fv2-muted);background:#fff;border:1px solid var(--fv2-line);border-radius:var(--fv2-radius);box-shadow:none;outline:0;transition:border-color .15s,color .15s,box-shadow .15s;font-family:inherit}
body.fv2 .form__input:focus,body.fv2 .form-control:focus,body.fv2 .fv-input:focus,body.fv2 .online-quotation input:focus,body.fv2 .online-quotation select:focus{border-color:var(--fv2-accent);color:var(--fv2-ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--fv2-accent) 16%,transparent)}
body.fv2 .online-quotation input::placeholder{color:#a592a1;font-style:normal}
body.fv2 input.error,body.fv2 select.error{border-color:var(--fv2-danger)!important;background:#fffafa}
body.fv2 label.error{display:block;margin:6px 2px 0;font-size:13px;font-weight:600;color:var(--fv2-danger);text-align:left}
body.fv2 .online-quotation input[type=checkbox],body.fv2 .online-quotation input[type=radio]{width:auto;height:auto;padding:0}
/* Address / company inputs: location pin and magnifier (autocomplete comes from the address_validation and gouv modules) */
body.fv2 .online-quotation input[data-address-validation="street"],body.fv2 .online-quotation input[name$="[address]"],body.fv2 .online-quotation input[name="habitation_address"],body.fv2 .online-quotation input[name="address"]{padding-left:44px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='%23576f9e'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") no-repeat 14px 50%}
body.fv2 .online-quotation input[data-gouv-company]{padding-left:44px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='%23576f9e'%3E%3Cpath d='M15.5 14h-.8l-.3-.3A6.5 6.5 0 1 0 14 15.5l.3.3v.8l5 5 1.5-1.5-5-5zm-6 0a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9z'/%3E%3C/svg%3E") no-repeat 14px 50%}
/* Autocomplete dropdowns */
body.fv2 .address-validation-results,body.fv2 .gouv-results,body.fv2 .gouv-company-results{margin-top:0;padding:4px 0;border:1px solid var(--fv2-line);border-top:0;border-radius:0 0 var(--fv2-radius) var(--fv2-radius);box-shadow:0 12px 24px rgba(43,18,41,.12);text-align:left;background:#fff}
body.fv2 .address-validation-results li,body.fv2 .gouv-results li,body.fv2 .gouv-company-results li{padding:12px 16px;font-size:16px;color:var(--fv2-ink)}
body.fv2 .address-validation-results li:hover,body.fv2 .address-validation-results li[aria-selected="true"]{background:var(--fv2-soft);color:var(--fv2-ink)}
body.fv2 .address-validation-status{margin-top:6px;font-size:12px;text-align:left}

/* ---------- Choice cards ---------- */
body.fv2 .yes-no-group,body.fv2 .product-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body.fv2 .yes-no-btn,body.fv2 .product-choice{min-height:52px;padding:10px 16px;font-size:16px;font-weight:700;color:var(--fv2-ink);background:#fff;border:2px solid var(--fv2-line);border-radius:var(--fv2-radius);cursor:pointer;transition:border-color .15s,background .15s;white-space:normal;font-family:inherit}
body.fv2 .yes-no-btn:hover,body.fv2 .product-choice:hover{border-color:var(--fv2-accent);background:var(--fv2-soft);color:var(--fv2-ink)}
body.fv2 .yes-no-btn.selected,body.fv2 .yes-no-btn[aria-checked=true],body.fv2 .product-choice[aria-checked=true]{border-color:var(--fv2-accent);background:color-mix(in srgb,var(--fv2-accent) 10%,#fff);color:var(--fv2-ink)}
body.fv2 .product-choices.fv2-many{grid-template-columns:1fr}

/* Illustrated cards of the funnel (icon, label, radio) */
body.fv2 .fv-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;justify-items:stretch;margin:0 auto 24px;max-width:560px}
body.fv2 .fv-cards.fv-3{grid-template-columns:repeat(3,minmax(0,1fr))}
body.fv2 .fv-cards.fv-col{grid-template-columns:minmax(0,1fr);max-width:420px;gap:10px}
body.fv2 .fv-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px 14px;background:#fff;border:1px solid transparent;border-radius:8px;color:var(--fv2-muted);font-family:'Nunito',sans-serif;font-size:16px;font-weight:600;line-height:1.25;text-align:center;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
body.fv2 .fv-card:hover,body.fv2 .fv-card:focus-visible{background:var(--fv2-soft);outline:0}
body.fv2 .fv-card[aria-checked=true]{border-color:var(--fv2-accent);color:var(--fv2-ink)}
body.fv2 .fv-ico-wrap{display:flex;align-items:center;justify-content:center;width:84px;height:84px;color:var(--fv2-ink)}
body.fv2 .fv-ico{display:block;width:72px;height:72px;object-fit:contain;filter:grayscale(1) opacity(.55);transition:filter .2s ease}
body.fv2 .fv-card:hover .fv-ico,body.fv2 .fv-card:focus-visible .fv-ico,body.fv2 .fv-card[aria-checked=true] .fv-ico,body.fv2 .fv-iconic:hover .fv-ico,body.fv2 .fv-iconic:focus-visible .fv-ico,body.fv2 .fv-iconic[aria-checked=true] .fv-ico,body.fv2 .fv-iconic.selected .fv-ico,body.fv2 [aria-pressed=true] .fv-ico,body.fv2 .fv-qhero .fv-ico,body.fv2 .fv-hero .fv-ico{filter:none}
body.fv2 .fv-qhero{display:flex;justify-content:center;margin:0 0 14px}body.fv2 .fv-qhero .fv-ico{width:132px;height:132px}
body.fv2 .fv-radio{width:22px;height:22px;border:2px solid var(--fv2-accent);border-radius:50%;background:#fff;position:relative;flex:0 0 auto}
body.fv2 .fv-card[aria-checked=true] .fv-radio::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--fv2-accent)}
/* Row cards (no illustration: emprunteur-style single column) */
body.fv2 .fv-cards.fv-col .fv-card{flex-direction:row;justify-content:flex-start;gap:12px;padding:10px 14px;border:1px solid var(--fv2-line);text-align:left}
body.fv2 .fv-cards.fv-col .fv-card .fv-ico-wrap{width:44px;height:44px}
body.fv2 .fv-cards.fv-col .fv-card .fv-ico{width:34px;height:34px}
body.fv2 .fv-cards.fv-col .fv-radio{order:-1}
@media(min-width:768px){
  body.fv2 .fv-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}
  body.fv2 .fv-card{width:168px}
  body.fv2 .fv-cards.fv-col{display:grid}
  body.fv2 .fv-cards.fv-col .fv-card{width:auto}
}

/* ---------- Funnel fields ---------- */
body.fv2 .fv-field{margin:0 0 16px;text-align:left}
body.fv2 .fv-label{display:block;margin:0 0 6px;font-family:'Outfit','Nunito',sans-serif;font-size:16px;font-weight:700;color:var(--fv2-ink)}
body.fv2 .fv-hint{margin:6px 0 0;font-size:13px;color:var(--fv2-muted)}
body.fv2 .fv-row{display:grid;grid-template-columns:minmax(0,1fr);gap:0 16px}
@media(min-width:480px){body.fv2 .fv-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body.fv2 .fv-row.fv-narrow{grid-template-columns:120px minmax(0,1fr)}}
body.fv2 .fv-input-wrap{position:relative}
body.fv2 .fv-clear{position:absolute;top:50%;right:12px;transform:translateY(-50%);width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--fv2-muted);cursor:pointer;display:none;align-items:center;justify-content:center}
body.fv2 .fv-input-wrap.has-value .fv-clear{display:flex}
body.fv2 .online-quotation .fv-input-wrap.has-value input{padding-right:44px}
body.fv2 .fv-clear svg{width:18px;height:18px}
body.fv2 .fv-link{display:block;margin:14px auto 0;padding:6px;border:0;background:none;color:var(--fv2-muted);font-size:15px;text-decoration:underline;cursor:pointer;font-family:inherit}
body.fv2 .fv-link:hover{color:var(--fv2-ink)}
body.fv2 .fv-hero{display:flex;align-items:center;justify-content:center;width:96px;height:96px;margin:0 auto 24px}
body.fv2 .fv-hero .fv-ico{width:96px;height:96px}
body.fv2 .fv-info{margin:0 auto 24px;max-width:560px;padding:16px 20px;border-radius:8px;background:#f8edf5;background:color-mix(in srgb,var(--fv2-accent) 8%,#fff);text-align:center;font-size:14px;color:var(--fv2-muted)}
body.fv2 .fv-info strong{display:block;margin-bottom:4px;font-family:'Outfit',sans-serif;font-size:19px;color:var(--fv2-ink)}
body.fv2 .fv-stepper{display:flex;align-items:center;justify-content:center;gap:20px;margin:8px 0 24px}
body.fv2 .fv-stepper button{width:48px;height:48px;border:1px solid var(--fv2-line);border-radius:var(--fv2-radius);background:#fff;color:var(--fv2-accent);font-size:26px;font-weight:700;line-height:1;cursor:pointer}
body.fv2 .fv-stepper button:hover{background:var(--fv2-soft)}
body.fv2 .fv-stepper input{width:88px!important;text-align:center;font-size:22px;font-weight:800;color:var(--fv2-ink)}
body.fv2 .fv-check{display:flex;align-items:flex-start;gap:10px;margin:0 0 12px;font-size:14px;line-height:1.4;color:var(--fv2-ink);text-align:left}
body.fv2 .fv-check input{margin:3px 0 0;flex:0 0 auto;width:18px;height:18px;accent-color:var(--fv2-accent)}
body.fv2 .fv-check a{color:var(--fv2-accent)}
body.fv2 .fv-phone{display:block}
body.fv2 .fv-phone .iti{display:block;width:100%}

/* ---------- Actions: back arrow + primary button ---------- */
body.fv2 .form__nav,body.fv2 .form__button-container,body.fv2 .fv-actions{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:12px;margin:24px auto 0;max-width:560px;padding:0;border:0;background:transparent}
body.fv2 .button,body.fv2 .btn_next_step,body.fv2 .fv-next{flex:1 1 auto;min-width:0;max-width:100%;height:56px;padding:0 24px;border:1px solid transparent;border-radius:var(--fv2-radius);background:var(--fv2-accent);color:var(--fv2-accent-text);font-size:16px;font-weight:700;cursor:pointer;transition:background .15s,color .15s,filter .15s}
body.fv2 .button:hover,body.fv2 .btn_next_step:hover,body.fv2 .fv-next:hover{filter:brightness(.94)}
body.fv2 .button:disabled,body.fv2 .btn_next_step:disabled,body.fv2 .fv-next:disabled,body.fv2 .button.fv2-wait{background:var(--fv2-soft);color:var(--fv2-off);cursor:not-allowed;filter:none}
body.fv2 .form__back,body.fv2 #online-back,body.fv2 .fv-back{flex:0 0 64px;order:-1;width:64px;min-width:64px;height:56px;padding:0;border:2px solid var(--fv2-accent);border-radius:var(--fv2-radius);background:#fff;color:var(--fv2-accent);font-size:0;cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:0;filter:none}
body.fv2 .form__back::before,body.fv2 #online-back::before,body.fv2 .fv-back::before{content:"";width:22px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M12 19l-7-7 7-7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M12 19l-7-7 7-7'/%3E%3C/svg%3E") center/contain no-repeat}
body.fv2 .form__back::after,body.fv2 #online-back::after,body.fv2 .fv-back::after{content:none;display:none}
body.fv2 .form__back:hover,body.fv2 #online-back:hover,body.fv2 .fv-back:hover{background:color-mix(in srgb,var(--fv2-accent) 8%,#fff);filter:none}
body.fv2 .form__back[hidden],body.fv2 .fv-back[hidden],body.fv2 .fv-next[hidden]{display:none}
@media(min-width:768px){
  body.fv2 .button,body.fv2 .btn_next_step,body.fv2 .fv-next{flex:0 0 202px}
}
/* The back button stays in the action row, on the left of the primary button and centred on it (its caption hangs below the round). */
}

/* ---------- Alerts and status ---------- */
body.fv2 .online-error{margin:0 auto 18px;max-width:560px;padding:12px 16px;border-radius:var(--fv2-radius);border:1px solid #f5c2be;background:#fef3f2;color:#912018;font-weight:600;text-align:center}
body.fv2 .online-quote-status{text-align:center;color:var(--fv2-muted);font-size:16px;margin:0 0 20px}
body.fv2 .online-gouv-note{margin:0 0 14px;padding:10px 14px;border-radius:var(--fv2-radius);background:var(--fv2-soft);color:var(--fv2-muted);font-size:14px;text-align:center}

/* ---------- Offers ---------- */
body.fv2 #online-offers{display:grid;grid-template-columns:1fr;gap:16px}
body.fv2 #online-offers .col-md-6{width:100%;float:none;padding:0}
@media(min-width:768px){body.fv2 #online-offers{grid-template-columns:repeat(2,minmax(0,1fr))}}
body.fv2 .tarif-box{padding:22px;background:#fff;border:1px solid var(--fv2-line);border-radius:8px;box-shadow:0 6px 20px rgba(43,18,41,.06);text-align:left}
body.fv2 .tarif-box h3{margin:0 0 6px;font-size:19px;font-weight:800;color:var(--fv2-ink)}
body.fv2 .tarif-box .bold{margin:0 0 12px;font-size:28px;font-weight:800;color:var(--fv2-accent)}
body.fv2 .tarif-box ul{margin:0 0 16px;padding:0;list-style:none}
body.fv2 .tarif-box li{position:relative;padding:5px 0 5px 26px;font-size:15px;color:var(--fv2-ink)}
body.fv2 .tarif-box li:before{content:"\2713";position:absolute;left:0;top:5px;color:var(--fv2-accent);font-weight:800}
body.fv2 .tarif-box .button{width:100%;min-width:0;flex:none}

/* ---------- Motion ---------- */
body.fv2 .form__step:not([hidden]),body.fv2 .fv-page:not([hidden]){animation:fv2-in .22s ease-out}
@keyframes fv2-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){body.fv2 .form__step:not([hidden]),body.fv2 .fv-page:not([hidden]){animation:none}body.fv2 *{transition:none!important}}

/* ---------- Bootstrap-select inside the v2 look ---------- */
body.fv2 .bootstrap-select{width:100%!important}
body.fv2 .bootstrap-select>.dropdown-toggle{height:48px;padding:0 16px;border:1px solid var(--fv2-line);border-radius:var(--fv2-radius);background:#fff;font-size:16px;box-shadow:none}
body.fv2 .bootstrap-select.open>.dropdown-toggle,body.fv2 .bootstrap-select>.dropdown-toggle:focus{border-color:var(--fv2-accent)!important;outline:0!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--fv2-accent) 16%,transparent)}

/* ---------- Existing wizards (habitation, santé, RC Pro, microcar): question screens in the funnel look ---------- */
body.fv2 [data-step="1"]>.form__header{display:none}
body.fv2 .fv-qhead{margin:0 0 20px}
body.fv2 .fv-qhead .fv-title{margin-bottom:10px}
body.fv2 .fv-qhead .fv-sub{margin-bottom:0}
body.fv2 .product-question.fv-has-head>label,body.fv2 .product-question.fv-has-head>.form__input-label{display:none}
body.fv2 .product-question[data-fv-set]>label{text-align:left;font-family:'Outfit','Nunito',sans-serif}
body.fv2 .fv-auto #online-next{display:none}
body.fv2 .product-choices:has(.fv-iconic){display:flex;flex-wrap:wrap;justify-content:center;gap:16px 12px}
body.fv2 .product-choice.fv-iconic,body.fv2 .yes-no-btn.fv-iconic{display:flex;flex-direction:column;align-items:center;gap:8px;width:calc(50% - 6px);max-width:168px;min-height:0;padding:12px 8px 14px;border:1px solid transparent;background:#fff;color:var(--fv2-muted);font-weight:600}
body.fv2 .product-choice.fv-iconic:hover,body.fv2 .yes-no-btn.fv-iconic:hover{background:var(--fv2-soft);border-color:transparent}
body.fv2 .product-choice.fv-iconic[aria-checked=true],body.fv2 .yes-no-btn.fv-iconic[aria-checked=true],body.fv2 .yes-no-btn.fv-iconic.selected{border-color:var(--fv2-accent);background:#fff;color:var(--fv2-ink)}
body.fv2 .product-choice.fv-iconic[aria-checked=true] .fv-radio::after,body.fv2 .yes-no-btn.fv-iconic[aria-checked=true] .fv-radio::after,body.fv2 .yes-no-btn.fv-iconic.selected .fv-radio::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--fv2-accent)}
body.fv2 [data-step="2"] .form__header{margin-bottom:20px}
body.fv2 [data-step="2"] .fv-sub{margin:12px auto 0}
body.fv2 .button:disabled,body.fv2 .btn_next_step:disabled,body.fv2 #online-next:disabled{background:var(--fv2-soft)!important;color:var(--fv2-off)!important;opacity:1!important;box-shadow:none!important;cursor:not-allowed}
body.fv2 #online-next,body.fv2 #online-start-payment{width:100%;max-width:100%}
@media(min-width:768px){body.fv2 #online-next,body.fv2 #online-start-payment{width:auto;flex:0 0 202px}}
body.fv2 .product-choice.fv-iconic,body.fv2 .yes-no-btn.fv-iconic{box-shadow:none}
body.fv2 .product-choice.fv-iconic.tarif-box{padding:12px 8px 14px}

/* ---- Auto wizard: plate search screen ---- */
body.fv2 .fv-manual-link{display:block;margin:14px auto 0;padding:6px 8px;background:none;border:0;color:var(--fv2-accent,#a32483);font:600 14px/1.3 'Nunito',system-ui,sans-serif;text-decoration:underline;cursor:pointer;text-align:center}
body.fv2 .fv-manual-link[hidden]{display:none}
body.fv2 .fv-plate #registration_plate{text-transform:uppercase;letter-spacing:.08em;text-align:center;font-weight:700}
body.fv2 .fv-plate #online-vehicle-status:empty{display:none}
body.fv2 .fv-plate #online-vehicle-status{text-align:center}
body.fv2 .online-quotation[data-fv-auto] [data-step="1"]>.form__header{display:block}
body.fv2 .online-quotation[data-fv-auto] .online-driver{border:1px solid var(--fv2-line);border-radius:var(--fv2-radius);padding:8px 16px 16px;margin:0 0 16px}
body.fv2 .online-quotation[data-fv-auto] .online-driver legend{width:auto;padding:0 8px;margin:0 auto;border:0;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--fv2-accent)}

/* ---------- Progress line (2px, like Acheel's h-0.5 bar) ---------- */
body.fv2 .fv-progress{position:relative;width:100%;height:2px;background:color-mix(in srgb,var(--fv2-accent) 14%,#fff);overflow:hidden}
body.fv2 .fv-progress>span{position:absolute;left:0;top:0;height:100%;width:0;background:var(--fv2-accent);transition:width .35s ease}
@media(prefers-reduced-motion:reduce){body.fv2 .fv-progress>span{transition:none}}

/* ---------- Single address input (city / postal code stay in the form, hidden, filled by the address search) ---------- */
body.fv2 .fv-addr-hidden{display:none!important}
body.fv2 .fv-address-hint{margin:8px 0 0;font-size:13px;line-height:1.35;color:var(--fv2-muted);text-align:left}
body.fv2 .fv-address-hint[hidden]{display:none}

/* ---------- Inline messages under a field ---------- */
body.fv2 .fv-error{margin:6px 0 0;font-size:13px;line-height:1.35;font-weight:600;color:var(--fv2-danger);text-align:left}

/* ---------- European registration plate (Auto) ---------- */
body.fv2 .fv-sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
body.fv2 .fv-plate-box{display:flex;align-items:stretch;max-width:420px;height:72px;margin:8px auto 0;background:#fff;border:3px solid #111;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(43,18,41,.12)}
body.fv2 .fv-plate-side{flex:0 0 52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:#a32483;color:#fff}
body.fv2 .fv-plate-eu b{font:800 17px/1 'Outfit','Nunito',sans-serif;letter-spacing:.02em}
body.fv2 .fv-plate-end{flex-basis:34px}
body.fv2 .fv-plate-box input#registration_plate,body.fv2 .online-quotation .fv-plate-box input#registration_plate{flex:1 1 auto;min-width:0;height:auto;padding:0 8px;border:0!important;border-radius:0;background:#fff!important;box-shadow:none!important;color:#111;font:800 34px/1 'Outfit','Nunito',monospace;letter-spacing:.06em;text-align:center;text-transform:uppercase}
body.fv2 .fv-plate-box input#registration_plate::placeholder{color:#d6ccd3;font-weight:700}
body.fv2 .fv-plate-box:focus-within{border-color:var(--fv2-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--fv2-accent) 25%,transparent)}
@media(max-width:400px){body.fv2 .fv-plate-box{height:60px}body.fv2 .fv-plate-box input#registration_plate{font-size:26px}body.fv2 .fv-plate-side{flex-basis:44px}}

/* ---------- Auto: licence cards (driver, then its claims and incidents on the same card) ---------- */
body.fv2 .online-quotation[data-fv-auto] .online-driver [hidden]{display:none!important}
body.fv2 .online-quotation[data-fv-auto] #online-add-driver[hidden]{display:none!important}
body.fv2 .online-quotation[data-fv-auto] .online-driver legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}
body.fv2 .online-quotation[data-fv-auto] .online-driver legend .button{margin:0;padding:4px 12px;min-height:32px;font-size:13px;border-radius:999px!important;border:1px solid var(--fv2-accent)!important;background:#fff!important;color:var(--fv2-accent)!important;font-weight:700;text-transform:none;letter-spacing:0;width:auto;height:auto}
body.fv2 .online-quotation[data-fv-auto] .online-driver--collapsed{border-color:var(--fv2-accent);background:color-mix(in srgb,var(--fv2-accent) 4%,#fff)}
body.fv2 .online-quotation[data-fv-auto] .online-driver-summary{display:flex;align-items:center;gap:12px;padding:10px 0 4px;text-align:left}
body.fv2 .online-quotation[data-fv-auto] .online-driver-summary__icon{flex:0 0 44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--fv2-accent) 10%,#fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b1f8f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.6'/%3E%3Cpath d='M4.5 20c.8-4 3.8-6 7.5-6s6.7 2 7.5 6'/%3E%3C/svg%3E") center/26px no-repeat}
body.fv2 .online-quotation[data-fv-auto] .online-driver-summary__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
body.fv2 .online-quotation[data-fv-auto] .online-driver-summary__title{font:800 15px/1.2 'Nunito',system-ui,sans-serif;color:var(--fv2-ink)}
body.fv2 .online-quotation[data-fv-auto] .online-driver-summary__meta{font-size:13px;line-height:1.4;color:var(--fv2-muted)}
body.fv2 .online-quotation[data-fv-auto] .online-driver-summary__status{flex:0 0 auto;padding:3px 10px;border-radius:999px;background:#e6f6ec;color:#0a6b34;font-size:12px;font-weight:800}
body.fv2 .online-quotation[data-fv-auto] .online-driver-history{margin-top:14px;padding-top:14px;border-top:1px dashed var(--fv2-line);text-align:left}
body.fv2 .online-quotation[data-fv-auto] .online-driver-history__title{margin:0 0 2px;font:800 15px/1.3 'Nunito',system-ui,sans-serif;color:var(--fv2-ink)}
body.fv2 .online-quotation[data-fv-auto] .online-driver-history .text-muted{margin:0 0 10px;font-size:13px;color:var(--fv2-muted)}
body.fv2 .online-quotation[data-fv-auto] .online-history-group{margin:0 0 14px}
body.fv2 .online-quotation[data-fv-auto] .online-history-group__title{display:flex;align-items:center;gap:8px;margin:0 0 8px;font:800 13px/1.2 'Nunito',system-ui,sans-serif;text-transform:uppercase;letter-spacing:.04em;color:var(--fv2-accent)}
body.fv2 .online-quotation[data-fv-auto] .online-history-count{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--fv2-accent);color:#fff;font-size:12px;line-height:22px;text-align:center}
body.fv2 .online-quotation[data-fv-auto] .online-history{margin:0 0 8px;padding:0;border:1px solid var(--fv2-line);border-radius:var(--fv2-radius);background:#fff;min-width:0}
body.fv2 .online-quotation[data-fv-auto] .online-history--open{padding:12px 14px;border-color:var(--fv2-accent)}
body.fv2 .online-quotation[data-fv-auto] .online-history-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;font-size:14px;color:var(--fv2-ink)}
body.fv2 .online-quotation[data-fv-auto] .online-history-summary__actions{display:flex;gap:6px;flex:0 0 auto}
body.fv2 .online-quotation[data-fv-auto] .online-history-summary .button,body.fv2 .online-quotation[data-fv-auto] .online-history-actions .button:not(.validate-history){min-height:32px;height:auto;width:auto;padding:3px 12px;border-radius:999px!important;border:1px solid var(--fv2-line)!important;background:#fff!important;color:var(--fv2-ink)!important;font-size:13px;font-weight:700}
body.fv2 .online-quotation[data-fv-auto] .online-history-actions{display:flex;gap:8px;margin-top:8px}
body.fv2 .online-quotation[data-fv-auto] .online-history-actions .validate-history{min-height:44px;height:auto;width:auto;padding:8px 18px;border-radius:var(--fv2-radius)!important;border:0!important;background:var(--fv2-accent)!important;color:#fff!important;font-weight:800}
body.fv2 .online-quotation[data-fv-auto] .online-driver-history .add-history{display:inline-flex;align-items:center;min-height:40px;padding:6px 16px;border-radius:999px!important;border:1.5px dashed var(--fv2-accent)!important;background:#fff!important;color:var(--fv2-accent)!important;font-weight:800;font-size:14px;width:auto;height:auto}
body.fv2 .online-quotation[data-fv-auto] .online-driver-history .add-history:hover{background:color-mix(in srgb,var(--fv2-accent) 6%,#fff)!important}
body.fv2 .online-quotation[data-fv-auto] #online-add-driver{background:#fff!important;color:var(--fv2-accent)!important;border:1.5px solid var(--fv2-accent)!important;font-weight:800;border-radius:var(--fv2-radius)!important;width:auto;min-height:48px}
@media(max-width:480px){body.fv2 .online-quotation[data-fv-auto] .online-driver-summary{flex-wrap:wrap}body.fv2 .online-quotation[data-fv-auto] .online-history-summary{flex-direction:column;align-items:flex-start}}
