.gg-mobile-product-benefits,
.gg-mobile-product-bar {
    display: none;
}

@media (max-width: 767px) {
    @supports selector(&) {
        /* Keep the native layout if a theme update changes the Razox wrappers. */
        body.gg-mobile-product-layout :where(.content-single-wrapper:has(
            > .content-single-images-wrapper > .woocommerce-product-gallery
        ):has(
            > .entry-summary > .left > .product_title
        ):has(
            > .entry-summary > .left > p.price
        )) {
            display: grid;
            grid-template-columns: clamp(88px, 28%, 128px) minmax(0, 1fr);
            grid-template-rows: repeat(3, min-content);
            align-items: start;
            column-gap: 14px;
            row-gap: 6px;

            &::after {
                display: none;
            }
            & > .entry-summary,
            & > .entry-summary > .left {
                display: contents;
            }
            & > .entry-summary > .left > *,
            & > .entry-summary > :not(.left) {
                grid-column: 1 / -1;
                min-inline-size: 0;
            }
            & > .content-single-images-wrapper {
                grid-column: 1;
                grid-row: 1 / span 3;
                margin: 0;
                min-inline-size: 0;
            }
            & .content-single-images-wrapper .woocommerce-product-gallery {
                margin-block: 0;
            }
            & .content-single-images-wrapper .woocommerce-product-gallery__image img {
                inline-size: 100%;
                block-size: auto;
            }
            & .content-single-images-wrapper .woocommerce-product-gallery-vertical .flex-viewport {
                inline-size: 100%;
                margin-inline: 0;
            }
            & .content-single-images-wrapper .woocommerce-product-gallery-vertical .swiper-thumbs-vertical {
                position: relative;
                inset: auto;
                inline-size: 100%;
                block-size: auto;
                order: initial;
            }
            & .content-single-images-wrapper .woocommerce-product-gallery__trigger {
                inset-block-start: 2px;
                inset-inline: auto 2px;
            }
            & .entry-summary > .left > .product_title {
                grid-column: 2;
                grid-row: 1;
                margin: 0;
                font-size: clamp(18px, 5.7vw, 26px);
                line-height: 1.15;
                overflow-wrap: anywhere;
            }
            & .entry-summary > .left > .entry-summary-top {
                grid-column: 2;
                grid-row: 2;
                margin: 0;
                padding: 0;
                border: 0;
            }
            & .entry-summary > .left > p.price {
                grid-column: 2;
                grid-row: 3;
                margin: 0;
                font-size: clamp(17px, 5vw, 24px);
                line-height: 1.25;
                overflow-wrap: anywhere;
            }
            & .entry-summary > .left > form.cart {
                grid-row: 4;
                margin: 8px 0 0;
                padding: 0;
            }
            & .entry-summary > .left > .stock.in-stock,
            & .entry-summary-top .razox-product-pagination-wrap {
                display: none;
            }
            & .entry-summary > .left > .gag-promotion-offer {
                margin: 2px 0 8px;
            }
        }
    }

    body.gg-mobile-product-layout .entry-summary form.cart .gg-mobile-product-benefits {
        display: grid;
        flex: 1 1 100%;
        order: 1;
        gap: 8px;
        margin: 0;
        padding: 0;
    }
    body.gg-mobile-product-layout .gg-mobile-product-benefits ul {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
        list-style: none;
        padding: 0;
        margin: 0;
    }
    body.gg-mobile-product-layout .gg-mobile-product-benefits li {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 5px;
        padding: 8px 3px;
        min-inline-size: 0;
        background: var(--ggm-surface, #0b1d2a);
        border: 1px solid var(--ggm-border, #294455);
        border-radius: 6px;
        font-size: 12px;
        line-height: 1.3;
        text-align: center;
        overflow-wrap: anywhere;
    }
    body.gg-mobile-product-layout .gg-mobile-product-benefits li i {
        color: var(--ggm-accent, #60a5fa);
    }
    body.gg-mobile-product-layout .gg-mobile-product-benefits li a {
        text-decoration: underline;
        text-underline-offset: .16em;
    }
    body.gg-mobile-product-layout .gg-mobile-product-benefits p {
        color: var(--ggm-muted, #a9b7c3);
        margin: 0;
        font-size: 12px;
        line-height: 1.4;
    }
    body.gg-mobile-product-layout .entry-summary:has(form.cart .gg-mobile-product-benefits) .razox-single-product-extra-description,
    body.gg-mobile-product-layout.gg-product-bar-visible .razox-sticky-add-to-cart {
        display: none;
    }

    body.gg-mobile-product-layout .entry-summary form.cart .single_add_to_cart_button {
        flex: 1 1 100%;
        min-inline-size: 0;
        min-block-size: 48px;
        margin: 0;
        padding: 10px 12px;
        white-space: normal;
        font-size: 16px;
        overflow-wrap: anywhere;
    }
    body.gg-mobile-product-layout .entry-summary form.cart .quantity_wrap {
        order: 2;
    }
    body.gg-mobile-product-layout .entry-summary form.cart .quantity_wrap .quantity.buttons_added {
        margin: 0;
    }
    body.gg-mobile-product-layout .entry-summary form.cart .product_button {
        order: 3;
    }
    body.gg-mobile-product-layout .entry-summary form.cart .variations_button {
        gap: 8px;
        padding: 0;
    }
    body.gg-mobile-product-layout div.product .entry-summary table.variations {
        inline-size: 100%;
        margin: 0 0 6px;
    }
    body.gg-mobile-product-layout .entry-summary table.variations :is(tr, th, td) {
        display: block;
        margin: 0;
        text-align: start;
    }
    body.gg-mobile-product-layout .entry-summary table.variations th.label {
        margin: 0 0 2px;
    }
    body.gg-mobile-product-layout .entry-summary table.variations select {
        inline-size: 100%;
        margin: 0;
        min-block-size: 44px;
        padding-block: 8px;
        padding-inline: 10px 26px;
        font-size: 16px;
    }
    body.gg-mobile-product-layout .entry-summary table.variations select + label {
        display: none;
    }
    body.gg-mobile-product-layout .entry-summary table.variations a.reset_variations {
        margin: 5px 0 0;
    }
    body.gg-mobile-product-layout .entry-summary .woocommerce-variation-price .price {
        display: block;
        margin: 0 0 6px;
        font-size: 18px;
        line-height: 1.25;
    }
    body.gg-mobile-product-layout .entry-summary form.cart .single_variation .stock.in-stock {
        display: none;
    }
    body.gg-mobile-product-layout .gg-mobile-variation-description {
        margin-block-start: 16px;
    }

    body.gg-mobile-product-page .woocommerce-tabs.razox-tabs-wrapper {
        padding-block-start: 24px;
    }
    body.gg-mobile-product-page :is(.woocommerce-description-content, .gg-mobile-variation-description) {
        font-size: .975rem;
        line-height: 1.55;
        overflow-wrap: anywhere;
    }
    body.gg-mobile-product-page :is(.woocommerce-description-content, .gg-mobile-variation-description) :is(h1, h2, h3, h4, h5, h6) {
        margin-block: 1em .45em;
        font-size: 1rem;
        line-height: 1.3;
    }
    body.gg-mobile-product-page :is(.woocommerce-description-content, .gg-mobile-variation-description) :is(h1, h2) {
        font-size: 1.1875rem;
    }
    body.gg-mobile-product-page :is(.woocommerce-description-content, .gg-mobile-variation-description) > :first-child {
        margin-block-start: 0;
    }
    body.gg-mobile-product-page :is(.woocommerce-description-content, .gg-mobile-variation-description) :is(p, ul, ol) {
        margin-block: 0 .8em;
    }

    body.gg-mobile-product-page .related.products {
        padding-block-start: 24px;
        margin-block-end: 32px;
    }
    body.gg-mobile-product-page .related.products > :is(h2, h3) {
        margin-block: 0 12px;
        font-size: 1.375rem;
        line-height: 1.25;
    }
    body.gg-mobile-product-page .related.products .product-block {
        padding: 9px;
    }
    body.gg-mobile-product-page .related.products .product-action {
        margin-block-end: 7px;
    }
    body.gg-mobile-product-page .related.products .product-category {
        font-size: .6875rem;
    }
    body.gg-mobile-product-page .related.products .product-caption {
        padding-block-start: 8px;
    }
    body.gg-mobile-product-page .related.products ul.products li.product .woocommerce-loop-product__title {
        min-block-size: 0;
        margin-block: 0 8px;
        font-size: .875rem;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }
    body.gg-mobile-product-page .related.products .product-caption-footer {
        display: grid;
        gap: 6px;
    }
    body.gg-mobile-product-page .related.products .product-caption-footer .price {
        max-inline-size: 100%;
        font-size: .9375rem;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }
    body.gg-mobile-product-page .related.products .product-price-stock {
        display: block;
    }
    body.gg-mobile-product-page .related.products .product-caption :is(a, button)[class*="product_type_"] {
        justify-content: center;
        min-block-size: 44px;
        padding: 5px 7px;
        font-size: .8125rem;
        text-align: center;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    body.gg-mobile-product-layout .gg-mobile-product-bar:not([hidden]) {
        display: flex;
        position: fixed;
        inset-inline: 0;
        inset-block-end: max(var(--gg-product-nav-height, 0px), env(safe-area-inset-bottom, 0px));
        z-index: 91;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 8px max(12px, env(safe-area-inset-right, 0px)) 8px max(12px, env(safe-area-inset-left, 0px));
        background: var(--ggm-surface, #0b1d2a);
        border-block-start: 1px solid var(--ggm-border, #294455);
        box-shadow: 0 -3px 12px rgba(0, 0, 0, .24);
    }
    html.mobile-nav-active body.gg-mobile-product-layout .gg-mobile-product-bar,
    html.info-canvas-active body.gg-mobile-product-layout .gg-mobile-product-bar,
    body.gg-mobile-product-layout:has(.site-header-cart-side.active, .cky-consent-container:not(.cky-hide), .cky-modal.cky-modal-open) .gg-mobile-product-bar {
        visibility: hidden;
    }
    body.gg-mobile-product-layout .gg-mobile-product-bar__price {
        color: var(--ggm-text, #fff);
        min-inline-size: 0;
        font-weight: 700;
        line-height: 1.2;
        overflow-wrap: anywhere;
    }
    body.gg-mobile-product-layout .gg-mobile-product-bar__button {
        background: var(--ggm-accent, #60a5fa);
        border: 1px solid var(--ggm-accent, #60a5fa);
        color: var(--ggm-ink, #111827);
        border-radius: 6px;
        min-block-size: 44px;
        max-inline-size: 66%;
        padding: 8px 14px;
        line-height: 1.2;
        white-space: normal;
        overflow-wrap: anywhere;
        text-transform: none;
    }
    body.gg-mobile-product-layout .gg-mobile-product-bar__button:disabled {
        opacity: .62;
    }
    body.gg-mobile-product-layout p.gg-product-add-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin: 10px 0 0;
    }
    body.gg-mobile-product-layout .gg-product-add-actions a.button {
        margin: 0;
        float: none;
    }
    body.gg-mobile-product-layout.gg-product-bar-visible #page {
        padding-block-end: var(--gg-product-bar-height, 60px);
    }
    body.gg-mobile-product-layout.gg-product-bar-visible > button[aria-label="Open customer support chat"],
    body.gg-mobile-product-layout.gg-product-bar-visible .cky-btn-revisit-wrapper {
        bottom: calc(12px + max(var(--gg-product-nav-height, 0px), env(safe-area-inset-bottom, 0px)) + var(--gg-product-bar-height, 60px)) !important;
    }
}
