/* ===== Página de Simulacros ===== */
.sim-hero { padding: clamp(2.5rem,5vw,4.5rem) 0 clamp(2rem,4vw,3rem); }
.sim-hero__inner { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,5vw,4rem); align-items: center; }
@media (max-width: 900px) { .sim-hero__inner { grid-template-columns: 1fr; } }

/* Trust badges artesanales */
.sim-trust { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 1.8rem; }
.sim-badge-item { display: inline-flex; align-items: center; gap: 7px; background: var(--opogc-white); border: 1.5px solid var(--opogc-green-border); border-radius: 999px; padding: 7px 14px; font-size: .82rem; font-weight: 700; color: var(--opogc-green-deep); box-shadow: var(--opogc-shadow-xs); }
.sim-badge-item svg { width: 15px; height: 15px; stroke: var(--opogc-green-pastel); fill: none; stroke-width: 2.2; flex-shrink: 0; }
.sim-badge-item.gold { border-color: var(--opogc-gold-border); color: var(--opogc-gold-deep); }
.sim-badge-item.gold svg { stroke: var(--opogc-gold-deep); }

/* Mockup hero de simulacro */
.sim-mock { display: flex; justify-content: center; }
.sim-result-card { background: var(--opogc-white); border: 1px solid var(--opogc-border); border-radius: 20px; box-shadow: var(--opogc-shadow-lg); padding: 28px; max-width: 360px; width: 100%; }
.sim-result-card__badge { display: inline-block; font-size: .72rem; font-weight: 800; letter-spacing: .06em; padding: 5px 14px; border-radius: 999px; margin-bottom: 16px; }
.sim-result-card__badge.pass { background: var(--opogc-green-soft); color: var(--opogc-green-deep); }
.sim-result-card__badge.fail { background: #fbeef0; color: #a23a40; }
.sim-result-card__score { font-family: var(--opogc-font-title); font-weight: 800; font-size: 3.5rem; line-height: 1; color: var(--opogc-green-deep); }
.sim-result-card__score span { font-size: 1.5rem; color: var(--opogc-text-muted); font-weight: 600; }
.sim-result-card__label { font-size: .88rem; color: var(--opogc-text-muted); margin: 4px 0 16px; }
.sim-result-card__bar { height: 10px; background: var(--opogc-green-soft); border-radius: 999px; overflow: hidden; margin-bottom: 20px; }
.sim-result-card__fill { height: 100%; width: 72%; background: linear-gradient(90deg, var(--opogc-green-pastel), var(--opogc-green-deep)); border-radius: 999px; }
.sim-result-card__stats { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; border-top: 1px solid var(--opogc-border); padding-top: 16px; }
.sim-result-stat b { display: block; font-family: var(--opogc-font-title); font-weight: 800; font-size: 1.3rem; color: var(--opogc-text); }
.sim-result-stat span { font-size: .75rem; color: var(--opogc-text-muted); font-weight: 600; }
.sim-result-stat.ok b { color: var(--opogc-green-deep); }
.sim-result-stat.no b { color: #D64550; }
.sim-result-card__tema { font-size: .78rem; font-weight: 600; color: var(--opogc-text-muted); text-align: center; margin-top: 14px; }
.sim-result-card__tema strong { color: var(--opogc-text); }

/* ===== CUENTA ATRÁS ===== */
.sim-countdown-wrap { background: var(--opogc-green-deep); border-radius: var(--opogc-radius); padding: clamp(2rem,4vw,3.5rem); color: #fff; position: relative; overflow: hidden; }
.sim-countdown-wrap::before { content: ''; position: absolute; inset: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='31' fill='none' stroke='rgba(255,255,255,.04)' stroke-width='2'/%3E%3C/svg%3E") 110% -20px/320px no-repeat; }
.sim-countdown-top { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 1.5rem; }
.sim-countdown-tag { display: inline-flex; align-items: center; gap: 7px; background: rgba(255,255,255,.12); border-radius: 999px; padding: 6px 14px; font-size: .78rem; font-weight: 700; letter-spacing: .04em; }
.sim-countdown-tag .dot { width: 8px; height: 8px; border-radius: 50%; background: #fff; }
.sim-countdown-tag .dot.pulse { animation: dot-pulse 1.2s ease-in-out infinite; }
@keyframes dot-pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(.7)} }
.sim-countdown-tag.active .dot { background: #4ade80; box-shadow: 0 0 8px rgba(74,222,128,.7); }
.sim-lives { font-size: .82rem; font-weight: 600; opacity: .75; }
.sim-countdown-theme { font-family: var(--opogc-font-title); font-weight: 800; font-size: clamp(1.3rem,3vw,2rem); line-height: 1.2; margin-bottom: .5rem; }
.sim-countdown-desc { font-size: .95rem; opacity: .78; line-height: 1.6; max-width: 560px; margin-bottom: 1.8rem; }
.sim-countdown-digits { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 1.8rem; }
.sim-digit { background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.15); border-radius: 14px; padding: 16px 20px; min-width: 80px; text-align: center; backdrop-filter: blur(4px); }
.sim-digit__n { font-family: var(--opogc-font-title); font-weight: 800; font-size: 2.4rem; line-height: 1; display: block; font-variant-numeric: tabular-nums; }
.sim-digit__l { font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: .6; display: block; margin-top: 4px; }
.sim-countdown-cta { display: flex; gap: 12px; flex-wrap: wrap; }
.sim-btn-white { display: inline-flex; align-items: center; gap: 8px; background: #fff; color: var(--opogc-green-deep); font-family: var(--opogc-font-body); font-weight: 700; font-size: 1rem; padding: 13px 26px; border-radius: var(--opogc-radius-btn); text-decoration: none; border: none; cursor: pointer; box-shadow: 0 6px 20px rgba(0,0,0,.15); }
.sim-btn-outline { display: inline-flex; align-items: center; gap: 8px; background: transparent; color: #fff; font-family: var(--opogc-font-body); font-weight: 700; font-size: 1rem; padding: 12px 24px; border-radius: var(--opogc-radius-btn); text-decoration: none; border: 1.5px solid rgba(255,255,255,.35); }

/* Estado ACTIVO */
.sim-active-banner { background: #4ade80; color: #0E3D22; border-radius: 10px; padding: 14px 18px; font-weight: 700; font-size: .95rem; display: flex; align-items: center; gap: 10px; margin-bottom: 1.5rem; }
.sim-active-banner svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 2.4; flex-shrink: 0; }

/* Historial semanal */
.sim-history { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; margin-top: 1.5rem; }
@media (max-width: 720px) { .sim-history { grid-template-columns: 1fr; } }
.sim-hist-card { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); border-radius: 14px; padding: 16px; display: flex; flex-direction: column; gap: 6px; }
.sim-hist-semana { font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; opacity: .6; }
.sim-hist-tema { font-weight: 700; font-size: .92rem; }
.sim-hist-meta { display: flex; gap: 10px; font-size: .75rem; opacity: .7; }
.sim-hist-dif { font-weight: 600; }

/* Simulacros generales */
.sim-general-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1.2rem; margin-top: 1.5rem; }
@media (max-width: 900px) { .sim-general-grid { grid-template-columns: 1fr; } }
.sim-gen-card { background: var(--opogc-white); border: 1px solid var(--opogc-border); border-radius: var(--opogc-radius); box-shadow: var(--opogc-shadow-xs); padding: 1.5rem; display: flex; flex-direction: column; gap: .6rem; transition: transform .18s, box-shadow .18s, border-color .18s; }
.sim-gen-card:hover { transform: translateY(-3px); box-shadow: var(--opogc-shadow-md); border-color: var(--opogc-green-border); }
.sim-gen-card__head { display: flex; align-items: center; gap: 13px; }
.sim-gen-card__num { width: 46px; height: 46px; border-radius: 14px; background: var(--opogc-green-deep); color: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--opogc-font-title); font-weight: 800; font-size: 1.1rem; flex-shrink: 0; }
.sim-gen-card__title { font-family: var(--opogc-font-title); font-weight: 700; font-size: 1.05rem; color: var(--opogc-text); line-height: 1.2; }
.sim-gen-card__desc { font-size: .9rem; color: var(--opogc-text-soft); line-height: 1.5; }
.sim-gen-card__meta { display: flex; gap: 8px; flex-wrap: wrap; padding-top: .6rem; border-top: 1px solid var(--opogc-border); margin-top: .4rem; }
.sim-gen-card__chip { display: inline-flex; align-items: center; gap: 5px; font-size: .76rem; font-weight: 700; color: var(--opogc-text-muted); }
.sim-gen-card__chip svg { width: 13px; height: 13px; stroke: currentColor; fill: none; stroke-width: 2.2; }
.sim-gen-card__tags { font-size: .75rem; color: var(--opogc-green-deep); font-weight: 600; background: var(--opogc-green-soft); padding: 3px 10px; border-radius: 999px; display: inline-block; }
.sim-gen-card__dif { font-size: .72rem; font-weight: 700; padding: 3px 10px; border-radius: 999px; }
.sim-gen-card__dif.av { background: #fbeef0; color: #a23a40; }
.sim-gen-card__dif.me { background: var(--opogc-gold-soft); color: var(--opogc-gold-deep); }
.sim-gen-card__dif.ba { background: var(--opogc-green-soft); color: var(--opogc-green-deep); }

/* Sello artesanal */
.sim-artisanal { background: var(--opogc-gold-soft); border: 1.5px solid var(--opogc-gold-border); border-radius: var(--opogc-radius); padding: 2rem 2.5rem; display: flex; align-items: flex-start; gap: 1.5rem; }
@media (max-width: 720px) { .sim-artisanal { flex-direction: column; gap: 1rem; } }
.sim-artisanal__ic { width: 56px; height: 56px; border-radius: 16px; background: var(--opogc-gold-border); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.sim-artisanal__ic svg { width: 28px; height: 28px; stroke: var(--opogc-gold-deep); fill: none; stroke-width: 1.8; }
.sim-artisanal h3 { font-family: var(--opogc-font-title); font-weight: 800; font-size: 1.15rem; color: var(--opogc-gold-deep); margin: 0 0 6px; }
.sim-artisanal p { font-size: .92rem; color: #7a5f15; line-height: 1.6; margin: 0; }
