/* One interaction contract for all eight product templates. */
html body.kw-square-product-media,html body.kw-square-product-media main{
 --kw-ui-ink:#302920;--kw-ui-muted:#776c60;--kw-ui-accent:#98643f;
 --kw-ui-line:#dfd8ce;--kw-ui-paper:#f7f5f1;--kw-ui-radius:25px;
}
html body.kw-square-product-media main :is(.kw-gallery-stage,.kl-stage){width:100%!important;max-width:100%!important;margin-inline:0!important;border:1px solid var(--kw-ui-line)!important;background:#fff!important}
/* The photo fills its content column. Its width never depends on viewport height. */
@media(min-width:801px){
 html body.kw-square-product-media main :is(.kwmclaren-layout,.kw4024-layout,.kw4034-layout,.kw6004-layout,.kw2920-layout,.kw7001-layout,.kl-hero){display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:48px!important}
}
html body.kw-square-product-media main :is(.kw-gallery-arrow,.kl-prev,.kl-next){
 position:absolute!important;top:50%!important;transform:translateY(-50%)!important;display:flex!important;align-items:center;justify-content:center;
 width:44px!important;height:44px!important;min-height:0!important;padding:0!important;margin:0!important;
 border:1px solid var(--kw-ui-line)!important;border-radius:50%!important;background:#ffffffef!important;color:var(--kw-ui-ink)!important;
 font-family:inherit!important;font-size:26px!important;line-height:1!important;z-index:3;cursor:pointer;
}
html body.kw-square-product-media main :is(.kw-gallery-prev,.kl-prev){left:12px!important;right:auto!important}
html body.kw-square-product-media main :is(.kw-gallery-next,.kl-next){right:12px!important;left:auto!important}
html body.kw-square-product-media main :is(.kw-gallery-open span,.kl-zoom){
 position:absolute!important;inset:auto 12px 12px auto!important;display:inline-flex!important;align-items:center;justify-content:center;
 width:auto!important;height:auto!important;padding:8px 12px!important;margin:0!important;border:1px solid var(--kw-ui-line)!important;
 border-radius:25px!important;background:#fff!important;color:var(--kw-ui-ink)!important;font:inherit!important;font-size:13px!important;line-height:1.4!important;
}
html body.kw-square-product-media main :is(.kw-gallery-track-wrap,.kw-ui-thumbs-shell){display:flex!important;align-items:center!important;gap:8px!important;width:100%!important;min-width:0!important;margin:12px 0 0!important;padding:0!important}
html body.kw-square-product-media main :is(.kw-gallery-track-wrap [id$="-thumbs"],.kl-thumbs){
 display:flex!important;flex:1 1 0!important;flex-wrap:nowrap!important;min-width:0!important;max-width:100%!important;gap:10px!important;
 padding:4px 3px!important;margin:0!important;overflow-x:auto!important;overflow-y:hidden!important;
 scroll-snap-type:x proximity;scroll-padding-inline:3px;overscroll-behavior-x:contain;scrollbar-width:none!important;
}
html body.kw-square-product-media main :is(.kw-gallery-track-wrap [id$="-thumbs"],.kl-thumbs)::-webkit-scrollbar{display:none}
html body.kw-square-product-media main :is(.kw-gallery-track-wrap [id$="-thumbs"],.kl-thumbs)>button{
 box-sizing:border-box!important;flex:0 0 76px!important;width:76px!important;height:76px!important;min-width:0!important;min-height:0!important;aspect-ratio:1!important;
 display:block!important;padding:0!important;margin:0!important;border:1px solid var(--kw-ui-line)!important;border-radius:25px!important;
 background:#fff!important;overflow:hidden!important;box-shadow:none!important;scroll-snap-align:center;cursor:pointer;
}
html body.kw-square-product-media main :is(.kw-gallery-track-wrap [id$="-thumbs"],.kl-thumbs)>button[aria-pressed=true]{border:2px solid var(--kw-ui-accent)!important;background:#fbf7f0!important;box-shadow:inset 0 0 0 1px var(--kw-ui-accent)!important}
html body.kw-square-product-media main :is(.kw-gallery-track-wrap [id$="-thumbs"],.kl-thumbs) img{display:block!important;width:100%!important;height:100%!important;aspect-ratio:1!important;object-fit:contain!important;padding:0!important;margin:0!important;border-radius:0!important}
html body.kw-square-product-media main :is(.kw-gallery-track-arrow,.kw-ui-thumb-arrow){
 display:flex;flex:0 0 32px!important;align-items:center;justify-content:center;box-sizing:border-box!important;
 width:32px!important;height:44px!important;min-height:44px!important;padding:0!important;margin:0!important;
 border:1px solid var(--kw-ui-line)!important;border-radius:25px!important;background:#fff!important;color:var(--kw-ui-ink)!important;font:inherit!important;font-size:22px!important;line-height:1!important;cursor:pointer;
}
html body.kw-square-product-media main :is(.kw-gallery-track-arrow,.kw-ui-thumb-arrow):disabled{opacity:.35;cursor:default}
html body.kw-square-product-media main :is([id$="-displayed"],.kw-ui-caption){font-size:12px!important;line-height:1.6!important;color:var(--kw-ui-muted)!important;margin:10px 0!important;min-height:20px!important}
html body.kw-square-product-media main .kw-ui-caption{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;justify-content:space-between}
html body.kw-square-product-media main .kw-ui-caption :is(.kl-gallery-status,.kl-image-count){position:static!important;margin:0!important;padding:0!important;background:transparent!important;font:inherit!important;color:inherit!important;border:0!important;letter-spacing:0!important}
html body.kw-square-product-media main .kw-ui-caption .kl-gallery-status{flex:1;min-width:0}
/* Text controls share color, radius and touch size; material swatches stay circular. */
html body.kw-square-product-media main form[id$="-options"] :is(button[data-color],button[data-material],button[data-kl-hardware],select:not(:where(#kwleather-color))){
 box-sizing:border-box!important;min-height:44px!important;border-radius:25px!important;color:var(--kw-ui-ink)!important;border-color:var(--kw-ui-line)!important;
 font-family:inherit!important;font-size:14px!important;line-height:1.4!important;background:#fff!important;
}
html body.kw-square-product-media main form[id$="-options"] :is(button[data-color],button[data-material],button[data-kl-hardware]){appearance:none;-webkit-appearance:none}
/* Keep the hidden select exclusion at zero specificity so selected states win.
   Match the selected thumbnail: 2px warm-brown border plus 1px inner ring. */
html body.kw-square-product-media main form[id$="-options"] :is(button[data-color],button[data-material],button[data-kl-hardware])[aria-pressed=true]{border:2px solid var(--kw-ui-accent)!important;background:#fbf7f0!important;box-shadow:inset 0 0 0 1px var(--kw-ui-accent)!important}
html body.kw-square-product-media main form[id$="-options"] button[data-kl-color][aria-pressed=true]{border:2px solid var(--kw-ui-accent)!important;box-shadow:inset 0 0 0 1px var(--kw-ui-accent)!important}
html body.kw-square-product-media main .kl-swatches{gap:7px!important;margin:7px 0 12px!important}
html body.kw-square-product-media main .kl-swatches button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:40px!important;height:40px!important;padding:6px!important;border-radius:50%!important;appearance:none;-webkit-appearance:none}
html body.kw-square-product-media main .kl-swatches span{width:24px!important;height:24px!important;border-radius:50%!important}
html body.kw-square-product-media main .kl-hardware{gap:7px!important;margin:7px 0 0!important}
html body.kw-square-product-media main .kl-hardware button{padding:8px 12px!important}
html body.kw-square-product-media main :is(.kwmclaren-cta,.kw4024-cta,.kw4034-cta,.kw6004-cta,.kw2920-cta,.kw7001-cta,.kl-cta){box-sizing:border-box;min-height:48px!important;padding:14px 20px!important;border-radius:25px!important;background:var(--kw-ui-accent)!important;border-color:var(--kw-ui-accent)!important;color:#fff!important;font-size:14px!important;line-height:1.4!important}
/* The same floating details navigation, including the 44px arrow touch targets. */
html body.kw-square-product-media main :is(.kw-product-tabs-shell,.kl-tabs-shell){gap:0!important;padding:7px 0!important;border-radius:0!important;border-block:1px solid var(--kw-ui-line)!important;background:#fffdf9!important}
html body.kw-square-product-media main :is(.kw-product-tabs-shell .kw-product-tabs,.kl-tabs-shell .kl-section-nav){display:flex!important;gap:8px!important;padding:3px 0!important;margin:0!important;border:0!important;min-width:0;flex:1;scrollbar-width:none}
html body.kw-square-product-media main :is(.kw-product-tabs-shell,.kl-tabs-shell) [role=tab]{display:inline-flex!important;align-items:center;box-sizing:border-box!important;min-height:44px!important;padding:10px 18px!important;border:1px solid transparent!important;border-radius:25px!important;font-family:inherit!important;font-size:14px!important;line-height:1.6!important;color:var(--kw-ui-ink)!important;background:transparent!important}
html body.kw-square-product-media main :is(.kw-product-tabs-shell,.kl-tabs-shell) [role=tab][aria-selected=true]{background:var(--kw-ui-accent)!important;border-color:var(--kw-ui-accent)!important;color:#fff!important}
html body.kw-square-product-media main :is(.kw-product-tabs-shell,.kl-tabs-shell) :is(.kw-tab-arrow,.kl-tab-arrow){
 position:relative!important;isolation:isolate;display:flex!important;align-items:center;justify-content:center;box-sizing:border-box!important;flex:0 0 44px!important;width:44px!important;height:44px!important;min-height:44px!important;
 padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;font:inherit!important;font-size:12px!important;line-height:1!important;color:var(--kw-ui-ink)!important;cursor:pointer;
}
html body.kw-square-product-media main :is(.kw-tab-arrow,.kl-tab-arrow)::before{content:"";position:absolute!important;z-index:-1;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:22px!important;height:22px!important;box-sizing:border-box!important;border:1px solid var(--kw-ui-line)!important;border-radius:50%!important;background:#f7f5f1!important}
html body.kw-square-product-media main :is(.kw-product-tabs-shell,.kl-tabs-shell)[data-overflow=false] :is(.kw-tab-arrow,.kl-tab-arrow){display:none!important}
html body.kw-square-product-media main :is(.kw-tab-arrow,.kl-tab-arrow):disabled{opacity:.35!important;cursor:default}
html body.kw-square-product-media main :is(.kw-gallery-track-wrap,.kw-ui-thumbs-shell,.kw-product-tabs-shell,.kl-tabs-shell,form[id$="-options"]) :is(button,a,select):focus-visible{outline:3px solid var(--kw-ui-accent)!important;outline-offset:3px!important}
@media(max-width:800px){
 html body.kw-square-product-media main :is(.kw-gallery-arrow,.kl-prev,.kl-next){width:40px!important;height:40px!important}
 html body.kw-square-product-media main :is(.kw-gallery-track-wrap,.kw-ui-thumbs-shell){gap:6px!important}
 html body.kw-square-product-media main :is(.kw-gallery-track-wrap [id$="-thumbs"],.kl-thumbs){gap:8px!important}
 html body.kw-square-product-media main :is(.kw-gallery-track-wrap [id$="-thumbs"],.kl-thumbs)>button{flex-basis:66px!important;width:66px!important;height:66px!important}
 html body.kw-square-product-media main :is(.kw-gallery-open span,.kl-zoom){font-size:11px!important;padding:6px 9px!important}
 html body.kw-square-product-media main form[id$="-options"]{box-sizing:border-box!important;width:100%!important;min-width:0;display:flex;flex-direction:column;gap:7px;margin:10px 0 0!important;padding:14px!important;border:1px solid var(--kw-ui-line)!important;border-radius:25px!important;background:var(--kw-ui-paper)!important}
 html body.kw-square-product-media main form[id$="-options"] :is(button[data-color],button[data-material],button[data-kl-hardware],select:not(:where(#kwleather-color))){font-size:12px!important}
 html body.kw-square-product-media main :is(.kwmv-chooser,.kw-ui-mobile-chooser){width:100%;min-width:0;max-width:100%;padding-bottom:0!important}
 html body.kw-square-product-media main .kl-config{padding-top:18px}
 html body.kw-square-product-media main :is(.kw-product-tabs-shell,.kl-tabs-shell) [role=tab]{padding:10px 14px!important}
 html body.kw-square-product-media main .kl-reference-label{display:none!important}
}
@media(prefers-reduced-motion:reduce){html body.kw-square-product-media main :is(.kw-ui-thumbs-shell,.kw-gallery-track-wrap,.kl-thumbs){scroll-behavior:auto!important}}
/* Matching lightboxes and inquiry surfaces without changing their image renderer. */
html body.kw-square-product-media :is(.kw-gallery-dialog,.kl-viewer){box-sizing:border-box!important;width:min(calc(100vw - 32px),1400px)!important;max-width:1400px!important;height:min(92dvh,1100px)!important;max-height:92dvh!important;margin:auto!important;padding:16px!important;border:1px solid var(--kw-ui-line)!important;border-radius:25px!important;background:#fff!important;color:var(--kw-ui-ink)!important;gap:10px!important}
html body.kw-square-product-media :is(.kw-gallery-dialog-head,.kl-viewer-head){display:flex!important;align-items:center!important;flex-wrap:wrap!important;flex:none!important;gap:8px!important;padding:0!important;font-size:14px!important}
html body.kw-square-product-media :is(.kw-gallery-dialog-head,.kl-viewer-head) strong{flex:1!important;min-width:160px!important;font-size:14px!important;font-weight:600!important}
html body.kw-square-product-media :is(.kw-gallery-dialog,.kl-viewer) :is(button,.kw-gallery-original){box-sizing:border-box!important;min-height:42px!important;padding:9px 13px!important;border:1px solid var(--kw-ui-line)!important;border-radius:25px!important;background:#fff!important;color:var(--kw-ui-ink)!important;font:inherit!important;font-size:14px!important;line-height:1.4!important}
html body.kw-square-product-media :is(.kw-gallery-dialog-view,.kl-viewer-view){border-radius:25px!important;background:#fff!important}
html body.kw-square-product-media :is(.kw-gallery-dialog-foot,.kl-viewer-foot){display:flex;align-items:center;justify-content:center;flex:none;gap:12px!important;padding:0!important}
html body.kw-square-product-media :is(.kw-gallery-dialog-foot,.kl-viewer-foot) p{flex:1;font-size:13px!important;line-height:1.5!important;margin:0!important;text-align:center}
html body.kw-square-product-media .kwp-dialog{background:#fffdf9!important;color:var(--kw-ui-ink)!important;border-color:var(--kw-ui-line)!important;border-radius:25px!important}
html body.kw-square-product-media .kwp-dialog :is(.kwp-reference img,.kwp-preferences,.kwp-head button,.kwp-submit,input:not([type=checkbox]):not([type=file]),select,textarea){border-radius:25px!important}
html body.kw-square-product-media .kwp-dialog :is(input:not([type=checkbox]):not([type=file]),select,textarea){color:var(--kw-ui-ink)!important;border-color:var(--kw-ui-line)!important;font-size:16px!important}
html body.kw-square-product-media .kwp-dialog .kwp-head button{background:#fff!important;border-color:var(--kw-ui-line)!important;color:var(--kw-ui-ink)!important;min-height:42px!important}
html body.kw-square-product-media .kwp-dialog .kwp-submit{background:var(--kw-ui-accent)!important;color:#fff!important;min-height:44px!important}
html body.kw-square-product-media :is(.kw-gallery-dialog,.kl-viewer,.kwp-dialog) :is(button,a,input,select,textarea):focus-visible{outline-color:var(--kw-ui-accent)!important}
@media(max-width:800px){
 html body.kw-square-product-media :is(.kw-gallery-dialog,.kl-viewer){padding:12px!important}
 html body.kw-square-product-media :is(.kw-gallery-dialog-head,.kl-viewer-head){justify-content:flex-end!important}
 html body.kw-square-product-media :is(.kw-gallery-dialog-head,.kl-viewer-head) strong{flex-basis:100%!important}
 html body.kw-square-product-media :is(.kw-gallery-dialog-foot,.kl-viewer-foot){gap:8px!important}
}
