.elementor-widget-astra-shop-toolkit-shop-benefits { min-width: 0; }

.astrashoptoolkit-shop-benefits {
    --astb-default-columns: 4;
    --astb-gap: 20px;
    --astb-surface: var(--astrashoptoolkit-astra-color-4);
    --astb-accent: var(--astrashoptoolkit-astra-color-0);
    --astb-heading: var(--astrashoptoolkit-astra-color-2);
    --astb-text: var(--astrashoptoolkit-astra-color-3);
    --astb-border: color-mix(in srgb, var(--astb-text) 9%, var(--astb-surface));
    --ast-pagination-arrow-size: var(--astb-arrow-size, 40px);
    --ast-pagination-arrow-icon-size: var(--astb-arrow-icon-size, 18px);
    --ast-pagination-arrow-radius: var(--astb-navigation-radius, 50%);
    --ast-pagination-arrow-color: var(--astb-navigation-color, var(--astrashoptoolkit-astra-color-3));
    --ast-pagination-arrow-background: var(--astb-navigation-background, var(--astb-surface));
    --ast-pagination-arrow-hover-color: var(--astb-arrow-hover-color, var(--ast-pagination-arrow-color));
    --ast-pagination-arrow-hover-background: var(--astb-arrow-hover-background, color-mix(in srgb, var(--astrashoptoolkit-astra-color-3) 3%, var(--ast-pagination-arrow-background)));
    --ast-pagination-arrow-hover-border-color: var(--astb-arrow-hover-border-color, var(--astrashoptoolkit-border-color));
    --ast-pagination-dot-size: var(--astb-pagination-size, 7px);
    --ast-pagination-dot-active-width: var(--astb-pagination-active-width, 24px);
    --ast-pagination-dot-radius: var(--astb-pagination-radius, 10px);
    --ast-pagination-dot-color: var(--astb-pagination-color, var(--astb-accent));
    --ast-pagination-dot-background: var(--astb-pagination-background, currentColor);
    --ast-pagination-dot-active-background: var(--astb-pagination-active-background, var(--ast-pagination-dot-background));
    width: 100%;
    min-width: 0;
}

.astrashoptoolkit-shop-benefits,
.astrashoptoolkit-shop-benefits * { box-sizing: border-box; }

.astrashoptoolkit-shop-benefits .astrashoptoolkit-shop-benefits__viewport {
    width: calc(100% + 24px);
    margin: -12px -12px 0;
    padding: 12px 12px 20px;
}

.astrashoptoolkit-shop-benefits--grid .astrashoptoolkit-shop-benefits__viewport {
    width: 100%;
    margin: 0;
    padding: 0;
}

.astrashoptoolkit-shop-benefits .astrashoptoolkit-shop-benefits__track {
    display: grid;
    grid-template-columns: repeat(var(--astb-columns, var(--astb-default-columns)), minmax(0, 1fr));
    gap: var(--astb-gap);
    margin: 0;
    padding: 0;
    list-style: none;
    align-items: stretch;
}

.astrashoptoolkit-shop-benefits .swiper-initialized .astrashoptoolkit-shop-benefits__track {
    display: flex;
    gap: 0;
}

.astrashoptoolkit-shop-benefits .astrashoptoolkit-shop-benefits__slide {
    height: auto;
    min-width: 0;
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
    list-style: none;
}

.astrashoptoolkit-shop-benefits .astrashoptoolkit-shop-benefits__card {
    cursor: pointer;
    height: 100%;
    min-width: 0;
    margin: 0;
    padding: 28px;
    text-align: left;
    color: var(--astb-text);
    background-color: var(--astb-surface);
    border: 1px solid var(--astb-border);
    border-radius: 20px;
    box-shadow: var(--astrashoptoolkit-shadow);
    overflow-wrap: anywhere;
    transition: background-color .2s, border-color .2s, box-shadow .2s;
}

.astrashoptoolkit-shop-benefits .astrashoptoolkit-shop-benefits__card:hover {
    background-color: color-mix(in srgb, var(--astb-accent) 3%, var(--astb-surface));
    border-color: color-mix(in srgb, var(--astb-accent) 28%, var(--astb-surface));
    box-shadow: var(--astrashoptoolkit-shadow-lg);
}

.astrashoptoolkit-shop-benefits .astrashoptoolkit-shop-benefits__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: max(var(--astb-icon-box-size, 56px), var(--astb-icon-size, 24px));
    min-height: max(var(--astb-icon-box-size, 56px), var(--astb-icon-size, 24px));
    margin-bottom: 24px;
    padding: 0;
    border: 1px solid color-mix(in srgb, var(--astb-accent) 10%, transparent);
    border-radius: 16px;
    color: var(--astb-accent);
    background-color: color-mix(in srgb, var(--astb-accent) 7%, var(--astb-surface));
    font-size: var(--astb-icon-size, 24px);
    line-height: 1;
}

.astrashoptoolkit-shop-benefits__icon i { font-size: inherit; line-height: inherit; }
.astrashoptoolkit-shop-benefits__icon svg {
    display: block;
    width: var(--astb-icon-size, 24px);
    height: var(--astb-icon-size, 24px);
    fill: currentColor;
}

.astrashoptoolkit-shop-benefits .astrashoptoolkit-shop-benefits__title {
    margin: 0 0 10px;
    padding: 0;
    color: var(--astb-heading);
    font-family: inherit;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: -.02em;
}

.astrashoptoolkit-shop-benefits .astrashoptoolkit-shop-benefits__description {
    margin: 0;
    padding: 0;
    color: color-mix(in srgb, var(--astb-text) 78%, var(--astb-surface));
    font-size: 14px;
    line-height: 1.7;
}

.astrashoptoolkit-shop-benefits .ast-pagination-control {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: var(--astb-controls-gap, 22px);
    color: var(--astb-navigation-color, var(--astb-accent));
}

.astrashoptoolkit-shop-benefits:not(.astrashoptoolkit-shop-benefits--ready) .ast-pagination-control,
.astrashoptoolkit-shop-benefits.astrashoptoolkit-shop-benefits--locked .ast-pagination-control { display: none; }

.astrashoptoolkit-shop-benefits .ast-pagination-dots {
    position: static;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--astb-pagination-gap, 8px);
    width: auto;
}
.astrashoptoolkit-shop-benefits:not(.astrashoptoolkit-shop-benefits--has-pagination) .ast-pagination-dots { display: none; }
.astrashoptoolkit-shop-benefits .ast-pagination-navigation { display: flex; gap: var(--astb-arrow-gap, 8px); margin-inline-start: auto; }

@media (max-width: 1024px) {
    .astrashoptoolkit-shop-benefits { --astb-default-columns: 2; }
}
@media (max-width: 767px) {
    .astrashoptoolkit-shop-benefits { --astb-default-columns: 1; }
    .astrashoptoolkit-shop-benefits .astrashoptoolkit-shop-benefits__card { padding: 24px; }
}
@media (prefers-reduced-motion: reduce) {
    .astrashoptoolkit-shop-benefits .astrashoptoolkit-shop-benefits__card { transition: none; }
}
