/* ==========================================================
   Navodaya / Sainik School page — school + OMR hero, exam
   pattern cards, Mini Mock Test with OMR sheet.
   Shared bits live in course-page.css.
   ========================================================== */

/* ---------- Hero ---------- */
.nv-hero{ width:100%; max-width:500px; display:block; margin:0 auto; overflow:visible; filter: drop-shadow(0 30px 40px rgba(60,20,0,.3)); }
.nv-hero .omr-title{ font-family: var(--font-display); font-weight:800; font-size:11px; letter-spacing:.08em; fill: var(--navy); text-anchor:middle; }
.nv-hero .omr-n{ font-family: var(--font-display); font-weight:700; font-size:12px; fill: var(--slate); text-anchor:middle; }

/* ---------- Exam pattern ---------- */
.exam-card{ padding:1.6rem; }
.exam-head{ display:flex; gap:1rem; align-items:center; margin-bottom:1.1rem; }
.exam-head h3{ font-size:1.15rem; margin:0 0 .15rem; }
.exam-head p{ font-size:.85rem; }
.exam-badge{
  flex:none; display:inline-flex; align-items:center; justify-content:center; width:72px; height:72px; border-radius:18px;
  background: var(--royal); color:#fff; font-family: var(--font-display); font-weight:800; font-size:.85rem; letter-spacing:.04em;
}
.exam-badge.is-sainik{ background:#3D5A2A; }
.exam-table{ width:100%; border-collapse:collapse; font-size:.9rem; }
.exam-table th{ font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color: var(--slate); padding:.45rem .4rem; border-bottom:2px solid var(--line); text-align:left; }
.exam-table td{ padding:.5rem .4rem; border-bottom:1px solid var(--line); color: var(--ink); }
.exam-table td:not(:first-child), .exam-table th:not(:first-child){ text-align:center; }
.exam-table .total td{ font-weight:800; color: var(--navy); border-bottom:none; }
.exam-weight{ display:flex; margin-top:1rem; border-radius:999px; overflow:hidden; font-size:.7rem; font-weight:700; color:#fff; }
.exam-weight span{ padding:.35rem .6rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.exam-weight span:nth-child(1){ background: var(--royal); }
.exam-weight span:nth-child(2){ background: var(--coaching-accent); }
.exam-weight span:nth-child(3){ background: var(--study-accent); }
.exam-note{ font-size:.85rem; margin-top:1rem; background: var(--paper); border-radius: var(--radius-sm); padding:.7rem .9rem; }
.exam-disclaimer{ font-size:.8rem; color: var(--slate); }

/* ---------- Mock test: question paper ---------- */
.mt-paper{ min-height:440px; }
.mt-start{ text-align:center; padding:1.5rem .5rem; }
.mt-start-icon{
  width:76px; height:76px; border-radius:22px; margin:0 auto 1rem; display:flex; align-items:center; justify-content:center;
  background: rgba(217,114,44,.12); color: var(--coaching-accent); font-size:2.2rem;
}
.mt-rules{ list-style:none; padding:0; margin:1rem auto 1.6rem; max-width:440px; text-align:left; }
.mt-rules li{ display:flex; gap:.7rem; align-items:flex-start; color: var(--slate); font-size:.92rem; margin-bottom:.6rem; }
.mt-rules .bi{ color: var(--coaching-accent); margin-top:.15rem; }
.mt-section{ font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#fff; background: var(--coaching-accent); border-radius:999px; padding:.25rem .7rem; }
.mt-num{ font-size:.82rem; font-weight:700; color: var(--slate); }
.mt-text{ font-family: var(--font-display); font-weight:700; font-size:1.2rem; color: var(--navy); margin:.6rem 0 .8rem; }
.mt-figs{ display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; margin-bottom:1rem; }
.mt-figs:empty{ display:none; }
.q-fig{ width:64px; height:64px; background:#fff; border:1.5px solid var(--line); border-radius:10px; fill: var(--navy); }
.q-fig .fig-frame{ fill:none; stroke: var(--line); stroke-width:1.5; }
.q-fig.is-q{ border-style:dashed; border-color: var(--coaching-accent); }
.q-fig.is-q text{ font-family: var(--font-display); font-weight:800; font-size:28px; fill: var(--coaching-accent); text-anchor:middle; }
.mirror-line{ display:inline-block; width:3px; height:64px; background: repeating-linear-gradient(var(--coaching-accent) 0 6px, transparent 6px 10px); }

.mt-opts{ display:grid; grid-template-columns: 1fr 1fr; gap:.6rem; }
.mt-opt{
  display:flex; align-items:center; gap:.7rem; text-align:left; border:2px solid var(--line); background:#fff; border-radius: var(--radius-sm);
  padding:.6rem .8rem; font-weight:600; color: var(--ink); transition: border-color .15s ease, background .15s ease;
}
.mt-opt:hover{ border-color: var(--coaching-accent); }
.mt-opt.is-picked{ border-color: var(--navy); background: rgba(16,32,61,.05); }
.mt-letter{
  flex:none; width:28px; height:28px; border-radius:50%; border:1.5px solid var(--navy); display:inline-flex; align-items:center; justify-content:center;
  font-family: var(--font-display); font-weight:800; font-size:.8rem; color: var(--navy);
}
.mt-opt.is-picked .mt-letter{ background: var(--navy); color:#fff; }
.mt-opt.is-fig .q-fig{ width:56px; height:56px; }

/* ---------- Mock test: result ---------- */
.mt-result{ display:flex; gap:1.4rem; align-items:center; flex-wrap:wrap; margin-bottom:1.2rem; }
.mt-ring{ width:120px; height:120px; flex:none; }
.mt-ring .ring-bg{ fill:none; stroke: var(--paper-dim); stroke-width:12; }
.mt-ring .ring-fg{ fill:none; stroke: var(--study-accent); stroke-width:12; stroke-linecap:round; transition: stroke-dasharray 1s ease; }
.mt-result-label{ font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color: var(--slate); }
.mt-score{ font-family: var(--font-display); font-weight:800; font-size:2.4rem; color: var(--navy); line-height:1.1; }
.mt-verdict{ font-weight:600; color: var(--ink); }
.mt-sections{ display:grid; gap:.7rem; margin-bottom:1rem; }
.mt-sec-head{ display:flex; justify-content:space-between; font-size:.85rem; font-weight:700; color: var(--navy); margin-bottom:.25rem; }
.mt-bar{ height:9px; border-radius:999px; background: var(--paper-dim); overflow:hidden; }
.mt-bar span{ display:block; height:100%; background: var(--coaching-accent); border-radius:999px; }
.mt-review-tip{ font-size:.8rem; color: var(--slate); }

/* ---------- OMR sheet ---------- */
.omr-sheet{
  background:#FFFDF2; border:1px solid #E9DFB8; border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); overflow:hidden; height:100%;
  display:flex; flex-direction:column;
}
.omr-head{ display:flex; justify-content:space-between; align-items:center; background:#FFD27A; padding:.8rem 1.1rem;
  font-family: var(--font-display); font-weight:800; font-size:.85rem; letter-spacing:.06em; text-transform:uppercase; color: var(--navy); }
.mt-timer{ font-variant-numeric: tabular-nums; background: var(--navy); color:#fff; border-radius:999px; padding:.2rem .7rem; letter-spacing:0; }
.mt-timer.is-low{ background:#D9412C; animation: timerBlink 1s ease infinite; }
@keyframes timerBlink{ 50%{ opacity:.6; } }
.omr-rows{ padding:.8rem 1rem; flex:1; }
.omr-empty{ font-size:.85rem; color: var(--slate); text-align:center; padding:2rem .5rem; }
.omr-row{ display:flex; align-items:center; gap:.45rem; padding:.28rem .4rem; border-radius:8px; cursor:pointer; }
.omr-row.is-current{ background: rgba(217,164,65,.22); }
.omr-num{ width:1.6rem; font-family: var(--font-display); font-weight:800; font-size:.85rem; color: var(--navy); }
.omr-bubble{
  width:28px; height:28px; border-radius:50%; border:1.5px solid #9AA3B8; background:#fff; color:#8E96A6; font-size:.7rem; font-weight:700;
  display:inline-flex; align-items:center; justify-content:center; padding:0; transition: background .15s ease, transform .1s ease;
}
.omr-bubble:hover:not(:disabled){ border-color: var(--navy); }
.omr-bubble:active:not(:disabled){ transform: scale(.9); }
.omr-bubble.is-filled{ background: var(--navy); border-color: var(--navy); color: var(--navy); }
.omr-bubble.is-correct{ border-color: var(--study-accent); border-width:2.5px; color: var(--study-accent); }
.omr-bubble.is-correct.is-filled{ background: var(--study-accent); color: var(--study-accent); }
.omr-bubble.is-wrong{ background:#D9412C; border-color:#D9412C; color:#D9412C; }
.omr-foot{ display:flex; justify-content:space-between; align-items:center; padding:.8rem 1.1rem; border-top:1px dashed #E9DFB8; font-size:.85rem; color: var(--slate); }
.omr-foot b{ color: var(--navy); }

@media (max-width: 575.98px){
  .mt-opts{ grid-template-columns: 1fr; }
  .q-fig{ width:52px; height:52px; }
  .mirror-line{ height:52px; }
}
