/* ===== Página de Temario ===== */
.tm-hero { padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(2rem,4vw,3rem); }
.tm-hero__inner { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2rem,5vw,4rem); align-items: center; }
.tm-hero__stats { display: flex; gap: 2.2rem; margin-top: 1.8rem; flex-wrap: wrap; }
.tm-stat b { display: block; font-family: var(--opogc-font-title); font-weight: 800; font-size: 1.7rem; color: var(--opogc-green-deep); line-height: 1; }
.tm-stat span { font-size: .82rem; font-weight: 600; color: var(--opogc-text-muted); }
.tm-hero__visual { display: flex; justify-content: center; }
@media (max-width: 900px){ .tm-hero__inner { grid-template-columns: 1fr; } .tm-hero__visual { order: -1; } }

/* Imagen / mockup editable */
.tm-shot { width: 300px; max-width: 100%; border-radius: 28px; box-shadow: var(--opogc-shadow-lg); display: block; }

/* Mockup CSS: lista de temario */
.tm-list { padding: 30px 14px 14px; display: flex; flex-direction: column; gap: 9px; height: 100%; background: var(--opogc-white-off); }
.tm-list__h { font-family: var(--opogc-font-title); font-weight: 800; font-size: 1rem; color: var(--opogc-text); margin: 0 2px 2px; }
.tm-list__row { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--opogc-border); border-radius: 13px; padding: 10px 11px; }
.tm-list__ic { width: 30px; height: 30px; flex-shrink: 0; border-radius: 9px; background: var(--opogc-green-soft); display: flex; align-items: center; justify-content: center; font-family: var(--opogc-font-title); font-weight: 700; font-size: .72rem; color: var(--opogc-green-deep); }
.tm-list__tx { flex: 1; min-width: 0; }
.tm-list__tt { font-size: .72rem; font-weight: 700; color: var(--opogc-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tm-list__bar { height: 5px; background: var(--opogc-green-soft); border-radius: 999px; margin-top: 5px; overflow: hidden; }
.tm-list__bar i { display: block; height: 100%; background: var(--opogc-green-pastel); border-radius: 999px; }
.tm-list__pct { font-size: .64rem; font-weight: 700; color: var(--opogc-green-pastel); flex-shrink: 0; }

/* Mockup CSS: detalle de tema */
.tm-detail { padding: 30px 15px 15px; display: flex; flex-direction: column; gap: 11px; height: 100%; background: var(--opogc-white-off); }
.tm-detail__back { display: flex; align-items: center; gap: 6px; font-size: .66rem; font-weight: 700; color: var(--opogc-text-muted); }
.tm-detail__back svg { width: 13px; height: 13px; stroke: currentColor; fill: none; stroke-width: 2.4; }
.tm-detail__tag { font-size: .6rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--opogc-green-pastel); }
.tm-detail__h { font-family: var(--opogc-font-title); font-weight: 800; font-size: .95rem; line-height: 1.25; color: var(--opogc-text); margin: 0; }
.tm-detail__card { background: #fff; border: 1px solid var(--opogc-border); border-radius: 12px; padding: 11px 12px; }
.tm-detail__card h5 { margin: 0 0 6px; font-size: .68rem; font-weight: 700; color: var(--opogc-green-deep); display: flex; align-items: center; gap: 5px; }
.tm-detail__card h5 svg { width: 13px; height: 13px; stroke: var(--opogc-green-pastel); fill: none; stroke-width: 2.2; }
.tm-line { height: 6px; border-radius: 999px; background: var(--opogc-surface-alt); margin-bottom: 6px; }
.tm-line.w90 { width: 90%; } .tm-line.w70 { width: 70%; } .tm-line.w80 { width: 80%; }
.tm-detail__key { background: var(--opogc-green-soft); border-left: 3px solid var(--opogc-green-pastel); border-radius: 8px; padding: 9px 10px; font-size: .68rem; line-height: 1.4; color: var(--opogc-text-soft); }
.tm-detail__key b { color: var(--opogc-green-deep); }
.tm-detail__btn { margin-top: auto; background: var(--opogc-green-pastel); color: #fff; text-align: center; font-family: var(--opogc-font-body); font-weight: 700; font-size: .74rem; padding: 10px; border-radius: 11px; box-shadow: 0 4px 14px rgba(76,175,125,.3); }

/* Intro: cómo se estudia */
.tm-intro__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,5vw,4rem); align-items: center; }
@media (max-width: 900px){ .tm-intro__grid { grid-template-columns: 1fr; } }
.tm-feats { display: flex; flex-direction: column; gap: 1.1rem; margin-top: 1.4rem; }
.tm-feat { display: flex; gap: 14px; }
.tm-feat__ic { width: 44px; height: 44px; flex-shrink: 0; border-radius: 13px; background: var(--opogc-green-soft); display: flex; align-items: center; justify-content: center; }
.tm-feat__ic svg { width: 22px; height: 22px; stroke: var(--opogc-green-pastel); fill: none; stroke-width: 1.9; }
.tm-feat h3 { margin: 2px 0 3px; font-family: var(--opogc-font-title); font-size: 1.02rem; color: var(--opogc-text); }
.tm-feat p { margin: 0; font-size: .92rem; color: var(--opogc-text-soft); line-height: 1.5; }

/* Bloques */
.tm-block { margin-bottom: clamp(2.5rem,5vw,4rem); }
.tm-block:last-child { margin-bottom: 0; }
.tm-block__head { max-width: 720px; margin-bottom: 1.8rem; }
.tm-block__tag { display: inline-block; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--opogc-green-pastel); background: var(--opogc-green-soft); padding: 5px 12px; border-radius: 999px; margin-bottom: .7rem; }
.tm-block__title { font-family: var(--opogc-font-title); font-weight: 700; font-size: clamp(1.5rem,3vw,2rem); color: var(--opogc-text); margin: 0 0 .5rem; letter-spacing: -.01em; }
.tm-block__desc { font-size: 1rem; color: var(--opogc-text-soft); line-height: 1.6; margin: 0; }

.tm-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
@media (max-width: 720px){ .tm-grid { grid-template-columns: 1fr; } }
.tm-card { background: var(--opogc-white); border: 1px solid var(--opogc-border); border-radius: var(--opogc-radius); box-shadow: var(--opogc-shadow-xs); padding: 1.4rem 1.5rem; transition: transform .18s, box-shadow .18s, border-color .18s; }
.tm-card:hover { transform: translateY(-3px); box-shadow: var(--opogc-shadow-md); border-color: var(--opogc-green-border); }
.tm-card__num { width: 40px; height: 40px; border-radius: 12px; background: var(--opogc-green-deep); color: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--opogc-font-title); font-weight: 700; font-size: 1.05rem; margin-bottom: .9rem; }
.tm-card__title { font-family: var(--opogc-font-title); font-weight: 700; font-size: 1.1rem; color: var(--opogc-text); margin: 0 0 .5rem; }
.tm-card__desc { font-size: .92rem; color: var(--opogc-text-soft); line-height: 1.55; margin: 0 0 .9rem; }
.tm-card__app { display: flex; align-items: flex-start; gap: 7px; font-size: .82rem; color: var(--opogc-green-deep); font-weight: 600; border-top: 1px solid var(--opogc-border); padding-top: .8rem; margin: 0; }
.tm-card__app svg { width: 15px; height: 15px; flex-shrink: 0; margin-top: 2px; stroke: var(--opogc-green-pastel); fill: none; stroke-width: 2.2; }
.tm-card__app span { font-weight: 500; color: var(--opogc-text-soft); }
