/* ESTIMATION : un écran par question */
.est{min-height:100svh;padding:calc(var(--navh,90px) + 6vh) var(--gut,5vw) 10vh;position:relative;display:flex;flex-direction:column}
.est-prog{position:fixed;left:0;top:0;right:0;height:2px;background:rgba(238,234,226,.12);z-index:60}
.est-prog i{display:block;height:100%;width:0;background:var(--champagne);transition:width .8s var(--ease)}
.est-top{display:flex;justify-content:space-between;align-items:center;min-height:40px;margin-bottom:6vh;color:var(--taupe)}
.est-top button{background:none;border:0;border-bottom:1px solid currentColor;color:var(--ivoire);cursor:pointer;padding:4px 0}
.est-top button[hidden]{display:none}
.est-stage{flex:1}
.scr{display:grid;grid-template-columns:repeat(12,1fr);column-gap:2vw;row-gap:5vh;animation:scrIn .8s var(--ease) both}
.scr.back{animation-name:scrBack}
@keyframes scrIn{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes scrBack{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
.ql{grid-column:1/6}
.qr{grid-column:7/13;align-self:end}
.q-title,.scr h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.2rem,4.2vw,4.8rem);line-height:1.04;margin:0;outline:0}
.q-help,.scr .lead{margin-top:28px;max-width:34ch;color:var(--taupe);font-size:1rem;line-height:1.6}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
fieldset.opts{border:0;margin:0;padding:0;min-width:0}
.opt{position:relative;display:block;cursor:pointer;border-top:1px solid rgba(238,234,226,.22)}
.opt:last-of-type{border-bottom:1px solid rgba(238,234,226,.22)}
.opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.opt>span{display:block;position:relative;padding:22px 56px 22px 4px;transition:background .4s,color .4s,padding .5s var(--ease)}
.opt b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(1.35rem,1.9vw,1.8rem);line-height:1.15}
.opt small{display:block;margin-top:6px;font-size:.88rem;line-height:1.5;color:var(--taupe)}
.opt>span::after{content:"";position:absolute;right:6px;top:50%;width:18px;height:18px;margin-top:-9px;border:1px solid rgba(238,234,226,.5);border-radius:50%;transition:background .4s,border-color .4s}
.opt.sq>span::after{border-radius:0}
.opt:hover>span{padding-left:14px}
.opt input:checked + span{color:var(--champagne)}
.opt input:checked + span::after{background:var(--champagne);border-color:var(--champagne)}
.opt input:focus-visible + span{outline:1px solid var(--champagne);outline-offset:-1px}
.numwrap{display:flex;align-items:baseline;gap:20px;border-bottom:1px solid rgba(238,234,226,.35);padding-bottom:6px}
.numwrap:focus-within{border-color:var(--champagne)}
.numwrap input{width:5ch;min-width:0;flex:0 1 auto;background:transparent;border:0;outline:0;color:var(--ivoire);font-family:var(--serif);font-weight:300;font-size:clamp(4rem,9vw,8rem);line-height:1;padding:0;-moz-appearance:textfield;appearance:textfield}
.numwrap input::-webkit-outer-spin-button,.numwrap input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.numwrap .unit{font-family:var(--serif);font-style:italic;font-size:clamp(1.4rem,2.2vw,2rem);color:var(--champagne)}
.err{display:block;min-height:1.4em;margin-top:12px;font-size:.88rem;color:#d49a89}
.est-actions{margin-top:36px;display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.est-top .lab,.est-actions .link{font-family:var(--sans);font-size:.7rem;letter-spacing:.26em;text-transform:uppercase}
.est-facts{margin:0;padding:0;list-style:none;display:grid;gap:10px;color:var(--taupe);font-size:.95rem}
.est-facts+.est-actions{margin-top:44px}
/* résultat */
.res{max-width:1100px;margin:0 auto;animation:scrIn .9s var(--ease) both}
.res-k{color:var(--champagne)}
.range{margin:18px 0 0;font-family:var(--serif);font-weight:300;font-size:clamp(3rem,9vw,8.4rem);line-height:1;display:flex;flex-wrap:wrap;gap:0 .28em;align-items:baseline}
.range em{font-style:italic;color:var(--champagne);font-size:.5em}
.res-sub{margin-top:18px;color:var(--taupe)}
.envtxt{margin-top:30px;max-width:56ch;font-family:var(--serif);font-style:italic;font-size:1.4rem;line-height:1.4}
.parts{display:grid;grid-template-columns:1fr 1fr;gap:5vw;margin-top:8vh}
.part .pr{font-family:var(--serif);font-size:clamp(1.6rem,2.4vw,2.2rem);margin:10px 0 18px}
.part .lab{color:var(--champagne)}
.part dl,.recap dl{margin:0}
.part dl>div,.recap dl>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid rgba(238,234,226,.18);font-size:.95rem}
.part dt,.recap dt{color:var(--taupe)}
.part dd,.recap dd{margin:0;text-align:right}
.recap{margin-top:7vh;border-top:1px solid rgba(238,234,226,.18)}
.recap summary{cursor:pointer;padding:18px 0;color:var(--champagne)}
.disc{margin-top:5vh;max-width:64ch;color:var(--taupe);font-size:.88rem;line-height:1.6}
.res-actions .link{background:none;border:0;border-bottom:1px solid currentColor;color:var(--ivoire);cursor:pointer;padding:4px 0}
.sendform{margin-top:12vh;padding-top:7vh;border-top:1px solid rgba(238,234,226,.3);max-width:720px}
.sendform h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.9rem,3vw,2.8rem);margin:0}
.send-lead{margin:16px 0 40px;color:var(--taupe);max-width:52ch}
@media (max-width:900px){
  .scr{grid-template-columns:1fr}.ql,.qr{grid-column:1}
  .parts{grid-template-columns:1fr;gap:6vh}
  .numwrap input{font-size:clamp(3.4rem,18vw,6rem)}
}
@media (prefers-reduced-motion:reduce){.scr,.res{animation:none}.est-prog i{transition:none}}
@media print{
  .nav,.menu,.foot,.bar,.cur,.est-top,.est-actions,.sendform,.est-prog{display:none!important}
  html,body,.est{background:#fff!important;color:#111!important}.est{padding:0}
  .range em,.part .lab,.res-k{color:#6b5a35!important}.part dt,.res-sub,.disc{color:#555!important}
  .recap[open] summary,.recap summary{color:#111}
}
