*{box-sizing:border-box}
.idf-wrap{
  max-width:540px;width:100%;margin:32px auto;
  font-family:Outfit,sans-serif;color:#0F2030;
  background:#fff;border-radius:20px;
  box-shadow:0 8px 40px rgba(0,46,91,.13),0 2px 8px rgba(0,46,91,.06);
  overflow:hidden;
}
/* TOP STRIPE */
.idf-stripe{height:4px;background:linear-gradient(90deg,#002E5B,#2EC987)}

/* HEADER compact */
.idf-header{display:flex;align-items:center;gap:10px;padding:16px 20px 12px;border-bottom:1px solid #F0F4F8}
.idf-logo{width:28px;height:28px;object-fit:contain;flex-shrink:0}
.idf-header__title{font-size:14px;font-weight:700;color:#002E5B;flex:1}
.idf-header__sub{font-size:11px;color:#94A3B8;font-weight:500}
.idf-header__rating{font-size:12px;font-weight:700;color:#2EC987;flex-shrink:0}

/* PROGRESS dots */
.idf-progress{display:flex;align-items:center;gap:6px;padding:10px 20px;border-bottom:1px solid #F0F4F8}
.idf-progress__bar{flex:1;height:2px;background:#F0F4F8;border-radius:2px;overflow:hidden}
.idf-progress__fill{height:100%;background:#2EC987;border-radius:2px;transition:width .4s ease;width:33%}
.idf-step{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:#CBD5E1;text-transform:uppercase;letter-spacing:.5px;transition:.2s}
.idf-step.is-active{color:#002E5B}
.idf-step.is-done{color:#2EC987}
.idf-step__dot{width:18px;height:18px;border-radius:50%;border:1.5px solid #E2E8F0;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;transition:.2s;flex-shrink:0;background:#fff}
.idf-step.is-active .idf-step__dot{border-color:#002E5B;color:#002E5B}
.idf-step.is-done .idf-step__dot{border-color:#2EC987;background:#2EC987;color:#fff}

/* BODY */
.idf-panel{padding:20px}
.idf-panel__title{font-family:'Cabinet Grotesk','Plus Jakarta Sans',sans-serif;font-size:18px;font-weight:800;color:#002E5B;margin:0 0 4px;letter-spacing:-0.02em}
.idf-panel__sub{font-size:12px;color:#64748B;margin:0 0 16px}

/* CARDS 4x2 */
.idf-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}
@media(max-width:480px){.idf-cards{grid-template-columns:repeat(2,1fr)}}
.idf-card{background:#F8FAFB;border:1.5px solid #E8ECF0;border-radius:12px;padding:10px 6px 9px;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;transition:all .18s;position:relative;font-family:Outfit,sans-serif;text-align:center}
.idf-card:hover{border-color:#2EC987;background:#F0FDF7;transform:translateY(-1px)}
.idf-card.is-selected{border-color:#2EC987;background:#F0FDF7;box-shadow:0 0 0 2px rgba(46,201,135,.2)}
.idf-card__icon{width:26px;height:26px;color:#64748B;transition:.2s}
.idf-card.is-selected .idf-card__icon,.idf-card:hover .idf-card__icon{color:#2EC987}
.idf-card__label{font-size:11px;font-weight:700;color:#0F2030;line-height:1.2}
.idf-card__check{position:absolute;top:5px;right:5px;width:14px;height:14px;border-radius:50%;background:#2EC987;display:flex;align-items:center;justify-content:center;opacity:0;transition:.15s}
.idf-card__check svg{width:8px;height:8px}
.idf-card.is-selected .idf-card__check{opacity:1}

/* FIELDS */
.idf-field-group{margin-bottom:10px}
.idf-field-group--2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:440px){.idf-field-group--2{grid-template-columns:1fr}}
.idf-field{position:relative}
.idf-field input,.idf-field textarea{width:100%;padding:13px 12px 5px;border:1.5px solid #E2E8F0;border-radius:10px;font-size:14px;font-family:Outfit,sans-serif;color:#0F2030;background:#fff;transition:border-color .15s;outline:none}
.idf-field textarea{min-height:70px;resize:none;padding-top:14px}
.idf-field label{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:13px;color:#94A3B8;pointer-events:none;transition:.15s;font-weight:500}
.idf-field textarea~label{top:14px;transform:none}
.idf-field input:not(:placeholder-shown)~label,.idf-field input:focus~label,.idf-field textarea:not(:placeholder-shown)~label,.idf-field textarea:focus~label{top:6px;transform:none;font-size:10px;color:#2EC987;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.idf-field input:focus,.idf-field textarea:focus{border-color:#2EC987;box-shadow:0 0 0 3px rgba(46,201,135,.1)}

/* CONSENT */
.idf-consent{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:#475569;line-height:1.5;cursor:pointer;margin-bottom:12px}
.idf-consent input{width:15px;height:15px;min-width:15px;accent-color:#2EC987;cursor:pointer;margin-top:2px;flex-shrink:0}
.idf-consent a{color:#2EC987;font-weight:600}

/* ACTIONS */
.idf-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}
.idf-actions--2{justify-content:space-between}
.idf-btn{display:inline-flex;align-items:center;gap:6px;padding:11px 20px;border-radius:10px;font-family:Outfit,sans-serif;font-size:13px;font-weight:700;cursor:pointer;transition:all .18s;border:none}
.idf-btn--primary{background:#2EC987;color:#002E5B;box-shadow:0 4px 14px rgba(46,201,135,.25)}
.idf-btn--primary:hover:not([data-inactive]){transform:translateY(-1px);box-shadow:0 6px 20px rgba(46,201,135,.35)}
.idf-btn--primary[data-inactive]{opacity:.4;cursor:not-allowed}
.idf-btn--ghost{background:#F0F4F8;color:#475569;border:1px solid #E2E8F0}
.idf-btn--ghost:hover{background:#E8ECF0}
.idf-btn--submit{min-width:160px;justify-content:center}
.idf-btn__spinner{display:none;width:14px;height:14px;border:2px solid rgba(0,46,91,.2);border-top-color:#002E5B;border-radius:50%;animation:idf-spin .7s linear infinite}
.idf-btn--submit.is-loading .idf-btn__spinner{display:block}
.idf-btn--submit.is-loading .idf-btn__text{opacity:.5}
@keyframes idf-spin{to{transform:rotate(360deg)}}
.idf-msg--error{background:#FEF2F2;border:1px solid #FCA5A5;color:#991B1B;padding:10px 12px;border-radius:8px;font-size:12px;margin-top:10px}

/* SUCCESS */
.idf-panel--success{text-align:center;padding:32px 20px}
.idf-success-icon{width:56px;height:56px;background:#F0FDF7;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.idf-next-steps{margin:16px 0;text-align:left;background:#F8FAFB;border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;gap:8px}
.idf-next-step{display:flex;align-items:center;gap:8px;font-size:13px;color:#475569}

/* TRUST */
.idf-trust{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;padding:10px 16px 14px;border-top:1px solid #F0F4F8;font-size:11px;color:#64748B;font-weight:600}
.idf-trust span{display:flex;align-items:center;gap:4px}

@media(max-width:540px){.idf-wrap{margin:16px;border-radius:16px}}

/* VTC landing — plateformes & profils premium */
.idf-wrap--vtc{max-width:560px}
.idf-wrap--moto,.idf-wrap--temporaire{max-width:560px}
.idf-wrap--vtc .idf-header,.idf-wrap--moto .idf-header,.idf-wrap--temporaire .idf-header{background:linear-gradient(135deg,#002E5B 0%,#0F2030 100%);color:#fff;padding:14px 18px;border-bottom:0}
.idf-wrap--vtc .idf-header__title,.idf-wrap--moto .idf-header__title,.idf-wrap--temporaire .idf-header__title{color:#fff;font-size:13px;font-weight:800}
.idf-wrap--vtc .idf-header__sub,.idf-wrap--moto .idf-header__sub,.idf-wrap--temporaire .idf-header__sub{color:rgba(255,255,255,.62)}
.idf-wrap--vtc .idf-progress,.idf-wrap--moto .idf-progress,.idf-wrap--temporaire .idf-progress{background:#FAFCFD}
.idf-wrap--vtc .idf-panel,.idf-wrap--moto .idf-panel,.idf-wrap--temporaire .idf-panel{padding:22px 20px 20px}
.idf-wrap--vtc .idf-panel__title,.idf-wrap--moto .idf-panel__title,.idf-wrap--temporaire .idf-panel__title{font-size:19px}
.ilp2 .devis-card .idf-wrap{max-width:100%!important;width:100%!important;margin:0!important;box-shadow:none!important}
.idf-platforms{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:18px}
@media(max-width:680px){.idf-platforms{grid-template-columns:repeat(3,1fr)}}
@media(max-width:460px){.idf-platforms{grid-template-columns:repeat(2,1fr)}}
.idf-platform{background:#fff;border:1.5px solid #E8ECF0;border-radius:14px;padding:0;display:flex;flex-direction:column;align-items:stretch;cursor:pointer;transition:all .2s cubic-bezier(.32,.72,0,1);font-family:Outfit,sans-serif;text-align:center;position:relative;overflow:hidden;min-height:78px;box-shadow:0 2px 8px rgba(0,46,91,.04)}
.idf-platform::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--pl-accent,#2EC987);opacity:.9}
.idf-platform:hover{border-color:#2EC987;transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,46,91,.1)}
.idf-platform.is-selected{border-color:#2EC987;background:#F0FDF7;box-shadow:0 0 0 2px rgba(46,201,135,.24),0 12px 32px rgba(19,194,139,.12)}
.idf-platform.is-selected::before{height:4px;background:#2EC987}
.idf-platform__check{position:absolute;top:7px;right:7px;width:18px;height:18px;border-radius:50%;background:#2EC987;color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.7);transition:.18s ease;z-index:2;box-shadow:0 2px 8px rgba(46,201,135,.35)}
.idf-platform__check svg{width:10px;height:10px}
.idf-platform.is-selected .idf-platform__check{opacity:1;transform:scale(1)}
.idf-platform__brand{display:flex;align-items:center;justify-content:center;min-height:50px;padding:8px 8px 2px}
.idf-platform__icon{width:40px;height:40px;object-fit:contain;display:block;border-radius:10px}
.idf-platform__sub{font-size:9.5px;color:#64748B;font-weight:600;line-height:1.2;padding:0 8px 10px}
.idf-platform--uber::before{background:#000}
.idf-platform--bolt::before{background:#34D186}
.idf-platform--heetch::before{background:#FF008A}
.idf-platform--freenow::before{background:#E30613}
.idf-platform--cabify::before{background:#7145D6}
.idf-platform--marcel::before{background:#0066FF}
.idf-platform--lecab::before{background:#111}
.idf-platform--g7::before{background:#FFD100}
.idf-platform--g7{background:#111;border-color:#333}
.idf-platform--g7 .idf-platform__sub{color:rgba(255,255,255,.65)}
.idf-platform--g7.is-selected{background:#1a1a1a}
.idf-platform--allocab::before{background:#00A651}
.idf-platform--multi::before{background:#13C28B}
.idf-platform--multi .idf-platform__icon{width:36px;height:36px}
.idf-profiles{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.idf-profile{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:999px;border:1.5px solid #E2E8F0;background:#fff;font-size:12px;font-weight:600;color:#475569;cursor:pointer;transition:.15s;font-family:Outfit,sans-serif}
.idf-profile:hover{border-color:#2EC987;color:#002E5B;background:#FAFFFC}
.idf-profile.is-selected{border-color:#2EC987;background:#F0FDF7;color:#002E5B;box-shadow:0 0 0 2px rgba(46,201,135,.15)}
.idf-profile__icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:#2EC987;flex-shrink:0}
.idf-profile__icon svg{width:14px;height:14px;display:block}
.idf-vtc-divider{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94A3B8;margin:4px 0 10px}
.idf-vtc-hint{font-size:11px;color:#94A3B8;margin:-6px 0 12px;line-height:1.45}
.idf-wrap--vtc .idf-actions--vtc{display:block;width:100%;margin-top:18px;padding-top:4px}
.idf-wrap--vtc #idfNextVtc{width:100%;justify-content:center;padding:16px 20px;font-size:15px;font-weight:800;white-space:nowrap;min-height:52px;border-radius:12px;letter-spacing:.01em}
.idf-wrap--vtc #idfNextVtc svg{flex-shrink:0;width:20px;height:20px;margin-left:2px}
.idf-vtc-next-hint{font-size:11px;color:#94A3B8;text-align:center;margin:10px 0 0;line-height:1.4}
@media(max-width:680px){.idf-wrap--vtc,.idf-wrap--moto,.idf-wrap--temporaire{margin-bottom:88px}}
.ilp2 .devis-card .idf-wrap--vtc,.ilp2 .devis-card .idf-wrap--moto,.ilp2 .devis-card .idf-wrap--temporaire{margin-bottom:0!important}