/* Mains Practice Questions — shared stylesheet for hub, archive and single templates.
   Prefix: .mpq-* (Mains Practice Questions). */

.mpq-page{--mpq-ink:#171717;--mpq-text:#292524;--mpq-muted:#625f59;--mpq-line:#e7e5e4;--mpq-bg:#fffdfa;--mpq-soft:#f8f2e5;--mpq-card:#fff;--mpq-accent:#1f3b61;--mpq-blue:#1e3a8a;--mpq-green:#0f766e;--mpq-gold:#a16207;--mpq-shadow:0 16px 44px rgba(23,23,23,.08);font-family:var(--sans, system-ui);color:var(--mpq-text);background:var(--mpq-bg);line-height:1.55}
.mpq-page *{box-sizing:border-box}
.mpq-wrap{max-width:1180px;margin:0 auto;padding:0 24px}

/* ── Hero ─────────────────────────────────────────────────────────── */
.mpq-hero{padding:42px 0 40px;background:linear-gradient(180deg,#eff6ff 0%,#fffdfa 82%);border-bottom:1px solid var(--mpq-line)}
.mpq-crumbs{font-size:13px;color:var(--mpq-muted);margin:0 0 18px}
.mpq-crumbs a{color:var(--mpq-muted);text-decoration:none;border-bottom:1px dotted #c9c3bb}
.mpq-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;color:var(--mpq-accent);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.mpq-eyebrow:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--mpq-green);box-shadow:0 0 0 5px rgba(15,118,110,.12)}
.mpq-page h1{font-family:'CharmanSerif',Georgia,serif;font-size:clamp(38px,5.4vw,60px);line-height:1.04;letter-spacing:0;margin:0 0 18px;color:var(--mpq-ink);max-width:18ch}
.mpq-lead{font-size:clamp(17px,1.4vw,20px);line-height:1.55;color:var(--mpq-muted);margin:0 0 22px;max-width:780px}
.mpq-meta-strip{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0}
.mpq-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.86);border:1px solid var(--mpq-line);border-radius:999px;padding:8px 14px;font-size:13.5px;font-weight:800;color:var(--mpq-ink)}
.mpq-pill em{font-style:normal;color:var(--mpq-muted);font-weight:600;margin-left:6px}

/* ── Section frame ───────────────────────────────────────────────── */
.mpq-section{padding:54px 0;border-bottom:1px solid var(--mpq-line);scroll-margin-top:90px}
.mpq-section-alt{background:#fbfaf7}
.mpq-section-head{max-width:800px;margin:0 0 26px}
.mpq-kicker{margin:0 0 9px;color:var(--mpq-accent);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.mpq-page h2{font-family:'CharmanSerif',Georgia,serif;font-size:clamp(26px,3vw,38px);line-height:1.14;letter-spacing:0;color:var(--mpq-ink);margin:0 0 12px}
.mpq-section-head p,.mpq-copy{font-size:17px;color:var(--mpq-muted);line-height:1.65;margin:0;max-width:800px}

/* ── Paper cards (hub) ───────────────────────────────────────────── */
.mpq-papers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mpq-paper-card{display:flex;flex-direction:column;justify-content:space-between;background:#fff;border:1px solid var(--mpq-line);border-radius:12px;padding:24px;text-decoration:none;color:var(--mpq-ink);box-shadow:0 8px 24px rgba(23,23,23,.04);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.mpq-paper-card:hover{transform:translateY(-2px);border-color:var(--mpq-accent);box-shadow:0 14px 32px rgba(23,23,23,.10)}
.mpq-paper-card .mpq-paper-tag{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:9px;background:#eff6ff;color:var(--mpq-accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:900;font-size:14px;margin-bottom:14px}
.mpq-paper-card h3{font-family:'CharmanSerif',Georgia,serif;font-size:22px;line-height:1.2;margin:0 0 6px;color:var(--mpq-ink)}
.mpq-paper-card p{margin:0;color:var(--mpq-muted);font-size:15.5px;line-height:1.55}
.mpq-paper-card .mpq-paper-foot{margin-top:18px;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--mpq-muted);font-weight:700}
.mpq-paper-card .mpq-paper-foot strong{color:var(--mpq-accent);font-size:18px}

/* ── Question list (archive) ─────────────────────────────────────── */
.mpq-q-list{display:flex;flex-direction:column;gap:14px}
.mpq-q-card{background:#fff;border:1px solid var(--mpq-line);border-radius:12px;padding:24px 26px;box-shadow:0 6px 18px rgba(23,23,23,.04);position:relative}
.mpq-q-head{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 10px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--mpq-muted)}
.mpq-q-head .mpq-q-num{color:var(--mpq-accent)}
.mpq-q-head .mpq-q-marks{background:var(--mpq-soft);color:var(--mpq-ink);padding:2px 10px;border-radius:999px}
.mpq-q-head .mpq-q-time{color:var(--mpq-green)}
.mpq-q-head .mpq-q-diff{color:var(--mpq-gold)}
.mpq-q-card h3{font-family:'CharmanSerif',Georgia,serif;font-size:22px;line-height:1.32;margin:0 0 14px;color:var(--mpq-ink)}
.mpq-q-card h3 a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.mpq-q-card h3 a:hover{border-bottom-color:var(--mpq-accent)}
.mpq-q-subtopic{font-size:13.5px;color:var(--mpq-muted);margin:0 0 12px}
.mpq-q-subtopic strong{color:var(--mpq-ink);font-weight:700}

/* Accordion (model answer reveal) on archive cards */
.mpq-q-reveal{margin:14px 0 0;border-top:1px dashed var(--mpq-line);padding-top:14px}
.mpq-q-reveal summary{cursor:pointer;list-style:none;font-size:14px;font-weight:800;color:var(--mpq-accent);display:inline-flex;align-items:center;gap:6px}
.mpq-q-reveal summary::-webkit-details-marker{display:none}
.mpq-q-reveal summary:after{content:"\002B";font-size:18px;line-height:1}
.mpq-q-reveal[open] summary:after{content:"\2212"}
.mpq-q-reveal-body{margin-top:14px;font-size:15.5px;line-height:1.6;color:var(--mpq-text)}
.mpq-q-reveal-body ul{margin:8px 0 0;padding-left:18px}
.mpq-q-reveal-body li{margin:0 0 5px}

/* ── Filter strip ────────────────────────────────────────────────── */
.mpq-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;align-items:center}
.mpq-filter-chip{background:#fff;border:1px solid var(--mpq-line);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;color:var(--mpq-text);text-decoration:none}
.mpq-filter-chip.is-active,.mpq-filter-chip:hover{background:var(--mpq-ink);color:#fff;border-color:var(--mpq-ink)}
.mpq-filter-label{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--mpq-muted);margin-right:6px}

/* ── Single question detail ──────────────────────────────────────── */
.mpq-q-page{max-width:880px;margin:0 auto;padding:48px 24px 60px}
.mpq-q-page .mpq-q-head{margin-bottom:18px}
.mpq-q-page h1{font-family:'CharmanSerif',Georgia,serif;font-size:clamp(28px,3.4vw,40px);line-height:1.28;margin:0 0 20px;color:var(--mpq-ink)}
.mpq-q-page .mpq-q-subtopic{font-size:15px;margin:0 0 28px}
.mpq-q-pane{background:#fff;border:1px solid var(--mpq-line);border-radius:12px;padding:26px 28px;margin:0 0 18px;box-shadow:0 8px 20px rgba(23,23,23,.04)}
.mpq-q-pane h2{font-family:'CharmanSerif',Georgia,serif;font-size:22px;line-height:1.2;margin:0 0 14px;color:var(--mpq-ink)}
.mpq-q-pane .mpq-q-pane-kicker{display:block;margin:-4px 0 6px;font-size:11.5px;color:var(--mpq-accent);font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.mpq-q-pane ul,.mpq-q-pane ol{margin:0;padding-left:22px;color:var(--mpq-text);font-size:16px;line-height:1.55}
.mpq-q-pane li{margin:0 0 8px}
.mpq-q-pane .mpq-outline{font-size:16px;line-height:1.65;color:var(--mpq-text)}
.mpq-q-pane .mpq-outline h3{font-family:'CharmanSerif',Georgia,serif;font-size:18px;margin:18px 0 8px;color:var(--mpq-ink)}
.mpq-q-pane .mpq-outline p{margin:0 0 10px}
.mpq-q-keywords{display:flex;flex-wrap:wrap;gap:8px}
.mpq-q-keywords span{background:var(--mpq-soft);color:var(--mpq-ink);font-size:13px;font-weight:700;padding:4px 12px;border-radius:999px}
.mpq-q-source{display:block;color:var(--mpq-ink);font-size:15px;line-height:1.5;text-decoration:none;border-bottom:1px solid transparent;padding:2px 0}
.mpq-q-source:hover{border-bottom-color:var(--mpq-accent);color:var(--mpq-accent)}
.mpq-q-source em{display:block;font-size:13px;color:var(--mpq-muted);font-style:normal}
.mpq-q-nav{display:flex;justify-content:space-between;gap:14px;margin:34px 0 0}
.mpq-q-nav a{flex:1;background:#fff;border:1px solid var(--mpq-line);border-radius:10px;padding:14px 16px;text-decoration:none;color:var(--mpq-ink);font-size:14px}
.mpq-q-nav a:hover{border-color:var(--mpq-accent)}
.mpq-q-nav a span{display:block;font-size:11px;color:var(--mpq-muted);font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.mpq-q-nav a.is-prev{text-align:left}
.mpq-q-nav a.is-next{text-align:right}

/* ── Pagination ──────────────────────────────────────────────────── */
.mpq-pagination{display:flex;justify-content:center;gap:8px;margin:34px 0 0}
.mpq-pagination .page-numbers{padding:8px 14px;border:1px solid var(--mpq-line);border-radius:8px;color:var(--mpq-ink);text-decoration:none;font-size:14px;font-weight:700}
.mpq-pagination .page-numbers.current{background:var(--mpq-ink);color:#fff;border-color:var(--mpq-ink)}
.mpq-pagination .page-numbers:hover{border-color:var(--mpq-accent);color:var(--mpq-accent)}

/* ── Hub: TOC ────────────────────────────────────────────────────── */
.mpq-toc{background:#fff;border:1px solid var(--mpq-line);border-radius:10px;padding:20px 22px;margin:26px 0 0;box-shadow:0 8px 22px rgba(23,23,23,.04)}
.mpq-toc p{margin:0 0 10px;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--mpq-muted)}
.mpq-toc ol{margin:0;padding:0;list-style:none;columns:2;column-gap:32px;counter-reset:mpq-toc}
.mpq-toc li{break-inside:avoid;margin:0 0 8px;font-size:15px}
.mpq-toc li:before{counter-increment:mpq-toc;content:counter(mpq-toc) ".";font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--mpq-accent);font-size:12px;font-weight:800;margin-right:8px}
.mpq-toc a{color:var(--mpq-ink);text-decoration:none;border-bottom:1px dotted transparent}
.mpq-toc a:hover{color:var(--mpq-accent);border-bottom-color:var(--mpq-accent)}

/* ── Hub: Coverage table ─────────────────────────────────────────── */
.mpq-coverage-wrap{overflow-x:auto}
.mpq-coverage-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--mpq-line);border-radius:10px;overflow:hidden;font-size:15px}
.mpq-coverage-table th,.mpq-coverage-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--mpq-line);vertical-align:top;line-height:1.5}
.mpq-coverage-table thead th{background:#f8f2e5;color:var(--mpq-ink);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.mpq-coverage-table tbody th{color:var(--mpq-ink);font-weight:700;white-space:nowrap}
.mpq-coverage-table tbody th a{color:inherit;text-decoration:none;border-bottom:1px dotted var(--mpq-accent)}
.mpq-coverage-table tbody th a:hover{color:var(--mpq-accent)}
.mpq-coverage-table tbody tr:last-child td,.mpq-coverage-table tbody tr:last-child th{border-bottom:0}
.mpq-coverage-table .mpq-cov-count{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:900;color:var(--mpq-accent);text-align:right;width:1%;white-space:nowrap}

/* ── Hub: Featured question cards (re-use paper-card frame) ──────── */
.mpq-featured-card .mpq-featured-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}
.mpq-featured-card .mpq-paper-tag{margin-bottom:0}
.mpq-featured-card .mpq-q-marks{background:var(--mpq-soft);color:var(--mpq-ink);padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.mpq-featured-card .mpq-q-diff{color:var(--mpq-gold);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.mpq-featured-card .mpq-featured-title{font-family:'CharmanSerif',Georgia,serif;font-size:19px;line-height:1.32;margin:0 0 10px;color:var(--mpq-ink)}
.mpq-featured-card .mpq-featured-subtopic{font-size:13.5px;color:var(--mpq-muted);margin:0}
.mpq-featured-card .mpq-featured-cta{color:var(--mpq-accent);font-size:13px;font-weight:800}

/* ── Hub: Companion resources ────────────────────────────────────── */
.mpq-resources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mpq-resource-card{display:block;background:#fff;border:1px solid var(--mpq-line);border-radius:9px;padding:18px;text-decoration:none;color:var(--mpq-ink);transition:border-color .15s ease,transform .15s ease}
.mpq-resource-card:hover{border-color:var(--mpq-accent);transform:translateY(-1px)}
.mpq-resource-card span{display:block;font-size:12px;color:var(--mpq-accent);font-weight:900;letter-spacing:.09em;text-transform:uppercase;margin-bottom:6px}
.mpq-resource-card strong{display:block;font-size:17px;line-height:1.28;margin-bottom:4px}
.mpq-resource-card em{display:block;font-style:normal;color:var(--mpq-muted);font-size:14px;line-height:1.5}

/* ── Hub: Detailed FAQ ───────────────────────────────────────────── */
.mpq-faq details{background:#fff;border:1px solid var(--mpq-line);border-radius:10px;margin:0 0 10px;overflow:hidden}
.mpq-faq summary{cursor:pointer;list-style:none;padding:17px 20px;font-size:16px;font-weight:850;color:var(--mpq-ink);display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.mpq-faq summary::-webkit-details-marker{display:none}
.mpq-faq summary:after{content:"+";color:var(--mpq-accent);font-size:22px;line-height:1;flex-shrink:0}
.mpq-faq details[open] summary{border-bottom:1px solid var(--mpq-line)}
.mpq-faq details[open] summary:after{content:"-"}
.mpq-faq div{padding:14px 20px 18px;color:var(--mpq-text);font-size:15.5px;line-height:1.62}
.mpq-faq div a{color:var(--mpq-accent);border-bottom:1px dotted var(--mpq-accent);text-decoration:none}

/* ── Final CTA strip ─────────────────────────────────────────────── */
.mpq-final{background:linear-gradient(135deg,#171717 0%,#1f3b61 52%,#1e3a8a 100%);color:#fff;padding:44px 0}
.mpq-final-grid{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.mpq-final h2{color:#fff;margin:0 0 8px}
.mpq-final p{margin:0;color:rgba(255,255,255,.8);font-size:16px;max-width:720px}
.mpq-final .mpq-ctas{display:flex;gap:10px;flex-wrap:wrap}
.mpq-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;border-radius:8px;border:1px solid transparent;font-size:14.5px;font-weight:800;text-decoration:none;line-height:1;color:var(--mpq-ink);transition:transform .15s ease,border-color .15s ease,background .15s ease}
.mpq-btn:hover{transform:translateY(-1px)}
.mpq-btn-primary{background:#fff;color:var(--mpq-ink);box-shadow:0 14px 28px rgba(0,0,0,.2)}
.mpq-btn-primary:hover{background:#f4f4f5}
.mpq-btn-ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.32);color:#fff}
.mpq-btn-ghost:hover{background:rgba(255,255,255,.16);color:#fff}

/* ── Responsive tweaks ───────────────────────────────────────────── */
@media (max-width:980px){
  .mpq-resources{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mpq-final-grid{grid-template-columns:1fr}
  .mpq-coverage-table{font-size:14px}
  .mpq-coverage-table th,.mpq-coverage-table td{padding:12px 12px}
}
@media (max-width:680px){
  .mpq-toc ol{columns:1}
  .mpq-resources{grid-template-columns:1fr}
}

/* ── Tips & tricks (per-paper) ───────────────────────────────────── */
.mpq-tips{list-style:none;margin:0;padding:0;counter-reset:mpq-tip;display:grid;gap:14px}
.mpq-tips li{counter-increment:mpq-tip;background:#fff;border:1px solid var(--mpq-line);border-radius:12px;padding:22px 26px 22px 76px;position:relative;box-shadow:0 6px 18px rgba(23,23,23,.04)}
.mpq-tips li:before{content:counter(mpq-tip,decimal-leading-zero);position:absolute;top:22px;left:24px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:900;color:var(--mpq-accent);font-size:18px;background:#eff6ff;padding:6px 10px;border-radius:8px;line-height:1}
.mpq-tips li strong{display:block;color:var(--mpq-ink);font-size:17px;font-family:'CharmanSerif',Georgia,serif;line-height:1.32;margin:0 0 6px}
.mpq-tips li span{display:block;color:var(--mpq-muted);font-size:15.5px;line-height:1.6}

/* ── Empty state ─────────────────────────────────────────────────── */
.mpq-empty{background:#fff;border:1px dashed var(--mpq-line);border-radius:12px;padding:38px;text-align:center;color:var(--mpq-muted);font-size:15.5px}
.mpq-empty strong{display:block;color:var(--mpq-ink);font-size:18px;margin-bottom:6px}

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width:980px){
  .mpq-papers{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:680px){
  .mpq-wrap{padding:0 18px}
  .mpq-papers{grid-template-columns:1fr}
  .mpq-q-card{padding:18px 18px}
  .mpq-q-page{padding:32px 18px 48px}
  .mpq-q-nav{flex-direction:column}
  .mpq-page h1{font-size:34px}
}
