/* HUB Master II: riusa il design ct25-piano-ultra / ct25-master-slim del tema. */
.ct25-hub-m2{width:100%;margin:24px auto 48px}
.ct25-hub-m2-card{margin-bottom:36px}
.ct25-hub-m2-card .ct25-wrap{max-width:1100px;margin-left:auto;margin-right:auto}
.ct25-hub-m2-card .ct25-ssd-cell{text-align:center;white-space:normal;min-width:120px}
.ct25-hub-m2-card .ct25-ssd-old{display:block;font-weight:800;line-height:1.3;color:#0b57d0}
.ct25-hub-m2-card .ct25-ssd-new{display:block;margin-top:5px;padding-top:5px;border-top:1px solid rgba(21,101,192,.18);color:#1565c0;font-size:11px;line-height:1.3;font-weight:800}
.ct25-hub-m2-card .ct25-ssd-new:before{content:"NUOVO SSD";display:block;margin-bottom:3px;font-size:9px;letter-spacing:.03em}
.ct25-hub-m2-scroll{overflow-x:auto;max-width:100%}
.ct25-hub-m2-card .ct25-table{width:100%}
.ct25-hub-m2-actions{text-align:center;padding:24px 12px 30px}
.ct25-hub-m2-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:linear-gradient(135deg,#e5181f,#b31217);color:#fff!important;text-decoration:none!important;font-weight:900;font-size:16px;padding:14px 25px;border-radius:15px;box-shadow:0 12px 25px rgba(229,24,31,.25);transition:transform .2s,box-shadow .2s}
.ct25-hub-m2-cta:hover{transform:translateY(-2px);color:#fff!important;box-shadow:0 16px 30px rgba(229,24,31,.32)}
.ct25-hub-m2-card .ct25-piano-empty{text-align:center;padding:24px}
@media(max-width:700px){.ct25-hub-m2-card .ct25-ssd-cell{min-width:95px}.ct25-hub-m2-cta{font-size:14px;padding:12px 16px}}

/* v0.6.8: confronto dei Master in colonne, senza alterare le schede individuali. */
.ct25-hub-m2{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:22px;
  width:100%;
}
.ct25-hub-m2 > .ct25-hub-m2-card{
  min-width:0;
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  display:flex;
}
.ct25-hub-m2 > .ct25-hub-m2-card > .ct25-wrap{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  display:flex;
}
.ct25-hub-m2 .ct25-box{
  width:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.ct25-hub-m2 .ct25-head{padding:22px 16px}
.ct25-hub-m2 .ct25-head h2{font-size:clamp(16px,1.45vw,20px);line-height:1.3;margin:10px 0}
.ct25-hub-m2 .ct25-subtitle{font-size:clamp(15px,1.25vw,18px);line-height:1.4;overflow-wrap:anywhere}
.ct25-hub-m2 .ct25-badge-premium{font-size:11px;padding:7px 12px}
.ct25-hub-m2 .ct25-price-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.ct25-hub-m2 .ct25-price{font-size:clamp(20px,2vw,27px)}
.ct25-hub-m2 .ct25-hub-m2-scroll{min-width:0;width:100%;overflow-x:auto}
.ct25-hub-m2 .ct25-table{width:100%;table-layout:fixed;font-size:12px}
.ct25-hub-m2 .ct25-table th,.ct25-hub-m2 .ct25-table td{padding:10px 7px;overflow-wrap:anywhere;vertical-align:middle}
.ct25-hub-m2 .ct25-table th:first-child,.ct25-hub-m2 .ct25-table td:first-child{width:48%}
.ct25-hub-m2 .ct25-table th:nth-child(2),.ct25-hub-m2 .ct25-table td:nth-child(2){width:38%}
.ct25-hub-m2 .ct25-table th:last-child,.ct25-hub-m2 .ct25-table td:last-child{width:14%;text-align:center}
.ct25-hub-m2 .ct25-ssd-cell{min-width:0}
.ct25-hub-m2 .ct25-ssd-old,.ct25-hub-m2 .ct25-ssd-new{white-space:normal;overflow-wrap:anywhere}
.ct25-hub-m2 .ct25-total{margin-top:auto}
.ct25-hub-m2 .ct25-hub-m2-actions{margin-top:auto;padding:18px 10px 22px}
.ct25-hub-m2 .ct25-hub-m2-cta{font-size:13px;padding:12px 14px;text-align:center;line-height:1.3}
@media(max-width:959px){.ct25-hub-m2{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:640px){.ct25-hub-m2{grid-template-columns:minmax(0,1fr);gap:22px}.ct25-hub-m2 .ct25-head h2{font-size:20px}.ct25-hub-m2 .ct25-table{font-size:13px}.ct25-hub-m2 .ct25-table th,.ct25-hub-m2 .ct25-table td{padding:12px 10px}}

/* Iscrizione diretta dall'HUB: popup dedicato, nessun rinvio alla scheda. */
.ct25-pa-unavailable{background:#75839b!important;box-shadow:none!important;cursor:not-allowed}
.ct25-pa-enroll-modal{position:fixed;inset:0;z-index:999999;background:rgba(2,21,55,.74);display:none;align-items:center;justify-content:center;padding:18px}
.ct25-pa-enroll-modal.is-open{display:flex}
.ct25-pa-enroll-dialog{width:min(520px,100%);max-height:calc(100vh - 36px);overflow-y:auto;border-radius:24px;background:#fff;box-shadow:0 30px 80px #0005;color:#08224b}
.ct25-pa-enroll-head{text-align:center;padding:24px 22px;background:linear-gradient(135deg,#062b71,#0b3cff);color:#fff}
.ct25-pa-enroll-head span{display:inline-block;color:#ffd400;font-weight:900;letter-spacing:.06em;text-transform:uppercase;font-size:12px}
.ct25-pa-enroll-head h2{color:#fff!important;font-size:clamp(21px,4vw,28px);line-height:1.2;margin:10px 0 0}
.ct25-pa-enroll-body{text-align:center;padding:25px 24px;color:#08224b}
.ct25-pa-enroll-body p{color:#08224b;line-height:1.5;margin:12px 0}
.ct25-pa-enroll-code{display:inline-block;background:#ffd400;color:#062b71;border-radius:12px;padding:10px 28px;font-size:30px;font-weight:900}
.ct25-pa-enroll-actions{display:grid;gap:10px;margin-top:20px}
.ct25-pa-enroll-actions button{width:100%;padding:14px;border-radius:13px;cursor:pointer;font-weight:900;border:0}
.ct25-pa-enroll-proceed{background:#e5181f;color:white}
.ct25-pa-enroll-close{background:#eaf0fc;color:#062b71}

/* Quote SSD: una riga per settore, senza testo descrittivo nei campi. */
.ct25-hub-m2 .ct25-hub-ssd-item{display:block;white-space:normal;overflow-wrap:normal;word-break:normal;line-height:1.35}
.ct25-hub-m2 .ct25-hub-ssd-item+.ct25-hub-ssd-item{margin-top:5px}
.ct25-hub-m2 .ct25-hub-ssd-quota{display:block;font-size:10px;font-weight:700;line-height:1.25;color:#62718b}
.ct25-hub-m2 .ct25-ssd-new:empty{display:none}
.ct25-hub-m2 .ct25-ssd-new:empty::before{display:none}

/* 0.6.27: ogni SSD e relativa quota CFU su una riga propria. */
.ct25-hub-m2 .ct25-ssd-cell .ct25-hub-ssd-item{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:2px;margin:0 auto 7px;line-height:1.25;max-width:100%;text-align:center}
.ct25-hub-m2 .ct25-ssd-cell .ct25-hub-ssd-item:last-child{margin-bottom:0}
.ct25-hub-m2 .ct25-ssd-cell .ct25-hub-ssd-code{display:block;white-space:normal;overflow-wrap:normal;word-break:normal;font-weight:900;font-size:inherit;line-height:1.3}
.ct25-hub-m2 .ct25-ssd-cell .ct25-hub-ssd-quota{display:block;white-space:normal;font-size:10px;line-height:1.3;color:#667085;font-weight:700}
.ct25-hub-m2 .ct25-ssd-cell .ct25-ssd-new{margin-top:8px;padding-top:7px}

/* 0.6.30: SSD blocks independent of theme CSS and legacy cached styles */
.ct25-hub-m2 .ct25-table td.ct25-ssd-cell .ct25-ssd-old,
.ct25-hub-m2 .ct25-table td.ct25-ssd-cell .ct25-ssd-new {display:block!important;text-align:center!important;white-space:normal!important;}
.ct25-hub-m2 .ct25-table td.ct25-ssd-cell .ct25-hub-ssd-item {display:block!important;width:100%!important;clear:both!important;margin:0 0 8px!important;text-align:center!important;white-space:normal!important;}
.ct25-hub-m2 .ct25-table td.ct25-ssd-cell .ct25-hub-ssd-code {display:block!important;width:100%!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;}
.ct25-hub-m2 .ct25-table td.ct25-ssd-cell .ct25-hub-ssd-quota {display:block!important;width:100%!important;white-space:normal!important;}
.ct25-hub-m2 .ct25-table td.ct25-ssd-cell {min-width:118px!important;}

/* 0.6.55 - Compact SSD mobile */
@media (max-width:700px){
 .ct25-hub-m2 .ct25-table td.ct25-ssd-cell .ct25-ssd-old,
 .ct25-hub-m2 .ct25-table td.ct25-ssd-cell .ct25-ssd-new{display:inline!important;width:auto!important;text-align:left!important;}
 .ct25-hub-m2 .ct25-ssd-cell .ct25-ssd-new{margin:0 0 0 8px!important;padding:0!important;border:0!important;}
 .ct25-hub-m2 .ct25-ssd-new:before{display:inline!important;margin:0 5px 0 0!important;}
 .ct25-hub-m2 .ct25-table td.ct25-ssd-cell .ct25-hub-ssd-item{display:inline!important;width:auto!important;clear:none!important;margin:0 5px 0 0!important;}
 .ct25-hub-m2 .ct25-table td.ct25-ssd-cell .ct25-hub-ssd-code,
 .ct25-hub-m2 .ct25-table td.ct25-ssd-cell .ct25-hub-ssd-quota{display:inline!important;width:auto!important;}
}
