.rb-config { display:grid; grid-template-columns:minmax(0, 1.6fr) minmax(280px, 1fr); gap:2rem; margin:2rem 0; color:#202529; }
.rb-config *, .rb-config *::before, .rb-config *::after { box-sizing:border-box; }
.rb-preview { background:#eeece6; border:1px solid #d4d0c9; padding:2rem; min-height:420px; }
.rb-preview h2 { margin-top:0; }
#rb-render { display:flex; align-items:center; justify-content:center; min-height:290px; padding:1.5rem; overflow:hidden; background:linear-gradient(135deg,#d7d4cd,#f5f3ee); perspective:850px; }
.rb-view-controls { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; margin-top:1rem; }
.rb-view-controls button { border:1px solid #b9c2c8; background:white; color:#26323d; padding:.4rem .75rem; border-radius:4px; cursor:pointer; font-weight:700; }
.rb-view-controls button[aria-pressed="true"] { background:#26323d; border-color:#26323d; color:white; }
.rb-view-controls label { display:flex; align-items:center; gap:.6rem; margin-left:auto; font-size:.85rem; font-weight:700; }
.rb-view-controls input[type="range"] { width:120px; accent-color:#e6534b; }
.rb-view-controls input[type="range"]:disabled { opacity:.45; }
.rb-solid { position:relative; flex:none; transform-style:preserve-3d; transition:transform .2s ease; }
#rb-render .rb-layer { position:absolute; inset:0; display:block; width:100%; height:100%; max-height:none; overflow:visible; filter:none; backface-visibility:visible; }
#rb-render .rb-layer path { fill:var(--rb-side-color); }
#rb-render .rb-face { filter:drop-shadow(9px 15px 7px #16212b55); }
#rb-render .rb-face path { fill:var(--rb-face-color); }
#rb-render { cursor:grab; touch-action:pan-y; user-select:none; -webkit-user-select:none; }
#rb-render.rb-dragging { cursor:grabbing; }
#rb-render.rb-dragging .rb-solid { transition:none; }
#rb-render:focus-visible { outline:3px solid #e6534b; outline-offset:3px; }
.rb-fields { display:grid; align-content:start; gap:1rem; }
.rb-fields label { display:grid; gap:.35rem; font-weight:600; }
.rb-fields input, .rb-fields select, .rb-fields textarea { width:100%; min-height:44px; padding:.55rem .7rem; border:1px solid #9ba0a4; border-radius:4px; background:white; }
.rb-fields .rb-extra { display:flex; align-items:center; flex-wrap:wrap; gap:.45rem; padding:.8rem; border:1px solid #d6dde2; border-radius:5px; cursor:pointer; }
.rb-fields .rb-extra input[type="checkbox"] { width:18px; min-height:18px; height:18px; margin:0 .3rem 0 0; accent-color:#e6534b; }
.rb-fields .rb-extra small { width:100%; margin-left:1.65rem; color:#687782; font-weight:400; }
.rb-fields button { min-height:48px; padding:.8rem 1.2rem; color:white; background:#1c262d; border:0; border-radius:4px; cursor:pointer; font-weight:700; }
.rb-note { font-size:.9rem; }
#rb-price-estimate { margin:0; padding:1rem; border:1px solid #d9aa72; border-radius:5px; background:#fff6e8; color:#26323d; font-size:1.05rem; font-weight:700; }
.rb-unavailable { padding:1rem; border:1px solid #d9aa72; background:#fff6e8; }
@media(max-width:760px) { .rb-config { grid-template-columns:1fr; } .rb-preview { min-height:320px; } }
.rb-preview { align-self:start; position:sticky; top:16px; border-radius:10px; }
.rb-price-summary { padding:18px; background:#fff7ec; border:1px solid #ecd4ae; border-radius:8px; }
.rb-price-summary #rb-price-estimate { border:0; padding:0; background:none; font-size:1.5rem; line-height:1.25; }
#rb-summary { margin:10px 0 0; color:#586774; font-size:.85rem; line-height:1.6; }
#rb-config-error { color:#a02e28; margin:0; font-size:.9rem; }
#rb-config-error:empty { display:none; }
.rb-design-actions { display:flex; flex-wrap:wrap; gap:8px; }
.rb-design-actions button { flex:1; min-height:44px; background:#fff; color:#26323d; border:1px solid #ccd5dc; font-size:.8rem; padding:.6rem; }
.rb-fields button:disabled { opacity:.45; cursor:not-allowed; }
.rb-inquiry { display:block; text-align:center; padding:15px; background:#e6534b; color:white; border-radius:6px; text-decoration:none; font-weight:700; }
.rb-inquiry[hidden] { display:none; }
.rb-inquiry:hover { background:#bf4039; color:white; }
@media(max-width:760px) {
 .rb-preview { position:static; padding:16px; min-height:0; }
 .rb-config { gap:18px; }
 #rb-render { min-height:220px; }
 .rb-price-summary { position:sticky; top:0; z-index:3; box-shadow:0 5px 12px #26323d12; }
}
@media print {
 .header,.topline,.nav,.footer,.rb-product-hero,.rb-related,.rb-product-details,.rb-design-actions,.rb-view-controls,.rb-unavailable { display:none!important; }
 .rb-product-design { padding:0!important; border:0!important; }
 .rb-config { display:block; }
 .rb-preview { position:static; padding:10px; min-height:0; }
 #rb-render { min-height:200px; }
 .rb-fields { gap:8px; }
 .rb-fields input,.rb-fields select { min-height:25px; padding:2px; }
 .rb-price-summary { position:static; }
}

.rb-fields textarea{font:inherit;line-height:1.5;resize:vertical;min-height:100px}.rb-fields label>small{font-weight:400;color:#687782;line-height:1.5}
