/* Controls complement the original-photo studio without a rendering library. */
.rotation-control{background:#e8e9e2;padding:26px 36px 24px;border:1px solid #ced2c9;border-top:0}
.rotation-control label{font-size:12px;font-weight:600;display:block;margin-bottom:17px}
.rotation-control input{display:block;width:100%;height:44px;padding:0;accent-color:#c6222b;cursor:ew-resize}
.rotation-control>div{display:flex;justify-content:space-between;font-size:10px;color:#5f665c;margin-top:6px}
.viewer-drag-hint{position:absolute;top:26px;left:30px;z-index:3;font-size:10px;letter-spacing:.03em;color:#e8ece5;pointer-events:none}
.premium-gallery .viewer{touch-action:pan-y;cursor:grab;user-select:none}
.premium-gallery .viewer.is-dragging{cursor:grabbing}
.premium-gallery .viewer img{-webkit-user-drag:none}
.premium-gallery .view-thumbs{grid-template-columns:repeat(3,1fr)}
.premium-gallery .viewer-image-wrap{mix-blend-mode:multiply}
.viewer-image-wrap.is-view-changing{animation:perspective-reveal .32s ease}
@keyframes perspective-reveal{from{opacity:.7;transform:perspective(1000px) rotateY(var(--view-entry,5deg)) scale(.985)}to{opacity:1;transform:perspective(1000px) rotateY(0) scale(1)}}
.accessory-fieldset{border:0;padding:0;margin:30px 0 32px;min-width:0}
.accessory-fieldset legend{padding:0}
.accessory-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:17px}
.accessory-option{display:flex;align-items:flex-start;gap:12px;border:1px solid #b8bfb1;background:#f7f8f2;padding:19px 16px;cursor:pointer;min-height:115px;transition:border-color .2s,background .2s}
.accessory-option:has(input:checked){border-color:#d52931;background:#fff6f1;box-shadow:inset 0 0 0 1px #d52931}
.accessory-option input{width:20px;height:20px;flex-shrink:0;accent-color:#d52931;margin:1px 0 0}
.accessory-option>span{flex:1;min-width:0}
.accessory-option-title{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;line-height:1.5}
.accessory-option-title b{font-size:12px;white-space:nowrap;color:#9e2129}
.accessory-option small{font-size:10px;line-height:1.7;color:#5e6758;display:block;margin-top:8px}
.accessory-unit-note{font-size:10px;line-height:1.75;color:#646d5d;margin-top:14px}
.included-equipment{display:flex;align-items:center;gap:12px;padding:18px 16px;background:#e9eee2;border:1px solid #cad4bf;min-height:115px;color:#34482c}
.included-equipment>span{display:flex;align-items:center;justify-content:center;width:23px;height:23px;border:1px solid #8ea381;border-radius:50%;flex-shrink:0;font-size:13px}
.included-equipment p{font-size:12px;line-height:1.7}
.included-equipment strong{display:block;font-size:11px;font-weight:500;color:#567345}
.order-cost-breakdown .order-subtotal-row{border-top:1px solid #bfc5b8;padding-top:12px;margin-top:8px;font-weight:600}
.order-summary{margin-top:30px;padding-top:28px;border-top:1px solid #cbd4bf}
.order-summary .order-step-title{margin-bottom:17px}
.order-summary .order-cost-breakdown{margin-top:0;padding-top:0;border-top:0}
.order-summary .order-final-total{margin-top:17px}
.order-product .order-image-stage+ #order-variant-label{margin-top:18px}
.contact-fields-wrapper[hidden],#order-backrest-request[hidden],#order-submit[hidden],#order-backrest-note[hidden],#order-standard-transfer[hidden]{display:none!important}
.configuration-request-note{font-size:12px;line-height:1.8;background:#e7ecdf;border-left:3px solid #727e65;padding:17px 20px;margin-bottom:20px;color:#36412d}
#order-backrest-request{white-space:normal;gap:12px}
@media(max-width:760px){.rotation-control{padding:20px 22px}.viewer-drag-hint{top:17px;left:19px;font-size:9px}.accessory-options{gap:10px}.accessory-option{padding:15px 12px;gap:9px}.accessory-option-title{font-size:11px}.accessory-option input{width:19px;height:19px}.accessory-fieldset{margin-top:25px}.premium-gallery .viewer-drag-hint{max-width:230px}.order-form-panel .configuration-fields{grid-template-columns:minmax(0,1fr) 70px}}
@media(max-width:370px){.accessory-options{grid-template-columns:1fr}.accessory-option{min-height:85px}.accessory-option-title{flex-direction:row;justify-content:space-between;flex-wrap:wrap}.order-form-panel .configuration-fields{grid-template-columns:minmax(0,1fr)}.order-field.quantity-field{max-width:110px}}
@media(prefers-reduced-motion:reduce){.viewer-image-wrap.is-view-changing{animation:none}.accessory-option{transition:none}}
