/* Schema colori: base rossa al posto del blu di default di Bootstrap.
   Bootstrap è caricato da CDN (non compilato da sorgente Sass), quindi
   qui si sovrascrivono le CSS variable dei singoli componenti anziché
   solo --bs-primary, che da sola non basterebbe a colorare bottoni ecc. */
:root {
  --bs-primary: #b91c1c;
  --bs-primary-rgb: 185, 28, 28;
  --bs-link-color: #b91c1c;
  --bs-link-color-rgb: 185, 28, 28;
  --bs-link-hover-color: #991b1b;
  --bs-link-hover-color-rgb: 153, 27, 27;
}

.btn-primary {
  --bs-btn-bg: #b91c1c;
  --bs-btn-border-color: #b91c1c;
  --bs-btn-hover-bg: #991b1b;
  --bs-btn-hover-border-color: #8a1919;
  --bs-btn-active-bg: #8a1919;
  --bs-btn-active-border-color: #7f1d1d;
  --bs-btn-disabled-bg: #b91c1c;
  --bs-btn-disabled-border-color: #b91c1c;
  --bs-btn-focus-shadow-rgb: 200, 70, 70;
}

.btn-outline-primary {
  --bs-btn-color: #b91c1c;
  --bs-btn-border-color: #b91c1c;
  --bs-btn-hover-bg: #b91c1c;
  --bs-btn-hover-border-color: #b91c1c;
  --bs-btn-active-bg: #b91c1c;
  --bs-btn-active-border-color: #b91c1c;
  --bs-btn-disabled-color: #b91c1c;
  --bs-btn-disabled-border-color: #b91c1c;
  --bs-btn-focus-shadow-rgb: 200, 70, 70;
}

.bg-primary {
  --bs-bg-opacity: 1;
  background-color: rgba(185, 28, 28, var(--bs-bg-opacity)) !important;
}

.text-primary {
  --bs-text-opacity: 1;
  color: rgba(185, 28, 28, var(--bs-text-opacity)) !important;
}

.alert-primary {
  --bs-alert-color: #6c1414;
  --bs-alert-bg: #f5d6d6;
  --bs-alert-border-color: #f0c2c2;
}

/* Rinforza la visibilità del focus da tastiera oltre al default Bootstrap,
   per l'accessibilità (WCAG 2.4.7). */
a:focus-visible,
button:focus-visible,
input:focus-visible,
.nav-link:focus-visible {
  outline: 3px solid #7f1d1d;
  outline-offset: 2px;
}

.card-img-top {
  object-fit: cover;
  max-height: 220px;
}

.navbar-logo {
  background-color: #fff;
  border-radius: 6px;
  padding: 2px 4px;
}

/* Indicatore leggero, visibile solo con la modalità modifica attiva, per
   ricordare che le azioni sul sito creano/modificano/eliminano contenuti. */
.navbar-admin {
  border-top: 4px solid #f59e0b;
}

.toast-container .toast {
  max-width: 300px;
  font-size: 0.875rem;
}

/* L'icona "occhio barrato" (nascosto dalla home) risulta più grande delle
   altre icone dei badge a parità di dimensione del font: la si rimpicciolisce
   leggermente per allinearla visivamente. */
.bi-eye-slash-fill {
  font-size: 0.7em;
}

.switch-sm .form-check-input {
  width: 1.6em;
  height: 0.9em;
}

/* Miniatura dell'immagine nel banner delle attività in home. */
.banner-attivita-immagine {
  width: 64px;
  height: 64px;
  object-fit: cover;
}

/* Galleria immagini evento: frecce scure su cerchio (le frecce bianche di
   default sparivano sui volantini chiari), contatore e miniature. */
.galleria .carousel-item img {
  max-height: 70vh;
  object-fit: contain;
  background-color: #f1f3f5;
}

.galleria-freccia {
  width: auto;
  padding: 0 0.5rem;
  opacity: 1;
}

.galleria-freccia i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 1.25rem;
}

.galleria-freccia:hover i,
.galleria-freccia:focus-visible i {
  background-color: rgba(0, 0, 0, 0.85);
}

.galleria-contatore {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  background-color: rgba(0, 0, 0, 0.6);
  font-size: 0.8rem;
}

.galleria-miniature {
  position: relative; /* riferimento per offsetLeft nello scorrimento JS */
  overflow-x: auto;
  padding-bottom: 2px;
}

.galleria-miniatura {
  flex: 0 0 auto;
  width: 64px;
  height: 64px;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 6px;
  overflow: hidden;
  background: none;
  opacity: 0.6;
}

.galleria-miniatura img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.galleria-miniatura.active {
  border-color: var(--bs-primary);
  opacity: 1;
}

/* Link ai cartelloni del mese nella home: piccoli, per non affollare
   l'intestazione del mese. */
.cartellone-mini {
  display: inline-flex;
  align-items: center;
  gap: .2rem;
  font-size: .7rem;
  line-height: 1.2;
  padding: .1rem .4rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 999px;
  color: var(--bs-secondary-color);
  text-decoration: none;
}
.cartellone-mini:hover { color: var(--bs-body-color); background: var(--bs-tertiary-bg); }
.cartellone-mini-lingua { border-style: dashed; padding: .1rem .3rem; }
