/* ******************************************************
 * Progetto:    Gestione Associazione
 * Autore:      Bartolomeo Santoro aka IZ0BEC
 * Email:       info@iz0bec.info
 * Descrizione: Personalizzazioni grafiche sopra Tabler
 * Licenza:     CC0 1.0 Universal (pubblico dominio)
 * SPDX-License-Identifier: CC0-1.0
 * ****************************************************** */

:root {
  --ga-colore-marchio: #1d4e89;
}

.marchio {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: .5rem;
  background: var(--ga-colore-marchio);
  color: #fff;
  font-size: 1.25rem;
}
.marchio-grande { width: 3.5rem; height: 3.5rem; font-size: 2rem; border-radius: .9rem; }

/* tema: mostra l'icona giusta nel pulsante */
[data-bs-theme="dark"] .icona-tema-scuro,
:root:not([data-bs-theme="dark"]) .icona-tema-chiaro { display: none; }

/* sezioni del modulo nascoste in base al tipo (persona/ente) */
.nascosto { display: none !important; }

fieldset + fieldset { margin-top: .5rem; }
fieldset legend.h3 { margin-bottom: .75rem; color: var(--tblr-secondary); }

.scelte .form-check-inline { margin-bottom: .25rem; }

/* indicatore di caricamento HTMX */
.htmx-request #tabella-soggetti, #tabella-soggetti.htmx-request { opacity: .55; transition: opacity .2s; }

@media print {
  .navbar, .page-header .btn-list, footer { display: none !important; }
}

/* testo dei messaggi ricevuti: solo testo, a capo conservati */
.testo-messaggio { white-space: pre-wrap; overflow-wrap: anywhere; font-size: .9rem; max-height: 60vh; overflow-y: auto; }

/* campo trappola anti-spam del modulo pubblico: fuori schermo, non display:none */
.campo-trappola { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.tabella-htmx.htmx-request, .htmx-request .tabella-htmx { opacity: .55; transition: opacity .2s; }

/* anteprima del QR nella scheda del bene */
.qr-anteprima svg { width: 160px; height: auto; display: block; }

/* foto di persone ed enti */
.avatar > img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.foto-scheda { width: 120px; height: 120px; object-fit: cover; border-radius: .5rem; }

/* logo dell'organizzazione */
.marchio-logo { width: 2rem; height: 2rem; object-fit: contain; }
.marchio-logo-grande { width: 4.5rem; height: 4.5rem; }
.anteprima-logo { max-width: 160px; max-height: 160px; object-fit: contain; }
.campione-colore { display: inline-block; width: 1.25rem; height: 1.25rem; border-radius: .25rem; background: var(--tblr-primary); vertical-align: middle; }
.letter-spacing { letter-spacing: .4em; }

/* richiesta di adesione firmata, consultabile nella scheda del socio */
.anteprima-pdf { width: 100%; height: 70vh; border: 0; border-top: 1px solid var(--tblr-border-color); display: block; }
.icona-grande { font-size: 3rem; }

/* barra di avanzamento (elemento nativo: nessuno stile inline, compatibile con la CSP) */
progress.avanzamento { width: 100%; height: .75rem; accent-color: var(--tblr-primary); }

/* help in linea: pagine del manuale operativo */
.aiuto h1 { display: none; } /* il titolo è già nell'intestazione della pagina */
.aiuto h2 { margin-top: 1.75rem; padding-bottom: .25rem; border-bottom: 1px solid var(--tblr-border-color); scroll-margin-top: 1rem; }
.aiuto h2:first-of-type { margin-top: 0; }
.aiuto h3 { margin-top: 1.25rem; scroll-margin-top: 1rem; }
.aiuto table { width: auto; max-width: 100%; display: block; overflow-x: auto; }
.aiuto pre { background: var(--tblr-bg-surface-secondary); padding: .75rem; border-radius: .25rem; overflow-x: auto; }
.aiuto code { font-size: .85em; }
.aiuto li + li { margin-top: .25rem; }
.novita summary { cursor: pointer; }
.novita .aiuto h4:first-child { margin-top: 0 !important; }

/* versione e crediti nella barra superiore */
.versione-app { white-space: nowrap; }

.calendario-giorno { min-width: 3.25rem; line-height: 1.15; }
.mese-griglia { table-layout: fixed; }
.mese-griglia td { height: 7.5rem; vertical-align: top; padding: .35rem; font-size: .8rem; }
.mese-griglia td.fuori-mese { background: var(--tblr-bg-surface-secondary); color: var(--tblr-secondary); }
.mese-griglia td.oggi { box-shadow: inset 0 0 0 2px var(--tblr-primary); }
.mese-numero { font-weight: 600; }
.mese-aggiungi { visibility: hidden; }
.mese-griglia td:hover .mese-aggiungi, .mese-aggiungi:focus { visibility: visible; }
.mese-voce { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.35; }
.mese-voce.fatto, .mese-voce.fatto a { color: var(--tblr-secondary); text-decoration: line-through; }
.mese-voce.scaduto, .mese-voce.scaduto a { color: var(--tblr-danger); }
.figura-manuale { margin: 1rem 0 1.5rem; }
.figura-manuale img { max-width: 100%; height: auto; border: 1px solid var(--tblr-border-color); border-radius: .25rem; box-shadow: 0 1px 3px rgba(0, 0, 0, .08); }
.figura-manuale figcaption { font-size: .85em; color: var(--tblr-secondary); margin-top: .35rem; font-style: italic; }
.verifica-dati { max-width: 22rem; }

/* codice fiscale assistito: pulsante «Calcola» subito sotto il campo */
.cf-assistito { margin-top: -0.5rem; }
.testo-messaggio-breve { max-height: 16rem; }

/* Menu laterale nascosto (pulsante nella barra superiore, solo schermi larghi) */
.menu-nascosto .icona-menu-nascondi,
:root:not(.menu-nascosto) .icona-menu-mostra { display: none; }
@media (min-width: 992px) {
  .menu-nascosto .navbar-vertical.navbar-expand-lg { display: none; }
  .menu-nascosto .navbar-expand-lg.navbar-vertical ~ .page-wrapper,
  .menu-nascosto .navbar-expand-lg.navbar-vertical ~ .navbar { margin-inline-start: 0; }
}
