/* AFFIDATI AI PROFESSIONISTI */

.ct25-premium-highlight,
.ct25-premium-highlight *{
  box-sizing:border-box;
}

.ct25-premium-highlight{
  position:relative;
  width:100%;
  overflow:hidden;
  padding:48px 18px;
  background:
    radial-gradient(circle at 20% 50%, rgba(255,255,255,.22), transparent 38%),
    radial-gradient(circle at 80% 50%, rgba(255,255,255,.18), transparent 38%),
    linear-gradient(135deg,#ffd318 0%, #f7c800 46%, #f3bf00 100%);
}

.ct25-premium-highlight::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.035;
  background-image:url("https://www.master-mnemosine.it/wp-content/uploads/2025/05/cropped-Favicon-3.png");
  background-repeat:repeat;
  background-size:80px;
  background-position:center;
}

.ct25-premium-highlight__inner{
  position:relative;
  z-index:1;
  max-width:1180px;
  margin:0 auto;
  text-align:center;
}

.ct25-premium-highlight__badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
  padding:9px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.28);
  border:1px solid rgba(255,255,255,.34);
  color:#2a2f39;
  font-family:Arial, Helvetica, sans-serif;
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.ct25-premium-highlight__badge-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#0a4fb6;
}

.ct25-premium-highlight__title{
  margin:0;
  color:#1d2430;
  font-family:Arial, Helvetica, sans-serif;
  font-size:clamp(28px, 2.5vw, 44px);
  line-height:1.18;
  font-weight:900;
  letter-spacing:-.03em;
}

.ct25-premium-highlight__title span{
  display:block;
  margin-top:8px;
  color:#0a4fb6;
}

@media (max-width:767px){
  .ct25-premium-highlight{
    padding:32px 14px;
  }

  .ct25-premium-highlight::before{
    background-size:58px;
  }

  .ct25-premium-highlight__title{
    font-size:clamp(21px, 6vw, 30px);
  }
}

/* TUTOR VIDEO */

.ct25-video-accordion{
  width:100%;
  max-width:1000px;
  margin:20px auto;
  font-family:Arial,Helvetica,sans-serif;
}

.ct25-video-accordion,
.ct25-video-accordion *,
.ct25-video-accordion *::before,
.ct25-video-accordion *::after{
  box-sizing:border-box;
}

.ct25-video-accordion details{
  display:block;
  width:100%;
  margin:0;
  padding:0;
  background:#fff;
  border:1px solid #dbe5f5;
  border-radius:16px;
  overflow:hidden;
}

.ct25-video-accordion summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
  margin:0;
  padding:16px 18px;
  list-style:none;
  cursor:pointer;
  background:#f7faff;
  color:#08224b;
  font-size:20px;
  font-weight:800;
  line-height:1.2;
  border:0;
  outline:0;
  appearance:none;
  -webkit-appearance:none;
}

.ct25-video-accordion summary::-webkit-details-marker{
  display:none;
}

.ct25-video-accordion summary::marker{
  display:none;
  content:"";
}

.ct25-video-accordion__title{
  flex:1 1 auto;
  min-width:0;
}

.ct25-video-accordion__icon{
  position:relative;
  flex:0 0 18px;
  width:18px;
  height:18px;
  min-width:18px;
}

.ct25-video-accordion__icon::before,
.ct25-video-accordion__icon::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:18px;
  height:2px;
  margin:0;
  background:#08224b;
  border-radius:999px;
  transform:translate(-50%,-50%);
  transition:opacity .2s ease, transform .2s ease;
}

.ct25-video-accordion__icon::after{
  transform:translate(-50%,-50%) rotate(90deg);
}

.ct25-video-accordion details[open] .ct25-video-accordion__icon::after{
  opacity:0;
}

.ct25-video-accordion__content{
  display:block;
  width:100%;
  padding:14px;
  background:#ffffff;
}

@media (max-width: 767px){
  .ct25-video-accordion{
    margin:16px auto;
  }

  .ct25-video-accordion summary{
    padding:14px 15px;
    font-size:17px;
    gap:12px;
  }

  .ct25-video-accordion__content{
    padding:12px;
  }
}

/* intro master */
/* ==================================
   INTRO PIANI DI STUDIO MASTER — CT25
   Riutilizzabile per tutte le pagine master
   ======================== */

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

.ct25-study-intro {
  margin: 34px 0 18px;
  font-family: Arial, Helvetica, sans-serif;
}

.ct25-study-intro__wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 22px 24px;
  border-radius: 18px;
  background: #ffffff;
  border-left: 6px solid #ffd426;
  box-shadow: 0 10px 26px rgba(10, 30, 80, .08);
  text-align: center;
}

.ct25-study-intro__kicker {
  display: inline-flex;
  margin-bottom: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #eef4ff;
  color: #0b3cff;
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.ct25-study-intro__title {
  margin: 0 0 8px;
  font-size: 28px;
  line-height: 1.15;
  color: #0b1630;
  font-weight: 900;
  letter-spacing: -.02em;
}

.ct25-study-intro__text {
  max-width: 900px;
  margin: 0 auto;
  font-size: 15.5px;
  line-height: 1.6;
  color: #243352;
}

.ct25-study-intro__text strong,
.ct25-study-intro strong {
  color: #0a1b3f;
}

@media (max-width: 700px) {
  .ct25-study-intro {
    margin: 26px 0 16px;
  }

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

  .ct25-study-intro__kicker {
    margin-left: auto;
    margin-right: auto;
  }

  .ct25-study-intro__title {
    font-size: 23px;
    text-align: center;
  }

  .ct25-study-intro__text {
    font-size: 14.5px;
    text-align: justify;
  }
}

.ct25-study-intro__text p {
  margin: 0 0 12px;
}

.ct25-study-intro__text p:last-child {
  margin-bottom: 0;
}

/* ================================
   Sezione Unicamillus \ Mnemosine enti riconosciuti
   ================================ */


    .ct25-authority-slim,
    .ct25-authority-slim *{box-sizing:border-box;}

    .ct25-authority-slim{
      --blue:#09488c;
      --blue2:#0a5cae;
      --blue3:#083f77;
      --gold:#ffc400;
      --line:rgba(255,255,255,.22);
      font-family:Arial,Helvetica,sans-serif;
      background:#0f4592;
      padding:24px 14px;
      color:#fff;
    }

    .ct25-authority-slim-wrap{
      width:min(1284px,100%);
      margin:0 auto;
      display:grid;
      grid-template-columns:1fr 1fr;
      border:1px solid rgba(255,255,255,.26);
      border-radius:26px;
      overflow:hidden;
      box-shadow:0 20px 46px rgba(8,35,80,.24);
      background:#fff;
    }

    .ct25-authority-slim-card{
      min-height:250px;
      padding:28px 26px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      text-align:center;
      position:relative;
    }

    .ct25-authority-slim-card.uni{
      background:#fff;
      color:#102033;
    }

    .ct25-authority-slim-card.mnemo{
      background:
        radial-gradient(circle at 92% 10%, rgba(255,196,0,.22), transparent 25%),
        linear-gradient(135deg,#083f77,#0a5cae);
      color:#fff;
      border-left:1px solid rgba(255,255,255,.28);
    }

    .ct25-authority-slim-logo{
      max-width:220px;
      max-height:72px;
      width:auto;
      height:auto;
      object-fit:contain;
      display:block;
      margin-bottom:18px;
    }

    .ct25-authority-slim-card.mnemo .ct25-authority-slim-logo{
      max-width:250px;
      max-height:70px;
      filter:drop-shadow(0 8px 16px rgba(0,0,0,.18));
    }

    .ct25-authority-slim-pill{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:6px 12px;
      border-radius:999px;
      font-size:12px;
      font-weight:950;
      letter-spacing:.04em;
      margin-bottom:12px;
    }

    .ct25-authority-slim-card.uni .ct25-authority-slim-pill{
      background:#eef5ff;
      color:#09488c;
    }

    .ct25-authority-slim-card.mnemo .ct25-authority-slim-pill{
      background:var(--gold);
      color:#083f77;
    }

    .ct25-authority-slim-card h3{
      margin:0 0 10px;
      font-size:19px;
      line-height:1.2;
      font-weight:950;
      letter-spacing:-.02em;
    }

    .ct25-authority-slim-card.uni h3{
      color:#09488c;
    }

    .ct25-authority-slim-card.mnemo h3{
      color:#ffc400;
    }

    .ct25-authority-slim-card p{
      margin:0;
      max-width:560px;
      font-size:15.5px;
      line-height:1.75;
      font-weight:500;
    }

    .ct25-authority-slim-card.uni p{
      color:#102033;
    }

    .ct25-authority-slim-card.mnemo p{
      color:rgba(255,255,255,.94);
    }

    @media(max-width:850px){
      .ct25-authority-slim-wrap{
        grid-template-columns:1fr;
      }

      .ct25-authority-slim-card.mnemo{
        border-left:0;
        border-top:1px solid rgba(255,255,255,.28);
      }
    }

    @media(max-width:560px){
      .ct25-authority-slim{
        padding:18px 10px;
      }

      .ct25-authority-slim-wrap{
        border-radius:22px;
      }

      .ct25-authority-slim-card{
        min-height:auto;
        padding:26px 18px;
      }

      .ct25-authority-slim-card p{
        font-size:15px;
        line-height:1.65;
      }
    }
