:root{
  --card:#ffffff;
  --text:#1f2933;
  --muted:#6b7785;
  --line:rgba(31,41,51,.12);
  --grad:linear-gradient(135deg,#3681b6 0%,#417295 100%);
  --okbg:#eaf7ea;
  --okbd:rgba(92,184,92,.35);
  --oktx:#2e7d32;
}

/* ===== CARD ===== */
.m-cert2-card{
  background:var(--card) !important;
  border-radius:12px !important;
  overflow:hidden !important;
  box-shadow:0 12px 30px rgba(0,0,0,.10), 0 4px 12px rgba(0,0,0,.07) !important;
}

/* ===== HEADER ===== */
.m-cert2-header,
.m-cert2-header > div > div{
  background:var(--grad) !important;
}

.m-cert2-body{
  padding: 15px 15px 0px 15px;
}

.m-cert2-title{
  color:#fff !important;
  font-weight:800 !important;
  font-size:16px !important;
  letter-spacing:.4px !important;
  text-transform:uppercase !important;
  line-height:1.2 !important;
  margin:0 !important;
}

.m-cert2-subtitle{
  color:rgba(255,255,255,.85) !important;   
  margin:4px 0 0 0 !important;
}

/* ===== TEXT ===== */
.m-cert2-name{
  color:var(--text) !important;
  font-weight:800 !important;
  font-size:24px !important;
  line-height:1.1 !important;
  margin:0 !important;
}

.m-cert2-cf{
  color:var(--muted) !important;  
  margin:6px 0 0 0 !important;
  font-weight: 500;
}

.m-cert2-k{
  color:var(--text) !important;
  font-weight:800 !important;
  font-size:11px !important;
  text-transform:uppercase !important;
  letter-spacing:.2px !important;
  margin:0 !important;
}

.m-cert2-v{
  color:var(--muted) !important;
  font-weight:600 !important;
  font-size:14px !important;
  line-height:1.4 !important;
  margin:2px 0 0 0 !important;
}

 

/* ===== DIVIDER ===== */
.m-cert2-divider{
  background:var(--line) !important;
  height:1px !important;
  min-height:1px !important;
  max-height:1px !important;
}

/* =========================================================
   GRID DATI (2 colonne) - robusto su Ext/UniGUI
   ========================================================= */

/* il vero contenitore dei figli in Ext è sempre un .x-body-el */
.m-cert2-grid .x-body-el{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  column-gap:24px !important;
  row-gap:16px !important;
  align-items:start !important;
}

/* se Ext impone vbox/box, lo schiacciamo comunque */
.m-cert2-grid .x-body-el.x-layout-vbox,
.m-cert2-grid .x-body-el.x-layout-box{
  display:grid !important;
}

/* neutralizza width inline (es: width:375px) */
.m-cert2-grid .m-cert2-field{
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

/* full width */
.m-cert2-grid .m-cert2-field.full{
  grid-column:1 / -1 !important;
}

/* mobile: 1 colonna */
@media (max-width:480px){
  .m-cert2-grid .x-body-el{
    grid-template-columns:1fr !important;
    column-gap:0 !important;
  }
  .m-cert2-grid .m-cert2-field.full{
    grid-column:auto !important;
  }
}

/* =========================================================
   ISCRIZIONE
   ========================================================= */
.m-cert2-section{
  color:var(--text) !important;
  font-weight:800 !important;   
  margin:0 !important;
}

.m-cert2-numberbig{
  color:var(--text) !important;
  font-weight:900 !important;   
  letter-spacing:.3px !important;
  line-height:1 !important;
  margin:0 !important;
}

.m-cert2-k2{
  color:var(--text) !important;
  font-weight:600 !important; 
  text-transform:uppercase !important;
  margin:4px 0 0 0 !important;
}

/* riga iscrizione: sx info + dx pill */
.m-cert2-iscr-row .x-body-el{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
}

.m-cert2-iscr-row .x-body-el.x-layout-vbox,
.m-cert2-iscr-row .x-body-el.x-layout-box{
  display:flex !important;
}

.m-cert2-iscr-left{
  width:auto !important;
  flex:1 1 auto !important;
  min-width:0 !important;
}

/* pill */
.m-cert2-pill{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  padding:7px 14px !important;
  border-radius:999px !important;   
  font-weight:800 !important;
  white-space:nowrap !important;
  line-height:1 !important;
  background:var(--okbg) !important;
  border:1px solid var(--okbd) !important;
  color:var(--oktx) !important;
}

.m-cert2-pill::before{
  content:'✓' !important;
  font-weight:900 !important;
}

/* footer (no button styling) */
.m-cert2-footer{
  background:transparent !important;
}

.m-disclaimer-label{
  background-color: #fff8db;        /* giallo chiaro */
  border: 1px solid #f1e3a3;
  color: #5c4b00;

  padding: 8px 12px!important;
  border-radius: 6px;

  font-size: 19px!important;
  line-height: 1.4;

  display: block;
}

