.camina-vp-app{--camina-gap:24px;display:grid;grid-template-columns:minmax(320px,1.25fr) minmax(300px,.75fr);gap:var(--camina-gap);align-items:start;width:100%;max-width:1280px;margin:0 auto;padding:18px;box-sizing:border-box;background:#f6f7f9;border-radius:24px}
.camina-vp-stage-wrap{position:sticky;top:20px;height:calc(100vh - 40px);min-height:520px;display:flex;align-items:center;justify-content:center;overflow:visible}
.camina-vp-stage{position:relative;width:100%;height:100%;max-height:760px;background:#e9ecef;border-radius:22px;overflow:hidden;box-shadow:0 18px 45px rgba(0,0,0,.12);user-select:none;touch-action:pan-y;aspect-ratio:4/3}
.camina-vp-stage img[data-role="bgPreview"]{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1}
.camina-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:#667085;font-weight:600;z-index:0}
.camina-object,.camina-object-img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;cursor:grab;touch-action:none;max-width:80%;max-height:80%;border:1px dashed rgba(0,0,0,.25);padding:8px;box-sizing:border-box}
.camina-object{font-size:42px;transform-origin:center center;font-weight:700;line-height:1.05;text-align:center;white-space:pre-wrap;color:#111;background:rgba(255,255,255,.05)}
.camina-object:active,.camina-object-img:active{cursor:grabbing}
.camina-object-img{width:220px;height:auto;padding:0;background:transparent;transform-origin:center center}
.camina-resize-handle{display:none!important}
.camina-vp-panel{height:calc(100vh - 40px);min-height:520px;overflow-y:auto;overscroll-behavior:contain;background:#fff;border-radius:22px;padding:24px;box-shadow:0 18px 45px rgba(0,0,0,.08);box-sizing:border-box;scrollbar-width:thin}
.camina-vp-panel h2{margin:0 0 18px;font-size:28px;line-height:1.1}.camina-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#667085;font-weight:700;margin-bottom:8px}.camina-vp-panel label{display:block;margin:0 0 16px;font-weight:700;color:#1d2939}.camina-vp-panel input,.camina-vp-panel select{width:100%;margin-top:7px;padding:12px 13px;border:1px solid #d0d5dd;border-radius:12px;background:#fff;box-sizing:border-box}.camina-vp-panel input[type=file]{padding:10px;background:#f9fafb}.camina-range-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-top:7px}.camina-range-row input[type=range]{padding:0;margin:0}.camina-range-row output{min-width:56px;text-align:right;font-weight:800;color:#111}
.camina-vp-panel small{display:block;color:#667085;font-weight:400;margin-top:6px}.camina-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.camina-size-box{background:#f9fafb;border:1px solid #eaecf0;border-radius:16px;padding:16px;margin:4px 0 16px}.camina-size-box p{margin:8px 0 14px;color:#667085}.camina-color-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.camina-color-swatch{display:flex;align-items:center;gap:8px;border:1px solid #d0d5dd;background:#fff;border-radius:999px;padding:7px 11px;cursor:pointer}.camina-color-swatch.is-active{outline:3px solid rgba(17,17,17,.18);border-color:#111}.camina-color-dot{width:22px;height:22px;border-radius:99px;border:1px solid rgba(0,0,0,.15)}.camina-price{position:sticky;bottom:0;z-index:5;margin:16px -24px 0;padding:16px 24px;background:linear-gradient(180deg,rgba(255,255,255,.86),#fff 35%);border-top:1px solid #eaecf0;display:flex;align-items:center;justify-content:space-between}.camina-price span{color:#667085}.camina-price strong{font-size:30px}.camina-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.camina-btn{border:0;border-radius:14px;padding:14px 16px;background:#111;color:#fff;font-weight:800;cursor:pointer}.camina-btn-secondary{background:#eaecf0;color:#111}.camina-btn:hover{filter:brightness(.94)}
@media(max-width:900px){.camina-vp-app{display:block;padding:12px;border-radius:18px}.camina-vp-stage-wrap{position:relative;top:auto;height:420px;min-height:320px;margin-bottom:14px}.camina-vp-panel{height:auto;min-height:0;overflow:visible;padding:18px}.camina-price{position:sticky;bottom:0;margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}.camina-object{font-size:30px}.camina-actions{grid-template-columns:1fr}}

.camina-object,.camina-object-img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;}
