.vwacf-filter-sections {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--vwacf-section-gap, 18px) !important;
    width: 100% !important;
}

.vwacf-filter-group {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.vwacf-filter-group__title {
    display: block !important;
    margin: 0 0 var(--vwacf-title-margin-bottom, 8px) !important;
    padding: 0 !important;
    color: var(--vwacf-title, #00b8b2) !important;
    background: transparent !important;
    font-family: var(--vwacf-font-family, inherit) !important;
    font-size: var(--vwacf-title-size, 18px) !important;
    font-weight: var(--vwacf-title-weight, 500) !important;
    font-style: normal !important;
    line-height: var(--vwacf-title-line-height, 1.25) !important;
    letter-spacing: var(--vwacf-letter-spacing, 0) !important;
    text-transform: var(--vwacf-title-text-transform, none) !important;
    text-decoration: none !important;
}

.vwacf-filter-list {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    gap: var(--vwacf-group-gap, 6px) !important;
}

.vwacf-layout-stack .vwacf-filter-list {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
}

.vwacf-layout-wrap .vwacf-filter-list {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
}

.vwacf-layout-grid .vwacf-filter-list {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(var(--vwacf-grid-min, 160px), 100%), 1fr)) !important;
    align-items: stretch !important;
}

.vwacf-layout-stack .vwacf-filter-button {
    width: 100% !important;
    min-width: 0 !important;
}

.vwacf-layout-wrap .vwacf-filter-button {
    width: auto !important;
    min-width: var(--vwacf-button-min, 0) !important;
    flex: 0 0 auto !important;
}

.vwacf-layout-grid .vwacf-filter-button {
    width: 100% !important;
    min-width: 0 !important;
}

a.vwacf-filter-button,
a.vwacf-filter-button:link,
a.vwacf-filter-button:visited,
a.vwacf-filter-button:hover,
a.vwacf-filter-button:focus,
a.vwacf-filter-button:active {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: var(--vwacf-content-justify, flex-start) !important;
    gap: var(--vwacf-button-gap, 6px) !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: var(--vwacf-pad-v, 14px) var(--vwacf-pad-h, 16px) !important;
    border-width: var(--vwacf-border-width, 1px) !important;
    border-style: solid !important;
    border-color: var(--vwacf-border, #e3e8e9) !important;
    border-radius: var(--vwacf-radius, 18px) !important;
    background-color: var(--vwacf-bg, #ffffff) !important;
    background-image: none !important;
    color: var(--vwacf-text, #155f66) !important;
    font-family: var(--vwacf-font-family, inherit) !important;
    font-size: var(--vwacf-font-size, 16px) !important;
    font-weight: var(--vwacf-font-weight, 500) !important;
    font-style: normal !important;
    line-height: var(--vwacf-line-height, 1.25) !important;
    letter-spacing: var(--vwacf-letter-spacing, 0) !important;
    text-align: left !important;
    text-transform: var(--vwacf-text-transform, none) !important;
    text-decoration: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    cursor: pointer !important;
    overflow: hidden !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

a.vwacf-filter-button:hover,
a.vwacf-filter-button:focus-visible {
    color: var(--vwacf-hover-text, #155f66) !important;
    border-color: var(--vwacf-hover-border, #14656b) !important;
    background-color: var(--vwacf-hover-bg, #f7fbfb) !important;
    background-image: none !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

a.vwacf-filter-button:focus-visible {
    outline: 2px solid currentColor !important;
    outline-offset: 2px !important;
}

a.vwacf-filter-button.is-active,
a.vwacf-filter-button.is-active:link,
a.vwacf-filter-button.is-active:visited {
    border-color: var(--vwacf-active-border, #14656b) !important;
    background-color: var(--vwacf-active-bg, #14656b) !important;
    background-image: none !important;
    color: var(--vwacf-active-text, #ffffff) !important;
}

a.vwacf-filter-button.is-active:hover,
a.vwacf-filter-button.is-active:focus,
a.vwacf-filter-button.is-active:focus-visible,
a.vwacf-filter-button.is-active:active {
    border-color: var(--vwacf-active-border, #14656b) !important;
    background-color: var(--vwacf-active-bg, #14656b) !important;
    background-image: none !important;
    color: var(--vwacf-active-text, #ffffff) !important;
}

.vwacf-filter-button__label {
    display: inline-block !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
    text-decoration: none !important;
    white-space: normal !important;
}

.vwacf-filter-button__count {
    display: inline-block !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--vwacf-count, #ffad00) !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: var(--vwacf-count-font-weight, 700) !important;
    font-style: normal !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.vwacf-filter-button.is-active .vwacf-filter-button__count {
    color: var(--vwacf-active-count, #ffcf00) !important;
}

@media (prefers-reduced-motion: reduce) {
    a.vwacf-filter-button,
    a.vwacf-filter-button:link,
    a.vwacf-filter-button:visited,
    a.vwacf-filter-button:hover,
    a.vwacf-filter-button:focus,
    a.vwacf-filter-button:active {
        transition: none !important;
    }
}
