/* Piccoli aggiustamenti sopra Bootstrap Italia: nessun tema custom. */

.messaggio-testo {
    white-space: pre-wrap;
}

/* Risposta dell'assistente resa da Markdown: titoli piu' contenuti delle h2/h3 di pagina. */
.messaggio-html h1,
.messaggio-html h2,
.messaggio-html h3,
.messaggio-html h4 {
    font-size: 1.05rem;
    font-weight: 700;
    margin-top: 1.25rem;
    margin-bottom: .5rem;
}

.messaggio-html p:last-child {
    margin-bottom: 0;
}

.messaggio-html blockquote {
    border-left: 4px solid #d9dadb;
    padding-left: .75rem;
    margin-left: 0;
    color: #5b6f82;
}

.messaggio-html table {
    margin-bottom: 1rem;
}

.json-blocco {
    max-height: 18rem;
    overflow: auto;
    background: #f5f5f5;
    padding: .5rem;
    white-space: pre-wrap;
    word-break: break-word;
}

/* Fonte interna certificata: si distingue dalle fonti esterne perche' e'
   l'unica verificabile in un clic, senza uscire dall'applicazione. */
.chip.chip-kb {
    border-left: 4px solid #00cc85;
}

/* Coordinata citata dal modello ma non restituita da alcun tool nel turno. */
.messaggio-html .citazione-non-verificata {
    background: #ffeaa7;
    padding: 0 .2rem;
}

/* Bootstrap Italia vuole il separatore scritto nel markup, Bootstrap ne aggiunge
   un altro con ::before: senza questo il percorso mostra due barre di fila. */
.breadcrumb-item + .breadcrumb-item::before {
    content: none;
}

/* Avvisi ricorrenti in forma compatta: restano visibili senza spingere sotto la
   piega il campo della domanda, che e' la ragione per cui si apre la pagina. */
.callout.callout-compatto {
    padding-top: .5rem;
    padding-bottom: .5rem;
    margin-bottom: .75rem;
}

.callout.callout-compatto .callout-inner {
    padding-top: 0;
    padding-bottom: 0;
}

/* Schede numeriche: Bootstrap Italia riserva spazio in basso per le azioni di
   una card, che qui non ci sono. Senza questo restano alte e mezze vuote. */
.scheda-numero .card-body {
    padding: 1rem 1.25rem;
}

.scheda-numero.card::after {
    display: none;
}

/* Suggerimenti di partenza: righe di testo, non bottoni che gridano. */
.suggerimento {
    white-space: normal;
    max-width: 100%;
}

/* Bootstrap Italia posiziona l'etichetta del campo in modo assoluto sopra il
   controllo: senza spazio sufficiente finisce sovrapposta al titolo che la
   precede. Vale nei moduli che abbiamo aggiunto, non nella chat. */
.modulo-esteso .form-group {
    margin-top: 2rem;
}

.modulo-esteso legend,
.modulo-esteso h3 {
    margin-bottom: 0;
}

/* Le card di Bootstrap Italia riservano spazio in basso per le azioni: negli
   articoli di un atto quello spazio resta vuoto e allunga la pagina inutilmente. */
.card.card-bg.articolo-atto .card-body {
    padding-bottom: 1rem;
}

.card.card-bg.articolo-atto::after {
    display: none;
}

/* Articolo raggiunto da una citazione: un segno discreto che si e' atterrati
   nel punto giusto. */
.articolo-raggiunto {
    box-shadow: 0 0 0 2px #0066cc;
}

/* Testo di un atto: i capoversi arrivano gia' ricomposti dal server, qui serve
   solo una lettura confortevole su colonna stretta. */
.testo-atto p {
    line-height: 1.6;
    text-align: justify;
}

.testo-atto p:last-child {
    margin-bottom: 0;
}

/* Elenco degli articoli nella colonna laterale: scorre da solo invece di
   allungare la pagina quando il regolamento ha novantasei articoli. */
.elenco-articoli {
    max-height: 45vh;
    overflow-y: auto;
}

/* ---------------------------------------------------------------------------
   Studio di caricamento.
   Interfaccia da postazione di lavoro, non da sito: due pannelli affiancati che
   scorrono in modo indipendente, e nessun elemento che sposti il fuoco mentre
   l'operatore lavora da tastiera.
   --------------------------------------------------------------------------- */

.studio-header {
    background: #17324d;
    color: #fff;
    padding: .6rem 0;
    overflow: visible;
}

/* L'intestazione dello Studio contiene un bottone: senza altezza sufficiente
   l'header lo taglia in alto. */
.studio-header .it-header-slim-wrapper-content {
    min-height: 3.25rem;
    align-items: center;
}

.studio-header .navbar-brand,
.studio-header a {
    color: #fff;
}

/* Bootstrap Italia disegna gli input come una riga sottolineata: per un campo di
   filtro isolato in mezzo alla pagina non si capisce che si puo' scrivere. */
#filtro-sorgenti,
.campo-firma {
    border: 1px solid #5a6772;
    border-radius: 4px;
    padding: .3rem .6rem;
    height: auto;
    background: #fff;
    min-width: 16rem;
}

.studio-revisione .pannello-sorgente,
.studio-revisione .pannello-albero {
    height: 60vh;
    overflow-y: auto;
    border: 1px solid #d9dadb;
    padding: .75rem;
    background: #fff;
}

.studio-revisione .pannello-sorgente {
    white-space: pre-wrap;
    font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
    font-size: .82rem;
    line-height: 1.5;
}

.studio-revisione .fuori {
    color: #8a8f94;
}

.studio-revisione .frammento.evidenziato {
    background: #d4f0e4;
}

.studio-revisione .nodo {
    border: 1px solid #d9dadb;
    border-left: 4px solid #00cc85;
    padding: .6rem .75rem;
    margin-bottom: .5rem;
    cursor: pointer;
}

.studio-revisione .nodo.segnalato {
    border-left-color: #e8a33d;
    background: #fff9ee;
}

.studio-revisione .nodo.confermato {
    border-left-color: #00cc85;
    background: #f2fbf7;
}

.studio-revisione .nodo.corrente {
    outline: 2px solid #0066cc;
    outline-offset: 1px;
}

.studio-revisione .semaforo {
    width: .7rem;
    height: .7rem;
    border-radius: 50%;
    background: #00cc85;
    flex: 0 0 auto;
    margin-top: .35rem;
}

.studio-revisione .nodo.segnalato .semaforo {
    background: #e8a33d;
}

.studio-revisione .nodo.segnalato.confermato .semaforo {
    background: #00cc85;
}

.studio-revisione .rilievi .bloccante {
    color: #d9364f;
}

.studio-revisione .rilievi .attenzione {
    color: #a86711;
}
