/* One photo per frame; the gallery's second photo replaces it on hover. */
.woocommerce ul.products li.gh-shop-product-card a .gh-card-image,
.woocommerce ul.products li.gh-shop-product-card .gh-card-image{position:relative!important;display:block!important;overflow:hidden!important;padding:0!important}
.woocommerce ul.products li.gh-shop-product-card a .gh-card-image img,
.woocommerce ul.products li.gh-shop-product-card .gh-card-image img.gh-full-product-photo,
.woocommerce ul.products li.gh-shop-product-card a .gh-card-image img.gh-card-second-image{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:none!important;margin:0!important;padding:0!important;float:none!important;object-fit:contain!important;transform:none!important;box-sizing:border-box!important;transition:opacity .2s}
.woocommerce ul.products li.gh-shop-product-card a .gh-card-image img.gh-card-second-image{opacity:0!important;z-index:2;background:white;pointer-events:none}
.woocommerce ul.products li.gh-shop-product-card .gh-card-badges{z-index:3}
@media(hover:hover){
.woocommerce ul.products li.gh-shop-product-card a .gh-card-image:hover img.gh-card-second-image{opacity:1!important}
.woocommerce ul.products li.gh-shop-product-card a .gh-card-image:hover:has(.gh-card-second-image) img:not(.gh-card-second-image){opacity:0!important}
}
.gh-home-product-card .gh-photo-pair{position:relative!important;display:block!important;width:100%!important;height:100%!important;overflow:hidden}
.gh-home-product-card .gh-photo-pair img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;margin:0!important;padding:0!important;transform:none!important}
.gh-home-product-card .gh-photo-back{opacity:0!important;z-index:2;background:white}
@media(hover:hover){.gh-home-product-card .gh-photo-pair:hover .gh-photo-back{opacity:1!important}.gh-home-product-card .gh-photo-pair:hover:has(.gh-photo-back) .gh-photo-front{opacity:0!important}}
/* Remove frame and slide padding at desktop and mobile sizes. */
.woocommerce .gh-original-product .gh-original-gallery div.images,
.woocommerce .gh-original-product .gh-original-gallery .woocommerce-product-gallery__wrapper,
.woocommerce .gh-original-product .gh-original-gallery .flex-viewport,
.woocommerce .gh-original-product .gh-original-gallery .woocommerce-product-gallery__image{padding:0!important;box-sizing:border-box!important}
.woocommerce .gh-original-product .gh-original-gallery .woocommerce-product-gallery__image a{display:block!important;padding:0!important;margin:0!important;width:100%!important;max-width:none!important;aspect-ratio:1!important;height:auto!important;overflow:hidden!important;box-sizing:border-box!important}
.woocommerce .gh-original-product .gh-original-gallery .woocommerce-product-gallery__image a img:not(.zoomImg){display:block!important;width:100%!important;height:100%!important;max-height:none!important;max-width:none!important;padding:0!important;margin:0!important;aspect-ratio:1!important;object-fit:contain!important;transform:none!important;border-radius:0!important}
.woocommerce .gh-original-product .gh-original-gallery .zoomImg{display:none!important}
@media(prefers-reduced-motion:reduce){.woocommerce ul.products li.gh-shop-product-card a .gh-card-image img{transition:none}}

/* FIX 3.3.67: preserve WooCommerce/FlexSlider's calculated slide widths.
   Do not force width/flex-basis on the gallery wrapper or individual slides;
   those overrides make the main image disappear after variation or arrow changes. */
body.single-product .gh-original-product .gh-original-grid {
  display: grid !important;
  grid-template-columns: minmax(320px, 44%) minmax(0, 1fr) !important;
  gap: clamp(20px, 3vw, 42px) !important;
  align-items: start !important;
  width: min(100% - 32px, 1240px) !important;
  max-width: 1240px !important;
  margin: 28px auto !important;
}
body.single-product .gh-original-product .gh-original-gallery,
body.single-product .gh-original-product .gh-original-gallery .woocommerce-product-gallery,
body.single-product .gh-original-product .gh-original-gallery div.images {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  height: auto !important;
  background: #fff !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
body.single-product .gh-original-product .gh-original-gallery .flex-viewport {
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 18px !important;
  background: #fff !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
/* Intentionally leave .woocommerce-product-gallery__wrapper width/display and
   .woocommerce-product-gallery__image width/flex properties to FlexSlider. */
body.single-product .gh-original-product .gh-original-gallery .woocommerce-product-gallery__image a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  padding: 14px !important;
  margin: 0 !important;
  background: #fff !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  position: relative !important;
}
body.single-product .gh-original-product .gh-original-gallery .woocommerce-product-gallery__image img:not(.zoomImg) {
  display: block !important;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 480px !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: #fff !important;
  transform: none !important;
}
body.single-product .gh-original-product .gh-original-gallery .woocommerce-product-gallery__image.gh-contained-zoomed img:not(.zoomImg) {
  transform: translate(var(--gh-pan-x, 0px), var(--gh-pan-y, 0px)) scale(1.65) !important;
  transform-origin: center center !important;
  max-width: 100% !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
  pointer-events: none !important;
}
body.single-product .gh-original-product .gh-original-gallery .woocommerce-product-gallery__image.gh-contained-zoomed a {
  overflow: hidden !important;
  cursor: grab !important;
  touch-action: none !important;
  user-select: none !important;
}
body.single-product .gh-original-product .gh-original-gallery .woocommerce-product-gallery__image.gh-contained-zoomed a:active { cursor: grabbing !important; }
body.single-product .gh-original-product .gh-original-gallery .zoomImg,
body.single-product .gh-original-product .gh-original-gallery .woocommerce-product-gallery__trigger { display: none !important; }
body.single-product .gh-original-product .gh-original-gallery .flex-direction-nav a { z-index: 8 !important; }
@media (max-width: 980px) {
  body.single-product .gh-original-product .gh-original-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    width: min(100% - 24px, 600px) !important;
    gap: 22px !important;
  }
  body.single-product .gh-original-product .gh-original-gallery { max-width: 600px !important; margin: 0 auto !important; }
}


/* Site-wide product image frame height adjustment: keep all product cards visually consistent. */
.gh-card-image,
.woocommerce ul.products li.gh-shop-product-card .gh-card-image {
    height: 260px !important;
    min-height: 260px !important;
    max-height: 260px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}
.gh-card-image img,
.woocommerce ul.products li.gh-shop-product-card .gh-card-image img.gh-full-product-photo {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 224px !important;
    max-height: 224px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 !important;
}
@media (max-width: 600px) {
    .gh-card-image,
    .woocommerce ul.products li.gh-shop-product-card .gh-card-image {
        height: 250px !important;
        min-height: 250px !important;
        max-height: 250px !important;
    }
    .gh-card-image img,
    .woocommerce ul.products li.gh-shop-product-card .gh-card-image img.gh-full-product-photo {
        height: 214px !important;
        max-height: 214px !important;
    }
}


/* Final override: consistent 290px product image frame across all product grids. */
.gh-card-image,
.woocommerce ul.products li.gh-shop-product-card .gh-card-image,
.gh-card a .gh-card-image {
    height: 290px !important;
    min-height: 290px !important;
    max-height: 290px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.gh-card-image img,
.gh-card-image img.gh-card-second-image,
.woocommerce ul.products li.gh-shop-product-card .gh-card-image img,
.woocommerce ul.products li.gh-shop-product-card .gh-card-image img.gh-full-product-photo,
.woocommerce ul.products li.gh-shop-product-card .gh-card-image img.gh-card-second-image,
.gh-card a .gh-card-image img {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    height: 258px !important;
    min-height: 0 !important;
    max-height: 258px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 !important;
}
@media (max-width: 600px) {
    .gh-card-image,
    .woocommerce ul.products li.gh-shop-product-card .gh-card-image,
    .gh-card a .gh-card-image {
        height: 290px !important;
        min-height: 290px !important;
        max-height: 290px !important;
    }
    .gh-card-image img,
    .gh-card-image img.gh-card-second-image,
    .woocommerce ul.products li.gh-shop-product-card .gh-card-image img,
    .woocommerce ul.products li.gh-shop-product-card .gh-card-image img.gh-full-product-photo,
    .woocommerce ul.products li.gh-shop-product-card .gh-card-image img.gh-card-second-image,
    .gh-card a .gh-card-image img {
        height: 258px !important;
        max-height: 258px !important;
    }
}
