/** do not delete - placeholder file to be used if no custom-style.css file is provided */
:root {
  --color-lines: #dcdfd6;
  --reservable: #ffffff;
  --unreservable: #fcebfa;
  --reserved: #003b6f;         /* Blu Istituzionale RT profondo */
  --reservedMine: #0055a5;     /* Blu RT intermedio */
  --reservedParticipating: #5c3275;
  --reservedPending: #fff7db;
  --pasttime: #f4f5f2;
  --hiliteReservation: #00875a;  /* Verde istituzionale coordinato */
  --label-text-on-light: #1f2421;
  --label-text-on-dark: #ffffff;
}

[data-bs-theme='default'],
[data-bs-theme='toscana'] {
  --primary: #003b6f;          /* Blu Istituzionale Regione Toscana primario */
  --primary-hover: #00274b;    /* Blu RT scuro per hover */
  --primary-disabled: #8caec7;
  --text-color-btn: #ffffff;
}

body {
  font-family: 'Roboto', 'Hind', 'system-ui', 'sans-serif';
  font-weight: 400;
  font-size: 14px;
  display: flex;
  flex-direction: column;
  background-color: #f7f9f6;   /* Sfondo neutro chiaro con un accenno pulito */
  color: #1f2421;
  min-height: 100vh;
}

/* --- SUPERFICI MATERIAL ELEVATE --- */
.card, 
.dropdown-menu, 
.ui-autocomplete, 
#entityChoices, 
#editEntityChoices,
.popover, 
.tooltip {
  border: none !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 6px -1px rgba(0, 59, 111, 0.08), 0 2px 4px -1px rgba(0, 59, 111, 0.04) !important;
}

footer {
  margin-top: auto;
}

img.logo {
  max-height: 50px;
}

.dropdown-item {
  border-radius: 6px;
  margin: 4px 8px;
  width: auto;
  transition: background-color 0.2s ease;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item:focus-visible {
  color: var(--text-color-btn);
  background-color: var(--primary);
}

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

.dropdown-menu {
  --bs-dropdown-link-active-bg: var(--primary);
  font-size: 13px;
  padding: 8px;
  box-shadow: 0 10px 15px -3px rgba(0, 59, 111, 0.12), 0 4px 6px -2px rgba(0, 59, 111, 0.06) !important;
}

.page-link {
  color: var(--primary);
  border: none;
  border-radius: 50% !important;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 2px;
  transition: background-color 0.2s;
}

.active > .page-link,
.page-link.active {
  z-index: 3;
  color: #ffffff;
  background-color: var(--primary);
  box-shadow: 0 2px 4px rgba(0, 59, 111, 0.25);
}

.page-link:hover {
  background-color: rgba(0, 59, 111, 0.08);
  color: var(--primary);
}

/* --- PULSANTI MATERIAL CON BLU RT --- */
.btn {
  border-radius: 8px !important;
  font-weight: 500;
  padding: 8px 16px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.15);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn:hover {
  box-shadow: 0 4px 8px rgba(0, 59, 111, 0.15), 0 2px 4px rgba(0, 59, 111, 0.1);
  transform: translateY(-1px);
}

.btn-primary {
  --bs-btn-bg: var(--primary);
  --bs-btn-border-color: var(--primary);
  --bs-btn-hover-bg: var(--primary-hover);
  --bs-btn-hover-border-color: var(--primary-hover);
}

.btn-outline-primary {
  border: 1px solid var(--primary);
  --bs-btn-color: var(--primary);
  --bs-btn-hover-bg: rgba(0, 59, 111, 0.08);
  --bs-btn-hover-border-color: var(--primary);
  --bs-btn-hover-color: var(--primary);
  box-shadow: none;
}

/* LINK PULITI SENZA SOTTOLINEATURA */
.link-primary {
  color: var(--primary) !important;
  text-decoration: none !important;
  font-weight: 500;
  transition: color 0.2s;
}

.link-primary:hover,
.link-primary:focus {
  color: var(--primary-hover) !important;
  text-decoration: none !important;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

/* --- INPUT DI MODULO MATERIAL --- */
.form-control, .form-select {
  border: 1px solid #b8bec2;
  border-radius: 8px !important;
  background-color: #ffffff;
  padding: 10px 14px;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.form-control:focus, .form-select:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(0, 59, 111, 0.15);
}

.form-check-input:checked {
  background-color: var(--primary);
  border-color: var(--primary);
}

.wait-box {
  display: none;
  text-align: center;
  top: 15%;
  position: relative;
  padding: 24px;
  border: none;
  border-radius: 16px;
  box-shadow: 0 11px 15px -7px rgba(0, 59, 111, 0.2), 0 24px 38px 3px rgba(0, 59, 111, 0.1);
  background: #ffffff;
}

/* --- ACCORDION & COMPONENTI --- */
.accordion-button {
  border-radius: 8px !important;
  transition: background-color 0.2s;
}

.accordion-button.collapsed {
  background: #ffffff;
  color: var(--primary) !important;
}

.accordion-button:not(.collapsed) {
  background: #e6edf4; /* Sfumatura azzurro/blu chiaro istituzionale */
  color: var(--primary) !important;
  font-weight: 600;
  box-shadow: none;
}

.resourceName {
  background-color: var(--primary);
  color: var(--text-color-btn);
  border-radius: 6px;
  padding: 4px 8px;
}

/* --- CALENDAR & PICKER (FullCalendar e Flatpickr) --- */
.flatpickr-calendar {
  border-radius: 12px !important;
  box-shadow: 0 10px 25px rgba(0, 59, 111, 0.15) !important;
  border: none !important;
}

.flatpickr-months .flatpickr-month,
.flatpickr-weekdays,
span.flatpickr-weekday {
  background: var(--primary) !important;
  color: var(--text-color-btn) !important;
}

.fc .fc-button-primary {
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 4px rgba(0, 59, 111, 0.2);
}

.fc .fc-col-header-cell-cushion,
.fc .fc-daygrid-day-number {
  color: var(--label-