/**
 * Composed homepage layout (data-driven, no widget sidebars).
 */

.vgl-homepage {
    margin-bottom: var(--vgl-space-10);
}

.vgl-theme-hub__intro {
    margin-bottom: var(--vgl-space-6);
    padding-inline: var(--vgl-space-4);
}

@media (min-width: 1024px) {
    .vgl-theme-hub__intro {
        padding-inline: 0;
    }
}

.vgl-theme-hub__title {
    margin: 0 0 var(--vgl-space-2);
}

.vgl-theme-hub__lead {
    margin: 0;
    font-size: var(--vgl-font-size-sm);
}

.vgl-homepage__promo-strip {
    margin: 0;
    overflow: visible;
    padding-block: var(--vgl-space-4);
    border-bottom: 1px solid var(--vgl-color-border);
}

.vgl-homepage__promo-strip .promotion-view-container.slider {
    padding-top: var(--vgl-space-2);
    padding-bottom: 0;
    overflow: visible;
}

.vgl-homepage__promo-strip .promotion-view-block .left-side {
    overflow: visible;
}

.vgl-homepage__leaderboard {
    margin-bottom: var(--vgl-space-6);
}

.vgl-homepage__hero-row,
.vgl-homepage__main-row {
    margin-bottom: var(--vgl-space-8);
}

.vgl-homepage__hero-row::after,
.vgl-homepage__main-row::after,
.vgl-homepage__review-grid::after {
    content: "";
    display: table;
    clear: both;
}

.vgl-homepage__aside-top,
.vgl-homepage__sidebar {
    display: flex;
    flex-direction: column;
    gap: var(--vgl-space-4);
}

.vgl-homepage__main > section,
.vgl-homepage__main > .vgl-homepage__sale-slider {
    margin-bottom: var(--vgl-space-8);
}

.vgl-homepage__sale-slider .sales_slider_container {
    margin-block: 0;
}

/* Random reviews grid */
.vgl-homepage__review-grid .col-50.review_block {
    margin-left: 0.5% !important;
    margin-right: 0.5% !important;
}

/* Review category grid */
.vgl-homepage__category-grid.review-categories {
    display: flex;
    flex-wrap: wrap;
    gap: var(--vgl-space-3);
}

.vgl-homepage__category-grid .bv-review {
    flex: 1 1 calc(20% - var(--vgl-space-3));
    min-width: 140px;
    max-width: 200px;
    text-align: center;
    background: var(--vgl-color-surface);
    border-radius: var(--vgl-radius-sm);
    box-shadow: 2px 2px 10px rgba(204, 204, 204, 0.45);
    padding: var(--vgl-space-3);
    transition: box-shadow 0.2s ease;
}

.vgl-homepage__category-grid .bv-review:hover {
    box-shadow: 2px 2px 14px rgba(204, 204, 204, 0.7);
}

.vgl-homepage__category-grid .bv-review a {
    text-decoration: none;
    color: inherit;
}

.vgl-homepage__category-grid .bv-review h3 {
    font-size: var(--vgl-font-size-sm);
    margin: var(--vgl-space-2) 0 0;
    color: var(--vgl-color-primary);
}

.review-categories-widget-img img {
    max-height: 80px;
    width: auto;
}

/* Product categories */
.vgl-homepage__category-grid.sub-categories,
.vgl-homepage__category-grid.homepage-categories {
    display: flex;
    flex-wrap: wrap;
    gap: var(--vgl-space-3);
}

.vgl-homepage__category-grid .sub-categories-item {
    flex: 1 1 calc(25% - var(--vgl-space-3));
    min-width: 120px;
    max-width: 180px;
    text-decoration: none;
    color: inherit;
}

.vgl-homepage__category-grid .sub-categories-item img {
    max-width: 160px;
    max-height: 100px;
    width: auto;
    height: auto;
}

.vgl-homepage__category-grid .sub-categories-item p {
    margin: var(--vgl-space-2) 0 0;
    font-size: var(--vgl-font-size-sm);
    color: var(--vgl-color-primary);
}

/* Merchants */
.vgl-homepage__merchants {
    margin-bottom: var(--vgl-space-10);
}

.vgl-homepage__merchants .merchants_shortcode {
    display: flex;
    flex-wrap: wrap;
    gap: var(--vgl-space-3);
    justify-content: flex-start;
    padding: var(--vgl-space-4) 0;
}

.vgl-homepage__merchants .merchants_shortcode .merch_wrap {
    flex: 0 1 calc(16.66% - var(--vgl-space-3));
    min-width: 120px;
    max-width: 180px;
    padding: var(--vgl-space-3);
    margin: 0;
    background: var(--vgl-color-surface);
    box-shadow: 2px 2px 10px rgba(204, 204, 204, 0.45);
    border-radius: var(--vgl-radius-sm);
    text-align: center;
    transition: box-shadow 0.2s ease;
}

.vgl-homepage__merchants .merchants_shortcode .merch_wrap:hover {
    box-shadow: 2px 2px 14px rgba(204, 204, 204, 0.7);
}

.vgl-homepage__merchants .merchants_shortcode .merch_wrap img {
    height: 75px;
    max-height: 75px;
    width: auto;
}

/* SEO footer — WPBakery legacy markup */
.vgl-homepage__seo {
    margin-bottom: var(--vgl-space-10);
}

.vgl-homepage__seo-inner {
    background: var(--vgl-color-surface);
    padding: var(--vgl-space-6);
    border-radius: var(--vgl-radius-sm);
    box-shadow: 2px 2px 10px rgba(204, 204, 204, 0.35);
}

.vgl-homepage__seo-title {
    margin-bottom: var(--vgl-space-4);
    font-size: var(--vgl-font-size-xl);
}

.vgl-homepage__seo-content .vc_row,
.vgl-homepage__seo-content .wpb_row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--vgl-space-6);
}

.vgl-homepage__seo-content .wpb_column,
.vgl-homepage__seo-content .vc_column_container {
    flex: 1 1 280px;
}

.vgl-homepage__seo-content h4 {
    margin: var(--vgl-space-4) 0 var(--vgl-space-2);
    color: var(--vgl-color-primary);
}

.vgl-homepage__seo-content p {
    line-height: 1.6;
    color: var(--vgl-color-text-muted, #676767);
}

/* Recent reviews table in sidebar */
.vgl-homepage__recent-reviews table {
    width: 100%;
    border-collapse: collapse;
}

.vgl-homepage__recent-reviews .review_row_excerpt a {
    text-decoration: none;
    color: inherit;
}

.vgl-homepage__recent-reviews .review_title {
    font-weight: 700;
    color: var(--vgl-color-primary);
}

@media (max-width: 767px) {
    .vgl-homepage__hero-row .columns.eight,
    .vgl-homepage__hero-row .columns.four,
    .vgl-homepage__main-row .columns.eight,
    .vgl-homepage__main-row .columns.four {
        width: 100%;
        margin-left: 0;
        float: none;
    }

    .vgl-homepage__merchants .merchants_shortcode .merch_wrap {
        flex: 1 1 calc(33% - var(--vgl-space-3));
    }

    .vgl-homepage__category-grid .bv-review,
    .vgl-homepage__category-grid .sub-categories-item {
        flex: 1 1 calc(50% - var(--vgl-space-3));
    }
}
