/* Versione file: 0.4.0 — Stili frontend DVMA (compatibili con DIVI) */

/* ===== Layout cards / sezioni ===== */
.dvma-form { position:relative; }
.dvma-card{
  background:#fff; border:1px solid #e5e7eb; border-radius:14px; padding:16px; margin-bottom:16px;
  box-shadow:0 8px 20px rgba(0,0,0,.06);
}
.dvma-title{ margin:0 0 10px; font-size:20px; line-height:1.2; font-weight:700; }

/* Griglie responsive */
.dvma-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.dvma-grid-3{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; }
@media (max-width:980px){
  .dvma-grid-3{ grid-template-columns:1fr; }
  .dvma-grid-2{ grid-template-columns:1fr; }
}

/* ===== Campi (look & feel Divi) ===== */
.dvma-field { min-width:0; }
.dvma-field label{ display:block; margin-bottom:6px; font-weight:600; color:#1f2937; }

/* Input & Select coerenti con Divi (usa classi et_*) */
.dvma-field .et_pb_contact_form_input,
.dvma-field .et_pb_contact_select,
.dvma-field input[type="text"],
.dvma-field input[type="email"],
.dvma-field input[type="tel"],
.dvma-field input[type="number"],
.dvma-field select,
.dvma-field textarea{
  width:100%; box-sizing:border-box;
  background:#fff; border:1px solid #dfe3ea; border-radius:8px;
  padding:10px 12px; line-height:1.4; font-size:16px; color:#111827;
  transition:border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
  outline:none;
}

/* Focus style Divi-like */
.dvma-field .et_pb_contact_form_input:focus,
.dvma-field .et_pb_contact_select:focus,
.dvma-field input:focus,
.dvma-field select:focus,
.dvma-field textarea:focus{
  border-color:#3b82f6; /* blu Divi-ish */
  box-shadow:0 0 0 3px rgba(59,130,246,.15);
}

/* Placeholder */
.dvma-field input::placeholder,
.dvma-field textarea::placeholder{ color:#9ca3af; }

/* Select: freccia coerente, senza rompere Divi */
.dvma-field select,
.dvma-field .et_pb_contact_select{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, #6b7280 50%),
    linear-gradient(135deg, #6b7280 50%, transparent 50%),
    linear-gradient(to right, #dfe3ea, #dfe3ea);
  background-position:
    calc(100% - 18px) calc(50% - 3px),
    calc(100% - 12px) calc(50% - 3px),
    calc(100% - 40px) 50%;
  background-size:6px 6px, 6px 6px, 1px 1.8em;
  background-repeat:no-repeat;
  padding-right:44px;
}

/* Checkbox / switch stile semplice coerente */
.dvma-check{
  display:flex; align-items:center; gap:8px;
}
.dvma-check input[type="checkbox"]{
  width:18px; height:18px; border:1px solid #cfd6e0; border-radius:4px;
  appearance:none; background:#fff; position:relative; cursor:pointer;
  transition:border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.dvma-check input[type="checkbox"]:focus{
  box-shadow:0 0 0 3px rgba(59,130,246,.15);
  border-color:#3b82f6;
}
.dvma-check input[type="checkbox"]:checked{
  background:#3b82f6; border-color:#3b82f6;
}
.dvma-check input[type="checkbox"]:checked::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(45deg, transparent 45%, #fff 45% 55%, transparent 55%),
    linear-gradient(-45deg, transparent 35%, #fff 35% 55%, transparent 55%);
}

/* Azioni / bottoni coerenti con et_pb_button */
.dvma-actions{ display:flex; align-items:center; gap:12px; }
.dvma-msg{ min-height:1.4em; font-weight:600; color:#111827; }
.dvma-alert{
  display:inline-flex; align-items:center; gap:10px; border-radius:8px;
  padding:10px 12px; font-weight:600;
}
.dvma-alert--ok{ background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0; }
.dvma-alert--err{ background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }

/* Classe wrapper riga classe */
.dvma-class-item{ border:1px dashed #d8dfe8; border-radius:10px; padding:12px; margin:10px 0; background:#fafbff; }
.dvma-class-item .dvma-remove{ margin-top:8px; }

/* Totali e mini righe */
.dvma-totals{ display:flex; flex-wrap:wrap; gap:16px; margin-top:12px; font-weight:600; color:#111827; }
.dvma-totals span{ background:#f8fafc; border:1px solid #e5e7eb; padding:6px 10px; border-radius:8px; }
.dvma-minrow{ display:none; }

/* ===== Overlay ===== */
.dvma-overlay{
  position:absolute; inset:0; background:rgba(255,255,255,.75);
  display:flex; flex-direction:column; align-items:center; justify-content:center; z-index:10;
}
.dvma-spinner{
  width:26px; height:26px; border:3px solid #cfd6e0; border-top-color:#111; border-radius:50%;
  animation:dvmaSpin .8s linear infinite; margin-bottom:8px;
}
@keyframes dvmaSpin{ to { transform:rotate(360deg); } }
.dvma-overlay-text{ font-weight:600; color:#222; }

/* ===== Compatibilità pulsanti Divi ===== */
.dvma-row-actions .et_pb_button,
.dvma-actions .et_pb_button{
  border-radius:8px; padding:.6em 1.2em; font-weight:700;
}

/* ===== Fix piccoli ===== */
.dvma-ellipsis{ max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; display:inline-block; }
/* Versione file: 0.3.1 — Stili frontend DVMA (compatibili con DIVI) */
.dvma-form{position:relative}
.dvma-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;margin-bottom:16px;box-shadow:0 8px 20px rgba(0,0,0,.06)}
.dvma-title{margin:0 0 10px;font-size:20px}

.dvma-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dvma-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
@media (max-width:980px){.dvma-grid-3{grid-template-columns:1fr}.dvma-grid-2{grid-template-columns:1fr}}

.dvma-field label{display:block;margin-bottom:6px;font-weight:600}
.dvma-field .et_pb_contact_form_input,
.dvma-field .et_pb_contact_select{width:100%;box-sizing:border-box}

/* input piccolino per # classi */
.dvma-input--xs{max-width:140px}

/* Totale in evidenza */
.dvma-total-pill{display:inline-block;padding:.55rem .9rem;border-radius:10px;background:#f7f7fb;border:1px solid #e6e8f2;font-weight:700}

/* Badge minimo */
.dvma-badge{display:inline-block;padding:.25rem .5rem;border:1px solid #d7dbe6;border-radius:999px;background:#f1f4fb;font-size:.85em;color:#333}

/* Alert informativo stile Divi */
.dvma-alert{border-radius:12px;padding:12px 14px}
.dvma-alert--info{background:#eaf2ff;border:1px solid #bcd3ff;color:#123}
.dvma-msg{min-height:1.4em}

/* Classi dinamiche */
.dvma-class-item{border:1px dashed #d8dfe8;border-radius:10px;padding:12px;margin:10px 0}
.dvma-class-item .dvma-remove{margin-top:8px}

/* Overlay */
.dvma-overlay{position:absolute;inset:0;background:rgba(255,255,255,.75);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10}
.dvma-spinner{width:26px;height:26px;border:3px solid #cfd6e0;border-top-color:#111;border-radius:50%;animation:dvmaSpin .8s linear infinite;margin-bottom:8px}
@keyframes dvmaSpin{to{transform:rotate(360deg)}}
.dvma-overlay-text{font-weight:600;color:#222}

/* Versione file: 0.4.2 — Stili frontend DVMA (compatibili con DIVI) */

.dvma-form { position:relative; }
.dvma-card{
  background:#fff; border:1px solid #e5e7eb; border-radius:14px; padding:16px; margin-bottom:16px;
  box-shadow:0 8px 20px rgba(0,0,0,.06);
}
.dvma-title{ margin:0 0 10px; font-size:20px; }

.dvma-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.dvma-grid-3{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; }
@media (max-width:980px){ .dvma-grid-3{ grid-template-columns:1fr; } .dvma-grid-2{ grid-template-columns:1fr; } }

.dvma-field label{ display:block; margin-bottom:6px; font-weight:600; }
.dvma-field .et_pb_contact_form_input,
.dvma-field .et_pb_contact_select{
  width:100%; box-sizing:border-box;
}

/* input più stretto per "# classi" */
.dvma-input--xs{
  max-width: 140px;
}

/* Totali */
.dvma-totals{ display:flex; flex-direction:column; gap:6px; margin-top:4px; font-weight:600; }

/* Badge "Minimo" accanto all’etichetta */
.dvma-badge{
  display:inline-block; font-weight:700; font-size:12px; line-height:1;
  padding:6px 8px; border-radius:10px;
  background:#eef2ff; border:1px solid #c7d2fe; color:#1e3a8a;
}

/* Pillole importi */
.dvma-total-pill{
  display:inline-block; padding:8px 12px; border-radius:10px;
  background:#f3f4f6; border:1px solid #e5e7eb;
}
.dvma-total-pill--min{
  background:#fee2e2; border-color:#fecaca; color:#7f1d1d;
}

/* Alert/Disclaimer */
.dvma-alert{
  padding:12px 14px; border-radius:10px; border:1px solid transparent;
  font-weight:600;
}
.dvma-alert--info{
  background:#e0ecff; border-color:#c7daff; color:#0b3c8c;
}

.dvma-row-actions{ margin-top:8px; }
.dvma-actions{ display:flex; align-items:center; gap:12px; }
.dvma-msg{ min-height:1.4em; }

.dvma-class-item{ border:1px dashed #d8dfe8; border-radius:10px; padding:12px; margin:10px 0; }
.dvma-class-item .dvma-remove{ margin-top:8px; }

/* Overlay */
.dvma-overlay{
  position:absolute; inset:0; background:rgba(255,255,255,.75);
  display:flex; flex-direction:column; align-items:center; justify-content:center; z-index:10;
}
.dvma-spinner{
  width:26px; height:26px; border:3px solid #cfd6e0; border-top-color:#111; border-radius:50%;
  animation:dvmaSpin .8s linear infinite; margin-bottom:8px;
}
@keyframes dvmaSpin{ to { transform:rotate(360deg); } }
.dvma-overlay-text{ font-weight:600; color:#222; }

.dvma-hint {
  font-size: 12px;
  color: #e02424;
  margin-top: 4px;
}
/* === DVMA: allineamento verticale label→valore === */
.dvma-card .dvma-grid-3 .dvma-field > .et_pb_contact_form_input,
.dvma-card .dvma-grid-3 .dvma-field > .dvma-total-pill,
.dvma-card .dvma-grid-3 .dvma-field.dvma-totals > div {
  /* stesso margine top per input, pill rosse e contenitore del pill grigio */
  margin-top: 6px;
}

/* === Pill degli importi (stesse dimensioni) === */
#dvma-price-class,
.dvma-total-pill {
  display: inline-block;
  padding: 6px 10px;      /* più compatto */
  min-width: 84px;        /* pill più “stretta” */
  border-radius: 8px;
  text-align: center;
  line-height: 1;
  box-sizing: border-box;
}

/* Importo per classe: grigio */
#dvma-price-class{
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  color: #111;
}

/* Totale bonifico: rosso fisso (non cambia mai colore) */
.dvma-total-pill{
  background: #fde2e2 !important;
  border: 1px solid #f5c2c2 !important;
  color: #7a2222 !important;
}
.dvma-total-pill *{ color: inherit; }

/* Ignora eventuali classi “stato” aggiunte via JS */
.dvma-total-pill.is-ok,
.dvma-total-pill.over-min,
.dvma-total-pill.is-min,
.dvma-total-pill.is-max{
  background: #fde2e2 !important;
  border-color: #f5c2c2 !important;
  color: #7a2222 !important;
}

/* --- Allineamento label → valore (tutte le 3 colonne) --- */
.dvma-card .dvma-grid-3 .dvma-field > .et_pb_contact_form_input,
.dvma-card .dvma-grid-3 .dvma-field > .dvma-total-pill,
.dvma-card .dvma-grid-3 .dvma-field.dvma-totals > div { margin-top: 6px; }

/* --- Importo per classe: non deve avere contenitori rossi --- */
.dvma-field.dvma-totals > .dvma-total-pill{
  /* se per sbaglio c'è una .dvma-total-pill qui, annullala */
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

/* Pill grigio (valore dell'importo per classe) */
#dvma-price-class{
  display:inline-block;
  padding:12px 10px;
  min-width:84px;
  border-radius:8px;
  background:#f3f4f6;
  border:1px solid #e5e7eb;
  color:#111;
  text-align:center;
  line-height:1;
  box-sizing:border-box;
}

/* --- Totale bonifico: pill rosso fisso --- */
.dvma-total-pill{
  display:inline-block;
  padding:12px 10px;
  min-width:84px;
  border-radius:8px;
  background:#fde2e2 !important;
  border:1px solid #f5c2c2 !important;
  color:#7a2222 !important;
  text-align:left;
  line-height:1;
  box-sizing:border-box;
}
.dvma-total-pill *{ color:inherit; }
/* Ignora eventuali classi di stato aggiunte via JS */
.dvma-total-pill.is-ok,
.dvma-total-pill.over-min,
.dvma-total-pill.is-min,
.dvma-total-pill.is-max{
  background:#fde2e2 !important;
  border-color:#f5c2c2 !important;
  color:#7a2222 !important;
}
/* Allinea verticalmente: dopo ogni label, il controllo inizia 6px sotto */
.dvma-field > .et_pb_contact_form_input,
.dvma-field > .dvma-price-pill,
.dvma-field > .dvma-total-pill { margin-top: 6px; }

/* Evita extra-spazio del vecchio wrapper */
.dvma-totals { margin-top: 0 !important; gap: 0 !important; }

/* Pill grigia per "Importo per classe" (più stretta) */
.dvma-price-pill{
  display:inline-block;
  padding:12px 10px;
  min-width:84px;
  border-radius:8px;
  background:#f3f4f6;
  border:1px solid #e5e7eb;
  color:#111;
  text-align:center;
  line-height:1;
  box-sizing:border-box;
}

/* Pill rossa fissa per "Totale bonifico" (non cambia colore) */
.dvma-total-pill{
  display:inline-block;
  padding:12px 10px;
  min-width:84px;
  border-radius:8px;
  background:#fde2e2 !important;
  border:1px solid #f5c2c2 !important;
  color:#7a2222 !important;
  text-align:center;
  line-height:1;
  box-sizing:border-box;
}
.dvma-total-pill *{ color:inherit; }
.dvma-total-pill.is-ok,
.dvma-total-pill.over-min,
.dvma-total-pill.is-min,
.dvma-total-pill.is-max{
  background:#fde2e2 !important;
  border-color:#f5c2c2 !important;
  color:#7a2222 !important;
}
/* --- Allinea a sinistra la pill grigia "Importo per classe" --- */
.dvma-field .dvma-price-pill,
.dvma-field #dvma-price-class{
  display: inline-block;
  margin-left: 0;
  margin-right: auto;     /* forza l'ancoraggio a sinistra anche se il parent centra il testo */
}

/* se il tema centra il contenuto della colonna centrale, neutralizza solo lì */
.dvma-grid-3 .dvma-field:nth-child(2){
  text-align: left !important;
}

/* Colonna "Importo per classe" → allinea a sinistra */
.dvma-grid-3 .dvma-field:nth-child(2){
  text-align: left !important;      /* ignora eventuali centraggi del tema */
}

/* La pill del prezzo resta a sinistra (ma il testo resta centrato dentro) */
#dvma-price-class{
  display: inline-block;
  margin-left: 0;
  margin-right: auto;               /* spinge verso sinistra se il parent fosse centrato */
}
.dvma-grid-3 .dvma-field:nth-child(2) .dvma-total-pill{
  display: inline-block;
  margin-left: 0;
  margin-right: auto;
  background: transparent;
  border: 0;
  padding: 0;
}

/* bordo rosso per campi non validi */
.dvma-invalid{
  border-color:#e02424 !important;
  box-shadow:0 0 0 2px rgba(224,36,36,.08) !important;
}

/* Overlay: bordo per stato */
.dvma-overlay{
  /* …tuo stile esistente… */
  border: 2px solid transparent;  /* base */
  border-radius: 10px;
  padding: 20px;
}

/* Informazioni (blu) */
.dvma-overlay.is-info{ border-color: #1e3a8a; }   /* blu scuro */

/* Conferma (verde) */
.dvma-overlay.is-ok{ border-color: #065f46; }     /* verde scuro */

/* Spinner già presente: assicurati giri sempre */
.dvma-overlay .dvma-spinner{
  /* …tuo stile spinner… */
  animation: dvma-spin 1s linear infinite;
}
@keyframes dvma-spin { to { transform: rotate(360deg); } }

/* bordo di stato overlay, non tocca i campi input */
.dvma-overlay{ border:2px solid transparent; border-radius:10px; padding:20px; }
.dvma-overlay.is-info{ border-color:#1e3a8a; }  /* blu */
.dvma-overlay.is-ok  { border-color:#065f46; }  /* verde */
/* Overlay: assoluto, niente border reale, “bordo” simulato con box-shadow */
.dvma-form{ position: relative; } /* già lo forziamo anche via JS per sicurezza */
.dvma-overlay{
  position: absolute;
  inset: 0;                 /* top/right/bottom/left:0 */
  display: none;
  background: rgba(255,255,255,.6);
  backdrop-filter: saturate(120%) blur(2px);
  border: 0;                /* ← niente bordo reale */
  border-radius: 10px;
  box-shadow: 0 0 0 2px transparent inset; /* ← “bordo” iniziale trasparente */
  /* opzionale: fade-in più morbido, non influisce su .dvma-invalid */
  opacity: 1;
  transition: opacity .12s ease;
}

/* Stati bordo: blu informativo, verde conferma */
.dvma-overlay.is-info{ box-shadow: 0 0 0 2px #1e3a8a inset; }
.dvma-overlay.is-ok  { box-shadow: 0 0 0 2px #065f46 inset; }

/* Spinner: assicurati che resti visibile sopra al blur */
.dvma-overlay .dvma-spinner{
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%,-50%);
}

/* Accessibilità: niente animazioni pesanti per chi le riduce */
@media (prefers-reduced-motion: reduce){
  .dvma-overlay{ transition: none; }
}
.dvma-form:focus { outline: none; }
/* Scrim full-screen */
.dvma-overlay{
  position: fixed;           /* fullscreen, non dipende dal blocco Divi */
  inset: 0;
  display: none;
  z-index: 9999;
  background: rgba(17,24,39,.45);   /* scrim scuro */
  backdrop-filter: saturate(120%) blur(2px);
}

/* Pannello centrato e compatto */
.dvma-overlay__panel{
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%,-50%);
  width: min(92vw, 520px);
  background: #fff;
  border-radius: 12px;
  padding: 22px 20px 20px;
  box-shadow:
    0 20px 40px rgba(0,0,0,.18),
    0 0 0 2px transparent inset;   /* bordo “simulato” */
  text-align: center;
}

/* Stati bordo pannello: blu info, verde ok */
.dvma-overlay.is-info .dvma-overlay__panel { box-shadow: 0 20px 40px rgba(0,0,0,.18), 0 0 0 2px #1e3a8a inset; }
.dvma-overlay.is-ok   .dvma-overlay__panel { box-shadow: 0 20px 40px rgba(0,0,0,.18), 0 0 0 2px #065f46 inset; }

.dvma-overlay__title{
  font-weight: 600;
  margin: 0 0 8px;
}

.dvma-overlay-text{
  margin: 6px 0 0;
  font-size: 15px;
  line-height: 1.4;
  color: #111827;
}

/* Spinner rotondo */
.dvma-spinner{
  display: inline-block;
  width: 28px; height: 28px;
  border-radius: 50%;
  border: 3px solid #93c5fd;
  border-top-color: #1d4ed8;
  animation: dvma-spin .85s linear infinite;
  margin-bottom: 10px;
}
@keyframes dvma-spin { to { transform: rotate(360deg); } }

/* Lock scroll quando modale aperta */
html.dvma-lock, body.dvma-lock { overflow: hidden; }

/* Base: quadrato coerente coi centroidi 1200x1200 */
.dvma-map-ratio { aspect-ratio: 1 / 1; }
.dvma-map-canvas, .dvma-map-ratio { overflow: visible; }

/* Evita clippature del parent (es. in alcune row di Divi) */
.et_pb_row .dvma-map-wrap,
.et_pb_column .dvma-map-wrap { overflow: visible; }

/* === DVMA Frontend – v0.3.2 ================================================== */
/* Bottone azione nella card (es. Scarica bollettino) */
.dvma-card__actions {
  margin: 6px 0 14px; /* più staccato dal contenuto sottostante */
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

/* Bottone PDF blu con la stessa altezza/padding dei bottoni Divi */
a.dvma-btn--pdf.et_pb_button,
.dvma-btn--pdf.et_pb_button {
  background: #1f6fbf;
  border-color: #1f6fbf;
  color: #fff !important;
  padding: 0.75em 1.2em;     /* altezza coerente con gli altri */
  line-height: 1.1;
  border-radius: 8px;
}
a.dvma-btn--pdf.et_pb_button:hover,
.dvma-btn--pdf.et_pb_button:hover {
  background: #185a99;
  border-color: #185a99;
  color: #fff !important;
}

/* Box disclaimer blu pastello */
.dvma-note {
  border-radius: 8px;
  padding: 10px 12px;
  margin-top: 8px;
  font-size: 0.95rem;
}
.dvma-note--info {
  background: #eaf3ff;
  border: 1px solid #cde2ff;
  color: #0b4a8b;
}

/* Wrapper del file input custom */
.dvma-file-wrap {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

/* “Aggiungi classe” + contatore inline */
.dvma-row-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 8px;
}
.dvma-classes-counter {
  font-weight: 600;
  color: #0b4a8b;
}

/* === v0.3.3 — Disabled buttons + footer actions ============================ */

/* stile coerente per bottoni disabilitati */
.et_pb_button[disabled],
.et_pb_button.is-disabled,
.et_pb_promo_button[disabled] {
  background: #cfd4d9 !important;
  border-color: #cfd4d9 !important;
  color: #6b7280 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  opacity: 1 !important; /* niente trasparenza “sbiadita” di default */
  pointer-events: none;
}

/* barra azioni finale (fuori dai box) */
.dvma-actions--footer {
  margin-top: 18px;
  display: flex;
  align-items: center;
  gap: 12px;
}

/* v0.5.3 — File chooser Divi-like */
.dvma-file-input{
  position:absolute; left:-9999px; width:1px; height:1px; opacity:0; /* nasconde il nativo */
}
.dvma-file-wrap{ display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; }
.dvma-file-wrap .et_pb_button{ margin:0; }
.dvma-file-name{ font-size:.95rem; opacity:.8; }
.dvma-file-wrap.dvma-invalid .et_pb_button{ box-shadow:0 0 0 2px #dc2626 inset; }
.dvma-file-wrap + .dvma-hint{ margin-top:.35rem; }
/* v0.5.6 — assicurare etichette visibili nelle righe classe */
.dvma-class-item .dvma-field label{
  display:block;
  font-weight:600;
  margin:0 0 .35rem;
  color:#111827;
}


/* distanzia un filo le label dagli input */
.dvma-field > label { display:block; margin-bottom:6px; line-height:1.2; }

/* allinea verticalmente campi nelle righe classe */
.dvma-class-item .dvma-grid-3 {
  align-items: end;              /* allinea Sezione/Alunni al fondo */
  gap: 16px;                     /* un po' più spazio tra colonne */
}

/* uniforma altezza select/input in Divi */
.dvma-class-item select.et_pb_contact_select,
.dvma-class-item input.et_pb_contact_form_input { height: 44px; }

/* stato confermato: leggera desaturazione della riga */
.dvma-class-item.is-locked { opacity: .9; }

/* Centra i contatori nel riepilogo */
#dvma-summary .dvma-field {
    text-align: center;
}

#dvma-summary .dvma-field label {
    display: block;
    text-align: center;
    margin-bottom: 5px;
}

#dvma-summary .dvma-field div {
    text-align: center;
}

/* Centra il contatore classi nelle azioni */
.dvma-classes-counter {
    text-align: center;
    font-weight: bold;
}

/* Assicurati che il riepilogo sia centrato */
#dvma-summary {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    margin: 20px;
}

#dvma-summary .dvma-field {
    flex: 1;
    min-width: 150px;
    text-align: center;
}        

.dvma-closed-card-actions {
            margin-top: 20px;
}