/* Scoped local Kinetic stage. Native product/configurator state remains authoritative. */
.kinetic-native #product .pdp-gallery{min-width:0!important}
.kinetic-native #product .pdp-hero{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;height:440px!important;min-height:0!important;padding:42px 0 55px!important;overflow:hidden!important;isolation:isolate;background:#edf2e9!important;border:0!important;border-radius:6px!important}
.kinetic-native #product .pdp-hero-picture{display:contents!important}
.kinetic-native #product #pdp-image{position:relative!important;inset:auto!important;display:block!important;flex:none!important;width:64%!important;max-width:64%!important;height:100%!important;max-height:100%!important;min-height:0!important;object-fit:contain!important;z-index:2!important;outline:none!important;border:0!important;box-shadow:none!important}
.kinetic-native #product #pdp-image:focus-visible{outline:2px solid #245b3d!important;outline-offset:4px}
.kinetic-native #product .pdp-hero>.kinetic-neighbor{position:absolute!important;top:20%!important;width:60%!important;height:60%!important;max-height:none!important;min-height:0!important;object-fit:contain!important;opacity:.38!important;pointer-events:none;z-index:0!important;border:0!important;transition:opacity 240ms ease-out}
.kinetic-native #product .pdp-hero>.kinetic-before{left:-30%!important;right:auto!important}
.kinetic-native #product .pdp-hero>.kinetic-after{right:-30%!important;left:auto!important}
.kinetic-native .kinetic-neighbor[hidden]{display:none!important}
.kinetic-native #product .pdp-hero>.pdp-prev,.kinetic-native #product .pdp-hero>.pdp-next{position:absolute!important;top:auto!important;bottom:12px!important;width:34px!important;height:34px!important;padding:0!important;background:white!important;border:1px solid #d1dbce!important;border-radius:50%!important;z-index:4!important;color:#24513a!important;font:20px Arial!important}
.kinetic-native #product .pdp-hero>.pdp-prev{left:16px!important;right:auto!important}
.kinetic-native #product .pdp-hero>.pdp-next{right:16px!important;left:auto!important}
.kinetic-native #product .pdp-hero>.pdp-prev::before,.kinetic-native #product .pdp-hero>.pdp-next::before{display:none!important}
.kinetic-native #product .pdp-caption{position:absolute!important;bottom:20px!important;left:60px!important;right:60px!important;margin:0!important;padding:0!important;background:transparent!important;color:#49604d!important;text-align:center!important;font:11px Arial!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.kinetic-native .kinetic-expand{position:absolute!important;top:14px!important;right:14px!important;left:auto!important;width:36px!important;height:36px!important;border:1px solid #d5ddd2!important;border-radius:50%!important;background:white!important;color:#1c4833!important;font:22px Arial!important;z-index:5!important;padding:0!important}
.kinetic-native .kinetic-expand::before{display:none!important}
.kinetic-native .pdp-thumb-frame{display:none!important}
.kinetic-native #product .pdp-thumb-track{position:relative!important;display:block!important;margin-top:14px!important;padding:0!important;overflow:hidden!important;width:100%!important;box-sizing:border-box!important;height:auto!important}
.kinetic-native #product .pdp-thumb-track>button{display:none!important}
.kinetic-native #product .pdp-thumbs{position:relative!important;display:flex!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;width:100%!important;height:auto!important;padding:4px 1px 12px!important;scrollbar-width:thin;scrollbar-color:#acbba5 transparent}
.kinetic-native #product .pdp-thumbs>button{flex:0 0 65px!important;width:65px!important;height:78px!important;padding:5px!important;border:1px solid transparent!important;border-radius:4px!important;background:transparent!important;box-shadow:none!important}
.kinetic-native #product .pdp-thumbs>button[aria-pressed=true]{border-color:#245b3d!important;background:#edf2e9!important}
.kinetic-native #product .pdp-thumbs>button>img{position:static!important;width:100%!important;height:100%!important;object-fit:contain!important;mix-blend-mode:multiply}
.kinetic-native #pdp-gallery-dialog{position:fixed!important;inset:0!important;margin:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;border:0!important;border-radius:0!important;padding:65px 40px 20px!important;overflow:hidden!important;background:#f4f6f0!important}
.kinetic-native #pdp-gallery-dialog .pdp-hero{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;height:calc(100dvh - 230px)!important;min-height:0!important;padding:0 50px!important;background:transparent!important;overflow:hidden!important}
.kinetic-native #pdp-gallery-dialog .pdp-hero-picture{display:contents!important}
.kinetic-native #pdp-gallery-dialog #pdp-image{position:relative!important;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;min-height:0!important;object-fit:contain!important;transform:translate(var(--kinetic-x,0px),var(--kinetic-y,0px)) scale(var(--kinetic-zoom,1));cursor:grab;outline:none!important;border:0!important;box-shadow:none!important}
.kinetic-native #pdp-gallery-dialog .kinetic-neighbor,.kinetic-native #pdp-gallery-dialog .kinetic-expand{display:none!important}
.kinetic-native #pdp-gallery-dialog .pdp-caption{bottom:0!important;background:#f4f6f0!important}
.kinetic-native .kinetic-zoom{position:absolute;top:15px;left:40px;display:flex;gap:5px}
.kinetic-native .kinetic-zoom button{background:white;border:1px solid #ccd6c9;border-radius:25px;padding:10px 17px;color:#234532}
.kinetic-native #pdp-gallery-dialog .pdp-thumb-track{max-width:900px!important;margin:15px auto 0!important}
.kinetic-native #pdp-gallery-dialog .pdp-thumb-frame{display:none!important}
.kinetic-native #pdp-google-pay{display:none!important}
@media(max-width:767px){.kinetic-native #product .pdp-hero{height:350px!important}.kinetic-native #pdp-gallery-dialog{padding-inline:12px!important}.kinetic-native .kinetic-zoom{left:15px}.kinetic-native #pdp-gallery-dialog .pdp-hero{padding:0 24px!important;height:calc(100dvh - 235px)!important}}
@media(prefers-reduced-motion:reduce){.kinetic-native .kinetic-neighbor{transition:none!important}}
.kinetic-native #product .pdp-hero{width:100%!important;max-width:100%!important}
.kinetic-native #product #pdp-image:focus-visible{outline:none!important}
.kinetic-native #product .pdp-caption{width:auto!important;max-width:none!important;transform:none!important;text-align:center!important;z-index:3!important}
.kinetic-native #pdp-gallery-dialog #pdp-image{isolation:auto!important}
/* Native source swapping is retained; Kinetic owns the visible transition. */
.kinetic-native .pdp-image-outgoing{display:none!important}
.kinetic-native .kinetic-outgoing{border:0!important;border-radius:0!important;outline:none!important;box-shadow:none!important}
.kinetic-native #product .pdp-hero>.kinetic-neighbor{pointer-events:auto!important;cursor:pointer}
.kinetic-native .kinetic-neighbor:focus-visible{outline:2px solid #245b3d;outline-offset:-3px}
.kinetic-native #product .pdp-hero>.kinetic-neighbor{z-index:3!important}
.kinetic-native #product .pdp-hero>.kinetic-after{clip-path:inset(0 0 0 25%)}
.kinetic-native #product .pdp-hero>.kinetic-before{clip-path:inset(0 25% 0 0)}
/* Persistent three-position scene: the very same DOM photo moves edge -> center. */
.kinetic-native #product #pdp-image{opacity:0!important}
.kinetic-native #product .pdp-image-outgoing,.kinetic-native #product .kinetic-outgoing{display:none!important}
.kinetic-native #product .kinetic-neighbor{opacity:0!important}
.kinetic-native #product .kinetic-scene{position:absolute;inset:42px 0 55px;pointer-events:none;z-index:1;overflow:visible}
.kinetic-native #product .kinetic-frame{position:absolute!important;left:18%!important;top:0!important;width:64%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;transform:translateX(calc(var(--frame-offset)*78.125%)) scale(.77);opacity:.38;transition:transform 440ms cubic-bezier(.2,.75,.2,1),opacity 440ms cubic-bezier(.2,.75,.2,1);border:0!important;outline:0!important}
.kinetic-native #product .kinetic-frame-current{transform:translateX(0) scale(1);opacity:1;z-index:2}
.kinetic-native #product .kinetic-frame-away{opacity:0}
.kinetic-native #pdp-gallery-dialog .kinetic-scene{display:none!important}
@media(prefers-reduced-motion:reduce){.kinetic-native .kinetic-frame{transition:none!important}}
.kinetic-native #product .kinetic-frame{background:transparent!important}
/* R6: tighter product composition, larger hero and quieter edge previews. */
.kinetic-native #product .pdp-hero{height:390px!important;background:#f5f7f2!important;border-radius:10px!important}
.kinetic-native #product .kinetic-scene{inset:10px 0 48px;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent)}
.kinetic-native #product .kinetic-frame{left:11%!important;width:78%!important;transform:translateX(calc(var(--frame-offset)*62%)) translateY(14px) scale(.84);opacity:.26}
.kinetic-native #product .kinetic-frame-current{transform:translateX(0) translateY(14px) scale(1.32);opacity:1}
.kinetic-native #product .kinetic-frame-away{opacity:0}
.kinetic-native #product .pdp-caption{font-size:10px!important;letter-spacing:1.2px;color:#6e7b6d!important;bottom:19px!important}
.kinetic-native #product .pdp-hero>.pdp-prev,.kinetic-native #product .pdp-hero>.pdp-next{background:transparent!important;border-color:#cbd5c6!important}
.kinetic-native #product .pdp-thumb-track{margin-top:10px!important}
@media(max-width:767px){.kinetic-native #product .pdp-hero{height:330px!important}.kinetic-native #product .kinetic-frame-current{transform:translateX(0) translateY(10px) scale(1.24)}}
.kinetic-native #product .pdp-hero>.kinetic-neighbor{opacity:0!important}
/* R7: requested original white gallery canvas. */
.kinetic-native #product .pdp-hero{background:#fff!important}
.kinetic-native #product .pdp-thumbs>button[aria-pressed=true]{background:#fff!important}
.kinetic-native #pdp-gallery-dialog{background:#fff!important}
.kinetic-native #pdp-gallery-dialog .pdp-caption{background:#fff!important}
/* R8: vector gallery controls with 44px targets and centered alignment. */
.kinetic-native #product .pdp-hero>.pdp-prev,.kinetic-native #product .pdp-hero>.pdp-next,
.kinetic-native #pdp-gallery-dialog .pdp-hero>.pdp-prev,.kinetic-native #pdp-gallery-dialog .pdp-hero>.pdp-next,
.kinetic-native .kinetic-expand{display:grid!important;place-items:center!important;width:44px!important;height:44px!important;padding:0!important;border:1px solid #dce4df!important;border-radius:50%!important;background:#fff!important;color:#164c3e!important;box-shadow:0 2px 6px #173d2910!important;transition:background-color 150ms,border-color 150ms,box-shadow 150ms!important}
.kinetic-native #product .pdp-hero>.pdp-prev,.kinetic-native #product .pdp-hero>.pdp-next{bottom:7px!important}
.kinetic-native #product .pdp-hero>.pdp-prev{left:12px!important}
.kinetic-native #product .pdp-hero>.pdp-next{right:12px!important}
.kinetic-native .kinetic-expand{top:10px!important;right:10px!important}
.kinetic-native .pdp-hero>.pdp-prev:hover,.kinetic-native .pdp-hero>.pdp-next:hover,.kinetic-native .kinetic-expand:hover{background:#f2f6f3!important;border-color:#729b87!important;box-shadow:0 3px 9px #173d2918!important}
.kinetic-native .pdp-hero>button svg{display:block;pointer-events:none}
.kinetic-native #pdp-gallery-dialog .pdp-hero>.pdp-prev::before,.kinetic-native #pdp-gallery-dialog .pdp-hero>.pdp-next::before{display:none!important}
/* R9: clear pointer and keyboard feedback for gallery controls. */
.kinetic-native #product .pdp-hero>.pdp-prev,.kinetic-native #product .pdp-hero>.pdp-next,.kinetic-native .kinetic-expand{transition:background-color 160ms ease-out,color 160ms ease-out,border-color 160ms ease-out,box-shadow 160ms ease-out,transform 160ms ease-out!important}
@media(hover:hover){
.kinetic-native .pdp-hero>.pdp-prev:hover,.kinetic-native .pdp-hero>.pdp-next:hover,.kinetic-native .kinetic-expand:hover{background:#164c3e!important;color:#fff!important;border-color:#164c3e!important;transform:scale(1.08);box-shadow:0 4px 12px #164c3e26!important}
}
.kinetic-native .pdp-hero>.pdp-prev:focus-visible,.kinetic-native .pdp-hero>.pdp-next:focus-visible,.kinetic-native .kinetic-expand:focus-visible{outline:2px solid #164c3e!important;outline-offset:3px}
.kinetic-native .pdp-hero>.pdp-prev:active,.kinetic-native .pdp-hero>.pdp-next:active,.kinetic-native .kinetic-expand:active{transform:scale(.96)}
@media(prefers-reduced-motion:reduce){.kinetic-native .pdp-hero>.pdp-prev,.kinetic-native .pdp-hero>.pdp-next,.kinetic-native .kinetic-expand{transition:none!important;transform:none!important}}
/* R11: native photo becomes visible when its scene moves into the dialog. */
.kinetic-native #pdp-gallery-dialog #pdp-image{opacity:1!important;visibility:visible!important}
/* R12: modal layout must override #product stage dimensions too. */
.kinetic-native #product #pdp-gallery-dialog{display:block;padding:64px 28px 16px!important}
.kinetic-native #product #pdp-gallery-dialog:not([open]){display:none!important}
.kinetic-native #product #pdp-gallery-dialog .pdp-gallery-expanded{height:100%!important;display:flex!important;flex-direction:column!important;min-height:0!important}
.kinetic-native #product #pdp-gallery-dialog .pdp-hero{flex:1 1 auto!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;padding:8px 55px 30px!important;background:white!important;border-radius:0!important}
.kinetic-native #product #pdp-gallery-dialog #pdp-image{width:100%!important;max-width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;opacity:1!important}
.kinetic-native #product #pdp-gallery-dialog .pdp-thumb-track{flex:0 0 100px!important;height:100px!important;max-width:900px!important;width:100%!important;margin:10px auto 0!important}
.kinetic-native #product #pdp-gallery-dialog .pdp-hero>.pdp-prev,.kinetic-native #product #pdp-gallery-dialog .pdp-hero>.pdp-next{top:50%!important;bottom:auto!important;transform:translateY(-50%);z-index:5!important}
.kinetic-native #product #pdp-gallery-dialog .pdp-caption{bottom:4px!important}
@media(max-width:767px){.kinetic-native #product #pdp-gallery-dialog{padding:64px 12px 12px!important}.kinetic-native #product #pdp-gallery-dialog .pdp-hero{padding:0 25px 24px!important}.kinetic-native #product #pdp-gallery-dialog .pdp-thumb-track{flex-basis:90px!important;height:90px!important}}
/* R13: modal-specific states must outrank modal layout declarations. */
.kinetic-native #product #pdp-gallery-dialog .pdp-hero>.pdp-prev,
.kinetic-native #product #pdp-gallery-dialog .pdp-hero>.pdp-next,
.kinetic-native #product #pdp-gallery-dialog .kinetic-zoom button,
.kinetic-native #product #pdp-gallery-dialog .pdp-gallery-close{transition:background-color 160ms ease-out,color 160ms ease-out,border-color 160ms ease-out,box-shadow 160ms ease-out,transform 160ms ease-out!important}
@media(hover:hover){
.kinetic-native #product #pdp-gallery-dialog .pdp-hero>.pdp-prev:hover,
.kinetic-native #product #pdp-gallery-dialog .pdp-hero>.pdp-next:hover{background:#164c3e!important;color:#fff!important;border-color:#164c3e!important;transform:translateY(-50%) scale(1.08)!important;box-shadow:0 4px 12px #164c3e26!important}
.kinetic-native #product #pdp-gallery-dialog .kinetic-zoom button:hover,
.kinetic-native #product #pdp-gallery-dialog .pdp-gallery-close:hover{background:#164c3e!important;color:#fff!important;border-color:#164c3e!important;transform:scale(1.06)!important}
}
.kinetic-native #product #pdp-gallery-dialog .pdp-hero>.pdp-prev:active,
.kinetic-native #product #pdp-gallery-dialog .pdp-hero>.pdp-next:active{transform:translateY(-50%) scale(.96)!important}
.kinetic-native #product #pdp-gallery-dialog .kinetic-zoom button:active,
.kinetic-native #product #pdp-gallery-dialog .pdp-gallery-close:active{transform:scale(.96)!important}
@media(prefers-reduced-motion:reduce){
.kinetic-native #product #pdp-gallery-dialog button{transition:none!important}
.kinetic-native #product #pdp-gallery-dialog .pdp-hero>.pdp-prev,
.kinetic-native #product #pdp-gallery-dialog .pdp-hero>.pdp-next{transform:translateY(-50%)!important}
.kinetic-native #product #pdp-gallery-dialog .kinetic-zoom button,
.kinetic-native #product #pdp-gallery-dialog .pdp-gallery-close{transform:none!important}
}
/* R14: close control stays visually static in every pointer state. */
.kinetic-native #product #pdp-gallery-dialog .pdp-gallery-close,
.kinetic-native #product #pdp-gallery-dialog .pdp-gallery-close:hover,
.kinetic-native #product #pdp-gallery-dialog .pdp-gallery-close:active{background:#f1f5f9!important;color:#122c3e!important;border-color:transparent!important;transform:none!important;transition:none!important;box-shadow:none!important}
/* R17: the overview/collage already fills its source; never magnify past contain. */
.kinetic-native #product .kinetic-frame-current.kinetic-frame-overview{transform:translateX(0) scale(1)!important}
/* R18: every active source fits entirely; source whitespace must not be guessed. */
.kinetic-native #product .kinetic-frame-current{transform:translateX(0) scale(1)!important}
/* R19: larger image viewport, without magnifying/cropping source pixels. */
.kinetic-native #product .pdp-hero{height:480px!important}
.kinetic-native #product .kinetic-scene{inset:12px 0 48px;mask-image:none}
.kinetic-native #product .kinetic-frame{left:3%!important;width:94%!important;transform:translateX(calc(var(--frame-offset)*53.2%)) scale(.76)}
.kinetic-native #product .kinetic-frame-current{transform:translateX(0) scale(1)!important}
@media(max-width:767px){.kinetic-native #product .pdp-hero{height:400px!important}}
/* R20: readable image/color captions. */
.kinetic-native #product .pdp-caption{font-size:14px!important;line-height:20px!important;font-weight:500!important;letter-spacing:.3px!important;color:#49604f!important}
.kinetic-native #product #pdp-gallery-dialog .pdp-caption{font-size:15px!important;line-height:21px!important}

/* R23: exact shared CEP close control geometry and icon. */
.kinetic-native #product #pdp-gallery-dialog .pdp-gallery-close:is(*,:hover,:active){
    position: absolute !important;
    inset: 10px 10px auto auto !important;
    z-index: 6 !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 44px !important;
    float: none !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #11263c !important;
    box-shadow: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;
    text-decoration: none !important;
    opacity: 1 !important;
    transform: none !important;
    cursor: pointer !important;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}
.kinetic-native #product #pdp-gallery-dialog .pdp-gallery-close:is(*,:hover,:active)::before{
    content: '' !important;
    position: absolute !important;
    display: block !important;
    inset: 6px !important;
    width: 32px !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #f2f5f7 !important;
    box-shadow: none !important;
    transform: none !important;
    pointer-events: none;
}
.kinetic-native #product #pdp-gallery-dialog .pdp-gallery-close:is(*,:hover,:active)::after{
    content: '' !important;
    position: absolute !important;
    display: block !important;
    inset: 15px !important;
    width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: currentColor !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 4 8 8M12 4l-8 8' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 4 8 8M12 4l-8 8' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
    transform: none !important;
    pointer-events: none;
}
.kinetic-native #product #pdp-gallery-dialog .pdp-gallery-close:is(*,:hover,:active){transition:none!important;display:flex!important}
/* R24: shared popup hover/focus feedback, without scaling the close control. */
.kinetic-native #product #pdp-gallery-dialog .pdp-gallery-close:is(*,:hover,:active)::before{transition:background-color 160ms ease-out!important}
.kinetic-native #product #pdp-gallery-dialog .pdp-gallery-close:is(:hover,:focus-visible)::before{background:#e6f5df!important}
.kinetic-native #product #pdp-gallery-dialog .pdp-gallery-close:focus-visible{outline:2px solid #004438!important;outline-offset:2px!important}
@media(prefers-reduced-motion:reduce){.kinetic-native #product #pdp-gallery-dialog .pdp-gallery-close::before{transition:none!important}}
/* Keep side previews in edge gutters, even when their source is a wide collage. */
.kinetic-native #product .kinetic-frame[data-edge=left]{clip-path:inset(0 38% 0 0)}
.kinetic-native #product .kinetic-frame[data-edge=right]{clip-path:inset(0 0 0 38%)}
.kinetic-native #product .kinetic-frame-current{clip-path:inset(0)}
.kinetic-native #product .kinetic-frame{transition-property:transform,opacity,clip-path}
/* Hide repeated source media while preserving native data-image addressing. */
.kinetic-native #product .pdp-thumbs>button[data-kinetic-duplicate=true],
.kinetic-native #pdp-gallery-dialog .pdp-thumbs>button[data-kinetic-duplicate=true],
.kinetic-native .kinetic-frame[data-kinetic-duplicate=true]{display:none!important}
/* R32: slightly larger thumbnail previews, same horizontal strip. */
.kinetic-native #product .pdp-thumbs>button{flex-basis:75px!important;width:75px!important;height:90px!important}
.kinetic-native #product #pdp-gallery-dialog .pdp-thumb-track{flex-basis:112px!important;height:112px!important}
@media(max-width:767px){.kinetic-native #product #pdp-gallery-dialog .pdp-thumb-track{flex-basis:105px!important;height:105px!important}}
/* R33: thumbnail hover/focus feedback without changing strip geometry. */
.kinetic-native #product .pdp-thumbs>button{transition:background-color 160ms ease-out,border-color 160ms ease-out,box-shadow 160ms ease-out!important;overflow:hidden}
.kinetic-native #product .pdp-thumbs>button>img{transition:transform 180ms ease-out!important;transform-origin:center}
@media(hover:hover){
.kinetic-native #product .pdp-thumbs>button:hover{background:#f1f7f2!important;border-color:#75a08a!important;box-shadow:inset 0 0 0 1px #75a08a33!important}
.kinetic-native #product .pdp-thumbs>button:hover>img{transform:scale(1.07)}
.kinetic-native #product .pdp-thumbs>button[aria-pressed=true]:hover{border-color:#245b3d!important;background:#eaf3ec!important}
}
.kinetic-native #product .pdp-thumbs>button:focus-visible{outline:2px solid #245b3d;outline-offset:-3px;background:#f1f7f2!important}
@media(prefers-reduced-motion:reduce){.kinetic-native #product .pdp-thumbs>button,.kinetic-native #product .pdp-thumbs>button>img{transition:none!important}.kinetic-native #product .pdp-thumbs>button:hover>img{transform:none!important}}
/* Single-photo products have neither gallery navigation nor an empty thumbnail row. */
.kinetic-native #product .pdp-hero>.pdp-prev[hidden],
.kinetic-native #product .pdp-hero>.pdp-next[hidden],
.kinetic-native #product .pdp-thumb-track[hidden],
.kinetic-native #product #pdp-gallery-dialog .pdp-hero>.pdp-prev[hidden],
.kinetic-native #product #pdp-gallery-dialog .pdp-hero>.pdp-next[hidden],
.kinetic-native #product #pdp-gallery-dialog .pdp-thumb-track[hidden]{display:none!important}
/* R35: show only the selected photo; no neighboring previews or hidden hit areas. */
.kinetic-native #product .kinetic-frame:not(.kinetic-frame-current){visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.kinetic-native #product .kinetic-frame-current{visibility:visible!important;opacity:1!important}
.kinetic-native #product .pdp-hero>.kinetic-neighbor{display:none!important;pointer-events:none!important}
/* R36: fullscreen viewer owns the viewport; no document/dialog vertical scroll. */
html:has(#pdp-gallery-dialog[open]),body:has(#pdp-gallery-dialog[open]){overflow:hidden!important;overscroll-behavior:none}
.kinetic-native #product #pdp-gallery-dialog{box-sizing:border-box!important;overflow:hidden!important;overscroll-behavior:none!important}
.kinetic-native #product #pdp-gallery-dialog .pdp-gallery-expanded{overflow:hidden!important;min-height:0!important;max-height:100%!important}
.kinetic-native #product #pdp-gallery-dialog .pdp-hero{box-sizing:border-box!important;flex:1 1 0!important;min-height:0!important;overflow:hidden!important}
.kinetic-native #product #pdp-gallery-dialog .pdp-thumb-track{box-sizing:border-box!important;overflow:hidden!important;min-height:0!important}
.kinetic-native #product #pdp-gallery-dialog .pdp-thumbs{overflow-y:hidden!important;box-sizing:border-box!important}
/* R37: fullscreen arrows follow the centered contain image instead of window edges. */
.kinetic-native #product #pdp-gallery-dialog .pdp-hero>.pdp-prev{left:var(--viewer-prev,12px)!important}
.kinetic-native #product #pdp-gallery-dialog .pdp-hero>.pdp-next{right:var(--viewer-next,12px)!important}
/* R38: independent thumbnail rail navigation in expanded viewer. */
.kinetic-native #product #pdp-gallery-dialog .pdp-thumb-track.kinetic-track-overflow{position:relative!important;padding:0 46px!important;overflow:hidden!important}
.kinetic-native #product #pdp-gallery-dialog .pdp-thumb-track.kinetic-track-overflow>[data-thumb-dir]{position:absolute!important;top:45px!important;bottom:auto!important;width:36px!important;height:44px!important;display:grid!important;place-items:center!important;padding:0!important;border:1px solid #dce4df!important;border-radius:22px!important;background:#fff!important;color:#164c3e!important;z-index:5!important;transform:translateY(-50%)!important;transition:background-color 160ms,color 160ms!important}
.kinetic-native #product #pdp-gallery-dialog .pdp-thumb-track>[data-thumb-dir="-1"]{left:0!important;right:auto!important}
.kinetic-native #product #pdp-gallery-dialog .pdp-thumb-track>[data-thumb-dir="1"]{right:0!important;left:auto!important}
.kinetic-native #product #pdp-gallery-dialog .pdp-thumb-track>[data-thumb-dir]::before{display:none!important}
.kinetic-native #product #pdp-gallery-dialog .pdp-thumb-track>[data-thumb-dir] svg{pointer-events:none}
.kinetic-native #product #pdp-gallery-dialog .pdp-thumb-track>[data-thumb-dir]:disabled{opacity:.3!important;cursor:default!important}
@media(hover:hover){.kinetic-native #product #pdp-gallery-dialog .pdp-thumb-track>[data-thumb-dir]:hover:not(:disabled){background:#164c3e!important;color:white!important}}
/* R39: thumbnail navigation uses the same circular44px controls as main navigation. */
.kinetic-native #product #pdp-gallery-dialog .pdp-thumb-track.kinetic-track-overflow>[data-thumb-dir]{width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;min-height:44px!important;max-height:44px!important;box-sizing:border-box!important;border-radius:50%!important}
/* R42: caption is outside the clipped/zoomed image viewport. */
.kinetic-native #product #pdp-gallery-dialog .pdp-gallery-expanded>.pdp-caption{position:static!important;inset:auto!important;transform:none!important;flex:0 0 auto!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-height:30px!important;margin:0!important;padding:5px 50px!important;background:#fff!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.kinetic-native #product #pdp-gallery-dialog .pdp-hero{padding-bottom:8px!important}

/* The image viewport provides the gallery surface in both layouts. */
.kinetic-native #product .pdp-gallery {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
