/* Native modal preserves focus containment, Escape and browser semantics. */
html:has(.price-dialog[open]){overflow:hidden;scrollbar-gutter:stable}
dialog.price-dialog{width:min(540px,calc(100% - 32px));max-width:540px;max-height:calc(100dvh - 32px);margin:auto;padding:40px;border:0;border-radius:20px;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain}
dialog.price-dialog::backdrop{background:#2a201b99;backdrop-filter:blur(4px)}
.price-dialog-close{position:absolute;right:14px;top:14px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:transparent;color:var(--ink)}
.price-dialog-close svg{width:22px;height:22px}
dialog.price-dialog h2{font-family:var(--type-display);font-size:28px;font-weight:400;letter-spacing:-.03em;line-height:1.2;margin:12px 28px 28px 0;text-wrap:balance}
.price-form{display:grid;gap:20px}
.price-selection{padding:18px 20px;background:#e8dfd2;border-radius:12px}
.price-selection>span{font-size:12px;line-height:1.5;color:var(--muted)}
dialog.price-dialog .price-selection p{font-family:var(--type-body);font-size:18px;font-weight:500;line-height:1.45;color:var(--ink);margin:6px 0 0;overflow-wrap:anywhere}
.price-field{display:grid;gap:9px;min-width:0}
.price-field label{font-size:14px;line-height:1.5}
.price-field input,.price-field textarea{width:100%;min-width:0;min-height:52px;padding:13px 16px;border:1px solid #ac9988;border-radius:10px;font-family:var(--type-body);font-size:16px;line-height:1.5;background:#faf7f1;color:var(--ink);caret-color:var(--wine)}
.price-field textarea{min-height:120px;resize:vertical}
.price-field input::placeholder,.price-field textarea::placeholder{color:#78685b;opacity:1}
.price-field input:focus-visible,.price-field textarea:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
.price-submit{width:100%;min-height:52px;padding:14px 20px;border-radius:999px;background:var(--wine);color:#faf4ea;font-size:15px;line-height:1.5}
.price-submit:disabled{cursor:not-allowed;opacity:.55}
dialog.price-dialog .price-form-note{font-size:13px;line-height:1.6;color:var(--muted);margin:-8px 0 0;text-align:center}
dialog.idea-dialog h2{margin-bottom:12px}
dialog.idea-dialog .idea-dialog-intro{margin:0 0 26px;font:14px/1.65 var(--type-body);color:#716055}
dialog.idea-dialog .price-form-note{color:#716055}
dialog.idea-dialog textarea{min-height:144px}
@media(hover:hover) and (pointer:fine){.furniture-price:hover{background:#643b31}.price-dialog-close:hover{background:#e8dfd2}}
@media(max-width:560px){dialog.price-dialog{padding:26px 24px;border-radius:16px}dialog.price-dialog h2{font-size:24px;margin-top:16px;margin-bottom:24px}.price-selection{padding:15px 16px}.price-form{gap:18px}.price-dialog-close{right:8px;top:8px}}
