/* ==========================================================
   CHERITAN SITE SYSTEM v4.3 — COURSES VISUAL INTEGRITY
   Loaded last. Fixes dark-section text contrast and the trainer
   portrait so it fills the card without white/blank side bands.
   ========================================================== */

/* Courses trainer: explicit contrast on charcoal background. */
.cht-courses-page .cc-trainer{
  background:#3f4652!important;
  color:#fff!important;
}
.cht-courses-page .cc-trainer .cc-kicker{
  color:#f8bea5!important;
  -webkit-text-fill-color:#f8bea5!important;
  opacity:1!important;
  visibility:visible!important;
}
.cht-courses-page .cc-trainer-copy h2{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  background:none!important;
}
.cht-courses-page .cc-trainer-copy>p{
  color:#e6e9ed!important;
  -webkit-text-fill-color:#e6e9ed!important;
  opacity:1!important;
  visibility:visible!important;
}
.cht-courses-page .cc-trainer .cc-text-link{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-bottom-color:rgba(255,255,255,.62)!important;
}
.cht-courses-page .cc-trainer-points span{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:#4b5360!important;
  border-color:#77808d!important;
}

/* Portrait card uses the same 4:5 ratio as the supplied portrait.
   This fills the card while preserving the full face/body composition. */
.cht-courses-page .cc-trainer-photo{
  width:100%!important;
  max-width:430px!important;
  aspect-ratio:4/5!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:24px!important;
  background:transparent!important;
  border:1px solid rgba(255,255,255,.18)!important;
}
.cht-courses-page .cc-trainer-photo img[data-focal="portrait-full"],
.cht-courses-page .cc-trainer-photo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}

/* Balanced section sizing. */
.cht-courses-page .cc-trainer-grid{
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)!important;
  gap:56px!important;
  align-items:center!important;
}
.cht-courses-page .cc-trainer-copy{min-width:0!important;}
.cht-courses-page .cc-trainer-copy h2{
  font-size:clamp(38px,4vw,54px)!important;
  line-height:1.06!important;
  letter-spacing:-1.6px!important;
  margin:0 0 16px!important;
}

@media (max-width:980px){
  .cht-courses-page .cc-trainer-grid{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  .cht-courses-page .cc-trainer-photo{
    max-width:430px!important;
    margin:0 auto!important;
  }
  .cht-courses-page .cc-trainer-copy{
    max-width:720px!important;
    margin:0 auto!important;
    width:100%!important;
  }
}

@media (max-width:650px){
  .cht-courses-page .cc-trainer-photo{
    max-width:100%!important;
    border-radius:16px!important;
  }
  .cht-courses-page .cc-trainer-copy h2{
    font-size:clamp(30px,9vw,38px)!important;
    line-height:1.12!important;
    letter-spacing:-.8px!important;
  }
  .cht-courses-page .cc-trainer-copy>p{
    font-size:15px!important;
    line-height:1.7!important;
  }
}
