/* Reserve the square flag gallery before WooCommerce initializes FlexSlider. */
body.noofno-flag-product .woocommerce-product-gallery {
  opacity: 1 !important;
}
body.noofno-flag-product .woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__wrapper {
  aspect-ratio: 1;
  overflow: hidden;
}
body.noofno-flag-product .woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__image:not(:first-child) {
  display: none;
}
body.noofno-flag-product .woocommerce-product-gallery .flex-viewport {
  aspect-ratio: 1;
}
body.noofno-flag-product .woocommerce-product-gallery:not(:has(.flex-control-thumbs)):has(.woocommerce-product-gallery__image:nth-child(2))::after {
  content: "";
  display: block;
  aspect-ratio: 4;
  margin-top: 10px;
}
body.noofno-flag-product .woocommerce-product-gallery:not(:has(.flex-control-thumbs)):has(.woocommerce-product-gallery__image:nth-child(5))::after {
  aspect-ratio: 2;
}
body.noofno-flag-product .woocommerce-product-gallery .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 10px 0 0 !important;
}
body.noofno-flag-product .woocommerce-product-gallery .flex-control-thumbs li {
  width: auto !important;
  margin: 0 !important;
}
body.noofno-flag-product .woocommerce-product-gallery .flex-control-thumbs img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
}
body.noofno-flag-product .woocommerce-product-gallery__image img {
  aspect-ratio: 1;
  object-fit: contain;
}
body.noofno-flag-product .noofno-swatch-image {
  aspect-ratio: 1;
}
