.single-product .woocommerce-product-gallery.mibang-media-gallery { position: relative; }
/* FlexSlider's moving strip must be wider than its viewport, including on mobile. */
.single-product .mibang-media-gallery .flex-viewport > .woocommerce-product-gallery__wrapper { max-width: none !important; overflow: visible !important; }
.single-product .mibang-gallery-nav { display: grid; grid-template-columns: 28px minmax(0, 1fr) 28px; align-items: center; gap: 6px; margin-top: 12px; width: 100%; }
.single-product .mibang-gallery-strip { display: flex; align-items: flex-start; gap: 8px; overflow-x: auto; overflow-y: hidden; width: 100%; min-width: 0; padding: 2px 0 8px; scrollbar-width: thin; scrollbar-color: #a9b3bd #f1f3f5; cursor: grab; overscroll-behavior-x: contain; }
.single-product .mibang-gallery-strip.is-dragging { cursor: grabbing; user-select: none; }
.woocommerce.single-product div.product div.images .mibang-gallery-strip .flex-control-thumbs { display: flex !important; flex-wrap: nowrap !important; gap: 8px; width: max-content !important; max-width: none !important; overflow: visible !important; flex: 0 0 auto; margin: 0 !important; padding: 0 !important; }
.woocommerce.single-product div.product div.images .mibang-gallery-strip .flex-control-thumbs li { flex: 0 0 96px; width: 96px !important; margin: 0 !important; padding: 0; float: none !important; border: 1px solid #dfe3e7; border-radius: 6px; overflow: hidden; }
.woocommerce.single-product div.product div.images .mibang-gallery-strip .flex-control-thumbs img { display: block; width: 100% !important; height: 94px !important; max-height: none !important; aspect-ratio: 1; object-fit: contain; cursor: pointer; }
.single-product .mibang-gallery-arrow { display: grid; place-items: center; padding: 0; min-width: 0; width: 28px; height: 40px; border: 1px solid #e0e4e8; border-radius: 6px; background: #fff; color: #17202a; cursor: pointer; }
.single-product .mibang-gallery-arrow svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; }
.single-product .mibang-gallery-arrow:disabled { opacity: .3; cursor: default; }
.single-product .mibang-gallery-video-thumb { position: relative; display: grid; place-items: center; flex: 0 0 96px; width: 96px; height: 96px; padding: 0; border: 1px solid #dfe3e7; border-radius: 6px; background-position: center; background-size: cover; overflow: hidden; color: #fff; cursor: pointer; }
.single-product .mibang-gallery-video-thumb[aria-pressed="true"] { border: 2px solid var(--mb-red); }
.single-product .mibang-video-play { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: rgba(0,0,0,.7); font-size: 15px; padding-left: 2px; }
.single-product .mibang-video-caption { position: absolute; bottom: 0; inset-inline: 0; padding: 2px 0; text-align: center; background: rgba(0,0,0,.7); font-size: 11px; font-weight: 700; }
.single-product .mibang-gallery-video-stage { position: absolute; inset: 0 0 auto; width: 100%; aspect-ratio: 1; display: flex; align-items: center; background: #101214; z-index: 3; overflow: hidden; }
.single-product .mibang-gallery-video-stage[hidden] { display: none !important; }
.single-product .mibang-gallery-video-stage video { display: block; width: 100%; height: 100%; max-height: 100%; object-fit: cover; object-position: center; }
.single-product .mibang-media-gallery.mibang-video-active .flex-viewport,
.single-product .mibang-media-gallery.mibang-video-active > .woocommerce-product-gallery__wrapper { visibility: hidden; }
.single-product .mibang-media-gallery.mibang-video-active .woocommerce-product-gallery__trigger { display: none; }
.single-product .mibang-media-gallery.mibang-video-active .flex-control-thumbs img.flex-active { opacity: .6; }
.single-product .mibang-video-error { position: absolute; inset: auto 12px 45px; background: #fff; color: #17202a; padding: 12px; }
.single-product .mibang-gallery-strip img:focus-visible, .single-product .mibang-gallery-nav button:focus-visible { outline: 2px solid var(--mb-red); outline-offset: -3px; }
@media(max-width:680px) {
  .single-product .mibang-gallery-nav { grid-template-columns: 24px minmax(0,1fr) 24px; gap: 4px; }
  .single-product .mibang-gallery-arrow { width: 24px; }
  .woocommerce.single-product div.product div.images .mibang-gallery-strip .flex-control-thumbs li { flex-basis: 72px; width: 72px !important; }
  .woocommerce.single-product div.product div.images .mibang-gallery-strip .flex-control-thumbs img { height: 70px !important; }
  .single-product .mibang-gallery-video-thumb { flex-basis: 72px; width: 72px; height: 72px; }
}
