/* The quote composer is a compact live architectural model. */
.composer-preview{position:relative;aspect-ratio:3/2;min-height:215px;isolation:isolate;margin:5px -10px 0}.composer-preview>.garden-frame{width:100%;height:100%;max-height:none;object-fit:contain;margin:0}.composer-stage{position:absolute;inset:0;min-width:0;min-height:0}.composer-model-canvas{display:block;width:100%;height:100%;outline-offset:-5px;cursor:grab}.composer-model-canvas.is-dragging{cursor:grabbing}.project-composer.is-3d-ready .composer-preview>.garden-frame{visibility:hidden}.model-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;color:#e9efcf;font:9px/1.6 var(--body)}.model-toolbar>span{max-width:130px}.model-toolbar>div{display:flex;gap:5px;flex:0 0 auto}.model-toolbar button{display:grid;place-items:center;min-width:31px;height:31px;padding:0 8px;border:1px solid #d8e6b84d;background:#aac58f14;border-radius:18px;color:#f8f5da;font:17px var(--heading);cursor:pointer}.model-toolbar button:hover{background:#aecb8633}.model-toolbar button.model-expand{font:10px var(--body);padding:0 12px}.model-feedback{font:10px/1.7 var(--body);color:#e5edcb;margin:10px 0 12px;min-height:34px}.model-materials{display:flex;flex-wrap:wrap;gap:10px 20px;margin:9px 0}.model-materials fieldset{padding:0;border:0;min-width:0}.model-materials fieldset[hidden]{display:none}.model-materials legend{font:9px/1.5 var(--body);color:#d4dfbc;margin-bottom:7px}.model-materials button{padding:7px 11px;border:1px solid #caddab45;background:#0c2b20a3;color:#e8efd1;border-radius:20px;font:9px var(--body);margin-right:4px;cursor:pointer}.model-materials button[aria-pressed=true]{background:#dfe9bb;color:#143b29;border-color:#eaf2d0}.composer-body>.composer-empty{display:none}.model-fallback .model-toolbar>span{font-size:0}.model-fallback .model-toolbar>span:after{content:'Votre esquisse';font-size:9px}
.model-dialog{width:min(1250px,96vw);max-width:none;max-height:94svh;padding:35px 38px 30px;border:1px solid #d3e0b453;border-radius:50px 8px;background:radial-gradient(ellipse at 30% 48%,#577c4c42,transparent 65%),#0b2c20f7;color:#f6f5e3;box-shadow:0 30px 100px #00180dc9;overflow-y:auto}.model-dialog::backdrop{background:#041c11c4;backdrop-filter:blur(10px)}.model-dialog>header{display:block;padding:0 50px 18px 0;position:relative}.model-dialog>header>.eyebrow{font-size:8px}.model-dialog h2{font:450 40px/1.03 var(--heading);letter-spacing:-1.5px;margin-top:16px}.model-dialog h2 em{font-style:normal;color:#dce8b7}.model-dialog-close{position:absolute;right:22px;top:20px;width:36px;height:36px;border-radius:50%;border:1px solid #e1e9bd5c;background:#173b29;color:#fff3ce;font:26px var(--heading);z-index:5;cursor:pointer}.model-dialog-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:30px;align-items:start}.model-dialog-main{min-width:0}.model-dialog-stage{position:relative;height:clamp(320px,50svh,500px);min-height:280px}.model-dialog-stage .composer-stage{position:absolute;inset:0}.model-dialog-main .model-toolbar{margin:10px 15px 0}.model-dialog-main .model-toolbar>span{max-width:none;font-size:11px}.model-dialog-main>small{display:block;text-align:center;font:9px/1.7 var(--body);color:#cbdab6;margin-top:10px}.model-dialog aside{border-left:1px solid #d9e6b935;padding:10px 0 0 25px}.model-dialog aside>.eyebrow{font-size:8px}.model-dialog aside>p{font:11px/1.8 var(--body);color:#dce5c5;margin-top:15px}.model-dialog-choices{display:grid;gap:7px;margin:20px 0}.model-dialog-choices>button{display:flex;align-items:center;gap:10px;text-align:left;background:#123d297d;border:1px solid #cbdcaf40;border-radius:22px 4px 22px 4px;color:#eef1d8;font:11px/1.4 var(--body);min-height:43px;padding:9px 12px;cursor:pointer}.model-dialog-choices>button>span{font:8px var(--body);color:#afc594}.model-dialog-choices>button>b{margin-left:auto;font:15px var(--heading);color:#dce9ba}.model-dialog-choices>button[aria-pressed=true]{border-color:#d6e9a6;background:#b2ca782c}.model-dialog aside>p.model-dialog-note{font-size:9px;color:#becfa9}.model-dialog .model-materials legend{font-size:10px}.model-dialog .model-materials button{font-size:10px}.model-dialog .model-materials{margin-top:15px}
@media(max-width:800px){.model-dialog{padding:30px 22px 25px;border-radius:35px 6px}.model-dialog-grid{grid-template-columns:1fr;gap:20px}.model-dialog h2{font-size:32px}.model-dialog>header{padding-bottom:0}.model-dialog-stage{height:38svh;min-height:250px}.model-dialog aside{border-left:0;border-top:1px solid #d9e6b935;padding:20px 0 0}.model-dialog-choices{grid-template-columns:1fr 1fr;gap:7px;margin:15px 0}.model-dialog-choices>button{font-size:10px;padding:9px;gap:6px}.model-dialog-choices>button>span{display:none}.model-dialog aside>p{font-size:10px}.model-dialog-main .model-toolbar>span{font-size:9px}.model-dialog-main>small{font-size:8px}}
@media(max-width:600px){.composer-preview{min-height:205px;margin:2px -12px 0}.model-toolbar{gap:6px}.model-toolbar>span{font-size:8px;max-width:100px}.model-toolbar>div{gap:4px}.model-toolbar button{height:29px;min-width:28px;font-size:16px}.model-toolbar button.model-expand{font-size:9px;padding:0 9px}.model-feedback{font-size:10px}.model-dialog-close{right:15px;top:15px}.model-materials{gap:10px 15px}.model-materials button{font-size:9px}.model-dialog-choices>button{font-size:9px}.model-dialog .model-toolbar{margin-left:0;margin-right:0}}
.model-dialog-close{position:sticky;top:0;float:right;right:auto;margin:0 -5px -36px 0;z-index:10}
.model-dialog-choices{gap:5px;margin:15px 0}.model-dialog-choices>button{min-height:37px;padding:8px 11px;font-size:10px}.model-dialog .model-materials{display:grid;grid-template-columns:1fr 1fr;gap:8px}.model-dialog .model-materials button{padding:6px 8px;font-size:9px;margin-right:2px}.model-dialog aside>p.model-dialog-note{font-size:8px;line-height:1.7}.model-dialog aside>p{margin-top:12px}
.service-choice input{inset:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
@media(max-width:800px){.model-dialog-choices>button{font-size:10px;min-height:40px}.model-dialog .model-materials{display:flex;gap:12px 20px}.model-dialog aside>p.model-dialog-note{font-size:9px}.model-dialog-close{margin-right:-5px}}
.model-work-status{position:absolute;bottom:7px;left:50%;translate:-50% 0;max-width:94%;padding:8px 14px;border:1px solid #cbdcaf44;border-radius:30px;background:#0c3025e8;color:#edf2d0;text-align:center;font:10px/1.4 var(--body);pointer-events:none;white-space:nowrap}.model-work-status[hidden]{display:none}@media(max-width:600px){.model-work-status{font-size:8px;white-space:normal;width:max-content}}
