:root{
  --bg:#f4f7fb;
  --card:#ffffff;
  --text:#152238;
  --muted:#667085;
  --line:#e4e9f1;
  --primary:#133d7a;
  --primary-2:#215aa8;
  --accent:#e53b46;
  --soft:#eef4fb;
  --success:#157347;
  --warning:#9a6700;
  --danger:#b42318;
  --shadow:0 18px 50px rgba(18,42,75,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#f9fbfe 0,#f4f7fb 340px);color:var(--text)}
a{color:inherit}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 34px;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(228,233,241,.9);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.brand-lockup{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand-mark{width:54px;height:54px;border-radius:16px;background:linear-gradient(145deg,var(--primary),var(--primary-2));display:grid;place-items:center;color:#fff;font-weight:900;font-size:1.12rem;letter-spacing:-.04em;box-shadow:0 10px 28px rgba(19,61,122,.18);position:relative;overflow:hidden}
.brand-mark:after{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:var(--accent);right:-7px;bottom:-6px}
.brand-copy{display:flex;flex-direction:column;line-height:1.08}.brand-copy strong{font-size:1.03rem;letter-spacing:.01em}.brand-copy span{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.13em;margin-top:5px;font-weight:700}
.admin-link{color:var(--primary);text-decoration:none;font-weight:800;background:var(--soft);padding:10px 14px;border-radius:999px;font-size:.9rem}
.admin-link:hover{background:#e4eef9}
.network-strip{background:#fff;border-bottom:1px solid var(--line)}
.network-inner{max-width:1180px;margin:0 auto;padding:9px 20px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;color:#8a94a6;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.network-label{color:#a7afbd;font-weight:700}.affiliate-logo{display:inline-flex;align-items:center;gap:6px;padding:4px 7px;border-radius:7px}.affiliate-logo:before{content:"";width:5px;height:5px;border-radius:50%;background:#c8cfdb}.affiliate-logo:nth-child(3):before{background:#315a9b}.affiliate-logo:nth-child(4):before{background:#d15a62}.affiliate-logo:nth-child(5):before{background:#608065}.affiliate-logo:nth-child(6):before{background:#7d65a8}.affiliate-logo:nth-child(7):before{background:#bd8b39}
.container{max-width:1040px;margin:0 auto;padding:50px 20px 80px}.container.wide{max-width:1380px}
.hero{padding:34px 0 38px;position:relative}.hero:before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(33,90,168,.1),rgba(33,90,168,0) 70%);right:-60px;top:-80px;pointer-events:none}.hero.compact{padding-bottom:22px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:900;color:var(--primary);background:#eaf1fa;border:1px solid #d7e5f5;padding:8px 11px;border-radius:999px}.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}
h1{font-size:clamp(2.35rem,5.5vw,4.6rem);margin:.65rem 0 1rem;line-height:1.01;letter-spacing:-.045em;max-width:850px}.hero.compact h1{font-size:2.65rem}.hero p{font-size:1.08rem;color:var(--muted);max-width:760px;line-height:1.65;margin-bottom:0}
.hero-trust{display:flex;gap:20px;flex-wrap:wrap;margin-top:22px;color:#475467;font-size:.9rem;font-weight:700}.hero-trust span{display:inline-flex;align-items:center;gap:7px}.hero-trust span:before{content:"✓";color:var(--success);font-weight:900}
.card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:var(--shadow);margin-bottom:24px}.form-card{position:relative;overflow:hidden}.form-card:before{content:"";display:block;height:4px;position:absolute;left:0;right:0;top:0;background:linear-gradient(90deg,var(--primary),var(--primary-2),var(--accent))}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:32px}.step{padding:11px 10px;border-radius:12px;background:#f2f4f7;color:#7a8495;font-size:.86rem;text-align:center;font-weight:800;border:1px solid transparent}.step.active{background:#e9f1fb;color:var(--primary);border-color:#d6e4f5}
.panel h2,.card h2{margin-top:0;letter-spacing:-.02em}.panel h2{font-size:1.55rem}.grid{display:grid}.cards-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:20px 0 28px}.choice-card{display:block;border:1.5px solid var(--line);border-radius:17px;padding:19px;cursor:pointer;background:#fff;transition:.18s ease}.choice-card:hover{transform:translateY(-2px);border-color:#a9bfdc;box-shadow:0 10px 25px rgba(18,42,75,.07)}.choice-card.selected{border-color:var(--primary-2);box-shadow:0 0 0 4px rgba(33,90,168,.09)}.choice-card input{display:none}.choice-title{font-weight:900;margin-bottom:7px;color:#1b3150}.choice-desc{color:var(--muted);font-size:.91rem;line-height:1.5}
.field-grid{display:grid;gap:17px}.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}label{display:flex;flex-direction:column;gap:8px;font-weight:800;font-size:.91rem;color:#344054}input,select,textarea{font:inherit;border:1px solid #cfd8e5;border-radius:12px;padding:13px 14px;background:#fff;color:var(--text);transition:.15s ease}input::placeholder,textarea::placeholder{color:#9aa4b2}input:focus,select:focus,textarea:focus{outline:4px solid rgba(33,90,168,.09);border-color:var(--primary-2)}.full-width{margin-top:17px}.checkbox-row{flex-direction:row;align-items:flex-start;font-weight:500;margin-top:17px;line-height:1.45}.checkbox-row input{margin-top:4px;accent-color:var(--primary)}.hint,.muted{color:var(--muted);line-height:1.55;font-size:.91rem}
.actions{display:flex;justify-content:flex-end;margin-top:27px}.actions.split{justify-content:space-between;gap:12px}.primary,.secondary{border:0;border-radius:12px;padding:13px 19px;font-weight:900;cursor:pointer;font-size:.93rem;transition:.16s ease}.primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 8px 18px rgba(19,61,122,.16)}.primary:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(19,61,122,.22)}.secondary{background:#f1f4f8;color:var(--text)}
.hidden{display:none!important}.notice{padding:15px 17px;border-radius:14px;background:#edf4fb;border:1px solid #d9e6f5;margin-bottom:18px;color:#315274}.warning-box{background:#fff9eb;border:1px solid #f0d994;color:#684f14;border-radius:14px;padding:17px;line-height:1.55;margin:18px 0}.success-card{border-color:#b8dfca}.success-card h2{color:var(--success)}
.session-list{display:grid;gap:12px}.session-card{border:1px solid var(--line);border-radius:16px;padding:17px;display:flex;justify-content:space-between;gap:18px;align-items:center;background:#fff;transition:.16s ease}.session-card:hover{border-color:#c6d2e0}.session-card.selected{border-color:var(--primary-2);box-shadow:0 0 0 4px rgba(33,90,168,.08)}.session-main strong{display:block;font-size:1.02rem}.session-meta{color:var(--muted);margin-top:6px;font-size:.91rem}.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.76rem;font-weight:900}.badge.success{background:#e8f7ef;color:var(--success)}.badge.warning{background:#fff3d9;color:var(--warning)}.badge.danger{background:#fdeceb;color:var(--danger)}
.summary{display:grid;gap:10px}.summary-row{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid var(--line)}.summary-row span:first-child{color:var(--muted)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:19px;box-shadow:0 8px 25px rgba(18,42,75,.04)}.stat-card .label{color:var(--muted);font-size:.88rem}.stat-card .value{font-size:1.9rem;font-weight:950;margin-top:7px;color:#1b3150}
.toolbar{display:flex;gap:12px;margin-bottom:18px}.toolbar input{flex:1}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:980px}th,td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:.77rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#fafbfd}td{font-size:.9rem}.action-group{display:flex;gap:6px;flex-wrap:wrap}.mini{padding:7px 10px;border-radius:9px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:.79rem;font-weight:800}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}
dialog{border:0;border-radius:18px;padding:0;box-shadow:0 20px 70px rgba(0,0,0,.2);max-width:520px;width:calc(100% - 32px)}dialog::backdrop{background:rgba(15,23,42,.45)}.dialog-form{padding:26px;display:grid;gap:16px}
.site-footer{margin-top:10px;padding:28px 20px;text-align:center;color:#8791a2;font-size:.82rem}.site-footer strong{color:#526072}
@media(max-width:760px){.topbar{padding:11px 15px}.brand-mark{width:46px;height:46px;border-radius:14px}.brand-copy span{display:none}.admin-link{font-size:.8rem;padding:9px 11px}.network-inner{gap:8px;padding:7px 10px}.network-label{width:100%;text-align:center}.container{padding-top:32px}.steps{grid-template-columns:1fr 1fr}.two-cols,.stats-grid{grid-template-columns:1fr}.card{padding:22px;border-radius:19px}.session-card{align-items:flex-start;flex-direction:column}.toolbar,.section-heading{align-items:stretch;flex-direction:column}.hero{padding-top:25px}h1{font-size:2.65rem}}

/* ============================================================
   V3 — localisation + cartes centres / sessions
   ============================================================ */
.compact-hero{padding-bottom:28px}
.steps-five{grid-template-columns:repeat(5,1fr)}
.section-intro{color:var(--muted);line-height:1.55;margin-top:-7px;margin-bottom:20px}
.choice-family{font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--primary-2);margin-bottom:7px}
.location-box{background:#f8fbff;border:1px solid #dce8f6;border-radius:18px;padding:22px;margin-top:22px}
.field-help{font-size:.78rem;color:#8a94a6;font-weight:500;line-height:1.35}
.postal-status{margin-top:15px;padding:11px 13px;border-radius:11px;font-size:.87rem;font-weight:700}
.postal-status.info{background:#edf4fb;color:#315274}
.postal-status.success{background:#eaf7f0;color:#17603c}
.postal-status.error{background:#fff0ef;color:#9d2b24}
.section-heading-stack{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.link-button{border:0;background:transparent;color:var(--primary-2);font-weight:800;cursor:pointer;padding:6px 0;white-space:nowrap}
.center-results{display:grid;gap:18px;margin-top:18px}
.center-card{border:1px solid var(--line);border-radius:20px;padding:20px;background:#fff;box-shadow:0 8px 24px rgba(18,42,75,.04)}
.center-card.recommended{border-color:#b9d0ec;background:linear-gradient(180deg,#fbfdff,#fff)}
.center-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.center-card-head h3{margin:3px 0 4px;font-size:1.12rem;letter-spacing:-.01em}
.center-card-head p{margin:0;color:var(--muted);font-size:.9rem}
.center-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:var(--primary-2)}
.sessions-count{background:#eef4fb;color:#315274;border-radius:999px;padding:7px 10px;font-size:.76rem;font-weight:900;white-space:nowrap}
.center-session-list{display:grid;gap:10px;margin-top:14px}
.session-option{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;border:1px solid var(--line);border-radius:14px;padding:14px 15px;background:#fff;text-align:left;cursor:pointer;color:inherit;font:inherit;transition:.16s ease}
.session-option:hover{border-color:#b5c9e2;background:#fbfdff}
.session-option.selected{border-color:var(--primary-2);box-shadow:0 0 0 4px rgba(33,90,168,.08);background:#fafdff}
.radio-dot{width:18px;height:18px;border:2px solid #aeb9c8;border-radius:50%;display:block;position:relative}
.session-option.selected .radio-dot{border-color:var(--primary-2)}
.session-option.selected .radio-dot:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--primary-2)}
.session-option-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.session-option-main strong{font-size:.95rem;text-transform:none}
.session-option-main span{font-size:.81rem;color:var(--muted)}
.session-price{font-weight:950;color:#173b70;font-size:1rem;white-space:nowrap}
.primary:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
@media(max-width:900px){.steps-five{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.steps-five{grid-template-columns:1fr 1fr}.section-heading-stack,.center-card-head{flex-direction:column}.session-option{grid-template-columns:auto 1fr}.session-price{grid-column:2}.location-box{padding:16px}}
\n\n/* V4 - informations d'identité sans upload */\n.form-alert{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;margin:0 0 24px;border:1px solid #f0c66c;background:#fff8e8;border-radius:14px;color:#744b00}.form-alert strong{white-space:nowrap}.identity-section{margin-top:24px;padding:22px;border:1px solid #dbe5f2;background:#f8fbff;border-radius:18px}.identity-section h3{margin:0 0 8px}.document-help-card{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:center;margin-top:18px;padding:18px;background:white;border:1px solid #dce5ef;border-radius:16px}.document-help-card p{margin:6px 0 0;color:#5d6c80;line-height:1.5}.document-visual,.residence-visual{position:relative;min-height:126px;border-radius:12px;border:1px solid #c8d4e2;background:linear-gradient(135deg,#eef4fb,#fff);overflow:hidden;padding:16px}.doc-photo{width:48px;height:58px;border-radius:8px;background:#c8d5e6;float:left;margin-right:13px}.doc-lines,.residence-lines{display:flex;flex-direction:column;gap:8px;margin-top:6px}.doc-lines span,.residence-lines span{display:block;height:7px;border-radius:10px;background:#d8e2ee}.doc-lines span:nth-child(2),.residence-lines span:nth-child(2){width:78%}.doc-highlight,.foreigner-highlight{position:absolute;left:16px;right:16px;bottom:14px;padding:8px 10px;border:2px solid #d94b4b;border-radius:7px;background:#fff7f7;color:#9c2525;font-size:12px;font-weight:800;letter-spacing:.04em}.residence-title{font-size:12px;font-weight:800;color:#1e4f8f;margin-bottom:12px}.residence-lines{width:72%}@media(max-width:700px){.document-help-card{grid-template-columns:1fr}.form-alert{flex-direction:column;gap:5px}}\n.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:14px 0}.module-choice{border:1px solid #dbe3ef;border-radius:12px;padding:14px;background:#fff;font-weight:600}.module-choice:has(input:checked){border-color:#154b8b;background:#f3f7fc}.price-banner{margin-top:12px;padding:12px 16px;border-radius:10px;background:#eef4fb;font-weight:800;color:#123f73}.urgent-card{margin-top:22px;padding:22px;border:2px solid #e3a126;border-radius:16px;background:#fffaf0}.urgent-badge{display:inline-block;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:#fff0c9;color:#7b4b00;padding:6px 10px;border-radius:999px}.urgent-card h3{margin:12px 0 6px}.urgent-card textarea{margin-top:8px}

/* V7 — guide visuel des pièces d'identité */
.identity-guide-card {
  margin-top: 18px;
  border: 1px solid #cfe0f5;
  border-radius: 18px;
  background: #f8fbff;
  padding: 16px;
  overflow: hidden;
}
.identity-guide-heading {
  margin-bottom: 12px;
}
.identity-guide-heading strong {
  display: block;
  font-size: 1.05rem;
  color: #0d2f62;
  margin-bottom: 4px;
}
.identity-guide-heading p,
.identity-guide-note {
  margin: 0;
  color: #5a6b82;
}
.identity-guide-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 14px;
  border: 1px solid #d7e4f4;
  background: white;
}
.identity-guide-note {
  margin-top: 10px;
  font-size: .9rem;
}
@media (max-width: 720px) {
  .identity-guide-card { padding: 10px; }
  .identity-guide-heading strong { font-size: 1rem; }
}

/* V8 — langues, nationalités, adresse auto-complétée, guide d'identité dynamique */
.header-actions{display:flex;align-items:center;gap:10px}.language-picker{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:5px 8px;font-weight:700}.language-picker select{border:0;background:transparent;padding:5px 26px 5px 3px;min-width:120px;font-weight:700;color:var(--text)}.language-picker select:focus{outline:none}
.address-section{position:relative;margin-top:18px}.address-suggestions{position:absolute;z-index:30;left:0;right:0;top:78px;background:#fff;border:1px solid #cfdbea;border-radius:14px;box-shadow:0 18px 45px rgba(18,42,75,.14);overflow:hidden;max-height:310px;overflow-y:auto}.address-suggestion{display:block;width:100%;border:0;border-bottom:1px solid #edf1f6;background:#fff;padding:13px 15px;text-align:left;cursor:pointer;font:inherit;color:inherit}.address-suggestion:last-child{border-bottom:0}.address-suggestion:hover,.address-suggestion:focus{background:#f5f9fe;outline:none}.address-suggestion strong{display:block;font-size:.94rem}.address-suggestion span{display:block;color:var(--muted);font-size:.8rem;margin-top:3px}.address-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:7px}.manual-address-box{margin-top:12px;padding:14px;background:#f8fbff;border:1px solid #dce8f6;border-radius:14px}
.identity-dynamic-visual{min-height:180px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #d7e4f4;border-radius:14px;overflow:hidden}.identity-dynamic-visual img{display:block;width:100%;height:auto;max-height:300px;object-fit:contain}.identity-placeholder{padding:35px 20px;text-align:center;color:#7d8da2}.identity-guide-card.is-active{background:#fbfdff}.identity-guide-card.is-active .identity-guide-heading strong{color:#124b8f}
html[dir="rtl"] body{text-align:right}html[dir="rtl"] .field-grid label,html[dir="rtl"] .summary-row{text-align:right}html[dir="rtl"] .header-actions{flex-direction:row-reverse}
@media(max-width:760px){.header-actions{gap:6px}.language-picker select{min-width:96px}.admin-link{display:none}.address-actions{align-items:flex-start;flex-direction:column}.address-suggestions{top:77px}}

.brand-logo{width:109px;height:48px;object-fit:contain;border-radius:5px;display:block}.brand-lockup .brand-copy{display:none}@media(max-width:760px){.brand-logo{width:91px;height:40px}}
.other-centers-toggle{display:block;margin:18px auto;width:min(100%,420px)}

/* V12 — identité visuelle réseau C-FIL */
.topbar{padding:12px 34px;min-height:96px}
.brand-logo.brand-logo-france{width:min(360px,34vw);height:72px;object-fit:contain;object-position:left center;border-radius:0}
.network-strip{background:#fff;box-shadow:0 5px 20px rgba(18,42,75,.035)}
.network-inner{max-width:1380px;padding:12px 22px;gap:20px;text-transform:none;letter-spacing:0}
.network-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}
.affiliate-logo{padding:2px 8px;background:transparent;border-radius:0}
.affiliate-logo:before{display:none!important}
.affiliate-logo img{display:block;width:150px;height:54px;object-fit:contain}
@media(max-width:980px){.brand-logo.brand-logo-france{width:270px;height:62px}.affiliate-logo img{width:125px;height:46px}.network-inner{gap:10px}}
@media(max-width:760px){.topbar{padding:10px 16px;min-height:78px;gap:10px}.brand-logo.brand-logo-france{width:205px;height:54px}.network-inner{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:9px 14px}.network-label{display:none}.affiliate-logo{flex:0 0 auto}.affiliate-logo img{width:112px;height:42px}}

/* V13 — intégration de la préinscription officielle CCI */
.cci-embed-card{margin:22px 0;padding:20px;border:1px solid #b8d5f4;border-radius:18px;background:#f7fbff;box-shadow:0 10px 28px rgba(16,64,120,.08)}
.cci-embed-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}
.cci-embed-head h3{margin:4px 0 6px}.cci-embed-head p{margin:0;color:#526987}
.cci-frame-wrap{height:820px;border:1px solid #d6e2ef;border-radius:14px;overflow:hidden;background:#fff}
#cciRegistrationFrame{width:100%;height:100%;border:0;background:#fff}
.cci-fallback{margin-top:12px;padding:12px 14px;border-radius:12px;background:#fff;color:#526987;font-size:.92rem}
.cci-fallback a{display:inline-block;margin-left:8px;font-weight:700;color:#0759b6}
@media(max-width:760px){.cci-embed-head{display:block}.cci-close{margin-top:12px}.cci-frame-wrap{height:720px}.cci-fallback a{display:block;margin:8px 0 0}}


/* V14 — intégration CCI */
.cci-launch-note{margin:0 0 12px;padding:12px 14px;border-radius:12px;background:#f4f7ff;border:1px solid #dce5ff;color:#26345c;font-size:.92rem}
.cci-frame-wrap{min-height:900px;background:#fff;border:1px solid #dbe3ef;border-radius:14px;overflow:hidden}
.cci-frame-wrap iframe{display:block;width:100%;height:900px;border:0;background:#fff}
@media (max-width:800px){.cci-frame-wrap,.cci-frame-wrap iframe{min-height:780px;height:780px}}

/* V15 — deux points d'entrée C-FIL / CCI */
.entry-choice{margin:0 0 26px;padding:22px;border:1px solid #d9e6f4;border-radius:18px;background:linear-gradient(180deg,#f8fbff,#fff)}
.entry-choice-head h2{margin:4px 0 6px}.entry-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.entry-card{display:flex;align-items:flex-start;gap:14px;text-align:left;padding:18px;border:1px solid #cddceb;border-radius:16px;background:#fff;color:#10223d;cursor:pointer;box-shadow:0 6px 18px rgba(25,61,101,.06)}
.entry-card:hover{border-color:#77aef2;transform:translateY(-1px)}.entry-card-primary{border-color:#9fc7f8;background:#f6faff}
.entry-card strong{display:block;font-size:1rem;margin-bottom:5px}.entry-card small{display:block;color:#60748d;line-height:1.45}
.entry-icon{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:#e8f2ff;color:#0759b6;font-weight:800}
.cci-existing-banner{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:0 0 22px;padding:18px 20px;border:1px solid #b8d5f4;border-radius:16px;background:#f4f9ff}
.cci-existing-banner strong{display:block;margin:5px 0}.cci-existing-banner p{margin:0;color:#536b86}.steps.cci-short-steps{grid-template-columns:1fr 1fr}
.steps.cci-short-steps .step[data-step="4"],.steps.cci-short-steps .step[data-step="5"]{display:block!important}
.payment-ready{padding:18px;border-radius:14px;background:#f5f9ff;border:1px solid #cfdef1}.payment-ready p{color:#5c718a}
.badge.info{background:#eaf3ff;color:#0759b6}
@media(max-width:760px){.entry-choice-grid{grid-template-columns:1fr}.cci-existing-banner{display:block}.cci-existing-banner .link-button{margin-top:10px}}

/* V16 - Paiements IH Nancy */
.payment-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.payment-deadline{background:#f6f8ff;border:1px solid #dfe5ff;border-radius:14px;padding:12px 14px;text-align:right;font-size:.9rem}.payment-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.payment-choice{background:#fff;border:1px solid #cfd9ee;border-radius:16px;padding:16px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px;color:#0b2348}.payment-choice:hover{border-color:#2354d9;box-shadow:0 8px 22px rgba(35,84,217,.08)}.payment-choice:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.payment-choice strong{font-size:1rem}.payment-choice span{font-size:.86rem;color:#60708d}.payment-method-detail{border-top:1px solid #e4e9f2;margin-top:18px;padding-top:18px}.rib-box{display:grid;gap:8px;background:#f8fafc;border:1px solid #e3e8f0;border-radius:14px;padding:14px;margin:12px 0}.rib-box>div{display:flex;justify-content:space-between;gap:20px}.rib-box span{color:#687791}.rib-box strong{text-align:right;overflow-wrap:anywhere}.deadline-box{background:#fff7df;border:1px solid #f0d688;border-radius:14px;padding:14px;margin:12px 0}.reminder-info{background:#eef7ff;border:1px solid #cfe8ff;border-radius:14px;padding:14px;margin-top:18px}.button-link{display:inline-block;text-decoration:none}@media(max-width:720px){.payment-header{display:block}.payment-deadline{text-align:left;margin-top:10px}.payment-method-grid{grid-template-columns:1fr}.rib-box>div{display:block}.rib-box strong{display:block;text-align:left;margin-top:2px}}
/* V21 */
.cert-family-section{margin:18px 0 28px}.cert-family-title{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:1.15rem}.cert-family-title span{font-size:1.5rem}.cert-family-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.choice-card{position:relative;overflow:hidden}.choice-card .choice-family{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--primary-2);margin-bottom:7px}.choice-card[data-family="TEF"]:before,.choice-card[data-family="TCF"]:before,.choice-card[data-family="EXAMEN_CIVIQUE"]:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#1d5aa6,#55b9d7)}.choice-card[data-family="EXAMEN_CIVIQUE"]:before{background:linear-gradient(90deg,#d95f4c,#ef9a72)}.choice-card[data-family="TCF"]:before{background:linear-gradient(90deg,#52647a,#8fa8c0)}
.center-brand{display:flex;align-items:center;gap:14px}.center-brand-logo{width:118px;height:58px;object-fit:contain;background:white;border-radius:10px;padding:5px;border:1px solid #e7edf5}.selected-center-banner{display:flex;align-items:center;gap:18px;padding:14px 18px;margin:0 0 16px;border:1px solid #cfe0f1;border-radius:16px;background:#f7fbff}.selected-center-banner img{width:145px;height:70px;object-fit:contain}.selected-center-banner strong{display:block;font-size:1.05rem}.session-day{border:1px solid var(--line);border-radius:14px;padding:13px;margin:10px 0}.session-day-title{font-weight:900;margin-bottom:9px}.session-time-grid{display:flex;flex-wrap:wrap;gap:8px}.session-time-btn{border:1px solid #cbd8e7;background:#fff;border-radius:10px;padding:9px 14px;cursor:pointer;font-weight:800}.session-time-btn.selected{border-color:var(--primary-2);box-shadow:0 0 0 3px rgba(33,90,168,.1);background:#f2f7ff}.tcf-paper-note,.civic-hesio-note{padding:14px 16px;border-radius:14px;background:#fff8e8;border:1px solid #ecd9a8;margin:12px 0}.payment-declaration{margin-top:18px;padding:16px;border:1px solid #cfdceb;border-radius:14px;background:#fff}.payment-declaration label{display:flex;gap:10px;align-items:flex-start;margin:9px 0}.payment-declaration input{margin-top:3px}

/* V21.2 — sélection fiable + packs */
.choice-card{appearance:none;-webkit-appearance:none;text-align:left;width:100%;font:inherit;color:inherit;position:relative}
.choice-card .choice-check{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:999px;border:2px solid #b7c8db;display:grid;place-items:center;font-weight:900;background:#fff;color:#215aa8;z-index:2}
.choice-card.selected .choice-check{background:#215aa8;color:#fff;border-color:#215aa8}
.choice-card.selected{background:#f6faff}
.pack-info{display:flex;flex-direction:column;gap:4px;border:1px solid #c7d8ea;background:#f5f9fe;padding:14px 16px;border-radius:14px;margin:8px 0 20px;color:#27435f}
.pack-info.active{border-color:#2f7a57;background:#f1fbf6;box-shadow:0 0 0 3px rgba(47,122,87,.08)}
.pack-info span{font-size:.92rem;line-height:1.45}
.bundle-session-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:16px}
.bundle-session-columns h4{margin:0 0 10px;color:#1b3150}
.bundle-session-option{width:100%;margin-bottom:8px}
@media(max-width:760px){.bundle-session-columns{grid-template-columns:1fr}}

/* V21.3 — contextual preregistration workflow */
.flow-note{margin:0 0 18px;padding:10px 14px;border-radius:12px;background:#f3f7fc;color:#60738b;font-size:.82rem;border:1px solid #dce7f3}
.provider-prereg{margin:22px 0;padding:20px;border:1px solid #d6e3f1;border-radius:18px;background:#f9fbfe}
.provider-prereg.hidden{display:none}
.prereg-question,.prereg-info{padding:18px;border-radius:15px;background:#fff;border:1px solid #dce6f0;margin-bottom:14px}
.prereg-question:last-child,.prereg-info:last-child{margin-bottom:0}
.prereg-question h3,.prereg-info h3{margin:5px 0 8px;color:#172f4e}
.prereg-question p,.prereg-info p{margin:0 0 14px;color:#61738a;line-height:1.5}
.prereg-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.prereg-options label{display:flex;gap:10px;align-items:center;padding:13px 14px;border:1px solid #cad9e8;border-radius:12px;background:#fff;cursor:pointer;font-weight:700;color:#233c5b}
.prereg-options label:has(input:checked){border-color:#215aa8;box-shadow:0 0 0 3px rgba(33,90,168,.08);background:#f5f9ff}
.tcf-admin-info{border-left:5px solid #52647a;background:#f7f9fb}
.loading-cert{opacity:.72;cursor:wait!important}
.cert-loading-message{grid-column:1/-1;text-align:center;padding:6px 0 2px}
@media(max-width:700px){.prereg-options{grid-template-columns:1fr}}

/* V21.8 — nouvelle sélection des certifications / pack */
#certificationChoices{display:block}.pack-hero-card{width:100%;border:0;border-radius:22px;padding:22px 24px;margin:18px 0 26px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;text-align:left;cursor:pointer;background:linear-gradient(120deg,#0f376d,#215aa8 60%,#3079c4);color:#fff;box-shadow:0 14px 32px rgba(31,79,139,.22);transition:.18s ease}.pack-hero-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(31,79,139,.28)}.pack-hero-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:rgba(255,255,255,.15);font-size:1.45rem;font-weight:900}.pack-hero-copy{display:flex;flex-direction:column;gap:4px}.pack-kicker{font-size:.73rem;letter-spacing:.11em;font-weight:900;opacity:.78}.pack-hero-copy strong{font-size:1.14rem;line-height:1.25}.pack-hero-copy small{font-size:.9rem;opacity:.86}.pack-hero-action{text-align:right;display:flex;flex-direction:column;gap:3px;white-space:nowrap}.pack-hero-action b{font-size:1.5rem}.pack-hero-action span{font-size:.84rem;font-weight:800}.cert-divider{display:flex;align-items:center;gap:14px;margin:10px 0 24px;color:#7c8da2;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.cert-divider:before,.cert-divider:after{content:"";height:1px;background:#dce5ef;flex:1}.cert-family-section{border:1px solid #dce5ef;border-radius:20px;padding:18px;margin:0 0 16px;background:#fff}.cert-family-header{display:flex;align-items:center;gap:12px;margin-bottom:15px}.family-icon{width:42px;height:42px;border-radius:13px;background:#f2f7fc;display:grid;place-items:center;font-size:1.25rem}.cert-family-header h3{margin:0;font-size:1.05rem;color:#102b4d}.cert-family-header p{margin:3px 0 0;color:#6b7d90;font-size:.86rem}.cert-family-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:11px}.choice-card{min-height:112px;border-radius:15px;padding:17px 42px 16px 16px;box-shadow:none}.choice-card:before{display:none!important}.choice-card .choice-title{font-size:.98rem;margin-bottom:6px}.choice-card .choice-desc{font-size:.82rem;line-height:1.35}.choice-card .choice-family,.choice-card .tcf-paper-note{display:none}.choice-card .choice-check{width:25px;height:25px;top:12px;right:12px;border-width:1.5px}.choice-card.selected{background:#eef6ff;border-color:#215aa8;box-shadow:0 0 0 3px rgba(33,90,168,.08)}
.pack-config-screen{animation:fadeIn .18s ease}.pack-config-head{position:relative;background:linear-gradient(135deg,#f4f8fd,#eef5ff);border:1px solid #cfdeef;border-radius:20px;padding:22px 24px 20px;margin:12px 0 18px}.pack-config-head h3{font-size:1.35rem;margin:18px 0 7px;color:#102b4d}.pack-config-head p{margin:0;color:#62758b}.pack-back{border:0;background:none;padding:0;color:#215aa8;font-weight:800;cursor:pointer}.pack-price-badge{position:absolute;right:20px;top:18px;background:#102f59;color:#fff;font-size:1.05rem;font-weight:900;padding:9px 13px;border-radius:12px}.pack-config-block{display:grid;grid-template-columns:42px 1fr;gap:13px;padding:18px 0;border-bottom:1px solid #e3eaf2}.pack-step-number{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#173f73;color:#fff;font-weight:900}.pack-step-content h4{margin:5px 0 13px;color:#183453;font-size:1rem}.pack-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.pack-option-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.pack-option-card{border:1.5px solid #d5e0eb;background:#fff;border-radius:15px;padding:15px;display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;text-align:left;cursor:pointer;font:inherit;color:#1a3554}.pack-option-card:hover{border-color:#9fb9d6;background:#fafdff}.pack-option-card.selected{border-color:#215aa8;background:#f1f7ff;box-shadow:0 0 0 3px rgba(33,90,168,.07)}.pack-option-icon{font-size:1.25rem}.pack-option-card strong{display:block;font-size:.95rem}.pack-option-card small{display:block;color:#6d7e92;font-size:.78rem;margin-top:3px;line-height:1.3}.pack-radio{width:24px;height:24px;border-radius:50%;border:1.5px solid #b7c8da;display:grid;place-items:center;color:#fff;font-weight:900}.pack-option-card.selected .pack-radio{background:#215aa8;border-color:#215aa8}.pack-config-summary{margin-top:20px;border-radius:18px;background:#102f59;color:#fff;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.pack-config-summary div{display:flex;flex-direction:column;gap:3px}.pack-config-summary span{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;opacity:.7;font-weight:800}.pack-config-summary strong{font-size:1.03rem}.pack-config-summary small{opacity:.76}.pack-config-summary .primary{background:#fff;color:#173f73;box-shadow:none}.pack-config-summary .primary:disabled{opacity:.45}.selected-pack-card{border:1.5px solid #80b59a;background:#f2fbf6;border-radius:20px;padding:18px 20px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin:14px 0 22px}.selected-pack-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#2f7a57;color:#fff;font-weight:900}.selected-pack-card div:nth-child(2){display:flex;flex-direction:column;gap:3px}.selected-pack-card span{font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;color:#4c7c63;font-weight:900}.selected-pack-card strong{color:#173b2a}.selected-pack-card small{color:#628171}.selected-pack-card .secondary{padding:10px 14px}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:760px){.pack-hero-card{grid-template-columns:auto 1fr}.pack-hero-action{grid-column:1/-1;text-align:left;flex-direction:row;justify-content:space-between}.pack-option-grid,.pack-option-grid.three{grid-template-columns:1fr}.pack-config-summary,.selected-pack-card{grid-template-columns:1fr}.pack-config-summary{align-items:stretch}.selected-pack-card .secondary{justify-self:start}.cert-family-grid{grid-template-columns:1fr}}

/* V21.9 — présélection simplifiée */
.v219-main-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}.v219-main-card{position:relative;min-height:112px;border:1.5px solid #d9e3ee;background:#fff;border-radius:18px;padding:18px;display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;text-align:left;cursor:pointer;color:#173454;font:inherit;transition:.16s ease}.v219-main-card:hover{border-color:#7fa5cf;box-shadow:0 8px 22px rgba(31,79,139,.09);transform:translateY(-1px)}.v219-main-card.pack{background:#f6f9fd;border-color:#b8cee5}.v219-main-card:last-child{grid-column:1/-1}.v219-icon{width:46px;height:46px;border-radius:13px;background:#edf4fb;display:grid;place-items:center;font-weight:900;color:#174b86;font-size:.82rem}.v219-main-card strong{display:block;font-size:1.02rem;margin-bottom:5px}.v219-main-card small{display:block;color:#6b7d90;line-height:1.35}.v219-main-card>b{font-size:1.6rem;color:#7e9ab8}.v219-main-card em{font-style:normal;font-weight:900;background:#173f73;color:#fff;border-radius:10px;padding:7px 10px;white-space:nowrap}.v219-subscreen{margin-top:18px}.v219-back{border:0;background:none;color:#215aa8;font-weight:800;padding:0;margin-bottom:15px;cursor:pointer}.v219-subhead{padding:18px 20px;background:#f6f9fc;border-radius:16px;margin-bottom:14px}.v219-subhead h3{margin:0 0 6px;color:#102b4d}.v219-subhead p{margin:0;color:#667a90;line-height:1.45}.v219-options{display:grid;gap:10px}.v219-option{width:100%;border:1.5px solid #d9e3ee;background:#fff;border-radius:15px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer;font:inherit;color:#183653}.v219-option:hover{border-color:#7fa5cf;background:#fafdff}.v219-option strong{display:block;font-size:1rem;margin-bottom:4px}.v219-option span{display:block;color:#718196;font-size:.86rem}.v219-option>b{font-size:1.55rem;color:#7f9ab7}.v219-selected{margin-top:20px;border:1.5px solid #8bb8a0;background:#f4fbf7;border-radius:17px;padding:17px 18px;display:grid;grid-template-columns:38px 1fr auto;gap:13px;align-items:center}.v219-selected-check{width:36px;height:36px;border-radius:50%;background:#2f7a57;color:#fff;display:grid;place-items:center;font-weight:900}.v219-selected small,.v219-selected strong,.v219-selected em{display:block}.v219-selected small{color:#5c7e6b;text-transform:uppercase;font-size:.7rem;font-weight:900;letter-spacing:.06em}.v219-selected strong{color:#173b2a;margin:3px 0}.v219-selected em{font-style:normal;color:#2f7a57;font-weight:900;font-size:.84rem}@media(max-width:720px){.v219-main-grid{grid-template-columns:1fr}.v219-main-card:last-child{grid-column:auto}.v219-main-card{grid-template-columns:44px 1fr auto}.v219-main-card em{grid-column:2}.v219-selected{grid-template-columns:38px 1fr}.v219-selected .secondary{grid-column:1/-1;justify-self:start}}

/* V21.10 — visuels examens + économie pack */
.exam-badge{font-weight:900;letter-spacing:.02em}
.tef-badge{background:linear-gradient(135deg,#e8f5ff,#dcecff);color:#0b5ea8;border:1px solid #b8d9f5}
.tcf-badge{background:linear-gradient(135deg,#eef2ff,#e3e7ff);color:#3248a8;border:1px solid #c6cff8}
.ec-badge{background:linear-gradient(90deg,#edf5ff 0 33%,#fff 33% 66%,#fff0f0 66%);color:#263244;border:1px solid #d9e0ea}
.pack-badge{font-size:.78rem!important;line-height:1.05!important;background:linear-gradient(135deg,#fff7d6,#ffe9a5)!important;color:#775500!important;border:1px solid #f2d570!important}
.old-price{text-decoration:line-through;color:#8b94a3;margin-right:7px}
.saving{display:inline-flex;align-items:center;background:#e8f8ef;color:#167545;border-radius:999px;padding:2px 8px;font-weight:800;font-size:.78rem}
.pack-old-inline{text-decoration:line-through;opacity:.6;font-weight:600;margin-left:6px}
.v219-main-card.pack em{white-space:nowrap}


/* V21.13 — prix visibles au niveau du choix du produit */
.v213-option{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center}.v213-option-copy{min-width:0}.v213-price{font-weight:950;color:#163f73;font-size:1rem;white-space:nowrap;background:#eef5fd;border:1px solid #d5e4f5;border-radius:10px;padding:8px 11px;text-align:center}.v213-price.pack-price{background:#173f73;color:#fff;border-color:#173f73}.v213-price small{display:block;font-size:.64rem;font-weight:800;opacity:.78;margin-top:1px}.v213-option>b{margin-left:2px}@media(max-width:620px){.v213-option{grid-template-columns:minmax(0,1fr) auto}.v213-price{grid-column:1;justify-self:start;margin-top:5px}.v213-option>b{grid-column:2;grid-row:1 / span 2}}

/* V21.15 — classement géographique explicite des centres */
.center-card{margin:14px 0}.center-card.recommended{border-color:#8db7df;box-shadow:0 8px 22px rgba(33,90,168,.08)}
.center-kicker{font-weight:900;color:#24558b;letter-spacing:.01em}
.no-session-note{padding:14px 16px;border-radius:12px;background:#f7f9fc;border:1px dashed #cbd8e6;color:#65788d;font-size:.9rem;line-height:1.45}
.center-brand p{line-height:1.45}

/* === V21.21 — nouvelle présentation inspirée de la maquette validée === */
:root{
  --portal-blue:#0c57b7;
  --portal-navy:#10264a;
  --portal-sky:#eaf4ff;
  --portal-border:#d6e5f5;
  --portal-bg:#f5f9fd;
  --portal-green:#1a9a63;
}
body{background:linear-gradient(180deg,#f8fbff 0,#eef5fb 100%);color:var(--portal-navy)}
.topbar{background:#fff;border-bottom:1px solid #e6edf6;box-shadow:0 5px 20px rgba(19,58,102,.06);padding-top:14px;padding-bottom:14px}
.brand-logo-france{max-height:76px!important;width:auto!important;object-fit:contain!important}
.network-strip{background:#fff;border-bottom:1px solid #edf2f7}
.network-inner{gap:24px;padding-top:8px;padding-bottom:8px}
.affiliate-logo img{max-height:42px}
.container{max-width:1500px}
.hero.compact-hero{padding:32px 8px 24px;max-width:1080px;margin:0 auto 10px}
.hero.compact-hero h1{font-size:clamp(2.4rem,4vw,4.25rem);line-height:.98;letter-spacing:-.045em;color:#10264a;max-width:900px}
.hero.compact-hero p{font-size:1.05rem;max-width:820px;color:#5a6c86}
.hero .eyebrow{background:#eaf4ff;color:#124f95;border:1px solid #cfe3f8;border-radius:999px;padding:7px 13px;font-weight:800;letter-spacing:.08em}
.hero-trust{gap:22px;color:#193d69}.hero-trust span:before{content:'✓';color:#16885c;font-weight:900;margin-right:7px}
.portal-grid{display:grid;grid-template-columns:230px minmax(0,1fr) 280px;gap:18px;align-items:start;margin-bottom:28px}
.card{border:1px solid #e1eaf4;box-shadow:0 14px 40px rgba(27,71,120,.08);border-radius:20px}
.journey-sidebar{position:sticky;top:18px;padding:22px 18px;background:#fff}
.journey-sidebar h2{font-size:1.3rem;margin:0 0 20px}
.journey-steps{display:grid;gap:4px;position:relative}
.journey-step{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:center;padding:11px 8px;border-radius:14px;color:#687a93;position:relative}
.journey-step>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#edf2f7;color:#7a8ba1;font-weight:800}
.journey-step strong{display:block;font-size:.92rem;color:inherit}.journey-step small{display:block;margin-top:2px;font-size:.74rem;color:#8998aa}
.journey-step.active{background:#eaf4ff;color:#0a55b4}.journey-step.active>span{background:#0d6fd5;color:#fff;box-shadow:0 4px 12px rgba(13,111,213,.24)}
.journey-step.done{color:#0d5ea9}.journey-step.done>span{background:#1480da;color:#fff}.journey-step.done>span{font-size:0}.journey-step.done>span:after{content:'✓';font-size:15px}
.journey-help{margin-top:26px;background:#f0f7ff;border-radius:16px;padding:14px;display:grid;gap:4px}.journey-help span{font-size:.8rem;color:#60738e}
.modern-form-card{background:#fff;padding:24px;min-height:520px}
.modern-form-card>.steps{display:none}
.flow-note{border-radius:12px;background:#f4f8fc;border:1px solid #dce8f5;color:#58708d;font-size:.76rem}
.panel h2{color:#10264a;letter-spacing:-.025em}.section-intro{color:#64758d}
.context-sidebar{position:sticky;top:18px;display:grid;gap:16px}
.context-card,.provider-card{padding:20px;background:#fff}
.context-card{position:relative}.context-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#2386e4;color:#fff;font-weight:900;float:left;margin-right:10px}
.context-card h3{font-size:1.2rem;margin:2px 0 14px}.context-card p{color:#566c87;line-height:1.5}.context-points{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:11px}.context-points li{padding-left:25px;position:relative;color:#294b72;font-size:.9rem}.context-points li:before{content:'✓';position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;background:#1fa36a;color:#fff;display:grid;place-items:center;font-size:.7rem;font-weight:900}
.provider-card-label{display:block;font-weight:800;font-size:.9rem;margin-bottom:12px}.provider-logo-box{min-height:72px;border-top:1px solid #e5edf6;padding-top:12px;display:grid;place-items:center;text-align:center;gap:7px;color:#66778c;font-size:.8rem}.provider-logo-box img{max-width:190px;max-height:68px;object-fit:contain}.provider-logo-box strong{font-size:.77rem;color:#365574}
.v219-main-grid{gap:12px!important}.v219-main-card{min-height:100px!important;border-radius:16px!important;border:1px solid #d6e5f5!important;background:#fff!important;box-shadow:0 4px 14px rgba(24,72,124,.035);padding:16px!important}.v219-main-card:hover{border-color:#7eb7ef!important;box-shadow:0 10px 28px rgba(32,105,181,.12);transform:translateY(-1px)}
.v219-main-card.pack{background:linear-gradient(135deg,#fffdf7,#f7fbff)!important}
.provider-thumb{width:66px!important;height:54px!important;background:#fff!important;border:1px solid #e0e7ef!important;border-radius:12px!important;padding:5px!important;display:grid!important;place-items:center!important;overflow:hidden}.provider-thumb img{width:100%;height:100%;object-fit:contain}.provider-thumb.fei img{transform:scale(.92)}
.v219-main-card>div strong{font-size:1.02rem}.v219-main-card>div small{font-size:.79rem;line-height:1.35;color:#62758e}.v219-main-card em{background:#124b93!important;border-radius:12px!important;padding:10px 12px!important}
.center-card{background:#fff;border-radius:18px!important;border:1px solid #dbe7f4!important;box-shadow:0 6px 22px rgba(24,70,118,.045);padding:18px!important;margin-bottom:18px!important}.center-card.recommended{border-color:#6aaef0!important;box-shadow:0 10px 26px rgba(37,127,214,.10)}
.center-kicker{color:#0c579f!important;font-weight:900!important;font-size:.72rem!important;letter-spacing:.015em}.center-brand{gap:14px!important}.center-brand-logo{width:92px!important;height:54px!important;object-fit:contain!important;border:1px solid #dde7f1;border-radius:10px;background:#fff;padding:3px}.center-brand h3{font-size:1.02rem!important;color:#0d2c52!important}.center-brand p{color:#63758b!important}
.center-provider-and-count{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.provider-inline-logo{max-width:150px;max-height:52px;object-fit:contain;background:#fff;border-radius:9px}.sessions-count{background:#eef6ff!important;color:#123f73!important}
.session-option{border-radius:14px!important;border-color:#d8e4f0!important;padding:14px 12px!important;background:#fff!important}.session-option:hover{border-color:#74afe8!important;background:#f9fcff!important}.session-option.selected{border-color:#0d6fd5!important;background:#f0f7ff!important;box-shadow:0 0 0 2px rgba(13,111,213,.09)}.radio-dot{border-color:#98b0c7!important}.session-option.selected .radio-dot{border-color:#0d6fd5!important;box-shadow:inset 0 0 0 4px #fff;background:#0d6fd5!important}.session-option-main strong{color:#0c2d54!important}.session-option-main span{color:#6a7c92!important}.session-price{color:#084d9c!important;font-weight:900!important}
.field-grid label,.address-section label{color:#18324f}input,select,textarea{border-radius:12px!important;border-color:#cbdbea!important;min-height:44px}input:focus,select:focus,textarea:focus{border-color:#318ae0!important;box-shadow:0 0 0 3px rgba(49,138,224,.10)!important}
.primary{border-radius:12px!important;background:linear-gradient(180deg,#1265c2,#0d52a0)!important;box-shadow:0 7px 18px rgba(13,82,160,.20)!important}.secondary{border-radius:12px!important}
#nationalitySelect{background:#fff;cursor:pointer}
@media(max-width:1180px){.portal-grid{grid-template-columns:190px minmax(0,1fr)}.context-sidebar{display:none}}
@media(max-width:820px){.portal-grid{display:block}.journey-sidebar{position:static;margin-bottom:14px}.journey-sidebar h2,.journey-help{display:none}.journey-steps{grid-template-columns:repeat(5,1fr);gap:4px}.journey-step{display:flex;justify-content:center;padding:5px}.journey-step>div{display:none}.modern-form-card{padding:17px}.hero.compact-hero h1{font-size:2.4rem}.provider-inline-logo{max-width:105px}.center-provider-and-count{justify-content:flex-start}}


/* V21.26 — choix de session condensé après sélection */
.session-choice-condensed .center-card:not(.chosen-center-card){display:none!important}
.session-choice-condensed .chosen-center-card .session-option:not(.chosen-session-option){display:none!important}
.session-choice-condensed .chosen-center-card{margin-bottom:8px!important}
.session-choice-condensed .chosen-center-card .center-session-list{display:grid;gap:8px}
.provider-prereg{scroll-margin-top:24px}
.change-session-choice{display:inline-flex;align-items:center;justify-content:center;margin:4px 0 12px auto;min-height:38px;padding:8px 14px;font-size:.82rem}
.chosen-center-card .provider-prereg{margin-top:14px;border-top:1px solid #e2ebf5;padding-top:14px}
.chosen-center-card .prereg-question,.chosen-center-card .prereg-info{box-shadow:0 8px 24px rgba(18,79,149,.08)}

/* V21.27 — état de paiement : un seul indicateur radio, carte entière cliquable */
.payment-status-card{grid-template-columns:auto 1fr!important;gap:12px!important}
.payment-status-card input[type="radio"]{appearance:none;-webkit-appearance:none;width:20px!important;height:20px!important;border:2px solid #9fb4cf;border-radius:50%;background:#fff;display:grid;place-content:center;flex:0 0 20px;cursor:pointer}
.payment-status-card input[type="radio"]::before{content:"";width:10px;height:10px;border-radius:50%;transform:scale(0);transition:transform .12s ease;background:#1c63b7}
.payment-status-card input[type="radio"]:checked{border-color:#1c63b7}
.payment-status-card input[type="radio"]:checked::before{transform:scale(1)}
.payment-status-card:has(input:checked){border-color:#1c63b7!important;background:#eef6ff!important;box-shadow:0 0 0 2px rgba(28,99,183,.08)!important}
.payment-status-icon{display:none!important}

/* V21.28 — alignement des pastilles de présélection */
.v219-main-grid{
  gap:16px;
}
.v219-main-card{
  min-height:102px;
  padding:16px 18px;
  grid-template-columns:58px minmax(0,1fr) 30px;
  column-gap:14px;
  align-items:center;
}
.v219-main-card.pack{
  grid-template-columns:58px minmax(0,1fr) auto 30px;
}
.v219-main-card .v219-icon.provider-thumb{
  width:58px;
  height:58px;
  min-width:58px;
  border-radius:14px;
  padding:5px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid #dce7f2;
}
.v219-main-card .v219-icon.provider-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.v219-main-card > div{
  min-width:0;
  align-self:center;
}
.v219-main-card strong{
  margin:0 0 5px;
  line-height:1.2;
  font-size:1.01rem;
}
.v219-main-card small{
  margin:0;
  line-height:1.35;
}
.v219-main-card > b{
  grid-column:3;
  justify-self:end;
  align-self:center;
  margin:0;
  line-height:1;
}
.v219-main-card.pack > em{
  grid-column:3;
  justify-self:end;
  align-self:center;
  margin:0;
}
.v219-main-card.pack > b{
  grid-column:4;
  justify-self:end;
  align-self:center;
  margin:0;
}
.v219-main-card.pack .old-price,
.v219-main-card.pack .saving{
  display:inline-block;
  vertical-align:middle;
}
.v219-main-card.pack .saving{
  margin-left:6px;
}

@media(max-width:720px){
  .v219-main-card,
  .v219-main-card.pack{
    grid-template-columns:54px minmax(0,1fr) 28px;
  }
  .v219-main-card.pack > em{
    grid-column:2;
    grid-row:2;
    justify-self:start;
    margin-top:8px;
  }
  .v219-main-card.pack > b{
    grid-column:3;
    grid-row:1 / span 2;
  }
}

/* V21.30 — paiement : mise en page stabilisée + validation finale */
.payment-deadline-prominent{
  min-width:260px;
  padding:14px 18px!important;
  border:1px solid #f0b54b!important;
  background:#fff8e8!important;
  border-radius:14px!important;
  text-align:left!important;
  box-shadow:0 6px 16px rgba(116,74,0,.06);
}
.payment-deadline-prominent span{display:block;font-size:.72rem;font-weight:900;letter-spacing:.05em;color:#9a5b00;text-transform:uppercase;margin-bottom:3px}
.payment-deadline-prominent strong{display:block;font-size:1.08rem;color:#6e3f00;line-height:1.25;text-transform:none;margin-bottom:3px}
.payment-deadline-prominent small{display:block;color:#7a6443;font-size:.78rem}
.payment-status-choice{
  border:0!important;
  padding:0!important;
  margin:18px 0 0!important;
  background:transparent!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.payment-status-choice legend{
  grid-column:1/-1;
  width:100%;
  padding:0 0 8px!important;
  margin:0!important;
  font-weight:900;
  color:#102746;
}
.payment-status-card{
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  min-height:82px;
  margin:0!important;
  padding:14px 16px!important;
  border:1px solid #cbd9eb!important;
  border-radius:14px!important;
  background:#fff!important;
  cursor:pointer!important;
  box-sizing:border-box;
}
.payment-status-card:hover{border-color:#4c87cf!important;background:#f8fbff!important}
.payment-status-card input[type="radio"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  margin:0!important;
  padding:0!important;
  border:2px solid #9fb4cf!important;
  border-radius:50%!important;
  background:#fff!important;
  display:grid!important;
  place-content:center!important;
  box-shadow:none!important;
}
.payment-status-card input[type="radio"]::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:50%;
  transform:scale(0);
  transition:transform .12s ease;
  background:#1c63b7;
}
.payment-status-card input[type="radio"]:checked{border-color:#1c63b7!important}
.payment-status-card input[type="radio"]:checked::before{transform:scale(1)}
.payment-status-card:has(input:checked){border-color:#1c63b7!important;background:#eef6ff!important;box-shadow:0 0 0 2px rgba(28,99,183,.08)!important}
.payment-status-card>span{display:block;min-width:0}
.payment-status-card b{display:block;font-size:.95rem;line-height:1.25;color:#102746;margin-bottom:4px}
.payment-status-card small{display:block;font-size:.78rem;line-height:1.35;color:#60708d}
.prereg-finalize{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #dbe5f0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  flex-wrap:wrap;
}
.prereg-finalize small{color:#60708d;max-width:520px}
.prereg-finalize-btn{min-width:230px;padding:13px 20px!important;font-weight:900!important}
.prereg-finalize-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none!important}
.final-confirmation-box{padding:22px;border:1px solid #a9dec2;background:#effaf4;border-radius:16px;color:#0b5e35}
.final-confirmation-box strong{display:block;font-size:1.15rem;margin-bottom:8px}
.final-confirmation-box p{margin:0;color:#315b48}
@media(max-width:760px){
  .payment-status-choice{grid-template-columns:1fr}
  .payment-deadline-prominent{min-width:0;width:100%;margin-top:12px}
  .prereg-finalize{align-items:stretch;flex-direction:column-reverse}
  .prereg-finalize-btn{width:100%}
}

/* V21.33 — Préparations par organisme */
.prep-section{margin:0 0 22px;padding:22px;border:1px solid #d8e6f1;border-radius:18px;background:#f9fcff}.prep-title h2{margin:4px 0 6px}.prep-title p{margin:0 0 16px;color:#64748b}.prep-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.prep-offer{display:grid!important;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;align-items:center;padding:14px;border:1.5px solid #d7e2ec;border-radius:14px;background:#fff;cursor:pointer}.prep-offer.selected,.prep-offer:has(input:checked){border-color:#176bb0;background:#eef7ff}.prep-offer input[type=radio]{width:18px!important;height:18px!important;min-height:18px!important;padding:0!important;margin:0!important}.prep-offer span b,.prep-offer span small,.prep-offer span em{display:block}.prep-offer span small{color:#64748b;margin-top:3px}.prep-offer span em{color:#176bb0;font-style:normal;font-size:11px;font-weight:800;margin-top:5px}.prep-offer>strong{white-space:nowrap;color:#123e63}.prep-availability{margin-top:14px;padding:16px;border-radius:14px;background:#fff7e8;border:1px solid #f2d59b}.prep-availability p{font-size:13px;line-height:1.5}.prep-days,.prep-periods{display:flex;flex-wrap:wrap;gap:8px;margin:9px 0}.prep-days label,.prep-periods label{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #e5d6b8;border-radius:999px;padding:7px 10px;font-size:12px}.prep-days input,.prep-periods input{min-height:0!important;width:16px!important;height:16px!important}.prep-other{display:block;margin-top:10px;font-size:12px;font-weight:700}.prep-other textarea{display:block;width:100%;margin-top:5px}.cpf-box{margin-top:12px;padding:14px;border:1px solid #cde3d4;background:#f0faf3;border-radius:12px}.cpf-box p{margin:5px 0 10px;font-size:13px}@media(max-width:700px){.prep-offers{grid-template-columns:1fr}}

/* V21.40 — disponibilités préparation individuelle */
.individual-prep-avail{margin-top:14px;padding:16px;border:1px solid #d8e6f1;border-radius:14px;background:#f8fbfe}.individual-prep-avail>strong{display:block;margin-bottom:4px}.individual-avail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.individual-avail-day{padding:12px;border:1px solid #d7e2ec;border-radius:12px;background:#fff}.individual-avail-day>b{display:block;margin-bottom:8px;color:#123e63}.individual-avail-day label{display:flex;align-items:center;gap:7px;padding:5px 0;font-size:13px;cursor:pointer}.individual-avail-day input{width:17px!important;height:17px!important;min-height:0!important;margin:0!important;padding:0!important}@media(max-width:700px){.individual-avail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.final-consent{margin-top:22px!important;padding:22px 24px!important;border:3px solid #b8d8ff!important;border-radius:18px!important;background:#f2f8ff!important;align-items:center!important;gap:18px!important;font-size:1.18rem!important;font-weight:900!important;color:#0b3a78!important;line-height:1.45!important}.final-consent input{width:30px!important;height:30px!important;min-width:30px!important;margin:0!important}

/* V21.48 — cartes modules TCF/TEF plus lisibles */
.module-grid-rich{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}.module-grid-rich .module-choice{display:flex;align-items:center;gap:14px;min-height:88px;padding:16px 18px;cursor:pointer;transition:.18s ease;border:1px solid #cfddeb;border-radius:16px}.module-grid-rich .module-choice:hover{border-color:#1786c9;box-shadow:0 5px 18px rgba(18,49,77,.08);transform:translateY(-1px)}.module-grid-rich .module-choice input{width:22px;height:22px;flex:0 0 auto;accent-color:#0b78b5}.module-copy{display:flex;flex-direction:column;gap:5px}.module-copy strong{font-size:1rem;color:#12314d}.module-copy small{font-size:.86rem;line-height:1.35;color:#687f94;font-weight:500}.module-grid-rich .module-choice:has(input:checked){border:2px solid #0b78b5;background:#eef8fd;box-shadow:0 5px 18px rgba(11,120,181,.1)}

/* V21.50 — lisibilité sessions, modules et aide numéro étranger */
.session-toggle{width:calc(100% - 28px);margin:10px 14px 14px;padding:12px 16px;border:1px solid #c8dcef;border-radius:12px;background:#f4f8fc;color:#123f73;font-weight:800;cursor:pointer;text-align:center}.session-toggle:hover{background:#eaf4fb}.session-toggle span{margin-left:8px}.center-session-list.hidden{display:none!important}.module-grid-rich{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.module-grid-rich .module-choice{display:flex;align-items:flex-start;gap:12px;min-height:100px;padding:16px}.module-copy{display:flex;flex-direction:column;gap:7px}.module-copy strong{font-size:1rem;color:#173f70}.module-copy small{font-weight:500;line-height:1.45;color:#62758c}.module-choice input{margin-top:3px;width:20px;height:20px}.residence-example{border-radius:12px;overflow:hidden;border:1px solid #c8d4e2;background:white}.residence-example img{display:block;width:100%;height:auto;object-fit:contain}

/* V21.51 validation */
.field-error{outline:2px solid #dc2626!important;background:#fff7f7!important}.validation-error{color:#b91c1c;font-size:12px;font-weight:700;margin-top:5px}

.journey-help-link{display:inline-flex;margin-top:8px;font-weight:800;color:#0b67b2;text-decoration:none}.journey-help-link:hover{text-decoration:underline}

/* V21.58 — parcours de préparation, identité et paiement */
.prep-date-select { margin: 14px 0 12px; padding: 15px; border: 1px solid #b9d7ec; border-radius: 12px; background: #f6fbff; }
.prep-date-select label { display: block; margin: 0; }
.prep-date-select strong { display: block; color:#153f63; margin-bottom:8px; }
.prep-date-select select { width:100%; min-height:44px; padding:10px; border-radius:9px; border:1px solid #afc8df; background:white; }
.prep-date-select .field-help { line-height:1.4; margin:7px 0 0; }
.stripe-identity-warning { margin:16px 0; padding:16px; border:2px solid #dc2626; border-radius:12px; background:#fff1f2; color:#7f1d1d; }
.stripe-identity-warning strong { color:#991b1b; font-weight:800; }
.stripe-identity-warning p { margin:8px 0 0; line-height:1.5; }
.stripe-identity-consent { display:flex; align-items:flex-start; gap:10px; padding:8px 0 16px; font-weight:600; }
.stripe-identity-consent input { width:20px;height:20px;flex:none; }
.stripe-payment-link[aria-disabled="true"] { opacity:.5; cursor:not-allowed; }
.identity-dynamic-visual img { display:block; width:100%; max-width:800px; height:auto; margin:auto; object-fit:contain; }

.session-continue-help { display:block; font-size:12px; color:#39546c; align-self:center; max-width:270px; }

/* V21.59 — calendrier multi-séances de préparation */
.prep-dates-selection{margin:14px 0 16px;padding:16px;border-radius:14px;border:1px solid #bbd9eb;background:#f6fbff}
.prep-dates-intro strong{font-size:1rem;color:#113d62}.prep-dates-intro p{margin:8px 0;line-height:1.5;color:#385775}
.prep-hours-meter{padding:11px 12px;background:white;border:1px solid #c7ddec;border-radius:10px;margin:13px 0}
.prep-hours-status{display:block;color:#235273;margin-bottom:9px}.prep-hours-status.complete{color:#16744c}
.prep-hours-progress{height:10px;background:#dae9f3;border-radius:10px;overflow:hidden}.prep-hours-progress-fill{display:block;height:100%;width:0;background:linear-gradient(90deg,#0f76b5,#19a77e);transition:width .2s ease}
.prep-session-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:9px;max-height:320px;overflow-y:auto;padding:2px 4px 3px 2px}
.prep-session-tile{display:flex!important;gap:10px;align-items:center;border-radius:10px;padding:10px!important;border:1px solid #cddde9;background:white;cursor:pointer;margin:0!important;min-height:65px}
.prep-session-tile input{width:19px;height:19px;accent-color:#0a71a8;flex:none}.prep-session-tile>span{min-width:0;flex:1}.prep-session-tile b{display:block;color:#173f70;font-size:13px}.prep-session-tile small{display:block;color:#496784;padding-top:4px}.prep-session-tile>strong{font-size:12px;color:#0b6da5;white-space:nowrap}
.prep-session-tile:has(input:checked){border:2px solid #0d80b6;background:#e8f6ff}.prep-hours-warning{color:#9f2d15;background:#fff1e9;border:1px solid #efbd9a;padding:10px;margin:7px 0;border-radius:8px;font-size:12px;font-weight:bold}
.identity-dynamic-visual img{max-width:900px;max-height:410px;object-fit:contain;border-radius:10px}
@media(max-width:700px){.prep-session-grid{grid-template-columns:1fr;max-height:280px}.prep-dates-selection{padding:11px}}

/* V21.60 — sélecteur de durée dans chaque créneau du vendredi */
.prep-session-tile{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:8px;min-height:116px}
.prep-session-primary{display:flex;align-items:center;gap:10px;cursor:pointer;margin:0!important;padding:0!important;width:100%}
.prep-session-primary input{flex:none}
.prep-session-primary>span{flex:1;min-width:0}
.prep-session-duration-label{display:flex;flex-direction:column;align-items:stretch;gap:5px;font-size:11px;color:#385775;font-weight:600;margin:2px 0 0!important}
.prep-session-duration{display:block;width:100%;border:1px solid #bacfe0;background:white;border-radius:7px;padding:6px 8px;color:#173f70;font-weight:600;font-size:12px;cursor:pointer}
.prep-session-duration:focus-visible{outline:2px solid #0d80b6;outline-offset:2px}
.prep-session-tile:has(.prep-session-slot:checked){border:2px solid #0d80b6;background:#e8f6ff}

/* V21.61 — préinscription CCI visible à l'endroit où le candidat choisit ses séances */
.prep-followup > .provider-prereg{margin:18px 0 4px;border:2px solid #80b7d7;border-radius:14px;background:#eef7ff;padding:18px}
.prep-inline-next{margin:18px 0 0;padding:14px 16px;border:1px solid #d4e4ef;background:#f6fbff;border-radius:14px;display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.prep-inline-next .primary{width:auto;max-width:100%;font-size:1rem}
.prep-inline-help{margin:0;font-size:.93rem;color:#365a74;font-weight:600;line-height:1.45}
button.is-waiting{opacity:1;cursor:pointer}
.validation-attention{outline:3px solid #ed9a38;outline-offset:4px;scroll-margin-top:90px}
@media(max-width:700px){.prep-inline-next .primary{width:100%}.prep-followup > .provider-prereg{padding:12px}}

/* V21.63 — choix explicite de financement, sans assimilation CPF à un règlement */
.payment-status-choice[hidden]{display:none!important}
.cpf-payment-choice{border-color:#a6d9cf;background:#f5fbf9}
.cpf-payment-detail{background:#f4faf7;border:1px solid #c7e9d9;border-radius:16px;padding:17px;margin-top:16px}
.cpf-explanatory{background:#fff8e5;border:1px solid #e9d89a;padding:12px;border-radius:9px}
.cpf-declaration{border:1px solid #d0e5dd;margin-top:18px;padding:14px;border-radius:12px}
.cpf-declaration label{display:flex;gap:10px;align-items:flex-start;margin-top:10px;line-height:1.5;cursor:pointer}
.cpf-declaration input[type=radio]{width:18px;min-width:18px;height:18px;min-height:18px}
.cpf-payment-detail .button-link{margin-top:5px}

/* V21.67 — paiement et validation réunis sur le dernier écran */
.payment-step-heading{display:flex;align-items:center;gap:12px;margin:30px 0 13px;border-top:1px solid #dae6f0;padding-top:25px;color:#10365a}
.payment-step-heading h3{font-size:1.13rem;margin:0;line-height:1.4}
.payment-step-number{display:inline-flex;width:32px;height:32px;border-radius:50%;align-items:center;justify-content:center;background:#e7f4f1;color:#117a6b;font-weight:800;flex-shrink:0}
[data-panel="5"] #paymentBox{margin:0 0 23px}
[data-panel="5"] #paymentBox .payment-ready{padding:20px;border:1px solid #cbdfee;border-radius:18px;background:#f8fbff}
[data-panel="5"] #paymentBox .payment-header{margin-bottom:16px}
[data-panel="5"] .final-consent{margin:22px 0 14px}
[data-panel="5"] #preregFinalizeHelp{margin:12px 0 0;text-align:right}
[data-panel="5"] .payment-status-choice[hidden]{display:none!important}
[data-panel="5"] .payment-method-detail{margin-top:18px}
[data-panel="5"] .actions button.primary[disabled]{opacity:.55;cursor:not-allowed}
@media(max-width:680px){.payment-step-heading{margin-top:22px}.payment-step-heading h3{font-size:1rem}[data-panel="5"] #paymentBox .payment-ready{padding:14px}}

/* V21.92 — no prices until centre selection; preserve readable cards on all screens */
.v219-main-card.pack {grid-template-columns:58px minmax(0,1fr) 30px!important;}
.v219-main-card.pack > b {grid-column:3!important;grid-row:auto!important;}
.v219-main-card > div {min-width:0!important;overflow-wrap:break-word;}
.v219-main-card strong {white-space:normal;line-height:1.3;}
.v219-selected {grid-template-columns:38px minmax(0,1fr) auto;}
@media(max-width:720px){
 .v219-main-card.pack {grid-template-columns:54px minmax(0,1fr) 28px!important;}
 .v219-main-card.pack > b {grid-column:3!important;grid-row:1!important;}
}

/* V21.93: urgent request is deliberately separate from booking and payment */
.urgent-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.urgent-contact-grid label,.urgent-card label.full-width{display:flex;flex-direction:column;gap:5px;font-weight:600}
.urgent-contact-grid input,.urgent-card select,.urgent-card textarea{max-width:100%;width:100%;box-sizing:border-box;font:inherit;padding:11px;border-radius:9px;border:1px solid #cbd5e1;background:white;color:#102443}
.urgent-consent{display:flex!important;align-items:flex-start;gap:8px;margin:14px 0;font-size:.92rem;line-height:1.4}
.urgent-consent input{width:auto;flex:0 0 auto;margin-top:3px}
@media(max-width:720px){.urgent-contact-grid{grid-template-columns:1fr}}

.urgent-request-button{padding:12px 18px;border:0;border-radius:10px;background:#1261af;color:white;font:inherit;font-weight:700;cursor:pointer}
.urgent-request-button:hover{background:#0b4987}
