/* Font Inter, servito in locale: licenza SIL OFL in fonts/Inter-OFL.txt */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("../fonts/inter-latin-wght-normal.260c81a4759b.woff2") format("woff2-variations"),
       url("../fonts/inter-latin-wght-normal.260c81a4759b.woff2") format("woff2");
}

/* Token grafici: blu + rosso/bianco biancorosso */
:root {
  --ci-blu: #043CA4;
  --ci-blu-vivo: #0049C7;
  --ci-blu-scuro: #002E80;
  --ci-notte: #00091A;
  --ci-testo: #1E1E1E;
  --ci-grigio: #6E6E73;
  --ci-sfondo: #F5F5F7;
  --alt-rosso: #D7141A;
  --app-primario: var(--ci-blu);
  --app-primario-scuro: var(--ci-blu-scuro);
  --bs-primary: #043CA4;
  --bs-primary-rgb: 4, 60, 164;
  --bs-link-color: #003DA6;
  --bs-link-color-rgb: 0, 61, 166;
  --bs-link-hover-color: #002E80;
  --bs-body-font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --bs-body-color: #333;
  --bs-border-radius: .75rem;
}
body { background: var(--ci-sfondo); min-height: 100vh; display: flex; flex-direction: column;
  font-family: var(--bs-body-font-family); -webkit-font-smoothing: antialiased; }
main { flex: 1 0 auto; }
h1, h2, h3, .h1, .h2, .h3, .h4, .h5 { color: var(--ci-testo); font-weight: 700; letter-spacing: -.01em; }
a { text-underline-offset: .18em; }

/* Barra superiore: chiara per l'area pubblica, notte per la gestione */
.app-navbar-chiara { background: #fff; border-bottom: 1px solid #e8e8ed; }
.app-navbar { background: var(--ci-notte); }
.marchio { display: inline-flex; align-items: center; gap: .6rem; }
.marchio__segno { width: 30px; height: 30px; border-radius: 50%; flex: none;
  background: repeating-linear-gradient(135deg, var(--alt-rosso) 0 4px, #fff 4px 8px);
  box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(0, 0, 0, .08); }
.marchio__logo { display: block; height: 40px; width: auto; max-width: 180px; object-fit: contain; }
.marchio__logo + .marchio__testo { padding-left: .75rem; border-left: 1px solid currentColor; border-left-color: rgba(127, 127, 127, .35); }
.marchio__testo { display: flex; flex-direction: column; line-height: 1.05; }
.marchio__testo strong { font-size: 1rem; font-weight: 800; letter-spacing: -.01em; }
.marchio__testo span { font-size: .72rem; font-weight: 500; opacity: .7; letter-spacing: .02em; }
.app-navbar-chiara .marchio { color: var(--ci-testo); }
.app-navbar .marchio { color: #fff; }

.app-footer { border-top: 1px solid #e8e8ed; background: #fff; color: var(--ci-grigio); }
.app-footer a { color: var(--ci-grigio); }

/* Pulsanti a pillola come sul sito aziendale */
.btn { border-radius: 999px; font-weight: 500; padding-left: 1.1rem; padding-right: 1.1rem; }
.btn-sm { padding-left: .8rem; padding-right: .8rem; }
.btn-primary { --bs-btn-bg: var(--ci-blu); --bs-btn-border-color: var(--ci-blu);
  --bs-btn-hover-bg: var(--ci-blu-scuro); --bs-btn-hover-border-color: var(--ci-blu-scuro);
  --bs-btn-active-bg: var(--ci-blu-scuro); --bs-btn-active-border-color: var(--ci-blu-scuro);
  --bs-btn-disabled-bg: #6c7f99; --bs-btn-disabled-border-color: #6c7f99; }
.btn-outline-primary { --bs-btn-color: var(--ci-blu); --bs-btn-border-color: var(--ci-blu);
  --bs-btn-hover-bg: var(--ci-blu); --bs-btn-hover-border-color: var(--ci-blu);
  --bs-btn-active-bg: var(--ci-blu); }
.nav-pills { --bs-nav-pills-link-active-bg: var(--ci-blu); --bs-nav-pills-border-radius: 999px; }
.form-control, .form-select { border-radius: .6rem; }
.card { border-color: #e8e8ed; border-radius: 1rem; }
.text-body-secondary { color: var(--ci-grigio) !important; }

.hero { background: #fff; border-radius: 1rem; padding: 1.5rem; border-left: 5px solid var(--ci-blu); }
.stat .card-body { padding: .75rem 1rem; }
.stat-num { font-size: 1.6rem; font-weight: 700; line-height: 1.1; }
.stat-lbl { font-size: .78rem; color: var(--ci-grigio); }
progress.barra { height: .6rem; appearance: none; border: 0; border-radius: 1rem; overflow: hidden; background: #e9ecef; margin: .35rem 0; }
progress.barra::-webkit-progress-bar { background: #e9ecef; border-radius: 1rem; }
progress.barra::-webkit-progress-value { background: var(--ci-blu); border-radius: 1rem; }
progress.barra::-moz-progress-bar { background: var(--ci-blu); border-radius: 1rem; }
.campo-trappola { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.accompagnatore[hidden], [data-acc-consenso][hidden] { display: none !important; }
.tabella-iscritti td { vertical-align: top; }
.tabella-iscritti .badge { white-space: normal; text-align: left; }
.testo-legale h2 { margin-top: 1.25rem; }
.mt-n2 { margin-top: -.5rem; }
