/* ============================================================
   Live Mock Tests - showcase cards, detail page, countdown
   ============================================================ */
.lv-sec-title { display:flex; align-items:center; gap:.5rem; font-size:1.05rem; font-weight:700; margin:1.4rem 0 .8rem; color:#0f172a; }
.lv-dot { width:10px; height:10px; border-radius:50%; background:#ef4444; box-shadow:0 0 0 0 rgba(239,68,68,.6); animation:lvPulse 1.6s infinite; display:inline-block; }
@keyframes lvPulse { 0%{box-shadow:0 0 0 0 rgba(239,68,68,.6);} 70%{box-shadow:0 0 0 9px rgba(239,68,68,0);} 100%{box-shadow:0 0 0 0 rgba(239,68,68,0);} }

.lv-card { position:relative; background:#fff; border:1px solid #e3e9f4; border-radius:1.2rem; overflow:hidden; height:100%; display:flex; flex-direction:column; box-shadow:0 2px 10px rgba(15,23,42,.05); transition:.18s; text-decoration:none; color:inherit; }
.lv-card:hover { transform:translateY(-3px); box-shadow:0 16px 34px rgba(15,23,42,.12); color:inherit; }
.lv-banner { position:relative; padding:1rem 1rem 2.6rem; color:#fff; background:linear-gradient(135deg,var(--g1,#2563eb),var(--g2,#4f46e5)); }
.lv-banner::after { content:""; position:absolute; right:-30px; top:-40px; width:130px; height:130px; border-radius:50%; background:rgba(255,255,255,.12); }
.lv-card.is-live .lv-banner { background:linear-gradient(135deg,#dc2626,#f97316); }
.lv-card.is-ended .lv-banner { background:linear-gradient(135deg,#64748b,#94a3b8); }
.lv-badge { position:relative; z-index:1; display:inline-flex; align-items:center; gap:.4rem; background:rgba(255,255,255,.2); border:1px solid rgba(255,255,255,.3); border-radius:999px; padding:.15rem .65rem; font-size:.7rem; font-weight:700; letter-spacing:.4px; }
.lv-price { position:absolute; right:.9rem; top:.9rem; z-index:1; background:#fff; color:#0f172a; border-radius:999px; padding:.15rem .65rem; font-size:.74rem; font-weight:800; }
.lv-price.free { color:#15803d; }
.lv-logo { position:absolute; left:1rem; bottom:-26px; width:56px; height:56px; border-radius:16px; background:#fff; border:3px solid #fff; box-shadow:0 6px 16px rgba(15,23,42,.18); display:flex; align-items:center; justify-content:center; overflow:hidden; z-index:2; font-weight:800; color:var(--g1,#2563eb); font-size:1.1rem; }
.lv-logo img { width:100%; height:100%; object-fit:cover; }
.lv-body { padding:2rem 1rem 1rem; display:flex; flex-direction:column; flex:1; }
.lv-exam { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--g1,#2563eb); }
.lv-title { font-size:1rem; font-weight:700; line-height:1.35; margin:.15rem 0 .6rem; overflow-wrap:anywhere; color:#0f172a; }
.lv-meta { display:flex; flex-wrap:wrap; gap:.3rem .5rem; margin-bottom:.8rem; }
.lv-meta span { display:inline-flex; align-items:center; gap:.3rem; font-size:.74rem; background:#f1f5f9; color:#475569; border-radius:999px; padding:.15rem .6rem; }
.lv-meta span i { color:var(--g1,#2563eb); }
.lv-when { font-size:.8rem; color:#334155; margin-bottom:.8rem; display:flex; gap:.4rem; align-items:flex-start; }
.lv-when i { color:#ef4444; margin-top:2px; }
.lv-cta { margin-top:auto; display:block; text-align:center; border-radius:.85rem; padding:.6rem 1rem; font-weight:700; font-size:.9rem; text-decoration:none; background:linear-gradient(135deg,var(--g1,#2563eb),var(--g2,#4f46e5)); color:#fff; border:0; width:100%; }
.lv-card.is-live .lv-cta { background:linear-gradient(135deg,#dc2626,#f97316); box-shadow:0 8px 18px rgba(220,38,38,.25); }
.lv-card.is-ended .lv-cta { background:#eef2f7; color:#334155; }
.lv-cta.registered { background:linear-gradient(135deg,#16a34a,#22c55e) !important; color:#fff !important; }
.lv-count { font-variant-numeric:tabular-nums; font-weight:700; color:#1e3a8a; }

/* detail page hero */
.lv-hero { position:relative; border-radius:1.3rem; overflow:hidden; color:#fff; padding:1.2rem 1.1rem 1.3rem; background:linear-gradient(135deg,#1e3a8a,#2563eb 60%,#6366f1); margin-bottom:1rem; }
.lv-hero.is-live { background:linear-gradient(135deg,#b91c1c,#ef4444 55%,#f97316); }
.lv-hero.is-ended { background:linear-gradient(135deg,#475569,#64748b); }
.lv-hero::after { content:""; position:absolute; right:-50px; top:-60px; width:200px; height:200px; border-radius:50%; background:rgba(255,255,255,.1); }
.lv-hero > * { position:relative; z-index:1; }
.lv-hero-top { display:flex; gap:.9rem; align-items:center; }
.lv-hero .lv-logo { position:static; width:64px; height:64px; flex:0 0 64px; }
.lv-hero h1 { font-size:1.25rem; font-weight:800; margin:0; line-height:1.3; color:#fff; overflow-wrap:anywhere; }
.lv-hero .sub { font-size:.82rem; opacity:.9; margin-top:.15rem; }
@media (min-width:768px){ .lv-hero { padding:1.6rem 1.8rem; } .lv-hero h1 { font-size:1.6rem; } }
.lv-timer { display:flex; gap:.5rem; margin-top:1rem; }
.lv-tbox { background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.28); border-radius:.9rem; min-width:64px; padding:.5rem .4rem; text-align:center; }
.lv-tbox b { display:block; font-size:1.5rem; line-height:1.1; font-variant-numeric:tabular-nums; }
.lv-tbox span { font-size:.62rem; text-transform:uppercase; letter-spacing:.5px; opacity:.85; }
.lv-facts { display:grid; grid-template-columns:repeat(2,1fr); gap:.5rem; margin-bottom:1rem; }
@media (min-width:768px){ .lv-facts { grid-template-columns:repeat(3,1fr); } }
.lv-fact { background:#fff; border:1px solid #e3e9f4; border-radius:.9rem; padding:.6rem .75rem; display:flex; gap:.6rem; align-items:center; }
.lv-fact i { width:34px; height:34px; border-radius:10px; background:#eaf2fd; color:#2563eb; display:flex; align-items:center; justify-content:center; flex:0 0 34px; }
.lv-fact b { display:block; font-size:.86rem; line-height:1.25; color:#0f172a; }
.lv-fact span { font-size:.7rem; color:#64748b; }
.lv-action { background:#fff; border:1px solid #cddcfa; border-radius:1.1rem; padding:1.1rem; margin-bottom:1rem; box-shadow:0 8px 24px rgba(37,99,235,.10); }
.lv-action h2 { font-size:1rem; font-weight:700; margin:0 0 .3rem; }
.lv-action .btn { border-radius:.85rem; font-weight:700; padding:.7rem 1.3rem; }
.lv-btn-main { background:linear-gradient(135deg,#2563eb,#4f46e5); color:#fff; border:0; }
.lv-btn-main:hover { color:#fff; filter:brightness(1.06); }
.lv-btn-live { background:linear-gradient(135deg,#dc2626,#f97316); color:#fff; border:0; box-shadow:0 8px 18px rgba(220,38,38,.28); }
.lv-btn-live:hover { color:#fff; filter:brightness(1.06); }
.lv-ok { display:inline-flex; align-items:center; gap:.4rem; background:#dcfce7; color:#15803d; border-radius:999px; padding:.25rem .8rem; font-weight:700; font-size:.82rem; }
.lv-board { background:#fff; border:1px solid #e3e9f4; border-radius:1.1rem; padding:1rem; margin-bottom:1rem; }
.lv-row { display:flex; align-items:center; gap:.7rem; padding:.5rem 0; border-bottom:1px solid #f1f5f9; }
.lv-row:last-child { border-bottom:0; }
.lv-rank { flex:0 0 36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:.85rem; background:#f1f5f9; color:#334155; }
.lv-rank.r1 { background:#fde68a; color:#92400e; } .lv-rank.r2 { background:#e2e8f0; color:#334155; } .lv-rank.r3 { background:#fed7aa; color:#9a3412; }
