@font-face {
    font-family: "Basier Circle";
    src: url("../fonts/BasierCircle-Regular.otf") format("opentype");
}

html {
    font-size: 14px;
}

body {
    font-family: "Basier Circle";
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

/* Sidebar layout only */
html,
body {
    height: 100%;
}

.sidebar {
    width: 240px;
    min-height: 100vh;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
    flex-shrink: 0;
}

.main-content {
    min-height: 100vh;
    overflow-y: auto;
}

.nav-link {
    border-radius: 0.375rem;
}

    .nav-link.active {
        background-color: var(--bs-terra);
        border-radius: 0.375rem;
    }

    .nav-link:not(.active):hover {
        background-color: var(--bs-terra-hover);
        border-radius: 0.375rem;
    }

.card.bg-beige {
    transition: background-color 0.3s ease, color 0.3s ease;
    box-shadow: rgba(var(--bs-terracotta-rgb), 0.25) 0px 2px 5px -1px, rgba(var(--bs-terracotta-rgb), 0.3) 0px 1px 3px -1px;
}

.alert-warning {
    box-shadow: rgba(var(--bs-warning-dark-rgb), 0.25) 0px 2px 5px -1px, rgba(var(--bs-warning-dark-rgb), 0.3) 0px 1px 3px -1px;
}

.card.bg-verde-light {
    box-shadow: rgba(var(--bs-verde-dark-rgb), 0.25) 0px 2px 5px -1px, rgba(var(--bs-verde-dark-rgb), 0.3) 0px 1px 3px -1px;
}

.card-hoverable:hover {
    background-color: var(--bs-azzurro) !important;
    border-color: var(--bs-azzurro-light) !important;
    box-shadow: rgba(var(--bs-azzurro-dark-rgb), 0.25) 0px 2px 5px -1px, rgba(var(--bs-azzurro-dark-rgb)) 0px 1px 3px -1px;
}

    .card-hoverable:hover .card-header {
        border-color: var(--bs-azzurro-light) !important;
    }

    .card-hoverable:hover .text-terracotta {
        color: var(--bs-luce) !important;
    }

    .card-hoverable:hover .text-terracotta a{
        color: var(--bs-luce) !important;
    }

thead,
tbody,
tfoot,
tr,
td,
th {
    border-bottom-color: var(--bs-terra);
}

th {
    font-weight: 600 !important;
}

td, th {
    color: var(--bs-terracotta) !important;
}

table.dataTable {
    --bs-table-bg: transparent !important;
}

table {
    --bs-table-bg: transparent !important;
}

.dt-info,
.dt-search,
.dt-empty {
    color: var(--bs-terracotta) !important;
}

table tbody tr:not(.not-hoverable):hover {
    background-color: var(--bs-azzurro) !important;
    cursor: pointer;
}

    table tbody tr:not(.not-hoverable):hover td {
        color: var(--bs-luce) !important;
    }

table tbody tr.bg-verde-light:not(.not-hoverable):hover {
    background-color: var(--bs-verde-dark) !important;
}

table tbody tr.bg-pericolo-light:not(.not-hoverable):hover {
    background-color: var(--bs-pericolo-dark) !important;
}

/* Select2 - allineato allo stile dell'app (form-select + palette terra/terracotta) */
.select2-container--default .select2-selection--single {
    height: calc(1.5em + 0.75rem + 2px);
    border: 1px solid var(--bs-terra);
    border-radius: var(--bs-border-radius, 0.375rem);
    background-color: var(--bs-body-bg);
    font-family: "Basier Circle";
}

    .select2-container--default .select2-selection--single .select2-selection__rendered {
        color: var(--bs-body-color);
        line-height: calc(1.5em + 0.75rem);
        padding-left: 0.75rem;
        padding-right: 1.75rem;
    }

    .select2-container--default .select2-selection--single .select2-selection__arrow {
        height: calc(1.5em + 0.75rem);
    }

        .select2-container--default .select2-selection--single .select2-selection__arrow b {
            border-color: var(--bs-terracotta) transparent transparent transparent;
        }

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent var(--bs-terracotta) transparent;
}

.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--bs-terracotta);
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-terracotta-rgb), 0.25);
}

.select2-dropdown {
    border-color: var(--bs-terra);
    background-color: var(--bs-beige);
    font-family: "Basier Circle";
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid var(--bs-terra);
    border-radius: var(--bs-border-radius, 0.375rem);
    background-color: var(--bs-body-bg);
    font-family: "Basier Circle";
}

    .select2-container--default .select2-search--dropdown .select2-search__field:focus {
        outline: 0;
        border-color: var(--bs-terracotta);
        box-shadow: 0 0 0 0.25rem rgba(var(--bs-terracotta-rgb), 0.25);
    }

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--bs-terracotta) !important;
    color: var(--bs-luce) !important;
}

.select2-container--default .select2-results__option[aria-selected="true"] {
    background-color: var(--bs-terra-light);
    color: var(--bs-terracotta-dark);
}

.select2-container--default .select2-results > .select2-results__options {
    max-height: 280px;
}
