
:root {
    
    --bs-border-radius: 0.375rem;
    --bs-border-radius-sm: 0.2rem;
    --bs-border-radius-lg: 0.5rem;
    --bs-border-radius-xl: 1rem;
}

:root,
[data-bs-theme=light] {
    
    --bs-primary: var(--brand-primary);
}

[data-bs-theme=dark] {
    
    --bs-primary: var(--brand-primary);
}

:root,
[data-bs-theme=light],
[data-bs-theme=dark] {
    
    --custom-transition-duration: 0.2s;
    --custom-transition-timing: ease-in-out;
    --custom-font-weight-medium: 500;
    --custom-font-weight-semibold: 600;
}

.btn {
    --bs-btn-border-radius: var(--bs-border-radius);
    font-weight: var(--custom-font-weight-medium);
    transition: all var(--custom-transition-duration) var(--custom-transition-timing);
}

.card {
    --bs-card-border-radius: var(--bs-border-radius-lg);
    --bs-card-inner-border-radius: calc(var(--bs-border-radius-lg) - 1px);
    --bs-card-box-shadow: var(--bs-box-shadow);
}

.badge {
    --bs-badge-border-radius: var(--bs-border-radius);
    
    --bs-badge-font-size: 0.75rem;
    font-weight: var(--custom-font-weight-medium);
}

.form-control,
.form-select {
    transition: border-color var(--custom-transition-duration) var(--custom-transition-timing),
        box-shadow var(--custom-transition-duration) var(--custom-transition-timing);
}

.alert {
    --bs-alert-border-radius: var(--bs-border-radius);
}

.input-group .field_with_errors {
    display: contents;
}

.input-group .field_with_errors > .form-control,
.input-group .field_with_errors > .form-select {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
}

.field_with_errors:has(> .is-invalid) ~ .invalid-feedback[data-server-feedback] {
    display: block;
}

.btn-group > form.button_to {
    margin: 0;
}

.btn-group > form.button_to:not(:first-child) > .btn {
    margin-left: -1px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.btn-group > form.button_to:not(:last-child) > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.btn-group > form.button_to + .btn {
    margin-left: -1px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.btn-group > form.button_to > .btn:focus,
.btn-group > form.button_to > .btn:hover,
.btn-group > form.button_to > .btn:active {
    z-index: 2;
}

.btn-group-vertical > form.button_to {
    width: 100%;
    margin: 0;
}

.btn-group-vertical > form.button_to > .btn {
    width: 100%;
}

.btn-group-vertical > form.button_to:not(:first-child) > .btn {
    margin-top: -1px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.btn-group-vertical > form.button_to:not(:last-child) > .btn {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.btn-group-vertical > form.button_to + .btn {
    margin-top: -1px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.btn-group-vertical > form.button_to > .btn:focus,
.btn-group-vertical > form.button_to > .btn:hover,
.btn-group-vertical > form.button_to > .btn:active {
    z-index: 2;
}

.dropdown-menu > li > form.button_to {
    display: block;
    margin: 0;
}

mark,
.mark {
    padding-left: 0;
    padding-right: 0;
}
