/* Estilos compartidos del blog de MMF Consultores Mediadores */
:root {
  --blue:#1f5fd6; --blue-dark:#143f9e; --blue-soft:#eaf1fd;
  --ink:#0d1b33; --ink-2:#2a3a57; --muted:#5a6a85; --line:#e3e9f2; --surface:#f4f7fc; --bg:#fff;
}
* { box-sizing:border-box; }
body { margin:0; font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; color:var(--ink); line-height:1.7; background:var(--bg); }
img { max-width:100%; }
a { color:var(--blue-dark); }

/* Barra superior */
header.bar { border-bottom:1px solid var(--line); position:sticky; top:0; background:rgba(255,255,255,.92); backdrop-filter:blur(6px); z-index:10; }
header.bar .row { max-width:960px; margin:0 auto; padding:14px 22px; display:flex; align-items:center; gap:12px; }
header.bar img { width:38px; height:38px; }
header.bar .brand b { color:var(--blue-dark); }
header.bar nav { margin-left:auto; display:flex; gap:20px; font-size:.95rem; font-weight:600; }
header.bar nav a { color:var(--ink-2); text-decoration:none; }
header.bar nav a:hover { color:var(--blue-dark); }

.wrap { max-width:760px; margin:0 auto; padding:44px 22px 90px; }
.wrap.wide { max-width:960px; }

/* Breadcrumb */
.crumbs { font-size:.88rem; color:var(--muted); margin-bottom:18px; }
.crumbs a { color:var(--muted); }

h1 { font-size:clamp(1.9rem,4vw,2.6rem); line-height:1.15; margin:0 0 10px; color:var(--ink); letter-spacing:-0.02em; }
h2 { font-size:1.35rem; margin:38px 0 10px; color:var(--ink); }
h3 { font-size:1.1rem; margin:26px 0 8px; }
.lead { font-size:1.15rem; color:var(--ink-2); }
.meta { color:var(--muted); font-size:.9rem; margin-bottom:30px; }
p, li { color:var(--ink-2); }
blockquote { margin:22px 0; padding:14px 20px; border-left:4px solid var(--blue); background:var(--blue-soft); border-radius:0 10px 10px 0; color:var(--ink); }

/* Tarjetas de artículos (índice) */
.hero-blog { background:linear-gradient(180deg,var(--blue-soft),#fff); border-bottom:1px solid var(--line); }
.hero-blog .wrap { padding-bottom:40px; }
.cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; }
.card { display:block; border:1px solid var(--line); border-radius:16px; padding:24px; text-decoration:none; color:inherit; background:#fff; transition:transform .15s, box-shadow .15s; }
.card:hover { transform:translateY(-3px); box-shadow:0 12px 30px rgba(20,63,158,.10); border-color:#cfe0fb; }
.card .tag { display:inline-block; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--blue-dark); background:var(--blue-soft); padding:4px 10px; border-radius:999px; margin-bottom:12px; }
.card h2 { font-size:1.2rem; margin:0 0 8px; }
.card p { margin:0; color:var(--muted); font-size:.98rem; }

/* CTA */
.cta { margin:44px 0 0; padding:28px; background:var(--ink); color:#fff; border-radius:18px; }
.cta h3 { color:#fff; margin:0 0 8px; }
.cta p { color:#c9d4e8; margin:0 0 16px; }
.btn { display:inline-block; background:var(--blue); color:#fff; text-decoration:none; font-weight:700; padding:12px 22px; border-radius:12px; }
.btn:hover { background:#2f6fe6; }

.disclaimer { margin-top:40px; padding-top:18px; border-top:1px solid var(--line); font-size:.85rem; color:var(--muted); }
footer.foot { border-top:1px solid var(--line); }
footer.foot .row { max-width:960px; margin:0 auto; padding:26px 22px; font-size:.9rem; color:var(--muted); display:flex; flex-wrap:wrap; gap:8px 18px; }
footer.foot a { color:var(--muted); }
