/* =========================================================
   V76.34 - INFO PELATIH DINAMIS DAN CV SWIPE
   ========================================================= */

.v7634-trainer-section{
  margin-top:30px;
}

.v7634-trainer-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}

.v7634-trainer-heading .trainer-title-v21{
  margin:0 !important;
}

.v7634-trainer-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:31px;
  padding:6px 11px;
  border:1px solid rgba(37,99,235,.15);
  border-radius:999px;
  color:#2563eb;
  background:#f4f8ff;
  font-size:12px;
  font-weight:600;
  white-space:nowrap;
}

/*
 * Dua kolom pada desktop. Kartu terakhir melebar penuh bila jumlah profil
 * ganjil agar tidak menyisakan ruang kosong.
 */
.trainer-grid-v21.v7634-trainer-grid{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px !important;
  align-items:start !important;
}

.trainer-grid-v21.v7634-trainer-grid.v7634-count-1{
  grid-template-columns:minmax(0,1fr) !important;
}

.trainer-grid-v21.v7634-trainer-grid.v7634-count-many
  > .v7634-trainer-card:nth-child(odd):last-child{
  grid-column:1 / -1;
}

.trainer-card-v21.v7634-trainer-card{
  width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:14px !important;
  padding:18px !important;
  border:1px solid rgba(37,99,235,.15) !important;
  border-radius:18px !important;
  background:
    radial-gradient(
      circle at 100% 0,
      rgba(37,99,235,.06),
      transparent 36%
    ),
    #fff !important;
  box-shadow:0 10px 30px rgba(15,45,90,.055) !important;
  box-sizing:border-box !important;
  align-self:start !important;
}

/* Profil yang hanya berisi nama menjadi kartu ringkas. */
.trainer-card-v21.v7634-trainer-card.is-name-only{
  padding:16px 18px !important;
  gap:0 !important;
}

.v7634-trainer-identity{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.v7634-trainer-identity.no-photo{
  min-height:0;
}

.v7634-trainer-avatar{
  width:82px;
  height:82px;
  aspect-ratio:1 / 1;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 82px;
  overflow:hidden;
  border:3px solid #fff;
  border-radius:50%;
  background:#eaf2ff;
  box-shadow:
    0 0 0 1px rgba(37,99,235,.13),
    0 8px 22px rgba(15,45,90,.1);
}

.trainer-card-v21.v7634-trainer-card
  .trainer-photo.v7634-trainer-photo{
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  max-width:none !important;
  aspect-ratio:1 / 1 !important;
  display:block !important;
  border-radius:0 !important;
  object-fit:cover !important;
  object-position:center !important;
  background:#eaf2ff !important;
}

.trainer-bio-v21.v7634-trainer-summary{
  min-width:0 !important;
  flex:1 1 auto;
}

.v7634-trainer-summary h3{
  margin:0;
  color:#082f70;
  font-size:18px;
  font-weight:600;
  line-height:1.35;
  overflow-wrap:anywhere;
}

.v7634-trainer-role{
  display:block;
  margin-top:4px;
  color:#64748b;
  font-size:14px;
  line-height:1.4;
}

.v7634-trainer-description{
  min-width:0;
  padding-top:13px;
  border-top:1px solid rgba(37,99,235,.1);
}

.v7634-trainer-description p{
  margin:0 !important;
  color:#334155;
  font-size:14px;
  line-height:1.65 !important;
  overflow-wrap:anywhere;
}

/*
 * Tidak ada judul "Dokumen Profil" dan tidak ada tulisan "Dokumen 1".
 * Gambar ditampilkan langsung.
 */
.trainer-cv-v21.v7634-trainer-cv{
  width:100% !important;
  min-width:0 !important;
  display:block !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
}

.v7634-cv-track{
  width:100%;
  min-width:0;
}

.v7634-trainer-cv.is-single .v7634-cv-track{
  display:block;
}

.v7634-trainer-cv.is-multiple .v7634-cv-track{
  display:flex;
  gap:12px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;
  padding-bottom:5px;
  -webkit-overflow-scrolling:touch;
}

.v7634-cv-item{
  min-width:0;
  display:block;
  padding:0;
  border:0;
  border-radius:14px;
  overflow:hidden;
  background:#f8fbff;
  cursor:pointer;
  box-shadow:0 0 0 1px rgba(37,99,235,.14);
  font:inherit;
}

.v7634-trainer-cv.is-single .v7634-cv-item{
  width:100%;
}

.v7634-trainer-cv.is-multiple .v7634-cv-item{
  width:min(82%,430px);
  flex:0 0 min(82%,430px);
  scroll-snap-align:start;
}

.trainer-cv-v21.v7634-trainer-cv
  .cv-thumb.v7634-cv-image{
  width:100% !important;
  height:auto !important;
  max-width:none !important;
  display:block !important;
  border:0 !important;
  border-radius:0 !important;
  object-fit:contain !important;
  object-position:top center !important;
  background:#fff !important;
  transition:transform .18s ease;
}

.v7634-cv-item:hover .v7634-cv-image{
  transform:scale(1.012);
}

/* Viewer khusus CV. Tidak bercampur dengan lightbox galeri lain. */
.v7634-cv-viewer{
  position:fixed;
  inset:0;
  z-index:10050;
  display:none;
  align-items:center;
  justify-content:center;
  padding:64px 72px 52px;
  background:rgba(4,15,35,.92);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}

.v7634-cv-viewer.is-open{
  display:flex;
}

.v7634-cv-stage{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:auto;
  touch-action:pan-y pinch-zoom;
}

.v7634-cv-stage img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  display:block;
  object-fit:contain;
  user-select:none;
  -webkit-user-drag:none;
}

.v7634-cv-close{
  position:absolute;
  top:max(16px,env(safe-area-inset-top));
  right:max(18px,env(safe-area-inset-right));
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:14px;
  color:#fff;
  background:rgba(255,255,255,.14);
  cursor:pointer;
  font-size:31px;
  line-height:1;
}

.v7634-cv-nav{
  position:absolute;
  top:50%;
  width:48px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:15px;
  color:#fff;
  background:rgba(255,255,255,.14);
  cursor:pointer;
  font-size:38px;
  line-height:1;
  transform:translateY(-50%);
}

.v7634-cv-prev{
  left:18px;
}

.v7634-cv-next{
  right:18px;
}

.v7634-cv-viewer.is-single .v7634-cv-nav,
.v7634-cv-viewer.is-single .v7634-cv-counter{
  display:none;
}

.v7634-cv-counter{
  position:absolute;
  left:50%;
  bottom:max(17px,env(safe-area-inset-bottom));
  min-width:58px;
  padding:7px 11px;
  border-radius:999px;
  color:#fff;
  background:rgba(0,0,0,.42);
  font-size:12px;
  text-align:center;
  transform:translateX(-50%);
}

@media(max-width:1050px){
  .trainer-grid-v21.v7634-trainer-grid{
    grid-template-columns:minmax(0,1fr) !important;
  }

  .trainer-grid-v21.v7634-trainer-grid
    > .v7634-trainer-card{
    grid-column:auto !important;
  }
}

@media(max-width:760px){
  .v7634-trainer-section{
    margin-top:25px;
  }

  .v7634-trainer-heading{
    align-items:center;
  }

  .trainer-card-v21.v7634-trainer-card{
    padding:15px !important;
    gap:12px !important;
  }

  .trainer-card-v21.v7634-trainer-card.is-name-only{
    padding:14px 15px !important;
  }

  .v7634-trainer-avatar{
    width:74px;
    height:74px;
    flex-basis:74px;
  }

  .v7634-trainer-summary h3{
    font-size:17px;
  }

  .v7634-trainer-cv.is-multiple .v7634-cv-item{
    width:88%;
    flex-basis:88%;
  }

  .v7634-cv-viewer{
    padding:62px 12px 42px;
  }

  .v7634-cv-nav{
    top:auto;
    bottom:max(16px,env(safe-area-inset-bottom));
    width:46px;
    height:46px;
    border-radius:14px;
    transform:none;
  }

  .v7634-cv-prev{
    left:16px;
  }

  .v7634-cv-next{
    right:16px;
  }

  .v7634-cv-counter{
    bottom:max(23px,env(safe-area-inset-bottom));
  }
}

@media(max-width:430px){
  .v7634-trainer-heading{
    gap:10px;
  }

  .v7634-trainer-count{
    min-height:29px;
    padding:5px 9px;
  }

  .v7634-trainer-avatar{
    width:66px;
    height:66px;
    flex-basis:66px;
  }

  .v7634-trainer-identity{
    gap:11px;
  }

  .v7634-trainer-cv.is-multiple .v7634-cv-item{
    width:92%;
    flex-basis:92%;
  }
}
