/* V14 visual room advisor: contained dialog, independently scrollable page. */
.simulator-dialog{width:min(1180px,96vw);max-width:1180px;padding:28px;max-height:92dvh;background:#f8fcff;color:#12304c}
.simulator-dialog>.close{position:sticky;top:0;float:right;z-index:2;background:#fff;border:1px solid #cce3ed}
.sim-heading{max-width:750px;margin-bottom:20px}.sim-heading h2{font-size:30px;letter-spacing:-1px;margin:8px 0}.sim-heading p{color:#45617a;font-size:14px;line-height:1.6}
.sim-layout{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(0,1.4fr);gap:24px;align-items:start}.sim-controls{background:#fff;border:1px solid #d5e5ed;border-radius:18px;padding:20px}.sim-controls fieldset{border:0;padding:0;margin:0 0 20px;min-width:0}.sim-controls legend{font-size:15px;font-weight:750;margin-bottom:12px}.sim-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sim-field{display:flex;flex-direction:column;gap:6px;min-width:0}.sim-field label{font-size:12px;font-weight:650;color:#35566e}.sim-field input,.sim-field select{width:100%;min-width:0;min-height:44px;border:1px solid #b8cfdc;border-radius:9px;background:#fff;color:#12304c;padding:10px;font:inherit;font-size:14px}.sim-field.full{grid-column:1/-1}.sim-hint{font-size:12px;line-height:1.5;color:#536b7d;margin:10px 0}.sim-controls [aria-invalid=true]{border:2px solid #a32929}.sim-error{color:#a32929;font-size:13px;line-height:1.5}.sim-actions{display:flex;gap:10px;flex-wrap:wrap}.sim-actions button{min-height:44px;flex:1}
.sim-visual{background:linear-gradient(145deg,#edf8ff,#e8f8f2);border:1px solid #c8e4e8;border-radius:22px;overflow:hidden}.sim-scene{width:100%;min-height:280px;padding:12px}.sim-scene svg{display:block;width:100%;height:auto;max-height:470px}.sim-metrics{display:flex;justify-content:center;gap:24px;padding:14px;background:#ffffffc9;border-top:1px solid #c8e4e8;flex-wrap:wrap}.sim-metrics strong{display:block;font-size:22px;letter-spacing:-.5px}.sim-metrics span{font-size:12px;color:#45617a}.sim-scene-note{font-size:12px;color:#4b677e;line-height:1.5;margin:10px 2px}.sim-result{margin-top:18px}.sim-result h3{font-size:23px;margin:8px 0}.sim-status{padding:16px;border:1px solid #bedfdf;background:#effbf7;border-radius:14px;line-height:1.55;font-size:14px}.sim-status.caution{background:#fff9ed;border-color:#dfc992}.sim-status ul{padding-left:20px}.sim-result details{background:#fff;border:1px solid #d5e5ed;border-radius:12px;padding:14px;margin-top:12px;font-size:13px;line-height:1.6}.sim-result summary{cursor:pointer;font-weight:650;min-height:30px}.sim-breakdown{width:100%;border-collapse:collapse}.sim-breakdown th,.sim-breakdown td{text-align:left;padding:8px 4px;border-bottom:1px solid #e2edf2}.sim-breakdown td:last-child{text-align:right}.sim-result-title{font-size:17px!important;margin-top:22px!important}.sim-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.sim-product{padding:14px;border:1px solid #c9dfeb;border-radius:14px;background:#fff;min-width:0}.sim-product img{width:100%;height:105px;object-fit:contain;background:#f8fbff;border-radius:9px}.sim-product h4{font-size:14px;line-height:1.4;margin:10px 0 5px;overflow-wrap:anywhere}.sim-product .sim-price{font-size:20px;font-weight:750;margin:8px 0;color:#10304f}.sim-product small{display:block;font-size:11px;color:#536b7d;line-height:1.45}.sim-product button{width:100%;min-height:44px;margin-top:10px}.sim-price-control{display:flex;flex-direction:column;gap:6px;margin:14px 0}.sim-price-control label{font-size:12px;font-weight:650}.sim-price-control select{min-height:44px;border:1px solid #b8cfdc;border-radius:9px;padding:10px;background:#fff;color:#12304c}.simulator-dialog input:focus-visible,.simulator-dialog select:focus-visible,.simulator-dialog button:focus-visible,.simulator-dialog summary:focus-visible{outline:3px solid #0863df;outline-offset:3px}
@media(max-width:760px){.simulator-dialog{padding:18px;width:96vw;max-height:94dvh}.sim-heading h2{font-size:25px}.sim-layout{grid-template-columns:1fr;gap:18px}.sim-visual-column{grid-row:1}.sim-scene{min-height:220px}.sim-scene svg{max-height:330px}.sim-controls{padding:16px}.sim-products{grid-template-columns:repeat(2,minmax(0,1fr))}.sim-product{padding:10px}.sim-product .sim-price{font-size:18px}}
@media(max-width:380px){.sim-grid,.sim-products{grid-template-columns:1fr}.sim-field.full{grid-column:auto}.sim-metrics{gap:16px}}
@media(prefers-reduced-motion:reduce){.simulator-dialog *{transition:none!important}}
/* The room illustration must not inherit the generic 1.7px icon outline. */
.sim-scene svg{stroke:none;stroke-width:1;fill:none}
