/* ===== eolaya.com · hoja de estilo autor minimalista =====
   Enfoque: sobrio, elegante, legible. Modo claro con soporte oscuro.
   Tipos: serif en títulos, sans en texto. Mucho aire y jerarquía.
============================================================ */

/* Paleta y sistema de espaciado */
:root{
  --bg:#f9fafb;
  --fg:#0b1320;
  --muted:#566075;
  --line:#e8ecf2;
  --accent:#0f5cc7;
  --accent-ink:#ffffff;
  --paper:#ffffff;
  --maxw:980px;
  --radius:18px;

  /* Aliases usados en HTML/estilos locales */
  --brand: var(--accent);
  --brand-ink: var(--accent-ink);
  --surface: var(--paper);
  --border: var(--line);

  --s-1:6px;
  --s0:10px;
  --s1:16px;
  --s2:24px;
  --s3:36px;
  --s4:56px;
  --shadow:0 8px 28px rgba(10,20,40,.08);
}

/* Dark mode opcional (según preferencia del sistema) */
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0b0d12;
    --fg:#e6ecf4;
    --muted:#9fb1c7;
    --line:#1c2433;
    --accent:#65a2ff;
    --accent-ink:#061428;
    --paper:#0f131b;
    --shadow:0 10px 36px rgba(0,0,0,.35);

    --brand: var(--accent);
    --brand-ink: var(--accent-ink);
    --surface: var(--paper);
    --border: var(--line);
  }
}

/* Reset y tipos */
*{box-sizing:border-box}
html{font-size:16px}
body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
}
/* Titulares con serif elegante del sistema */
h1,h2,h3{
  font-family: ui-serif, Georgia, 'Times New Roman', Times, serif;
  letter-spacing:.2px;
  margin:0 0 var(--s1);
}
p{margin:0 0 var(--s1)}
small,.small{color:var(--muted);font-size:.96rem}

img{max-width:100%;height:auto;border-radius:14px;display:block}

/* Enlaces y botones */
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.btn{
  display:inline-block; text-decoration:none;
  background:var(--accent); color:var(--accent-ink);
  padding:12px 16px; border-radius:12px; font-weight:700;
  box-shadow:var(--shadow); border:1px solid color-mix(in oklab, var(--accent) 75%, black 10%);
}
.btn:hover{transform:translateY(-1px)}
.btn.outline{
  background:transparent; color:var(--fg);
  border:1px solid var(--line); box-shadow:none;
}
.btn.danger{
  background:#b91c1c;
  color:#fff;
  border-color:#b91c1c;
  box-shadow:0 10px 28px rgba(185,28,28,.25);
}
.btn.danger:hover{
  background:#a41616;
}

/* Contenedor y secciones */
.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--s2)}
section{padding:var(--s4) 0 var(--s3)}
hr{border:0;border-top:1px solid var(--line);margin:var(--s3) 0}

/* Cabecera / navegación */
nav{
  position:sticky; top:0; z-index:20;
  background:color-mix(in oklab, var(--paper) 92%, transparent);
  border-bottom:1px solid var(--line);
  backdrop-filter:saturate(120%) blur(8px);
}
.navbar{display:flex;align-items:center;gap:var(--s2);min-height:64px}
.brand{
  font-family: ui-serif, Georgia, 'Times New Roman', Times, serif;
  font-weight:800; letter-spacing:.2px; font-size:1.15rem;
}
.menu{display:flex;gap:var(--s0); margin-left:auto}
.menu a{
  color:var(--fg); opacity:.92; padding:8px 12px; border-radius:10px;
}
.menu a.active,.menu a:hover{background:var(--paper); box-shadow:var(--shadow)}

/* Selector de idioma */
.lang-switch{
  display:flex;
  gap:6px;
  margin-left:var(--s1);
  align-items:center;
}
.lang-switch a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--fg);
  font-size:.9rem;
  text-decoration:none;
  background:var(--paper);
}
.lang-switch a[aria-current="true"]{
  border-color:var(--accent);
  box-shadow:var(--shadow);
}
@media (max-width:700px){
  .navbar{flex-wrap:wrap}
  .menu{order:2; width:100%; justify-content:flex-start; flex-wrap:wrap}
  .lang-switch{order:3; width:100%; margin-left:0; margin-bottom:8px}
}

/* Hero autor */
.hero{
  padding:var(--s4) 0 var(--s3);
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, color-mix(in oklab, var(--paper) 85%, transparent), var(--bg));
}
.badge{
  display:inline-block; font-size:.78rem; color:var(--muted);
  border:1px solid var(--line); padding:6px 10px; border-radius:999px;
}
.hero h1{font-size:clamp(2.3rem, 2.1rem + 1.2vw, 3.1rem);margin:.4rem 0}
.hero p.small{max-width:720px}

/* Grids y tarjetas */
.grid{display:grid; gap:var(--s2)}
.cols-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.card{
  background:var(--paper); border:1px solid var(--line);
  border-radius:var(--radius); padding:var(--s2); box-shadow:var(--shadow);
  display:flex; flex-direction:column; /* ayuda a igualar alturas y alinear contenido */
}

/* Bloque libro con layout dividido */
.book{
  display:grid; gap:var(--s2);
  grid-template-columns: 1.2fr .8fr;
}
@media (max-width:860px){ .book{grid-template-columns:1fr} }

/* Iconos sociales (SVG) */
.socials{display:flex;gap:12px;margin-top:var(--s1)}
.icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:10px;
  background:var(--paper); border:1px solid var(--line);
  box-shadow:var(--shadow); color:var(--accent); /* color del trazado/relleno */
}
.icon:hover{transform:translateY(-1px)}
.icon svg{width:22px;height:22px;display:block}
.icon path, .icon circle, .icon rect, .icon polygon{
  fill: currentColor; stroke: currentColor;
}

/* =========================
   === AJUSTES DEL BIO ===
   ========================= */
/* Igualar visualmente las dos tarjetas y hacer la foto más pequeña */
#bio .grid{ align-items:stretch; }             /* que ambas columnas estiren igual */
#bio .grid .card{ height:100%; }               /* altura homogénea de tarjetas */

/* Tarjeta de la foto (segunda columna) */
#bio .grid .card:nth-child(2){
  align-items:center;                          /* centra el contenido */
  justify-content:center;
  padding:14px;                                /* un poco menos de padding */
}

/* Imagen del autor: tamaño controlado */
#bio .grid .card:nth-child(2) img{
  width:100%;
  max-width:3200px;                             /* ajusta aquí 320–380px a gusto */
  height:auto;
  margin:0 auto;
  border-radius:14px;
  box-shadow:var(--shadow);
}

/* En móviles, deja la foto un poco más grande para equilibrio */
@media (max-width:560px){
  #bio .grid .card:nth-child(2) img{ max-width:420px; }
}

/* =========================
   === PIE DE PÁGINA     ===
   ========================= */
footer{border-top:1px solid var(--line)}
footer .cols{
  display:grid;gap:var(--s2);
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  padding:var(--s3) 0
}

/* Accesibilidad: skip-link global */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:fixed;left:1rem;top:1rem;width:auto;height:auto;padding:.6rem 1rem;background:#0f766e;color:#fff;border-radius:10px;z-index:9999}
