/**
 * Progetto:    Kerno Framework
 * File:        dialog.css
 * Path:        public/css/dialog.css
 *
 * Descrizione: Stile della finestra di dialogo generica (public/js/dialog.js):
 * stesso aspetto della finestra "Informazioni sul programma" (about.css),
 * con intestazione verde, corpo, pulsante di chiusura e barra dei
 * pulsanti in fondo. Usa <dialog> nativa: overlay (::backdrop) e
 * centratura sono gia' gestiti dal browser.
 */

.kerno-dialog {
    /* fixed come per ogni finestra modale: con relative il riquadro non e' piu' centrato
     * nella finestra ma si posiziona rispetto all'inizio della pagina, e al focus la pagina
     * scorre in cima. Resta anche il riferimento per gli elementi posizionati al suo interno. */
    position: fixed;
    border: none;
    border-radius: var(--radius-large);
    padding: 0;
    max-width: 440px;
    width: calc(100% - 48px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3);
    overflow: hidden;
}

.kerno-dialog::backdrop {
    background: rgba(0, 0, 0, 0.5);
}

.kerno-dialog:focus {
    outline: none;
}

.kerno-dialog-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 16px 18px 28px;
    background: linear-gradient(to bottom, var(--color-primary-light), var(--color-primary-mid));
}

.kerno-dialog-header h2 {
    margin: 0;
    font-size: 22px;
    color: var(--color-on-primary);
}

.kerno-dialog-body {
    padding: 20px 28px 24px;
}

.kerno-dialog-body p {
    margin: 0;
    white-space: pre-line;
    font-size: 1.05em;
    /* Annulla il giustificato globale di p (site.css): in una riga
     * breve lascia spazi larghi tra le parole. */
    text-align: left;
    hyphens: manual;
}

.kerno-dialog-body p + p {
    margin-top: 12px;
}

.kerno-dialog-buttons {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
    padding: 0 28px 24px;
}

/* Pulsanti compatti (.form-btn: font 12px), con un riempimento piu' ampio
 * di quello base per renderli piu' comodi da premere. Font e altezza minima
 * sono ripetuti qui perche' form.css, dove .form-btn li definisce, si carica
 * solo nelle pagine con un modulo: senza, in una pagina come la home i
 * pulsanti della finestra uscivano a 16 px, piu' grandi che altrove. */
.kerno-dialog-buttons .form-btn {
    padding: 0.6em 1.2em 0.65em;
    font-size: 12px;
    min-height: 35px;
}

/* Nell'intestazione, centrato in verticale insieme al titolo; l'area di tocco
   e' di 40 px ma i margini negativi non fanno crescere la barra verde. */
.kerno-dialog-close {
    all: unset;
    flex: none;
    box-sizing: border-box;
    width: 40px;
    height: 40px;
    margin: -7px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    cursor: pointer;
    color: var(--color-on-primary);
    opacity: 0.85;
    transition: opacity 0.15s ease, background 0.15s ease;
}

.kerno-dialog-close:hover,
.kerno-dialog-close:focus-visible {
    opacity: 1;
    background: rgba(255, 255, 255, 0.2);
}
