/* ============================================================
   Mentora micro-páginas — visor de HOJAS DE VIDA web (/mi/cv/{slug}).
   Standalone. 4 temas vía body.tema-<slug>. Optimizado para imprimir.
   ============================================================ */

:root{ --cv-fuente:'Inter',system-ui,sans-serif; --cv-display:'Poppins',var(--cv-fuente); }
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }

body.cvbody{
  font-family:var(--cv-fuente);
  background:var(--cv-fondo,#eef0f4);
  color:#1d2230;
  padding:0 0 40px;
  -webkit-font-smoothing:antialiased;
}

/* Barra de acciones (no se imprime) */
.cv-barra{
  position:sticky; top:0; z-index:5;
  display:flex; gap:10px; justify-content:center; flex-wrap:wrap;
  padding:14px; background:rgba(255,255,255,.86); backdrop-filter:blur(8px);
  border-bottom:1px solid #e2e5ec;
}
.cv-barra__btn{
  border:1px solid #d3d7e0; background:#fff; color:#1d2230;
  padding:11px 20px; border-radius:999px; font-weight:600; font-size:.92rem;
  cursor:pointer; text-decoration:none;
}
.cv-barra__btn--pro{
  background:linear-gradient(135deg,#7b2ff7,#f8636b); color:#fff; border:0;
}

/* Hoja A4 */
.cv-hoja{
  max-width:820px; margin:28px auto 0; background:#fff;
  border-radius:16px; box-shadow:0 18px 50px rgba(26,26,46,.12);
  padding:clamp(28px,5vw,52px);
  border-top:6px solid var(--cv-acento,#7b2ff7);
}

.cv-cab{ display:flex; gap:22px; align-items:center; margin-bottom:18px; }
.cv-foto{
  width:84px; height:84px; border-radius:50%; flex-shrink:0;
  display:grid; place-items:center; font-family:var(--cv-display);
  font-size:1.9rem; font-weight:700; color:#fff;
  background:var(--cv-acento,#7b2ff7);
}
.cv-nombre{ font-family:var(--cv-display); font-size:clamp(1.5rem,4vw,2rem); margin:0; line-height:1.15; }
.cv-titulo{ font-size:1.05rem; font-weight:600; color:var(--cv-acento,#7b2ff7); margin:4px 0 0; }
.cv-ubic{ font-size:.9rem; opacity:.7; margin:4px 0 0; }

.cv-contacto{ display:flex; flex-wrap:wrap; gap:8px 18px; padding:14px 0; border-bottom:1px solid #ececf1; margin-bottom:8px; }
.cv-contacto a{ color:#3a4051; text-decoration:none; font-size:.9rem; font-weight:500; }
.cv-contacto a:hover{ color:var(--cv-acento,#7b2ff7); }

.cv-sec{ padding:18px 0; border-bottom:1px solid #f2f3f6; }
.cv-sec:last-of-type{ border-bottom:0; }
.cv-sec h2{
  font-family:var(--cv-display); font-size:.85rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--cv-acento,#7b2ff7); margin:0 0 14px;
}
.cv-resumen{ margin:0; line-height:1.65; }

.cv-item{ margin-bottom:16px; }
.cv-item:last-child{ margin-bottom:0; }
.cv-item__head{ display:flex; justify-content:space-between; gap:12px; align-items:baseline; flex-wrap:wrap; }
.cv-item__head h3{ font-size:1.02rem; margin:0; }
.cv-item__per{ font-size:.82rem; opacity:.6; white-space:nowrap; }
.cv-item__sub{ margin:2px 0 4px; font-weight:600; color:#525a6b; font-size:.94rem; }
.cv-item__det{ margin:0; line-height:1.6; font-size:.94rem; opacity:.9; }

.cv-tags{ list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:8px; }
.cv-tags li{ background:var(--cv-tag-bg,#f1edfb); color:var(--cv-tag-tx,#5a2fb0); padding:6px 13px; border-radius:999px; font-size:.86rem; font-weight:500; }
.cv-idiomas{ list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:8px 22px; }
.cv-idiomas li{ font-size:.94rem; }

.cv-marca{ max-width:820px; margin:18px auto 0; text-align:center; }
.cv-expira{ font-size:.78rem; opacity:.55; margin:0 0 6px; }
.cv-marca__link{ font-size:.85rem; color:#3a4051; text-decoration:none; opacity:.8; }
.cv-marca__link:hover{ opacity:1; text-decoration:underline; }

.cv-estado{ max-width:460px; margin:0 auto; padding:80px 22px; text-align:center; display:flex; flex-direction:column; gap:16px; align-items:center; }
.cv-estado h1{ font-family:var(--cv-display); margin:0; }
.cv-estado p{ opacity:.85; line-height:1.6; margin:0; }
.cv-cta{ display:inline-block; padding:13px 24px; border-radius:999px; background:#1d2230; color:#fff; font-weight:700; text-decoration:none; }
.cv-cta--pro{ background:linear-gradient(135deg,#7b2ff7,#f8636b); }

/* ── Temas ───────────────────────────────────────────────── */
body.tema-clasico{ --cv-acento:#1d2230; --cv-tag-bg:#eef0f4; --cv-tag-tx:#3a4051; --cv-display:'Lora',serif; }
body.tema-moderno{ --cv-acento:#7b2ff7; --cv-tag-bg:#f1edfb; --cv-tag-tx:#5a2fb0; }
body.tema-coral{   --cv-acento:#e85565; --cv-tag-bg:#fdecee; --cv-tag-tx:#b3344a; }
body.tema-verde{   --cv-acento:#0f9d8c; --cv-tag-bg:#e3f6f3; --cv-tag-tx:#0a6b5f; }

/* ── Impresión ───────────────────────────────────────────── */
@media print{
  body.cvbody{ background:#fff; padding:0; }
  .cv-barra, .cv-marca, [src*="beacon"]{ display:none !important; }
  .cv-hoja{ box-shadow:none; border-radius:0; margin:0; max-width:100%; padding:24px 30px; }
  .cv-sec{ break-inside:avoid; }
  .cv-item{ break-inside:avoid; }
}
