/* Tema scuro del gestionale (staff e portale clienti).
   Bootstrap 5.3 gestisce da solo i suoi componenti quando <html data-bs-theme="dark">; qui si correggono i colori chiari scritti a mano nelle pagine. */

/* ------------------------------------------------------------------ selettore del tema (pulsante in basso a sinistra) */
.tema-selettore { position: fixed; left: 12px; bottom: 12px; z-index: 1040; font-family: inherit; }
.tema-selettore.tema-alto { bottom: 84px; }
.tema-apri { width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(128, 128, 128, .45); background: #fff; color: #212529; box-shadow: 0 2px 8px rgba(0, 0, 0, .25); cursor: pointer; display: grid; place-items: center; font-size: 1.05rem; }
.tema-apri:hover { filter: brightness(.95); }
.tema-menu { position: absolute; left: 0; bottom: 46px; min-width: 190px; background: #fff; color: #212529; border: 1px solid rgba(128, 128, 128, .35); border-radius: 10px; box-shadow: 0 8px 24px rgba(0, 0, 0, .3); padding: 6px; }
.tema-menu[hidden] { display: none; }
.tema-menu button { display: flex; gap: 8px; align-items: center; width: 100%; border: 0; background: transparent; color: inherit; text-align: left; padding: 7px 10px; border-radius: 7px; font-size: .9rem; cursor: pointer; }
.tema-menu button:hover { background: rgba(128, 128, 128, .18); }
.tema-menu button.attivo { font-weight: 700; background: rgba(13, 110, 253, .15); }
[data-bs-theme="dark"] .tema-apri, [data-bs-theme="dark"] .tema-menu { background: #2b3035; color: #dee2e6; border-color: #495057; }
@media print { .tema-selettore { display: none !important; } }

/* ------------------------------------------------------------------ base */
[data-bs-theme="dark"] body { background-color: var(--bs-body-bg); color: var(--bs-body-color); }
[data-bs-theme="dark"] .bg-white { background-color: var(--bs-body-bg) !important; }
[data-bs-theme="dark"] .bg-light { background-color: var(--bs-tertiary-bg) !important; }
[data-bs-theme="dark"] img.bg-white { background-color: #fff !important; }   /* i loghi restano su fondo bianco */
[data-bs-theme="dark"] .text-dark:where(:not([class*="bg-warning"]):not([class*="bg-info"]):not([class*="btn-warning"]):not([class*="btn-info"]):not([class*="text-bg-warning"]):not([class*="text-bg-info"]):not([class*="btn-light"]):not(.badge.bg-success-subtle)) { color: var(--bs-body-color) !important; }
[data-bs-theme="dark"] .text-black-50 { color: var(--bs-secondary-color) !important; }
[data-bs-theme="dark"] .border-light, [data-bs-theme="dark"] .border-white { border-color: var(--bs-border-color) !important; }
[data-bs-theme="dark"] .table-light { --bs-table-bg: var(--bs-tertiary-bg); --bs-table-color: var(--bs-body-color); --bs-table-border-color: var(--bs-border-color); --bs-table-striped-bg: var(--bs-tertiary-bg); --bs-table-hover-bg: var(--bs-secondary-bg); }
[data-bs-theme="dark"] .btn-light { --bs-btn-bg: var(--bs-tertiary-bg); --bs-btn-color: var(--bs-body-color); --bs-btn-border-color: var(--bs-border-color); --bs-btn-hover-bg: var(--bs-secondary-bg); --bs-btn-hover-color: var(--bs-body-color); --bs-btn-hover-border-color: var(--bs-border-color); --bs-btn-active-bg: var(--bs-secondary-bg); --bs-btn-active-color: var(--bs-body-color); }
[data-bs-theme="dark"] .navbar-light, [data-bs-theme="dark"] .navbar.bg-white { background-color: var(--bs-tertiary-bg) !important; }
[data-bs-theme="dark"] .shadow-sm, [data-bs-theme="dark"] .shadow { --bs-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .5); }
[data-bs-theme="dark"] .modal-content { background-color: var(--bs-body-bg); }
[data-bs-theme="dark"] .dropdown-menu { --bs-dropdown-bg: var(--bs-tertiary-bg); }
[data-bs-theme="dark"] .list-group-item { background-color: var(--bs-body-bg); color: var(--bs-body-color); }
[data-bs-theme="dark"] .list-group-item-action:hover, [data-bs-theme="dark"] .list-group-item-action:focus { background-color: var(--bs-tertiary-bg); color: var(--bs-body-color); }
[data-bs-theme="dark"] .alert-light { --bs-alert-bg: var(--bs-tertiary-bg); --bs-alert-color: var(--bs-body-color); --bs-alert-border-color: var(--bs-border-color); }
[data-bs-theme="dark"] .badge.bg-light, [data-bs-theme="dark"] .badge.text-bg-light { background-color: var(--bs-secondary-bg) !important; color: var(--bs-body-color) !important; }
[data-bs-theme="dark"] a:not(.btn):not(.nav-link):not(.dropdown-item):not(.list-group-item):not(.navbar-brand):not(.badge):not(.page-link) { --bs-link-color-rgb: 110, 168, 254; }
[data-bs-theme="dark"] a.text-decoration-none.text-dark { color: var(--bs-body-color) !important; }

/* ------------------------------------------------------------------ calendario (FullCalendar) */
[data-bs-theme="dark"] .fc {
    --fc-page-bg-color: var(--bs-body-bg);
    --fc-neutral-bg-color: var(--bs-tertiary-bg);
    --fc-neutral-text-color: var(--bs-secondary-color);
    --fc-border-color: var(--bs-border-color);
    --fc-list-event-hover-bg-color: var(--bs-tertiary-bg);
    --fc-today-bg-color: rgba(255, 220, 40, .12);
    --fc-highlight-color: rgba(110, 168, 254, .18);
    --fc-non-business-color: rgba(255, 255, 255, .04);
    --fc-button-text-color: #fff;
}
[data-bs-theme="dark"] .fc .fc-col-header-cell-cushion, [data-bs-theme="dark"] .fc .fc-daygrid-day-number, [data-bs-theme="dark"] .fc .fc-timegrid-slot-label-cushion, [data-bs-theme="dark"] .fc a { color: var(--bs-body-color); }

/* ------------------------------------------------------------------ barre e pulsanti con colori vivaci o scuri fissi */
[data-bs-theme="dark"] .navbar.bg-info, [data-bs-theme="dark"] .navbar.bg-warning {
    --bs-navbar-color: rgba(0, 0, 0, .75); --bs-navbar-hover-color: #000; --bs-navbar-active-color: #000;
    --bs-navbar-brand-color: #000; --bs-navbar-brand-hover-color: #000;
}
[data-bs-theme="dark"] .bg-info .text-dark, [data-bs-theme="dark"] .bg-warning .text-dark, [data-bs-theme="dark"] .navbar.bg-info .navbar-brand, [data-bs-theme="dark"] .navbar.bg-warning .navbar-brand { color: #000 !important; }
[data-bs-theme="dark"] .nav-pills .nav-link.active { color: #000; }
[data-bs-theme="dark"] .btn-outline-dark { --bs-btn-color: var(--bs-body-color); --bs-btn-border-color: var(--bs-border-color); --bs-btn-hover-bg: var(--bs-secondary-bg); --bs-btn-hover-color: var(--bs-body-color); --bs-btn-hover-border-color: var(--bs-border-color); --bs-btn-active-bg: var(--bs-secondary-bg); --bs-btn-active-color: var(--bs-body-color); }

/* colori d'accento un po' piu chiari per leggersi bene sullo sfondo scuro */
[data-bs-theme="dark"] .text-primary { color: #6ea8fe !important; }
[data-bs-theme="dark"] .text-success { color: #75b798 !important; }
[data-bs-theme="dark"] .text-danger { color: #ea868f !important; }
[data-bs-theme="dark"] .text-info { color: #6edff6 !important; }
[data-bs-theme="dark"] .btn-outline-primary { --bs-btn-color: #6ea8fe; --bs-btn-border-color: #6ea8fe; --bs-btn-hover-bg: #0d6efd; --bs-btn-hover-color: #fff; --bs-btn-hover-border-color: #0d6efd; }
[data-bs-theme="dark"] .btn-outline-success { --bs-btn-color: #75b798; --bs-btn-border-color: #75b798; --bs-btn-hover-bg: #198754; --bs-btn-hover-color: #fff; --bs-btn-hover-border-color: #198754; }
[data-bs-theme="dark"] .btn-outline-danger { --bs-btn-color: #ea868f; --bs-btn-border-color: #ea868f; --bs-btn-hover-bg: #dc3545; --bs-btn-hover-color: #fff; --bs-btn-hover-border-color: #dc3545; }
[data-bs-theme="dark"] .btn-outline-info { --bs-btn-color: #6edff6; --bs-btn-border-color: #6edff6; --bs-btn-hover-bg: #0dcaf0; --bs-btn-hover-color: #000; --bs-btn-hover-border-color: #0dcaf0; }
