.media-sliders {
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  position: sticky;
  top: var(--sticky-header-margin-top);
}

.media-sliders .product-media {
  position: relative;
}

.thumbnail-btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  cursor: pointer;
}
.thumbnail-btn.active:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow:inset 0 0 0 2px var(--color-button-background);
  border-radius: inherit;
}

@media only screen and (min-width: 1024px) {
  .pdp-content .sticky {
    position: sticky;
    margin-top: 0;
    top: var(--sticky-header-margin-top);
  }

  .pdp-content .sticky {
    padding: 40px 0;
  }

  .thumbnails-next-to {
    flex-direction: row;
  }
  .thumbnails-next-to .product-media-slider {
    order: 2;
    width: calc(100% * (6/7));
  }
  .thumbnails-next-to .product-thumbnails-slider {
    width: calc(100% * (1/7));
  }
  .thumbnails-next-to .product-thumbnails-slider .gridy-track {
    grid: auto-flow calc((100% - var(--sm-gap)*4)/5) / auto;
    overflow-y: scroll;
    overflow-x: hidden;
    position: absolute;
    width: 100%;
    height: 100%;
  }
  .thumbnails-next-to .product-thumbnails-slider .media.cover {
    height: 100%;
  }
}

.product__tax {
  margin-top: 4px;
}

.media--external_video.natural iframe {
  height: 100%;
  width: 100%;
}
.media--external_video.natural {
  aspect-ratio: 16 / 9;
}

@supports not (aspect-ratio: 16 / 9) {
  .media--external_video.natural iframe {
    position: absolute;
  }
  .media--external_video.natural {
    height: 0;
    padding-bottom: calc(100% / (16 / 9));
  }
}

.product-media .media:not(.natural) iframe {
  width: 300%;
  left: -100%;
  max-width: none;
}

[data-drawer] .accordion__content {
  padding: 0 var(--drawer-padding) var(--drawer-padding);
}

.similar-collections ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.similar-collections ul > li a {
  text-decoration: underline;
}

.product-icons-grid {
  display: grid;
  grid-template-columns: repeat(var(--icons-grid-cols), minmax(0, 1fr));
  grid-gap: var(--icons-grid-gap);
  align-items: center;
}
.product-icons-grid img {
  width: 100%;
  height: auto;
}

@media only screen and (max-width: 767px) {
  .the-siblings .gridy-arrows {
    width: calc(100% + var(--container-margin)* 2);
    left: calc(0px - var(--container-margin));
  }
}

.sibling-product {
  position: relative;
  padding: 8px;
  background: var(--color-card-background);
  border-radius: min(var(--card-border-radius), 12px);
}
.sibling-product:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: min(var(--card-border-radius), 12px);
  box-shadow: inset 0 0 0 0 var(--color-card-foreground);
  transition: box-shadow 0.3s ease-in-out;
}
.sibling-product:hover:before {
  box-shadow: inset 0 0 0 2px var(--color-card-foreground);
}
.sibling-product.current-product {
  border: 1px solid var(--color-foreground);
}
.media-sliders .badges {
  position: absolute;
  width: calc(100% - 40px);
  top: 20px;
  left: 20px;
  z-index: 1;
}
@media only screen and (min-width: 1024px) {
  .media-sliders.thumbnails-next-to .badges {
    left: calc(100% * (1/7) + var(--sm-gap) + 20px);
  }
}

/* Enlarge button styles  */
.product-media-zoom-link {
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: var(--css-icon-zoom-in) 22 22, auto;
  z-index: 1;
  touch-action: pan-x; /* Allow horizontal swiping while preserving tap functionality */
}

/* Swiper mobile gallery styles */
@media only screen and (max-width: 767px) {
  .product-media-slider-wrapper {
    width: 100%;
  }

  .product-media-swiper {
    width: 100%;
    height: 100%;
  }

  .product-media-swiper .swiper-slide {
    height: auto;
  }

  .product-media-swiper .product-media {
    position: relative;
    margin: 0;
  }

  /* Ensure media maintains aspect ratio */
  .product-media-swiper .media {
    position: relative;
  }

  /* Ensure zoom link works with Swiper */
  .product-media-swiper .product-media-zoom-link {
    touch-action: manipulation; /* Allow tap but not interfere with swipe */
  }
}/**
 * Swiper 9.4.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 13, 2023
 */

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper,swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide,swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,:host(.swiper-horizontal.swiper-rtl) .swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;-ms-touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification,swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}.grid {
  --gap: var(--gutter);
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  /*HERE YOU CAN SET YOUR CUSTOM COLUMN GAP*/
  grid-column-gap: var(--gap);
  /*HERE YOU CAN SET YOUR CUSTOM ROW GAP*/
  grid-row-gap: var(--gap);

  /*
  grid-auto-flow DETERMINES HOW THE GRID WILL FILL UP. IF YOU ENABLE THE
  grid-auto-flow PROPERTY, grid-column-gap WILL HAVE NO EFFECT ON THE
  AUTO-GENERATED ROWS, SO YOU WILL NEED TO SET A MARGIN TOP &/OR BOTTOM
  TO THE ELEMENTS INSIDE THE GRID CONTAINER IF YOU WANT A ROW GAP.
  dense tells the auto-placement algorithm to attempt to fill in holes
  earlier in the grid if smaller items come up later,

  row TELLS THE AUTO-PLACEMENT ALGORITHM TO FILL IN EACH ROW IN TURN,
  ADDING NEW ROWS AS NECESSARY

  column TELLS THE AUTO-PLACEMENT ALGORITHM TO FILL IN EACH COLUMN IN
  TURN, ADDING NEW COLUMNS AS NECESSARY
  */

  grid-auto-flow: dense;
  position: relative;
}

@media only screen and (min-width: 768px) {
  .grid {
    grid-template-columns: repeat(12, 1fr);
  }
}

.grid > * {
  width: 100%;
}

.grid.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr))}
.grid.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr))}
.grid.grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr))}
.grid.grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr))}
.grid.grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr))}
.grid.grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr))}
.grid.grid-cols-7 { grid-template-columns: repeat(7, minmax(0, 1fr))}
.grid.grid-cols-8 { grid-template-columns: repeat(8, minmax(0, 1fr))}
.grid.grid-cols-9 { grid-template-columns: repeat(9, minmax(0, 1fr))}
.grid.grid-cols-10 { grid-template-columns: repeat(10, minmax(0, 1fr))}
.grid.grid-cols-11 { grid-template-columns: repeat(11, minmax(0, 1fr))}
.grid.grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr))}

@media only screen and (min-width: 768px) {
  .grid.sm-grid-cols-1 {grid-template-columns: repeat(1, minmax(0, 1fr))}
  .grid.sm-grid-cols-2 {grid-template-columns: repeat(2, minmax(0, 1fr))}
  .grid.sm-grid-cols-3 {grid-template-columns: repeat(3, minmax(0, 1fr))}
  .grid.sm-grid-cols-4 {grid-template-columns: repeat(4, minmax(0, 1fr))}
  .grid.sm-grid-cols-5 {grid-template-columns: repeat(5, minmax(0, 1fr))}
  .grid.sm-grid-cols-6 {grid-template-columns: repeat(6, minmax(0, 1fr))}
  .grid.sm-grid-cols-7 {grid-template-columns: repeat(7, minmax(0, 1fr))}
  .grid.sm-grid-cols-8 {grid-template-columns: repeat(8, minmax(0, 1fr))}
  .grid.sm-grid-cols-9 {grid-template-columns: repeat(9, minmax(0, 1fr))}
  .grid.sm-grid-cols-10 {grid-template-columns: repeat(10, minmax(0, 1fr))}
  .grid.sm-grid-cols-11 {grid-template-columns: repeat(11, minmax(0, 1fr))}
  .grid.sm-grid-cols-12 {grid-template-columns: repeat(12, minmax(0, 1fr))}
}

@media only screen and (min-width: 1024px) {
  .grid.md-grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr))}
  .grid.md-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr))}
  .grid.md-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr))}
  .grid.md-grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr))}
  .grid.md-grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr))}
  .grid.md-grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr))}
  .grid.md-grid-cols-7 { grid-template-columns: repeat(7, minmax(0, 1fr))}
  .grid.md-grid-cols-8 { grid-template-columns: repeat(8, minmax(0, 1fr))}
  .grid.md-grid-cols-9 { grid-template-columns: repeat(9, minmax(0, 1fr))}
  .grid.md-grid-cols-10 { grid-template-columns: repeat(10, minmax(0, 1fr))}
  .grid.md-grid-cols-11 { grid-template-columns: repeat(11, minmax(0, 1fr))}
  .grid.md-grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr))}
}

/*IN ORDER FOR THIS TO WORK, ALL ELEMENTS MUST HAVE A DEFINED WIDTH AND HEIGHT*/
.col-justify-items-start { justify-items: start }
.col-justify-items-end { justify-items: end }
.col-justify-items-center { justify-items: center }
.col-justify-items-stretch { justify-items: stretch }

/*IN ORDER FOR THIS TO WORK, ALL ELEMENTS MUST HAVE A DEFINED WIDTH AND HEIGHT*/
.col-align-items-start { align-items: start }
.col-align-items-end { align-items: end }
.col-align-items-center { align-items: center }
.col-align-items-stretch { align-items: stretch }

/*IN ORDER FOR THIS TO WORK, ALL ELEMENTS MUST HAVE A DEFINED WIDTH AND HEIGHT*/
.col-justify-content-start { justify-content: start }
.col-justify-content-end { justify-content: end }
.col-justify-content-center { justify-content: center }
.col-justify-content-stretch { justify-content: stretch }
.col-justify-content-space-around { justify-content: space-around }
.col-justify-content-space-between { justify-content: space-between }
.col-justify-content-space-evenly { justify-content: space-evenly }

/*IN ORDER FOR THIS TO WORK, ALL ELEMENTS MUST HAVE A DEFINED WIDTH AND HEIGHT*/
.col-align-content-start { align-content: start }
.col-align-content-end { align-content: end }
.col-align-content-center { align-content: center }

.col-align-content-stretch { align-content: stretch }
.col-align-content-space-around { align-content: space-around }
.col-align-content-space-between { align-content: space-between }
.col-align-content-space-evenly { align-content: space-evenly }

.col-grid-auto-flow-row { grid-auto-flow: row }
.col-grid-auto-flow-column { grid-auto-flow: column }
.col-grid-auto-flow-dense { grid-auto-flow: dense }

/* NOTE since Taiga 3.4.0 the mobile gird is 6 columns instead of 12 */
.col-2 { grid-column-end: span 1 }
.col-4 { grid-column-end: span 2 }
.col-6 { grid-column-end: span 3 }
.col-8 { grid-column-end: span 4 }
.col-10 { grid-column-end: span 5 }
.col-12 { grid-column-end: span 6 }

.col-justify-self-start { justify-self: start }
.col-justify-self-end { justify-self: end }
.col-justify-self-center { justify-self: center }
.col-justify-self-stretch { justify-self: stretch }

.col-align-self-start { align-self: start }
.col-align-self-end { align-self: end }
.col-align-self-center { align-self: center }
.col-align-self-stretch { align-self: stretch }

@media only screen and (min-width: 768px) {
  .sm-gap {
    --gap: var(--sm-gap) !important;
  }
  /*IN ORDER FOR THIS TO WORK, ALL ELEMENTS MUST HAVE A DEFINED WIDTH AND HEIGHT*/
  .col-sm-justify-items-start { justify-items: start }
  .col-sm-justify-items-end { justify-items: end }
  .col-sm-justify-items-center { justify-items: center }
  .col-sm-justify-items-stretch { justify-items: stretch }

  /*IN ORDER FOR THIS TO WORK, ALL ELEMENTS MUST HAVE A DEFINED WIDTH AND HEIGHT*/
  .col-sm-align-items-start { align-items: start }
  .col-sm-align-items-end { align-items: end }
  .col-sm-align-items-center { align-items: center }
  .col-sm-align-items-stretch { align-items: stretch }

  /*IN ORDER FOR THIS TO WORK, ALL ELEMENTS MUST HAVE A DEFINED WIDTH AND HEIGHT*/
  .col-sm-justify-content-start { justify-content: start }
  .col-sm-justify-content-end { justify-content: end }
  .col-sm-justify-content-center { justify-content: center }
  .col-sm-justify-content-stretch { justify-content: stretch }
  .col-sm-justify-content-space-around { justify-content: space-around }
  .col-sm-justify-content-space-between { justify-content: space-between }
  .col-sm-justify-content-space-evenly { justify-content: space-evenly }

  /*IN ORDER FOR THIS TO WORK, ALL ELEMENTS MUST HAVE A DEFINED WIDTH AND HEIGHT*/
  .col-sm-align-content-start { align-content: start }
  .col-sm-align-content-end { align-content: end }
  .col-sm-align-content-center { align-content: center }

  .col-sm-align-content-stretch { align-content: stretch }
  .col-sm-align-content-space-around { align-content: space-around }
  .col-sm-align-content-space-between { align-content: space-between }
  .col-sm-align-content-space-evenly { align-content: space-evenly }

  .col-sm-grid-auto-flow-row { grid-auto-flow: row }
  .col-sm-grid-auto-flow-column { grid-auto-flow: column }
  .col-sm-grid-auto-flow-dense { grid-auto-flow: dense }

  .col-2 { grid-column-end: span 2 }
  .col-4 { grid-column-end: span 4 }
  .col-6 { grid-column-end: span 6 }
  .col-8 { grid-column-end: span 8 }
  .col-10 { grid-column-end: span 10 }
  .col-12 { grid-column-end: span 12 }

  .col-sm-1 { grid-column-end: span 1 }
  .col-sm-2 { grid-column-end: span 2 }
  .col-sm-3 { grid-column-end: span 3 }
  .col-sm-4 { grid-column-end: span 4 }
  .col-sm-5 { grid-column-end: span 5 }
  .col-sm-6 { grid-column-end: span 6 }
  .col-sm-7 { grid-column-end: span 7 }
  .col-sm-8 { grid-column-end: span 8 }
  .col-sm-9 { grid-column-end: span 9 }
  .col-sm-10 { grid-column-end: span 10 }
  .col-sm-11 { grid-column-end: span 11 }
  .col-sm-12 { grid-column-end: span 12 }

  .col-sm-offset-2 { grid-column-start: 2 }
  .col-sm-offset-3 { grid-column-start: 3 }
  .col-sm-offset-4 { grid-column-start: 4 }
  .col-sm-offset-5 { grid-column-start: 5 }
  .col-sm-offset-6 { grid-column-start: 6 }
  .col-sm-offset-7 { grid-column-start: 7 }
  .col-sm-offset-8 { grid-column-start: 8 }
  .col-sm-offset-9 { grid-column-start: 9 }
  .col-sm-offset-10 { grid-column-start: 10 }
  .col-sm-offset-11 { grid-column-start: 11 }
  .col-sm-offset-12 { grid-column-start: 12 }

  .col-sm-justify-self-start { justify-self: start }
  .col-sm-justify-self-end { justify-self: end }
  .col-sm-justify-self-center { justify-self: center }
  .col-sm-justify-self-stretch { justify-self: stretch }

  .col-sm-align-self-start { align-self: start }
  .col-sm-align-self-end { align-self: end }
  .col-sm-align-self-center { align-self: center }
  .col-sm-align-self-stretch { align-self: stretch }
}

@media only screen and (min-width: 1024px) {
  /*IN ORDER FOR THIS TO WORK, ALL ELEMENTS MUST HAVE A DEFINED WIDTH AND HEIGHT*/
  .col-md-justify-items-start { justify-items: start }
  .col-md-justify-items-end { justify-items: end }
  .col-md-justify-items-center { justify-items: center }
  .col-md-justify-items-stretch { justify-items: stretch }

  /*IN ORDER FOR THIS TO WORK, ALL ELEMENTS MUST HAVE A DEFINED WIDTH AND HEIGHT*/
  .col-md-align-items-start { align-items: start }
  .col-md-align-items-end { align-items: end }
  .col-md-align-items-center { align-items: center }
  .col-md-align-items-stretch { align-items: stretch }

  /*IN ORDER FOR THIS TO WORK, ALL ELEMENTS MUST HAVE A DEFINED WIDTH AND HEIGHT*/
  .col-md-justify-content-start { justify-content: start }
  .col-md-justify-content-end { justify-content: end }
  .col-md-justify-content-center { justify-content: center }
  .col-md-justify-content-stretch { justify-content: stretch }
  .col-md-justify-content-space-around { justify-content: space-around }
  .col-md-justify-content-space-between { justify-content: space-between }
  .col-md-justify-content-space-evenly { justify-content: space-evenly }

  /*IN ORDER FOR THIS TO WORK, ALL ELEMENTS MUST HAVE A DEFINED WIDTH AND HEIGHT*/
  .col-md-align-content-start { align-content: start }
  .col-md-align-content-end { align-content: end }
  .col-md-align-content-center { align-content: center }

  .col-md-align-content-stretch { align-content: stretch }
  .col-md-align-content-space-around { align-content: space-around }
  .col-md-align-content-space-between { align-content: space-between }
  .col-md-align-content-space-evenly { align-content: space-evenly }

  .col-md-grid-auto-flow-row { grid-auto-flow: row }
  .col-md-grid-auto-flow-column { grid-auto-flow: column }
  .col-md-grid-auto-flow-dense { grid-auto-flow: dense }

  .col-md-1 { grid-column-end: span 1 }
  .col-md-2 { grid-column-end: span 2 }
  .col-md-3 { grid-column-end: span 3 }
  .col-md-4 { grid-column-end: span 4 }
  .col-md-5 { grid-column-end: span 5 }
  .col-md-6 { grid-column-end: span 6 }
  .col-md-7 { grid-column-end: span 7 }
  .col-md-8 { grid-column-end: span 8 }
  .col-md-9 { grid-column-end: span 9 }
  .col-md-10 { grid-column-end: span 10 }
  .col-md-11 { grid-column-end: span 11 }
  .col-md-12 { grid-column-end: span 12 }

  .col-md-offset-2 { grid-column-start: 2 }
  .col-md-offset-3 { grid-column-start: 3 }
  .col-md-offset-4 { grid-column-start: 4 }
  .col-md-offset-5 { grid-column-start: 5 }
  .col-md-offset-6 { grid-column-start: 6 }
  .col-md-offset-7 { grid-column-start: 7 }
  .col-md-offset-8 { grid-column-start: 8 }
  .col-md-offset-9 { grid-column-start: 9 }
  .col-md-offset-10 { grid-column-start: 10 }
  .col-md-offset-11 { grid-column-start: 11 }
  .col-md-offset-12 { grid-column-start: 12 }

  .col-md-justify-self-start { justify-self: start }
  .col-md-justify-self-end { justify-self: end }
  .col-md-justify-self-center { justify-self: center }
  .col-md-justify-self-stretch { justify-self: stretch }

  .col-md-align-self-start { align-self: start }
  .col-md-align-self-end { align-self: end }
  .col-md-align-self-center { align-self: center }
  .col-md-align-self-stretch { align-self: stretch }
}

@media only screen and (min-width: 1200px) {
  /*IN ORDER FOR THIS TO WORK, ALL ELEMENTS MUST HAVE A DEFINED WIDTH AND HEIGHT*/
  .col-lg-justify-items-start { justify-items: start }
  .col-lg-justify-items-end { justify-items: end }
  .col-lg-justify-items-center { justify-items: center }
  .col-lg-justify-items-stretch { justify-items: stretch }

  /*IN ORDER FOR THIS TO WORK, ALL ELEMENTS MUST HAVE A DEFINED WIDTH AND HEIGHT*/
  .col-lg-align-items-start { align-items: start }
  .col-lg-align-items-end { align-items: end }
  .col-lg-align-items-center { align-items: center }
  .col-lg-align-items-stretch { align-items: stretch }

  /*IN ORDER FOR THIS TO WORK, ALL ELEMENTS MUST HAVE A DEFINED WIDTH AND HEIGHT*/
  .col-lg-justify-content-start { justify-content: start }
  .col-lg-justify-content-end { justify-content: end }
  .col-lg-justify-content-center { justify-content: center }
  .col-lg-justify-content-stretch { justify-content: stretch }
  .col-lg-justify-content-space-around { justify-content: space-around }
  .col-lg-justify-content-space-between { justify-content: space-between }
  .col-lg-justify-content-space-evenly { justify-content: space-evenly }

  /*IN ORDER FOR THIS TO WORK, ALL ELEMENTS MUST HAVE A DEFINED WIDTH AND HEIGHT*/
  .col-lg-align-content-start { align-content: start }
  .col-lg-align-content-end { align-content: end }
  .col-lg-align-content-center { align-content: center }

  .col-lg-align-content-stretch { align-content: stretch }
  .col-lg-align-content-space-around { align-content: space-around }
  .col-lg-align-content-space-between { align-content: space-between }
  .col-lg-align-content-space-evenly { align-content: space-evenly }

  .col-lg-grid-auto-flow-row { grid-auto-flow: row }
  .col-lg-grid-auto-flow-column { grid-auto-flow: column }
  .col-lg-grid-auto-flow-dense { grid-auto-flow: dense }

  .col-lg-1 { grid-column-end: span 1 }
  .col-lg-2 { grid-column-end: span 2 }
  .col-lg-3 { grid-column-end: span 3 }
  .col-lg-4 { grid-column-end: span 4 }
  .col-lg-5 { grid-column-end: span 5 }
  .col-lg-6 { grid-column-end: span 6 }
  .col-lg-7 { grid-column-end: span 7 }
  .col-lg-8 { grid-column-end: span 8 }
  .col-lg-9 { grid-column-end: span 9 }
  .col-lg-10 { grid-column-end: span 10 }
  .col-lg-11 { grid-column-end: span 11 }
  .col-lg-12 { grid-column-end: span 12 }

  .col-lg-offset-2 { grid-column-start: 2 }
  .col-lg-offset-3 { grid-column-start: 3 }
  .col-lg-offset-4 { grid-column-start: 4 }
  .col-lg-offset-5 { grid-column-start: 5 }
  .col-lg-offset-6 { grid-column-start: 6 }
  .col-lg-offset-7 { grid-column-start: 7 }
  .col-lg-offset-8 { grid-column-start: 8 }
  .col-lg-offset-9 { grid-column-start: 9 }
  .col-lg-offset-10 { grid-column-start: 10 }
  .col-lg-offset-11 { grid-column-start: 11 }
  .col-lg-offset-12 { grid-column-start: 12 }

  .col-lg-justify-self-start { justify-self: start }
  .col-lg-justify-self-end { justify-self: end }
  .col-lg-justify-self-center { justify-self: center }
  .col-lg-justify-self-stretch { justify-self: stretch }

  .col-lg-align-self-start { align-self: start }
  .col-lg-align-self-end { align-self: end }
  .col-lg-align-self-center { align-self: center }
  .col-lg-align-self-stretch { align-self: stretch }
}

/* ORDER UTILITIES */
@media only screen and (min-width: 768px) {
  .col-sm-order-1 {order: 1}
  .col-sm-order-2 {order: 2}
  .col-sm-order-3 {order: 3}
  .col-sm-order-4 {order: 4}
  .col-sm-order-5 {order: 5}
  .col-sm-order-6 {order: 6}
}

/* SIZE UTILITIES */
.item-span-2 {grid-column: span 2}
.item-span-3 {grid-column: span 3}
.item-span-4 {grid-column: span 4}
.item-span-5 {grid-column: span 5}
.item-span-6 {grid-column: span 6}

@media only screen and (min-width: 768px) {
  .sm-item-span-2 {grid-column: span 2}
  .sm-item-span-3 {grid-column: span 3}
  .sm-item-span-4 {grid-column: span 4}
  .sm-item-span-5 {grid-column: span 5}
  .sm-item-span-6 {grid-column: span 6}
}

@media only screen and (min-width: 1024px) {
  .md-item-span-2 {grid-column: span 2}
  .md-item-span-3 {grid-column: span 3}
  .md-item-span-4 {grid-column: span 4}
  .md-item-span-5 {grid-column: span 5}
  .md-item-span-6 {grid-column: span 6}
}

/* MAX WIDTH UTILITIES */
@media only screen and (min-width: 768px) {
  .col-sm-max-1 { max-width: var(--max-col-width)}
  .col-sm-max-2 { max-width: calc(var(--max-col-width) * 2 + var(--gutter) )}
  .col-sm-max-3 { max-width: calc(var(--max-col-width) * 3 + var(--gutter) * 2 )}
  .col-sm-max-4 { max-width: calc(var(--max-col-width) * 4 + var(--gutter) * 3 )}
  .col-sm-max-5 { max-width: calc(var(--max-col-width) * 5 + var(--gutter) * 4 )}
  .col-sm-max-6 { max-width: calc(var(--max-col-width) * 6 + var(--gutter) * 5 )}
  .col-sm-max-7 { max-width: calc(var(--max-col-width) * 7 + var(--gutter) * 6 )}
  .col-sm-max-8 { max-width: calc(var(--max-col-width) * 8 + var(--gutter) * 7 )}
  .col-sm-max-9 { max-width: calc(var(--max-col-width) * 9 + var(--gutter) * 8 )}
  .col-sm-max-10 { max-width: calc(var(--max-col-width) * 10 + var(--gutter) * 9 )}
  .col-sm-max-11 { max-width: calc(var(--max-col-width) * 11 + var(--gutter) * 10 )}
}
@media only screen and (min-width: 1024px) {
  .col-md-max-1 { max-width: var(--max-col-width)}
  .col-md-max-2 { max-width: calc(var(--max-col-width) * 2 + var(--gutter) )}
  .col-md-max-3 { max-width: calc(var(--max-col-width) * 3 + var(--gutter) * 2 )}
  .col-md-max-4 { max-width: calc(var(--max-col-width) * 4 + var(--gutter) * 3 )}
  .col-md-max-5 { max-width: calc(var(--max-col-width) * 5 + var(--gutter) * 4 )}
  .col-md-max-6 { max-width: calc(var(--max-col-width) * 6 + var(--gutter) * 5 )}
  .col-md-max-7 { max-width: calc(var(--max-col-width) * 7 + var(--gutter) * 6 )}
  .col-md-max-8 { max-width: calc(var(--max-col-width) * 8 + var(--gutter) * 7 )}
  .col-md-max-9 { max-width: calc(var(--max-col-width) * 9 + var(--gutter) * 8 )}
  .col-md-max-10 { max-width: calc(var(--max-col-width) * 10 + var(--gutter) * 9 )}
  .col-md-max-11 { max-width: calc(var(--max-col-width) * 11 + var(--gutter) * 10 )}
}

/* GALLERY GRID */
.grid--gallery {
  grid-auto-flow: initial;
}
.grid--gallery .media {
  height: 100%;
}
.grid--gallery .media > * {
  height: 100%;
}
/* --------------------------------
  CARD BASE STRUCTURE

  - card
    - card media
    - card body
    - quickbuy / hotspot
-------------------------------- */

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--card-border-radius);
  color: var(--color-card-foreground);
  background: var(--color-card-background);
}
.card-media {
  position: relative;
  overflow: hidden;
}
.card-media figure {
  border-radius: calc(var(--card-border-radius) / 1.5);
  overflow: hidden;
}
.card-body {
  padding: var(--card-body-padding);
}

.card-media-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  padding: var(--card-body-padding);
}

/* Second image on hover */
.card-hover-images {
  position: relative;
  overflow: hidden;
}
.card-hover-images > *:last-child {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

@media (hover: hover) {
  .card .media > * {
    transition: transform 0.4s ease-in-out;
  }
  .card:hover .media > * {
    transform: scale(1.1);
  }
  .card.on-hover:hover .card-hover-images > *:first-child > * {
    opacity: 0;
  }
  .card.on-hover:hover .card-hover-images > *:last-child {
    opacity: 1;
  }
}

/* Color utilities */
.card.bg-gradient {
  --color-card-background: var(--gradient-card-background)
}
.card.bg-transparent {
  --color-card-background: transparent;
}


/* --------------------------------
  CARD TYPES
-------------------------------- */

/* Traditional */
.card--traditional {
  background: transparent;
  color: inherit;
}
.card--traditional .card-media {
  border-radius: var(--card-border-radius);
  background: var(--color-card-background);
}
.card--traditional .card-body {
  padding: var(--card-body-padding) 0;
}

/* Banner */
.card--banner .card-media {
  height: 100%;
  width: 100%;
  position: relative;
}
.card--banner .media,
.card--banner .media img {
  height: 100%;
}
.card--banner .video {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

/* Testimonial */
.card--testimonial .quotation-mark {
  height: 35%;
}

/* Collection */
.card--collection .badges {
  position: absolute;
  top: var(--card-body-padding);
}
.card--collection .vertical-top .badges {
  top: auto;
  bottom: var(--card-body-padding);
}

/* Product */
.card--product.content--none .card-body,
.card--product.content--name-only .card-body > *:not(.card-title),
.card--product.content--name-and-price .card-body > *:not(.card-title, .price) {
  display: none;
}

/* Hotspot */
.card--default:not(.layout--thumbnail) .hotspot {
  position: absolute !important;
  top: 20px;
  right: 20px;
}


/* --------------------------------
  CARD THUMBNAIL LAYOUT
-------------------------------- */
.layout--thumbnail {
  --thumbnail-width: 90px;
  display: grid;
  grid-template-columns: var(--thumbnail-width) auto auto;
  align-items: center;
}

.layout--thumbnail .card-body {
  text-align: left;
  padding: min(16px, var(--card-body-padding));
}
.layout--thumbnail .flex {
  justify-content: flex-start !important;
}
.layout--thumbnail .card-media-overlay,
.layout--thumbnail .card-vendor,
.layout--thumbnail .swatches {
  display: none;
}
.layout--thumbnail .hotspot {
  margin-left: auto;
  margin-right: 16px;
  width: 30px;
  height: 30px;
}

.card-body .badges {
  margin-bottom: 8px;
  display: none;
}
.layout--thumbnail .card-body .badges {
  display: flex;
}
.card-body ul {
  list-style: inside disc;
}
.card-body ul li::marker {
  margin-right: 4px;
}

/* Thumbnail responsive classes – SM DOWN */
@media only screen and (max-width: 767px) {
  .sm-down-layout--thumbnail {
    --thumbnail-width: 90px;
    display: grid;
    grid-template-columns: var(--thumbnail-width) auto auto;
    align-items: center;
  }

  .sm-down-layout--thumbnail .card-body {
    text-align: left;
    padding: min(16px, var(--card-body-padding));
  }
  .sm-down-layout--thumbnail .flex {
    justify-content: flex-start !important;
  }
  .sm-down-layout--thumbnail .card-media-overlay,
  .sm-down-layout--thumbnail .card-vendor,
  .sm-down-layout--thumbnail .swatches {
    display: none;
  }
  .sm-down-layout--thumbnail .card-body .badges {
    display: flex;
  }
}
/* Thumbnail responsive classes – SM */
@media only screen and (min-width: 768px) {
  .sm-layout--thumbnail {
    --thumbnail-width: 90px;
    display: grid;
    grid-template-columns: var(--thumbnail-width) auto auto;
    align-items: center;
  }

  .sm-layout--thumbnail .card-body {
    text-align: left;
    padding: min(16px, var(--card-body-padding));
  }
  .sm-layout--thumbnail .flex {
    justify-content: flex-start !important;
  }
  .sm-layout--thumbnail .card-media-overlay,
  .sm-layout--thumbnail .card-vendor,
  .sm-layout--thumbnail .swatches {
    display: none;
  }
  .sm-layout--thumbnail .card-body .badges {
    display: flex;
  }
}


/* --------------------------------
  VARIANT BUTTONS
-------------------------------- */
.options-availability {
  gap: 8px;
}
.variant-option-title {
  position: relative;
  padding: 2px 6px;
  background: var(--color-background);
  color: var(--color-foreground);
  text-align: center;
  min-width: 30px;
  border-radius: var(--button-border-radius);
}
.variant-option-title.unavailable {
  opacity: 0.45;
}
.variant-option-title.unavailable::after {
  display: block;
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  transform: rotate(-45deg);
  border-left: solid 1px var(--color-foreground);
 }


/* --------------------------------
  QUICK BUY
-------------------------------- */
.card quick-buy {
  position: absolute;
  /* bottom: 0px;
  right: var(--card-body-padding); */
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s ease-in;
  --quick-buy-offset: var(--card-body-padding);
}
.card--traditional quick-buy {
  --quick-buy-offset: 0;
}

quick-buy.full-width {
  left: var(--quick-buy-offset);
  right: var(--quick-buy-offset);
}
quick-buy.position--top { top: var(--quick-buy-offset); }
quick-buy.position--middle { top: 50%; transform: translateY(-50%); }
quick-buy.position--bottom { bottom: var(--quick-buy-offset); }

quick-buy.position--top-left { top: var(--quick-buy-offset); left: var(--quick-buy-offset); }
quick-buy.position--top-center { top: var(--quick-buy-offset); left: 50%; transform:translateX(-50%); }
quick-buy.position--top-right { top: var(--quick-buy-offset); right: var(--quick-buy-offset); }

quick-buy.position--middle-left { top: 50%; left: var(--quick-buy-offset); transform: translateY(-50%); }
quick-buy.position--middle-center { top: 50%; left: 50%; transform:translateX(-50%) translateY(-50%); }
quick-buy.position--middle-right { top: 50%; right: var(--quick-buy-offset); transform: translateY(-50%); }

quick-buy.position--bottom-left { bottom: var(--quick-buy-offset); left: var(--quick-buy-offset); }
quick-buy.position--bottom-center { bottom: var(--quick-buy-offset); left: 50%; transform:translateX(-50%); }
quick-buy.position--bottom-right { bottom: var(--quick-buy-offset); right: var(--quick-buy-offset); }


.card quick-buy .btn {
  display: block !important;
}
@media (hover:hover) {
  .card:hover quick-buy {
    opacity: 1;
    pointer-events: auto;
  }
}
.card quick-buy:focus-within {
  opacity: 1;
  pointer-events: auto;
  bottom: var(--card-body-padding);
}
.quick-buy_icon {
  display: none;
  pointer-events: none;
}

.layout--thumbnail quick-buy {
  position: relative;
  align-self: center;
  opacity: 1;
  width: auto;
  margin-left: auto;
  margin-right: 16px;
  pointer-events: auto;

  left: auto !important;
  bottom: auto !important;
  top: auto !important;
  right: auto !important;
  transform: none !important;
}
.layout--thumbnail quick-buy .btn {
  padding: 10px !important;
  width: 44px;
  height: 44px;
  display: flex !important;
  justify-content: center;
  align-items: center;
}
.layout--thumbnail .quick-buy_text {
  display: none;
}
.layout--thumbnail .quick-buy_icon {
  display: flex;
}
@media only screen and (max-width: 767px) {
  .sm-down-layout--thumbnail quick-buy {
    position: relative;
    align-self: center;
    opacity: 1;
    width: auto;
    margin-left: auto;
    margin-right: 16px;

    left: auto !important;
    bottom: auto !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
  }
  .sm-down-layout--thumbnail quick-buy .btn {
    padding: 10px !important;
    width: 44px;
    height: 44px;
    display: flex !important;
    justify-content: center;
    align-items: center;
  }
  .sm-down-layout--thumbnail .quick-buy_text {
    display: none;
  }
  .sm-down-layout--thumbnail .quick-buy_icon {
    display: flex;
  }
}
@media only screen and (min-width: 768px) {
  .sm-layout--thumbnail quick-buy {
    position: relative;
    align-self: center;
    opacity: 1;
    width: auto;
    margin-left: auto;
    margin-right: 16px;

    left: auto !important;
    bottom: auto !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
  }
  .sm-layout--thumbnail quick-buy .btn {
    padding: 10px !important;
    width: 44px;
    height: 44px;
    display: flex !important;
    justify-content: center;
    align-items: center;
  }
  .sm-layout--thumbnail .quick-buy_text {
    display: none;
  }
  .sm-layout--thumbnail .quick-buy_icon {
    display: flex;
  }
}/* Core */
gridy-slider {
  position: relative;
  display: block;
}
.gridy-track > * {
  scroll-snap-align: start;
  overflow: hidden;
}
.gridy-track.disable-scroll {
  overflow: hidden !important;
}

/* Item sizing rules */
.grid-cols-1 { --slide-items-width: 100% }
.grid-cols-2 { --slide-items-width: calc((100% - var(--gap)*1)/2) }
.grid-cols-3 { --slide-items-width: calc((100% - var(--gap)*2)/3) }
.grid-cols-4 { --slide-items-width: calc((100% - var(--gap)*3)/4) }
.grid-cols-5 { --slide-items-width: calc((100% - var(--gap)*4)/5) }
.grid-cols-6 { --slide-items-width: calc((100% - var(--gap)*5)/6) }

/* Arrows */
.gridy-arrows {
  display: none;
  position: absolute;
  width: 100%;
  top: 50%;
  pointer-events: none;
  left: 0;
  z-index: 1;
}
.gridy-arrow {
  pointer-events: auto;
  position: absolute;
  top: -50%;
  transform: translateY(-50%);
}
[data-direction="prev"] {
  left: 0;
}
[data-direction="next"] {
  right: 0;
}

.gridy-arrows.on-edge {
  width: 100%;
  left: 0;
}
.gridy-arrows.on-edge [data-direction="prev"] { transform: translate(-50%, -50%) }
.gridy-arrows.on-edge [data-direction="next"] { transform: translate(50%, -50%) }

/* Indicators */
.gridy-indicator.position-overlay-track {
  position: absolute;
  bottom: 0;
  width: 100%;
  z-index: 1;
  pointer-events: none;
}
.dot {
  display: block;
  background-color: #FFF;
  height: 8px;
  width: 8px;
  border-radius: 40px;
  opacity: .35;
}
.dot.active {
  opacity: 1;
}

.indicator--lines .dot {
  width: 32px;
  height: 2px;
  border-radius: 0;
}

/* Minimal Arrow style */
.arrows-style--minimal .gridy-arrow {
  color: var(--color-foreground);
  background-color: var(--color-background);
}
.arrows-style--minimal .gridy-arrow:hover {
  box-shadow: 0 0 0 3px var(--color-background), 0 2px 4px 3px rgba(0,0,0,0.15) !important;
}

.arrows-style--no-bg .gridy-arrow {
  color: var(--color-foreground);
  background-color: transparent;
}
.arrows-style--no-bg .gridy-arrow {
  transform: translateX(0) !important;
}
.arrows-style--no-bg .gridy-arrow:hover {
  box-shadow: 0 0 0 3px var(--color-background), 0 2px 4px 3px rgba(0,0,0,0.15) !important;
  background-color: var(--color-background);
}


/* MOBILE */
@media only screen and (max-width: 767px) {
  .slide-peek.grid-cols-1 { --slide-items-width: 85% }
  .slide-peek.grid-cols-2 { --slide-items-width: calc((90% - var(--gap)*1)/2) }
  .slide-peek.grid-cols-3 { --slide-items-width: calc((92% - var(--gap)*2)/3) }
  .slide-peek.grid-cols-4 { --slide-items-width: calc((94% - var(--gap)*3)/4) }

  [data-mobile-enabled="true"] .gridy-track {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    grid: auto / auto-flow var(--slide-items-width);
  }
  [data-mobile-enabled="true"] .gridy-arrows {
    display: flex;
  }
  [data-mobile-enabled="true"] .track-inner-padding {
    padding-left: var(--container-margin);
    padding-right: var(--container-margin);
    scroll-padding-inline: var(--container-margin);
  }

  .sm-down-scroll-hidden {
    overflow: hidden !important;
  }

  [data-direction="prev"].btn--round {
    padding: 0.4em 0.4em 0.4em 0.2em !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
  }
  [data-direction="next"].btn--round {
    padding: 0.4em 0.2em 0.4em 0.4em !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
  }
}

/* Disable native scroll for product media on mobile (using Swiper instead) */
@media only screen and (max-width: 767px) {
  .product-media-slider .gridy-track {
    scroll-snap-type: none !important;
    scroll-behavior: auto !important;
    overscroll-behavior-x: auto !important;
  }
}

/* TABLET */
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  [data-tablet-enabled="true"] .gridy-track {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    grid: auto / auto-flow var(--slide-items-width);
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
  }

  [data-tablet-enabled="true"] .gridy-arrows {
    display: flex;
  }
}
@media only screen and (min-width: 768px) {
  .sm-grid-cols-1 { --slide-items-width: 100% }
  .sm-grid-cols-2 { --slide-items-width: calc((100% - var(--gap)*1)/2) }
  .sm-grid-cols-3 { --slide-items-width: calc((100% - var(--gap)*2)/3) }
  .sm-grid-cols-4 { --slide-items-width: calc((100% - var(--gap)*3)/4) }

  .gridy-arrows {
    width: calc(100% - var(--container-margin));
    left: calc(var(--container-margin) / 2);
  }

  .gridy-arrows.sm-on-edge {
    width: 100%;
    left: 0;
  }
  .gridy-arrows.sm-on-edge [data-direction="prev"] { transform: translate(-50%, -50%) }
  .gridy-arrows.sm-on-edge [data-direction="next"] { transform: translate(50%, -50%) }

  .sm-scroll-hidden {
    overflow: hidden !important;
  }
}

/* DESKTOP */
@media only screen and (min-width: 1024px) {
  [data-desktop-enabled="true"] .gridy-track {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    grid: auto / auto-flow var(--slide-items-width);
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
  }

  [data-desktop-enabled="true"] .gridy-arrows {
    display: flex;
  }

  .md-grid-cols-1 { --slide-items-width: 100% }
  .md-grid-cols-2 { --slide-items-width: calc((100% - var(--gap)*1)/2) }
  .md-grid-cols-3 { --slide-items-width: calc((100% - var(--gap)*2)/3) }
  .md-grid-cols-4 { --slide-items-width: calc((100% - var(--gap)*3)/4) }
  .md-grid-cols-5 { --slide-items-width: calc((100% - var(--gap)*4)/5) }
  .md-grid-cols-6 { --slide-items-width: calc((100% - var(--gap)*5)/6) }

  .md-scroll-hidden {
    overflow: hidden !important;
  }
}