@font-face{font-family:KcapsR4Art;src:url('../fonts/montserrat-700.ttf') format('truetype');font-weight:700;font-display:swap}
#single-product[data-kcaps-r4] [hidden]{display:none!important}
.kc-r4-viewer,.kc-r4-controls{font-family:inherit;color:inherit}
.kc-r4-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.kc-r4-tabs button{font-family:inherit;font-size:13px;padding:10px 13px;border:1px solid #dbcde2;border-radius:30px;background:transparent;line-height:1.2;color:#65177f}.kc-r4-tabs button[aria-pressed=true]{background:#65177f;color:#fff;border-color:#65177f}
.kc-r4-stage{position:relative;width:100%;aspect-ratio:1/1;min-height:300px;max-height:660px;border-radius:18px;overflow:hidden;background:radial-gradient(ellipse at 50% 42%,#e5d1ed,#f8f3fa 74%)}.kc-r4-stage canvas{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:none;cursor:grab}.kc-r4-stage canvas:active{cursor:grabbing}.kc-r4-profile{position:absolute;top:22px;left:22px;font-size:11px;letter-spacing:2px;color:#65177f;z-index:1;pointer-events:none}.kc-r4-stage p{position:absolute;bottom:27px;left:16px;right:16px;text-align:center;margin:0;color:#68566e;font-size:13px;pointer-events:none}.kc-r4-stage>button{position:absolute;right:15px;top:14px;color:#65177f;font-size:12px}.kc-r4-caption{font-size:12px;line-height:1.6;color:#6f6076;margin:12px 0 16px}
.kc-r4-flat{padding:16px;border:1px solid #e3d9e8;border-radius:18px;background:#f8f5fa}.kc-r4-flat canvas{display:block;width:100%;height:auto;touch-action:none;border-radius:8px}.kc-r4-flat p{font-size:12px;line-height:1.6;text-align:center;margin:12px 0 0;color:#6f6076}
.kc-r4-controls{border-top:1px solid #e3d9e8;padding:22px 0 18px;margin:14px 0}.kc-r4-controls h2{margin-bottom:8px}.kc-r4-controls>p{line-height:1.6}.kc-r4-upload{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;cursor:pointer;text-align:center;border:1px dashed #aa83ba;background:#faf6fc;padding:23px 12px;border-radius:12px;color:#65177f;margin:16px 0 10px}.kc-r4-upload strong{font-size:16px}.kc-r4-upload span{font-size:12px;color:#6e5c75}.kc-r4-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.kc-r4-upload:focus-within{outline:2px solid #65177f;outline-offset:3px}.kc-r4-file-row{display:flex;gap:12px;align-items:center;font-size:12px;margin-bottom:18px}.kc-r4-file-row>span{min-width:0;overflow-wrap:anywhere;flex:1}.kc-r4-file-row button{font-size:12px;flex:none}
.kc-r4-slider{margin:16px 0}.kc-r4-slider>label{display:block;font-size:13px;margin-bottom:8px}.kc-r4-slider>div{display:flex;gap:14px;align-items:center}.kc-r4-slider input[type=range]{accent-color:#65177f;flex:1;min-width:0;cursor:pointer}.kc-r4-slider>div>label{display:flex;gap:4px;align-items:center;font-size:13px}.kc-r4-slider input[type=number]{width:64px;padding:7px;border:1px solid #dccde3;border-radius:7px;background:transparent;color:inherit;font:inherit}
.kc-r4-actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.kc-r4-actions button{font-size:12px;padding:9px 11px;border-radius:8px;line-height:1.2}.kc-r4-details{padding:12px 0;border-top:1px solid #e6dce9;border-bottom:1px solid #e6dce9}.kc-r4-details summary{cursor:pointer;font-size:13px;font-weight:600}.kc-r4-details>label{display:block;font-size:13px;margin-top:12px}.kc-r4-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}.kc-r4-fields label{font-size:12px;min-width:0}.kc-r4-fields input{margin-top:6px}.kc-r4-details .form-control{width:100%;margin-bottom:0}.kc-r4-color{display:flex;gap:14px;align-items:center;margin:16px 0}.kc-r4-color>label{display:flex;gap:10px;align-items:center;font-size:13px}.kc-r4-color>span{font-size:11px;line-height:1.5;max-width:130px}.kc-r4-controls input[type=color]{display:block;width:40px;height:34px;padding:2px;border:1px solid #d8c8e0;border-radius:7px;background:transparent;cursor:pointer}.kc-r4-confirm{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.6;margin:18px 0 10px}.kc-r4-confirm input{margin:4px 0 0;accent-color:#65177f;flex:none}.kc-r4-status{min-height:20px;line-height:1.6;color:#67546e}.kc-r4-status.is-error{color:#a52835}
.kc-r4-dialog{font-family:inherit;box-sizing:border-box;color:#342039;border:1px solid #dacbe1;border-radius:18px;padding:28px;max-width:520px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;background:#fff}.kc-r4-dialog::backdrop{background:#27152f99}.kc-r4-dialog h2{font-size:23px;margin:0 0 16px}.kc-r4-dialog p{font-size:14px;line-height:1.6}.kc-r4-dialog label{display:block;font-size:13px;margin:13px 0}.kc-r4-dialog input{box-sizing:border-box;max-width:100%}.kc-r4-dialog .kc-r4-modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.kc-r4-dialog .btn{font-family:inherit;padding:12px 18px;border-radius:8px;cursor:pointer}.kc-r4-dialog img{width:140px;display:block;border:1px solid #e5dae9;border-radius:8px;margin:12px 0}.kc-r4-dialog [data-review-price]{font-size:22px;font-weight:600}.kc-r4-dialog [data-modal-status]{color:#704581;overflow-wrap:anywhere}.kc-r4-dialog [data-modal-status].is-error{color:#a52835}
@media(prefers-reduced-motion:no-preference){.kc-r4-upload{transition:background .2s,border-color .2s}.kc-r4-upload:hover{background:#f1e5f6;border-color:#65177f}}
@media(max-width:767px){.kc-r4-tabs{gap:6px}.kc-r4-tabs button{padding:9px 11px;font-size:12px}.kc-r4-stage{min-height:270px}.kc-r4-controls{padding-top:18px}.kc-r4-controls input,.kc-r4-dialog input{font-size:16px!important}.kc-r4-color{justify-content:space-between}.kc-r4-dialog{padding:22px}}

#single-product[data-kcaps-r4] .kc-r4-photos{display:grid;grid-template-columns:1fr;gap:14px;width:100%;min-width:0}#single-product[data-kcaps-r4] .kc-r4-photos a{display:block;width:100%;overflow:hidden;border-radius:14px}#single-product[data-kcaps-r4] .kc-r4-photos img{display:block;position:static;width:100%;height:auto;max-width:100%;object-fit:contain}

.kc-r4-dialog [hidden]{display:none!important}.kc-r4-dialog button:disabled{opacity:.5;cursor:wait}.kc-r4-dialog [data-review-buy]{white-space:normal;line-height:1.4}

/* R4 only: replace the native flex gallery sizing with two bounded columns. */
#single-product[data-kcaps-r4] .product-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
#single-product[data-kcaps-r4] .product-images{display:block;width:100%;max-width:100%;min-width:0;flex:none;align-self:start}
#single-product[data-kcaps-r4] .product-info{width:100%;max-width:100%;min-width:0}
#single-product[data-kcaps-r4] .kc-r4-viewer{display:block;width:100%;min-width:0;box-sizing:border-box}
#single-product[data-kcaps-r4] .kc-r4-tabs{width:100%;box-sizing:border-box}
@media(min-width:768px){
 #single-product[data-kcaps-r4] .product-columns{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,3vw,48px)}
 #single-product[data-kcaps-r4] .product-images{position:sticky;top:var(--kc-r4-sticky-top,160px)}
 #single-product[data-kcaps-r4] .kc-r4-stage{min-height:280px;max-height:min(660px,calc(100dvh - var(--kc-r4-sticky-top,160px) - 100px))}
}
@media(max-width:767px){#single-product[data-kcaps-r4] .product-images{position:static}#single-product[data-kcaps-r4] .kc-r4-stage{min-height:0;max-height:none}}

/* Contain theme input widths inside the personalization controls. */
#single-product[data-kcaps-r4] .kc-r4-controls,#single-product[data-kcaps-r4] .kc-r4-controls *{box-sizing:border-box}
#single-product[data-kcaps-r4] .kc-r4-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;width:100%}
#single-product[data-kcaps-r4] .kc-r4-fields>label,#single-product[data-kcaps-r4] .kc-r4-text-fields>label{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;min-width:0;margin:0;line-height:1.5}
#single-product[data-kcaps-r4] .kc-r4-controls .form-control{display:block;width:100%;max-width:100%;min-width:0;margin:0;box-sizing:border-box}
#single-product[data-kcaps-r4] .kc-r4-controls input[type=color]{flex:none;width:44px;max-width:44px;height:40px;margin:0;padding:3px}
#single-product[data-kcaps-r4] .kc-r4-position{padding:4px 0 16px}
#single-product[data-kcaps-r4] .kc-r4-help{font-size:12px;line-height:1.6;color:#6f6076;margin:14px 0}
#single-product[data-kcaps-r4] .kc-r4-slider>div{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:16px;align-items:center;width:100%;min-width:0}
#single-product[data-kcaps-r4] .kc-r4-slider>div>label{display:flex;align-items:center;gap:5px;min-width:0;width:88px;margin:0}
#single-product[data-kcaps-r4] .kc-r4-slider input[type=number]{width:68px;max-width:68px;min-width:0;min-height:38px;margin:0;padding:7px}
#single-product[data-kcaps-r4] .kc-r4-slider input[type=range]{display:block;width:100%;max-width:100%;min-width:0;margin:0;height:32px;padding:0}
#single-product[data-kcaps-r4] .kc-r4-axis{display:flex;justify-content:space-between;width:calc(100% - 104px);font-size:11px;line-height:1.5;color:#6f6076;margin-top:2px}
#single-product[data-kcaps-r4] .kc-r4-text-fields{padding:18px 0 6px;border-top:1px solid #e6dce9}
#single-product[data-kcaps-r4] .kc-r4-color{gap:16px;flex-wrap:wrap}
@media(max-width:380px){#single-product[data-kcaps-r4] .kc-r4-fields{grid-template-columns:minmax(0,1fr)}}
