/* Tipografía y layout */
:root { --ink:#111; --muted:#6b7280; --line:#e5e7eb; --card:#ffffff; --pill:#f3f4f6; }
h1, h2 { font-family: Georgia, "Times New Roman", serif; letter-spacing:-.02em; }
.hero { padding:2.5rem 1rem 1.75rem; border-bottom:1px solid var(--line); }
.hero h1 { font-size: clamp(2.2rem, 4vw, 3.2rem); line-height:1.05; color:var(--ink); margin:0 0 .5rem; }
.hero p  { max-width:720px; margin:0; color:#374151; font-size:1.1rem; }

/* Botones superiores */
.toolbar { display:flex; gap:.6rem; flex-wrap:wrap; }
.btn { padding:.7rem 1.1rem; border-radius:8px; font-weight:600; text-decoration:none; border:1px solid var(--ink); color:var(--ink); background:#fff; }
.btn-dark { background:var(--ink); color:#fff; }

/* Grid 2 columnas */
.grid { display:grid; grid-template-columns: 1.2fr .8fr; gap:1.2rem; margin-top:1.2rem; }
@media (max-width: 900px){ .grid { grid-template-columns:1fr; }}

/* Tarjetas */
.card { background:var(--card); border:1px solid var(--line); border-radius:12px; padding: .9rem; box-shadow:0 1px 0 rgba(0,0,0,.03); }
.card + .card { margin-top:.6rem; }
.card h3 { margin:.1rem 0 .25rem; font-size:1.05rem; }
.sub { color:var(--muted); font-size:.92rem; }

/* Ranking list */
.rank-item { display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
.rank-left { display:flex; align-items:center; gap:.6rem; }
.medal { width:28px; height:28px; border-radius:999px; display:grid; place-items:center; font-weight:700; background:#fde68a; }
.medal.silver { background:#e5e7eb; }
.medal.bronze { background:#fcd34d; }

/* Lista de casos */
.case-row { display:flex; align-items:center; gap:.8rem; }
.flag { font-size:1.3rem; }
.pill { background:var(--pill); padding:.15rem .5rem; border-radius:999px; font-size:.8rem; color:#374151; }
.meta { display:flex; gap:.4rem; align-items:center; color:var(--muted); font-size:.9rem; }

/* Mapa mini */
#home-map { width:100%; height:320px; border-radius:12px; border:1px solid var(--line); overflow:hidden; }
.footer { margin-top:1.6rem; padding-top:1rem; border-top:1px solid var(--line); color:var(--muted); font-size:.92rem; text-align:center; }
