.model-viewer-container{width:100%;height:100%;color:var(--color4);background-color:#fff;border-radius:8px;flex-direction:row;display:flex;overflow:hidden;box-shadow:0 4px 12px #0000001a}.viewer-main{background-color:#f0f0f0;flex:2;position:relative}.canvas-container{width:100%;height:100%}.viewer-reference-image{object-fit:contain;z-index:10;border:2px solid #fff;border-radius:4px;width:100px;height:100px;position:absolute;top:20px;left:20px;box-shadow:0 2px 8px #0003}.viewer-status-overlay{box-sizing:border-box;width:100%;height:100%;font-weight:700;font-family:var(--font-helvetica);pointer-events:none;transition:"top 0.5s ease-in-out, left 0.5s ease-in-out";z-index:20;background-color:#fffc;flex-direction:column;justify-content:center;align-items:center;padding:1rem 2rem;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.viewer-status-overlay-spinner{border:4px solid #f3f3f3;border-top-color:#3498db;border-radius:50%;width:20px;height:20px;margin:10px auto;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.viewer-model-control-guide{color:#fff;pointer-events:none;white-space:nowrap;background-color:#0009;border-radius:12px;padding:.4rem .8rem;font-size:.8rem;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.viewer-model-control-guide p{margin:0}.viewer-model-touch-guide{display:none}.viewer-controls{box-sizing:border-box;border-left:1px solid var(--color4a);background-color:#fff;flex-direction:column;flex:1;gap:1.5rem;padding:1.5rem;display:flex;overflow-y:auto}.viewer-controls h3{color:var(--color4);border-bottom:2px solid var(--color2);margin-top:0;padding-bottom:.5rem;font-size:1.25rem}.control-section{flex-direction:column;gap:.75rem;display:flex}.control-section label{color:var(--color4c);text-transform:uppercase;letter-spacing:.5px;font-size:.9rem;font-weight:700}.color-grid{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.color-swatch{cursor:pointer;border:2px solid #e0e0e0;border-radius:50%;width:32px;height:32px;transition:all .2s;box-shadow:0 2px 4px #0000001a}.color-swatch:hover{transform:scale(1.1);box-shadow:0 4px 8px #00000026}.color-swatch.selected{border:2px solid var(--color2);transform:scale(1.15);box-shadow:0 0 0 2px #fff,0 4px 8px #0003}.radio-group{background-color:var(--color3);border-radius:6px;gap:.5rem;padding:4px;display:flex}.radio-group button{cursor:pointer;color:var(--color4c);background:0 0;border:none;border-radius:4px;flex:1;padding:.5rem;font-size:.9rem;transition:all .2s}.radio-group button.model-viewer-active{color:var(--color4);background-color:#fff;font-weight:600;box-shadow:0 1px 3px #0000001a}.color-picker-custom{border:1px solid var(--color4a);border-radius:4px;align-items:center;gap:1rem;padding:.5rem;display:flex}.current-color{border:1px solid #0000001a;border-radius:50%;width:24px;height:24px}.size-buttons{gap:.5rem;display:flex}.size-buttons button{border:1px solid var(--color4a);color:var(--color4);cursor:pointer;background-color:#fff;border-radius:4px;flex:1;padding:.5rem;transition:background .2s,border-color .2s,color .2s}.size-buttons button.model-viewer-active{background-color:var(--color1);border-color:var(--color1);color:#fff;font-weight:600}.size-buttons button:hover:not(.model-viewer-active){border-color:var(--color4c);background-color:#f5f5f5;font-weight:600}.size-buttons button p{margin:.3rem 0 0}.custom-dimensions{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.dim-input{flex-direction:column;align-items:flex-start;gap:4px;font-size:.9rem;display:flex}.dim-label{margin-bottom:2px;font-weight:700}.dim-input input{border:1px solid var(--color4a);text-align:right;border-radius:4px;width:60px;padding:4px}input[type=range]{width:100%}.disabled-controls{opacity:.6;pointer-events:none;cursor:not-allowed}.disabled-controls button,.disabled-controls input,.disabled-controls .color-swatch{pointer-events:none}.model-viewer-price-summary{border-top:1px solid var(--color4a);margin-top:auto;padding-top:1rem}.model-viewer-price-row{color:var(--color4c);justify-content:space-between;margin-bottom:.5rem;font-size:.95rem;display:flex}.model-viewer-price-row.total{color:var(--color1);margin-top:.5rem;font-size:1.2rem;font-weight:700}.cart-actions-row{gap:1rem;margin-top:1.5rem;display:flex}.checkout-button,.add-to-cart-button{border:2px solid var(--color1);cursor:pointer;text-transform:uppercase;letter-spacing:1px;border-radius:50px;flex:1;padding:.75rem 1.5rem;font-size:.9rem;font-weight:700;transition:all .2s;box-shadow:0 4px 6px #0000001a}.checkout-button{background-color:var(--color1);color:#fff}.add-to-cart-button{color:var(--color1);border:2px solid var(--color1);background-color:#fff}.checkout-button:hover,.add-to-cart-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.checkout-button:active,.add-to-cart-button:active{transform:translateY(0)}.checkout-button:disabled,.add-to-cart-button:disabled{background-color:var(--color4b);color:#fff;cursor:not-allowed;opacity:.7;box-shadow:none;border:none;transform:none}.model-viewer-publish-row{justify-content:center;margin-top:1rem;display:flex}.model-viewer-btn-secondary{border:2px solid var(--color4a);width:100%;color:var(--color4);cursor:pointer;text-transform:uppercase;letter-spacing:1px;background-color:#0000;border-radius:50px;justify-content:center;align-items:center;gap:8px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:700;transition:all .2s;display:flex}.model-viewer-btn-secondary:hover:not(:disabled){border-color:var(--color1);color:var(--color1);transform:translateY(-2px);box-shadow:0 4px 6px #0000000d}.model-viewer-btn-secondary:active:not(:disabled){transform:translateY(0)}.model-viewer-btn-secondary:disabled{border-color:var(--color4a);color:var(--color4b);cursor:not-allowed;opacity:.7;box-shadow:none;transform:none}.instruction-guide{color:var(--color4c);margin:0;font-size:.85rem;font-style:italic;line-height:1.4}.custom-instruction-input{border:1px solid var(--color4a);box-sizing:border-box;resize:vertical;background-color:#fafafa;border-radius:4px;width:100%;padding:.75rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}.custom-instruction-input:focus{border-color:var(--color2);background-color:#fff;outline:none}@media (max-width:900px){.model-viewer-container{border-radius:0;flex-direction:column;height:auto!important}.viewer-main{flex:none;height:50vh;min-height:400px}.viewer-controls{border-left:none;border-top:1px solid var(--color4a);flex:none;gap:1.25rem;width:100%;padding:1.5rem}.cart-actions-row{flex-direction:column;gap:.75rem}.model-viewer-publish-row{margin-top:.75rem}.viewer-model-mouse-guide{display:none}.viewer-model-touch-guide{display:block}.viewer-reference-image{width:80px;height:80px;top:10px;left:10px}.viewer-status-overlay{text-align:center;padding:.75rem;font-size:.9rem}}@media (min-width:1920px){.viewer-controls{gap:2rem;padding:2.5rem}.viewer-controls h3{padding-bottom:.75rem;font-size:1.5rem}.control-section label{font-size:1rem}.model-viewer-price-row{font-size:1.1rem}.model-viewer-price-row.total{margin-top:1rem;font-size:1.4rem}.checkout-button,.add-to-cart-button{padding:1rem 2rem;font-size:1.1rem}.model-viewer-publish-row{margin-top:1.5rem}.model-viewer-btn-secondary{gap:12px;padding:1rem 2rem;font-size:1.1rem}.color-swatch{width:40px;height:40px}.radio-group button{padding:.75rem;font-size:1rem}}
