/* ==========================================================
   CT25 HOME — HERO MASTER
   ========================================================== */
      .ct25-heroNeo,
      .ct25-heroNeo *{
        box-sizing:border-box;
      }

      .ct25-heroNeo{
        font-family:Arial, Helvetica, sans-serif;
        padding:20px 0;
        background:transparent !important;
        color:#0b1630;
      }

      .ct25-heroNeo .wrap{
        max-width:1180px;
        margin:0 auto;
        padding:0 14px;
      }

      .ct25-heroNeo .shell{
        position:relative;
        border-radius:26px;
        overflow:hidden;
        background:linear-gradient(180deg,#ffffff 0%, #f3f7ff 100%);
        border:1px solid rgba(11,22,48,.10);
        box-shadow:0 20px 48px rgba(0,0,0,.16);
      }

      .ct25-heroNeo .inner{
        position:relative;
        z-index:2;
        padding:26px 22px;
      }

      .ct25-heroNeo .hero-header{
        text-align:center;
        margin:0 0 16px;
      }

      .ct25-heroNeo .hero-title{
        display:flex;
        align-items:center;
        justify-content:center;
        gap:10px;
        padding:12px 16px;
        margin:0;
        border-radius:14px;
        font-weight:900;
        font-size:22px;
        line-height:1.25;
        letter-spacing:.3px;
        background:linear-gradient(90deg,#ffcc00,#ffe88a);
        color:#111;
        border:2px solid rgba(0,0,0,.08);
        box-shadow:0 6px 16px rgba(0,0,0,.10);
      }

      .ct25-heroNeo .hero-title .dot{
        width:12px;
        height:12px;
        border-radius:999px;
        background:#111;
        opacity:.22;
        flex:0 0 12px;
      }

      .ct25-heroNeo .grid{
        display:grid;
        grid-template-columns:1.35fr .75fr;
        gap:20px;
        align-items:stretch;
      }

      .ct25-heroNeo .sub{
        margin:0 auto 10px;
        max-width:820px;
        text-align:center;
        font-size:15.5px;
        line-height:1.55;
        color:#0b1630;
        padding:14px 20px 14px 24px;
        border-radius:16px;
        background:#ffffff;
        border:1px solid rgba(0,51,153,.16);
        box-shadow:0 10px 24px rgba(2,18,52,.08), 0 2px 8px rgba(0,0,0,.05);
        position:relative;
        overflow:hidden;
      }

      .ct25-heroNeo .sub:before{
        content:"";
        position:absolute;
        left:0;
        top:6px;
        bottom:6px;
        width:4px;
        border-radius:4px;
        background:linear-gradient(180deg,#003399,#0b3cff);
      }

      .ct25-heroNeo .promo-pill-wrap{
        text-align:center;
        margin:8px 0 12px;
      }

      .ct25-heroNeo .promo-pill{
        display:inline-flex;
        align-items:center;
        gap:6px;
        padding:6px 12px;
        border-radius:999px;
        background:rgba(255,204,0,.16);
        border:1px solid rgba(0,0,0,.12);
        color:#111;
        font-weight:900;
        font-size:13.5px;
        box-shadow:0 4px 10px rgba(0,0,0,.06);
      }

      .ct25-heroNeo .bullets{
        display:grid;
        gap:12px;
        margin:14px 0 18px;
      }

      .ct25-heroNeo .bullet{
        display:flex;
        gap:10px;
        padding:12px;
        border-radius:16px;
        background:linear-gradient(180deg,#eaf4ff 0%, #dff0ff 100%);
        border:1px solid rgba(42,167,255,.35);
        box-shadow:0 8px 18px rgba(0,0,0,.08);
      }

      .ct25-heroNeo .ico{
        width:34px;
        height:34px;
        border-radius:12px;
        display:flex;
        align-items:center;
        justify-content:center;
        background:linear-gradient(180deg,#0b57d0,#0a2a66);
        color:#fff;
        font-size:16px;
        line-height:1;
        flex:0 0 34px;
      }

      .ct25-heroNeo .txt{
        font-weight:900;
        font-size:14px;
        color:#0a2a66;
      }

      .ct25-heroNeo .txt small{
        display:block;
        margin-top:3px;
        font-size:12.6px;
        font-weight:800;
        color:rgba(11,22,48,.78);
      }

      .ct25-heroNeo .cta{
        margin-top:14px;
        text-align:center;
      }

      .ct25-heroNeo .btn{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:8px;
        border-radius:999px;
        font-weight:900;
        text-decoration:none;
        padding:14px 16px;
        transition:.15s;
        border:1px solid rgba(11,22,48,.12);
        box-shadow:0 12px 24px rgba(0,0,0,.10);
        color:#fff;
      }

      .ct25-heroNeo .btn:hover{
        transform:translateY(-2px);
      }

      .ct25-heroNeo .btn.primary{
        width:100%;
        max-width:540px;
        background:linear-gradient(180deg,#0b57d0,#0a2a66);
        border-color:rgba(255,255,255,.12);
      }

      .ct25-heroNeo .cta-row{
        display:flex;
        gap:10px;
        justify-content:center;
        flex-wrap:wrap;
        margin-top:10px;
      }

      .ct25-heroNeo .btn.sm{
        font-size:12.5px;
        padding:11px 14px;
        min-width:150px;
      }

      .ct25-heroNeo .btn.clil{
        background:linear-gradient(90deg,#ffcc00,#ffe88a);
        color:#111;
        border-color:rgba(0,0,0,.10);
      }

      .ct25-heroNeo .btn.art13{
        background:linear-gradient(180deg,#2aa7ff 0%, #0b57d0 55%, #0a2a66 100%);
        color:#ffffff;
        border-color:rgba(255,255,255,.16);
      }

      .ct25-heroNeo .date-panel{
        margin-top:18px;
        border-radius:18px;
        overflow:hidden;
        background:linear-gradient(135deg,#0b57d0 0%, #0a43ad 55%, #08398e 100%);
        border:1px solid rgba(255,255,255,.12);
        box-shadow:0 14px 28px rgba(0,0,0,.14);
      }

      .ct25-heroNeo .date-grid{
        display:grid;
        grid-template-columns:1fr 1fr;
      }

      .ct25-heroNeo .date-card{
        padding:14px 14px 12px;
        position:relative;
      }

      .ct25-heroNeo .date-card + .date-card{
        border-left:1px solid rgba(255,255,255,.14);
      }

      .ct25-heroNeo .date-label{
        width:160px;
        max-width:100%;
        margin:0 auto 10px;
        padding:10px 10px;
        text-align:center;
        font-size:12px;
        line-height:1.05;
        font-weight:900;
        text-transform:uppercase;
      }

      .ct25-heroNeo .date-label.light{
        background:#eef1f6;
        color:#17315f;
      }

      .ct25-heroNeo .date-label.accent{
        background:#ff2f14;
        color:#fff;
      }

      .ct25-heroNeo .date-divider{
        display:flex;
        align-items:center;
        justify-content:center;
        gap:10px;
        margin:2px 0 10px;
        color:#fff;
      }

      .ct25-heroNeo .date-line{
        width:72px;
        height:1.5px;
        background:rgba(255,255,255,.52);
        display:block;
      }

      .ct25-heroNeo .date-icon{
        width:30px;
        height:30px;
        display:flex;
        align-items:center;
        justify-content:center;
        color:#fff;
        flex:0 0 30px;
      }

      .ct25-heroNeo .date-icon svg{
        width:24px;
        height:24px;
        display:block;
      }

      .ct25-heroNeo .date-value{
        text-align:center;
        color:#fff;
        font-size:20px;
        line-height:1.1;
        font-weight:900;
        letter-spacing:-.02em;
      }

      .ct25-heroNeo .date-badge{
        text-align:center;
        padding:10px 12px 14px;
      }

      .ct25-heroNeo .date-badge span{
        display:inline-block;
        padding:9px 16px;
        border-radius:999px;
        background:linear-gradient(90deg,#ffcc00,#ffd74e);
        color:#111;
        font-size:12px;
        line-height:1;
        font-weight:900;
        letter-spacing:.04em;
      }

      .ct25-heroNeo .right-col{
        display:flex;
        flex-direction:column;
        gap:12px;
        align-items:stretch;
        height:100%;
      }

      .ct25-heroNeo .card{
        width:100%;
        border-radius:18px;
        overflow:hidden;
        background:linear-gradient(135deg,#0b3cff 0%, #0040b3 55%, #001f66 100%);
        color:#ffffff;
        box-shadow:0 18px 36px rgba(0,0,0,.18);
        border:1px solid rgba(255,255,255,.14);
      }

      .ct25-heroNeo .card .head{
        padding:12px;
        text-align:center;
        font-weight:900;
        background:rgba(0,0,0,.15);
        letter-spacing:.4px;
      }

      .ct25-heroNeo .card .body{
        padding:14px;
        text-align:center;
      }

      .ct25-heroNeo .code-label{
        font-weight:900;
        font-size:13px;
        color:rgba(255,255,255,.92);
        margin-bottom:10px;
      }

      .ct25-heroNeo .codewrap{
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        text-align:center;
      }

      .ct25-heroNeo .ct25-main{
        margin-bottom:10px;
        padding:14px;
        border-radius:14px;
        background:linear-gradient(180deg,#0b57d0,#0a2a66);
        border:2px solid #ffd400;
      }

      .ct25-heroNeo .ct25-main .code{
        font-size:26px;
        letter-spacing:.8px;
      }

      .ct25-heroNeo .codes-secondary{
        display:flex;
        gap:8px;
        margin-top:6px;
      }

      .ct25-heroNeo .codes-secondary .codewrap{
        flex:1;
        padding:10px 8px;
        border-radius:12px;
        min-height:104px;
      }

      .ct25-heroNeo .ct25-tfa{
        background:linear-gradient(180deg, rgba(17,90,210,.48) 0%, rgba(9,42,110,.70) 100%);
        border:1px solid rgba(255,186,0,.60);
      }

      .ct25-heroNeo .ct25-unitelma{
        background:linear-gradient(180deg, rgba(7,47,140,.52) 0%, rgba(4,23,61,.78) 100%);
        border:1px solid rgba(255,160,0,.72);
      }

      .ct25-heroNeo .codelabel{
        display:block;
        font-size:10px;
        font-weight:900;
        letter-spacing:.7px;
        margin-bottom:4px;
        text-transform:uppercase;
        color:rgba(255,255,255,.92);
      }

      .ct25-heroNeo .code{
        font-size:20px;
        font-weight:900;
        color:#ffd400;
        letter-spacing:.6px;
        line-height:1.05;
      }

      .ct25-heroNeo .codesub{
        margin-top:5px;
        font-size:11px;
        font-weight:900;
        color:rgba(255,255,255,.90);
        line-height:1.25;
      }

      .ct25-heroNeo .warning{
        margin-top:12px;
        padding:10px 12px;
        border-radius:14px;
        background:rgba(0,0,0,.25);
        border:1px solid rgba(255,204,0,.35);
        color:#ffffff;
        font-weight:900;
        font-size:12.6px;
        text-align:center;
        line-height:1.35;
      }

      .ct25-heroNeo .warning .attn,
      .ct25-heroNeo .warning .hot{
        color:#ffd400;
        font-weight:900;
        text-decoration:underline;
      }

      .ct25-heroNeo .right-actions{
        margin-top:12px;
        display:grid;
        gap:10px;
      }

      .ct25-heroNeo .wa-group a,
      .ct25-heroNeo .wa-support a{
        display:block;
        text-align:center;
        padding:13px;
        border-radius:999px;
        color:#fff;
        text-decoration:none;
        font-weight:900;
      }

      .ct25-heroNeo .wa-group a{
        background:linear-gradient(180deg,#0b57d0,#0a2a66);
        border:1px solid rgba(255,255,255,.14);
      }

      .ct25-heroNeo .wa-support a{
        background:linear-gradient(180deg,#25d366,#1ebe5d);
      }

      .ct25-heroNeo .mm-newsbar{
        width:100%;
        margin:0;
      }

      .ct25-heroNeo .mm-newsbar__box{
        width:100%;
        display:flex;
        align-items:center;
        gap:12px;
        padding:12px 16px;
        border-radius:18px;
        background:linear-gradient(135deg, rgba(11,87,208,.08) 0%, rgba(10,42,102,.04) 100%);
        border:1px solid rgba(11,87,208,.14);
        overflow:hidden;
      }

      .ct25-heroNeo .mm-newsbar__label{
        flex:0 0 auto;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-height:30px;
        padding:6px 12px;
        border-radius:999px;
        background:linear-gradient(135deg,#ff3b30 0%, #d10000 100%);
        color:#fff;
        font-size:10px;
        font-weight:900;
        letter-spacing:.08em;
        text-transform:uppercase;
        white-space:nowrap;
      }

      .ct25-heroNeo .mm-newsbar__track{
        position:relative;
        flex:1 1 auto;
        min-width:0;
        height:22px;
        overflow:hidden;
      }

      .ct25-heroNeo .mm-newsbar__item{
        position:absolute;
        inset:0;
        opacity:0;
        transform:translateY(14px);
        transition:opacity .45s ease, transform .45s ease;
        font-size:14px;
        line-height:22px;
        font-weight:700;
        color:#0a2a66;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
      }

      .ct25-heroNeo .mm-newsbar__item.is-active{
        opacity:1;
        transform:translateY(0);
      }

      @media (max-width: 980px){
        .ct25-heroNeo .grid{
          grid-template-columns:1fr;
        }
      }

      @media (max-width: 768px){
        .ct25-heroNeo{
          padding:12px 0;
        }

        .ct25-heroNeo .inner{
          padding:16px 12px;
        }

        .ct25-heroNeo .hero-title{
          font-size:13px;
          padding:9px 10px;
          gap:8px;
          text-align:center;
        }

        .ct25-heroNeo .hero-title .dot{
          display:none;
        }

        .ct25-heroNeo .sub{
          font-size:13.8px;
          text-align:center;
          margin:0 auto 8px;
          padding:11px 12px 11px 16px;
          border-radius:14px;
        }

        .ct25-heroNeo .promo-pill-wrap{
          margin:6px 0 8px;
        }

        .ct25-heroNeo .promo-pill{
          font-size:12.4px;
          padding:5px 10px;
        }

        .ct25-heroNeo .bullet{
          padding:9px 10px;
          gap:8px;
          border-radius:14px;
        }

        .ct25-heroNeo .ico{
          width:28px;
          height:28px;
          border-radius:10px;
          font-size:14px;
          flex:0 0 28px;
        }

        .ct25-heroNeo .txt{
          font-size:13px;
          line-height:1.35;
          text-align:left;
        }

        .ct25-heroNeo .txt small{
          font-size:11.5px;
          margin-top:2px;
        }

        .ct25-heroNeo .cta-row{
          gap:8px;
        }

        .ct25-heroNeo .btn.sm{
          font-size:10.8px;
          padding:8px 10px;
          min-width:132px;
          white-space:nowrap;
        }

        .ct25-heroNeo .right-col{
          display:none;
        }

        .ct25-heroNeo .date-panel{
          margin-top:14px;
        }

        .ct25-heroNeo .date-grid{
          grid-template-columns:1fr;
        }

        .ct25-heroNeo .date-card{
          padding:12px 10px 10px;
        }

        .ct25-heroNeo .date-card + .date-card{
          border-left:0;
          border-top:1px solid rgba(255,255,255,.14);
        }

        .ct25-heroNeo .date-label{
          width:140px;
          font-size:11.5px;
          padding:9px 8px;
          margin-bottom:8px;
        }

        .ct25-heroNeo .date-line{
          width:58px;
        }

        .ct25-heroNeo .date-value{
          font-size:17px;
        }

        .ct25-heroNeo .date-badge span{
          font-size:11px;
          padding:8px 13px;
        }
      }


/* ==========================================================
   SEZIONE 30 CFU HOME  ========================================================== */

  .ct25-cdcPart, .ct25-cdcPart *{ box-sizing:border-box; }

  .ct25-cdcPart{
    --ct25-cta:#ffd400;
    --ct25-blue:#0b58d6;
    --ct25-blue-dark:#08224b;
    --ct25-surface:#f6f9ff;
    --ct25-line:#dbe7ff;
    font-family:Arial,Helvetica,sans-serif;
    color:#08224b;
  }

  .ct25-cdc-wrap{
    max-width:1160px;
    margin:0 auto;
    padding:0 14px;
  }

  .ct25-section{
    padding:22px 0;
    background:#ffffff;
  }

  .ct25-anchor{ scroll-margin-top:110px; }

  .ct25-h2{
    margin:0 0 8px;
    font-size:20px;
    font-weight:900;
    letter-spacing:-.02em;
    color:#08224b;
    text-align:center;
  }

  .ct25-count{
    display:inline-block;
    margin-left:8px;
    padding:4px 10px;
    border-radius:999px;
    background:var(--ct25-cta);
    color:#08224b;
    font-weight:900;
    font-size:13px;
    line-height:1;
    vertical-align:middle;
  }

  .ct25-note{
    margin:0 auto 12px;
    max-width:860px;
    text-align:center;
    color:#35507c;
    font-size:13px;
    line-height:1.5;
  }

  .ct25-cdc-help{
    text-align:center;
    margin:0 auto 14px;
  }

  .ct25-cdc-help a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:11px 16px;
    border-radius:999px;
    background:linear-gradient(180deg,#25d366,#1ebe5d);
    color:#fff;
    text-decoration:none;
    font-weight:900;
    font-size:14px;
    box-shadow:0 10px 22px rgba(37,211,102,.16);
    transition:transform .18s ease, box-shadow .18s ease;
  }

  .ct25-cdc-help a:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(37,211,102,.22);
  }

  .ct25-cdc-box{
    max-width:980px;
    margin:0 auto;
    background:#ffffff;
    border-radius:16px;
    border:1px solid #e3ecff;
    box-shadow:0 10px 28px rgba(8,34,75,.08);
    overflow:hidden;
  }

  .ct25-cdc-head{
    background:linear-gradient(180deg,#ffe27a 0%, #ffd400 100%);
    padding:11px 14px;
    text-align:center;
    font-weight:900;
    color:#08224b;
    letter-spacing:.02em;
    font-size:13px;
  }

  .ct25-cdc-body{
    padding:14px;
  }

  .ct25-cdc-grid{
    display:grid;
    grid-template-columns:repeat(10,minmax(0,1fr));
    gap:8px;
  }

  .ct25-pill{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:7px 6px;
    border-radius:999px;
    background:var(--ct25-surface);
    border:1px solid var(--ct25-line);
    color:#08224b;
    font-weight:900;
    font-size:12px;
    line-height:1;
    white-space:nowrap;
    text-decoration:none;
    transition:all .16s ease;
  }

  .ct25-pill:hover{
    background:var(--ct25-blue);
    border-color:var(--ct25-blue);
    color:#ffffff;
    transform:translateY(-1px);
    box-shadow:0 6px 16px rgba(11,88,214,.18);
  }

  .ct25-pill:focus{
    background:var(--ct25-blue);
    color:#ffffff;
    outline:2px solid var(--ct25-blue-dark);
    outline-offset:2px;
  }

  @media(max-width:1100px){
    .ct25-cdc-grid{ grid-template-columns:repeat(8,minmax(0,1fr)); }
  }

  @media(max-width:820px){
    .ct25-h2{ font-size:18px; }

    .ct25-cdc-grid{ grid-template-columns:repeat(6,minmax(0,1fr)); }

    .ct25-cdc-help a{
      width:100%;
      max-width:420px;
      padding:12px 16px;
    }
  }

  @media(max-width:520px){
    .ct25-section{ padding:18px 0; }

    .ct25-cdc-body{ padding:12px; }

    .ct25-cdc-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); }

    .ct25-pill{
      font-size:11.5px;
      min-height:32px;
    }
  }
  
  
  /* ==========================================================
   SEZIONE TRE CODICI SCONTO ========================================================== */
   
  
  .sconti-intro{
    max-width: 1180px;
    margin: 0 auto 12px;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    color: #0b1630;
    font-family: Arial, sans-serif;
  }

  .sconti-wow{
    max-width: 1180px;
    margin: 0 auto;
    display: flex;
    border-radius: 18px;
    overflow: hidden;
    font-family: Arial, sans-serif;
    border: 3px solid #004aad;
    box-shadow: 0 14px 34px rgba(0,0,0,0.18);
  }

  .sconti-wow .col{
    flex: 1;
    padding: 52px 16px 20px;
    text-align: center;
    position: relative;
    transition: all .35s ease;
  }

  .sconti-wow .unitelma{
    flex: 1.15;
    border-right: 3px solid rgba(255,255,255,0.2);
    box-shadow: inset 0 0 0 2px rgba(255,212,0,0.4);
  }

  .sconti-wow .col:hover{
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(0,0,0,0.25);
  }

  .yellow{
    background: linear-gradient(180deg, #ffd400 0%, #ffb300 100%);
    color:#000;
  }

  .blue{
    background: linear-gradient(
      135deg,
      #0b3cff 0%,
      #0040b3 55%,
      #001f66 100%
    );
    color:#fff;
  }

  .divider{
    width: 16px;
    background:
      radial-gradient(circle at 50% 14px, #ffffff 0 9px, transparent 10px)
      top/16px 28px repeat-y,
      linear-gradient(#004aad, #004aad);
  }

  .badge{
    position:absolute;
    top: 12px;
    left:50%;
    transform:translateX(-50%);
    font-size: 12px;
    font-weight: 900;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,0.95);
    color:#000;
    white-space: nowrap;
  }

  .blue .badge{
    background: rgba(255,212,0,0.98);
    color:#002060;
  }

  .icon{
    font-size: 26px;
    margin-bottom: 6px;
  }

  .title{
    font-size: 15px;
    font-weight: 900;
    margin: 4px 0 10px;
    line-height: 1.35;
  }

  .highlight{
    font-size: 26px;
    font-weight: 900;
    margin-bottom: 12px;
  }

  .yellow .highlight{ color:#0b3b91; }
  .blue .highlight{ color:#ffd400; }

  .codewrap{
    display:inline-block;
    padding: 12px 18px;
    border-radius: 14px;
    background: rgba(255,255,255,0.95);
    border: 2px dashed rgba(0,0,0,0.25);
  }

  .blue .codewrap{
    background: rgba(0,0,0,0.35);
    border: 2px dashed rgba(255,212,0,0.95);
  }

  .code{
    font-size: 24px;
    font-weight: 900;
  }

  .blue .code{
    color:#ffd400;
  }

  .cdc-note{
    margin-top: 8px;
    font-size: 11.5px;
    opacity: .92;
    line-height: 1.4;
  }

  .sconti-note{
    max-width: 1180px;
    margin: 12px auto 0;
    font-size: 13px;
    text-align:center;
    font-family: Arial, sans-serif;
  }

  .sconti-alert{
    max-width: 1180px;
    margin: 8px auto 0;
    padding: 8px 12px;
    font-size: 12.5px;
    text-align: center;
    background: #fff3f3;
    border: 1.5px solid #d32f2f;
    border-radius: 8px;
    font-family: Arial, sans-serif;
  }

  .alert-red{
    color: #d32f2f;
    font-weight: 900;
    text-decoration: underline;
  }

  @media (max-width: 820px){
  .sconti-intro{
    margin: 0 auto 10px;
    font-size: 14px;
    line-height: 1.45;
    padding: 0 8px;
  }

  .sconti-wow{
    flex-wrap:wrap;
    border-radius: 14px;
  }

  .sconti-wow .col{
    flex: 1 1 100%;
    padding: 52px 12px 18px;
  }

  .sconti-wow .unitelma{
    flex:1 1 100%;
    border-right:0;
    box-shadow:none;
  }

  .sconti-wow .col:hover{
    transform:none;
    box-shadow:none;
  }

  .divider{
    display:none;
  }

  .badge{
    top: 10px;
    font-size: 10px;
    padding: 5px 10px;
  }

  .icon{
    margin: 2px 0 4px;
    font-size: 22px;
  }

  .title{
    font-size: 13px;
    line-height: 1.3;
    margin: 4px 0 8px;
  }

  .highlight{
    font-size: 16px;
    margin-bottom: 8px;
    line-height: 1.15;
  }

  .codewrap{
    padding: 10px 14px;
    border-radius: 12px;
  }

  .code{
    font-size: 17px;
    line-height: 1;
  }

  .cdc-note{
    margin-top: 6px;
    font-size: 10.5px;
    line-height: 1.35;
  }

  .sconti-note{
    margin: 10px auto 0;
    font-size: 12px;
    line-height: 1.45;
    padding: 0 8px;
  }

  .sconti-alert{
    margin: 8px auto 0;
    padding: 8px 10px;
    font-size: 11.5px;
    line-height: 1.4;
    border-radius: 8px;
  }
}


  /* ==========================================================
   SEZIONE UNIVERSITA PARTNER ========================================================== */
   
    .mnemo-network, .mnemo-network *{
    box-sizing:border-box;
  }

  .mnemo-network{
    font-family: Arial, Helvetica, sans-serif;
    padding: 28px 0;
    color:#0b1630;
  }

  .mnemo-network .wrap{
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 14px;
  }

  .mnemo-network .section-title{
    margin: 0 0 8px;
    text-align:center;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 900;
    color:#0a2a66;
  }

  .mnemo-network .section-subtitle{
    max-width: 820px;
    margin: 0 auto 20px;
    text-align:center;
    font-size: 15px;
    line-height: 1.55;
    color:#35507c;
  }

  .mnemo-network .main-card{
    background: linear-gradient(135deg,#0b3cff 0%, #0040b3 55%, #001f66 100%);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 22px 48px rgba(0,0,0,.18);
    border: 1px solid rgba(255,255,255,.12);
    margin-bottom: 18px;
  }

  .mnemo-network .main-inner{
    padding: 26px 22px;
    text-align:center;
  }

  .mnemo-network .logo-wrap{
    margin-bottom: 16px;
  }

  .mnemo-network .logo-wrap img{
    max-width: 100%;
    height: auto;
    max-height: 150px;
    object-fit: contain;
  }

  .mnemo-network .main-text{
    max-width: 920px;
    margin: 0 auto;
    color:#ffffff;
    font-size: 16px;
    line-height: 1.65;
    font-weight: 700;
  }

  .mnemo-network .partners-label{
    text-align:center;
    font-size: 15px;
    font-weight: 900;
    color:#0a2a66;
    margin: 0 0 14px;
  }

  .mnemo-network .partners-grid{
    display:grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 14px;
  }

  .mnemo-network .partner-card{
    background:#ffffff;
    border:1px solid #dbe6fb;
    border-radius:18px;
    padding:18px 14px;
    text-align:center;
    box-shadow:0 12px 28px rgba(0,0,0,.08);
    transition:transform .18s ease, box-shadow .18s ease;
  }

  .mnemo-network .partner-card:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 34px rgba(0,0,0,.12);
  }

  .mnemo-network .partner-logo{
    height:78px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:12px;
  }

  .mnemo-network .partner-logo img{
    max-width:100%;
    max-height:72px;
    width:auto;
    height:auto;
    object-fit:contain;
  }

  .mnemo-network .partner-name{
    font-size:15px;
    line-height:1.4;
    font-weight:900;
    color:#0a43ad;
  }

  @media (max-width: 900px){
    .mnemo-network .partners-grid{
      grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .mnemo-network .section-title{
      font-size:24px;
    }

    .mnemo-network .main-text{
      font-size:15px;
    }
  }

.mnemo-network .main-text a{
  color:#ffd84d;
  font-weight:900;
  text-decoration:none;
}

.mnemo-network .main-text a:hover,
.mnemo-network .main-text a:focus{
  color:#ffffff;
  text-decoration:none;
}
   
   
  /* ==========================================================
   SEZIONE MASTER HOME PAGE ========================================================== */   
   
   
   .ct25-mobile-master-premium,
.ct25-mobile-master-premium *{
  box-sizing:border-box;
}

.ct25-mobile-master-premium{
  font-family:Arial,Helvetica,sans-serif;
  padding:20px 8px;
  background:#ffffff;
}

.ct25-mobile-master-wrap{
  max-width:760px;
  margin:0 auto;
}

.ct25-mobile-master-head{
  text-align:center;
  margin:0 0 14px;
}

.ct25-mobile-master-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 14px;
  border-radius:999px;
  background:linear-gradient(135deg,#ffd84d 0%, #ffbf00 100%);
  color:#1d2a44;
  font-size:11px;
  font-weight:800;
  letter-spacing:.45px;
  margin-bottom:10px;
}

.ct25-mobile-master-head h2{
  margin:0;
  font-size:21px;
  line-height:1.18;
  color:#082b74;
  font-weight:800;
}

.ct25-mobile-master-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.ct25-mobile-master-card{
  display:block;
  text-decoration:none;
  background:#ffffff;
  border:1px solid #dde6f8;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 8px 18px rgba(10,35,90,.06);
}

.ct25-mobile-master-top{
  padding:9px 8px 8px;
  text-align:center;
  font-size:13px;
  font-weight:900;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.35px;
  line-height:1.1;
}

.ct25-mobile-master-bottom{
  padding:10px 8px 12px;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#1f2f4f;
  font-size:13.5px;
  line-height:1.28;
  font-weight:600;
}

/* COLORI */
.ct25-a01 .ct25-mobile-master-top{ background:#10b421; }
.ct25-a12 .ct25-mobile-master-top{ background:#1f49b6; }
.ct25-a18 .ct25-mobile-master-top{ background:#ff2a14; }
.ct25-a19 .ct25-mobile-master-top{ background:#1d8fe0; }
.ct25-a21 .ct25-mobile-master-top{ background:#34c546; }
.ct25-a22 .ct25-mobile-master-top{ background:#f0b400; color:#111; }
.ct25-a26 .ct25-mobile-master-top{ background:#1c92e2; }
.ct25-a28 .ct25-mobile-master-top{ background:#7433a5; }
.ct25-a46 .ct25-mobile-master-top{ background:#2248a8; }
.ct25-a50 .ct25-mobile-master-top{ background:#10b421; }
.ct25-a54 .ct25-mobile-master-top{ background:#e42b17; }
.ct25-a65 .ct25-mobile-master-top{ background:#00a0a8; }

@media (max-width:420px){
  .ct25-mobile-master-premium{
    padding:18px 6px;
  }

  .ct25-mobile-master-head h2{
    font-size:19px;
  }

  .ct25-mobile-master-grid{
    gap:8px;
  }

  .ct25-mobile-master-top{
    font-size:12px;
  }

  .ct25-mobile-master-bottom{
    font-size:13px;
    min-height:54px;
  }
}

  /* ==========================================================
   SCOPRI TUTTI GLI ALTRI CORSI HOME ========================================================== */   
   
  .mn-links-corsi,
  .mn-links-corsi *{
    box-sizing:border-box;
  }

  .mn-links-corsi{
    padding:40px 20px;
    font-family:Arial,Helvetica,sans-serif;
  }

  .mn-links-corsi__inner{
    max-width:1100px;
    margin:0 auto;
    padding:34px 28px;
    background:linear-gradient(180deg,#f7faff 0%, #eef4ff 100%);
    border:1px solid #d8e4fb;
    border-radius:24px;
    box-shadow:0 16px 34px rgba(8,34,75,.08);
    text-align:center;
  }

  .mn-links-corsi__eyebrow{
    margin:0 0 10px;
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.10em;
    color:#0f46b8;
  }

  .mn-links-corsi__title{
    margin:0 0 12px;
    font-size:34px;
    line-height:1.1;
    font-weight:900;
    color:#08224b;
  }

  .mn-links-corsi__text{
    max-width:800px;
    margin:0 auto 26px;
    font-size:17px;
    line-height:1.6;
    color:#36527e;
  }

  .mn-links-corsi__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
  }

  .mn-links-corsi__btn{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:64px;
    padding:16px 18px;
    text-align:center;
    text-decoration:none;
    border-radius:18px;
    background:linear-gradient(180deg,#d71920 0%, #b51218 100%);
    color:#fff;
    font-size:15px;
    line-height:1.3;
    font-weight:900;
    box-shadow:0 12px 24px rgba(181,18,24,.16);
    transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
  }

  .mn-links-corsi__btn:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 28px rgba(181,18,24,.22);
  }

  @media (max-width: 900px){
    .mn-links-corsi__grid{
      grid-template-columns:repeat(2,minmax(0,1fr));
    }
  }

  @media (max-width: 640px){
    .mn-links-corsi{
      padding:28px 14px;
    }

    .mn-links-corsi__inner{
      padding:28px 18px;
      border-radius:18px;
    }

    .mn-links-corsi__title{
      font-size:28px;
    }

    .mn-links-corsi__text{
      font-size:16px;
      margin-bottom:22px;
    }

    .mn-links-corsi__grid{
      grid-template-columns:1fr;
    }

    .mn-links-corsi__btn{
      min-height:58px;
      font-size:14px;
      border-radius:16px;
    }
  }

  /* ==========================================================
   SCOPRI  GLI ALTRI CORSI IN PROMO MOBILE ========================================================== */   
   
   .ct25-mobile-cards,
.ct25-mobile-cards *{
  box-sizing:border-box;
}

.ct25-mobile-cards{
  width:100%;
  padding:14px 12px 20px;
  font-family:Arial, Helvetica, sans-serif;
}

.ct25-mobile-cards__wrap{
  display:grid;
  gap:12px;
}

.ct25-mobile-cards__section-title{
  text-align:center;
  margin-bottom:2px;
}

.ct25-mobile-cards__section-kicker{
  display:inline-block;
  margin-bottom:8px;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(255,196,0,.16);
  color:#ffd24a;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.ct25-mobile-cards__section-title h2{
  margin:0;
  font-size:28px;
  line-height:1.08;
  font-weight:900;
  color:#ffd24a;
  letter-spacing:-.03em;
  text-transform:uppercase;
}

.ct25-mobile-card{
  display:block;
  text-decoration:none;
  background:#ffffff;
  border:1px solid rgba(9,72,140,.08);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 8px 18px rgba(9,72,140,.08);
}

.ct25-mobile-card__head h3{
  margin:0;
  padding:14px 12px;
  text-align:center;
  color:#fff;
  font-size:24px;
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.02em;
  text-transform:uppercase;
}

.ct25-mobile-card--green .ct25-mobile-card__head h3{
  background:linear-gradient(180deg,#35b13e 0%, #269430 100%);
}

.ct25-mobile-card--red .ct25-mobile-card__head h3{
  background:linear-gradient(180deg,#ff3617 0%, #e82209 100%);
}

.ct25-mobile-card--blue .ct25-mobile-card__head h3{
  background:linear-gradient(180deg,#1e5ac8 0%, #1247af 100%);
}

.ct25-mobile-card__body{
  padding:14px 12px 16px;
  text-align:center;
  background:#ffffff;
}

.ct25-mobile-card__price{
  color:#111827;
  font-size:32px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.03em;
  text-transform:uppercase;
}

.ct25-mobile-card__price span{
  margin-left:4px;
  font-size:.62em;
  font-weight:800;
  color:#1f2937;
}
/* Mobile overflow guard for the homepage hero only. */
@media (max-width: 768px){
  .ct25-heroNeo,
  .ct25-heroNeo .wrap,
  .ct25-heroNeo .shell,
  .ct25-heroNeo .inner,
  .ct25-heroNeo .hero-header,
  .ct25-heroNeo .hero-title,
  .ct25-heroNeo .sub,
  .ct25-heroNeo .promo-pill-wrap,
  .ct25-heroNeo .promo-pill,
  .ct25-heroNeo .grid,
  .ct25-heroNeo .left-col,
  .ct25-heroNeo .bullets,
  .ct25-heroNeo .bullet,
  .ct25-heroNeo .txt,
  .ct25-heroNeo .cta,
  .ct25-heroNeo .cta-row,
  .ct25-heroNeo .btn{
    max-width:100%;
    min-width:0;
  }

  .ct25-heroNeo .hero-title{
    display:block !important;
    width:100%;
    flex-wrap:wrap;
    overflow-wrap:anywhere;
    word-break:normal;
    overflow:hidden;
    text-align:center;
  }

  .ct25-heroNeo .hero-title span:not(.dot),
  .ct25-heroNeo .sub,
  .ct25-heroNeo .promo-pill,
  .ct25-heroNeo .txt,
  .ct25-heroNeo .btn{
    overflow-wrap:anywhere;
    word-break:normal;
  }

  .ct25-heroNeo .hero-title span:not(.dot){
    display:block;
    max-width:100%;
    white-space:normal;
  }

  .ct25-heroNeo .promo-pill{
    white-space:normal;
    flex-wrap:wrap;
    justify-content:center;
    text-align:center;
  }

  .ct25-heroNeo .cta-row{
    flex-wrap:wrap;
    justify-content:center;
  }

  .ct25-heroNeo .btn.sm{
    flex:1 1 132px;
    white-space:normal;
  }
}

@media (max-width: 430px){
  .ct25-heroNeo{
    width:100%;
    max-width:100vw;
    overflow-x:hidden;
  }

  .ct25-heroNeo .wrap{
    padding-left:8px;
    padding-right:8px;
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  .ct25-heroNeo .wrap{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .ct25-heroNeo .shell{
    width:100% !important;
    max-width:100% !important;
  }

  .ct25-heroNeo .inner{
    padding-left:10px;
    padding-right:10px;
  }

  .ct25-heroNeo .hero-title{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    font-size:12.5px !important;
    line-height:1.28 !important;
    padding-left:8px !important;
    padding-right:8px !important;
    overflow:hidden !important;
    text-align:center !important;
  }

  .ct25-heroNeo .hero-title span:not(.dot){
    display:block !important;
    max-width:100% !important;
    white-space:normal !important;
  }

  .ct25-heroNeo .sub{
    padding-left:14px;
    padding-right:10px;
    width:100%;
    max-width:100%;
  }

  .ct25-heroNeo .bullet{
    padding-left:9px;
    padding-right:9px;
  }
}
/* =========================================================
   CT25 HOME — Micro intro brand post-hero
   Sfondo esterno trasparente, box centrale bianco
========================================================= */

.ct25-brand-intro,
.ct25-brand-intro * {
  box-sizing: border-box;
}

.ct25-brand-intro {
  font-family: Arial, Helvetica, sans-serif;
  background: transparent;
  padding: 22px 14px 10px;
}

.ct25-brand-intro__wrap {
  width: min(1040px, 100%);
  margin: 0 auto;
  padding: 22px 24px;
  border: 1px solid rgba(9, 72, 140, .12);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(8, 63, 119, .08);
}

.ct25-brand-intro h2 {
  margin: 0 0 10px;
  color: #09488c;
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1.12;
  font-weight: 900;
  letter-spacing: -0.02em;
  text-align: center;
}

.ct25-brand-intro p {
  margin: 0;
  color: #26384f;
  font-size: 16px;
  line-height: 1.65;
  text-align: center;
}

.ct25-brand-intro p + p {
  margin-top: 8px;
}

.ct25-brand-intro strong {
  color: #09488c;
  font-weight: 800;
}

@media (max-width: 767px) {
  .ct25-brand-intro {
    padding: 16px 12px 8px;
  }

  .ct25-brand-intro__wrap {
    padding: 18px 16px;
    border-radius: 18px;
  }

  .ct25-brand-intro h2 {
    font-size: 23px;
    line-height: 1.16;
  }

  .ct25-brand-intro p {
    font-size: 15px;
    line-height: 1.58;
  }
}
