/* Product photo controls. Scoped selectors leave Woo's own single-product gallery alone. */
.ko-app .ko-product-photo,.kh-detail-photo{position:relative;display:block;width:60px;height:66px;min-height:0;padding:0;border:0;background:#fff;border-radius:10px;overflow:hidden;cursor:zoom-in;line-height:1}
.ko-product-photo .ko-product-image,.kh-detail-photo img{display:block;width:100%;height:100%;object-fit:contain;margin:0}
.kv-photo-hint{position:absolute;right:6px;bottom:6px;padding:5px 8px;background:#edf2ffed;color:#003490;border-radius:7px;font:700 10px/1.2 system-ui,sans-serif;pointer-events:none}
.ko-product-photo .kv-photo-hint{font-size:0;padding:3px;right:0;bottom:0}
.ko-product-photo .kv-photo-hint:before{content:'⤢';font-size:14px}
.kv-product-photo[data-kv-photo]{cursor:zoom-in}
.kv-product-photo[data-kv-photo]:after{content:'⤢';position:absolute;right:9px;bottom:9px;background:#edf2ffe8;color:#003490;border-radius:8px;width:28px;height:28px;display:grid;place-items:center;font:700 19px/1 system-ui}
.kh-detail-lines .kh-detail-line{display:grid;grid-template-columns:minmax(0,1fr) auto}
.kh-detail-lines .kh-detail-line:has(.kh-detail-photo){grid-template-columns:70px minmax(0,1fr) auto}
.kh-detail-photo{width:66px;height:70px}
.kh-detail-photo .kv-photo-hint{font-size:0;padding:4px;bottom:0;right:0}
.kh-detail-photo .kv-photo-hint:before{content:'⤢';font-size:14px}
.kv-photo-dialog,.kv-photo-dialog *{box-sizing:border-box}
.kv-photo-dialog:not([open]){display:none!important}
.kv-photo-dialog[open]{display:block;position:fixed;inset:0;width:min(1000px,96vw);max-width:96vw;height:min(850px,94dvh);max-height:94dvh;margin:auto;border:1px solid #dce5f3;border-radius:22px;padding:0;background:white;color:#15264a;box-shadow:0 20px 100px #061c4a60;z-index:2147483646;font:15px/1.5 system-ui,-apple-system,'Segoe UI',sans-serif;overflow:hidden}
.kv-photo-dialog::backdrop{background:#06152ad9;backdrop-filter:blur(3px)}
.kv-photo-dialog.is-fallback{box-shadow:0 0 0 100vmax #06152ae8}
.kv-photo-panel{display:flex;flex-direction:column;width:100%;height:100%;min-height:0}
.kv-photo-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #e3eaf4;flex-shrink:0}
.kv-photo-head h2{font-size:17px;line-height:1.4;color:#003490;letter-spacing:0;font-weight:750;margin:0;overflow-wrap:anywhere}
.kv-photo-dialog button{font:750 14px/1.3 system-ui,sans-serif;cursor:pointer;min-height:44px;border-radius:10px;box-shadow:none;letter-spacing:0;text-transform:none}
.kv-photo-dialog .kv-photo-close{color:#003490;background:#edf2ff;border:0;width:44px;height:44px;min-width:44px;padding:0;font-size:30px;flex-shrink:0}
.kv-photo-stage{flex:1;min-height:0;width:100%;overflow:auto;overscroll-behavior:contain;position:relative;background:#fff;touch-action:pan-x pan-y pinch-zoom;padding:12px}
.kv-photo-large{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;margin:0;border:0}
.kv-photo-dialog.is-zoomed .kv-photo-large{width:200%;max-width:none;height:auto;min-height:100%;object-fit:contain}
.kv-photo-status{padding:0 18px;margin:8px 0;font-size:13px;color:#5e7089;flex-shrink:0}
.kv-photo-status:empty{display:none}
.kv-photo-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 18px;border-top:1px solid #e3eaf4;flex-shrink:0}
.kv-photo-footer .kv-photo-zoom{background:#003490;border:0;color:#fff;padding:10px 18px}
.kv-photo-zoom:disabled{opacity:.45;cursor:default}
.kv-photo-footer span{color:#687b96;font-size:11px}
.kv-photo-dialog :focus-visible,[data-kv-photo]:focus-visible{outline:3px solid #fd9d00;outline-offset:2px}
@media(max-width:1024px){.ko-app .ko-product-photo{width:100%;height:clamp(175px,44vw,290px);padding:14px;min-height:175px;background:#fff;border:1px solid #ecf0f7;border-radius:13px}.ko-product-photo .kv-photo-hint{font-size:11px;padding:6px 9px;right:8px;bottom:8px}.ko-product-photo .kv-photo-hint:before{content:none}.kh-detail-lines .kh-detail-line:has(.kh-detail-photo){grid-template-columns:minmax(0,1fr) auto}.kh-detail-photo{grid-column:1/-1;width:100%;height:185px;padding:10px;border:1px solid #e7edf5}.kh-detail-photo .kv-photo-hint{font-size:11px;padding:6px 9px;bottom:8px;right:8px}.kh-detail-photo .kv-photo-hint:before{content:none}}
@media(max-width:600px){.kv-photo-dialog[open]{width:96vw;max-width:96vw;height:92dvh;max-height:92dvh;border-radius:16px}.kv-photo-head{padding:12px 10px}.kv-photo-head h2{font-size:14px}.kv-photo-stage{padding:6px}.kv-photo-footer{padding:10px;flex-wrap:wrap;gap:6px}.kv-photo-footer span{font-size:10px}.kv-photo-footer .kv-photo-zoom{width:100%}}
@media(prefers-reduced-motion:no-preference){.kv-photo-dialog[open]{animation:kv-photo-appear .15s ease-out}@keyframes kv-photo-appear{from{opacity:.6;transform:translateY(6px)}to{opacity:1;transform:none}}}
