/* dgCard - finestre modali (conferma / avviso) al posto di alert() e confirm() del browser (13/10/2026)
   Colori del gestionale: giallo #f9ae0b, rosso #e50043 (classe .red) per le azioni pericolose, fondo scuro, testo chiaro. */

.dgm-sfondo { position: fixed; inset: 0; z-index: 10000; background: rgba(0,0,0,.72); display: flex; align-items: center; justify-content: center; padding: 16px;
    opacity: 0; transition: opacity .15s ease; font-family: Open Sans, Arial, Helvetica, sans-serif; }
.dgm-sfondo.dgm-aperta { opacity: 1; }

.dgm-box { position: relative; width: 100%; max-width: 460px; background: #23292e; color: rgba(255,255,255,.88); border-radius: 10px;
    box-shadow: 0 15px 50px rgba(0,0,0,.6); border-top: 4px solid #f9ae0b; transform: scale(.96); transition: transform .15s ease; text-align: left; }
.dgm-sfondo.dgm-aperta .dgm-box { transform: scale(1); }
.dgm-pericolo .dgm-box { border-top-color: #e50043; }

.dgm-chiudi { position: absolute; top: 10px; right: 12px; width: 32px; height: 32px; border: 0; background: none; color: rgba(255,255,255,.5);
    font-size: 26px; line-height: 32px; cursor: pointer; padding: 0; }
.dgm-chiudi:hover { color: #ffffff; }

.dgm-titolo { margin: 0; padding: 22px 50px 0 24px; font-size: 20px; font-weight: bold; color: #f9ae0b; }
.dgm-pericolo .dgm-titolo { color: #e50043; }
.dgm-testo { padding: 12px 24px 4px; font-size: 16px; line-height: 1.55; }
.dgm-testo b { color: #ffffff; }
.dgm-testo ul { margin: 8px 0 0; padding-left: 20px; }

.dgm-azioni { display: flex; justify-content: flex-end; gap: 12px; flex-wrap: wrap; padding: 20px 24px 22px; }
/* Pulsanti: identici al pulsante giallo della scheda card ("Inserisci", .btn_salva in style.css), per tutte le modali.
   Principale (.bg_yell) giallo; secondario (Annulla) stessa forma, fondo grigio dei campi del gestionale. */
.dgm-azioni .gestisci { margin: 0; border: none; outline: none; -webkit-appearance: none; appearance: none; cursor: pointer; font-family: Open Sans, Arial, Helvetica, sans-serif;
    background: rgba(255,255,255,.2); color: #ffffff; border-radius: 5px; font-size: 20px; font-weight: bold; line-height: 40px; height: 40px; padding: 0 18px;
    text-transform: none; white-space: nowrap; transition: transform .1s ease; }
.dgm-azioni .gestisci.bg_yell { background: #f9ae0b; color: #2a313c; }
.dgm-azioni .gestisci:hover { transform: scale(1.04); }
.dgm-azioni .gestisci.bg_yell:hover { background: #f9ae0b; color: #2a313c; }
.dgm-azioni .gestisci:not(.bg_yell):hover { color: #ffffff; }
.dgm-azioni .gestisci:focus { outline: none; }

@media all and (max-width: 480px) {
    .dgm-titolo { font-size: 19px; }
}

/* Avviso di operazione riuscita (functions.php dg_toast): in alto a destra, compare e sparisce da solo, non blocca la pagina */
.dgt { position: fixed; top: 20px; right: 20px; z-index: 10001; max-width: 380px; background: #23292e; color: rgba(255,255,255,.88);
    border-left: 4px solid #f9ae0b; border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,.5); padding: 14px 20px; font-family: Open Sans, Arial, Helvetica, sans-serif;
    font-size: 16px; line-height: 1.45; pointer-events: none; animation: dgt-entra .3s ease-out, dgt-esce .6s ease-in 4s forwards; }
.dgt i { color: #09b208; margin-right: 6px; }
@keyframes dgt-entra { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }
@keyframes dgt-esce { to { opacity: 0; transform: translateY(-10px); visibility: hidden; } }
@media all and (max-width: 480px) { .dgt { left: 16px; right: 16px; max-width: none; } }

/* select2 dentro le finestre (es. Email avvisi in Abbonamenti): stesso aspetto degli altri campi */
.dgm-box .select2-container--default .select2-selection--single { height: 40px; background: rgba(255,255,255,.2); margin-bottom: 10px; }
.dgm-box .select2-container--default .select2-selection--single .select2-selection__rendered { text-transform: none; font-size: 20px; font-weight: bold; padding: 0 30px 0 15px; }
.dgm-box .select2-container { width: 100% !important; }
/* elenco aperto: sopra la finestra, altezza massima con scorrimento interno (non esce dallo schermo) */
.select2-container--open { z-index: 10002; }
.dg-s2-modale .select2-results > .select2-results__options { max-height: 220px; }
.dg-s2-modale .select2-results__option { font-size: 16px; text-transform: none; }

/* Finestra STATISTICHE di una card (gest/stat_card.php, 15/10/2026): numeri in alto come nella lista card (.cont_stat_ut),
   sotto tre colonne = riquadri della lista card (.box_utente) con barra nera del titolo; righe con filo grigio, numero nel riquadrino del menu (.dati_accesso) */
.dgm-stat .dgm-box { max-width: 1100px; max-height: calc(100vh - 32px); display: flex; flex-direction: column; }
.dgm-stat .dgm-testo { overflow-y: auto; padding-bottom: 22px; }
.dgm-stat .cont_stat_ut { margin: 4px 0 20px; }
.dgm-stat .cont_stat_ut div { text-align: center; }
.dgm-stat-colonne { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: start; }
.dgm-stat .box_utente { padding: 15px; }
.dgm-stat .box_utente:hover { transform: none; }
.dgm-stat-lista { max-height: 50vh; overflow-y: auto; margin-top: 6px; }
.dgm-stat-riga { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 0 8px 10px; border-bottom: 1px solid rgba(255,255,255,.15); font-size: 16px; line-height: 1.35; color: #ffffff; }
.dgm-stat-riga:last-child { border-bottom: none; }
.dgm-stat-riga .dati_accesso b { margin: 0; white-space: nowrap; }
.dgm-stat-grigio { color: rgba(255,255,255,.6); font-size: 14px; }
.dgm-stat-nota { margin: 15px 0 0; padding-left: 10px; font-size: 14px; font-style: italic; color: rgba(255,255,255,.6); }
@media all and (max-width: 800px) {
    .dgm-stat-colonne { grid-template-columns: minmax(0, 1fr); }
    .dgm-stat-lista { max-height: 40vh; }
}

/* Finestra VIDEO del sito di vendita (web/index.php "Guarda il video", passoV77): YouTube 16:9 a tutta larghezza della finestra */
.dgm-video .dgm-box { max-width: 960px; }
.dgm-video .dgm-testo { padding-bottom: 24px; }
.dgm-video-cornice { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #000; border-radius: 5px; overflow: hidden; }
.dgm-video-cornice iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media all and (max-width: 480px) {
    .dgm-video .dgm-testo { padding: 12px 12px 12px; }
    .dgm-video .dgm-titolo { padding-left: 12px; }
}
