#modal:has(.frame-builder){max-width:1120px;padding:30px}.frame-builder h2{margin-bottom:22px}.frame-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr);gap:35px}.frame-stage{background:#f1eee7;min-height:340px;display:flex;align-items:center;justify-content:center;padding:18px}.frame-stage canvas{width:100%;height:auto;max-height:550px;object-fit:contain}.frame-visual{min-width:0;align-self:start;position:sticky;top:0}.frame-note{font-size:11px;line-height:1.7;margin:12px 0;color:#756d61}.frame-options label{margin:16px 0 7px;font-size:11px}.frame-options select{font-size:12px;padding:11px;background:white}.frame-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.frame-swatches{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.frame-swatch{padding:9px 6px;border:1px solid #d8d0c2;background:transparent;color:#393630;font-size:10px;line-height:1.4}.frame-swatch[aria-pressed=true]{border:2px solid #292723;padding:8px 5px;background:#eae4da}.frame-swatch i{display:block;width:26px;height:26px;margin:0 auto 6px;border:1px solid #bbb}.frame-swatch[data-finish="Black Matte"] i{background:#292929}.frame-swatch[data-finish="Black Gloss"] i{background:linear-gradient(130deg,#111,#888 47%,#111 58%)}.frame-swatch[data-finish="White Matte"] i{background:#f6f5f1}.frame-swatch[data-finish="White Gloss"] i{background:linear-gradient(130deg,#dededb,#fff 47%,#ddd)}.frame-swatch[data-finish="Pine"] i{background:repeating-linear-gradient(90deg,#d7bb8c,#efd7b1 4px,#dfc596 7px)}.frame-costs{border-block:1px solid #d8d0c2;padding:14px 0;margin-top:20px;font-size:12px}.frame-costs div{display:flex;justify-content:space-between;gap:10px;margin:5px 0}.frame-total{font:27px Georgia;margin:16px 0 5px}.frame-total span{float:right}.frame-options .actions{gap:8px}.frame-options .btn{font-size:10px;padding:12px 15px}.frame-helper{font-size:11px;line-height:1.6;color:#756d61}.frame-builder .shipping-message{margin:0}.frame-builder .error-message{color:#913b28}.frame-stage:focus-visible{outline:3px solid #b6a382;outline-offset:3px}@media(max-width:720px){#modal:has(.frame-builder){padding:24px 18px}.frame-layout{grid-template-columns:1fr;gap:18px}.frame-visual{position:static}.frame-stage{min-height:240px}.frame-stage canvas{max-height:340px}.frame-swatches{grid-template-columns:repeat(3,1fr)}}
