/* Secure Testimonials (Final v2.1) – uses CSS variables from wrapper (theme-proof) */

.st-wrap{
  --st-bg:#d99a2d;
  --st-name:#ffffff;
  --st-aff:#fff1c1;
  --st-text:#ffffff;
  --st-quote:#ffffff;
  --st-link:#ffffff;
}

/* Card */
.st-wrap .st-card{
  position:relative;
  border-radius:28px;
  overflow:hidden;
  padding:28px 28px 24px 28px;
  color:var(--st-text) !important;
  background:var(--st-bg) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.16);
}

.st-wrap .st-quote-mark{
  position:absolute;
  top:26px;
  right:28px;
  font-size:74px;
  line-height:1;
  opacity:.95;
  font-weight:900;
  color:var(--st-quote) !important;
}



/* Header row: photo inside card (no overlap) */
.st-wrap .st-toprow{
  display:flex;
  gap:18px;
  align-items:center;
}

/* Photo inside card */
.st-wrap .st-photo-wrap{
  flex:0 0 auto;
  width:120px;
  height:120px;
}
.st-wrap .st-photo-circle{
  width:120px;
  height:120px;
  border-radius:999px;
  border:6px solid rgba(255,255,255,.92);
  background:#fff;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  display:flex;
  align-items:center;
  justify-content:center;
}
/* FULL image (no crop) */
.st-wrap .st-photo-circle img{width:100% !important;height:100% !important;object-fit:cover !important;object-position:center center !important;display:block !important;background:#fff !important}
.st-wrap .st-photo-empty{background:rgba(255,255,255,.22)}

.st-wrap .st-name{
  margin:0;
  font-size:40px;
  line-height:1.05;
  font-weight:900;
  letter-spacing:.2px;
  color:var(--st-name) !important;
}
.st-wrap .st-affiliation{
  margin-top:6px;
  font-size:15px;
  font-weight:700;
  opacity:.95;
  color:var(--st-aff) !important;
}

.st-wrap .st-body{margin-top:14px}
.st-wrap .st-text{
  font-size:15px;
  line-height:1.75;
  opacity:.98;
  max-width:860px;
  color:var(--st-text) !important;
}
.st-wrap .st-text p{margin:0 0 10px}
.st-wrap .st-text p:last-child{margin-bottom:0}

.st-wrap .st-meta{margin-top:16px;display:flex;gap:18px;flex-wrap:wrap}
.st-wrap .st-link{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--st-link) !important;
  text-decoration:none;
  font-weight:800;
  border-bottom:1px solid rgba(255,255,255,.55);
  padding-bottom:2px;
}
.st-wrap .st-link:hover{border-bottom-color:rgba(255,255,255,.95)}

/* Slider */
.st-wrap .st-slider{position:relative;width:100%}
.st-wrap .st-slider-viewport{overflow:hidden}
.st-wrap .st-slider-track{display:flex;transition:transform 520ms ease;will-change:transform}
.st-wrap .st-slider .st-card{flex:0 0 100%;width:100%}

.st-wrap .st-slider-controls{
  margin-top:14px;
  display:flex;align-items:center;gap:12px;justify-content:center;
}
.st-wrap .st-btn{
  width:42px;height:42px;border-radius:999px;
  border:1px solid rgba(0,0,0,.15);
  background:#fff;color:#111827;
  font-size:24px;line-height:1;cursor:pointer;
}
.st-wrap .st-btn:hover{transform:translateY(-1px)}
.st-wrap .st-dots{display:inline-flex;gap:8px;align-items:center}
.st-wrap .st-dot{width:9px;height:9px;border-radius:999px;border:none;background:rgba(17,24,39,.25);cursor:pointer;padding:0}
.st-wrap .st-dot.is-active{background:rgba(17,24,39,.85)}

/* Archive */
.st-wrap .st-archive-grid{display:grid;grid-template-columns:1fr;gap:18px}
.st-wrap .st-pagination{margin-top:18px}
.st-wrap .st-pagination .page-numbers{display:inline-block;padding:8px 12px;border:1px solid #e5e7eb;border-radius:10px;margin-right:8px;text-decoration:none}
.st-wrap .st-pagination .page-numbers.current{background:#111827;color:#fff;border-color:#111827}

.st-wrap .st-empty{padding:14px 16px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}

/* Responsive */
@media (max-width:980px){
  .st-wrap .st-photo-wrap{width:110px;height:110px}
  .st-wrap .st-photo-circle{width:110px;height:110px}
  .st-wrap .st-name{font-size:34px}
}
@media (max-width:680px){
  .st-wrap .st-toprow{align-items:flex-start}
  .st-wrap .st-photo-wrap{width:96px;height:96px}
  .st-wrap .st-photo-circle{width:96px;height:96px}
  .st-wrap .st-name{font-size:28px}
  .st-wrap .st-quote-mark{font-size:54px;top:18px;right:18px}
}
  .st-wrap .st-photo-wrap{left:20px;top:-22px;width:120px;height:120px}
  .st-wrap .st-photo-circle{width:120px;height:120px}
  .st-wrap .st-name{
  margin:0;
  font-size:40px;
  line-height:1.05;
  font-weight:900;
  letter-spacing:.2px;
  color:var(--st-name) !important;
}
  .st-wrap .st-quote-mark{font-size:58px;top:18px;right:18px}
}


/* Alternate colors for archive list */
.st-wrap .st-archive-grid > .st-card:nth-child(even){
  background: rgba(0,0,0,0.08) !important;
}
.st-wrap .st-archive-grid > .st-card:nth-child(odd){
  background: var(--st-bg) !important;
}


/* Academic Blue – alternate testimonial colors */
.st-wrap .st-archive-grid > .st-card:nth-child(odd){
  background:#0F4C81 !important;
}
.st-wrap .st-archive-grid > .st-card:nth-child(even){
  background:#E9F1F8 !important;
  color:#0B2540 !important;
}
.st-wrap .st-archive-grid > .st-card:nth-child(even) .st-name,
.st-wrap .st-archive-grid > .st-card:nth-child(even) .st-text,
.st-wrap .st-archive-grid > .st-card:nth-child(even) .st-affiliation{
  color:#0B2540 !important;
}

/* Ensure text is readable on blue cards (odd rows) */
.st-wrap .st-archive-grid > .st-card:nth-child(odd) .st-name,
.st-wrap .st-archive-grid > .st-card:nth-child(odd) .st-text,
.st-wrap .st-archive-grid > .st-card:nth-child(odd) .st-affiliation,
.st-wrap .st-archive-grid > .st-card:nth-child(odd) .st-quote-mark,
.st-wrap .st-archive-grid > .st-card:nth-child(odd) .st-link{
  color:#ffffff !important;
}
.st-wrap .st-archive-grid > .st-card:nth-child(odd){
  color:#ffffff !important;
}


/* =========================================================
   Robust zebra text colors (prevents theme overrides)
   Applies ONLY to archive list items
========================================================= */

/* Blue cards (odd) */
.st-wrap .st-archive-grid > .st-card:nth-child(odd){
  color:#ffffff !important;
}
.st-wrap .st-archive-grid > .st-card:nth-child(odd) .st-name,
.st-wrap .st-archive-grid > .st-card:nth-child(odd) .st-text,
.st-wrap .st-archive-grid > .st-card:nth-child(odd) .st-affiliation,
.st-wrap .st-archive-grid > .st-card:nth-child(odd) .st-quote-mark,
.st-wrap .st-archive-grid > .st-card:nth-child(odd) .st-link,
.st-wrap .st-archive-grid > .st-card:nth-child(odd) p{
  color:#ffffff !important;
}

/* Light cards (even) */
.st-wrap .st-archive-grid > .st-card:nth-child(even){
  color:#0B2540 !important;
}
.st-wrap .st-archive-grid > .st-card:nth-child(even) .st-name,
.st-wrap .st-archive-grid > .st-card:nth-child(even) .st-text,
.st-wrap .st-archive-grid > .st-card:nth-child(even) .st-affiliation,
.st-wrap .st-archive-grid > .st-card:nth-child(even) .st-quote-mark,
.st-wrap .st-archive-grid > .st-card:nth-child(even) .st-link,
.st-wrap .st-archive-grid > .st-card:nth-child(even) p{
  color:#0B2540 !important;
}
