:root{color-scheme:only light!important;--navy:#173462;--navyd:#112749;--red:#ae183a;--text:#253853;--muted:#718098;--line:#dee5f0;--bg:#f5f7fb;--white:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{background:var(--bg);color-scheme:only light!important}body{margin:0;color:var(--text);font-size:14px;line-height:1.5;background:var(--bg)}button,input,select,textarea{font:inherit;color:var(--text);color-scheme:light!important}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}[hidden]{display:none!important}.top{background:#fff;border-bottom:1px solid #e3e8f1}.top-content{max-width:1160px;margin:auto;min-height:79px;padding:8px 20px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:14px}.brand img{height:58px;width:55px;object-fit:contain}.brand strong{color:var(--navyd);font-size:23px;letter-spacing:-.9px}.accent{color:var(--red)}.micro{font-size:9px;letter-spacing:1.6px;font-weight:850;color:#8a95a7}.top-pill{border-radius:30px;background:#f7edf0;color:#9c2749;font-weight:800;font-size:11px;padding:8px 15px;letter-spacing:.5px}.shell{max-width:1160px;margin:0 auto;padding:33px 20px 22px}.intro{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:26px}.eyebrow{font-size:11px;font-weight:850;color:var(--red);letter-spacing:1.4px}.intro h1{color:var(--navyd);font-size:38px;letter-spacing:-1.2px;margin:6px 0}.intro p{margin:0;color:var(--muted);font-size:14px}.demo-tag{font-size:10px;font-weight:800;padding:9px 12px;border:1px solid #f3dcaa;border-radius:40px;background:#fff8e8;color:#a07629;white-space:nowrap}.layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:26px;align-items:start}.sidebar{padding-top:17px}.side-head{font-size:11px;color:#8492a9;font-weight:850;letter-spacing:1.5px;padding:0 10px 12px}.side-step{display:flex;gap:12px;align-items:center;padding:14px 10px;margin-bottom:4px;color:#8792a4;border-radius:12px}.side-step.current{background:#fff;box-shadow:0 2px 10px #1d38600c;color:var(--navy)}.side-step.done{color:#1f8b6e}.side-step>span{width:34px;height:34px;flex:none;border:1px solid #d8dfeb;border-radius:50%;display:grid;place-items:center;font-weight:850;background:#fff}.side-step.current>span{background:var(--navy);color:white;border-color:var(--navy)}.side-step.done>span{background:#def8eb;border-color:#c5edd6;color:#1d8a68}.side-step b{font-size:13px}.side-step small{display:block;font-size:11px;margin-top:2px}.side-info{border-radius:12px;padding:17px;background:#e9f0fa;color:#60728d;margin-top:22px;font-size:12px}.side-info b{color:var(--navy)}.side-info p{margin:4px 0 0}.form{background:white;border-radius:17px;box-shadow:0 7px 28px #0b23430d;border:1px solid #e6ebf3;overflow:hidden;min-width:0}.bar{height:4px;background:#edf1f7}.bar span{display:block;height:100%;width:25%;background:linear-gradient(90deg,var(--navy),var(--red));transition:width .2s}.pane{padding:32px 38px}.step-tag{font-size:11px;letter-spacing:1.3px;font-weight:900;color:var(--red)}.pane h2{color:var(--navyd);font-size:26px;letter-spacing:-.7px;margin:6px 0 6px}.sub{color:var(--muted);margin:0 0 24px}.section-title{color:var(--navy);font-size:15px;margin:19px 0 15px;border-bottom:1px solid var(--line);padding-bottom:8px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px;margin-bottom:15px}.field{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12px;font-weight:750;color:#40506b}.field.full{grid-column:1/-1}.field em,.cert em{color:var(--red);font-style:normal}.field input,.field textarea,.field select{background:#fff;width:100%;border:1px solid #d6deeb;border-radius:9px;padding:11px 12px;font-weight:400;outline:0;min-width:0}.field input:focus,.field textarea:focus,.field select:focus{border-color:#6381b3;box-shadow:0 0 0 3px #e9eefa}.field small{color:#7c8798;font-size:11px;font-weight:400}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#a5afc0}.field .invalid{border-color:#c62a4b;box-shadow:0 0 0 2px #fde6eb}.money{display:flex;align-items:center;position:relative}.money input{padding-right:48px}.money>span{position:absolute;right:12px;color:#7d889a;font-weight:750;font-size:12px}.details{border:1px solid var(--line);border-radius:10px;margin:17px 0 21px;overflow:hidden}.details summary{font-size:13px;font-weight:750;color:#3a557b;padding:14px 17px;cursor:pointer;user-select:none}.details summary span{color:#8a95a5;font-weight:400;margin-left:8px;font-size:11px}.details[open] summary{border-bottom:1px solid var(--line)}.inner{margin:0;padding:17px}.toggle{margin:15px 0;background:#f5f8fd;border:1px solid #dce5f3;display:flex;gap:12px;align-items:center;padding:16px;border-radius:11px}.toggle input,.choice input,.cert input{width:19px;height:19px;accent-color:var(--navy);flex:none}.toggle small,.choice small{display:block;color:#7e8a9a;margin-top:2px}.options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:23px}.choice{border:1px solid #dae2ee;border-radius:11px;padding:14px;display:flex;gap:11px;align-items:center;cursor:pointer}.choice:has(input:checked){background:#f2f6fd;border-color:#7896c0}.info{background:#f1f5fc;border-left:3px solid #7896c0;padding:13px 16px;border-radius:5px;color:#5a6980;font-size:12px}.calculation{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#eff5fb;border:1px solid #d7e3f1;border-radius:11px;padding:16px 18px;margin:16px 0 26px}.calculation small{color:#6e7f97}.calculation strong{display:block;font-size:25px;color:var(--navy)}.calculation p{font-size:11px;color:#6c7c91;max-width:270px;margin:0}.recap{border:1px solid #dae3ef;border-radius:12px;overflow:hidden}.recap-block{padding:15px 18px;border-bottom:1px solid #e2e9f2}.recap-block:last-child{border:0}.recap-block h3{font-size:12px;color:var(--red);letter-spacing:.7px;margin:0 0 7px}.recap-block p{margin:0;color:#3e5270;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.cert{display:flex;align-items:flex-start;gap:13px;margin:22px 0 15px;border:1px solid #cfdcea;border-radius:10px;padding:17px;background:#f8faff;font-size:13px;cursor:pointer}.warning{padding:14px 16px;color:#765c21;background:#fff8e5;border:1px solid #f1dfac;border-radius:9px;font-size:12px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.btn{border:0;border-radius:9px;padding:12px 18px;font-weight:800;min-height:43px}.primary,.next{color:#fff;background:var(--navy)}.outline{background:#fff;color:var(--navy);border:1px solid #bbcbe0}.back{background:#f3f6fa;color:#4c607d}.foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:19px 38px;gap:10px}.foot>span{font-size:12px;color:#8290a5}.notice{margin:0 38px 20px;padding:12px;border-radius:9px;background:#fff1f3;color:#ac2749;font-size:12px}.action-note{font-size:11px;color:#8090a4;text-align:center}.bottom-note{font-size:11px;color:#8b98aa;text-align:center;padding:20px}.address-field{position:relative}.suggestions{position:absolute;left:0;right:0;top:calc(100% - 16px);background:white;z-index:15;box-shadow:0 9px 22px #1e34542a;border:1px solid #ccd7e6;border-radius:10px;overflow:auto;max-height:230px}.suggestions button{display:block;width:100%;border:0;border-bottom:1px solid #eef1f7;background:white;text-align:left;padding:12px 14px;font-size:12px}.suggestions button:hover,.suggestions button:focus{background:#f1f6fb}.print-area{display:none}
@media(max-width:760px){.top-content{min-height:68px}.top-pill{font-size:9px}.brand img{height:50px;width:45px}.brand strong{font-size:20px}.intro{display:block}.intro h1{font-size:30px}.demo-tag{display:inline-block;margin-top:13px}.layout{display:block}.sidebar{display:flex;overflow-x:auto;gap:6px;padding:0 0 16px}.side-head,.side-info,.side-step small{display:none}.side-step{flex:1 0 auto;padding:8px 9px;gap:6px;white-space:nowrap}.side-step>span{width:27px;height:27px}.side-step b{font-size:10px}.pane{padding:25px 19px}.pane h2{font-size:23px}.fields,.options,.actions{grid-template-columns:1fr}.field.full{grid-column:1}.foot{padding:16px 19px}.foot .btn{padding:10px}.calculation{display:block}.calculation p{max-width:none;margin-top:8px}}
@page{size:A4 portrait;margin:10mm 12mm}
@media print{
:root,html,body{background:#fff!important;color:#22354f!important;color-scheme:light!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body{font-size:10pt}.no-print{display:none!important}.print-area{display:block!important}.sheet{height:276mm;position:relative;break-after:page;page-break-after:always;overflow:hidden}.sheet:last-child{break-after:auto;page-break-after:auto}.paper-header{height:31mm;display:flex;justify-content:space-between;align-items:center;gap:10mm;border-bottom:2px solid #173462;padding-bottom:4mm;margin-bottom:4mm}.paper-header img{width:23mm;height:25mm;object-fit:contain}.paper-header>div{text-align:right}.paper-header h1{font-size:17pt;margin:1mm 0;color:#173462;letter-spacing:.2px}.paper-header small{font-size:8pt;color:#6d7a8f}.paper-over{font-size:7pt;letter-spacing:1.1px;font-weight:bold;color:#ad2242}.paper-header.smallhead{height:25mm;margin-bottom:5mm}.smallhead img{height:23mm;width:23mm}.agency-print{display:flex;flex-direction:column;border:1px solid #dbe4f0;border-radius:3mm;padding:3mm 4mm;margin-bottom:5mm;gap:.7mm;font-size:8pt}.agency-print b{color:#173462;font-size:9pt}.agency-print span{color:#596b83}.paper-box{border:1px solid #d8e1ef;border-radius:3mm;padding:4mm 4.5mm;margin:0 0 5mm;break-inside:avoid;page-break-inside:avoid;overflow-wrap:anywhere}.paper-box h2{color:#183869;letter-spacing:.6px;font-size:9.5pt;margin:0 0 3mm;padding-bottom:1.5mm;border-bottom:1px solid #dce5f0}.paper-box.focus{border-color:#b8cbe0;background:#f7f9fd}.paper-box.declaration p{font-size:8.5pt;line-height:1.35;margin:2mm 0}.print-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5mm 7mm}.print-row{min-width:0;white-space:normal;overflow-wrap:anywhere}.print-row.wide{grid-column:span 2}.print-row small{display:block;color:#78889e;font-size:7pt}.print-row strong{font-size:8.8pt;color:#273e5f;font-weight:750}.print-buyers{display:grid;grid-template-columns:1fr 1fr;gap:4mm}.print-buyer{font-size:8.5pt}.print-buyer small{display:block;color:#7a899d;font-size:7pt}.print-buyer b{color:#1c3969}.print-buyer p{margin:1mm 0;line-height:1.3}.paper-note{color:#718096;font-size:7.8pt;margin:4mm}.paper-footer{position:absolute;bottom:0;left:0;right:0;font-size:7.5pt;color:#92a0b1;border-top:1px solid #e0e7f0;padding-top:2mm;display:flex;justify-content:space-between}.paper-footer::after{content:'ERA Immobilier'}
}

/* V1.2 — explication accessible, sans surcharger l'écran */
.fee-details{padding:10px 17px 14px}
.fee-line{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e9edf5;color:#516581;font-size:12px}
.fee-line strong{white-space:nowrap;color:#173462}
.fee-caveat{font-size:11px;line-height:1.5;color:#718096;margin:12px 0 0}
.print-fees-note{display:none}
@media print{.print-fees-note{display:block;font-size:7pt;line-height:1.25;color:#657890;margin:3mm 0 0}.print-grid{row-gap:2mm}.paper-box{margin-bottom:4mm}}

/* V1.3 : informations d’état civil visibles et vérification du financement */
.fixed-details-heading{font-size:13px;font-weight:800;color:#3a557b;padding:14px 17px;border-bottom:1px solid var(--line);background:#f7f9fd}
.fixed-details-heading span{margin-left:8px;font-size:11px;font-weight:600;color:#7a889c}
.calculation{align-items:stretch;gap:24px}
.calc-primary{flex:1 1 43%;min-width:0}
.calc-primary p{margin:5px 0 0;font-size:11px;line-height:1.5;color:#61748d}
.calc-coverage{flex:1 1 57%;border-left:1px solid #d6e1ee;padding-left:23px;min-width:0}
.calc-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;font-size:12px}
.calc-line span{color:#60718b}
.calc-line b{white-space:nowrap;color:#233d64;font-size:13px}
.coverage-status{max-width:none!important;margin:13px 0 0!important;line-height:1.45;font-size:11px!important;color:#596f89!important}
.coverage-status.good{color:#167050!important}
.coverage-status.bad{color:#b02e47!important;font-weight:700}
@media(max-width:880px){.calculation{display:block}.calc-coverage{border-left:0;border-top:1px solid #d6e1ee;padding:14px 0 0;margin-top:14px}}

/* V1.4 : renseignements complémentaires pour le compromis */
.family-group{background:#f8faff;border-top:1px solid #e0e7f1;padding:0;margin:0 0 2px}
.family-group h4{font-size:12px;color:#23456f;margin:12px 17px 0}
.family-group .fields.inner{padding-top:10px}.fixed-details .family-group .fields{margin-bottom:0}
@media print{
 .annex-sheet .paper-header{height:24mm;margin-bottom:3mm}
 .annex-sheet .paper-box{padding:3mm 4mm;margin-bottom:4mm}
 .annex-sheet .print-grid{row-gap:1.6mm}
 .annex-buyer{border-bottom:1px solid #e2e9f1;padding-bottom:3mm;margin-bottom:3mm}
 .annex-buyer:last-child{border-bottom:0;margin-bottom:0}
 .annex-buyer h3{font-size:8.8pt;margin:1mm 0 2mm;color:#173462}
 .annex-buyer .print-grid{grid-template-columns:1fr 1fr;gap:1mm 5mm}
 .annex-buyer .print-row strong{font-size:8pt}
 .annex-buyer .print-row small{font-size:6.8pt}
}

.print-option{margin:20px 0 0}.print-option select{max-width:100%}
@media print{body.print-offer-only .annex-sheet{display:none!important} body.print-offer-only .sheet:nth-of-type(2){break-after:auto;page-break-after:auto}}

/* V1.5 — information sur la confidentialité (jamais imprimée sur les pages vendeur) */
.privacy-banner{display:flex;gap:13px;padding:16px 17px;margin:0 0 23px;background:#f1f7fc;border:1px solid #cfdfeb;border-left:4px solid #226f91;border-radius:10px;color:#2f4c65;line-height:1.55}
.privacy-banner strong{font-size:13px;color:#173e61}
.privacy-banner p{font-size:12px;margin:6px 0 0;font-weight:400}
.privacy-icon{flex:none;font-size:18px;line-height:1.2}
.privacy-more{margin:10px 0 0;font-size:12px;border-top:1px solid #d9e6f1;padding:9px 0 0}
.privacy-more summary{cursor:pointer;font-weight:800;color:#1b5577}
.privacy-more a{color:#124f7f;text-decoration:underline;overflow-wrap:anywhere}
.privacy-compact{background:#f3f8fd;border:1px solid #dbe7f4;border-radius:9px;padding:12px 15px;margin:-7px 0 20px;color:#46627d}
.privacy-compact b{font-size:12px;color:#204b6c}
.privacy-compact p{margin:4px 0 0;font-size:12px;line-height:1.55}
@media(max-width:550px){.privacy-banner{padding:13px 12px;gap:8px}.privacy-icon{font-size:15px}}
@media print{.privacy-banner,.privacy-compact,.privacy-more{display:none!important}}

/* V1.6 - ville de naissance et code postal liés visuellement */
.birth-place-group{display:grid;grid-template-columns:minmax(0,2fr) minmax(92px,1fr);gap:9px}
@media(max-width:420px){.birth-place-group{grid-template-columns:minmax(0,1.6fr) minmax(94px,1fr);gap:7px}.birth-place-group input{padding:11px 8px}}

/* Pages A4 pleine hauteur : le navigateur n'ajoute ni date, ni URL, ni numero de page. */
@page { size:A4 portrait; margin:0; }
@media print {
  html, body { margin:0!important; padding:0!important; }
  .print-area { margin:0!important; padding:0!important; }
  .sheet { height:297mm!important; padding:10mm 12mm!important; box-sizing:border-box!important; }
  .paper-footer { left:12mm!important; right:12mm!important; bottom:10mm!important; }
}

/* Document’ERA V1.0 : retour universel et mode clair, masqué à l’impression */
:root{color-scheme:light!important}html,body{color-scheme:light!important}.documentera-return{position:fixed;bottom:18px;left:18px;z-index:50;font-family:system-ui,sans-serif}.documentera-return a{display:inline-block;padding:9px 15px;background:#fff;border:1px solid #cdd7e6;color:#173963;box-shadow:0 4px 16px #172e5420;text-decoration:none;border-radius:100px;font-size:13px;font-weight:700}.documentera-return a:focus-visible{outline:3px solid #b2133d}@media print{.documentera-return{display:none!important}}

/* Document’ERA V1.0.5 — Safari iOS : empêcher le zoom AUTOMATIQUE des champs.
   Un champ éditable de moins de 16px déclenche un agrandissement au focus.
   Le zoom volontaire du client reste pleinement accessible. */
@media screen and (max-width: 900px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="button"]):not([type="submit"]),
  textarea, select, [contenteditable="true"], .item-text, .number-input {
    font-size: 16px !important;
  }
}
