/* ================================
   FONTS & ROOT
   ================================ */
@charset "UTF-8";

@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;600;700&display=swap");

:root {
    --black: black;
    --white: white;
    --primary-color: #006599;
    --secondary-color: #c5da84;
    --form-control-border: #1C1C1B;
    --bs-border-color: #dee2e6;
    --background-color: #dddddd;
    --background-disabled: #eee;
    --bs-border-width: 1px;
    --bs-list-group-item-padding-x: 1rem;
    --bs-list-group-item-padding-y: 0.5rem;
    --none: none !important;
}

* {
    border-radius: unset !important;
}


.fs-90 {
    font-size: 90% !important;
}

/* ================================
   BASE ELEMENTS
   ================================ */
html,
body {
    height: 100%;
}

*:disabled {
    background-color: var(--background-disabled) !important;
}

body {
    background-color: var(--background-color);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;

    font-family: 'Roboto' !important;
    margin: 0;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--black);
    text-align: left;
}

body:has(.login) {
    background: url("/images/background.jpg") center/cover;
    background-color: var(--primary-color);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: var(--none);
}

td {
    vertical-align: middle;
}

.hidden {
    visibility: hidden;
    position: absolute;
    width: 0;
    height: 0;
    padding: 0;
    margin: 0;
    border: var(--none);
}

.dropdown-item.active,
.dropdown-item:active {
    color: var(--bs-dropdown-link-active-color);
    text-decoration: none;
    background-color: var(--primary-color);
}

/* ================================
   COLOR & THEME CLASSES
   ================================ */

.bg-primary,
.back-primary,
.accordion-button:not(.collapsed) {
    background-color: var(--primary-color) !important;
    color: var(--white) !important;
}

.accordion-button.collapsed {
    background-color: rgba(0, 101, 153, 0.75) !important;
    color: var(--white) !important;
}

.text-primary {
    color: var(--primary-color) !important;
}

.bg-secondary,
.back-secondary {
    background-color: var(--secondary-color) !important;
    color: var(--black) !important;
}

.text-secondary {
    color: var(--secondary-color) !important;
}

.brand_bg,
.brand_bg:hover {
    background-color: var(--primary-color) !important;
}

.brand_border,
.brand-border {
    border-color: var(--primary-color) !important;
}

.brand {
    color: var(--primary-color) !important;
}

.nav-link {
    color: var(--black) !important;
}

/* ================================
   COMPONENT STYLES
   ================================ */
.button,
a[role='button'],
footer {
    padding: 0.5rem 1rem !important;
    font-size: 1rem !important;
    display: flex;
    align-items: center;
}

a[role='button']>i {
    font-size: 1.25rem !important;
}

a[role='button'].action {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.form-button {
    padding: 0.25rem 0.5rem !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    height: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.accordion-button {
    font-size: 1rem !important;
}

.accordion-button::after {
    transition: transform 0.2s ease, filter 0.2s ease;
    --bs-accordion-btn-icon-white: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
    background-image: var(--bs-accordion-btn-icon-white);
}

.accordion-button:not(.collapsed)::after {
    --bs-accordion-btn-icon-white: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
    background-image: var(--bs-accordion-btn-icon-white);
}

.btn-close {
    --bs-btn-close-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23bb2124'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/></svg>");
}

.btn-outline-primary {
    --bs-btn-color: var(--primary-color);
    --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: var(--primary-color);
    --bs-btn-hover-border-color: var(--primary-color);
    --bs-btn-focus-shadow-rgb: 13, 202, 240;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: var(--primary-color);
    --bs-btn-active-border-color: var(--primary-color);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--primary-color);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--primary-color);
    --bs-gradient: none;
}

.btn-outline-primary:hover {
    color: var(--white);
}

.custom-file-input {
    display: flex;
    flex-direction: row;

    gap: 0.5rem;

    border-radius: 0 !important;
    border: 1px solid var(--primary-color) !important;
    color: var(--primary-color) !important;
    background-color: var(--white) !important;

    padding: 6px 12px;
    cursor: pointer;
}

.custom-file-input>a.btn-reset {
    border-radius: 0 !important;
    border: 1px solid var(--primary-color) !important;
    color: var(--primary-color) !important;
    background-color: var(--white) !important;

}

.custom-file-input>input::file-selector-button {
    border-radius: 0 !important;
    background: var(--primary-color) !important;
    color: var(--white) !important;
    border: none !important;
    padding: 6px 12px;
    cursor: pointer;
}

/* ================================
   LAYOUT / CONTAINER
   ================================ */
.container {
    height: 100%;
    align-content: center;
}

.container.login {
    width: 100%;
    max-width: 100%;
}

.card.login {
    margin: auto;
    background-color: rgba(255, 255, 255, 0.7) !important;
    text-align: left;
}

.card-header h3 {
    color: var(--white);
}

#form-title>h4 {
    color: var(--primary-color);
}

.login-container {
    flex-direction: row;
}

footer a {
    margin-left: auto !important;
}

footer a img {
    height: 20px !important;
}

/* ================================
   UTILITY CLASSES
   ================================ */
.hide_for_desktop {
    display: var(--none);
}

.open_modal {
    cursor: pointer;
}

.link-clean {
    color: var(--black);
    text-decoration: var(--none);
    transition: color 0.2s ease-in-out;
}

.link-clean:hover {
    color: var(--primary-color);
}

.hover_nothing:hover {
    border-color: transparent !important;
    background-color: transparent !important;
}

/* Opacità */
.opacity-0 {
    opacity: var(--none);
}

.opacity-25 {
    opacity: .25 !important;
}

.opacity-50 {
    opacity: .5 !important;
}

.opacity-75 {
    opacity: .75 !important;
}

.opacity-100 {
    opacity: 1 !important;
}

/* Responsive widths and heights */

.w-10 {
    width: 10% !important;
    max-width: 10% !important;
}

.w-15 {
    width: 15% !important;
    max-width: 15% !important;
}

/* ... altre width come da tuo file ... */
.w-90 {
    width: 90% !important;
    max-width: 90% !important;
}

.w-100 {
    width: 100% !important;
    max-width: 100% !important;
}

.h-10 {
    height: 10% !important;
    max-height: 10% !important;
}

/* ... altre height come da tuo file ... */
.h-90 {
    height: 90% !important;
    max-height: 90% !important;
}

/* ================================
   FORM & INPUTS
   ================================ */

input[readonly],
textarea[readonly] {
    background-color: var(--bs-secondary-bg) !important;
}

input::placeholder,
textarea::placeholder,
.select2-selection__placeholder {
    color: var(--bs-gray) !important;
}

.form-control,
.select2-selection {
    border-color: var(--form-control-border) !important;
    line-height: 1.5;
    padding: .25rem .5rem;
    font-size: 1rem;
    font-weight: 400;
    color: var(--black);
}

.select2-selection__rendered {
    color: var(--black) !important;
}

.form-separator {
    border-color: var(--primary-color);
}

.select2.select2-container.select2-container--default {
    width: 100% !important;
}

.select2-selection {
    height: 100% !important;
}


.select2-container--default .select2-selection--multiple .select2-selection__choice,
.select2-selection__choice__remove>span,
.select2-selection__choice__remove,
.select2-selection__choice__remove:hover {
    color: var(--black) !important;
    border-color: var(--black) !important;
    background-color: var(--secondary-color) !important;
    /* padding-left: 0.5rem !important; */
}

.select2-search__field {
    margin-top: 0px !important;
    margin-bottom: 5px !important;
}

/* ================================
   BUTTONS
   ================================ */
.btn.login_btn,
.btn.login_btn:hover {
    color: var(--white);
    border-color: var(--black);
    background-color: var(--primary-color);
}

.btn.login_btn.brand:hover {
    color: var(--primary-color) !important;
}

/* ================================
   TABLES & PAGINATION
   ================================ */

.paginate_button.page-item>a {
    color: var(--black);
}

.paginate_button.page-item.active>a {
    color: var(--white);
    border-color: var(--primary-color);
    background-color: var(--primary-color);
}

.dataTables_wrapper>.row {
    padding-left: .5rem;
    padding-right: .5rem;
}

/* ================================
   SIDEBAR
   ================================ */
#sidebar.show {
    display: flex !important;
}

#sidebar.hide {
    display: var(--none);
}

/* ================================
   SPACING
   ================================ */
#order,
#additional,
#single {
    padding: 1.5rem !important;
}

.px-6 {
    padding-left: 72px !important;
    padding-right: 72px !important;
}

div.border {
    border: var(--bs-border-width) solid var(--bs-border-color) !important;
    padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x) !important;
}