:root, .btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--color-primary);
    --bs-btn-border-color: var(--color-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--color-dark); /*+scuro*/
    --bs-btn-hover-border-color: var(--color-dark); /*++scuro*/
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--color-dark); /*++scuro*/
    --bs-btn-active-border-color: var(--color-dark); /*+scuro*/
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--color-primary);
    --bs-btn-disabled-border-color: var(--color-primary);
}
.btn {
    --bs-btn-font-size: 1.2rem;
    font-family: var(--font-heading);
}

.text-info {
    color: var(--color-primary) !important;
}

.form-dataforms .input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback):not(.form-floating) {
    border-bottom: 1px solid rgba(48, 64, 73, 0.4);
    border-radius: 0;
    background-color: transparent;
    border-top: 0;
    border-left: 0;
    border-right: 0;
}
.modal .modal-content .modal-title {
    font-size: 22px;
    color: var(--color-primary);
}

/* =============================================================== */
/* FORMS */
/* =============================================================== */
html[data-bs-theme="light"] form.form-dataforms input[type='checkbox'][role='switch'], form.form-dataforms input[type='radio'][role='switch'] {
    /* Fix input switch type for checkbox and radio to border color more readable for light theme */
    border-color: #aeb2b6; /* Bootstrap original: #dee2e6 */
}
form.form_auth span.error {
    /*color: var(--bs-danger);*/ /* #ff4444 */
    /*padding-left: 10px;*/
}
form.form_auth span.checked {
    /*color: var(--bs-success) !important;*/
}
form.form_auth span.error::before {
    /*margin-right: 8px;*/
}
form.form_auth input.error, form.form_auth textarea.error {
    /*border: solid 1px var(--bs-danger);*/
}
form.form_auth textarea {
    min-height: 8rem !important;
}
form.form-dataforms input[type="text"], form.form-dataforms input[type="email"], form.form-dataforms input[type="password"], form.form-dataforms .nice-select {
    border-bottom: 1.5px solid rgba(48, 64, 73, 0.4);
    background-color: transparent;
    padding: 18px 12px;
    height: 64px;
    border-radius: 0;
    background-image: none;
}
.form-dataforms .text-truncate:has(> select) {
    overflow: visible;
}
.form-dataforms .text-truncate:has(> select) label {
    overflow: unset;
    top: -16px;
}
form.form-dataforms .nice-select:focus {
    box-shadow: none;
}
form.form-dataforms textarea {
    padding-top: 2.5rem !important;
}

/* =============================================================== */
/* DATAFORMS */
/* =============================================================== */

.form-footer-infos {
    border-left: 2px solid var(--bs-border-color);
    border-bottom: 2px solid var(--bs-border-color);
    border-radius: 0 0 0 6px;
    padding-left: 6px;
    padding-bottom: 2px;
    min-height: 52px;
}
.form-footer-buttons .btn {
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.form-footer-buttons a.btn {
    /* padding-top: 12px;*/
}
.input-group .input-group-text-floating-img, .input-group .input-group-text-floating-filename {
    /* Manage image into input-group for floating labels */
    padding:6px;
}
.input-group .input-group-text-floating-img img {
    /* Manage image into input-group for floating labels */
    height: 44px;
}
.input-group-upload {
    /* Force size for align with floating labels */
    min-height: 58px;
}
.input-group-upload .input-group-text {
    /* background color transparent for upload controls block */
    background-color: inherit;
}
.input-group .btn.btn-outline-secondary {
    /* Makes border color uniform to input-group */
    border-color: var(--bs-border-color);
}
.col-input-check-radio {
    /* Column styling for checkbox/radio inputs */
    padding: 3px 5px 0 10px;
    border: 1px solid var(--bs-border-color); /* #555 */
    border-radius: 6px;
    min-height: 58px;
    width: auto;
}
.col-input-check-radio .form-check {
    min-height: auto;
}
.col-input-check-radio:has(input.is-invalid) {
    /* For manage invalid validation for radio inputs */
    border-color: var(--bs-form-invalid-border-color);
}
.col-input-check-radio:has(input.is-valid) {
    /* For manage valid validation for radio inputs */
    border-color: var(--bs-form-valid-border-color); /* orig: #198754 */
}
.input-group-text.form-floating-height {
    min-height: 58px;
}
.col-input-captcha .input-group-text {
    padding: 3px;
}

/* Titled rounded box */
.custom-titled-box {
    position: relative;
    border: 2px solid var(--bs-border-color);
    border-radius: 4px; /* var(--bs-border-radius) */
    padding: 24px 10px 10px;
    margin-top: 2px;
}
.custom-titled-box-title {
    position: absolute;
    top: -14px;
    left: 10px;
    background: #fff; /* var(--main-content-background) | #2b3036 */
    padding: 0 8px;
    font-weight: 600;
    /*font-size: large;*/
    /*border-radius: 4px;*/
    /*border-top: 1px solid var(--bs-border-color);*/
}
.form.form-dataforms {
    /* Customization form box */
}

.fancybox__container .caption-subtle .text-primary {
    /* Fancybox modal for video content */
    color: var(--color-primary) !important;
}
.fancybox__container .caption-subtle span:first-child {
    display: block;
    padding-right: 1rem;
}
.mh-auto {
    min-height: auto !important;
}