.ds-variation-collapse {
    width: 100%;
    margin: 0 0 10px;
}

.ds-variation-collapse__toggle {
    appearance: none;
    width: 100%;
    min-height: 42px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 8px 11px;
    border: 1px solid #e1e2e6;
    border-radius: 6px;
    background: #fff;
    color: #4b5563 !important;
    cursor: pointer;
    text-align: left;
    box-sizing: border-box;
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.ds-variation-collapse__toggle:hover,
.ds-variation-collapse__toggle:focus,
.ds-variation-collapse__toggle:focus-visible,
.ds-variation-collapse.is-open .ds-variation-collapse__toggle {
    border-color: #b66aff;
    background: #faf8ff;
    color: #4b5563 !important;
}

.ds-variation-collapse__toggle .ds-variation-collapse__selected {
    color: #4b5563 !important;
    font-size: 13px;
    font-weight: 600;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ds-variation-collapse__toggle.has-selection .ds-variation-collapse__selected {
    color: #7800dc !important;
}

.ds-variation-collapse__toggle:hover .ds-variation-collapse__selected,
.ds-variation-collapse__toggle:focus .ds-variation-collapse__selected,
.ds-variation-collapse__toggle:focus-visible .ds-variation-collapse__selected,
.ds-variation-collapse__toggle.has-selection:hover .ds-variation-collapse__selected,
.ds-variation-collapse__toggle.has-selection:focus .ds-variation-collapse__selected,
.ds-variation-collapse__toggle.has-selection:focus-visible .ds-variation-collapse__selected {
    color: #7800dc !important;
}

.ds-variation-collapse__arrow {
    font-size: 17px;
    line-height: 1;
    color: #7800dc;
    transition: transform .22s ease;
}

.ds-variation-collapse.is-open .ds-variation-collapse__arrow {
    transform: rotate(180deg);
}

.ds-variation-collapse__list {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height .28s ease, opacity .18s ease;
    will-change: max-height, opacity;
}

.ds-variation-collapse__list > .ast-variation-button-group {
    margin-top: 6px !important;
}

.ds-variation-collapse__list[hidden] {
    display: block !important;
    max-height: 0 !important;
}

.ds-variation-collapse__list .ast-variation-button-group {
    width: 100%;
}

@media (prefers-reduced-motion: reduce) {
    .ds-variation-collapse__list,
    .ds-variation-collapse__arrow,
    .ds-variation-collapse__toggle {
        transition: none !important;
    }
}

/* For collapsed variation groups, keep WooCommerce's native controls in the DOM
   for compatibility, but hide their duplicate visual presentation. */
.variations .value:has(.ds-variation-collapse) > select,
.variations .value:has(.ds-variation-collapse) select,
.variations .value:has(.ds-variation-collapse) .reset_variations,
.variations tr:has(.ds-variation-collapse) select,
.variations tr:has(.ds-variation-collapse) .reset_variations {
    display: none !important;
}

.ds-variation-collapse__toggle,
.ds-variation-collapse__toggle * {
    -webkit-text-fill-color: currentColor;
}

/* Dreamsetup variation button styling */
.ast-variation-button-group {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    width: 100%;
    margin: 0 !important;
}

.ast-variation-button-group .ast-single-variation {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    height: 36px;
    padding: 0 8px;
    box-sizing: border-box;

    background: #ffffff;
    border: 1px solid #e1e2e6;
    border-radius: 4px;

    color: #4b5563;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;

    cursor: pointer;

    transition:
        color 0.18s ease,
        background-color 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease;
}

.ast-variation-button-group .ast-single-variation:hover {
    background: #faf8ff !important;
    border-color: #b66aff !important;
    color: #6f16c7 !important;
}

.ast-variation-button-group .ast-single-variation.active {
    background: #fbf7ff !important;
    border-color: #8b00ff !important;
    color: #7800dc !important;
    font-weight: 600;
    box-shadow: 0 0 0 1px rgba(139, 0, 255, 0.04) !important;
}

.ast-variation-button-group .ast-single-variation::before,
.ast-variation-button-group .ast-single-variation::after {
    display: none !important;
}

.ast-variation-button-group .ast-single-variation:active {
    transform: scale(0.985);
}

@media (max-width: 920px) {
    .ast-variation-button-group {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
    }

    .ast-variation-button-group .ast-single-variation {
        height: 36px;
    }
}

@media (max-width: 600px) {
    .ast-variation-button-group {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
    }

    .ast-variation-button-group .ast-single-variation {
        height: 35px;
        font-size: 13px;
    }
}

/* Match the native WooCommerce size-attribute label font to the other attribute labels. */
.variations label[for="pa_rozmiar-blatu"] {
    font-size: 13px !important;
}
