/* Cursor: estilo único de los artículos estáticos de Soro (articulos/soro/*.html).
   Lo inyecta patch_soro_articulos.py; paleta y fuentes del sitio MasterAcademic. */
:root {
  --sa-wine: #5D022B;
  --sa-teal: #037C91;
  --sa-teal-dark: #025a6a;
  --sa-ink-900: #141a24;
  --sa-ink-700: #2f3848;
  --sa-ink-500: #556074;
  --sa-ink-300: #8b95a8;
  --sa-paper: #ffffff;
  --sa-paper-soft: #f5f7fa;
  --sa-line: #dde3ea;
  --sa-font-display: "Manrope", "Segoe UI", sans-serif;
  --sa-font-body: "Inter", "Segoe UI", sans-serif;
}

*,
*::before,
*::after { box-sizing: border-box; }

body.soro-articulo {
  margin: 0;
  background: var(--sa-paper-soft);
  color: var(--sa-ink-700);
  font-family: var(--sa-font-body);
  font-size: 1rem;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

/* Barra superior: logo + regreso al Centro de Recursos */
.soro-topbar {
  background: var(--sa-paper);
  border-bottom: 1px solid var(--sa-line);
}
.soro-topbar-inner {
  width: min(1180px, 92vw);
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 14px 0;
}
/* El PNG del logo trae mucho margen transparente; el margen negativo compensa */
.soro-topbar img {
  display: block;
  height: 110px;
  width: auto;
  margin: -30px 0;
}
.soro-back {
  color: var(--sa-teal);
  font-weight: 600;
  font-size: 0.92rem;
  text-decoration: none;
  white-space: nowrap;
}
.soro-back:hover { color: var(--sa-teal-dark); text-decoration: underline; }

/* Cuerpo del artículo */
body.soro-articulo article {
  width: min(800px, 92vw);
  margin: 0 auto;
  padding: 40px 0 24px;
}

body.soro-articulo h1 {
  font-family: var(--sa-font-display);
  font-weight: 800;
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--sa-ink-900);
  margin: 0 0 12px;
}

body.soro-articulo article > time {
  display: block;
  font-size: 0.9rem;
  color: var(--sa-ink-300);
  margin: 0 0 6px;
}

body.soro-articulo article img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 14px;
  margin: 0 0 28px;
}

body.soro-articulo p { margin: 0 0 1.1em; }

body.soro-articulo h2 {
  font-family: var(--sa-font-display);
  font-weight: 700;
  font-size: clamp(1.35rem, 2.6vw, 1.65rem);
  line-height: 1.3;
  color: var(--sa-ink-900);
  margin: 2em 0 0.7em;
}

body.soro-articulo h3 {
  font-family: var(--sa-font-display);
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.35;
  color: var(--sa-ink-900);
  margin: 1.6em 0 0.5em;
}

body.soro-articulo strong { color: var(--sa-ink-900); font-weight: 700; }

body.soro-articulo article a {
  color: var(--sa-teal);
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.soro-articulo article a:hover { color: var(--sa-teal-dark); }

body.soro-articulo ul,
body.soro-articulo ol {
  margin: 0 0 1.2em;
  padding-left: 1.4em;
}
body.soro-articulo li { margin: 0 0 0.45em; }
body.soro-articulo li::marker { color: var(--sa-teal); }

body.soro-articulo blockquote {
  margin: 1.5em 0;
  padding: 0.8em 1.2em;
  border-left: 4px solid var(--sa-teal);
  background: var(--sa-paper);
  border-radius: 0 8px 8px 0;
}

body.soro-articulo table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5em 0;
  background: var(--sa-paper);
  font-size: 0.95rem;
}
body.soro-articulo th,
body.soro-articulo td {
  border: 1px solid var(--sa-line);
  padding: 8px 12px;
  text-align: left;
}

/* CTA al final del artículo */
.soro-cta {
  width: min(800px, 92vw);
  margin: 8px auto 56px;
  padding: 28px 32px;
  background: linear-gradient(135deg, var(--sa-wine), var(--sa-teal));
  border-radius: 14px;
  color: #fff;
}
body.soro-articulo .soro-cta h2 {
  font-family: var(--sa-font-display);
  font-weight: 800;
  font-size: 1.4rem;
  line-height: 1.3;
  color: #fff;
  margin: 0 0 6px;
}
body.soro-articulo .soro-cta p { margin: 0 0 18px; opacity: 0.92; }
.soro-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.soro-btn {
  display: inline-block;
  padding: 10px 20px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.95rem;
  text-decoration: none;
  transition: transform 0.15s ease, background 0.15s ease;
}
.soro-btn:hover { transform: translateY(-1px); }
.soro-btn-light { background: #fff; color: var(--sa-wine); }
.soro-btn-ghost { border: 1px solid rgba(255, 255, 255, 0.7); color: #fff; }
.soro-btn-ghost:hover { background: rgba(255, 255, 255, 0.12); }

@media (max-width: 600px) {
  body.soro-articulo article { padding-top: 28px; }
  .soro-topbar img { height: 90px; margin: -24px 0; }
  .soro-cta { padding: 22px 20px; }
}
