/* ===== SHADCN/UI DESIGN TOKENS ===== */
:root {
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --border: #e2e8f0;
  --muted: #f8fafc;
  --muted-fg: #64748b;
  --ring: rgba(26,58,107,0.3);
}

/* ===== SCROLL ANIMATIONS ===== */
.anim { opacity: 0; transform: translateY(32px); transition: opacity 0.6s cubic-bezier(.16,1,.3,1), transform 0.6s cubic-bezier(.16,1,.3,1); }
.anim.anim-in { opacity: 1; transform: translateY(0); }
.anim-left { opacity: 0; transform: translateX(-40px); transition: opacity 0.6s cubic-bezier(.16,1,.3,1), transform 0.6s cubic-bezier(.16,1,.3,1); }
.anim-left.anim-in { opacity: 1; transform: translateX(0); }
.anim-right { opacity: 0; transform: translateX(40px); transition: opacity 0.6s cubic-bezier(.16,1,.3,1), transform 0.6s cubic-bezier(.16,1,.3,1); }
.anim-right.anim-in { opacity: 1; transform: translateX(0); }
.anim-scale { opacity: 0; transform: scale(0.92); transition: opacity 0.5s cubic-bezier(.16,1,.3,1), transform 0.5s cubic-bezier(.16,1,.3,1); }
.anim-scale.anim-in { opacity: 1; transform: scale(1); }

/* Stagger delays */
.anim-d1 { transition-delay: 0.1s; }
.anim-d2 { transition-delay: 0.2s; }
.anim-d3 { transition-delay: 0.3s; }
.anim-d4 { transition-delay: 0.4s; }
.anim-d5 { transition-delay: 0.5s; }

/* ===== SHADCN CARD STYLE ===== */
.sd-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  transition: box-shadow 0.2s, transform 0.2s;
}
.sd-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.10);
  transform: translateY(-4px);
}

/* ===== SHADCN BADGE ===== */
.sd-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 10px;
  border-radius: 9999px;
  font-size: 0.72rem;
  font-weight: 600;
  border: 1px solid transparent;
}
.sd-badge-primary { background: #eff6ff; color: var(--primary); border-color: #bfdbfe; }
.sd-badge-secondary { background: #fef9ee; color: #92400e; border-color: #fde68a; }
.sd-badge-success { background: #f0fdf4; color: #166534; border-color: #bbf7d0; }
.sd-badge-accent { background: #fef2f2; color: #991b1b; border-color: #fecaca; }

/* ===== SHADCN BUTTON OVERRIDES ===== */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 24px;
  border-radius: var(--radius-md);
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.2s;
  border: 1px solid transparent;
  letter-spacing: 0.01em;
}
.btn-primary { background: var(--primary); color: var(--white); border-color: var(--primary); }
.btn-primary:hover { background: #15306a; box-shadow: 0 0 0 3px var(--ring); transform: translateY(-1px); }
.btn-secondary { background: var(--white); color: var(--primary); border-color: var(--border); }
.btn-secondary:hover { background: var(--muted); }
.btn-outline { background: transparent; color: var(--white); border: 1.5px solid rgba(255,255,255,0.6); }
.btn-outline:hover { background: var(--white); color: var(--primary); }
.btn-gold { background: var(--secondary); color: var(--white); border-color: var(--secondary); }
.btn-gold:hover { background: #c8880e; box-shadow: 0 0 0 3px rgba(232,160,32,0.3); }

/* ===== LUCIDE ICON WRAPPERS ===== */
.icon-box {
  width: 52px; height: 52px;
  border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.icon-box svg { width: 24px; height: 24px; }
.icon-box-primary { background: #eff6ff; color: var(--primary); }
.icon-box-gold { background: #fef9ee; color: var(--secondary); }
.icon-box-white { background: rgba(255,255,255,0.15); color: var(--white); }

/* ===== HERO SLIDE CONTENT ANIMATION ===== */
.slide.active .slide-content .tag { animation: fadeDown 0.6s 0.2s both; }
.slide.active .slide-content h2 { animation: fadeDown 0.6s 0.35s both; }
.slide.active .slide-content p { animation: fadeDown 0.6s 0.5s both; }
.slide.active .slide-btns { animation: fadeDown 0.6s 0.65s both; }
@keyframes fadeDown { from { opacity:0; transform:translateY(-20px); } to { opacity:1; transform:translateY(0); } }

/* ===== PULSE ANIMATION FOR WHATSAPP ===== */
.whatsapp-btn::before {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background: #25d366;
  opacity: 0.4;
  animation: pulse 2s infinite;
  z-index: -1;
}
@keyframes pulse { 0%,100% { transform:scale(1); opacity:0.4; } 50% { transform:scale(1.3); opacity:0; } }

/* ===== SHIMMER ON STAT NUMBERS ===== */
.stat-item .num { position: relative; display: inline-block; }

/* ===== FACILITY CARD ICON HOVER ===== */
.facility-card .icon-box { transition: transform 0.3s, background 0.3s; }
.facility-card:hover .icon-box { transform: scale(1.12) rotate(-4deg); background: var(--primary); color: var(--white); }

/* ===== PROGRAM CARD TOP BORDER ANIMATION ===== */
.program-card { position: relative; overflow: hidden; }
.program-card::after { content:''; position:absolute; bottom:0; left:0; width:0; height:3px; background:var(--secondary); transition:width 0.4s; }
.program-card:hover::after { width:100%; }

/* ===== TOPPER CARD SHINE ===== */
.topper-card { overflow: hidden; position: relative; }
.topper-card::before { content:''; position:absolute; top:-60%; left:-60%; width:40%; height:200%; background:rgba(255,255,255,0.15); transform:rotate(25deg); transition:left 0.5s; }
.topper-card:hover::before { left:130%; }

/* ===== STEP CARD HOVER ===== */
.step-card { transition: transform 0.3s, box-shadow 0.3s; }
.step-card:hover { transform: translateY(-6px); box-shadow: 0 12px 28px rgba(26,58,107,0.15); }

/* ===== NEWS CARD IMAGE ZOOM ===== */
.news-img { overflow: hidden; transition: transform 0.4s; }
.news-card:hover .news-img { transform: scale(1.04); }

/* ===== DOWNLOAD CARD LEFT BORDER ===== */
.download-card { border-left: 3px solid transparent; transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s; }
.download-card:hover { border-left-color: var(--secondary); }

/* ===== ALUMNI CARD AVATAR RING ===== */
.alumni-avatar { transition: box-shadow 0.3s, transform 0.3s; }
.alumni-card:hover .alumni-avatar { box-shadow: 0 0 0 4px var(--secondary); transform: scale(1.08); }

/* ===== SECTION TITLE UNDERLINE ANIMATION ===== */
.section-title { position: relative; display: inline-block; width: 100%; }
.section-title::after { content:''; display:block; width:60px; height:3px; background:var(--secondary); border-radius:2px; margin:10px auto 0; }

/* ===== ABOUT FEATURES CHECK ICON ===== */
.feat-item svg { color: var(--secondary); flex-shrink: 0; }

/* ===== TESTIMONIAL CARD QUOTE ===== */
.testimonial-card { position: relative; }
.testimonial-card::before { content:'"'; position:absolute; top:10px; right:20px; font-size:5rem; color:rgba(255,255,255,0.06); font-family:Georgia,serif; line-height:1; }

/* ===== CBSE BAR ITEMS ===== */
.cbse-item { display:flex; align-items:center; gap:8px; }
.cbse-item svg { color: var(--secondary); flex-shrink:0; }

/* ===== INFO ICON SVG ===== */
.info-icon { width:44px; height:44px; background:var(--primary); border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--white); }
.info-icon svg { width:20px; height:20px; }

/* ===== SOCIAL LINKS SVG ===== */
.social-links a svg { width:18px; height:18px; }

/* ===== NOTICE LABEL SVG ===== */
.notice-label { display:flex; align-items:center; gap:6px; }
.notice-label svg { width:14px; height:14px; }

/* ===== WHATSAPP BTN POSITION FIX ===== */
.whatsapp-btn { position:fixed; bottom:82px; right:28px; width:52px; height:52px; background:#25d366; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 16px rgba(37,211,102,0.5); z-index:999; transition:transform 0.3s; }
.whatsapp-btn:hover { transform:scale(1.12); }
.whatsapp-btn svg { width:28px; height:28px; color:#fff; }
