html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin: 0;
  padding: 0;
}

.container {
  /* Remove flex: 1 from container to prevent conflicts */
  overflow-x: auto;
}

main {
  flex: 1;
  padding-bottom: 60px; /* Aumentato spazio dal footer per evitare sovrapposizioni */
  min-height: calc(100vh - 200px); /* Assicura altezza minima considerando header e footer */
}

footer {
  margin-top: auto; /* Spinge il footer in basso */
  border-top: 1px solid #dee2e6;
  padding: 15px 0;
  flex-shrink: 0; /* Impedisce al footer di restringersi */
  position: relative;
  z-index: 10; /* Assicura che il footer sia sopra altri elementi */
}

/* Stili per DevExtreme DataGrid */
.dx-datagrid {
  max-height: none !important; /* Permette al DataGrid di crescere liberamente */
  margin-bottom: 20px; /* Spazio aggiuntivo sotto i DataGrid */
}

.dx-datagrid .dx-datagrid-rowsview {
  max-height: none !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  main {
    padding-bottom: 80px; /* Pił spazio su mobile */
    min-height: calc(100vh - 250px);
  }
  
  footer {
    position: relative;
    margin-top: 30px;
  }
}

/* Assicura che le pagine con tanto contenuto abbiano spazio sufficiente */
.pb-5 {
  padding-bottom: 3rem !important;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}