/*
Theme Name: Noztar Blog
Theme URI: https://noztar.com/blog/
Author: Noztar
Author URI: https://noztar.com
Description: Tema de bloques para el blog de Noztar. Replica el diseño del sitio principal — paleta mint, Space Grotesk y DM Sans — manteniéndose deliberadamente pequeño: sin constructores, sin dependencias y sin opciones que nadie va a tocar.
Requires at least: 7.0
Tested up to: 7.1
Requires PHP: 8.0
Version: 1.0.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: noztar-blog
Tags: blog, one-column, block-patterns, full-site-editing, translation-ready
*/

/* ===========================================================================
   Casi todo el diseño vive en theme.json, que es donde WordPress espera los
   tokens y donde el Editor del sitio puede leerlos. Aquí sólo queda lo que
   theme.json no sabe expresar: la cabecera y el pie que replican los del sitio
   principal, y unos pocos remates tipográficos.
   =========================================================================== */

:root {
  --nz-verde: #00B488;
  --nz-verde-oscuro: #008F6B;
  --nz-verde-claro: #D1F5E8;
  --nz-morado: #6D28D9;
  --nz-naranja: #F97316;
  --nz-tinta: #0F0F1A;
  --nz-texto: #52525B;
  --nz-suave: #FAFAFA;
  --nz-gris: #F4F4F5;
  --nz-borde: #E4E4E7;
  --nz-sombra: 0 1px 2px rgba(15, 15, 26, .04), 0 8px 24px rgba(15, 15, 26, .06);
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* ---- Cabecera ------------------------------------------------------------
   Misma altura, mismo gutter y mismos enlaces que el navbar del sitio, para
   que pasar de noztar.com a noztar.com/blog no se note como un salto. */
.nz-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, .92);
  backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid var(--nz-borde);
}
.nz-header .wp-block-site-logo img { max-height: 38px; width: auto; }

.nz-nav a {
  color: var(--nz-tinta);
  font-weight: 500;
  font-size: 15px;
  text-decoration: none;
}
.nz-nav a:hover { color: var(--nz-verde-oscuro); }
.nz-nav .wp-block-navigation-item.current-menu-item > a { color: var(--nz-verde-oscuro); font-weight: 700; }

/* Botón de "Mi cuenta" en la cabecera */
.nz-cta a {
  background: var(--nz-verde);
  color: #fff !important;
  border-radius: 10px;
  padding: 10px 18px;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none !important;
  box-shadow: 0 2px 0 var(--nz-verde-oscuro);
  display: inline-block;
  transition: background .15s ease, box-shadow .15s ease;
}
.nz-cta a:hover { background: var(--nz-verde-oscuro); box-shadow: 0 4px 0 var(--nz-verde-oscuro); }

/* ---- Tarjetas de entrada -------------------------------------------------- */
.nz-card {
  background: #fff;
  border: 1px solid var(--nz-borde);
  border-radius: 16px;
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease;
}
.nz-card:hover { transform: translateY(-3px); box-shadow: var(--nz-sombra); }
.nz-card .wp-block-post-featured-image img { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; }
.nz-card .wp-block-post-title { font-size: 21px; line-height: 1.3; margin: 0 0 8px; }
.nz-card .wp-block-post-title a { text-decoration: none; color: var(--nz-tinta); }
.nz-card .wp-block-post-title a:hover { color: var(--nz-verde-oscuro); }
.nz-card .wp-block-post-excerpt__excerpt { font-size: 15px; line-height: 1.7; }

/* ---- Metadatos ------------------------------------------------------------ */
.nz-meta,
.nz-meta a {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 12.5px;
  letter-spacing: .02em;
  color: var(--nz-texto);
  text-decoration: none;
}
.nz-meta a:hover { color: var(--nz-verde-oscuro); text-decoration: underline; }

/* Categorías y etiquetas como píldoras */
.nz-terms a {
  display: inline-block;
  background: var(--nz-verde-claro);
  color: var(--nz-verde-oscuro);
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 12.5px;
  font-weight: 600;
  text-decoration: none;
  margin: 0 6px 6px 0;
}
.nz-terms a:hover { background: var(--nz-verde); color: #fff; }

/* ---- Eyebrow, igual que en el sitio -------------------------------------- */
.nz-eyebrow {
  font-family: 'Space Grotesk', system-ui, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--nz-verde-oscuro);
}

/* ---- Cuerpo del artículo -------------------------------------------------- */
.nz-contenido p { margin-bottom: 1.35em; }
.nz-contenido h2 { margin-top: 1.9em; }
.nz-contenido h3 { margin-top: 1.5em; }
.nz-contenido img,
.nz-contenido figure img { border-radius: 14px; }
.nz-contenido figcaption { text-align: center; }

/* Tablas: mismos ejes nombrados y mismo trazo que en el sitio */
.nz-contenido table { border-collapse: collapse; width: 100%; font-size: 15px; }
.nz-contenido th,
.nz-contenido td { padding: 12px 14px; border-bottom: 1px solid var(--nz-borde); text-align: left; }
.nz-contenido thead th { background: var(--nz-gris); font-family: 'Space Grotesk', sans-serif; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; }

/* ---- Pie ------------------------------------------------------------------ */
.nz-footer { background: var(--nz-tinta); color: #fff; }
.nz-footer a { color: #fff; text-decoration: none; }
.nz-footer a:hover { text-decoration: underline; }
.nz-footer .nz-footer-tenue,
.nz-footer .nz-footer-tenue a { color: #A1A1AA; font-size: 13px; }
.nz-footer h2,
.nz-footer h3 { color: #fff; }

.nz-eco {
  background: var(--nz-verde-claro);
  color: #00603F;
  border-radius: 12px;
  font-size: 14px;
}
.nz-eco a { color: #00603F; font-weight: 700; }

/* ---- Paginación ----------------------------------------------------------- */
.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
  border: 1px solid var(--nz-borde);
  border-radius: 9px;
  padding: 8px 14px;
  text-decoration: none;
  color: var(--nz-tinta);
  font-weight: 600;
  font-size: 15px;
}
.wp-block-query-pagination .current {
  background: var(--nz-tinta);
  border-color: var(--nz-tinta);
  color: #fff;
}
.wp-block-query-pagination a:hover { border-color: var(--nz-verde); color: var(--nz-verde-oscuro); }

/* ---- Accesibilidad --------------------------------------------------------- */
.skip-link {
  position: absolute;
  left: -9999px;
  background: var(--nz-tinta);
  color: #fff;
  padding: 12px 18px;
  border-radius: 0 0 10px 0;
  z-index: 100;
}
.skip-link:focus { left: 0; top: 0; }

:where(a, button, input, select, textarea):focus-visible {
  outline: 2px solid var(--nz-verde);
  outline-offset: 2px;
  border-radius: 4px;
}

@media (prefers-reduced-motion: reduce) {
  .nz-card { transition: none; }
  .nz-card:hover { transform: none; }
}
