/*  */
/* Page Builder Products — responsive grid (storefront) */
/*  */
.pagebuilder-products[data-appearance='grid'] .widget-product-grid .product-items,
.pagebuilder-products[data-appearance='grid'] .products-grid .product-items {
    display: grid;
    grid-template-columns: repeat(var(--pb-items-per-row, 4), minmax(0, 1fr));
    gap: 1rem;
}

.pagebuilder-products[data-appearance='grid'] .product-items .product-item {
    width: auto !important;
    max-width: none !important;
}

@media (max-width: 360px) {
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-360='1'] { --pb-items-per-row: 1; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-360='2'] { --pb-items-per-row: 2; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-360='3'] { --pb-items-per-row: 3; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-360='4'] { --pb-items-per-row: 4; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-360='5'] { --pb-items-per-row: 5; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-360='6'] { --pb-items-per-row: 6; }
}

@media (max-width: 480px) {
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-480='1'] { --pb-items-per-row: 1; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-480='2'] { --pb-items-per-row: 2; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-480='3'] { --pb-items-per-row: 3; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-480='4'] { --pb-items-per-row: 4; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-480='5'] { --pb-items-per-row: 5; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-480='6'] { --pb-items-per-row: 6; }
}

@media (max-width: 575px) {
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-575='1'] { --pb-items-per-row: 1; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-575='2'] { --pb-items-per-row: 2; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-575='3'] { --pb-items-per-row: 3; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-575='4'] { --pb-items-per-row: 4; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-575='5'] { --pb-items-per-row: 5; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-575='6'] { --pb-items-per-row: 6; }
}

@media (max-width: 767px) {
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-767='1'] { --pb-items-per-row: 1; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-767='2'] { --pb-items-per-row: 2; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-767='3'] { --pb-items-per-row: 3; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-767='4'] { --pb-items-per-row: 4; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-767='5'] { --pb-items-per-row: 5; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-767='6'] { --pb-items-per-row: 6; }
}

@media (max-width: 991px) {
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-991='1'] { --pb-items-per-row: 1; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-991='2'] { --pb-items-per-row: 2; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-991='3'] { --pb-items-per-row: 3; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-991='4'] { --pb-items-per-row: 4; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-991='5'] { --pb-items-per-row: 5; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-991='6'] { --pb-items-per-row: 6; }
}

@media (max-width: 1199px) {
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1199='1'] { --pb-items-per-row: 1; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1199='2'] { --pb-items-per-row: 2; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1199='3'] { --pb-items-per-row: 3; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1199='4'] { --pb-items-per-row: 4; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1199='5'] { --pb-items-per-row: 5; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1199='6'] { --pb-items-per-row: 6; }
}

@media (max-width: 1479px) {
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1479='1'] { --pb-items-per-row: 1; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1479='2'] { --pb-items-per-row: 2; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1479='3'] { --pb-items-per-row: 3; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1479='4'] { --pb-items-per-row: 4; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1479='5'] { --pb-items-per-row: 5; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1479='6'] { --pb-items-per-row: 6; }
}

@media (max-width: 1919px) {
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1919='1'] { --pb-items-per-row: 1; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1919='2'] { --pb-items-per-row: 2; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1919='3'] { --pb-items-per-row: 3; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1919='4'] { --pb-items-per-row: 4; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1919='5'] { --pb-items-per-row: 5; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1919='6'] { --pb-items-per-row: 6; }
}

@media (min-width: 1920px) {
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1920='1'] { --pb-items-per-row: 1; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1920='2'] { --pb-items-per-row: 2; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1920='3'] { --pb-items-per-row: 3; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1920='4'] { --pb-items-per-row: 4; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1920='5'] { --pb-items-per-row: 5; }
    .pagebuilder-products[data-appearance='grid'][data-items-per-row-1920='6'] { --pb-items-per-row: 6; }
}

/*  */
/* Page Builder Columns — optional mobile horizontal scroll */
/* (enabled via Columns settings: "Make columns scrollable on mobile") */
/*  */
@media (max-width: 767px) {
    [data-content-type='column-group'][data-mobile-scrollable='true'] {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

    [data-content-type='column-group'][data-mobile-scrollable='true'] > .pagebuilder-column-line {
        display: flex !important;
        flex-wrap: nowrap !important;
        flex: 1 1 auto;
        width: max-content;
        min-width: 100%;
        overflow: visible;
    }

    [data-content-type='column-group'][data-mobile-scrollable='true'] .pagebuilder-column,
    [data-content-type='column-group'][data-mobile-scrollable='true'] > .pagebuilder-column {
        flex: 0 0 auto !important;
        flex-basis: auto !important;
        width: 80% !important;
        min-width: 280px;
        max-width: none !important;
    }

    /* Custom grid span from data-mobile-width (exact % injected by template plugin) */
    [data-content-type='column-group'][data-mobile-scrollable='true'] .pagebuilder-column[data-mobile-width],
    [data-content-type='column-group'][data-mobile-scrollable='true'] > .pagebuilder-column[data-mobile-width] {
        min-width: 0;
        max-width: none !important;
    }
}

/* Banner — second CTA spacing + hover for button 2 */
.pagebuilder-poster-content .pagebuilder-banner-button + .pagebuilder-banner-button,
.pagebuilder-collage-content .pagebuilder-banner-button + .pagebuilder-banner-button {
    margin-inline-start: 0.75rem;
}

[data-content-type='banner'][data-show-button-2='hover']:hover [data-element='button_2'] {
    opacity: 1 !important;
    visibility: visible !important;
}
