/* NMIMS CIIS — assets/css/04-sections/reviews.css — extracted from approved source (Phase 2B) */

/* Split from PREMIUM LEARNING EXPERIENCE UPGRADE (source has no separate marker) */
.student-voices-section{ position:relative; overflow:hidden; background:linear-gradient(180deg,#fff 0%,#F8F5FC 100%); padding: clamp(40px, 5vw, 80px) 0; border-top:1px solid rgba(75,44,123,.07);
}
.student-voices-section::before{ content:''; position:absolute; inset:0; background-image:radial-gradient(circle,rgba(75,44,123,.07) 1.2px,transparent 1.2px); background-size:26px 26px; opacity:.55; pointer-events:none;
}
.voices-head{position:relative; z-index:1; display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:34px;}
.voices-head .section-sub{max-width:560px;}
.voices-badge{display:inline-flex; align-items:center; gap:8px; padding:11px 18px; border-radius:999px; background:#fff; box-shadow:0 10px 30px rgba(75,44,123,.09); font-weight:700; color:var(--purple); font-size:.86rem; border:1px solid rgba(75,44,123,.10); white-space:nowrap;}
.voices-carousel-wrap{position:relative; z-index:1; overflow:hidden; padding:10px 0 18px;}
.voices-track{display:flex; gap:18px; width:max-content; animation:voicesScroll 34s linear infinite;}
.voices-track:hover{animation-play-state:paused;}
@keyframes voicesScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.voice-card{ width:365px; min-height:235px; background:#fff; border:1px solid rgba(75,44,123,.12); border-radius:22px; padding:26px; box-shadow:0 18px 55px rgba(32,18,58,.10); position:relative; overflow:hidden;
}
.voice-card::before{content:'”'; position:absolute; top:0px; left:22px; font-family:var(--font-display); font-size:7rem; line-height:1; color:rgba(200,16,46,.12);}
.voice-card::after{content:''; position:absolute; right:-40px; bottom:-45px; width:145px; height:145px; border-radius:50%; background:radial-gradient(circle,rgba(232,105,10,.14),transparent 68%);}
.voice-text{position:relative; z-index:2; font-size:.92rem; color:#514b47; line-height:1.75; margin:22px 0 22px;}
.voice-person{position:relative; z-index:2; display:flex; align-items:center; gap:14px;}
.voice-avatar{width:54px; height:54px; border-radius:50%; background:linear-gradient(135deg,var(--purple),var(--red)); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; box-shadow:0 8px 22px rgba(75,44,123,.20); border:3px solid #fff;}
.voice-person strong{display:block; color:var(--dark); font-size:.94rem;}
.voice-person span{display:block; color:var(--grey-text); font-size:.78rem; margin-top:2px;}
.voice-stars{color:#E8690A; letter-spacing:2px; font-size:.9rem; font-weight:700; margin-top: 30px;}
.voices-cta-card{position:relative; z-index:1; margin-top:28px; background:linear-gradient(135deg,var(--purple-dark),var(--purple)); border-radius:24px; padding:26px 30px; display:flex; justify-content:space-between; align-items:center; gap:20px; box-shadow:0 22px 65px rgba(75,44,123,.22); overflow:hidden;}
.voices-cta-card::before{content:''; position:absolute; right:-70px; top:-80px; width:240px; height:240px; background:radial-gradient(circle,rgba(255,255,255,.16),transparent 68%);}
.voices-cta-card strong{color:#fff; display:block; font-size:1.1rem; margin-bottom:4px;}
.voices-cta-card span{color:rgba(255,255,255,.72); font-size:.9rem;}
.voices-actions{display:flex; gap:12px; flex-wrap:wrap; position:relative; z-index:2;}
