.btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-transform: var(--btn-text-transform, none);
    letter-spacing: var(--btn-letter-spacing, 0);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--color-gray-3);
    --bs-btn-disabled-border-color: var(--color-gray-3);
    --bs-btn-padding-x: 1.5rem;
    --bs-btn-padding-y: .65rem;
    min-height: 3rem;
    --swiper-navigation-size: var(--bs-btn-font-size);
    --swiper-theme-color: var(--bs-btn-color);
}
.btn-square {
    --bs-btn-padding-y: .5rem;
    --bs-btn-padding-x: .5rem;
    min-width: 3rem;
    text-align: center;
}
.btn-sm, .btn_sm .btn {
    --bs-btn-padding-y: .4rem;
    --bs-btn-padding-x: 1rem;
    --bs-btn-font-size: .875rem;
    min-height: 2.222222rem;
    --swiper-navigation-size: .65rem;
}
.btn-sm.btn-square, .btn_sm .btn.btn-square {
    --bs-btn-padding-x: .4rem;
    min-width: 2.222222rem;
}
.btn-xs, .btn_xs .btn {
    --bs-btn-padding-y: .24rem;
    --bs-btn-padding-x: .75rem;
    --bs-btn-font-size: .8rem;
    min-height: 0;
    --swiper-navigation-size: .65rem;
}
@media (min-width: 992px) {
    .btn-lg, .btn_lg .btn {
        --bs-btn-padding-y: .9rem;
        --bs-btn-padding-x: 2.5rem;
        --bs-btn-font-size: 1.25rem;
        min-height: 4rem;
        --swiper-navigation-size: .95rem;
    }
    .btn-lg.btn-square, .btn_lg .btn.btn-square {
        --bs-btn-padding-x: .9rem;
        min-width: 4rem;
    }
}
.btn-block {
    display: flex;
    width: 100%;
}
.btn, .btn-primary {
    --bs-btn-color: var(--color-white);
    --bs-btn-bg: var(--color-theme);
    --bs-btn-border-color: var(--color-theme);
    --bs-btn-hover-color: var(--color-white);
    --bs-btn-hover-bg: var(--color-theme-hover);
    --bs-btn-hover-border-color: var(--color-theme-hover);
    --bs-btn-active-color: var(--color-white);
    --bs-btn-active-bg: var(--color-theme-hover);
    --bs-btn-active-border-color: var(--color-theme-hover);
}
.btn-secondary {
    --bs-btn-color: var(--color-theme);
    --bs-btn-bg: var(--color-background-additional);
    --bs-btn-border-color: var(--color-background-additional);
}
.btn-link {
    --bs-btn-color: var(--color-theme);
    --bs-btn-bg: transparent;
    --bs-btn-border-color: transparent;
    --bs-btn-hover-color: var(--color-theme-hover);
    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-border-color: transparent;
    --bs-btn-active-color: var(--color-theme-hover);
    --bs-btn-active-bg: transparent;
    --bs-btn-active-border-color: transparent;
    text-decoration: none;
}
.btn-white {
    --bs-btn-color: var(--color-theme);
    --bs-btn-bg: var(--color-white);
    --bs-btn-border-color: var(--color-white);
}
.btn-outline-primary {
    --bs-btn-color: var(--color-theme);
    --bs-btn-bg: transparent;
    --bs-btn-border-color: var(--color-theme);
    --bs-btn-hover-color: var(--color-white);
    --bs-btn-hover-bg: var(--color-theme-hover);
    --bs-btn-hover-border-color: var(--color-theme-hover);
    --bs-btn-active-color: var(--color-white);
    --bs-btn-active-bg: var(--color-theme-hover);
    --bs-btn-active-border-color: var(--color-theme-hover);
}
.btn-outline-secondary {
    --bs-btn-color: var(--color-theme);
    --bs-btn-bg: transparent;
    --bs-btn-border-color: rgba(var(--color-theme-rgb), .4);
    --bs-btn-hover-color: var(--color-white);
    --bs-btn-hover-bg: var(--color-theme-hover);
    --bs-btn-hover-border-color: var(--color-theme-hover);
    --bs-btn-active-color: var(--color-white);
    --bs-btn-active-bg: var(--color-theme-hover);
    --bs-btn-active-border-color: var(--color-theme-hover);
}
.btn-outline-white {
    --bs-btn-color: var(--color-white);
    --bs-btn-bg: transparent;
    --bs-btn-border-color: rgba(var(--color-white-rgb), .4);
    --bs-btn-hover-color: var(--color-white);
    --bs-btn-hover-bg: var(--color-theme-hover);
    --bs-btn-hover-border-color: var(--color-theme-hover);
    --bs-btn-active-color: var(--color-white);
    --bs-btn-active-bg: var(--color-theme-hover);
    --bs-btn-active-border-color: var(--color-theme-hover);
}
.color-invert .header__block .btn-primary, .color-invert .header__block .btn-secondary,
.promo .color-invert .btn-primary, .promo .color-invert .btn-secondary {
    --bs-btn-color: var(--color-theme);
    --bs-btn-bg: var(--color-white);
    --bs-btn-border-color: var(--color-white);
}
.color-invert .header__block .btn-outline-primary, .color-invert .header__block .btn-outline-secondary,
.promo .color-invert .btn-outline-primary, .promo .color-invert .btn-outline-secondary {
    --bs-btn-color: var(--color-white);
    --bs-btn-bg: transparent;
    --bs-btn-border-color: var(--color-white);
}
.color-invert .btn-link {
    --bs-btn-color: var(--color-white);
    --bs-btn-hover-color: var(--color-white);
}
.btn[disabled] .btn-text {
    visibility: hidden;
}
.btn-indicator {
    display: none;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    align-items: center;
    justify-content: center;
}
.btn[disabled] .btn-indicator {
    display: flex;
}