/*
Theme Name: indie49
Theme URI: https://indie49.com
Author: indie49
Description: Theme minimal basado en Tailwind + Preline
Version: 0.1.2
Text Domain: indie49
*/

:root{
  --i49-navy:#0E2A47;
  --i49-slate:#4A5F74;
  --i49-brand:#49E0A1;
  --i49-text:#0b1d2f;
  --i49-border:#e6eef1;
}

/* Título + meta del post */
.i49-title{
  color:var(--i49-navy);
  font-weight:800;
  line-height:1.12;
  letter-spacing:-0.015em;
  font-size:clamp(2.2rem,3.2vw,3rem);
  margin:0 0 .6rem 0;
}
.i49-meta{margin:.2rem 0 2.2rem;color:var(--i49-slate);opacity:.88;font-size:.98rem}
.i49-meta a{color:#0b5e48;text-decoration:underline;text-underline-offset:2px}

/* Contenido del post (soporta .post-prose, .i49-content o .entry-content) */
:is(.post-prose,.i49-content,.entry-content){
  color:var(--i49-text);
  font-size:1.125rem; /* ~18px */
  line-height:1.9;
  word-break:break-word;
}
:is(.post-prose,.i49-content,.entry-content) > * + *{margin-top:1.25em}

/* Respeta saltos de línea manuales */
:is(.post-prose,.i49-content,.entry-content) p{white-space:pre-line;margin:0}
:is(.post-prose,.i49-content,.entry-content) p + p{margin-top:1.25em}

/* Encabezados del contenido */
:is(.post-prose,.i49-content,.entry-content) h1,
:is(.post-prose,.i49-content,.entry-content) h2,
:is(.post-prose,.i49-content,.entry-content) h3,
:is(.post-prose,.i49-content,.entry-content) h4{
  color:var(--i49-navy);
  font-weight:800;
  line-height:1.25;
  letter-spacing:-0.01em;
  margin:1.8em 0 .7em;
}
:is(.post-prose,.i49-content,.entry-content) h1{font-size:clamp(2rem,3vw,2.6rem)}
:is(.post-prose,.i49-content,.entry-content) h2{font-size:clamp(1.8rem,2.6vw,2.25rem)}
:is(.post-prose,.i49-content,.entry-content) h3{font-size:clamp(1.4rem,2vw,1.75rem)}
:is(.post-prose,.i49-content,.entry-content) h4{font-size:1.2rem}

/* Listas */
:is(.post-prose,.i49-content,.entry-content) ul{list-style:disc;margin:0 0 0 1.5rem}
:is(.post-prose,.i49-content,.entry-content) ol{list-style:decimal;margin:0 0 0 1.6rem}
:is(.post-prose,.i49-content,.entry-content) li{margin:.45rem 0}

/* Citas */
:is(.post-prose,.i49-content,.entry-content) blockquote{
  border-left:4px solid var(--i49-brand);
  background:rgba(73,224,161,.08);
  padding:.9rem 1.1rem;
  border-radius:.6rem;
  margin:1.6rem 0;
}

/* Código */
:is(.post-prose,.i49-content,.entry-content) code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  background:#0b1d2f0d;border:1px solid #0b1d2f1a;border-radius:.4rem;
  padding:.15rem .35rem;font-size:.95em
}
:is(.post-prose,.i49-content,.entry-content) pre{
  overflow:auto;background:#0b1d2f0d;border:1px solid #0b1d2f1a;border-radius:.6rem;
  padding:1rem;margin:1.4rem 0
}
:is(.post-prose,.i49-content,.entry-content) pre code{background:transparent;border:0;padding:0}

/* Tablas / HR / Imágenes */
:is(.post-prose,.i49-content,.entry-content) hr{border:0;border-top:1px solid var(--i49-border);margin:2rem 0}
:is(.post-prose,.i49-content,.entry-content) table{border-collapse:collapse;width:100%;font-size:1rem}
:is(.post-prose,.i49-content,.entry-content) th,
:is(.post-prose,.i49-content,.entry-content) td{border:1px solid var(--i49-border);padding:.6rem .7rem}
:is(.post-prose,.i49-content,.entry-content) thead th{background:#f7faf9;font-weight:700}
:is(.post-prose,.i49-content,.entry-content) img,
:is(.post-prose,.i49-content,.entry-content) figure img{max-width:100%;height:auto;border-radius:.5rem}

/* Navegación siguiente/anterior */
.i49-post-footer{margin-top:2.6rem;border-top:1px solid var(--i49-border);padding-top:1rem}
.i49-post-nav{display:flex;justify-content:space-between;gap:1rem}
.i49-post-nav a{color:#0b5e48;text-decoration:underline;text-underline-offset:2px}

/* Listado (home/archive) */
.i49-list-title{font-size:clamp(2rem,4vw,2.4rem);font-weight:800;color:var(--i49-navy)}
.i49-list-sub{color:#3d5366;opacity:.9}
.i49-card{border:1px solid var(--i49-border);background:#fff;border-radius:1rem;transition:box-shadow .2s,transform .2s}
.i49-card:hover{box-shadow:0 10px 30px -10px rgba(73,224,161,.35);transform:translateY(-1px)}
.i49-card-link{display:block;padding:1.1rem}
.i49-card-title{font-weight:800;color:var(--i49-navy);font-size:1.15rem;line-height:1.3}
.i49-card-excerpt{margin-top:.5rem;color:var(--i49-text)}
.i49-card-meta{margin-top:.6rem;font-size:.9rem;color:#4a5f7488}
.i49-pagination{margin-top:2rem}
.i49-pagination .page-numbers{display:inline-block;margin:.2rem;padding:.4rem .7rem;border:1px solid var(--i49-border);border-radius:.5rem}
.i49-pagination .current{background:rgba(73,224,161,.12);border-color:rgba(73,224,161,.5)}
