/* Functional controls. Visual treatments are managed by Elementor's kc-product-skin class. */
.kc-purchase, .kc-purchase * {box-sizing:border-box}
.kc-purchase form.cart {display:block;width:100%;margin:0}
.kc-purchase .kc-options {width:100%;clear:both}
.kc-purchase fieldset {min-width:0;border:0;padding:0;margin:0 0 40px}
.kc-purchase legend {float:none;width:100%;padding:0;margin:0 0 16px}
.kc-option-grid {display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.kc-option {position:relative;display:flex;align-items:center;gap:12px;min-width:0;margin:0;cursor:pointer}
.kc-option img {width:48px;height:56px;object-fit:contain;flex-shrink:0}
.kc-option-copy {display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.kc-option strong,.kc-option small {display:block}
.kc-option-price {margin-inline-start:auto;white-space:nowrap;flex-shrink:0}
.kc-option input {flex-shrink:0;margin:0}
.kc-purchase .kc-summary {display:flex;flex-direction:column;gap:16px;width:100%}
.kc-summary-heading {display:flex;align-items:center;justify-content:space-between;gap:16px}
.kc-summary-heading>div {min-width:0}
.kc-total {white-space:nowrap;flex-shrink:0}
.kc-purchase .kc-summary p {margin:0}
.kc-purchase .kc-status:empty,.kc-purchase .kc-installation-note:empty {display:none}
.kc-purchase .rey-cartBtnQty {width:100%;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0}
.kc-purchase .rey-cartBtnQty .quantity {flex:0 0 112px;margin:0}
.kc-purchase .single_add_to_cart_button {flex:1;min-width:140px;margin:0}
.kc-purchase .single_variation_wrap {width:100%}
.kc-purchase .kc-camera {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;position:relative}
.kc-purchase .kc-camera legend {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.kc-camera-header {display:flex;gap:12px;align-items:center;grid-column:1/-1;min-width:0}
.kc-camera-header img {width:50px;height:50px;object-fit:contain;flex-shrink:0}
.kc-camera-price {margin-inline-start:auto;white-space:nowrap;flex-shrink:0}
.kc-camera-choices {display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}
.kc-camera-choices label {position:relative;display:block;cursor:pointer;margin:0}
.kc-camera-choices label span {display:block}
.kc-camera-include {position:relative;display:flex;align-items:center;justify-content:center;align-self:end;margin:0;cursor:pointer}
.kc-camera-choices input,.kc-camera-toggle,.kc-group--essentials .kc-option>input {position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip-path:inset(50%)}
.kc-toggle-added {display:none}
.kc-camera-include:has(input:checked) .kc-toggle-label,.kc-option:has(input:checked) .kc-toggle-label {display:none}
.kc-camera-include:has(input:checked) .kc-toggle-added,.kc-option:has(input:checked) .kc-toggle-added {display:inline}
.kc-option-toggle {flex-shrink:0}
.kc-group--warranty_product .kc-option-toggle {display:none}
.kc-group--warranty_product .kc-option-grid {grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.kc-included {cursor:default}
.kc-included>span:last-child {margin-inline-start:auto}
.kc-options [hidden],[data-elementor-type="product"] nav a[hidden] {display:none!important}
[data-elementor-type="product"] [id] {scroll-margin-top:calc(var(--kc-sticky-top,0px) + 100px)}
.kc-option-image {width:100%;height:auto;object-fit:contain}
.kc-attribute-choice {padding:10px 16px;background:transparent;color:inherit;border:1px solid currentColor;margin:4px;cursor:pointer}
.kc-linked-options fieldset {border:0;padding:0;margin:16px 0}
@media(max-width:480px){
 .kc-summary-heading {align-items:flex-start;flex-wrap:wrap}
 .kc-option {flex-wrap:wrap}
 .kc-option-copy {flex-basis:120px}
 .kc-option-price {margin-inline-start:auto}
 .kc-camera-header {flex-wrap:wrap}
 .kc-camera-header .kc-option-copy {flex-basis:120px}
 .kc-purchase .rey-cartBtnQty .quantity {flex-basis:90px}
}
@media(prefers-reduced-motion:reduce){[data-elementor-type="product"] *{scroll-behavior:auto!important;transition:none!important}}

.kc-gallery {min-width:0}
.kc-gallery-caption {display:flex;justify-content:space-between;gap:16px;margin-top:16px}
.kc-gallery .woocommerce-product-gallery__image a {position:relative;display:block}
