/* Couche de design luxe pour l'estimateur, sans altérer la logique tarifaire. */
.page-estimator{background:var(--cream);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
.page-estimator .site-header{background:#fffdfa;border-bottom:1px solid #e9e5da;position:relative;z-index:20}
.page-estimator .estimator-header .nav-inner{max-width:var(--shell);width:min(var(--shell),calc(100% - 64px));height:90px}
.page-estimator .brand img{width:206px;max-height:70px}
.page-estimator .header-step-note{color:#a37e48;font-weight:650;letter-spacing:.06em}
.page-estimator .green-pip{background:#c19c64;box-shadow:0 0 0 4px #f5ece0}
.page-estimator .nav-cta{background:none;border:1px solid #d8c9b3;border-radius:24px;color:var(--pine);padding:10px 17px;font-size:12px;font-weight:650}
.page-estimator .estimate-layout{background:var(--cream);padding:0 0 75px}
.page-estimator .estimate-layout>.shell{width:min(var(--shell),calc(100% - 64px))}
.page-estimator .estimate-intro{max-width:none;text-align:left;margin:0 0 31px;padding:78px 45% 65px 0;min-height:355px;position:relative}
.page-estimator .estimate-intro:before{content:"";display:block;position:absolute;inset:0 calc((100vw - min(100vw - 64px, 1180px))/-2) 0 calc((100vw - min(100vw - 64px, 1180px))/-2);background:linear-gradient(90deg,#f9f7f1 0%,rgba(249,247,241,.98) 26%,rgba(249,247,241,.88) 49%,rgba(249,247,241,.08) 84%),url('hero-rpl.webp') 67% 43%/cover no-repeat;z-index:0}
.page-estimator .estimate-intro>*{position:relative;z-index:1}
.page-estimator .estimate-intro .section-eyebrow{justify-content:flex-start;color:#ab844a;font-size:10px;letter-spacing:.23em;font-weight:750}
.page-estimator .estimate-intro .section-eyebrow:before{content:"";width:29px;height:2px;background:#c19a64;margin-right:10px}
.page-estimator .estimate-intro h1{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:clamp(42px,4.8vw,68px);letter-spacing:-.055em;line-height:1.03;max-width:680px;color:var(--ink);margin:22px 0 15px}
.page-estimator .estimate-intro h1 em{display:block;color:#a9834c;font-weight:400;font-style:italic}
.page-estimator .estimate-intro>p{margin:0;max-width:400px;font-size:14px;line-height:1.7;color:#586d62}
.page-estimator .estimate-promise{justify-content:flex-start;font-weight:650;font-size:11px;color:#71695e;gap:18px;margin-top:19px}
.page-estimator .estimate-promise span{white-space:nowrap}
.page-estimator .estimator-columns{grid-template-columns:minmax(0,1fr) 310px;gap:21px;align-items:start}
.page-estimator .form-card{border:1px solid #e7e1d6;border-radius:18px;box-shadow:0 17px 35px #6c4d2110;background:#fffdfb}
.page-estimator .form-progress{background:white;padding:27px 30px 0}
.page-estimator .progress-micro{font-size:11px;font-weight:750;letter-spacing:.03em;color:#847864}
.page-estimator .progress-micro span:first-child{color:#906c37}
.page-estimator .progress-bar{background:#ece9e4;height:4px;border-radius:4px}
.page-estimator .progress-bar span{background:linear-gradient(90deg,#bb945b,#dbbd82);border-radius:4px}
.page-estimator .wizard-step{padding:34px 30px 13px}
.page-estimator .wizard-kicker{color:#a48251;font-size:10px;letter-spacing:.22em;font-weight:750;margin-bottom:13px}
.page-estimator .wizard-step h2{font-family:Georgia,'Times New Roman',serif;color:var(--ink);font-size:clamp(29px,3vw,39px);font-weight:500;line-height:1.2;letter-spacing:-.045em}
.page-estimator .wizard-sub{color:#858a81;font-size:13px;margin-bottom:26px;line-height:1.65}
.page-estimator .tile-grid{gap:10px}
.page-estimator .select-tile span{border-radius:12px;border:1px solid #e3dbcf;background:#fffdfa;padding:15px;color:#213d30;box-shadow:none;min-height:82px}
.page-estimator .select-tile span b{font-size:14px;font-weight:650}
.page-estimator .select-tile span small{color:#87877f;font-size:11px}
.page-estimator .select-tile:has(input:checked) span{background:#f2f5ef;border:1.5px solid #235c43;box-shadow:inset 0 0 0 .5px #235c43}
.page-estimator .field label{font-size:12px;font-weight:700;color:#314337}
.page-estimator .field input,.page-estimator .field select,.page-estimator .field textarea{background:#fffdfa;border:1px solid #dedbd4;border-radius:9px;color:#183b2b;font-size:16px;min-height:52px}
.page-estimator .field input:focus,.page-estimator .field select:focus,.page-estimator .field textarea:focus{outline:2px solid #ccb17e;border-color:#a68145}
.page-estimator .hint,.page-estimator .wizard-divider{color:#87897f}
.page-estimator .furniture-details,.page-estimator .access-grid fieldset,.page-estimator .price-breakdown{border-radius:12px;border-color:#e4ded4;background:#fffdfa}
.page-estimator .furniture-details>summary{color:var(--pine);font-weight:650}
.page-estimator .qty-row{border-color:#e6e2dc;border-radius:11px;background:white}
.page-estimator .qty-controls{background:#f4f1eb;border-radius:9px}
.page-estimator .qty-controls button{color:var(--pine)}
.page-estimator .volume-pill{background:#f3eee2;color:#806339;border-radius:20px}
.page-estimator .access-grid legend{font-weight:700;color:var(--pine)}
.page-estimator .toggle-line input,.page-estimator .consent input{accent-color:#164d38}
.page-estimator .wizard-buttons{background:#fffdfb;padding:24px 30px 28px}
.page-estimator .wizard-buttons .btn,.page-estimator .wizard-step .btn{border-radius:28px;font-weight:660;font-size:13px;min-height:49px}
.page-estimator .wizard-buttons .btn:not(.btn-ghost){background:var(--pine);color:white}
.page-estimator .wizard-buttons .btn.btn-ghost{background:#eeeae1;color:#536b5b}
.page-estimator .recap-card{position:sticky;top:20px;border-radius:16px;background:var(--pine);box-shadow:none;padding:25px 22px}
.page-estimator .recap-icon{border-radius:50%;background:#315949;color:#e6c688}
.page-estimator .recap-head h3{font-family:Georgia,serif;font-weight:500;font-size:22px}
.page-estimator .recap-head span{color:#d5c5a7}
.page-estimator .recap-total{background:#2b5643;border-radius:12px}
.page-estimator .recap-total strong{color:#f2dcae;font-family:Georgia,serif;font-weight:500}
.page-estimator .recap-photo{border-radius:13px}
.page-estimator .recap-photo span{border-radius:20px;background:#fffaf3;color:#7b673f}
.page-estimator .estimate-total{background:#f7f2e8;border:1px solid #e7dac6;color:var(--ink);border-radius:16px;padding:25px}
.page-estimator .estimate-total>span{color:#9d7840}
.page-estimator .estimate-total>strong{font-family:Georgia,serif;font-weight:500;letter-spacing:-.045em;color:var(--pine)}
.page-estimator .estimate-total .price-tag{border-radius:20px;background:#eee2cd;color:#755a36}
.page-estimator .estimate-total p{color:#77786e}
.page-estimator .price-line-total{color:#916c36}
.page-estimator .notice{border-radius:10px;background:#f4f0e6;color:#6d694e}
.page-estimator .notice.warn{background:#fff1de;color:#855c2e}
.page-estimator .estimator-footnote{color:#969189}
.page-estimator .footer{background:#f8f5ef}
.page-estimator .footer-logo{width:165px}
@media(max-width:900px){.page-estimator .estimator-columns{grid-template-columns:minmax(0,1fr) 260px;gap:14px}.page-estimator .estimate-intro{padding-right:38%}.page-estimator .wizard-step{padding:27px 21px 10px}.page-estimator .wizard-buttons{padding:19px 21px 24px}}
@media(max-width:740px){.page-estimator .estimator-header .nav-inner,.page-estimator .estimate-layout>.shell{width:calc(100% - 32px)}.page-estimator .estimator-header .nav-inner{height:74px}.page-estimator .brand img{width:166px}.page-estimator .nav-cta{font-size:11px;padding:8px 11px}.page-estimator .estimate-layout{padding-bottom:45px}.page-estimator .estimate-intro{min-height:395px;padding:42px 5px 200px 5px;margin:0 0 16px}.page-estimator .estimate-intro:before{inset:0 -16px;background:linear-gradient(180deg,rgba(249,247,241,.99) 0%,rgba(249,247,241,.95) 28%,rgba(249,247,241,.60) 50%,rgba(249,247,241,.05) 98%),url('hero-rpl.webp') 61% bottom/auto 82% no-repeat}.page-estimator .estimate-intro h1{font-size:clamp(38px,10.4vw,54px);line-height:1.07;margin:22px 0 10px}.page-estimator .estimate-intro>p{font-size:13px;line-height:1.55;max-width:320px}.page-estimator .estimate-promise{font-size:10px;gap:11px;margin-top:12px}.page-estimator .estimator-columns{grid-template-columns:1fr}.page-estimator .form-card{border-radius:15px}.page-estimator .form-progress{padding:23px 18px 0}.page-estimator .wizard-step{padding:26px 18px 10px}.page-estimator .wizard-step h2{font-size:31px}.page-estimator .wizard-sub{font-size:12px}.page-estimator .tile-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.page-estimator .tile-grid.two{grid-template-columns:1fr}.page-estimator .tile-grid.two.compact{grid-template-columns:repeat(2,1fr)}.page-estimator .select-tile span{min-height:77px}.page-estimator .access-grid,.page-estimator .field-grid,.page-estimator .furniture-grid,.page-estimator .extra-grid{grid-template-columns:1fr}.page-estimator .wizard-buttons{padding:19px 18px 24px}.page-estimator .wizard-buttons .btn:not(.btn-ghost){flex:1}.page-estimator .recap-card{position:static}.page-estimator .recap-photo{display:none}.page-estimator .footer{padding-bottom:25px}.page-estimator .estimate-total{padding:22px}.page-estimator .estimate-total>strong{font-size:41px}}
@media(max-width:380px){.page-estimator .estimate-intro h1{font-size:38px}.page-estimator .wizard-step h2{font-size:28px}}
