/**
 * cvh-simulador.css — Simulacro de examen Clase A Categoría I (Perú).
 * Mobile-first. Reuses brand tokens from cvh-tools.css (:root --cvh-*).
 * States: correct = green, incorrect = red (high-contrast pairs).
 */
.cvh-sim { max-width: 720px; margin: 0 auto; }

/* ---------- Start screen ---------- */
.cvh-sim__title { color: var(--cvh-blue); font-size: 1.4rem; line-height: 1.3; margin: 0 0 1rem; }
.cvh-sim__facts { list-style: none; margin: 0 0 1.4rem; padding: 0; display: grid; gap: .55rem; }
.cvh-sim__facts li {
    background: var(--cvh-bg-soft);
    border: 1px solid var(--cvh-border);
    border-radius: var(--cvh-radius);
    padding: .7rem .95rem;
    font-size: .98rem;
}
.cvh-sim__facts strong { color: var(--cvh-blue); }
.cvh-sim__startbtn { font-size: 1.05rem; padding: .8rem 1.8rem; }
.cvh-sim__source { margin-top: 1.4rem; font-size: .85rem; color: var(--cvh-muted); line-height: 1.55; }
.cvh-sim__error { color: #b3261e; background: #fdecea; border: 1px solid #f5c6c0; border-radius: var(--cvh-radius); padding: .8rem 1rem; margin-top: 1rem; }
.cvh-sim__noscript { color: #b3261e; font-weight: 600; }

/* ---------- Quiz ---------- */
.cvh-sim__top {
    display: flex; justify-content: space-between; align-items: center;
    gap: .75rem; margin-bottom: .6rem; font-size: .92rem; color: var(--cvh-muted);
}
.cvh-sim__score { font-weight: 700; color: var(--cvh-blue); white-space: nowrap; }
.cvh-sim__bar { height: 8px; background: var(--cvh-bg-soft); border: 1px solid var(--cvh-border); border-radius: 99px; overflow: hidden; margin-bottom: 1.2rem; }
.cvh-sim__bar span { display: block; height: 100%; width: 0; background: var(--cvh-blue); border-radius: 99px; transition: width .25s ease; }
.cvh-sim__q { font-size: 1.12rem; line-height: 1.55; color: var(--cvh-text); margin: 0 0 1rem; font-weight: 600; }
.cvh-sim__signal {
    display: inline-block; vertical-align: middle;
    background: var(--cvh-blue); color: #fff;
    font-size: .78rem; font-weight: 700; letter-spacing: .02em;
    border-radius: 6px; padding: .22rem .6rem; margin: 0 .55rem .3rem 0;
}
.cvh-sim__opts { display: grid; gap: .6rem; margin-bottom: 1rem; }
.cvh-sim__opt {
    text-align: left; cursor: pointer;
    background: #fff; color: var(--cvh-text);
    border: 1.5px solid var(--cvh-border); border-radius: var(--cvh-radius);
    padding: .85rem 1rem; font-size: .99rem; line-height: 1.5;
    transition: border-color .15s ease, background .15s ease;
}
.cvh-sim__opt:hover:not(:disabled) { border-color: var(--cvh-blue); background: var(--cvh-bg-soft); }
.cvh-sim__opt:focus-visible { outline: 2px solid var(--cvh-blue); outline-offset: 2px; }
.cvh-sim__opt:disabled { cursor: default; opacity: .92; }
.cvh-sim__opt.is-correct { border-color: #157a3d; background: #e6f4ea; color: #0d5a2a; font-weight: 600; }
.cvh-sim__opt.is-wrong { border-color: #b3261e; background: #fdecea; color: #8f1d16; }
.cvh-sim__feedback { min-height: 1.6em; font-size: .99rem; margin: 0 0 1rem; line-height: 1.5; }
.cvh-sim__feedback.is-ok { color: #0d5a2a; font-weight: 700; }
.cvh-sim__feedback.is-bad { color: #8f1d16; }

/* ---------- Result ---------- */
.cvh-sim__card {
    border: 1.5px solid var(--cvh-border); border-radius: 14px;
    padding: 1.8rem 1.4rem; text-align: center; margin-bottom: 1.4rem;
    background: var(--cvh-bg-soft);
}
.cvh-sim__card.is-pass { border-color: #157a3d; background: #eef8f0; }
.cvh-sim__card.is-fail { border-color: #e0b23c; background: #fffaf0; }
.cvh-sim__bignum { font-size: 3rem; font-weight: 800; color: var(--cvh-blue); line-height: 1; margin-bottom: .5rem; }
.cvh-sim__rtitle { font-size: 1.35rem; color: var(--cvh-blue); margin: 0 0 .5rem; }
.cvh-sim__rtext { color: var(--cvh-muted); line-height: 1.6; margin: 0 0 1.2rem; }
.cvh-sim__review { margin-bottom: 1.2rem; }
.cvh-sim__revtitle { color: var(--cvh-blue); font-size: 1.08rem; margin: 0 0 .8rem; }
.cvh-sim__revitem {
    border: 1px solid var(--cvh-border); border-radius: var(--cvh-radius);
    padding: .9rem 1rem; margin-bottom: .7rem; background: #fff; text-align: left;
}
.cvh-sim__revq { font-weight: 600; margin: 0 0 .4rem; font-size: .96rem; line-height: 1.5; }
.cvh-sim__revyours { color: #8f1d16; margin: 0 0 .25rem; font-size: .92rem; }
.cvh-sim__revright { color: #0d5a2a; font-weight: 600; margin: 0; font-size: .92rem; }

@media (max-width: 480px) {
    .cvh-sim__title { font-size: 1.2rem; }
    .cvh-sim__q { font-size: 1.04rem; }
    .cvh-sim__bignum { font-size: 2.5rem; }
    .cvh-sim__top { font-size: .85rem; }
}

/* v1.4.33: exam timer */
.cvh-sim__timer{
  font-weight:700;font-size:.95rem;color:#0B2545;background:#E8EFF4;
  padding:.25rem .6rem;border-radius:999px;font-variant-numeric:tabular-nums;
}
.cvh-sim__timer.is-low{ background:#FDE8E8;color:#B3402E; }
.cvh-sim__timer-opt{
  display:flex;align-items:center;gap:.5rem;margin:.8rem 0;
  font-size:.92rem;color:#51627A;cursor:pointer;
}
.cvh-sim__timer-opt input{ width:1.1rem;height:1.1rem;accent-color:#0B2545; }
