/* AP Product Gallery - mobile-first Bootstrap-compatible layer */
.ap-product-gallery{--ap-gallery-gap:.625rem;--ap-gallery-radius:var(--bs-border-radius, .5rem);--ap-gallery-thumb-size:4.75rem;--ap-gallery-bg:var(--bs-tertiary-bg, #f8f9fa);position:relative}
.ap-gallery-main{position:relative;border-radius:var(--ap-gallery-radius);background:var(--ap-gallery-bg);overflow:hidden}
.ap-gallery-track,.ap-gallery-modal-track{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ap-gallery-track::-webkit-scrollbar,.ap-gallery-modal-track::-webkit-scrollbar,.ap-gallery-thumbs__track::-webkit-scrollbar,.ap-gallery-modal-thumbs::-webkit-scrollbar{display:none}
.ap-gallery-slide{appearance:none;background:transparent;border:0;color:inherit;cursor:zoom-in;display:block;flex:0 0 100%;margin:0;padding:0;position:relative;scroll-snap-align:center;text-align:inherit;width:100%}
.ap-gallery-slide picture,.ap-gallery-modal-slide picture{display:block}
.ap-gallery-image{aspect-ratio:1/1;display:block;height:auto;object-fit:contain;width:100%}
.ap-gallery-nav{align-items:center;border-radius:999px!important;box-shadow:var(--bs-box-shadow-sm);display:inline-flex!important;height:2.5rem;justify-content:center;opacity:.92;position:absolute;top:50%;transform:translateY(-50%);width:2.5rem;z-index:12}
.ap-gallery-nav--prev{left:.5rem}.ap-gallery-nav--next{right:.5rem}
.ap-gallery-nav .icon{font-size:1.125rem}.ap-gallery-zoom{bottom:.5rem!important;right:.5rem!important;z-index:12!important}
.ap-gallery-thumbs{margin-block-start:.75rem}.ap-gallery-thumbs__track{display:flex!important;gap:.625rem!important;grid-template-columns:none!important;margin:0!important;overflow-x:auto;padding:.125rem .125rem .375rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ap-gallery-thumb{align-items:center;appearance:none;background:var(--bs-body-bg)!important;border:0!important;border-radius:var(--ap-gallery-radius);block-size:var(--ap-gallery-thumb-size);display:flex;flex:0 0 var(--ap-gallery-thumb-size);inline-size:var(--ap-gallery-thumb-size);justify-content:center;overflow:hidden;padding:0!important;position:relative}
.ap-gallery-thumb picture{display:flex;height:100%;width:100%}.ap-gallery-thumb__image{aspect-ratio:1/1;background:var(--bs-body-bg);block-size:100%;display:block;inline-size:100%;object-fit:contain;outline:.125rem solid transparent!important;outline-offset:-.125rem!important}
.ap-gallery-thumb.active .ap-gallery-thumb__image,.ap-gallery-thumb[aria-current=true] .ap-gallery-thumb__image{outline-color:var(--bs-primary)!important}
.product-images-modal .modal-dialog{width:min(96vw,1240px);max-width:min(96vw,1240px);height:calc(100svh - 2rem);margin-left:auto;margin-right:auto}.product-images-modal .modal-content{display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;background:var(--bs-body-bg)}.product-images-modal .modal-header{flex:0 0 auto}.product-images-modal__body{display:flex;align-items:stretch;justify-content:flex-start;flex:1 1 auto;min-width:0;min-height:0;overflow:hidden;padding:0!important}.ap-product-gallery-modal{position:relative;display:flex;flex-direction:column;flex:1 1 auto;width:100%;max-width:100%;min-width:0;min-height:0}.ap-gallery-modal-track{flex:1 1 auto;width:100%;max-width:100%;min-width:0;min-height:0;overflow-x:auto;background:var(--bs-tertiary-bg,#f8f9fa)}.ap-gallery-modal-slide{display:flex;align-items:center;justify-content:center;flex:0 0 100%;width:100%;min-width:100%;min-height:0;padding:1rem;scroll-snap-align:center}.ap-gallery-modal-slide>picture{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;max-width:100%;max-height:100%}.ap-gallery-modal-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.ap-gallery-modal-thumbs{display:flex;flex:0 0 auto;gap:.5rem;justify-content:flex-start;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;padding:.75rem 1rem 1rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}.ap-gallery-modal-thumbs::-webkit-scrollbar{display:none}.ap-gallery-modal-thumb{align-items:center;appearance:none;background:var(--bs-body-bg);border:0;border-radius:.5rem;block-size:3.75rem;display:flex;flex:0 0 3.75rem;justify-content:center;overflow:hidden;padding:0}.ap-gallery-modal-thumb img{aspect-ratio:1/1;background:var(--bs-body-bg);block-size:100%;border-radius:.5rem;display:block;inline-size:100%;object-fit:contain;outline:transparent solid .125rem;outline-offset:-.125rem}.ap-gallery-modal-thumb.active img,.ap-gallery-modal-thumb[aria-current=true] img{outline-color:var(--bs-primary)}
@media (max-width:575.98px){.product-images-modal .modal-dialog{width:100%;max-width:none;height:100vh;height:100svh;margin:0}.product-images-modal .modal-content{height:100%;max-height:none;border-radius:0}.ap-product-gallery{--ap-gallery-thumb-size:4rem}.ap-gallery-nav{display:none!important}.ap-gallery-modal-slide{padding:.75rem}.ap-gallery-modal-thumbs{padding:.5rem .75rem .75rem}}
@media (min-width:768px){.ap-product-gallery{--ap-gallery-thumb-size:5rem}.ap-gallery-thumbs__track{gap:.75rem!important}}
@media (min-width:1200px){.ap-product-gallery{--ap-gallery-thumb-size:5.5rem}.ap-gallery-thumbs__track{gap:1rem!important}}

/* Missing Bootstrap close icon base for gallery modals */
.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293A1 1 0 0 1 .293 14.293L6.586 8 .293 1.707A1 1 0 0 1 .293.293z'/%3e%3c/svg%3e");appearance:none;background:transparent var(--bs-btn-close-bg) center/1rem auto no-repeat;border:0;border-radius:.375rem;box-sizing:content-box;inline-size:1rem;block-size:1rem;opacity:.75;padding:.5rem;position:relative}.btn-close:hover{opacity:1}.btn-close:focus{box-shadow:0 0 0 .125rem rgba(var(--bs-primary-rgb),.25);outline:0}.quickview .btn-close,.product-images-modal .btn-close{flex:0 0 auto}

.product__images.js-images-container.ap-product-gallery.js-ap-product-gallery {position:sticky; top:65px}