/* ═══════════════════════════════════════════
   CARTE GRISE FORM — Design System v2
   Sumber: formalites-enligne-DEV-2026/carte-grise.html
   ═══════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --ink:#1A2332;--muted:#5A6678;--faint:#8C96A6;
  --paper:#F7F9FC;--card:#FFFFFF;--sand:#E9EEF6;--line:#D9E1ED;
  --green-900:#16305C;--green-700:#1E4FA3;--green-100:#DCE6F7;--green-50:#EFF4FC;
  --coral:#2353B8;--coral-dark:#16305C;
  --ok:#1B9E5A;--bad:#D43D2A;--warn-bg:#FFF6E5;--warn-bd:#E8C77B;--warn-tx:#7A5A10;
  --night:#101F3C;--radius:18px;--shadow:0 10px 30px rgba(16,48,92,.08);
  --rail-w:330px;
}

.cartegrise-form-wrapper *,.cartegrise-form-wrapper *::before,.cartegrise-form-wrapper *::after{box-sizing:border-box;margin:0;padding:0;}
.cartegrise-form-wrapper{font-family:'Inter',sans-serif;background:var(--sand);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;min-height:100vh;width:100vw;margin:0;position:relative;z-index:1100;}
.cartegrise-form-wrapper h1,.cartegrise-form-wrapper h2,.cartegrise-form-wrapper h3,.cartegrise-form-wrapper h4{font-family:'Sora',sans-serif;}
.cartegrise-form-wrapper a{text-decoration:none;color:inherit;}
.cartegrise-form-wrapper .hidden{display:none !important;}

body.cartegrise-form-fullscreen,
body:has(.cartegrise-form-wrapper){background:var(--sand);overflow-x:hidden;}
body.cartegrise-form-fullscreen .fe-site-header,
body.cartegrise-form-fullscreen .fe-mobile-menu,
body.cartegrise-form-fullscreen .wp-site-blocks > header,
body.cartegrise-form-fullscreen .wp-site-blocks > footer,
body:has(.cartegrise-form-wrapper) .fe-site-header,
body:has(.cartegrise-form-wrapper) .fe-mobile-menu,
body:has(.cartegrise-form-wrapper) .wp-site-blocks > header,
body:has(.cartegrise-form-wrapper) .wp-site-blocks > footer{display:none !important;}
body.cartegrise-form-fullscreen .wp-site-blocks,
body:has(.cartegrise-form-wrapper) .wp-site-blocks{min-height:100vh;}
body.cartegrise-form-fullscreen .entry-content,
body.cartegrise-form-fullscreen .wp-block-post-content,
body:has(.cartegrise-form-wrapper) .entry-content,
body:has(.cartegrise-form-wrapper) .wp-block-post-content{margin:0 !important;padding:0 !important;max-width:none !important;}
body.cartegrise-form-fullscreen .cartegrise-form-wrapper,
body:has(.cartegrise-form-wrapper) .cartegrise-form-wrapper{margin-top:0 !important;}

/* ═══════ RAIL (colonne gauche fixe) ═══════ */
.cartegrise-form-wrapper .rail{position:fixed;top:0;left:0;bottom:0;width:var(--rail-w);background:var(--night);color:rgba(255,255,255,.78);padding:30px 28px;display:flex;flex-direction:column;gap:26px;overflow-y:auto;z-index:1200;}
.cartegrise-form-wrapper .rail::-webkit-scrollbar{width:0;}
.cartegrise-form-wrapper .rail-logo{display:flex;align-items:center;gap:10px;}
.cartegrise-form-wrapper .rail-logo-text{font-family:'Sora',sans-serif;font-weight:800;font-size:1.05rem;color:#fff;letter-spacing:-.02em;}
.cartegrise-form-wrapper .rail-logo-text strong{color:#8FB4F2;}
.cartegrise-form-wrapper .rail-doc{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:13px 16px;}
.cartegrise-form-wrapper .rail-doc small{display:block;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:2px;}
.cartegrise-form-wrapper .rail-doc b{font-family:'Sora',sans-serif;font-size:.97rem;color:#fff;}
.cartegrise-form-wrapper .rail-steps{list-style:none;display:grid;gap:2px;flex:1;align-content:start;}
.cartegrise-form-wrapper .rail-step{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:12px;font-size:.85rem;font-weight:600;color:rgba(255,255,255,.42);transition:.25s;}
.cartegrise-form-wrapper .rail-step .rs-dot{width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800;flex-shrink:0;transition:.25s;}
.cartegrise-form-wrapper .rail-step.done{color:#fff;}
.cartegrise-form-wrapper .rail-step.done::after{content:'✓';color:#3ECF8E;font-weight:800;font-size:.82rem;}
.cartegrise-form-wrapper .rail-step.done .rs-dot{background:transparent;border-color:var(--green-700);color:#3ECF8E;}
.cartegrise-form-wrapper .rail-step.current{background:rgba(255,255,255,.08);color:#fff;}
.cartegrise-form-wrapper .rail-step.current .rs-dot{border-color:var(--coral);color:var(--coral);}
.cartegrise-form-wrapper .rail-step .rs-n{display:inline;}
.cartegrise-form-wrapper .rail-help{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:14px 16px;font-size:.78rem;line-height:1.55;}
.cartegrise-form-wrapper .rail-help b{display:block;color:#fff;font-size:.85rem;margin-bottom:2px;}
.cartegrise-form-wrapper .rail-help a{color:#8FB4F2;font-weight:700;}
.cartegrise-form-wrapper .rail-badge{display:flex;align-items:center;gap:10px;font-size:.72rem;color:rgba(255,255,255,.55);line-height:1.45;}
.cartegrise-form-wrapper .rail-badge .rb-ico{width:34px;height:34px;border-radius:50%;background:rgba(143,180,242,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0;}

/* ═══════ STAGE (zone formulaire) ═══════ */
.cartegrise-form-wrapper .stage{margin-left:var(--rail-w);min-height:100vh;display:flex;flex-direction:column;}
.cartegrise-form-wrapper .stage-top{position:sticky;top:0;z-index:50;background:rgba(233,238,246,.9);backdrop-filter:blur(8px);padding:14px 28px 0;}
.cartegrise-form-wrapper .stage-top-row{display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:760px;margin:0 auto;}
.cartegrise-form-wrapper .stage-back{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--muted);padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;transition:.2s;font-family:'Inter',sans-serif;cursor:pointer;}
.cartegrise-form-wrapper .stage-back:hover{color:var(--green-700);border-color:var(--green-700);}
.cartegrise-form-wrapper .stage-meta{display:flex;align-items:center;gap:10px;font-size:.78rem;font-weight:700;color:var(--muted);}
.cartegrise-form-wrapper .stage-secure{font-size:.74rem;font-weight:600;color:var(--ok);}
.cartegrise-form-wrapper .mbar{max-width:760px;margin:12px auto 0;height:4px;background:var(--line);border-radius:3px;overflow:hidden;}
.cartegrise-form-wrapper .mbar-fill{height:100%;width:25%;background:linear-gradient(90deg,var(--green-700),var(--coral));border-radius:3px;transition:width .45s cubic-bezier(.4,0,.2,1);}
.cartegrise-form-wrapper .stage-inner{flex:1;padding:34px 28px 60px;}
.cartegrise-form-wrapper .stage-card{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 24px 60px rgba(16,48,92,.10);padding:38px;}
.cartegrise-form-wrapper .stage-foot{max-width:760px;margin:14px auto 0;text-align:center;font-size:.76rem;color:var(--faint);display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;}

/* Mobile top bar logo */
.cartegrise-form-wrapper .mob-logo{display:none;align-items:center;gap:8px;font-family:'Sora',sans-serif;font-weight:800;font-size:.95rem;}
.cartegrise-form-wrapper .mob-logo strong{color:var(--green-700);}

/* ═══════ FORM STEPS ═══════ */
.cartegrise-form-wrapper .wstep{display:none;}
@keyframes cartegriseFormRise{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.cartegrise-form-wrapper .wstep.active{display:block;animation:cartegriseFormRise .3s ease;}
.cartegrise-form-wrapper .w-kicker{display:inline-flex;align-items:center;gap:8px;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--coral);margin-bottom:10px;}
.cartegrise-form-wrapper .w-title{font-size:1.45rem;font-weight:800;margin-bottom:7px;letter-spacing:-.015em;}
.cartegrise-form-wrapper .w-desc{color:var(--muted);font-size:.9rem;margin-bottom:28px;}
.cartegrise-form-wrapper .panel{border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:20px;background:var(--paper);overflow:visible;position:relative;}
.cartegrise-form-wrapper .panel-t{font-size:.8rem;font-weight:700;color:var(--green-900);margin-bottom:16px;display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.07em;}
.cartegrise-form-wrapper .panel-t::before{content:'';width:18px;height:3px;border-radius:2px;background:var(--coral);}

/* PICK CARDS */
.cartegrise-form-wrapper .pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:13px;margin-bottom:26px;}
.cartegrise-form-wrapper .pick-grid.two-col{grid-template-columns:1fr 1fr;}
.cartegrise-form-wrapper .pick-grid.three-col{grid-template-columns:repeat(3,1fr);}
.cartegrise-form-wrapper .pick-group{font-weight:700;font-size:.78rem;color:var(--green-900);text-transform:uppercase;letter-spacing:.09em;margin:22px 0 12px;display:flex;align-items:center;gap:10px;}
.cartegrise-form-wrapper .pick-group::after{content:'';flex:1;height:1px;background:var(--line);}
.cartegrise-form-wrapper .pick-group:first-of-type{margin-top:0;}
.cartegrise-form-wrapper .pick{border:1.5px solid var(--line);border-radius:16px;padding:18px 38px 18px 14px;cursor:pointer;transition:.2s;position:relative;background:#fff;display:block;}
.cartegrise-form-wrapper .pick:hover{border-color:var(--green-700);background:var(--green-50);}
.cartegrise-form-wrapper .pick.on{border-color:var(--green-700);background:var(--green-50);box-shadow:0 6px 18px rgba(30,79,163,.12);}
.cartegrise-form-wrapper .pick input{position:absolute;opacity:0;pointer-events:none;}
.cartegrise-form-wrapper .pick-i{font-size:1.5rem;margin-bottom:8px;}
.cartegrise-form-wrapper .pick-t{font-weight:700;font-size:.9rem;margin-bottom:3px;}
.cartegrise-form-wrapper .pick-d{font-size:.75rem;color:var(--muted);line-height:1.4;}
.cartegrise-form-wrapper .pick-mark{position:absolute;top:11px;right:11px;width:20px;height:20px;border:1.5px solid var(--line);border-radius:50%;background:#fff;transition:.2s;}
.cartegrise-form-wrapper .pick.on .pick-mark{border-color:var(--green-700);background:var(--green-700);}
.cartegrise-form-wrapper .pick.on .pick-mark::after{content:'';display:block;width:5px;height:9px;border-right:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(40deg);margin:1px auto 0;}

/* GRIDS & FIELDS */
.cartegrise-form-wrapper .grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;overflow:visible;}
.cartegrise-form-wrapper .grid2.grid3{grid-template-columns:1fr 1fr 1fr;}
.cartegrise-form-wrapper .grid2.grid1{grid-template-columns:1fr;}
.cartegrise-form-wrapper .field{display:flex;flex-direction:column;gap:6px;}
.cartegrise-form-wrapper .field.span2{grid-column:1/-1;}
.cartegrise-form-wrapper .field label{font-weight:600;font-size:.86rem;}
.cartegrise-form-wrapper .field label .opt-lbl{font-weight:400;color:var(--faint);font-size:.78rem;}
.cartegrise-form-wrapper .field input,.cartegrise-form-wrapper .field select,.cartegrise-form-wrapper .field textarea{padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;font-family:'Inter',sans-serif;font-size:.92rem;color:var(--ink);background:#fff;transition:.2s;-webkit-appearance:none;appearance:none;width:100%;max-width:100%;box-sizing:border-box;}
.cartegrise-form-wrapper .field input:focus,.cartegrise-form-wrapper .field select:focus,.cartegrise-form-wrapper .field textarea:focus{outline:none;border-color:var(--green-700);box-shadow:0 0 0 4px rgba(30,79,163,.12);}
.cartegrise-form-wrapper .field textarea{resize:vertical;min-height:70px;}
.cartegrise-form-wrapper .field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235A6678' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;}
.cartegrise-form-wrapper .field select option{font-family:'Inter',sans-serif;font-size:.92rem;color:var(--ink);background:#fff;padding:8px 12px;}
.cartegrise-form-wrapper .hint{font-size:.76rem;color:var(--faint);margin-top:4px;line-height:1.4;}
.cartegrise-form-wrapper .note{font-size:.78rem;color:var(--muted);background:var(--sand);border:1px solid var(--line);border-radius:12px;padding:11px 14px;margin-bottom:16px;line-height:1.55;}
.cartegrise-form-wrapper .lbl{font-weight:700;font-size:.86rem;margin-bottom:10px;}

/* ADDONS */
.cartegrise-form-wrapper .addons{display:grid;gap:12px;margin-bottom:26px;}
.cartegrise-form-wrapper .addon{border:1.5px solid var(--line);border-radius:16px;padding:17px;cursor:pointer;transition:.2s;display:flex;align-items:center;gap:14px;background:#fff;}
.cartegrise-form-wrapper .addon:hover{border-color:var(--green-700);}
.cartegrise-form-wrapper .addon.on{border-color:var(--green-700);background:var(--green-50);}
.cartegrise-form-wrapper .addon-i{width:42px;height:42px;border-radius:12px;background:var(--green-100);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;}
.cartegrise-form-wrapper .addon-i svg{width:20px;height:20px;display:block;stroke:var(--green-700);}
.cartegrise-form-wrapper .addon-b{flex:1;}
.cartegrise-form-wrapper .addon-t{font-weight:700;font-size:.92rem;margin-bottom:2px;}
.cartegrise-form-wrapper .addon-d{font-size:.78rem;color:var(--muted);}
.cartegrise-form-wrapper .addon-p{font-family:'Sora',sans-serif;font-weight:800;font-size:.97rem;color:var(--green-700);flex-shrink:0;}
.cartegrise-form-wrapper .switch{width:44px;height:24px;background:var(--line);border-radius:12px;position:relative;transition:.3s;flex-shrink:0;}
.cartegrise-form-wrapper .addon.on .switch{background:var(--green-700);}
.cartegrise-form-wrapper .switch::after{content:'';position:absolute;width:18px;height:18px;background:#fff;border-radius:50%;top:3px;left:3px;transition:.3s;box-shadow:0 1px 4px rgba(0,0,0,.2);}
.cartegrise-form-wrapper .addon.on .switch::after{left:23px;}

/* AUTOCOMPLETE */
.cartegrise-form-wrapper .suggest{display:none;position:absolute;top:100%;left:0;right:0;z-index:999;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 30px rgba(16,48,92,.16);max-height:220px;overflow-y:auto;margin-top:4px;}
.cartegrise-form-wrapper .suggest.open{display:block;}
.cartegrise-form-wrapper .suggest-i{padding:11px 14px;font-size:.87rem;cursor:pointer;border-bottom:1px solid var(--sand);}
.cartegrise-form-wrapper .suggest-i:last-child{border-bottom:none;}
.cartegrise-form-wrapper .suggest-i:hover,.cartegrise-form-wrapper .suggest-i.active{background:var(--green-50);color:var(--green-700);}

/* START CHOICE */
.cartegrise-form-wrapper .start-grid{display:grid;gap:12px;margin-bottom:24px;}
.cartegrise-form-wrapper .start-card{border:1.5px solid var(--line);border-radius:16px;padding:17px;cursor:pointer;transition:.2s;background:#fff;}
.cartegrise-form-wrapper .start-card:hover{border-color:var(--green-700);}
.cartegrise-form-wrapper .start-card.on{border-color:var(--green-700);background:var(--green-50);}
.cartegrise-form-wrapper .start-head{display:flex;align-items:center;gap:12px;}
.cartegrise-form-wrapper .start-dot{width:18px;height:18px;border:2px solid var(--line);border-radius:50%;flex-shrink:0;transition:.2s;position:relative;}
.cartegrise-form-wrapper .start-card.on .start-dot{border-color:var(--green-700);background:var(--green-700);}
.cartegrise-form-wrapper .start-card.on .start-dot::after{content:'';position:absolute;width:6px;height:6px;background:#fff;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);}
.cartegrise-form-wrapper .start-label{font-weight:700;font-size:.95rem;}
.cartegrise-form-wrapper .start-sub{font-size:.8rem;color:var(--muted);margin-top:4px;padding-left:30px;line-height:1.4;}
.cartegrise-form-wrapper .waiver{margin-top:12px;padding:12px 12px 12px 30px;background:var(--warn-bg);border:1px solid var(--warn-bd);border-radius:12px;}
.cartegrise-form-wrapper .waiver label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:.8rem;color:var(--warn-tx);line-height:1.5;}
.cartegrise-form-wrapper .waiver input[type=checkbox]{margin-top:2px;flex-shrink:0;accent-color:var(--green-700);}
.cartegrise-form-wrapper .waiver.bad{border-color:var(--bad);background:#FDF3F1;}
.cartegrise-form-wrapper .start-card .waiver{padding-left:12px;}

/* SUMMARY */
.cartegrise-form-wrapper .summary{background:var(--paper);border-radius:var(--radius);padding:24px;margin-bottom:24px;border:1px solid var(--line);}
.cartegrise-form-wrapper .summary-h{font-weight:700;font-size:.9rem;color:var(--green-700);margin-bottom:16px;display:flex;align-items:center;gap:8px;}
.cartegrise-form-wrapper .summary-r{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:.875rem;}
.cartegrise-form-wrapper .summary-r:last-of-type{border-bottom:none;}
.cartegrise-form-wrapper .summary-r .sr-l{color:var(--muted);}
.cartegrise-form-wrapper .summary-r .sr-v{font-weight:600;}
.cartegrise-form-wrapper #validationSummary .summary-h{text-transform:uppercase;}
.cartegrise-form-wrapper .summary-tot{margin-top:12px;padding:15px 18px;background:var(--green-900);border-radius:14px;display:flex;justify-content:space-between;align-items:center;color:#fff;}
.cartegrise-form-wrapper .summary-tot .st-l{font-weight:600;font-size:.9rem;}
.cartegrise-form-wrapper .summary-tot .st-p{font-family:'Sora',sans-serif;font-size:1.5rem;font-weight:800;}

/* CONSENT */
.cartegrise-form-wrapper .consent{border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:20px;background:#fff;}
.cartegrise-form-wrapper .consent label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:.85rem;line-height:1.55;}
.cartegrise-form-wrapper .consent input[type=checkbox]{margin-top:3px;width:16px;height:16px;flex-shrink:0;accent-color:var(--green-700);}
.cartegrise-form-wrapper .consent a{color:var(--green-700);text-decoration:underline;}
.cartegrise-form-wrapper .consent.bad{border-color:var(--bad);background:#FDF3F1;}
.cartegrise-form-wrapper .consent.bad .f-err{display:block;margin-top:8px;}

/* BUTTONS */
.cartegrise-form-wrapper .step-nav{display:flex;gap:12px;margin-top:8px;}
.cartegrise-form-wrapper .btn-prev{padding:14px 22px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-family:'Inter',sans-serif;font-weight:600;font-size:.93rem;cursor:pointer;transition:.2s;flex-shrink:0;line-height:1;}
.cartegrise-form-wrapper .btn-prev:hover{border-color:var(--green-700);color:var(--green-700);}
.cartegrise-form-wrapper .btn-go{flex:1;padding:15px 22px;background:var(--coral);color:#fff;border:none;border-radius:999px;font-family:'Inter',sans-serif;font-weight:700;font-size:.97rem;cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center;gap:8px;line-height:1;box-shadow:0 8px 22px rgba(35,83,184,.3);}
.cartegrise-form-wrapper .btn-go:hover{background:var(--coral-dark);transform:translateY(-1px);}
.cartegrise-form-wrapper .btn-pay{flex:1;padding:16px 22px;background:var(--green-700);color:#fff;border:none;border-radius:999px;font-family:'Inter',sans-serif;font-weight:700;font-size:1rem;cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center;gap:8px;line-height:1;box-shadow:0 8px 22px rgba(30,79,163,.3);}
.cartegrise-form-wrapper .btn-pay:hover{background:var(--green-900);}
.cartegrise-form-wrapper .form-trust{text-align:center;margin-top:12px;font-size:.77rem;color:var(--faint);display:flex;align-items:center;justify-content:center;gap:6px;}

/* ERRORS */
.cartegrise-form-wrapper .is-bad{border-color:var(--bad) !important;background:#FDF3F1 !important;}
.cartegrise-form-wrapper .is-bad:focus{box-shadow:0 0 0 4px rgba(212,61,42,.12) !important;}
.cartegrise-form-wrapper .field.bad label{color:var(--bad);}
.cartegrise-form-wrapper .f-err{color:var(--bad);font-size:.79rem;font-weight:600;margin-top:4px;display:flex;align-items:center;gap:4px;}
.cartegrise-form-wrapper .pick-err{background:#FDF3F1;border:1.5px solid var(--bad);border-radius:14px;padding:11px 14px;color:var(--bad);font-size:.84rem;font-weight:600;margin-bottom:14px;display:flex;align-items:center;gap:8px;}
@keyframes cartegriseFormWob{0%,100%{transform:translateX(0);}25%{transform:translateX(-4px);}75%{transform:translateX(4px);}}
.cartegrise-form-wrapper .shake{animation:cartegriseFormWob .3s ease;}

/* DONE */
.cartegrise-form-wrapper .success-screen{display:none;text-align:center;padding:40px 20px;}
.cartegrise-form-wrapper .done-i{width:84px;height:84px;background:var(--green-100);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;}
.cartegrise-form-wrapper .success-screen h3{font-size:1.55rem;font-weight:800;margin-bottom:10px;}
.cartegrise-form-wrapper .success-screen p{color:var(--muted);max-width:430px;margin:0 auto 28px;}
.cartegrise-form-wrapper .done-btn{display:inline-block;padding:15px 32px;background:var(--green-700);color:#fff;border-radius:999px;font-weight:700;cursor:pointer;border:none;font-family:'Inter',sans-serif;font-size:1rem;}

/* ═══════ RESPONSIVE ═══════ */
@media(max-width:1024px){
  .cartegrise-form-wrapper .rail{display:none;}
  .cartegrise-form-wrapper .stage{margin-left:0;}
  .cartegrise-form-wrapper .mob-logo{display:inline-flex;}
  .cartegrise-form-wrapper .stage-back{display:none;}
}
@media(max-width:768px){
  .cartegrise-form-wrapper .stage-inner{padding:22px 14px 50px;}
  .cartegrise-form-wrapper .stage-card{padding:24px 16px;border-radius:20px;}
  .cartegrise-form-wrapper .grid2,.cartegrise-form-wrapper .grid2.grid3{grid-template-columns:1fr;}
  .cartegrise-form-wrapper .step-nav{flex-direction:column;}
  .cartegrise-form-wrapper .btn-prev{order:2;}
  .cartegrise-form-wrapper .sq-row{flex-direction:column;align-items:flex-start;gap:8px;}
  .cartegrise-form-wrapper .fgrid{grid-template-columns:1fr;}
  .cartegrise-form-wrapper .pick-grid,.cartegrise-form-wrapper .pick-grid.three-col{grid-template-columns:1fr;}
  .cartegrise-form-wrapper .pick-grid.two-col{grid-template-columns:1fr 1fr;}
  .cartegrise-form-wrapper .panel{padding:16px 12px;}
  .cartegrise-form-wrapper .summary{padding:16px 12px;}
  .cartegrise-form-wrapper .stage-top{padding:12px 14px 0;}
}
@media(max-width:480px){
  .cartegrise-form-wrapper .pick-grid.two-col{grid-template-columns:1fr;}
  .cartegrise-form-wrapper .stage-secure{display:none;}
}

/* HSTEP — hidden on desktop, visible on mobile (<1025px) */
.cartegrise-form-wrapper .hstep{display:flex;align-items:center;max-width:760px;margin:14px auto 0;}
.cartegrise-form-wrapper .hs-dot{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;font-family:'Sora',sans-serif;background:var(--line);color:var(--faint);transition:.3s;}
.cartegrise-form-wrapper .hs-dot.done{background:var(--green-700);color:#fff;}
.cartegrise-form-wrapper .hs-dot.current{background:var(--green-900);color:#fff;box-shadow:0 0 0 3px var(--green-100);}
.cartegrise-form-wrapper .hs-line{flex:1;height:2px;background:var(--line);min-width:8px;transition:.3s;}
.cartegrise-form-wrapper .hs-line.done{background:var(--green-700);}
@media(min-width:1025px){.cartegrise-form-wrapper .hstep{display:none;}}

/* Situation info blocks (sq-block / sq-pills / sq-reveal) */
.cartegrise-form-wrapper .situation-list{display:flex;flex-direction:column;}
.cartegrise-form-wrapper .sq-block{padding:16px 0;border-bottom:1px solid var(--sand);}
.cartegrise-form-wrapper .sq-block:last-child{border-bottom:none;}
.cartegrise-form-wrapper .sq-row{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.cartegrise-form-wrapper .sq-label{font-size:.88rem;font-weight:500;color:var(--ink);line-height:1.4;}
.cartegrise-form-wrapper .sq-label .req{color:var(--bad);}
.cartegrise-form-wrapper .sq-pills{display:flex;background:var(--sand);border-radius:999px;padding:3px;gap:3px;flex-shrink:0;}
.cartegrise-form-wrapper .sq-pill{padding:7px 20px;border-radius:999px;font-size:.8rem;font-weight:600;cursor:pointer;transition:.2s;color:var(--muted);background:transparent;border:none;font-family:'Inter',sans-serif;user-select:none;}
.cartegrise-form-wrapper .sq-pill.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.08);}
.cartegrise-form-wrapper .sq-reveal{display:none;margin-top:16px;padding-top:16px;border-top:1px solid var(--sand);}
.cartegrise-form-wrapper .sq-reveal.show{display:block;}
.cartegrise-form-wrapper .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.cartegrise-form-wrapper .fgroup{display:flex;flex-direction:column;gap:6px;}
.cartegrise-form-wrapper .fgroup label{font-size:.82rem;font-weight:600;color:var(--ink);}
.cartegrise-form-wrapper .fgroup input{padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;font-family:'Inter',sans-serif;font-size:.92rem;color:var(--ink);background:#fff;outline:none;transition:.2s;width:100%;max-width:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none;}
.cartegrise-form-wrapper .fgroup input:focus{outline:none;border-color:var(--green-700);box-shadow:0 0 0 4px rgba(30,79,163,.12);}

/* IMMAT TOGGLE (unknown / foreign checkbox) */
.cartegrise-form-wrapper .immat-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none;padding:8px 12px;border:1px solid var(--line);border-radius:12px;transition:.2s;background:var(--paper);}
.cartegrise-form-wrapper .immat-toggle:hover{border-color:var(--green-700);background:var(--green-50);}
.cartegrise-form-wrapper .immat-toggle.on{border-color:var(--coral);background:#F5F0FF;}
.cartegrise-form-wrapper .immat-toggle input{position:absolute;opacity:0;pointer-events:none;}
.cartegrise-form-wrapper .immat-toggle-track{width:40px;height:22px;border-radius:11px;position:relative;flex-shrink:0;transition:.3s;background:var(--line);}
.cartegrise-form-wrapper .immat-toggle.on .immat-toggle-track{background:var(--coral);}
.cartegrise-form-wrapper .immat-toggle-knob{position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;top:3px;left:3px;transition:.3s;box-shadow:0 1px 4px rgba(0,0,0,.18);}
.cartegrise-form-wrapper .immat-toggle.on .immat-toggle-knob{left:21px;}
.cartegrise-form-wrapper .immat-toggle-label{font-size:.82rem;color:var(--muted);font-weight:500;line-height:1.3;}
.cartegrise-form-wrapper .immat-toggle.on .immat-toggle-label{color:var(--ink);}

/* hidden input reveal when checkbox is checked */
.cartegrise-form-wrapper .immat-reveal{display:none;margin-top:12px;padding:14px;background:var(--warn-bg);border:1px solid var(--warn-bd);border-radius:12px;font-size:.8rem;color:var(--warn-tx);}
.cartegrise-form-wrapper .immat-reveal.show{display:block;}
