/* ============================================================
   VettriThalapathy — index.css
   Home Page Specific Styles
   ============================================================ */

/* ── Ticker ── */
@keyframes ticker { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.ticker-scroll { display:flex; animation:ticker 35s linear infinite; width:max-content; white-space:nowrap; }
.ticker-scroll:hover { animation-play-state:paused; }

/* ── Alert pulse ── */
@keyframes alertPulse { 0%,100%{background:#dc2626} 50%{background:#b91c1c} }
.alert-pulse { animation:alertPulse 2s infinite; }

/* ── Card hover lift ── */
.clift { transition:transform .2s, box-shadow .2s; }
.clift:hover { transform:translateY(-3px); box-shadow:0 6px 24px rgba(0,0,0,.1); }

/* ── Reveal animation ── */
.reveal { opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease; }
.reveal.show { opacity:1; transform:translateY(0); }

/* ── Nav ── */
.nav-link { position:relative; transition:color .18s; }
.nav-link::after { content:""; position:absolute; bottom:-1px; left:0; right:0; height:2px; background:#800000; transform:scaleX(0); transition:transform .2s; transform-origin:left; }
.nav-link:hover::after, .nav-link.active::after { transform:scaleX(1); }
.nav-link:hover, .nav-link.active { color:#800000 !important; font-weight:600; }
.has-dd:hover .dd-menu { opacity:1; visibility:visible; transform:translateY(0); }
.dd-menu { opacity:0; visibility:hidden; transform:translateY(-6px); transition:all .2s ease; z-index:200; }

/* ── TVK Flag ── */
.ft { height:9px; background:#800000; }
.fm { height:16px; background:#FFD700; display:flex; align-items:center; justify-content:space-around; padding:0 3px; font-size:8px; }
.fb { height:9px; background:#800000; }

/* ── Section header bar ── */
.sh-red { width:4px; height:36px; border-radius:99px; background:#800000; flex-shrink:0; }
.sh-gold { width:4px; height:36px; border-radius:99px; background:#FFD700; flex-shrink:0; }

/* ── Section divider ── */
.divider { height:3px; background:linear-gradient(90deg,transparent,#800000 30%,#FFD700 50%,#800000 70%,transparent); }
.divider-thin { height:1px; background:#E5E5E5; }

/* ── Master Stroke ── */
.masterstroke { background:linear-gradient(135deg,#1A0000,#2A0000); border:2px solid #FFD700; border-radius:16px; position:relative; overflow:hidden; }
.masterstroke::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,#800000,#FFD700,#800000); }
.ms-badge { background:#FFD700; color:#1A1A1A; font-family:'Montserrat',sans-serif; font-weight:900; font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; padding:.28rem .85rem; border-radius:4px; }

/* ── Wrong / In Focus ── */
.wrong-card { background:#FFF8F0; border:2px solid #F59E0B; border-left:5px solid #DC2626; border-radius:12px; }
.wrong-badge { background:#DC2626; color:#fff; font-family:'Montserrat',sans-serif; font-weight:800; font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; padding:.22rem .7rem; border-radius:4px; }

/* ── Before / After comparison ── */
.ba-head { background:#1A1A1A; }
.ba-col-issue { border-right:1px solid #F5F5F5; }
.ba-before { background:#FFF5F5; border-right:1px solid #F5F5F5; }
.ba-after  { background:#F0FFF4; border-right:1px solid #F5F5F5; }
.ba-status { background:#FFFBEB; }
.ba-row { border-bottom:1px solid #F5F5F5; display:grid; grid-template-columns:1fr 1fr 1fr 1fr; }

/* ── Progress bars ── */
.prog { height:6px; background:#E5E5E5; border-radius:99px; overflow:hidden; }
.prog-red   { height:100%; border-radius:99px; background:#800000; transition:width 1s ease; }
.prog-gold  { height:100%; border-radius:99px; background:#FFD700; transition:width 1s ease; }
.prog-green { height:100%; border-radius:99px; background:#16A34A; transition:width 1s ease; }
.prog-gray  { height:100%; border-radius:99px; background:#9E9E9E; transition:width 1s ease; }

/* ── Activity timeline ── */
.tl-wrap { position:relative; padding-left:2rem; }
.tl-line { position:absolute; left:17px; top:0; bottom:0; width:2px; background:linear-gradient(to bottom,#800000,#FFD700); }
.tl-dot-r { width:10px; height:10px; border-radius:50%; background:#800000; border:2px solid #fff; flex-shrink:0; z-index:1; position:absolute; left:-1.5rem; top:.25rem; }
.tl-dot-g { width:10px; height:10px; border-radius:50%; background:#FFD700; border:2px solid #fff; flex-shrink:0; z-index:1; position:absolute; left:-1.5rem; top:.25rem; }
.tl-item { position:relative; margin-bottom:1.2rem; }
.tl-item:last-child { margin-bottom:0; }

/* ── Scheme cards ── */
.badge-apply   { background:#DC2626; color:#fff; font-family:'Montserrat',sans-serif; font-weight:800; font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; padding:.22rem .65rem; border-radius:4px; animation:alertPulse 2s infinite; }
.badge-coming  { background:#F59E0B; color:#fff; font-family:'Montserrat',sans-serif; font-weight:800; font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; padding:.22rem .65rem; border-radius:4px; }
.badge-done    { background:#16A34A; color:#fff; font-family:'Montserrat',sans-serif; font-weight:800; font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; padding:.22rem .65rem; border-radius:4px; }

/* ── Jobs ── */
.job-new     { background:#DC2626; color:#fff; font-family:'Montserrat',sans-serif; font-weight:800; font-size:.58rem; letter-spacing:.1em; text-transform:uppercase; padding:.15rem .5rem; border-radius:3px; }
.job-closing { background:#F59E0B; color:#fff; font-family:'Montserrat',sans-serif; font-weight:800; font-size:.58rem; letter-spacing:.1em; text-transform:uppercase; padding:.15rem .5rem; border-radius:3px; }

/* ── News category tabs ── */
.ntab { padding:.38rem .95rem; border-radius:99px; font-size:.7rem; font-weight:700; cursor:pointer; transition:all .18s; font-family:'Inter',sans-serif; letter-spacing:.04em; border:1.5px solid #E5E5E5; background:#fff; color:#717171; }
.ntab.active, .ntab:hover { background:#800000; color:#fff; border-color:#800000; }

/* ── CM Counter card ── */
.counter-card { background:#800000; border-radius:16px; padding:1.3rem 1.4rem; position:relative; overflow:hidden; }
.counter-card::before { content:""; position:absolute; top:0; right:0; width:120px; height:120px; border-radius:50%; background:#fff; opacity:.05; transform:translate(30%,-30%); }
.counter-block { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.1); border-radius:12px; padding:.7rem .5rem; text-align:center; }
.counter-num { font-family:'Montserrat',sans-serif; font-weight:900; font-size:1.6rem; line-height:1; color:#FFD700; display:block; }
.counter-lbl { font-size:.55rem; text-transform:uppercase; letter-spacing:.14em; color:rgba(255,255,255,.45); display:block; margin-top:.3rem; font-family:'Inter',sans-serif; }

/* ── Poll ── */
.poll-card { background:#fff; border-radius:16px; border:1px solid #E5E5E5; overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,.06), 0 4px 16px rgba(0,0,0,.06); }
.poll-head { background:linear-gradient(135deg,#5C0000,#800000); padding:1.3rem 1.6rem; }
.poll-opt { width:100%; display:flex; align-items:center; justify-content:space-between; padding:.65rem 1rem; border-radius:8px; border:1.5px solid #E5E5E5; background:#F5F5F5; font-size:.84rem; font-family:'Inter',sans-serif; color:#1A1A1A; font-weight:500; cursor:pointer; transition:all .18s; text-align:left; margin-bottom:.42rem; }
.poll-opt:last-child { margin-bottom:0; }
.poll-opt:hover { border-color:#800000; background:#FFF5F5; padding-left:1.2rem; }
.pbar { height:6px; background:#E5E5E5; border-radius:99px; overflow:hidden; margin:.25rem 0 .18rem; }
.pbar-fill     { height:100%; border-radius:99px; background:#800000; transition:width .9s ease; }
.pbar-fill.gold { background:#FFD700; }

/* ── Scrollbar ── */
::-webkit-scrollbar { width:5px; height:5px; }
::-webkit-scrollbar-track { background:#F5F5F5; }
::-webkit-scrollbar-thumb { background:#E5E5E5; border-radius:3px; }
::-webkit-scrollbar-thumb:hover { background:#9E9E9E; }

/* ── Pulse keyframe ── */
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.45;transform:scale(1.3)} }
.live-dot { width:7px; height:7px; border-radius:50%; background:#16A34A; display:inline-block; animation:pulse 2s infinite; }
.live-dot-gold { width:7px; height:7px; border-radius:50%; background:#FFD700; display:inline-block; animation:pulse 2s infinite; }

/* ── Responsive ── */
@media (max-width:768px) {
  .ba-row { grid-template-columns:1fr 1fr; }
  .ba-before { grid-column:1; border-right:1px solid #F5F5F5; }
  .ba-after  { grid-column:2; }
  .ba-col-issue { display:none; }
  .ba-status { grid-column:1/-1; }
  .counter-num { font-size:1.3rem; }
}
@media (max-width:480px) {
  .counter-num { font-size:1.1rem; }
}
