/* Fantamorte — stile custom.
   Il tema chiaro/scuro è gestito dal theming nativo di Bootstrap 5.3
   (data-bs-theme su <html>): qui si usano solo le variabili --bs-* così
   ogni regola si adatta da sola a entrambi i temi. */

/* Accessibilità: focus visibile e skip link */

:focus-visible {
  outline: 2px solid var(--bs-primary);
  outline-offset: 2px;
  border-radius: 2px;
}
.fm-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 10000;
  background: var(--bs-body-color);
  color: var(--bs-body-bg);
  padding: 8px 12px;
  text-decoration: none;
  border-radius: 0 0 4px 0;
}
.fm-skip-link:focus {
  left: 0;
}

/* Timeline decessi */
.fm-timeline { position: relative; padding-left: 1.5rem; border-left: 3px solid var(--bs-border-color); }
.fm-timeline-item { position: relative; margin-bottom: 1.25rem; }
.fm-timeline-item::before {
  content: "";
  position: absolute;
  left: -1.85rem;
  top: 0.4rem;
  width: 0.85rem;
  height: 0.85rem;
  border-radius: 50%;
  background: var(--bs-danger);
  /* L'anello deve avere il colore dello sfondo pagina (bg-body-tertiary). */
  box-shadow: 0 0 0 3px var(--bs-tertiary-bg);
}

/* Countdown */
.fm-countdown {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}
.fm-countdown.urgent { color: var(--bs-danger); }

/* Utility */
.fm-preline { white-space: pre-line; }
.fm-input-narrow { max-width: 160px; }

/* Le varianti di riga delle tabelle (.table-danger ecc.) hanno colori
   fissi in Bootstrap e non seguono data-bs-theme: in dark diventano una
   tinta trasparente sul fondo scuro, con testo e bordi del tema. */
[data-bs-theme="dark"] .table-danger,
[data-bs-theme="dark"] .table-success,
[data-bs-theme="dark"] .table-warning {
  --bs-table-color: var(--bs-body-color);
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-hover-color: var(--bs-body-color);
}
[data-bs-theme="dark"] .table-danger {
  --bs-table-bg: rgba(var(--bs-danger-rgb), 0.18);
  --bs-table-hover-bg: rgba(var(--bs-danger-rgb), 0.25);
}
[data-bs-theme="dark"] .table-success {
  --bs-table-bg: rgba(var(--bs-success-rgb), 0.18);
  --bs-table-hover-bg: rgba(var(--bs-success-rgb), 0.25);
}
[data-bs-theme="dark"] .table-warning {
  --bs-table-bg: rgba(var(--bs-warning-rgb), 0.18);
  --bs-table-hover-bg: rgba(var(--bs-warning-rgb), 0.25);
}

/* Feedback rapido sulle liste cliccabili, disattivato per chi preferisce
   ridurre il movimento. */
@media (prefers-reduced-motion: no-preference) {
  .list-group-item-action { transition: background-color 120ms ease-in-out; }
}

/* Mobile: aumenta target tap */
@media (max-width: 576px) {
  .btn-sm { padding: 0.4rem 0.7rem; }
  .table { font-size: 0.92rem; }
  h1, .h1 { font-size: 1.6rem; }
  h2, .h2 { font-size: 1.35rem; }
  .display-5 { font-size: 2.2rem; }
}

/* Riduci salto navbar offcanvas */
body { padding-top: 0.5rem; }

/* Install button */
#fmInstallBtn { display: none; }
