/* Product pages: two lead images and four detail tiles. */
.gg-desktop-gallery {
    display: none;
}

@media (min-width: 1024px) {
    /* Wide gallery and aligned product details on desktop. */
    .gg-native-single-product .product.gg-desktop-product-layout > .wc-layout-columns {
        display: grid;
        gap: 48px;
        grid-template-columns: minmax(0, 1.86fr) minmax(340px, 1fr);
        margin-left: calc(50% - 50vw + 24px);
        margin-right: calc(50% - 50vw + 24px);
        max-width: none;
        padding: 0;
        width: calc(100vw - 48px);
    }

    .gg-native-single-product .product.gg-desktop-product-layout > .wc-layout-columns > .media-product-media,
    .gg-native-single-product .product.gg-desktop-product-layout > .wc-layout-columns > .summary.entry-summary {
        flex: none;
        max-width: none;
        min-width: 0;
        padding: 0;
        width: auto;
    }

    .gg-native-single-product .product.gg-desktop-product-layout > .wc-layout-columns > .summary.entry-summary {
        margin-bottom: 0;
    }

    /* Preserve the original description content; only align its container. */
    .gg-native-single-product .product.gg-desktop-product-layout > .woocommerce-tabs {
        margin: 36px calc(50% - 50vw + 24px) 32px;
        max-width: none;
        width: calc(100vw - 48px);
    }

    .gg-native-single-product .product.gg-desktop-product-layout .woocommerce-tabs ul.tabs {
        gap: 32px;
        margin-bottom: 32px;
    }

    .gg-native-single-product .product.gg-desktop-product-layout .woocommerce-tabs ul.tabs li a {
        padding-bottom: 16px;
    }

    .gg-gallery-preview-ready .woocommerce-product-gallery {
        display: none !important;
    }

    .gg-gallery-preview-ready .gg-desktop-gallery {
        display: grid;
        gap: 5px;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        width: 100%;
    }

    .gg-desktop-gallery .gg-desktop-gallery__tile {
        aspect-ratio: 1 / 1;
        background: #f7f7f7;
        border: 0;
        border-radius: 2px;
        cursor: zoom-in;
        display: block;
        min-width: 0;
        overflow: hidden;
        padding: 8px;
        position: relative;
    }

    .gg-desktop-gallery__tile:nth-child(-n+2) {
        grid-column: span 2;
        padding: 24px;
    }

    .gg-desktop-gallery--single .gg-desktop-gallery__tile {
        aspect-ratio: 4 / 3;
        grid-column: 1 / -1;
        padding: 32px;
    }

    .gg-desktop-gallery .gg-desktop-gallery__tile img {
        display: block;
        height: 100%;
        margin: 0;
        mix-blend-mode: multiply;
        object-fit: contain;
        width: 100%;
    }

    .gg-desktop-gallery__tile:hover {
        box-shadow: inset 0 0 0 1px #ddd;
    }

    .gg-desktop-gallery__tile:focus-visible {
        outline: 2px solid var(--gg-wine, #81203c);
        outline-offset: 2px;
    }

    .gg-desktop-gallery__more {
        align-items: center;
        background: rgba(255, 255, 255, 0.94);
        border: 1px solid #ddd;
        border-radius: 3px;
        color: #111;
        display: flex;
        font-size: 20px;
        font-weight: 600;
        height: 38px;
        inset: auto 10px 10px auto;
        justify-content: center;
        min-width: 38px;
        padding: 0 8px;
        position: absolute;
    }
}
