@layer prismo-modules {
.simulation-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-24) 5%;border-bottom:1px solid var(--line);gap:var(--space-24)}.simulation-header>a:last-child{font-size:var(--text-14)}.simulation-layout{display:grid;grid-template-columns:.85fr 1.3fr;max-width:1500px;margin:auto;min-height:calc(100vh - 100px)}.simulation-aside{padding:var(--space-64) 12%;background:var(--navy);color:var(--color-surface)}.simulation-aside h1{font-size:var(--text-fluid-225ecb0);line-height:var(--leading-1_1)}.simulation-aside h1 em{color:var(--orange)}.simulation-aside>p{margin-top:var(--space-28);color:var(--color-mono-line);font-size:var(--text-16);line-height:var(--leading-1_8)}.simulation-progress{list-style:none;padding:0;margin:var(--space-48) 0;display:grid;gap:0}.simulation-progress li{padding:var(--space-18) 0;border-top:1px solid var(--color-surface-a19);display:flex;align-items:center;gap:var(--space-20);color:var(--color-line-strong);font-size:var(--text-15)}.simulation-progress li span{font-size:var(--text-13)}.simulation-progress li[aria-current=step]{color:var(--color-surface);font-weight:var(--weight-600)}.simulation-progress li[aria-current=step] span{color:var(--orange)}.simulation-note{font-size:var(--text-13);line-height:var(--leading-1_7);color:var(--color-line-strong)}.simulation-work{padding:var(--space-64) clamp(var(--space-25),6vw,var(--space-90));min-width:0;background:var(--cream)}.simulation-work h2{font-size:var(--text-fluid-537ed37);line-height:var(--leading-1_2);margin-bottom:var(--space-32)}.simulation-work h2:focus{outline:none}.simulation-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-24) var(--space-20)}.simulation-fields label{display:flex;flex-direction:column;gap:var(--space-9);font-size:var(--text-14);font-weight:var(--weight-550);min-width:0}.simulation-fields .wide{grid-column:1/-1}.simulation-fields input,.simulation-fields select{width:100%;min-height:52px;padding:var(--space-13);background:var(--color-surface);color:var(--navy);border:1px solid var(--color-text-subtle);border-radius:var(--radius-sm);font:400 1rem/1.5 var(--body)}.simulation-fields input[aria-invalid=true],.simulation-fields select[aria-invalid=true]{border:2px solid var(--color-danger)}.field-help{font-size:var(--text-13);color:var(--text);font-weight:var(--weight-400);line-height:var(--leading-1_6)}.simulation-navigation{display:flex;justify-content:space-between;gap:var(--space-20);margin-top:var(--space-36)}.simulation-navigation .button{margin-left:auto}.simulation-disclosure{font-size:var(--text-13);color:var(--text);margin-top:var(--space-28);line-height:var(--leading-1_7)}.simulation-intro{font-size:var(--text-16);margin-bottom:var(--space-28);color:var(--text);line-height:var(--leading-1_7)}.rental-choice{padding:0;border:0;margin:0 0 var(--space-28);display:flex;gap:var(--space-12)}.rental-choice legend{font-size:var(--text-14);font-weight:var(--weight-550);margin-bottom:var(--space-10)}.rental-choice label{flex:1;display:flex;gap:var(--space-10);padding:var(--space-17);border:1px solid var(--color-text-subtle);background:var(--color-surface);align-items:start;border-radius:var(--radius-sm)}.rental-choice label:has(:checked){border:2px solid var(--navy);padding:var(--space-16);background:var(--color-surface-muted)}.rental-choice input{accent-color:var(--navy);margin-top:var(--space-5)}.rental-choice small{display:block;font-size:var(--text-12);color:var(--text);margin-top:var(--space-5)}.simulation-result-block{padding:var(--space-30);background:var(--color-surface);border-top:4px solid var(--orange);margin-bottom:var(--space-20)}.result-label{font-size:var(--text-12);font-weight:var(--weight-650);letter-spacing:.08em;display:block;margin-bottom:var(--space-20)}.simulation-result-block h3{font-size:var(--text-fluid-421334c);line-height:var(--leading-1_2);margin-bottom:var(--space-15)}.simulation-result-block p{font-size:var(--text-14);line-height:var(--leading-1_8);color:var(--text);margin-top:var(--space-12)}.fees-result{background:var(--navy);color:var(--color-surface);border-top-color:var(--navy)}.fees-result p{color:var(--color-mono-line)}.fees-result dl{font-size:var(--text-14);margin:var(--space-24) 0}.fees-result dl>div{display:flex;justify-content:space-between;gap:var(--space-16);padding:var(--space-12) 0;border-top:1px solid var(--color-surface-a19)}.fees-result dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}.simulation-method{border-top:1px solid var(--line);padding:var(--space-20) 0;font-size:var(--text-14)}.simulation-method summary{cursor:pointer;font-weight:var(--weight-600)}.simulation-method p{margin-top:var(--space-16);line-height:var(--leading-1_8);color:var(--text)}.simulation-method a{text-decoration:underline}.simulator-teaser{background:var(--orange);padding:var(--space-65) 0}.simulator-teaser .container{display:flex;align-items:center;justify-content:space-between;gap:var(--space-40)}.simulator-teaser h2{font-size:var(--text-fluid-284a6a3)}.simulator-teaser p{font-size:var(--text-16);margin-top:var(--space-18);max-width:540px}.simulator-teaser .button{flex:none}.simulation-page .form-error{margin-top:var(--space-20)}
@media(max-width:800px){.simulation-layout{grid-template-columns:1fr}.simulation-aside{padding:var(--space-32) var(--space-24)}.simulation-aside h1{font-size:var(--text-41_6);max-width:550px}.simulation-aside>p,.simulation-note{display:none}.simulation-progress{display:flex;margin:var(--space-30) 0 0;gap:var(--space-16)}.simulation-progress li{flex:1;font-size:var(--text-12);display:block;padding-top:var(--space-12)}.simulation-progress li span{display:block;margin-bottom:var(--space-6)}.simulation-work{padding:var(--space-36) var(--space-24)}.simulation-header{padding:var(--space-18) var(--space-24)}.simulation-header img{width:125px}.simulator-teaser .container{flex-direction:column;align-items:start}.simulation-fields{gap:var(--space-20) var(--space-14)}}
@media(max-width:450px){.simulation-fields{grid-template-columns:1fr}.simulation-work{padding:var(--space-32) var(--space-20)}.simulation-aside{padding:var(--space-30) var(--space-20)}.simulation-progress{gap:var(--space-12)}.simulation-result-block{padding:var(--space-23)}.simulation-navigation{gap:var(--space-12)}.simulation-navigation .button{font-size:var(--text-14);padding:var(--space-14)}.rental-choice label{padding:var(--space-13)}.rental-choice label:has(:checked){padding:var(--space-12)}.simulation-header>a:last-child{font-size:var(--text-13)}.result-actions .button{width:100%}}
.address-search{position:relative}.address-search>label{display:block;margin-bottom:var(--space-10);font-size:var(--text-14);font-weight:var(--weight-550)}.address-search>input{width:100%;min-height:56px;border:1px solid var(--color-text-subtle);background:var(--color-surface);border-radius:var(--radius-sm);padding:var(--space-14);font-size:var(--text-16)}.address-search>input[aria-expanded=true]{border-color:var(--navy);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.address-search .field-help{margin-top:var(--space-10)}.address-source{display:block;font-size:var(--text-12);color:var(--text);margin-top:var(--space-7)}.address-manual{border:0;background:transparent;text-decoration:underline;text-underline-offset:3px;font-size:var(--text-13);min-height:38px;padding:var(--space-7) 0}.address-location input[readonly]{background:var(--color-mono-soft);border-color:transparent}.address-location select:has(option:only-child){background:var(--color-mono-soft);border-color:transparent}#address-suggestions{position:relative;background:var(--color-surface);border:1px solid var(--navy);border-top:0;border-radius:0 0 var(--radius-sm) var(--radius-sm);overflow:hidden}#address-suggestions button{display:block;width:100%;text-align:left;background:var(--color-surface);border:0;border-bottom:1px solid var(--line);padding:var(--space-14) var(--space-16);min-height:62px}#address-suggestions button:last-child{border-bottom:0}#address-suggestions button:hover,#address-suggestions button[aria-selected=true]{background:var(--navy);color:var(--color-surface)}#address-suggestions strong{display:block;font-size:var(--text-15);font-weight:var(--weight-550)}#address-suggestions span{display:block;font-size:var(--text-13);margin-top:var(--space-5);opacity:.85}.quantity-field>label{display:block;margin-bottom:var(--space-9);font-size:var(--text-14);font-weight:var(--weight-550)}.quantity-stepper{display:grid;grid-template-columns:48px 1fr 48px;border:1px solid var(--color-text-subtle);border-radius:var(--radius-sm);background:var(--color-surface);overflow:hidden}.quantity-stepper button{background:transparent;border:0;font-size:var(--text-20_8);min-height:52px}.quantity-stepper button:hover{background:var(--navy);color:var(--color-surface)}.quantity-stepper input{width:100%;min-width:0;border:0;border-radius:0;text-align:center;padding:var(--space-10) 0;-moz-appearance:textfield}.quantity-stepper input::-webkit-inner-spin-button,.quantity-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
/* Une progression éditoriale, des champs sans fausses valeurs. */
.simulation-page{background:var(--navy)}.simulation-header{background:var(--cream)}.simulation-layout{grid-template-columns: .9fr 1.3fr}.simulation-aside{padding:var(--space-48) 10%;position:relative}.simulation-aside h1{font-size:var(--text-fluid-8fba547);letter-spacing:-.055em}.simulation-aside>p{line-height:var(--leading-1_6);margin-top:var(--space-22)}.simulation-progress{margin:var(--space-36) 0 var(--space-28)}.simulation-progress li{position:relative;gap:var(--space-22);padding:var(--space-14) 0;transition:color .25s,transform .25s}.simulation-progress li span{font-size:var(--text-fluid-87972f7);line-height:var(--leading-1);letter-spacing:-.07em;font-weight:var(--weight-650);color:var(--color-chart-insurance);transition:color .25s}.simulation-progress li[aria-current=step]{transform:translateX(8px)}.simulation-progress li[aria-current=step] span{color:var(--orange)}.simulation-progress li[aria-current=step]:after{content:'↗';margin-left:auto;font-size:var(--text-26);color:var(--orange)}.simulation-progress li.is-complete span{color:var(--cream)}.simulation-progress li.is-complete:after{content:'✓';margin-left:auto;color:var(--orange)}.project-recap{padding:var(--space-22) 0;border-top:1px solid var(--color-surface-a27)}.project-recap>span{font-size:var(--text-10_4);letter-spacing:.12em;color:var(--orange);font-weight:var(--weight-650)}.project-recap p{margin-top:var(--space-12);font-size:var(--text-16);line-height:var(--leading-1_6);overflow-wrap:anywhere}.simulation-note{font-size:var(--text-11_2);opacity:.8}.simulation-work{padding-top:var(--space-35);background:var(--color-mono-canvas)}.journey-meter{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-14);margin-bottom:var(--space-44);font-size:var(--text-10_4);font-weight:var(--weight-650);letter-spacing:.12em}.journey-count{font-variant-numeric:tabular-nums}.journey-track{height:5px;flex-basis:100%;background:var(--color-mono-line);overflow:hidden}.journey-track>span{display:block;height:100%;width:25%;background:var(--orange);transition:width .45s cubic-bezier(.2,.8,.2,1)}.simulation-work h2{font-size:var(--text-fluid-065e08e);letter-spacing:-.055em;line-height:var(--leading-1_06);margin:var(--space-18) 0 var(--space-34)}.simulation-work .eyebrow{font-size:var(--text-10_4);letter-spacing:.15em}.simulation-fields{gap:var(--space-26) var(--space-18)}.simulation-fields input,.simulation-fields select,.address-search>input{border:1px solid var(--color-line-strong);border-bottom:3px solid var(--color-text-subtle);border-radius:var(--radius-xs);min-height:60px;background:var(--color-surface);transition:border-color .2s,box-shadow .2s}.simulation-fields input:focus,.simulation-fields select:focus,.address-search>input:focus{border-color:var(--navy);outline:3px solid var(--color-accent-a33);outline-offset:3px;box-shadow:var(--elevation-small)}.simulation-fields label,.address-search>label,.quantity-field>label{font-weight:var(--weight-600)}.quantity-stepper{border-radius:var(--radius-xs);border-bottom:3px solid var(--color-text-subtle)}.quantity-stepper input{border:0;box-shadow:none!important}.quantity-stepper button{background:var(--color-mono-soft);font-size:var(--text-25_6);transition:background .2s,color .2s}.quantity-stepper button:active{background:var(--orange);color:var(--navy)}.rental-choice label{position:relative;min-height:124px;border:1px solid var(--color-text-subtle);border-bottom:4px solid var(--color-text-subtle);border-radius:var(--radius-xs);cursor:pointer;padding:var(--space-20);transition:transform .2s,background .2s}.rental-choice label:hover{transform:translateY(-3px)}.rental-choice label>span{font-size:var(--text-21_6);font-weight:var(--weight-600)}.rental-choice label:has(:checked){padding:var(--space-20);border:1px solid var(--navy);border-bottom:4px solid var(--navy);background:var(--orange);box-shadow:var(--elevation-small)}.rental-choice label:has(:focus-visible){outline:3px solid var(--navy);outline-offset:4px}.rental-choice small{font-size:var(--text-12);font-weight:var(--weight-400)}.simulation-navigation{border-top:1px solid var(--color-line-strong);padding-top:var(--space-24);margin-top:var(--space-32)}.simulation-navigation .button{border-radius:var(--button-radius);min-height:60px;box-shadow:var(--elevation-small);transition:transform .2s,box-shadow .2s}.simulation-navigation .button:hover{transform:translate(-2px,-2px);box-shadow:var(--elevation-small)}.simulation-navigation .button:active{transform:translate(2px,2px);box-shadow:var(--elevation-small)}[data-panel]:not([hidden]),#simulation-result:not([hidden]){animation:step-arrive .35s ease-out}.simulation-result-block{border-radius:var(--radius-xs)}.fees-result{box-shadow:var(--elevation-small)}@keyframes step-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.simulation-layout{grid-template-columns:1fr}.simulation-aside{padding:var(--space-30) var(--space-24)}.simulation-aside h1{font-size:var(--text-40);max-width:460px}.simulation-progress{margin:var(--space-24) 0 0;gap:var(--space-15)}.simulation-progress li{padding-top:var(--space-12)}.simulation-progress li span{font-size:var(--text-fluid-8d9e400);margin-bottom:var(--space-10)}.simulation-progress li[aria-current=step]{transform:none}.simulation-progress li:after{display:none}.project-recap{display:none}.simulation-work{padding:var(--space-28) var(--space-24) var(--space-40)}.journey-meter{margin-bottom:var(--space-28)}.simulation-work h2{font-size:var(--text-fluid-616f379)}}
@media(max-width:450px){.simulation-aside{padding:var(--space-24) var(--space-20)}.simulation-aside h1{font-size:var(--text-34_4)}.simulation-work{padding:var(--space-24) var(--space-20) var(--space-36)}.simulation-progress{gap:var(--space-10)}.simulation-progress li{font-size:var(--text-10_72);line-height:var(--leading-1_4)}.simulation-progress li span{font-size:var(--text-48)}.rental-choice label,.rental-choice label:has(:checked){padding:var(--space-14)}.simulation-navigation .button{padding:var(--space-16) var(--space-22)}}
@media(prefers-reduced-motion:reduce){.simulation-page *{animation:none!important;transition:none!important}}
.rental-choice input[type=radio]{width:18px;height:18px;min-height:18px;flex:none;padding:0;margin:var(--space-5) 0 0;appearance:auto}.rental-choice label{align-items:flex-start}.simulation-progress li.is-complete:not([aria-current]) span{color:var(--cream)}
/* Des contours cohérents sur tout le parcours, y compris la saisie manuelle. */
.simulation-fields input,.simulation-fields select,.address-search>input,.quantity-stepper,.rental-choice label,.simulation-navigation .button,.simulation-result-block{border-radius:var(--button-radius)}
.simulation-fields input,.simulation-fields select,.address-search>input,.quantity-stepper{border:1px solid var(--color-text-subtle);box-shadow:var(--elevation-small)}
.address-search>input[aria-expanded=true]{border-radius:var(--radius-md) var(--radius-md) 0 0}
#address-suggestions{border-radius:0 0 var(--radius-md) var(--radius-md)}
.quantity-stepper input{border:0;border-radius:0}
.simulation-fields input:focus,.simulation-fields select:focus,.address-search>input:focus{border-color:var(--navy);outline:3px solid var(--color-accent-a33);outline-offset:3px;box-shadow:var(--elevation-small)}
.quantity-stepper:focus-within{border-color:var(--navy)}
.simulation-work h2{line-height:var(--leading-1_15);letter-spacing:-.045em}
.simulation-progress li{min-height:72px;font-size:var(--text-16);line-height:var(--leading-1_5)}
@media(max-width:800px){.simulation-progress li{font-size:var(--text-12);min-height:56px}}

}
