/* Product-only enhancement. Catalogue grids, filters and shared shell are unchanged. */
.kv-catalog .wrap{max-width:1360px}
.kv-detail{grid-template-columns:minmax(0,1.28fr) minmax(0,1fr);gap:36px;align-items:start}
.kv-detail>div{min-width:0}
.kv-gallery[data-gallery-ready]{display:block;min-width:0;background:#fff;border:1px solid #d4e1df;border-radius:16px;padding:16px}
.kv-gallery-stage{position:relative;height:clamp(320px,36vw,520px)}
.kv-gallery[data-gallery-ready] figure{display:flex;flex-direction:column;width:100%;height:100%;margin:0;border:0;border-radius:0;padding:0;background:transparent}
.kv-gallery[data-gallery-ready] figure[hidden]{display:none}
.kv-gallery-open{display:flex;align-items:center;justify-content:center;width:100%;min-height:0;flex:1;padding:14px 38px;border:0;background:#fff;cursor:zoom-in;border-radius:10px;touch-action:pan-y}
.kv-gallery[data-gallery-ready] .kv-gallery-open img{display:block;width:100%;height:100%;max-height:100%;object-fit:contain}
.kv-gallery figcaption{display:none!important}
.kv-gallery button{font:inherit}
.kv-gallery button:focus-visible,.kv-lightbox button:focus-visible{outline:3px solid #37b5a3;outline-offset:3px}
.kv-gallery-arrow{position:absolute;top:calc(50% - 24px);width:44px;height:48px;border:1px solid #c4d8d2;border-radius:10px;background:#ffffffed;color:#295f57;font-size:30px!important;line-height:1;cursor:pointer;box-shadow:0 2px 8px #203c3410}
.kv-gallery-arrow--prev{left:0}.kv-gallery-arrow--next{right:0}
.kv-gallery-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:12px 0;color:#5d726e;font-size:12px}
.kv-gallery-expand{border:0;background:none;color:#295f57;text-decoration:underline;cursor:pointer;padding:7px 0;font-size:13px!important;min-height:36px}
.kv-gallery-thumbs{display:grid;grid-auto-flow:column;grid-auto-columns:88px;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:4px 3px 10px;scroll-snap-type:x proximity}
.kv-gallery-thumb{display:flex;align-items:center;justify-content:center;width:88px;height:82px;flex:none;border:1px solid #d4e1df;border-radius:10px;padding:6px;background:#fff;cursor:pointer;scroll-snap-align:center}
.kv-gallery-thumb[aria-current=true]{border:2px solid #24786c;background:#f2f8f6}
.kv-gallery[data-gallery-ready] .kv-gallery-thumb img{width:100%;height:100%;object-fit:contain;max-height:none}
html.kv-gallery-modal-open{overflow:hidden}
.kv-lightbox{box-sizing:border-box;position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;border:0;padding:0;background:#101d22;color:#fff;overscroll-behavior:contain}
.kv-lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}
.kv-lightbox::backdrop{background:#101d22}
.kv-lightbox-top{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:max(12px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 12px max(18px,env(safe-area-inset-left));font:15px/1.4 system-ui,sans-serif}
.kv-lightbox button{font:inherit;color:#fff;background:#ffffff16;border:1px solid #ffffff50;border-radius:10px;cursor:pointer;min-width:48px;min-height:48px}
.kv-lightbox-close{padding:10px 16px}
.kv-lightbox-canvas{display:flex;align-items:center;justify-content:center;position:relative;min-height:0;padding:12px 82px;touch-action:pan-y}
.kv-lightbox-image{display:block;width:100%;height:100%;object-fit:contain;min-height:0}
.kv-lightbox-prev,.kv-lightbox-next{position:absolute;top:calc(50% - 26px);font-size:32px!important;z-index:1}
.kv-lightbox-prev{left:16px}.kv-lightbox-next{right:16px}
.kv-lightbox-caption{display:none!important}
@media(max-width:1000px){.kv-detail{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px}.kv-gallery-stage{height:380px}.kv-gallery[data-gallery-ready]{padding:12px}}
@media(max-width:760px){.kv-detail{grid-template-columns:minmax(0,1fr);gap:24px}.kv-gallery-stage{height:clamp(270px,76vw,470px)}.kv-gallery[data-gallery-ready]{padding:10px}.kv-gallery-thumbs{grid-auto-columns:74px;gap:8px}.kv-gallery-thumb{width:74px;height:70px}.kv-detail h1{font-size:30px}.kv-lightbox-canvas{padding:8px 48px}.kv-lightbox-prev{left:4px}.kv-lightbox-next{right:4px}.kv-lightbox button{min-width:40px;min-height:44px}.kv-lightbox-top{font-size:13px}.kv-lightbox-caption{font-size:12px}}
@media(prefers-reduced-motion:reduce){.kv-gallery-thumbs{scroll-behavior:auto}}
