.aihm-product-media{position:relative;box-sizing:border-box;min-width:0;width:100%;max-width:100%}.woocommerce div.product div.aihm-product-media.images{margin-bottom:2rem}.aihm-product-media__stage-wrap{position:relative;width:100%;min-width:0}.aihm-product-media__stage{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:rgba(127,127,127,.075);border-radius:14px}.aihm-product-media__slide{position:absolute;inset:0;margin:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.aihm-product-media__slide[hidden]{display:none!important}.aihm-product-media__image,.aihm-product-media__video{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.aihm-product-media__video{background:#090909}.aihm-product-media__stage-arrow,.aihm-product-media__expand{position:absolute;z-index:5;display:flex;align-items:center;justify-content:center;border:0;box-shadow:0 6px 24px rgba(0,0,0,.12);background:rgba(255,255,255,.9);color:#111;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;transition:transform .2s ease,background .2s ease,opacity .2s ease}.aihm-product-media__stage-arrow{top:50%;width:42px;height:42px;border-radius:999px;transform:translateY(-50%);font-size:30px;line-height:1}.aihm-product-media__stage-arrow--prev{left:12px}.aihm-product-media__stage-arrow--next{right:12px}.aihm-product-media__stage-arrow:hover{transform:translateY(-50%) scale(1.06);background:#fff}.aihm-product-media__expand{right:12px;top:12px;width:38px;height:38px;border-radius:999px;font-size:17px}.aihm-product-media__expand:hover{transform:scale(1.06);background:#fff}.aihm-product-media__thumbs{display:flex;gap:10px;overflow-x:auto;margin-top:12px;padding:2px 2px 7px;scrollbar-width:thin;scroll-snap-type:x proximity}.aihm-product-media__thumb{position:relative;flex:0 0 76px;width:76px;height:76px;padding:0;overflow:hidden;border:2px solid transparent;border-radius:10px;background:rgba(127,127,127,.08);cursor:pointer;scroll-snap-align:start;opacity:.72;transition:opacity .18s ease,border-color .18s ease,transform .18s ease}.aihm-product-media__thumb:hover{opacity:1;transform:translateY(-1px)}.aihm-product-media__thumb.is-active{opacity:1;border-color:currentColor}.aihm-product-media__thumb img,.aihm-product-media__video-thumb,.aihm-product-media__video-thumb video{display:block;width:100%;height:100%}.aihm-product-media__thumb img,.aihm-product-media__video-thumb video{object-fit:cover}.aihm-product-media__video-thumb{position:relative;background:#111}.aihm-product-media__play{position:absolute;left:50%;top:50%;display:flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:999px;transform:translate(-50%,-50%);background:rgba(0,0,0,.65);color:#fff;font-size:12px;padding-left:2px}.aihm-product-media__lightbox[hidden]{display:none!important}.aihm-product-media__lightbox{position:fixed;z-index:999999;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(9,9,12,.94);padding:28px}.aihm-product-media__lightbox-content{display:flex;align-items:center;justify-content:center;width:min(92vw,1500px);height:min(90vh,1100px)}.aihm-product-media__lightbox-content img,.aihm-product-media__lightbox-content video{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.aihm-product-media__lightbox-content video{width:min(92vw,1500px);height:min(90vh,1100px);background:#000}.aihm-product-media__lightbox-close,.aihm-product-media__lightbox-arrow{position:fixed;z-index:2;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.aihm-product-media__lightbox-close{right:20px;top:20px;width:46px;height:46px;border-radius:999px;font-size:30px;line-height:1}.aihm-product-media__lightbox-arrow{top:50%;width:52px;height:52px;border-radius:999px;transform:translateY(-50%);font-size:36px;line-height:1}.aihm-product-media__lightbox-arrow--prev{left:20px}.aihm-product-media__lightbox-arrow--next{right:20px}.aihm-product-media__lightbox-close:hover,.aihm-product-media__lightbox-arrow:hover{background:rgba(255,255,255,.2)}body.aihm-pm-lightbox-open{overflow:hidden}.aihm-product-video-cover{position:relative;display:block;width:100%;aspect-ratio:1/1;overflow:hidden;background:#111;border-radius:inherit}.aihm-product-video-cover video{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.aihm-product-video-cover__play{position:absolute;left:50%;top:50%;display:flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:999px;transform:translate(-50%,-50%);background:rgba(0,0,0,.62);color:#fff;font-size:19px;padding-left:3px;transition:transform .2s ease,background .2s ease}.aihm-product-video-cover:hover .aihm-product-video-cover__play{transform:translate(-50%,-50%) scale(1.06);background:rgba(0,0,0,.78)}
/*
 * Ohio compatibility.
 * Ohio already owns the product-page column proportions. The old v2.0.0
 * forced our gallery to 48% again inside Ohio's media column, which created
 * the large empty area seen between the gallery and product summary.
 * In Ohio we therefore fill the EXISTING media column and do not float or
 * recalculate the product page columns ourselves.
 */
.aihm-ohio-theme .woocommerce div.product div.aihm-product-media.images,
.aihm-ohio-theme .aihm-product-media.images,
.aihm-ohio-theme .aihm-product-media--ohio{
    float:none!important;
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
}
.aihm-ohio-theme .aihm-product-media__stage-wrap,
.aihm-ohio-theme .aihm-product-media__stage,
.aihm-ohio-theme .aihm-product-media__thumbs{
    width:100%!important;
    max-width:none!important;
}
.aihm-ohio-theme .aihm-product-media__stage{border-radius:0}.aihm-ohio-theme .aihm-product-media__thumb{border-radius:0}
/* Default WooCommerce themes can still use the conventional 48/48 layout. */
@media(min-width:769px){body:not(.aihm-ohio-theme) .woocommerce div.product div.aihm-product-media.images{float:left;width:48%}body:not(.aihm-ohio-theme) .woocommerce div.product div.summary{float:right;width:48%}.aihm-product-media--shortcode{float:none!important;width:100%!important;max-width:100%!important}}
@media(max-width:768px){.woocommerce div.product div.aihm-product-media.images{float:none!important;width:100%!important;max-width:100%!important;margin-right:0}.aihm-product-media__stage-arrow{width:38px;height:38px;font-size:26px}.aihm-product-media__thumb{flex-basis:64px;width:64px;height:64px}.aihm-product-media__lightbox{padding:16px}.aihm-product-media__lightbox-arrow{width:42px;height:42px;font-size:30px}.aihm-product-media__lightbox-arrow--prev{left:8px}.aihm-product-media__lightbox-arrow--next{right:8px}.aihm-product-media__lightbox-close{right:10px;top:10px}}

/*
 * Ohio native-layout matching — v2.0.2
 * When video is present, keep Ohio's visual product-gallery geometry:
 * vertical thumbnail rail on the left + square main media stage on the right.
 * The custom gallery therefore visually follows the image-only product layout
 * instead of becoming a full-width square with thumbnails underneath.
 */
@media (min-width: 769px){
    .aihm-ohio-theme .aihm-product-media--ohio{
        display:grid!important;
        grid-template-columns:70px minmax(0,1fr)!important;
        grid-template-rows:auto!important;
        column-gap:16px!important;
        align-items:start!important;
    }
    .aihm-ohio-theme .aihm-product-media--ohio .aihm-product-media__stage-wrap{
        grid-column:2!important;
        grid-row:1!important;
        min-width:0!important;
        margin:0!important;
    }
    .aihm-ohio-theme .aihm-product-media--ohio .aihm-product-media__thumbs{
        grid-column:1!important;
        grid-row:1!important;
        display:flex!important;
        flex-direction:column!important;
        gap:14px!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        margin:0!important;
        padding:0 2px 2px 0!important;
        scrollbar-width:thin!important;
        scroll-snap-type:y proximity!important;
        align-self:start!important;
        width:70px!important;
        max-width:70px!important;
    }
    .aihm-ohio-theme .aihm-product-media--ohio .aihm-product-media__thumb{
        flex:0 0 70px!important;
        width:70px!important;
        height:70px!important;
        min-width:70px!important;
        min-height:70px!important;
        border-radius:0!important;
        border-width:2px!important;
        background:#f6f6f6!important;
        opacity:1!important;
        scroll-snap-align:start!important;
    }
    .aihm-ohio-theme .aihm-product-media--ohio .aihm-product-media__thumb.is-active{
        border-color:#b65cff!important;
    }
    .aihm-ohio-theme .aihm-product-media--ohio .aihm-product-media__stage{
        aspect-ratio:1/1!important;
        border-radius:0!important;
        background:#f7f7f7!important;
    }
    .aihm-ohio-theme .aihm-product-media--ohio .aihm-product-media__image{
        width:100%!important;
        height:100%!important;
        object-fit:contain!important;
        object-position:center!important;
    }
    .aihm-ohio-theme .aihm-product-media--ohio .aihm-product-media__slide--video{
        background:#f7f7f7!important;
    }
    .aihm-ohio-theme .aihm-product-media--ohio .aihm-product-media__video{
        width:auto!important;
        height:auto!important;
        max-width:100%!important;
        max-height:100%!important;
        object-fit:contain!important;
        object-position:center!important;
        background:#000!important;
    }
    /* Ohio's image-only product view relies mainly on the thumbnail rail.
       Hide our large prev/next bubbles on desktop to keep the same clean look. */
    .aihm-ohio-theme .aihm-product-media--ohio .aihm-product-media__stage-arrow{
        display:none!important;
    }
    .aihm-ohio-theme .aihm-product-media--ohio .aihm-product-media__expand{
        top:12px!important;
        right:12px!important;
    }
    .aihm-ohio-theme .aihm-product-media--ohio .aihm-product-media__lightbox{
        grid-column:1 / -1!important;
    }
}

@media (max-width: 768px){
    .aihm-ohio-theme .aihm-product-media--ohio{
        display:block!important;
    }
    .aihm-ohio-theme .aihm-product-media--ohio .aihm-product-media__thumbs{
        display:flex!important;
        flex-direction:row!important;
        gap:10px!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        width:100%!important;
        max-width:100%!important;
        margin-top:12px!important;
        padding:2px 2px 7px!important;
    }
    .aihm-ohio-theme .aihm-product-media--ohio .aihm-product-media__thumb{
        flex:0 0 64px!important;
        width:64px!important;
        height:64px!important;
        min-width:64px!important;
        min-height:64px!important;
    }
    .aihm-ohio-theme .aihm-product-media--ohio .aihm-product-media__video{
        width:auto!important;
        height:auto!important;
        max-width:100%!important;
        max-height:100%!important;
    }
}

/*
 * AIHubMarket Product Media v2.0.3
 * - main WooCommerce image is always the first visible frame
 * - videos use the main image as poster/preview
 * - video starts only after an explicit Play click
 * - Ohio native share bar is relocated onto the main stage so it cannot cover thumbnails
 */
.aihm-product-media__video[hidden],
.aihm-product-media__video-poster[hidden]{display:none!important}
.aihm-product-media__video-poster{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden;background:#111}
.aihm-product-media__video-poster>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.aihm-product-media__video-play,
.aihm-product-media__main-video-play{position:absolute;left:50%;top:50%;z-index:8;display:flex;align-items:center;justify-content:center;width:68px;height:68px;margin:0;padding:0;border:0;border-radius:999px;transform:translate(-50%,-50%);background:rgba(17,17,17,.76);color:#fff;box-shadow:0 8px 30px rgba(0,0,0,.24);cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.aihm-product-media__video-play span,
.aihm-product-media__main-video-play span{display:block;font-size:24px;line-height:1;padding-left:4px}
.aihm-product-media__video-play:hover,
.aihm-product-media__main-video-play:hover{transform:translate(-50%,-50%) scale(1.07);background:rgba(17,17,17,.9);box-shadow:0 10px 34px rgba(0,0,0,.3)}
.aihm-product-media__slide--video.is-playing .aihm-product-media__video{display:block!important;width:100%;height:100%;object-fit:contain;object-position:center;background:#000}
.aihm-product-media__video-thumb>img,
.aihm-product-media__video-thumb-empty{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#111}

/* The first product image is the true initial state, so its Play button starts the first video. */
.aihm-product-media__slide--image .aihm-product-media__main-video-play{opacity:.94}

/* Ohio: preserve the same poster fitting as the normal main product image. */
.aihm-ohio-theme .aihm-product-media--ohio .aihm-product-media__video-poster>img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}
.aihm-ohio-theme .aihm-product-media--ohio .aihm-product-media__video-play,
.aihm-ohio-theme .aihm-product-media--ohio .aihm-product-media__main-video-play{width:64px;height:64px}

/* Ohio's native share buttons are moved here by frontend.js.
   Native screenshot position: inside the upper-left edge of the main image, not over thumbnails. */
.aihm-ohio-theme .aihm-product-media--ohio .aihm-product-media__stage-wrap>.aihm-pm-ohio-share{position:absolute!important;z-index:20!important;top:28px!important;left:28px!important;right:auto!important;bottom:auto!important;margin:0!important;transform:none!important;max-width:90px!important}
.aihm-ohio-theme .aihm-product-media--ohio .aihm-product-media__stage-wrap>.aihm-pm-ohio-share *{box-sizing:border-box}

@media(max-width:768px){
    .aihm-product-media__video-play,
    .aihm-product-media__main-video-play{width:56px;height:56px}
    .aihm-product-media__video-play span,
    .aihm-product-media__main-video-play span{font-size:20px}
    .aihm-ohio-theme .aihm-product-media--ohio .aihm-product-media__stage-wrap>.aihm-pm-ohio-share{top:14px!important;left:14px!important}
}
