/* ============================================================
   main-fix.css — layout app-like
   navbar fissa in alto, footer fisso in basso,
   contenuto scrolla tra i due
   ============================================================ */

:root {
  --footer-h: 48px;   /* altezza footer — aggiusta se cambia */
}

/* Footer fisso in basso */
.cd-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: var(--footer-h);
  z-index: 1010;
  padding-top: 0;
  padding-bottom: 0;
  align-items: center;
}

/* Body: spazio per navbar+menu in alto E footer in basso */
body {
  padding-top: calc(var(--navbar-h) + var(--menu-h)) !important;
  padding-bottom: var(--footer-h) !important;
}

/* Main: occupa lo spazio disponibile, scrolla normalmente */
main.content {
  padding-top: 1rem;   /* gap navbar->contenuto uniforme su tutte le pagine (= gap verticale tra le card) */
  padding-bottom: 1rem;
  min-height: 0;
  overflow-y: auto;
}

/* ============================================================
   Pagine admin: layout documento NORMALE (no fullscreen).
   Il fullscreen (html/body overflow:hidden + footer position:fixed +
   main.content height calc) e' pensato per le pagine pubbliche; sulle
   admin (tabelle lunghe) va riattivato lo scroll normale e il footer
   torna nel flusso in fondo alla pagina.
   ============================================================ */
html[class*="page-admin"],
html[class*="page-admin"] body { height: auto !important; overflow: auto !important; }
html[class*="page-admin"] body { padding-bottom: 0 !important; }
html[class*="page-admin"] main.content { height: auto !important; min-height: 0; overflow: visible !important; }
html[class*="page-admin"] .cd-footer { position: static !important; }

/* ============================================================
   Mobile: spazio extra a fine contenuto. Su schermo stretto il footer
   fisso va a capo (social + link + copyright) e diventa piu' alto dei 48px
   di riferimento; senza questo padding l'ultima sezione resta nascosta
   sotto il footer (e sotto il widget chat in basso a destra). Solo pagine
   pubbliche: l'admin ha gia' scroll normale e footer nel flusso.
   ============================================================ */
@media (max-width: 768px) {
  html:not([class*="page-admin"]) main.content { padding-bottom: 110px !important; }
}
