/*
Theme Name: Ganlyo Createxto
Theme URI: https://createxto.ganlyo.com
Author: Ganlyo.com
Description: Tema de noticias profesional y elegante para Createxto / Ganlyo. Skins, panel, tipografía editorial.
Version: 9.5.2
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: ganlyo-createxto
*/

/* Base — variables se inyectan desde el Panel NotiVolta */
:root {
  --nv-primary: #1d4ed8;
  --nv-primary-dark: #1e3a8a;
  --nv-accent: #0ea5e9;
  --nv-bg: #fafbfc;
  --nv-bg-soft: #f1f5f9;
  --nv-text: #0f172a;
  --nv-text-muted: #667085;
  --nv-success: #12B76A;
  --nv-radius: 12px;
  --nv-gap: 1.5rem;
  --nv-container: 1200px;
  --nv-sidebar: 320px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: var(--nv-text);
  background: var(--nv-bg);
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
/* Color de enlaces solo en cuerpo del single post */
.nv-single__content a,
.nv-single .entry-content a,
.entry-content a,
.nv-s .nv-single__content a {
  color: var(--nv-link, var(--nv-primary));
  text-decoration: underline;
  text-underline-offset: 2px;
}
.nv-single__content a:hover,
.entry-content a:hover {
  color: var(--nv-primary-dark, var(--nv-primary));
}
a:hover { color: var(--nv-primary-dark); }
/* Imágenes del tema (cards, featured). Los anuncios se excluyen al final del CSS. */
.nv-card img,
.nv-list-item img,
.nv-single__featured img,
.nv-popular-card img,
.nv-related img,
.nv-logo img,
.nv-meta__avatar-img,
.nv-author-box img {
  max-width: 100%;
  height: auto;
  display: block;
}

.nv-container {
  width: 100%; max-width: var(--nv-container, 1200px);
  margin-inline: auto;
}

/* Layout with sidebar */
.nv-layout {
  display: grid;
  gap: var(--nv-gap);
  width: 100%; max-width: var(--nv-container, 1200px);
  margin: 2rem auto;
}
@media (min-width: 1024px) {
  .nv-layout.has-sidebar {
    grid-template-columns: 1fr var(--nv-sidebar);
  }
}

/* Verified + badges */
.nv-verified {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  color: var(--nv-success);
  font-weight: 600;
  font-size: 0.85em;
}
.nv-badge-tipo {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: var(--nv-bg-soft);
  font-size: 0.75rem;
  font-weight: 600;
  color: #0f172a;
}
.nv-badge-tipo + .nv-badge-tipo { margin-left: 0.35rem; }

/* Cards */
.nv-card {
  background: #fff;
  border-radius: var(--nv-radius);
  overflow: hidden;
  border: 1px solid #EEF0F5;
  transition: box-shadow 0.2s;
}
.nv-card:hover { box-shadow: 0 8px 24px rgba(47, 42, 138, 0.08); }
.nv-card__img { aspect-ratio: 16/9; object-fit: cover; width: 100%; background: var(--nv-bg-soft); }
.nv-card__body { padding: 1rem; }
.nv-card__title { margin: 0.4rem 0; font-size: 1.05rem; line-height: 1.35; color: var(--nv-text); }
.nv-card__meta { font-size: 0.8rem; color: var(--nv-text-muted); }

/* Archive grids */
.nv-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(var(--nv-cols-m, var(--nv-archive-cols-m, 2)), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .nv-grid { grid-template-columns: repeat(var(--nv-cols-t, var(--nv-archive-cols-t, 3)), minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .nv-grid { grid-template-columns: repeat(var(--nv-cols-d, var(--nv-archive-cols-d, 4)), minmax(0, 1fr)); }
}
.nv-grid--home {
  grid-template-columns: repeat(var(--nv-cols-m, var(--nv-home-cols-m, 2)), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .nv-grid--home { grid-template-columns: repeat(var(--nv-cols-t, var(--nv-home-cols-t, 3)), minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .nv-grid--home { grid-template-columns: repeat(var(--nv-cols-d, var(--nv-home-cols-d, 4)), minmax(0, 1fr)); }
}
/* Related uses own vars — never inherit archive grid counts */
.nv-related .nv-grid.nv-related__grid,
.nv-related__grid.nv-grid {
  grid-template-columns: repeat(var(--nv-related-cols-m, 1), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .nv-related .nv-grid.nv-related__grid,
  .nv-related__grid.nv-grid {
    grid-template-columns: repeat(var(--nv-related-cols-t, 2), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .nv-related .nv-grid.nv-related__grid,
  .nv-related__grid.nv-grid {
    grid-template-columns: repeat(var(--nv-related-cols-d, 3), minmax(0, 1fr));
  }
}
.nv-list-item {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid #EEF0F5;
}
@media (max-width: 767px) {
  .nv-list-item { grid-template-columns: 100px 1fr; }
}

/* Single */
.nv-single__title { margin: 0.5rem 0 0.75rem; }
.nv-single__excerpt { color: var(--nv-text-muted); margin-bottom: 1rem; }
.nv-single__meta { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; margin-bottom: 1rem; font-size: 0.9rem; }
.nv-single__share { display: flex; gap: 0.5rem; margin-bottom: 1.25rem; }
.nv-single__share a {
  width: 36px; height: 36px; display: grid; place-items: center;
  border-radius: 50%; background: var(--nv-bg-soft); color: var(--nv-text);
}
.nv-single__featured { margin: 1.25rem 0; border-radius: var(--nv-radius); overflow: hidden; }
.nv-single__caption { font-size: 0.85rem; color: var(--nv-text-muted); margin-top: 0.5rem; }
.nv-author-box {
  display: flex; gap: 1rem; padding: 1.25rem;
  background: var(--nv-bg-soft); border-radius: var(--nv-radius); margin: 2rem 0;
}
.nv-related { margin: 2.5rem 0; }
.nv-related__grid,
.nv-grid--related {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(var(--nv-related-cols-m, 1), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .nv-related__grid,
  .nv-grid--related {
    grid-template-columns: repeat(var(--nv-related-cols-t, 2), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .nv-related__grid,
  .nv-grid--related {
    grid-template-columns: repeat(var(--nv-related-cols-d, 3), minmax(0, 1fr));
  }
}

/* Header shells */
.nv-topbar {
  background: var(--nv-primary-dark);
  color: #fff;
  font-size: 0.8rem;
  padding: 0.4rem 0;
}
.nv-topbar a { color: #fff; opacity: 0.9; }
.nv-menubar {
  border-bottom: 1px solid #EEF0F5;
  background: #fff;
}
.nv-menubar .nv-container {
  display: flex; align-items: center; gap: 1rem;
  min-height: 48px;
}
.nv-mainbar {
  border-bottom: 1px solid #EEF0F5;
  padding: 0.75rem 0;
  background: #fff;
}
.nv-mainbar .nv-container {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
.nv-logo { display: flex; align-items: center; max-height: 100%; }
.nv-logo img, .nv-logo svg {
  height: var(--nv-logo-h-m, 28px) !important;
  width: auto !important;
  max-height: calc(var(--nv-header-h-m, 56px) - 12px) !important;
  object-fit: contain;
}
.nv-logo--cat img {
  height: var(--nv-logo-h-m, 28px) !important;
  width: auto !important;
  max-height: calc(var(--nv-header-h-m, 56px) - 12px) !important;
  object-fit: contain;
}
@media (min-width: 768px) {
  .nv-logo img, .nv-logo svg, .nv-logo--cat img {
    height: var(--nv-logo-h-t, 34px) !important;
    max-height: calc(var(--nv-header-h-t, 64px) - 14px) !important;
  }
}
@media (min-width: 1024px) {
  .nv-logo img, .nv-logo svg, .nv-logo--cat img {
    height: var(--nv-logo-h-d, 40px) !important;
    max-height: calc(var(--nv-header-h-d, 72px) - 16px) !important;
  }
}
.nv-user-btn {
  width: 40px; height: 40px; border-radius: 50%;
  border: 1px solid #EEF0F5; background: var(--nv-bg-soft);
  display: grid; place-items: center; cursor: pointer;
}
.nv-user-menu {
  position: absolute; right: 0; top: calc(100% + 0.35rem);
  background: #fff; border: 1px solid #EEF0F5; border-radius: var(--nv-radius);
  box-shadow: 0 12px 32px rgba(0,0,0,0.14); min-width: 240px; max-width: min(320px, 92vw);
  z-index: 10050;
  display: none; padding: 0.5rem;
  max-height: min(70vh, 480px);
  overflow-y: auto;
}
.nv-user-wrap { position: relative; z-index: 10050; }
.nv-user-wrap.open .nv-user-menu { display: block !important; }
.nv-mainbar, .nv-mainbar__right, .nv-header { overflow: visible !important; }
.nv-user-menu a {
  display: block; padding: 0.55rem 0.75rem; color: var(--nv-text);
  border-radius: 6px;
}
.nv-user-menu a:hover { background: var(--nv-bg-soft); }

@media (max-width: 767px) {
  .nv-topbar, .nv-menubar { display: none; }
}

/* Home */
.nv-ticker {
  background: var(--nv-bg-soft);
  padding: 0.6rem 0;
  font-size: 0.85rem;
  overflow: hidden;
}
.nv-hero {
  display: grid;
  gap: 1rem;
  margin: 1.5rem 0;
}
@media (min-width: 1024px) {
  .nv-hero {
    grid-template-columns: 1.4fr 1fr;
    grid-template-rows: 1fr 1fr;
  }
  .nv-hero__main { grid-row: 1 / 3; }
}
.nv-section { margin: 2.5rem 0; }
.nv-section__head {
  display: flex; justify-content: space-between; align-items: baseline;
  border-bottom: 2px solid var(--nv-primary); margin-bottom: 1rem; padding-bottom: 0.4rem;
}
.nv-section__title { margin: 0; font-size: 1.25rem; color: var(--nv-primary-dark); }
.nv-cta-creators {
  background: linear-gradient(135deg, var(--nv-primary), var(--nv-primary-dark));
  color: #fff; border-radius: var(--nv-radius); padding: 2rem; text-align: center; margin: 2rem 0;
}
.nv-cta-creators a.button {
  display: inline-block; margin-top: 1rem; background: #fff; color: var(--nv-primary-dark);
  padding: 0.65rem 1.4rem; border-radius: 999px; font-weight: 600;
}

/* Footer */
.nv-footer {
  background: var(--nv-primary-dark);
  color: #fff;
  padding: 2.5rem 0 1.5rem;
  margin-top: 3rem;
}
.nv-footer a { color: rgba(255,255,255,0.85); }

/* Buttons */
.nv-btn {
  display: inline-flex; align-items: center; gap: 0.4rem;
  padding: 0.55rem 1.1rem; border-radius: 8px; border: none;
  background: var(--nv-primary); color: #fff; font-weight: 600; cursor: pointer;
}
.nv-btn:hover { background: var(--nv-primary-dark); color: #fff; }
.nv-btn--ghost {
  background: transparent; border: 1px solid #EEF0F5; color: var(--nv-text);
}

/* Admin panel styles loaded separately */

/* TOC */
.nv-toc {
  background: var(--nv-bg-soft);
  border-radius: var(--nv-radius);
  padding: 1rem 1.25rem;
  margin: 1.25rem 0;
  border-left: 3px solid var(--nv-primary);
}
.nv-toc__title { display: block; margin-bottom: 0.5rem; }
.nv-toc ol { margin: 0; padding-left: 1.2rem; }
.nv-toc li { margin: 0.35rem 0; }
.nv-toc__l3 { margin-left: 0.75rem; font-size: 0.95em; }

/* ========== HEADER STRUCTURE (NotiVolta) ========== */
.nv-only-mobile { display: none !important; }
.nv-only-desktop-tablet { display: block; }

@media (max-width: 767px) {
  .nv-only-mobile { display: flex !important; }
  .nv-only-desktop-tablet { display: none !important; }
  .nv-search-panel.nv-only-mobile[hidden] { display: none !important; }
  .nv-search-panel.nv-only-mobile:not([hidden]) { display: block !important; }
}

.nv-topbar__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.nv-topbar__menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1rem;
}
.nv-topbar__menu a { color: inherit; }

.nv-nav__list {
  list-style: none;
  margin: 0;
  padding: 0.5rem 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1.25rem;
}
.nv-nav__list a {
  color: var(--nv-text);
  font-weight: 500;
  padding: 0.35rem 0;
}
.nv-nav__list a:hover { color: var(--nv-primary); }

.nv-mainbar {
  height: var(--nv-header-h-m, 56px);
}
.nv-mainbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  height: 100%;
  min-height: var(--nv-header-h-m, 56px);
  max-height: var(--nv-header-h-m, 56px);
}
@media (min-width: 768px) {
  .nv-mainbar, .nv-mainbar__inner {
    height: var(--nv-header-h-t, 64px);
    min-height: var(--nv-header-h-t, 64px);
    max-height: var(--nv-header-h-t, 64px);
  }
}
@media (min-width: 1024px) {
  .nv-mainbar, .nv-mainbar__inner {
    height: var(--nv-header-h-d, 72px);
    min-height: var(--nv-header-h-d, 72px);
    max-height: var(--nv-header-h-d, 72px);
  }
}
.nv-mainbar__right {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-left: auto;
}
.nv-header-sc { display: flex; align-items: center; }

.nv-search--bar {
  display: flex;
  align-items: center;
  border: 1px solid #EEF0F5;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.nv-search--bar input {
  border: none;
  padding: 0.45rem 0.75rem;
  min-width: 140px;
  font: inherit;
  outline: none;
}
.nv-search--bar button {
  border: none;
  background: transparent;
  padding: 0.45rem 0.65rem;
  cursor: pointer;
}

.nv-burger {
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  padding: 8px;
  border: 1px solid #EEF0F5;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
}
.nv-burger span {
  display: block;
  height: 2px;
  width: 100%;
  background: var(--nv-text);
  border-radius: 1px;
}
.nv-search-toggle {
  width: 40px;
  height: 40px;
  border: 1px solid #EEF0F5;
  border-radius: 8px;
  background: var(--nv-bg-soft);
  cursor: pointer;
  align-items: center;
  justify-content: center;
}
.nv-search-panel {
  padding: 0.75rem 1rem 1rem;
  border-top: 1px solid #EEF0F5;
  background: #fff;
}
.nv-search--panel {
  display: flex;
  gap: 0.5rem;
}
.nv-search--panel input {
  flex: 1;
  padding: 0.55rem 0.75rem;
  border: 1px solid #EEF0F5;
  border-radius: 8px;
  font: inherit;
}
.nv-search--panel button {
  padding: 0.55rem 1rem;
  border: none;
  border-radius: 8px;
  background: var(--nv-primary);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}

/* Mobile drawer */
.nv-mobile-drawer[hidden] { display: none !important; }
.nv-mobile-drawer:not([hidden]) { display: block; }
.nv-mobile-drawer__overlay {
  position: fixed;
  inset: 0;
  background: rgba(18, 18, 18, 0.45);
  z-index: 998;
}
.nv-mobile-drawer__nav {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: min(86vw, 320px);
  background: #fff;
  z-index: 999;
  padding: 1.25rem;
  overflow-y: auto;
  box-shadow: 8px 0 32px rgba(0,0,0,0.12);
}
.nv-mobile-drawer__close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  width: 36px;
  height: 36px;
  border: none;
  background: var(--nv-bg-soft);
  border-radius: 8px;
  font-size: 1.4rem;
  cursor: pointer;
  line-height: 1;
}
.nv-mobile-nav {
  list-style: none;
  margin: 2.5rem 0 0;
  padding: 0;
}
.nv-mobile-nav a {
  display: block;
  padding: 0.75rem 0;
  border-bottom: 1px solid #EEF0F5;
  color: var(--nv-text);
  font-weight: 500;
}
body.nv-drawer-open { overflow: hidden; }

/* User menu */
.nv-user-menu[hidden] { display: none !important; }
.nv-user-wrap.open .nv-user-menu,
.nv-user-menu:not([hidden]) {
  display: block !important;
}

/* ========== META SINGLE — sin márgenes entre autor / tipo / fecha ========== */
.nv-meta {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin: 0.75rem 0 1rem;
  padding: 0;
  border: none;
}
.nv-meta__avatar {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
}
.nv-meta__avatar-img,
.nv-meta__avatar img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}
.nv-meta__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0; /* sin espacio entre líneas */
  line-height: 1.25;
}
.nv-meta__line {
  margin: 0;
  padding: 0;
  line-height: 1.3;
}
.nv-meta__line--name {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--nv-text);
}
.nv-meta-author {
  color: inherit;
  text-decoration: none;
  font-weight: 700;
}
.nv-meta-author:hover { color: var(--nv-primary); text-decoration: underline; }
.nv-meta__flag { font-size: 0.95rem; line-height: 1; }
.nv-meta__line--type {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--nv-primary);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin: 0;
  padding: 0;
}
.nv-meta__line--info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.4rem;
  font-size: 0.78rem;
  color: var(--nv-text-muted, #64748b);
  margin: 0;
  padding: 0;
}
.nv-meta-date,
.nv-meta-reading,
.nv-meta-views {
  display: inline;
  color: inherit;
}
.nv-meta-sep { opacity: 0.5; margin: 0 0.1rem; }
.nv-verified {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  font-size: 0.65rem;
  background: var(--nv-primary);
  color: #fff;
  border-radius: 50%;
}

/* ========== STICKY HEADER ========== */
.nv-header.is-sticky .nv-topbar {
  display: none !important;
}
.nv-header.is-sticky .nv-menubar,
.nv-header.is-sticky .nv-mainbar {
  position: sticky;
  top: 0;
  z-index: 200;
  background: #fff;
  box-shadow: 0 4px 20px rgba(18, 18, 18, 0.08);
}
.nv-header.is-sticky .nv-menubar { top: 0; }
.nv-header.is-sticky .nv-mainbar { top: 0; }
@media (min-width: 768px) {
  .nv-header.is-sticky.has-menubar .nv-mainbar {
    top: 48px; /* under sticky menubar */
  }
  .nv-header.is-sticky .nv-menubar {
    top: 0;
  }
}

/* ========== NAV DROPDOWNS ========== */
.nv-nav__list > li {
  position: relative;
}
.nv-nav__list .sub-menu {
  display: none;
  position: absolute;
  left: 0;
  top: 100%;
  min-width: 200px;
  background: #fff;
  border: 1px solid #EEF0F5;
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(0,0,0,0.1);
  padding: 0.5rem;
  z-index: 220;
  list-style: none;
  margin: 0;
}
.nv-nav__list > li:hover > .sub-menu,
.nv-nav__list > li:focus-within > .sub-menu,
.nv-nav__list > li.is-open > .sub-menu {
  display: block;
}
.nv-nav__list .sub-menu a {
  display: block;
  padding: 0.5rem 0.75rem;
  border-radius: 6px;
}
.nv-nav__list .sub-menu a:hover {
  background: var(--nv-bg-soft);
}
.nv-mobile-nav .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0 0 0 0.75rem;
}
.nv-mobile-nav .sub-menu a {
  font-weight: 400;
  font-size: 0.95em;
}

/* ========== SKIN 1 classic ========== */
.nv-skin-1 .nv-tax-row { margin: 0.75rem 0; display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }

/* ========== SKIN 2 image first ========== */
.nv-skin-2 .nv-single__featured {
  margin: 0 0 1.5rem;
  border-radius: 0;
  max-height: 480px;
  overflow: hidden;
}
.nv-skin-2 .nv-single__featured .nv-card__img {
  width: 100%;
  max-height: 480px;
  object-fit: cover;
}
.nv-skin2__body { max-width: 720px; }

/* ========== SKIN 3 reading ========== */
.nv-skin-3 .nv-skin3__lede {
  border-left: 4px solid var(--nv-primary);
  padding: 0.75rem 1rem;
  background: var(--nv-bg-soft);
  border-radius: 0 10px 10px 0;
  margin: 1rem 0 1.5rem;
  font-size: 1.1em;
}
.nv-skin-3 .nv-skin3__content {
  max-width: 680px;
  font-size: 1.05em;
  line-height: 1.85;
}
.nv-layout--skin-3.has-sidebar .nv-sidebar { opacity: 0.95; }

/* ========== SKIN 4 report ========== */
.nv-skin4__meta-wrap {
  background: var(--nv-bg-soft);
  border-radius: var(--nv-radius);
  padding: 1rem 1.15rem;
  margin: 1rem 0 1.5rem;
  border: 1px solid #EEF0F5;
}
.nv-skin-4 .nv-meta { margin: 0; }

/* ========== SKIN 5 dark hero ========== */
.nv-skin-5 { margin-top: 0; }
.nv-layout--skin-5 {
  /* hero can break out slightly */
}
.nv-skin5__hero {
  position: relative;
  color: #fff;
  margin: 0 0 2rem;
  min-height: 360px;
  display: flex;
  align-items: flex-end;
  border-radius: 0 0 var(--nv-radius) var(--nv-radius);
  overflow: hidden;
}
.nv-skin5__media {
  position: absolute;
  inset: 0;
}
.nv-skin5__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 360px;
}
.nv-skin5__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(18,18,18,0.85) 10%, rgba(47,42,138,0.45) 100%);
}
.nv-skin5__content {
  position: relative;
  z-index: 1;
  padding: 2rem 1rem 2.25rem;
  width: 100%;
}
.nv-skin5__title {
  color: #fff !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.35);
}
.nv-skin5__excerpt {
  color: rgba(255,255,255,0.88) !important;
}
.nv-skin-5 .nv-meta-author,
.nv-skin-5 .nv-meta-date,
.nv-skin-5 .nv-meta-views,
.nv-skin-5 .nv-meta-reading,
.nv-skin-5 .nv-tax-category {
  color: rgba(255,255,255,0.9) !important;
}
.nv-skin-5 .nv-badge-tipo {
  background: rgba(255,255,255,0.15);
  color: #fff;
}
.nv-skin5__body {
  padding: 0 0 2rem;
}
.nv-author-rank {
  display: inline-block;
  margin-left: 0.5rem;
  font-size: 0.8rem;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  background: var(--nv-bg-soft);
  color: var(--nv-primary-dark);
  font-weight: 600;
}

/* Page layouts */
.nv-page--full .nv-page__inner { max-width: 100%; width: min(100% - 2rem, 1400px); margin-inline: auto; padding: 2rem 0; }
.nv-page--default .nv-page__inner { max-width: 800px; margin-inline: auto; padding: 2rem 0; }
.nv-page__title { margin-bottom: 1.25rem; }

.nv-single__share { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.25rem; }
.nv-share-btn {
  width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%; border: 1px solid #EEF0F5; background: var(--nv-bg-soft);
  color: var(--nv-text); cursor: pointer; text-decoration: none; padding: 0;
}
.nv-share-btn:hover { background: var(--nv-primary); color: #fff; border-color: var(--nv-primary); }
.nv-share-btn--copy.is-copied { background: var(--nv-success); color: #fff; border-color: var(--nv-success); }

/* A11y */
.nv-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 10000;
  padding: 0.75rem 1rem;
  background: var(--nv-primary);
  color: #fff;
  font-weight: 600;
  border-radius: 0 0 8px 0;
}
.nv-skip-link:focus {
  left: 0;
}
.nv-nav__list a:focus-visible,
.nv-share-btn:focus-visible,
.nv-burger:focus-visible,
.nv-user-btn:focus-visible,
.nv-btn:focus-visible {
  outline: 2px solid var(--nv-primary);
  outline-offset: 2px;
}

/* Comments */
.nv-comments { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid #EEF0F5; }
.nv-comment-list { list-style: none; margin: 0; padding: 0; }
.nv-comment-list .comment { padding: 1rem 0; border-bottom: 1px solid #EEF0F5; }
.nv-comment-list .avatar { border-radius: 50%; }
.nv-comments .comment-form input[type="text"],
.nv-comments .comment-form input[type="email"],
.nv-comments .comment-form input[type="url"],
.nv-comments .comment-form textarea {
  width: 100%;
  padding: 0.55rem 0.75rem;
  border: 1px solid #EEF0F5;
  border-radius: 8px;
  font: inherit;
}
.nv-search--form { display: flex; gap: 0.5rem; }
.nv-search--form input { flex: 1; padding: 0.55rem 0.75rem; border: 1px solid #EEF0F5; border-radius: 8px; }

/* Dark mode */
body.nv-dark {
  --nv-bg: #0f1115;
  --nv-bg-soft: #1a1d24;
  --nv-text: #f2f4f8;
  --nv-text-muted: #9aa3b2;
  background: var(--nv-bg);
  color: var(--nv-text);
}
body.nv-dark .nv-mainbar,
body.nv-dark .nv-menubar,
body.nv-dark .nv-card,
body.nv-dark .nv-user-menu,
body.nv-dark .nv-mobile-drawer__nav,
body.nv-dark .nv-search-panel {
  background: #151821;
  border-color: #2a2f3a;
}
body.nv-dark .nv-card { border-color: #2a2f3a; }
body.nv-dark .nv-card__title,
body.nv-dark .nv-nav__list a,
body.nv-dark .nv-meta-author { color: var(--nv-text); }
body.nv-dark .nv-footer { background: #0a0c10; }
body.nv-dark .nv-search--bar,
body.nv-dark .nv-burger,
body.nv-dark input,
body.nv-dark textarea,
body.nv-dark select {
  background: #1a1d24;
  color: var(--nv-text);
  border-color: #2a2f3a;
}
body.nv-dark .nv-skin4__meta-wrap,
body.nv-dark .nv-author-box,
body.nv-dark .nv-toc,
body.nv-dark .nv-skin3__lede {
  background: #1a1d24;
  border-color: #2a2f3a;
}
.screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important;
}
.nv-footer__inner { display: grid; gap: 1.25rem; }
.nv-footer__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; }
.nv-footer__copy { opacity: 0.7; font-size: 0.85rem; margin: 0; }
@media (min-width: 768px) {
  .nv-footer__inner { grid-template-columns: 1.2fr 1fr; align-items: start; }
  .nv-footer__copy { grid-column: 1 / -1; }
}



.nv-badge-tipo {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  line-height: 1.2;
}
.nv-badge-tipo__icon {
  width: 14px;
  height: 14px;
  object-fit: contain;
  border-radius: 2px;
}
.nv-badge-tipo__emoji { line-height: 1; }
.nv-meta-line { font-size: 0.85rem; color: var(--nv-text-muted); margin-top: 0.35rem; }
.nv-card__title a { color: inherit; text-decoration: none; }
.nv-card__title a:hover { color: var(--nv-primary); }



.nv-author-header {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #EEF0F5;
}
.nv-author-header__avatar { border-radius: 50%; width: 96px; height: 96px; }
.nv-author-socials { list-style: none; margin: 0.75rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.nv-author-social {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px; padding: 0 0.5rem;
  border-radius: 8px; background: var(--nv-bg-soft); color: var(--nv-text);
  text-decoration: none; font-size: 0.75rem; font-weight: 700;
}
.nv-author-social:hover { background: var(--nv-primary); color: #fff; }
.nv-archive-cat-logo { margin-bottom: 1.25rem; }
.nv-archive-cat-logo img { max-height: 64px; width: auto; }
.nv-popular-list { list-style: none; margin: 0; padding: 0; }
.nv-popular-item { margin-bottom: 0.75rem; }
.nv-popular-item a { display: flex; gap: 0.65rem; align-items: center; text-decoration: none; color: inherit; }
.nv-popular-thumb { width: 56px; height: 56px; object-fit: cover; border-radius: 8px; }
.nv-popular-title { font-size: 0.9rem; font-weight: 600; line-height: 1.35; }
@media (max-width: 767px) {
  .nv-layout.has-sidebar { display: flex; flex-direction: column; gap: 1.25rem; }
  .nv-sidebar { order: 2; position: static; width: 100%; display: block !important; }
}


/* Sidebar global tablet + desktop */
@media (min-width: 768px) {
  .nv-layout.has-sidebar {
    display: grid;
    grid-template-columns: 1fr var(--nv-sidebar, 320px);
    gap: 1.5rem;
    align-items: start;
    max-width: var(--nv-container, 1200px);
    margin-inline: auto;
    padding-inline: 1rem;
  }
  .nv-layout.has-sidebar .nv-sidebar {
    display: block !important;
    position: sticky;
    top: 5.5rem;
    align-self: start;
    max-height: calc(100vh - 6rem);
    overflow-y: auto;
    z-index: 2;
  }
}
@media (max-width: 767px) {
  .nv-layout.has-sidebar { display: flex; flex-direction: column; gap: 1.25rem; }
  .nv-layout.has-sidebar .nv-sidebar { display: block !important; position: static; width: 100%; }
}

/* Card vs Grid visual difference */
.nv-card--card {
  background: #fff;
  border: 1px solid #EEF0F5;
  border-radius: 14px;
  overflow: hidden;
}
.nv-card--card {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(18,18,18,0.06);
  display: flex;
  flex-direction: column;
  height: 100%;
}
.nv-card--card .nv-card__body { padding: 1rem 1.1rem 1.15rem; }
.nv-card--card .nv-card__img { aspect-ratio: 16/9; width: 100%; object-fit: cover; }

.nv-card--grid {
  background: transparent;
  border: none;
  box-shadow: none;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.nv-card--grid .nv-card__body--grid { padding: 0.25rem 0 0; }
.nv-card--grid .nv-card__img--grid {
  aspect-ratio: 4/3;
  width: 100%;
  object-fit: cover;
  border-radius: 8px;
}
.nv-card--grid .nv-card__title--grid { font-size: 0.95em; line-height: 1.35; }

.nv-grid--card { gap: 1.35rem; }
.nv-grid--grid { gap: 1rem; }

/* =========================================================
   LISTA — estilo Yahoo / Fox / YNA
   Thumb 120px izq · ratio 16/9 (src 320×180) · separador
   ========================================================= */
.nv-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.nv-list-item {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 0.85rem 1rem;
  align-items: start;
  padding: 1rem 0;
  border-bottom: 1px solid var(--nv-border, #e5e7eb);
  margin: 0;
}
.nv-list-item:last-child {
  border-bottom: none;
}
.nv-list-item--small { grid-template-columns: 96px 1fr; }
.nv-list-item--medium { grid-template-columns: 120px 1fr; }
.nv-list-item--large { grid-template-columns: 180px 1fr; }
.nv-list-item--xl { grid-template-columns: 280px 1fr; }
.nv-list-item--xxl { grid-template-columns: 360px 1fr; }
.nv-list-item__media {
  display: block;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 6px;
  background: var(--nv-bg-soft, #f7f8fb);
  aspect-ratio: 16 / 9;
  width: 100%;
}
.nv-list-item__media img,
.nv-list__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  aspect-ratio: 16 / 9;
}
.nv-list-item__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.nv-list-item__cat {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--nv-primary);
  text-decoration: none;
  margin-bottom: 0.1rem;
}
.nv-list-item__cat:hover { text-decoration: underline; }
.nv-list-item__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
}
.nv-list-item__title a {
  color: var(--nv-text);
  text-decoration: none;
}
.nv-list-item__title a:hover {
  color: var(--nv-primary);
}
.nv-list-item__excerpt {
  margin: 0.15rem 0 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: var(--nv-text-muted, #64748b);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.nv-list-item__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.4rem;
  margin-top: 0.35rem;
  font-size: 0.78rem;
  color: var(--nv-text-muted, #64748b);
}
.nv-list-item__author { font-weight: 600; color: var(--nv-text-muted); }
.nv-list-item__badges { margin-bottom: 0.15rem; }
@media (max-width: 480px) {
  .nv-list-item,
  .nv-list-item--small,
  .nv-list-item--medium,
  .nv-list-item--large {
    grid-template-columns: 96px 1fr;
    gap: 0.65rem;
    padding: 0.85rem 0;
  }
  .nv-list-item__title { font-size: 0.95rem; }
  .nv-list-item__excerpt { display: none; }
}
@media (min-width: 768px) {
  .nv-list-item--large { grid-template-columns: 200px 1fr; }
  .nv-list-item__title { font-size: 1.12rem; }
}
.nv-card__cat {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--nv-primary);
  text-decoration: none;
  margin-bottom: 0.25rem;
}
.nv-card__cat--pill {
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.68rem;
  line-height: 1.3;
  color: inherit;
}

/* =========================================================
   ANUNCIOS — contenedor mínimo (no altera tamaños de la red)
   ========================================================= */


/* Populares sidebar en estilo card */
.nv-popular-cards {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.nv-popular-card {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  background: var(--nv-card-bg, #fff);
  border: 1px solid var(--nv-border, #e5e7eb);
  border-radius: 10px;
  padding: 0.65rem;
  transition: box-shadow .15s, transform .15s;
}
.nv-popular-card:hover {
  box-shadow: 0 4px 14px rgba(15,23,42,.08);
  transform: translateY(-1px);
}
.nv-popular-card a {
  display: flex;
  gap: 0.75rem;
  text-decoration: none;
  color: inherit;
  width: 100%;
}
.nv-popular-card__img {
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  border-radius: 8px;
  object-fit: cover;
  background: #f1f5f9;
}
.nv-popular-card__body {
  flex: 1;
  min-width: 0;
}
.nv-popular-card__title {
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 0.25rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.nv-popular-card__meta {
  font-size: 0.75rem;
  color: #64748b;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.65rem;
}

/* Footer logo */
.nv-footer__logo { display: inline-block; }
.nv-footer__logo-img {
  max-height: 56px;
  width: auto;
  height: auto;
  display: block;
}
.nv-footer__sitename {
  font-size: 1.15rem;
  font-weight: 700;
  color: inherit;
  text-decoration: none;
}

.nv-author-flag{font-size:1.1em;margin-right:0.25rem}

/* Single — estilo Yahoo / Diario Libre / ANSA */
.nv-single__title {
  font-size: clamp(1.45rem, 2.5vw, 2.15rem);
  line-height: 1.25;
  font-weight: 800;
  margin: 0.4rem 0 0.65rem;
  letter-spacing: -0.01em;
}
.nv-single__excerpt {
  font-size: clamp(1.05rem, 1.4vw, 1.2rem);
  line-height: 1.45;
  color: var(--nv-text-muted, #475569);
  margin: 0 0 1rem;
  font-weight: 400;
}
.nv-single__content {
  font-size: 1.05rem;
  line-height: 1.7;
  max-width: 42rem;
}
.nv-single__content p { margin: 0 0 1.15rem; }
.nv-single__content h2 {
  font-size: 1.35rem;
  margin: 1.75rem 0 0.75rem;
  line-height: 1.3;
}
.nv-single__featured {
  margin: 1.25rem 0 1.5rem;
  border-radius: 8px;
  overflow: hidden;
}
.nv-single__featured img {
  width: 100%;
  height: auto;
  display: block;
}

/* ========== Skins 6–8 (referencias Yahoo / Diario Libre / AS) ========== */
.nv-skin-6 .nv-skin6__title,
.nv-skin-8 .nv-skin8__title {
  font-size: clamp(1.5rem, 2.6vw, 2.25rem);
  font-weight: 800;
  line-height: 1.22;
  letter-spacing: -0.015em;
}
.nv-skin-6 .nv-skin6__dek,
.nv-skin-8 .nv-skin8__dek {
  font-size: clamp(1.05rem, 1.5vw, 1.22rem);
  color: var(--nv-text-muted, #475569);
  line-height: 1.45;
  margin: 0 0 1rem;
}
.nv-skin-6 .nv-skin6__content,
.nv-skin-7 .nv-skin7__content,
.nv-skin-8 .nv-skin8__content {
  font-size: 1.06rem;
  line-height: 1.72;
  max-width: 42rem;
}
.nv-skin-7 .nv-skin7__title {
  font-size: clamp(1.4rem, 2.4vw, 2rem);
  font-weight: 800;
  line-height: 1.25;
}
.nv-skin-7 .nv-meta {
  border-top: none;
  padding-top: 0.35rem;
}
.nv-skin-7 .nv-single__featured {
  margin: 1rem 0 1.25rem;
  border-radius: 4px;
}
.nv-skin-7 .nv-skin7__dek {
  font-size: 1.05rem;
  border-left: 3px solid var(--nv-primary);
  padding-left: 0.85rem;
  margin: 0.75rem 0 1.25rem;
  color: var(--nv-text-muted);
}
.nv-skin-8 .nv-tax-row { margin-bottom: 0.35rem; }

.nv-meta__user-type {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--nv-primary);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

/* SKIN DIFFERENCES — cada una con identidad visual */
.nv-skin-2 .nv-single__featured,
.nv-skin-2 .nv-skin2 .nv-single__featured {
  margin: 0 0 1.5rem;
  border-radius: 0;
  max-width: 100%;
}
.nv-skin-2 .nv-skin2__title { font-size: clamp(1.6rem, 3vw, 2.4rem); }
.nv-skin-2 .nv-skin2__dek { font-size: 1.1rem; border-left: 4px solid var(--nv-primary); padding-left: 1rem; }

.nv-skin-3 .nv-skin3__lede {
  font-size: clamp(1.15rem, 1.8vw, 1.35rem);
  line-height: 1.5;
  font-weight: 500;
  color: var(--nv-text);
  margin: 1rem 0 1.5rem;
  padding: 1rem 1.25rem;
  background: var(--nv-bg-soft, #f8fafc);
  border-radius: 8px;
  border-left: 4px solid var(--nv-accent, #FF4D6D);
}
.nv-skin-3 .nv-skin3__title { font-size: clamp(1.55rem, 2.8vw, 2.3rem); }

.nv-skin-4 .nv-skin4__bar {
  background: var(--nv-bg-soft, #f8fafc);
  padding: 0.75rem 1rem;
  border-radius: 10px;
  margin: 0.75rem 0 1.25rem;
}
.nv-skin-4 .nv-skin4__bar .nv-meta { border: none; margin: 0; padding: 0; }
.nv-skin-4 .nv-skin4__title { font-size: clamp(1.35rem, 2.2vw, 1.9rem); }

.nv-skin-5 .nv-skin5__hero {
  position: relative;
  min-height: 320px;
  margin: 0 0 1.75rem;
  color: #fff;
}
.nv-skin-5 .nv-skin5__media { position: absolute; inset: 0; }
.nv-skin-5 .nv-skin5__img { width: 100%; height: 100%; object-fit: cover; }
.nv-skin-5 .nv-skin5__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.35) 55%, rgba(0,0,0,.2) 100%);
}
.nv-skin-5 .nv-skin5__content {
  position: relative; z-index: 1;
  padding: 4rem 1.25rem 2rem;
  max-width: 52rem;
}
.nv-skin-5 .nv-skin5__title { color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,.4); }
.nv-skin-5 .nv-skin5__excerpt { color: rgba(255,255,255,.9); }
.nv-skin-5 .nv-meta, .nv-skin-5 .nv-meta-author, .nv-skin-5 .nv-meta__info { color: rgba(255,255,255,.92); border-color: rgba(255,255,255,.25); }
.nv-skin-5 .nv-meta__user-type { color: #c4b5fd; }
.nv-skin-5 .nv-tax-category { color: #fff; background: var(--nv-primary); padding: 0.2rem 0.55rem; border-radius: 4px; }

.nv-skin-6 .nv-skin6__title { font-weight: 800; letter-spacing: -0.02em; }
.nv-skin-6 .nv-skin6__dek { font-size: 1.15rem; color: #555; }
.nv-skin-6 .nv-tax-row { margin-top: 0.75rem; }

.nv-skin-7 .nv-skin7__title { font-weight: 800; }
.nv-skin-7 .nv-single__featured { border-radius: 2px; margin: 1rem -0.5rem 1.25rem; }
.nv-skin-7 .nv-skin7__dek {
  font-size: 1.05rem;
  border-left: 3px solid var(--nv-primary);
  padding-left: 0.9rem;
  margin: 0.5rem 0 1.25rem;
  color: var(--nv-text-muted);
}
.nv-skin-7 .nv-meta { border-top: none; padding-top: 0.25rem; }

.nv-skin-8 .nv-skin8__title { font-weight: 800; }
.nv-skin-8 .nv-skin8__dek { font-size: 1.12rem; }

@media (min-width: 768px) {
  .nv-list-item--xl { grid-template-columns: 300px 1fr; }
  .nv-list-item--xxl { grid-template-columns: 380px 1fr; }
  .nv-skin-5 .nv-skin5__hero { min-height: 420px; }
}
@media (max-width: 600px) {
  .nv-list-item--xl,
  .nv-list-item--xxl { grid-template-columns: 120px 1fr; }
}


/* =========================================================
   SINGLE SKINS 1–8 — estructuras visualmente distintas
   ========================================================= */
.nv-s { width: 100%; }

/* Skin 1 — clásico centrado */
.nv-s1__title { font-size: clamp(1.45rem, 2.4vw, 2.1rem); font-weight: 800; }
.nv-s1__excerpt { color: var(--nv-text-muted); font-size: 1.05rem; }
.nv-s1 .nv-single__featured { border-radius: 10px; overflow: hidden; }

/* Skin 2 — magazine: imagen full bleed arriba */
.nv-s2__hero-img { margin: 0 0 1.5rem; }
.nv-s2__hero-img .nv-single__featured,
.nv-s2__hero-img .nv-post-thumb,
.nv-s2__hero-img img {
  width: 100%;
  max-width: none;
  border-radius: 0 !important;
  margin: 0 !important;
}
.nv-s2__inner { max-width: 40rem; margin: 0 auto; padding: 0 1rem; }
.nv-s2__title {
  font-size: clamp(1.75rem, 3.2vw, 2.6rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1.15;
}
.nv-s2__dek {
  font-size: 1.15rem;
  border-left: 5px solid var(--nv-primary);
  padding: 0.35rem 0 0.35rem 1rem;
  margin: 1rem 0;
  color: var(--nv-text-muted);
}

/* Skin 3 — lede editorial */
.nv-s3__title { font-size: clamp(1.5rem, 2.6vw, 2.2rem); }
.nv-s3__lede {
  margin: 1.25rem 0 1.5rem;
  padding: 1.25rem 1.5rem;
  background: linear-gradient(135deg, #f8fafc, #eef2ff);
  border-left: 5px solid var(--nv-accent, #FF4D6D);
  border-radius: 0 12px 12px 0;
  font-size: clamp(1.15rem, 1.8vw, 1.35rem);
  font-weight: 500;
  line-height: 1.5;
  font-style: italic;
  quotes: none;
}
.nv-s3__lede p { margin: 0; }
.nv-s3__content { max-width: 38rem; }

/* Skin 4 — meta en columna lateral */
.nv-s4__title { font-size: clamp(1.4rem, 2.3vw, 2rem); margin-bottom: 0.75rem; }
.nv-s4__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-top: 1rem;
}
@media (min-width: 768px) {
  .nv-s4__grid { grid-template-columns: 200px 1fr; align-items: start; }
  .nv-s4__aside {
    position: sticky;
    top: 5rem;
    border-right: 1px solid var(--nv-border, #e5e7eb);
    padding-right: 1rem;
  }
}
.nv-s4__aside .nv-meta {
  flex-direction: column;
  border: none;
  padding: 0;
  margin: 0;
}
.nv-s4__aside-exc {
  font-size: 0.85rem;
  color: var(--nv-text-muted);
  margin-top: 0.75rem;
  line-height: 1.4;
}

/* Skin 5 — hero oscuro */
.nv-s5__hero {
  position: relative;
  min-height: 340px;
  display: flex;
  align-items: flex-end;
  margin: 0 0 1.75rem;
  color: #fff;
  overflow: hidden;
}
.nv-s5__bg { position: absolute; inset: 0; }
.nv-s5__bg-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nv-s5__scrim {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.88) 0%, rgba(0,0,0,.4) 50%, rgba(0,0,0,.25) 100%);
}
.nv-s5__hero-text {
  position: relative;
  z-index: 2;
  padding: 3.5rem 1.25rem 2rem;
  max-width: 48rem;
}
.nv-s5__title {
  color: #fff !important;
  font-size: clamp(1.6rem, 3vw, 2.5rem);
  text-shadow: 0 2px 16px rgba(0,0,0,.5);
}
.nv-s5__excerpt { color: rgba(255,255,255,.9); font-size: 1.1rem; }
.nv-s5 .nv-meta,
.nv-s5 .nv-meta-author,
.nv-s5 .nv-meta__info,
.nv-s5 .nv-meta__user-type { color: rgba(255,255,255,.92) !important; border-color: rgba(255,255,255,.3) !important; }
.nv-s5 .nv-tax-category {
  background: var(--nv-primary);
  color: #fff;
  padding: 0.2rem 0.6rem;
  border-radius: 4px;
  display: inline-block;
}
.nv-s5__body { max-width: 42rem; }
@media (min-width: 768px) {
  .nv-s5__hero { min-height: 460px; }
}

/* Skin 6 — Yahoo */
.nv-s6__title {
  font-size: clamp(1.55rem, 2.8vw, 2.35rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  margin-bottom: 0.5rem;
}
.nv-s6__dek {
  font-size: 1.2rem;
  color: #4b5563;
  line-height: 1.45;
  margin: 0 0 1rem;
}
.nv-s6__byline { margin-bottom: 0.75rem; }
.nv-s6__media { margin: 1rem 0; }
.nv-s6__content { max-width: 40rem; font-size: 1.08rem; }

/* Skin 7 — Agencia / wire */
.nv-s7__title {
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-weight: 800;
  margin: 0.35rem 0 0.75rem;
}
.nv-s7__meta-row .nv-meta { border-top: none; padding-top: 0.2rem; }
.nv-s7__bleed {
  margin: 1rem -1rem 1.25rem;
  max-width: 100vw;
}
.nv-s7__bleed .nv-single__featured,
.nv-s7__bleed img {
  border-radius: 0 !important;
  width: 100%;
}
.nv-s7__dek {
  border-left: 3px solid var(--nv-primary);
  padding-left: 0.9rem;
  font-size: 1.05rem;
  color: var(--nv-text-muted);
  margin: 0 0 1.25rem;
}
.nv-s7__content {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.1rem;
  line-height: 1.75;
  max-width: 38rem;
}

/* Skin 8 — AS */
.nv-s8__kicker { margin-bottom: 0.35rem; }
.nv-s8__title {
  font-size: clamp(1.5rem, 2.7vw, 2.25rem);
  font-weight: 800;
  line-height: 1.2;
}
.nv-s8__dek {
  font-size: 1.12rem;
  color: var(--nv-text-muted);
  margin: 0.5rem 0 1rem;
}
.nv-s8__meta { margin-bottom: 0.5rem; }
.nv-s8__share { margin-bottom: 1rem; }
.nv-s8__content { max-width: 42rem; }

/* Layout flag por skin en article */
.nv-skin-2 .nv-main { max-width: none; }
.nv-layout.nv-skin-layout-5 .nv-main { max-width: none; }


/* RESPONSIVE SAFETY 4.5.1 — no limitar iframes/embeds de publicidad */
html { overflow-x: auto; }
body { overflow-x: auto; }
/* Solo medios del artículo/tema — nunca creatividades de ads */
.nv-single__content > p img,
.nv-single__content > figure img,
.nv-single__content .wp-block-image img,
.nv-card img,
.nv-list-item img,
.nv-single__featured img,
video.wp-video-shortcode,
.nv-single__content video {
  max-width: 100%;
  height: auto;
}
/* Tablas del artículo: scroll horizontal si hace falta */
.nv-single__content table {
  max-width: 100%;
  display: block;
  overflow-x: auto;
}
/* iframes de contenido (YouTube, etc.) pueden limitarse al ancho del artículo */
.nv-single__content iframe:not([id*="google_ads"]):not([src*="doubleclick"]):not([src*="googlesyndication"]):not(.adsbygoogle) {
  max-width: 100%;
}
.nv-s2__hero-img,
.nv-s5__hero,
.nv-s7__bleed { max-width: 100vw; overflow: hidden; }

@media (max-width: 767px) {
  .nv-s4__grid { grid-template-columns: 1fr !important; }
  .nv-s4__aside {
    position: static !important;
    border-right: none !important;
    padding-right: 0 !important;
    border-bottom: 1px solid var(--nv-border, #e5e7eb);
    padding-bottom: 0.75rem;
    margin-bottom: 0.5rem;
  }
  .nv-s5__hero { min-height: 260px !important; }
  .nv-s5__hero-text { padding: 2rem 1rem 1.25rem !important; }
  .nv-s6__title, .nv-s8__title, .nv-s7__title {
    font-size: 1.35rem !important;
    line-height: 1.25 !important;
  }
  .nv-s6__dek, .nv-s8__dek { font-size: 1rem !important; }
  .nv-s7__bleed { margin-left: 0 !important; margin-right: 0 !important; }
  .nv-list-item--xl,
  .nv-list-item--xxl,
  .nv-list-item--large {
    grid-template-columns: 100px 1fr !important;
  }
  .nv-meta { margin: 0.5rem 0 0.75rem; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .nv-s5__hero { min-height: 360px; }
  .nv-list-item--xxl { grid-template-columns: 280px 1fr; }
}

/* Skin 6 Yahoo polish */
.nv-s6__title { font-size: clamp(1.5rem, 2.6vw, 2.25rem); font-weight: 800; letter-spacing: -0.02em; margin: 0 0 0.5rem; }
.nv-s6__dek { font-size: 1.15rem; color: #4b5563; line-height: 1.45; margin: 0 0 0.65rem; }
.nv-s6__content { max-width: 40rem; font-size: 1.05rem; line-height: 1.7; }

/* Skin 7 Agencia */
.nv-s7__title { font-size: clamp(1.4rem, 2.4vw, 2rem); font-weight: 800; margin: 0.25rem 0 0.5rem; }
.nv-s7 .nv-single__featured { border-radius: 2px; margin: 0.75rem 0 1rem; }
.nv-s7__content { font-family: Georgia, 'Times New Roman', serif; font-size: 1.08rem; line-height: 1.75; max-width: 38rem; }

/* Skin 8 AS */
.nv-s8__title { font-size: clamp(1.45rem, 2.5vw, 2.2rem); font-weight: 800; line-height: 1.2; margin: 0.2rem 0 0.45rem; }
.nv-s8__dek { font-size: 1.1rem; color: var(--nv-text-muted); margin: 0 0 0.5rem; line-height: 1.4; }
.nv-s8__content { max-width: 42rem; font-size: 1.05rem; line-height: 1.7; }

/* Professional fine-tuning */
.nv-single__content p { margin: 0 0 1.1rem; }
.nv-single__content a { color: var(--nv-primary); text-underline-offset: 2px; }
.nv-single__featured { margin: 0.85rem 0 1.15rem; }
.nv-single__featured img { width: 100%; border-radius: 8px; }
.nv-tax-row { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; margin: 0 0 0.35rem; }
.nv-tax-category {
  font-size: 0.72rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.04em; color: var(--nv-primary); text-decoration: none;
}


/* ========== SKINS ESTRUCTURA ÚNICA 3.7.5 ========== */
.nv-s[data-skin] { clear: both; }

/* Skin 1 — flujo lineal clásico */
.nv-s1 .nv-single__title { font-size: clamp(1.4rem, 2.4vw, 2.05rem); font-weight: 800; }

/* Skin 2 — media top full + columna estrecha */
.nv-s2__top-media { margin: 0 0 1.5rem; width: 100%; }
.nv-s2__top-media .nv-single__featured,
.nv-s2__top-media img { border-radius: 0 !important; width: 100%; margin: 0 !important; }
.nv-s2__column { max-width: 38rem; margin: 0 auto; padding: 0 1rem 2rem; }
.nv-s2__title { font-size: clamp(1.7rem, 3vw, 2.5rem) !important; font-weight: 900; letter-spacing: -0.03em; }
.nv-s2__bar {
  border-left: 4px solid var(--nv-primary);
  padding-left: 0.9rem;
  margin: 0.85rem 0;
  font-size: 1.08rem;
  color: var(--nv-text-muted);
}

/* Skin 3 — caja lede */
.nv-s3__title { font-size: clamp(1.5rem, 2.5vw, 2.2rem); }
.nv-s3__lede-box {
  margin: 1rem 0 1.35rem;
  padding: 1.2rem 1.4rem;
  background: #f1f5f9;
  border-left: 5px solid var(--nv-accent, #FF4D6D);
  border-radius: 0 10px 10px 0;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.45;
  font-style: italic;
}
.nv-s3__lede-box p { margin: 0; }

/* Skin 4 — dos columnas */
.nv-s4__title { margin-bottom: 0.5rem; }
.nv-s4__columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-top: 1rem;
}
@media (min-width: 800px) {
  .nv-s4__columns { grid-template-columns: 180px minmax(0, 1fr); }
  .nv-s4__side {
    position: sticky;
    top: 5rem;
    align-self: start;
    border-right: 1px solid var(--nv-border, #e5e7eb);
    padding-right: 1rem;
  }
}
.nv-s4__side .nv-meta { flex-direction: column; margin: 0; }
.nv-s4__side-txt { font-size: 0.82rem; color: var(--nv-text-muted); margin-top: 0.6rem; line-height: 1.4; }

/* Skin 5 — banner */
.nv-s5__banner {
  position: relative;
  min-height: 300px;
  display: flex;
  align-items: flex-end;
  margin: 0 0 1.5rem;
  color: #fff;
  overflow: hidden;
  background: #1e1b4b;
}
.nv-s5__photo { position: absolute; inset: 0; }
.nv-s5__photo-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nv-s5__dim {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.9) 0%, rgba(0,0,0,.35) 55%, rgba(0,0,0,.2) 100%);
}
.nv-s5__on-photo {
  position: relative;
  z-index: 2;
  padding: 3rem 1.25rem 1.75rem;
  max-width: 48rem;
  width: 100%;
  box-sizing: border-box;
}
.nv-s5__title { color: #fff !important; text-shadow: 0 2px 12px rgba(0,0,0,.45); font-size: clamp(1.55rem, 3vw, 2.4rem) !important; }
.nv-s5__sub { color: rgba(255,255,255,.9); font-size: 1.05rem; }
.nv-s5 .nv-meta, .nv-s5 .nv-meta-author, .nv-s5 .nv-meta__line--info, .nv-s5 .nv-meta__line--type {
  color: rgba(255,255,255,.92) !important;
}
.nv-s5__after { max-width: 42rem; padding: 0 1rem 2rem; margin: 0 auto; }
@media (min-width: 768px) {
  .nv-s5__banner { min-height: 420px; }
}

/* Skin 6 — título primero, sin tax */
.nv-s6__title {
  font-size: clamp(1.55rem, 2.7vw, 2.3rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  margin: 0 0 0.5rem;
}
.nv-s6__subtitle {
  font-size: 1.15rem;
  color: #4b5563;
  line-height: 1.45;
  margin: 0 0 0.65rem;
}

/* Skin 7 — imagen ancha + serif */
.nv-s7__title { font-size: clamp(1.4rem, 2.4vw, 2rem); font-weight: 800; margin: 0.2rem 0 0.5rem; }
.nv-s7__wide-img { margin: 0.85rem 0 1.1rem; }
.nv-s7__wide-img .nv-single__featured,
.nv-s7__wide-img img { border-radius: 2px !important; }
.nv-s7__serif {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 1.1rem;
  line-height: 1.75;
  max-width: 38rem;
}

/* Skin 8 — head block then figure */
.nv-s8__head { margin-bottom: 0.75rem; }
.nv-s8__title { font-size: clamp(1.5rem, 2.6vw, 2.2rem); font-weight: 800; line-height: 1.2; }
.nv-s8__lead { font-size: 1.12rem; color: var(--nv-text-muted); margin: 0.4rem 0 0.5rem; line-height: 1.4; }
.nv-s8__figure { margin: 0.75rem 0 1.15rem; }
.nv-s8 .nv-tax-category {
  background: var(--nv-primary);
  color: #fff !important;
  padding: 0.2rem 0.55rem;
  border-radius: 4px;
  display: inline-block;
}

@media (max-width: 767px) {
  .nv-s4__columns { grid-template-columns: 1fr !important; }
  .nv-s4__side { position: static !important; border: none !important; padding: 0 0 0.75rem !important; border-bottom: 1px solid var(--nv-border,#e5e7eb) !important; }
  .nv-s5__banner { min-height: 240px !important; }
  .nv-s2__column { padding: 0 0.75rem 1.5rem; }
}


/* ========== TOC 3.8.1 ========== */
.nv-toc {
  margin: 0 0 1.35rem;
  padding: 1rem 1.15rem;
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  border: 1px solid var(--nv-border, #e2e8f0);
  border-radius: 12px;
  border-left: 4px solid var(--nv-primary, #5B4DFF);
}
.nv-toc__title {
  display: block;
  font-size: 0.8rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--nv-primary, #5B4DFF);
  margin: 0 0 0.55rem;
}
.nv-toc__list { margin: 0; padding: 0 0 0 1.1rem; list-style: decimal; }
.nv-toc__item { margin: 0.3rem 0; line-height: 1.35; }
.nv-toc__item a {
  color: var(--nv-text, #1e293b);
  text-decoration: none;
  font-size: 0.92rem;
  font-weight: 500;
}
.nv-toc__item a:hover { color: var(--nv-primary); text-decoration: underline; }
.nv-toc__l3 { margin-left: 0.5rem; font-size: 0.9em; }

/* ========== SKINS TEMÁTICAS 9–28 ========== */
.nv-s9__title { font-size: clamp(1.45rem, 2.5vw, 2.1rem); font-weight: 800; border-bottom: 2px solid var(--nv-primary); padding-bottom: 0.4rem; }
.nv-s10__title { font-size: clamp(1.7rem, 3vw, 2.6rem); font-weight: 900; letter-spacing: -0.03em; line-height: 1.15; }
.nv-s10__lede { font-size: 1.25rem; font-style: italic; color: #475569; margin: 0.75rem 0 1rem; line-height: 1.45; }
.nv-s10__serif { font-family: Georgia, "Times New Roman", serif; font-size: 1.12rem; line-height: 1.8; max-width: 38rem; }
.nv-s11__media { margin: 0 0 1rem; }
.nv-s11__media img { border-radius: 0 !important; width: 100%; }
.nv-s11__title { font-size: clamp(1.6rem, 3.2vw, 2.5rem); font-weight: 900; line-height: 1.1; text-transform: uppercase; letter-spacing: -0.02em; }
.nv-s12__score { display: flex; align-items: center; gap: 0.5rem; margin: 0.35rem 0 0.75rem; color: #f59e0b; font-size: 1.1rem; }
.nv-s12__score em { font-style: normal; font-size: 0.75rem; color: var(--nv-text-muted); text-transform: uppercase; letter-spacing: 0.05em; }
.nv-s13 .nv-tax-category { background: #1e3a5f; color: #fff !important; padding: 0.2rem 0.5rem; border-radius: 3px; }
.nv-s14__title { font-family: Georgia, serif; font-weight: 700; font-size: clamp(1.4rem, 2.4vw, 2rem); }
.nv-s14 .nv-tax-category { border: 1px solid #64748b; color: #334155 !important; padding: 0.15rem 0.45rem; font-size: 0.7rem; }
.nv-s15__title { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: clamp(1.3rem, 2.2vw, 1.9rem); color: #f7931a; }
.nv-s15 { border-top: 3px solid #f7931a; padding-top: 0.75rem; }
.nv-s16__title { font-weight: 800; color: #0f766e; }
.nv-s16 .nv-tax-category { color: #0f766e !important; }
.nv-s17__dek { background: #ecfdf5; border-left: 4px solid #10b981; padding: 0.75rem 1rem; margin: 0.5rem 0 1rem; font-size: 1.05rem; }
.nv-s18__title { font-weight: 700; color: #0ea5e9; }
.nv-s18 .nv-single__featured img { border-radius: 16px !important; }
.nv-s19__hero { position: relative; margin: 0 0 1.5rem; min-height: 280px; display: flex; align-items: flex-end; overflow: hidden; border-radius: 16px; background: #fdf2f8; }
.nv-s19__hero-img { position: absolute; inset: 0; }
.nv-s19__hero-img img { width: 100%; height: 100%; object-fit: cover; opacity: 0.85; }
.nv-s19__hero-txt { position: relative; z-index: 2; padding: 2rem 1.25rem 1.5rem; background: linear-gradient(transparent, rgba(255,255,255,.95)); width: 100%; }
.nv-s19__title { color: #9d174d !important; }
.nv-s20__title { font-weight: 900; text-transform: uppercase; font-size: clamp(1.4rem, 2.6vw, 2.2rem); }
.nv-s20 .nv-tax-category { background: #dc2626; color: #fff !important; padding: 0.2rem 0.55rem; border-radius: 4px; font-weight: 800; }
.nv-s21__breaking {
  display: inline-block; background: #dc2626; color: #fff; font-size: 0.7rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.06em; padding: 0.25rem 0.65rem; border-radius: 4px; margin-bottom: 0.65rem;
}
.nv-s22__title { font-weight: 800; font-size: clamp(1.4rem, 2.4vw, 2.05rem); }
.nv-s23__title { font-weight: 800; background: linear-gradient(90deg, #a855f7, #ec4899); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nv-s24__banner { position: relative; min-height: 320px; display: flex; align-items: flex-end; margin: 0 0 1.25rem; overflow: hidden; background: #831843; }
.nv-s24__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.55; }
.nv-s24__overlay { position: relative; z-index: 2; padding: 2.5rem 1.25rem 1.5rem; color: #fff; width: 100%; background: linear-gradient(transparent, rgba(0,0,0,.75)); }
.nv-s24__title { color: #fff !important; text-shadow: 0 2px 8px rgba(0,0,0,.4); }
.nv-s24 .nv-meta, .nv-s24 .nv-meta-author, .nv-s24 .nv-meta__line { color: rgba(255,255,255,.92) !important; }
.nv-s25 .nv-tax-category { background: #0d47a1; color: #fff !important; padding: 0.2rem 0.5rem; border-radius: 3px; }
.nv-s25 { border-bottom: 3px solid #f9a825; }
.nv-s26__title { color: #166534; font-weight: 800; }
.nv-s26 .nv-tax-category { background: #16a34a; color: #fff !important; padding: 0.2rem 0.5rem; border-radius: 999px; }
.nv-s27__title { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-weight: 700; }
.nv-s27 .nv-tax-category { background: #6366f1; color: #fff !important; padding: 0.2rem 0.5rem; border-radius: 4px; }
.nv-s28__quote {
  font-size: clamp(1.3rem, 2.5vw, 1.85rem); font-style: italic; font-weight: 500;
  line-height: 1.35; margin: 0 0 1rem; padding: 0 0 0 1rem;
  border-left: 4px solid var(--nv-primary); color: #334155;
}
.nv-s28__title { font-size: 1.35rem; font-weight: 700; margin: 0.5rem 0 1rem; }
.nv-s28__serif { font-family: Georgia, serif; font-size: 1.1rem; line-height: 1.8; max-width: 38rem; }
@media (max-width: 767px) {
  .nv-s19__hero, .nv-s24__banner { min-height: 220px; }
}

/* Archive skins */
.nv-posts.nv-layout-magazine { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 768px) {
  .nv-posts.nv-layout-magazine { grid-template-columns: repeat(2, 1fr); }
  .nv-posts.nv-layout-magazine > *:first-child { grid-column: 1 / -1; }
}
.nv-posts.nv-layout-compact .nv-list-item { padding: 0.45rem 0; gap: 0.65rem; }
.nv-posts.nv-layout-newspaper { column-count: 1; column-gap: 1.5rem; }
@media (min-width: 768px) { .nv-posts.nv-layout-newspaper { column-count: 2; } }
@media (min-width: 1024px) { .nv-posts.nv-layout-newspaper { column-count: 3; } }
.nv-posts.nv-layout-newspaper .nv-list-item {
  break-inside: avoid; margin-bottom: 1rem; display: block;
  border-bottom: 1px solid var(--nv-border, #e5e7eb); padding-bottom: 0.75rem;
  grid-template-columns: none;
}
.nv-posts.nv-layout-mosaic {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.75rem;
}
@media (min-width: 768px) {
  .nv-posts.nv-layout-mosaic { grid-template-columns: repeat(3, 1fr); }
  .nv-posts.nv-layout-mosaic > *:nth-child(1) { grid-column: span 2; grid-row: span 2; }
}


/* ========== SKIN IDENTITY 3.8.2 ========== */
.nv-single[data-nv-skin] {
  --nv-skin-accent: var(--nv-primary, #5B4DFF);
  --nv-skin-soft: #f1f5f9;
}
.nv-s {
  position: relative;
}
.nv-s::before {
  content: "";
  display: block;
  height: 3px;
  width: 100%;
  max-width: 4rem;
  background: var(--nv-skin-accent, var(--nv-primary));
  border-radius: 999px;
  margin: 0 0 0.85rem;
}
.nv-s .nv-tax-category {
  color: var(--nv-skin-accent) !important;
}
.nv-s .nv-single__title {
  position: relative;
}
.nv-skin-5::before,
.nv-s5::before,
.nv-s19::before,
.nv-s24::before {
  display: none; /* hero skins: sin barra superior */
}
.nv-s11::before {
  max-width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--nv-skin-accent), transparent);
}
.nv-s15::before {
  background: linear-gradient(90deg, #f7931a, #fbbf24);
  max-width: 100%;
}
.nv-s20::before {
  height: 4px;
  max-width: 6rem;
  background: var(--nv-skin-accent);
}
.nv-s21::before { display: none; }
.nv-s25::before {
  background: linear-gradient(90deg, #0d47a1 50%, #f9a825 50%);
  max-width: 100%;
  height: 4px;
}
.nv-s26::before {
  background: #16a34a;
  max-width: 5rem;
}
.nv-s28::before {
  width: 3px;
  height: 2.5rem;
  max-width: none;
  display: inline-block;
  vertical-align: top;
  margin: 0 0.75rem 0 0;
  float: left;
}

/* Apply accent to meta type line */
.nv-single[data-nv-skin] .nv-meta__line--type {
  color: var(--nv-skin-accent) !important;
}





/* ========== ARCHIVE LAYOUTS REALES 3.9.0 ========== */
.nv-posts[data-layout="magazine"] .nv-magazine-feature {
  grid-column: 1 / -1;
  margin-bottom: 0.5rem;
}
.nv-posts[data-layout="magazine"] .nv-magazine-feature .nv-card__title,
.nv-posts[data-layout="magazine"] .nv-magazine-feature .nv-card__title a {
  font-size: clamp(1.35rem, 2.5vw, 1.85rem) !important;
  font-weight: 800;
}
.nv-posts[data-layout="magazine"] .nv-magazine-feature .nv-card__media,
.nv-posts[data-layout="magazine"] .nv-magazine-feature img {
  min-height: 220px;
  object-fit: cover;
  width: 100%;
}
@media (min-width: 768px) {
  .nv-posts[data-layout="magazine"] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
  .nv-posts[data-layout="magazine"] .nv-magazine-feature {
    grid-column: 1 / -1;
  }
}

.nv-posts[data-layout="compact"] .nv-list-item {
  padding: 0.4rem 0 !important;
  gap: 0.55rem !important;
  border-bottom: 1px dotted var(--nv-border, #e5e7eb);
}
.nv-posts[data-layout="compact"] .nv-list-item__media {
  width: 72px !important;
  min-width: 72px !important;
}
.nv-posts[data-layout="compact"] .nv-list-item__title {
  font-size: 0.95rem !important;
  line-height: 1.3 !important;
}
.nv-posts[data-layout="compact"] .nv-list-item__excerpt { display: none; }

.nv-posts[data-layout="newspaper"] {
  column-count: 1;
  column-gap: 1.5rem;
  display: block !important;
}
@media (min-width: 768px) {
  .nv-posts[data-layout="newspaper"] { column-count: 2; }
}
@media (min-width: 1100px) {
  .nv-posts[data-layout="newspaper"] { column-count: 3; }
}
.nv-posts[data-layout="newspaper"] .nv-list-item {
  break-inside: avoid;
  display: block !important;
  grid-template-columns: none !important;
  margin: 0 0 1.1rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--nv-border, #e5e7eb);
}
.nv-posts[data-layout="newspaper"] .nv-list-item__media {
  width: 100% !important;
  margin-bottom: 0.5rem;
}
.nv-posts[data-layout="newspaper"] .nv-list-item__media img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}

.nv-posts[data-layout="mosaic"] {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.65rem;
}
@media (min-width: 768px) {
  .nv-posts[data-layout="mosaic"] {
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: minmax(120px, auto);
  }
  .nv-posts[data-layout="mosaic"] > *:nth-child(1) {
    grid-column: span 2;
    grid-row: span 2;
  }
  .nv-posts[data-layout="mosaic"] > *:nth-child(1) .nv-card__title {
    font-size: 1.25rem !important;
  }
}

/* Widget popular */
.nv-widget-popular { display: flex; flex-direction: column; gap: 0.65rem; }
.nv-widget-popular__item {
  display: flex; gap: 0.65rem; align-items: flex-start;
  text-decoration: none; color: inherit;
}
.nv-widget-popular__img {
  width: 64px; height: 64px; object-fit: cover; border-radius: 6px; flex-shrink: 0;
}
.nv-widget-popular__title {
  font-size: 0.88rem; font-weight: 600; line-height: 1.3;
}

/* Más unicidad single skins */
.nv-s9 { padding-top: 0.25rem; border-left: 3px solid var(--nv-skin-accent, #1e3a8a); padding-left: 0.85rem; }
.nv-s11__title { background: var(--nv-skin-soft, #fee2e2); padding: 0.35rem 0.5rem; display: inline; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.nv-s13 { background: linear-gradient(180deg, var(--nv-skin-soft, #e2e8f0) 0%, transparent 80px); padding: 0.75rem 0.75rem 0; border-radius: 8px; }
.nv-s15 { font-variant-numeric: tabular-nums; }
.nv-s20 .nv-single__title { border-bottom: 3px double var(--nv-skin-accent, #dc2626); padding-bottom: 0.35rem; }
.nv-s22 { box-shadow: inset 0 0 0 1px var(--nv-border, #e5e7eb); padding: 1rem; border-radius: 8px; }
.nv-s25 { background: linear-gradient(90deg, rgba(13,71,161,.06), rgba(249,168,37,.08)); padding: 0.75rem; border-radius: 6px; }
.nv-s26 { border-radius: 12px; overflow: hidden; }
.nv-s27 .nv-single__content code { background: #e0e7ff; padding: 0.1rem 0.35rem; border-radius: 4px; }


/* ========== SKINS MÁS ÚNICAS 3.9.1 ========== */
.nv-s1 { border-top: 2px solid var(--nv-skin-accent, #5B4DFF); padding-top: 0.75rem; }
.nv-s1::before { display: none; }

.nv-s2__top-media { border-radius: 0 0 16px 16px; overflow: hidden; box-shadow: 0 12px 40px rgba(14,165,233,.15); }
.nv-s2__title { color: var(--nv-skin-accent, #0EA5E9); }

.nv-s3__lede-box {
  background: linear-gradient(135deg, var(--nv-skin-soft, #ffe4e6), #fff);
  border-left-color: var(--nv-skin-accent, #F43F5E) !important;
  box-shadow: 0 4px 20px rgba(244,63,94,.08);
}

.nv-s4__columns { gap: 1.5rem; }
.nv-s4__side {
  background: var(--nv-skin-soft, #e0e7ff);
  border-radius: 12px;
  padding: 1rem !important;
  border-right: none !important;
}

.nv-s5__banner { border-radius: 0 0 20px 20px; box-shadow: 0 8px 32px rgba(124,58,237,.2); }

.nv-s6__title {
  background: linear-gradient(90deg, var(--nv-skin-accent, #6001D2), #a855f7);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.nv-s7 {
  border: 1px solid var(--nv-border, #e5e7eb);
  border-top: 3px solid var(--nv-skin-accent, #B91C1C);
  padding: 1rem 1.1rem;
  border-radius: 4px;
  background: #fff;
}

.nv-s8__head {
  background: var(--nv-skin-soft, #ffe4e6);
  margin: 0 -0.5rem 1rem;
  padding: 0.85rem 1rem;
  border-radius: 10px;
}

.nv-s9 {
  border-left: 4px solid var(--nv-skin-accent, #1E3A8A);
  padding-left: 1rem;
  background: linear-gradient(90deg, rgba(30,58,138,.04), transparent 40%);
}
.nv-s9__title { border-bottom-color: var(--nv-skin-accent) !important; }

.nv-s10__title {
  font-family: Georgia, "Times New Roman", serif !important;
  letter-spacing: -0.02em;
}
.nv-s10__lede {
  border-top: 1px solid #d6d3d1;
  border-bottom: 1px solid #d6d3d1;
  padding: 0.85rem 0;
}

.nv-s11__title {
  background: var(--nv-skin-accent, #DC2626);
  color: #fff !important;
  padding: 0.4rem 0.65rem;
  display: inline-block;
  border-radius: 4px;
  text-transform: uppercase;
  font-size: clamp(1.3rem, 2.8vw, 2rem) !important;
}

.nv-s12__score {
  background: #fffbeb;
  display: inline-flex;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  border: 1px solid #fcd34d;
}

.nv-s13 {
  border-radius: 8px;
  background: linear-gradient(180deg, #1e3a5f0d, transparent 100px);
  padding: 1rem;
}
.nv-s13 .nv-tax-category {
  letter-spacing: 0.08em;
  font-size: 0.68rem !important;
}

.nv-s14 {
  font-family: Georgia, serif;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}
.nv-s14__title { border-bottom: 1px solid #a8a29e; padding-bottom: 0.5rem; }

.nv-s15 {
  background: #0b0f19;
  color: #e2e8f0;
  padding: 1.25rem;
  border-radius: 12px;
  border: 1px solid #f7931a55;
}
.nv-s15 .nv-single__title,
.nv-s15 .nv-meta,
.nv-s15 .nv-meta-author,
.nv-s15 .nv-meta__line { color: #f8fafc !important; }
.nv-s15__title { color: #f7931a !important; }
.nv-s15 .nv-single__content { color: #cbd5e1; }
.nv-s15 .nv-single__content a { color: #fbbf24; }

.nv-s16 {
  border-top: 3px solid #0f766e;
  background: linear-gradient(180deg, #ccfbf133, transparent 60px);
  padding-top: 0.75rem;
}

.nv-s17__dek {
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(16,185,129,.1);
}

.nv-s18 .nv-single__featured img {
  border: 3px solid #bae6fd;
  box-shadow: 0 8px 24px rgba(14,165,233,.15);
}

.nv-s19__hero {
  box-shadow: 0 16px 48px rgba(219,39,119,.18);
}
.nv-s19__title { font-family: Georgia, serif !important; }

.nv-s20 {
  background: linear-gradient(135deg, #fef2f2 0%, #fff 50%);
  padding: 0.75rem;
  border-radius: 8px;
}
.nv-s20__title {
  font-style: italic;
  letter-spacing: 0.02em;
}

.nv-s21__breaking {
  animation: nv-pulse 2s ease-in-out infinite;
  box-shadow: 0 2px 8px rgba(220,38,38,.35);
}
@keyframes nv-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.85; }
}

.nv-s22 {
  box-shadow: 0 1px 3px rgba(0,0,0,.06), 0 8px 24px rgba(29,78,216,.06);
  border-radius: 12px;
  padding: 1.15rem !important;
}

.nv-s23__title {
  filter: drop-shadow(0 2px 4px rgba(168,85,247,.2));
}

.nv-s24__banner {
  border-radius: 16px;
  box-shadow: 0 20px 50px rgba(190,24,93,.25);
}

.nv-s25 {
  border-radius: 8px;
  border: 1px solid #90caf9;
  background:
    linear-gradient(90deg, rgba(13,71,161,.07) 0 33%, rgba(255,255,255,.5) 33% 66%, rgba(249,168,37,.12) 66% 100%);
  padding: 1rem !important;
}

.nv-s26 {
  border: 2px solid #86efac;
  border-radius: 16px;
  padding: 1rem;
  background: linear-gradient(180deg, #f0fdf4, #fff);
}

.nv-s27 {
  font-family: ui-sans-serif, system-ui, sans-serif;
  border-left: 3px dashed var(--nv-skin-accent, #4F46E5);
  padding-left: 1rem;
}
.nv-s27__title {
  background: #e0e7ff;
  display: inline-block;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
}

.nv-s28__quote {
  background: var(--nv-skin-soft, #eef2ff);
  border-radius: 0 12px 12px 0;
  padding: 1.25rem 1.35rem !important;
  font-weight: 600;
}


/* ========== SINGLE EDITORIAL (no card) 3.9.4 ========== */
.nv-single,
.nv-s {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  /* keep left accents etc via border-left only where intentional */
}
.nv-s15 {
  /* cripto: mantener identidad sin caja tipo card completa */
  background: transparent !important;
  border: none !important;
  border-left: 3px solid #f7931a !important;
  padding-left: 1rem !important;
  color: inherit !important;
}
.nv-s15 .nv-single__title,
.nv-s15 .nv-meta,
.nv-s15 .nv-meta-author,
.nv-s15 .nv-meta__line { color: inherit !important; }
.nv-s15__title { color: #c2410c !important; }
.nv-s15 .nv-single__content { color: inherit; }
.nv-s22 {
  box-shadow: none !important;
  border: none !important;
  border-top: 2px solid var(--nv-skin-accent, #1d4ed8) !important;
  padding: 0.5rem 0 0 !important;
  border-radius: 0 !important;
}
.nv-s13 {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  border-left: 3px solid #1e3a5f;
  padding-left: 0.85rem !important;
}
.nv-s26 {
  border: none !important;
  border-left: 3px solid #16a34a !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding-left: 0.85rem !important;
}
.nv-s7 {
  border-radius: 0 !important;
  box-shadow: none !important;
}
.nv-s20 {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* El Salvador — dos franjas azules y blanca al centro */
.nv-s25 {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
.nv-s25__stripes {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 0 0 1rem;
  gap: 0;
}
.nv-s25__stripes span {
  display: block;
  width: 100%;
  height: 4px;
}
.nv-s25__stripes span:nth-child(1),
.nv-s25__stripes span:nth-child(3) {
  background: #0d47a1;
}
.nv-s25__stripes span:nth-child(2) {
  background: #ffffff;
  height: 5px;
  box-shadow: inset 0 0 0 1px rgba(13,71,161,.15);
}
.nv-s25::before { display: none !important; }
.nv-s25__title {
  border-bottom: 2px solid #0d47a1;
  padding-bottom: 0.4rem;
}

/* Featured sin recortar (solo radius suave) */
.nv-single__featured {
  overflow: visible !important;
  border-radius: 0 !important;
}
.nv-single__featured img {
  max-width: 100%;
  height: auto;
  display: block;
}


/* ========== 3.9.5 — cat color, hero brand, badges, load more ========== */
.nv-cat-bar {
  height: 4px;
  width: 100%;
  background: var(--nv-cat-color, var(--nv-primary));
  margin: 0 0 0.85rem;
  border-radius: 2px;
}
.nv-tax-category--chip {
  display: inline-block;
  padding: 0.2rem 0.65rem;
  border-radius: 4px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  background: var(--nv-cat-color, var(--nv-primary));
  color: var(--nv-cat-fg, #ffffff);
  border: 1px solid transparent;
}
.nv-tax-category--chip:hover {
  filter: brightness(1.06);
  color: var(--nv-cat-fg, #ffffff) !important;
}

.nv-badge-tipo {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.22rem 0.55rem;
  border-radius: 4px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.2;
}
.nv-badges { display: inline-flex; flex-wrap: wrap; gap: 0.35rem; align-items: center; }

/* Hero brand */
.nv-hero--brand {
  display: grid;
  gap: 0.75rem;
  margin: 0 0 1.5rem;
}
@media (min-width: 900px) {
  .nv-hero--brand {
    grid-template-columns: 1.6fr 1fr;
    grid-template-rows: auto auto;
  }
  .nv-hero__main {
    grid-row: 1 / span 2;
  }
}
.nv-hero__item {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  min-height: 160px;
  background: #0f172a;
}
.nv-hero__main { min-height: 320px; }
@media (min-width: 900px) {
  .nv-hero__main { min-height: 420px; }
}
.nv-hero__link {
  display: block;
  color: #fff;
  text-decoration: none;
  height: 100%;
  position: relative;
}
.nv-hero__media {
  position: absolute;
  inset: 0;
}
.nv-hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.nv-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15,23,42,.15) 0%, rgba(15,23,42,.55) 45%, rgba(15,23,42,.92) 100%);
  pointer-events: none;
}
.nv-hero__body {
  position: relative;
  z-index: 1;
  padding: 1.25rem 1.15rem 1.35rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  min-height: inherit;
  gap: 0.4rem;
}
.nv-hero__cat {
  display: inline-block;
  align-self: flex-start;
  padding: 0.15rem 0.5rem;
  border-radius: 3px;
  background: var(--nv-primary);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.nv-hero__title {
  margin: 0;
  color: #fff !important;
  font-size: clamp(1.15rem, 2.4vw, 1.85rem);
  line-height: 1.25;
  font-weight: 800;
  text-shadow: 0 1px 2px rgba(0,0,0,.25);
}
.nv-hero__side .nv-hero__title { font-size: 1.05rem; }
.nv-hero__excerpt {
  margin: 0;
  color: rgba(255,255,255,.88);
  font-size: 0.95rem;
  line-height: 1.4;
  max-width: 36rem;
}
.nv-hero__meta {
  font-size: 0.8rem;
  color: rgba(255,255,255,.7);
}
.nv-hero__cta {
  display: inline-flex;
  align-self: flex-start;
  margin-top: 0.35rem;
  padding: 0.45rem 1rem;
  border-radius: 999px;
  background: var(--nv-primary);
  color: #fff;
  font-size: 0.85rem;
  font-weight: 700;
  box-shadow: 0 4px 14px rgba(91,77,255,.35);
}
.nv-hero__link:hover .nv-hero__cta {
  filter: brightness(1.08);
}

.nv-load-more {
  padding: 0.7rem 1.6rem;
  border-radius: 999px;
  border: 0;
  background: var(--nv-primary);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
  font-size: 0.95rem;
}
.nv-load-more:hover { filter: brightness(1.06); }
.nv-load-more:disabled { opacity: 0.6; cursor: wait; }


/* ========== 3.9.6 live ticker, verified, push, consent ========== */
.nv-ticker--live {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.55rem 0.85rem;
  background: var(--nv-bg-soft, #f7f8fb);
  border-radius: 8px;
  margin: 0 0 1.25rem;
  overflow: hidden;
}
.nv-ticker__live {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  flex-shrink: 0;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #dc2626;
}
.nv-ticker__pulse {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #dc2626;
  box-shadow: 0 0 0 0 rgba(220,38,38,.5);
  animation: nv-live-pulse 1.4s ease-out infinite;
}
@keyframes nv-live-pulse {
  0% { box-shadow: 0 0 0 0 rgba(220,38,38,.45); }
  70% { box-shadow: 0 0 0 8px rgba(220,38,38,0); }
  100% { box-shadow: 0 0 0 0 rgba(220,38,38,0); }
}
.nv-ticker__track {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.35rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap;
  font-size: 0.88rem;
}
.nv-ticker__item { color: var(--nv-text); font-weight: 600; text-decoration: none; }
.nv-ticker__item:hover { color: var(--nv-primary); }
.nv-ticker__tag { color: var(--nv-primary); text-decoration: none; font-weight: 600; }
.nv-ticker__dot { color: var(--nv-text-muted); opacity: 0.5; }

.nv-meta-verified {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #0284c7;
  background: #e0f2fe;
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
  margin-left: 0.35rem;
}

.nv-push-bar {
  position: fixed;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 99990;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  max-width: min(560px, 94vw);
  padding: 0.75rem 1rem;
  background: #0f172a;
  color: #fff;
  border-radius: 12px;
  box-shadow: 0 12px 40px rgba(0,0,0,.25);
  font-size: 0.9rem;
}
.nv-push-bar__btn {
  border: 0;
  border-radius: 999px;
  padding: 0.4rem 0.9rem;
  background: var(--nv-primary, #5B4DFF);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
.nv-push-bar__close {
  border: 0;
  background: transparent;
  color: #94a3b8;
  font-size: 1.25rem;
  cursor: pointer;
  line-height: 1;
}

.nv-consent {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 99999;
  background: rgba(15,23,42,.96);
  color: #fff;
  padding: 1rem;
}
.nv-consent__inner {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
}
.nv-consent__text { margin: 0; font-size: 0.9rem; line-height: 1.4; flex: 1 1 240px; }
.nv-consent__actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.nv-consent__accept {
  border: 0;
  border-radius: 8px;
  padding: 0.5rem 1rem;
  background: var(--nv-primary, #5B4DFF);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}
.nv-consent__reject {
  border: 1px solid #64748b;
  border-radius: 8px;
  padding: 0.5rem 1rem;
  background: transparent;
  color: #e2e8f0;
  cursor: pointer;
}


/* ========== Tendencias 3.9.7 ========== */
.nv-trends-header { margin: 0 0 1.5rem; }
.nv-trends-header__live {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #dc2626;
  margin-bottom: 0.5rem;
}
.nv-trends-title {
  margin: 0 0 0.35rem;
  font-size: clamp(1.6rem, 3vw, 2.1rem);
  font-weight: 800;
}
.nv-trends-desc {
  margin: 0;
  color: var(--nv-text-muted);
  font-size: 0.95rem;
}
.nv-trends-list {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: none;
}
.nv-trends-item {
  display: flex;
  gap: 0.85rem;
  align-items: stretch;
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--nv-border, #eef0f5);
}
.nv-trends-rank {
  flex: 0 0 2rem;
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--nv-text-muted);
  line-height: 1.2;
  padding-top: 0.15rem;
}
.nv-trends-item--top .nv-trends-rank {
  color: var(--nv-primary);
}
.nv-trends-item--top:nth-child(1) .nv-trends-rank { color: #eab308; }
.nv-trends-item--top:nth-child(2) .nv-trends-rank { color: #94a3b8; }
.nv-trends-item--top:nth-child(3) .nv-trends-rank { color: #b45309; }
.nv-trends-item__link {
  display: flex;
  gap: 0.85rem;
  flex: 1;
  text-decoration: none;
  color: inherit;
  min-width: 0;
}
.nv-trends-item__media {
  flex: 0 0 120px;
  width: 120px;
  border-radius: 8px;
  overflow: hidden;
  background: var(--nv-bg-soft);
}
.nv-trends-item__img {
  width: 100%;
  height: 68px;
  object-fit: cover;
  display: block;
}
.nv-trends-item__body {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}
.nv-trends-item__cat {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--nv-primary);
}
.nv-trends-item__title {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--nv-text);
}
.nv-trends-item__link:hover .nv-trends-item__title {
  color: var(--nv-primary);
}
.nv-trends-item__meta {
  font-size: 0.8rem;
  color: var(--nv-text-muted);
}
.nv-ticker__live {
  text-decoration: none;
  color: #dc2626;
}
@media (max-width: 600px) {
  .nv-trends-item__media { flex-basis: 88px; width: 88px; }
  .nv-trends-item__img { height: 56px; }
  .nv-trends-item__title { font-size: 0.95rem; }
}



/* No forzar 100% en banners estándar */


/* Tags botones */
.nv-tags--buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin: 1.5rem 0;
}
.nv-tags__label {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--nv-text-muted);
  margin-right: 0.25rem;
}
.nv-tag-btn {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: none !important;
  color: #fff !important;
  background: var(--nv-tag-color, var(--nv-primary));
  border: 1px solid transparent;
  transition: filter .15s ease, transform .15s ease;
  line-height: 1.3;
}
.nv-tag-btn:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
  color: #fff !important;
}

/* Hero fotográfico — legibilidad garantizada */
.nv-s5__banner {
  position: relative !important;
  min-height: 380px !important;
  display: flex !important;
  align-items: flex-end !important;
  overflow: hidden !important;
  border-radius: 0 0 16px 16px !important;
}
.nv-s5__photo { position: absolute !important; inset: 0 !important; }
.nv-s5__photo-img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.nv-s5__dim {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    180deg,
    rgba(15,23,42,0.15) 0%,
    rgba(15,23,42,0.45) 40%,
    rgba(15,23,42,0.88) 100%
  ) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.nv-s5__on-photo {
  position: relative !important;
  z-index: 2 !important;
  padding: 2rem 1.25rem 1.75rem !important;
  width: 100% !important;
  color: #fff !important;
}
.nv-s5__title,
.nv-s5 .nv-single__title {
  color: #ffffff !important;
  text-shadow: 0 2px 16px rgba(0,0,0,.55) !important;
  font-size: clamp(1.6rem, 3.2vw, 2.5rem) !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  margin: 0.5rem 0 !important;
}
.nv-s5__sub {
  color: rgba(255,255,255,.95) !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.4) !important;
  font-size: 1.05rem !important;
  line-height: 1.45 !important;
  max-width: 40rem !important;
}
.nv-s5 .nv-meta,
.nv-s5 .nv-meta a,
.nv-s5 .nv-meta-author,
.nv-s5 .nv-meta__line,
.nv-s5 .nv-meta__line--type,
.nv-s5 .nv-meta__line--info,
.nv-s5 .nv-meta-date,
.nv-s5 .nv-meta-reading,
.nv-s5 .nv-meta-views,
.nv-s5 .nv-meta-sep {
  color: rgba(255,255,255,.95) !important;
  border-color: rgba(255,255,255,.35) !important;
}
.nv-s5 .nv-tax-category,
.nv-s5 .nv-tax-category--chip {
  background: rgba(255,255,255,.2) !important;
  color: #fff !important;
  backdrop-filter: blur(4px);
}
.nv-s5 .nv-badge-tipo {
  background: rgba(255,255,255,.22) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.35) !important;
}
@media (min-width: 900px) {
  .nv-s5__banner { min-height: 460px !important; }
}
@media (max-width: 600px) {
  .nv-s5__banner { min-height: 300px !important; }
  .nv-s5__title { font-size: 1.45rem !important; }
}

/* Brand color field clarity */
.nv-color-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.75rem;
  background: #f8fafc;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
}
.nv-color-field__name { font-weight: 700; font-size: 0.9rem; }
.nv-color-field__where { font-size: 0.78rem; color: #64748b; line-height: 1.35; }
.nv-color-map {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 0.75rem;
  margin: 1rem 0 1.25rem;
}
.nv-color-map__item {
  border-radius: 10px;
  padding: 0.85rem;
  color: #fff;
  font-size: 0.8rem;
  font-weight: 600;
  min-height: 72px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.06);
}
.nv-color-map__item span { opacity: 0.9; font-weight: 500; font-size: 0.72rem; }


/* ========== Header móvil fino 4.0.0 ========== */
@media (max-width: 767px) {
  .nv-header {
    --nv-header-h-m: 52px;
  }
  .nv-mainbar,
  .nv-mainbar__inner {
    min-height: 52px !important;
    height: 52px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .nv-mainbar .nv-container {
    gap: 0.5rem !important;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
  .nv-header-sc,
  .nv-header-sc--1,
  .nv-header-sc--2 {
    display: none !important;
  }
  .nv-logo img,
  .nv-logo svg,
  .nv-logo--cat img {
    height: 26px !important;
    max-height: 36px !important;
  }
  .nv-burger {
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    flex-shrink: 0;
  }
  .nv-burger span {
    width: 18px;
  }
  .nv-search-toggle {
    width: 36px !important;
    height: 36px !important;
    border: 0;
    background: transparent;
    font-size: 1.1rem;
    padding: 0;
    display: grid;
    place-items: center;
  }
  .nv-user-btn {
    width: 34px !important;
    height: 34px !important;
    font-size: 0.95rem;
  }
  .nv-mainbar__right {
    gap: 0.25rem !important;
    align-items: center;
  }
  .nv-header.is-sticky .nv-mainbar {
    box-shadow: 0 1px 0 rgba(15,23,42,.06);
  }
}


/* Tipografía editorial single */
.nv-single__title,
.nv-s5__title {
  letter-spacing: -0.02em;
  font-weight: 900;
}
.nv-single .entry-content,
.nv-single .nv-single__content {
  font-size: 1.0625rem;
  line-height: 1.75;
}
.nv-single .entry-content p,
.nv-single .nv-single__content p {
  margin-bottom: 1.15em;
}



/* ===== Magazine skin 2: imagen full, sin card ===== */
.nv-s2 .nv-s2__bleed,
.nv-s--magazine .nv-single__featured--full {
  display: block;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  border-radius: 0 !important;
  overflow: hidden;
  background: #0f172a;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
}
.nv-s2 .nv-s2__img,
.nv-s--magazine .nv-single__featured--full img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 70vh;
  object-fit: cover;
  border-radius: 0 !important;
}
.nv-s2 .nv-s2__column {
  max-width: 720px;
  margin: 0 auto;
  padding: 1.25rem 1rem 2rem;
}
.nv-s2 .nv-s2__title {
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0.5rem 0 0.75rem;
}
.nv-s2 .nv-s2__deck {
  font-size: 1.125rem;
  line-height: 1.5;
  color: var(--nv-text-muted, #475569);
  border-left: 3px solid var(--nv-primary, #5B4DFF);
  padding-left: 1rem;
  margin: 1rem 0 1.25rem;
}

/* Caption legible */
.nv-single__caption {
  display: block;
  padding: 0.5rem 0.85rem;
  font-size: 0.8125rem;
  line-height: 1.4;
  color: #334155;
  background: #f1f5f9;
  margin: 0;
}

/* Tipo de usuario visible */
.nv-meta__line--type {
  color: var(--nv-primary, #5B4DFF);
  font-weight: 600;
  letter-spacing: 0.04em;
  font-size: 0.75rem;
  text-transform: uppercase;
}

/* Contraste general más legible */
.nv-single__title { color: #0f172a; }
.nv-meta-author { color: #1e293b; font-weight: 600; }
.nv-meta-date, .nv-meta-reading, .nv-meta-views { color: #64748b; }


/* ===== Badges: texto siempre legible ===== */
.nv-badge-tipo {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.2;
  text-transform: uppercase;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12);
}
.nv-badge-tipo__text { color: inherit !important; }

/* ===== Archivo: tarjetas UI de color ===== */
.nv-card--ui,
.nv-layout-card .nv-card,
.nv-grid--card .nv-card {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e8eaf0;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
  transition: transform .18s ease, box-shadow .18s ease;
}
.nv-card--ui:hover,
.nv-layout-card .nv-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.1);
}
.nv-card--ui::before,
.nv-layout-card .nv-card::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
  background: var(--nv-card-accent, var(--nv-primary, #5B4DFF));
  z-index: 2;
}
.nv-card--ui .nv-card__thumb img,
.nv-layout-card .nv-card__img {
  border-radius: 0;
}
.nv-card--ui .nv-card__body {
  padding: 0.85rem 1rem 1rem 1.1rem;
}
.nv-card--ui .nv-card__title {
  font-weight: 700;
  line-height: 1.3;
  color: #0f172a;
}
.nv-card--ui .nv-card__meta {
  color: #64748b;
  font-size: 0.75rem;
}
.nv-section--cat .nv-section__title a {
  color: var(--nv-sec-color, var(--nv-primary, #5B4DFF));
}
.nv-section--cat .nv-section__head {
  border-bottom: 3px solid var(--nv-sec-color, var(--nv-primary, #5B4DFF));
  margin-bottom: 1rem;
  padding-bottom: 0.35rem;
}

/* ===== Skins más atractivas ===== */
.nv-s1 .nv-single__title,
.nv-s .nv-single__title {
  letter-spacing: -0.02em;
}
.nv-s3 .nv-single__excerpt,
.nv-s3 blockquote.nv-s3__quote {
  font-size: 1.2rem;
  border-left: 4px solid var(--nv-primary, #5B4DFF);
  padding: 0.75rem 1rem;
  background: #f8fafc;
  border-radius: 0 12px 12px 0;
  color: #334155;
}
.nv-s5 .nv-s5__hero {
  border-radius: 0 0 18px 18px;
  overflow: hidden;
}
.nv-s9 .nv-single__title {
  font-family: Georgia, "Merriweather", serif;
  font-size: clamp(1.85rem, 4vw, 2.65rem);
}
.nv-s2 .nv-s2__deck {
  background: #f8fafc;
  border-radius: 0 12px 12px 0;
  padding: 0.85rem 1rem;
}
.nv-home-cta {
  margin: 2rem 0;
  padding: 1.75rem;
  border-radius: 16px;
  background: linear-gradient(135deg, #5B4DFF, #7c3aed 60%, #db2777);
  color: #fff;
  text-align: center;
}
.nv-home-cta__btn {
  background: #fff !important;
  color: #4c1d95 !important;
  font-weight: 700;
  border: 0;
  border-radius: 999px;
  padding: 0.65rem 1.4rem;
}
.nv-home-cta__text {
  margin: 0 0 1rem;
  font-size: 1.15rem;
  font-weight: 600;
}


/* Hero columnas configurables */
.nv-hero--brand {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(var(--nv-hero-cols-m, 1), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .nv-hero--brand {
    grid-template-columns: repeat(var(--nv-hero-cols-t, 2), minmax(0, 1fr));
  }
  .nv-hero__main { grid-column: span 1; }
}
@media (min-width: 1024px) {
  .nv-hero--brand {
    grid-template-columns: repeat(var(--nv-hero-cols-d, 3), minmax(0, 1fr));
  }
  .nv-hero__main { grid-column: span 2; }
}
.nv-hero__title { color: #fff; }
.nv-hero__excerpt { color: rgba(255,255,255,.92); }
.nv-hero__author, .nv-hero__date { color: rgba(255,255,255,.85); font-size: 0.8rem; }


/* Home bloques: visibilidad */
.nv-section--block[data-show-excerpt="0"] .nv-card__excerpt,
.nv-section--block[data-show-excerpt="0"] .nv-list-item__excerpt { display: none !important; }
.nv-section--block[data-show-author="0"] .nv-meta-author,
.nv-section--block[data-show-author="0"] .nv-card__meta .author { display: none !important; }
.nv-section--block[data-show-date="0"] .nv-meta-date,
.nv-section--block[data-show-date="0"] time { display: none !important; }
.nv-section--block[data-show-badge="0"] .nv-badges { display: none !important; }
.nv-home-blocks li { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.5rem .75rem; background:#fff; border:1px solid #e2e8f0; border-radius:8px; margin-bottom:.4rem; }
.nv-home-blocks li.is-dragging { opacity:.5; }
.nv-home-blocks li.drag-over { border-color:#5B4DFF; }


/* 5.1: márgenes → pro-cascade.css (8/12/15) */


/* ===== Card / Grid columnas (refuerzo) ===== */
.nv-grid.nv-posts,
.nv-grid--card,
.nv-grid--grid,
.nv-grid--home {
  display: grid !important;
  width: 100%;
  gap: 1rem;
  grid-template-columns: repeat(var(--nv-cols-m, 1), minmax(0, 1fr)) !important;
}
@media (min-width: 768px) {
  .nv-grid.nv-posts,
  .nv-grid--card,
  .nv-grid--grid,
  .nv-grid--home {
    grid-template-columns: repeat(var(--nv-cols-t, 2), minmax(0, 1fr)) !important;
  }
}
@media (min-width: 1024px) {
  .nv-grid.nv-posts,
  .nv-grid--card,
  .nv-grid--grid,
  .nv-grid--home {
    grid-template-columns: repeat(var(--nv-cols-d, 3), minmax(0, 1fr)) !important;
  }
}
.nv-grid .nv-card,
.nv-grid .nv-list-item {
  min-width: 0;
  max-width: 100%;
}
.nv-layout-card .nv-card__img,
.nv-grid--card .nv-card__img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}
.nv-layout-grid .nv-card__img,
.nv-grid--grid .nv-card__img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

/* ===== Single skins: estructuras visualmente distintas ===== */
.nv-s { position: relative; }
.nv-s1 .nv-single__title {
  border-bottom: 3px solid var(--nv-primary, #5B4DFF);
  padding-bottom: 0.5rem;
}
.nv-s1 .nv-single__excerpt {
  font-size: 1.1em;
  color: var(--nv-text-muted, #667085);
}

.nv-s2 .nv-s2__bleed { margin: 0 0 1.25rem; }
.nv-s2 .nv-s2__column { max-width: 720px; margin: 0 auto; }
.nv-s2 .nv-s2__title { font-size: clamp(1.75rem, 4vw, 2.5rem); letter-spacing: -0.02em; }

.nv-s3 .nv-single__excerpt,
.nv-s3 .nv-s3__quote {
  border-left: 4px solid var(--nv-accent, #FF4D6D);
  background: #f8fafc;
  padding: 1rem 1.15rem;
  border-radius: 0 12px 12px 0;
  font-style: italic;
}

.nv-s4 {
  display: grid;
  gap: 1.25rem;
}
@media (min-width: 900px) {
  .nv-s4.nv-s4--side {
    grid-template-columns: 200px 1fr;
  }
  .nv-s4 .nv-s4__meta-col { border-right: 1px solid #e5e7eb; padding-right: 1rem; }
}

.nv-s5 .nv-s5__hero {
  position: relative;
  min-height: 280px;
  background-size: cover;
  background-position: center;
  color: #fff;
  border-radius: 0 0 16px 16px;
  overflow: hidden;
}
.nv-s5 .nv-s5__hero::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.72));
}
.nv-s5 .nv-s5__hero-inner { position: relative; z-index: 1; padding: 2rem 1rem 1.5rem; }
.nv-s5 .nv-single__title { color: #fff; text-shadow: 0 1px 8px rgba(0,0,0,.35); }

.nv-s6 .nv-single__title { order: 1; }
.nv-s6 .nv-single__excerpt {
  background: linear-gradient(90deg, var(--nv-primary, #5B4DFF), transparent);
  color: #fff;
  padding: 0.75rem 1rem;
  border-radius: 8px;
}

.nv-s7 .nv-tax-category {
  display: inline-block;
  background: var(--nv-primary, #5B4DFF);
  color: #fff !important;
  padding: 0.25rem 0.65rem;
  border-radius: 4px;
  margin-bottom: 0.75rem;
}

.nv-s8 .nv-single__title {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  line-height: 1.2;
}
.nv-s8 .nv-single__content { font-size: 1.05em; }

.nv-s9 .nv-single__title {
  font-family: Georgia, serif;
  border-top: 2px solid #0f172a;
  border-bottom: 1px solid #0f172a;
  padding: 0.75rem 0;
}
.nv-s9 .nv-single__content p:first-of-type::first-letter {
  font-size: 3em;
  float: left;
  line-height: 1;
  padding-right: 0.35rem;
  font-weight: 700;
}

.nv-s10 .nv-single__title {
  background: #0f172a;
  color: #fff !important;
  padding: 1rem 1.15rem;
  border-radius: 12px;
}
.nv-s11 {
  border-left: 6px solid #1d4ed8;
  padding-left: 1rem;
}
.nv-s12 .nv-single__title {
  color: #b91c1c !important;
  border-bottom: 2px dashed #fecaca;
}
.nv-s13 .nv-single__excerpt {
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  border-radius: 10px;
  padding: 0.85rem 1rem;
}
.nv-s14 .nv-single__meta {
  background: #eff6ff;
  border-radius: 999px;
  padding: 0.35rem 0.85rem;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.nv-s15 .nv-single__content {
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 1.25rem;
  background: #fff;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

/* Superficies single (padding cuando hay fondo tipográfico) */
.nv-single__title,
.nv-single__excerpt,
.nv-single__content {
  box-decoration-break: clone;
}


/* =========================================================
   LAYOUT + SIDEBAR sticky (tablet/desktop) — no solapamiento
   ========================================================= */
.nv-layout {
  display: block;
  width: 100%;
  max-width: var(--nv-container, 1200px);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.nv-layout .nv-main {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.nv-layout .nv-sidebar {
  min-width: 0;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  .nv-layout.has-sidebar {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding-left: 8px;
    padding-right: 8px;
  }
  .nv-layout.has-sidebar .nv-sidebar {
    position: static;
    width: 100%;
  }
}

@media (min-width: 768px) {
  .nv-layout.has-sidebar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) var(--nv-sidebar, 320px) !important;
    column-gap: 1.75rem;
    row-gap: 0;
    align-items: start;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .nv-layout.has-sidebar > .nv-main {
    grid-column: 1;
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
  }
  .nv-layout.has-sidebar > .nv-sidebar {
    grid-column: 2;
    display: block !important;
    position: sticky !important;
    top: 6rem;
    align-self: start;
    width: 100%;
    max-width: var(--nv-sidebar, 320px);
    max-height: calc(100vh - 7rem);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}

@media (min-width: 1024px) {
  .nv-layout.has-sidebar {
    grid-template-columns: minmax(0, 1fr) var(--nv-sidebar, 340px) !important;
    column-gap: 2rem;
  }
  .nv-layout.has-sidebar > .nv-sidebar {
    top: 6.5rem;
    max-height: calc(100vh - 7.5rem);
  }
}

/* Magazine (skin 2): contenido dentro del main, sin invadir sidebar */
.nv-s2,
.nv-s--magazine,
.nv-skin-2 {
  max-width: 100%;
  overflow-x: hidden;
}
.nv-s2__bleed,
.nv-s2__top-media,
.nv-s2__hero-img,
.nv-skin-2 .nv-single__featured {
  width: 100%;
  max-width: 100%;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border-radius: 12px;
  overflow: hidden;
}
.nv-s2__bleed img,
.nv-s2__top-media img,
.nv-s2__hero-img img {
  width: 100%;
  height: auto;
  display: block;
  max-width: 100%;
}
.nv-s2__column,
.nv-s2__inner {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}


/* Paginación archivos */
.nv-pagination--numbered { margin: 2rem 0; text-align: center; }
.nv-pagination--numbered .page-numbers { display: inline-flex; flex-wrap: wrap; gap: 0.35rem; list-style: none; margin: 0; padding: 0; justify-content: center; }
.nv-pagination--numbered .page-numbers li { margin: 0; }
.nv-pagination--numbered a.page-numbers,
.nv-pagination--numbered span.page-numbers {
  display: inline-block;
  min-width: 2.25rem;
  padding: 0.4rem 0.65rem;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  text-decoration: none;
  color: #0f172a;
  font-size: 0.9rem;
  font-weight: 600;
}
.nv-pagination--numbered span.current {
  background: var(--nv-primary, #5B4DFF);
  border-color: var(--nv-primary, #5B4DFF);
  color: #fff;
}
.nv-load-more-wrap { text-align: center; margin: 2rem 0 1rem; }
.nv-btn.nv-load-more {
  display: inline-block;
  padding: 0.7rem 1.4rem;
  border-radius: 999px;
  border: 0;
  background: var(--nv-primary, #5B4DFF);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}
.nv-btn.nv-load-more:disabled { opacity: 0.65; cursor: wait; }
.nv-load-more--infinite { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.nv-infinite-status { font-size: 0.85rem; color: #64748b; margin: 0.5rem 0 0; }


/* Widget tendencias + populares */
.nv-widget-popular,
.nv-widget-trending { display: flex; flex-direction: column; gap: 0.65rem; }
.nv-widget-popular__item {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
  text-decoration: none;
  color: inherit;
  padding: 0.5rem;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #eef0f5;
  transition: box-shadow 0.15s;
}
.nv-widget-popular__item:hover { box-shadow: 0 4px 12px rgba(15,23,42,0.08); }
.nv-widget-popular__img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
}
.nv-widget-popular__title {
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.35;
  color: #0f172a;
}
.nv-widget-trending__rank {
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 6px;
  background: var(--nv-primary, #5B4DFF);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.nv-widget-trending__meta {
  display: block;
  font-size: 0.75rem;
  color: #64748b;
  margin-top: 0.2rem;
}
.nv-widget__title {
  font-size: 1rem;
  font-weight: 800;
  margin: 0 0 0.75rem;
  letter-spacing: -0.01em;
}
.nv-sidebar__inner { display: flex; flex-direction: column; gap: 1.25rem; }


/* sticky-fix: evitar que overflow del padre mate position:sticky */
.nv-layout.has-sidebar {
  overflow: visible !important;
}
.nv-layout.has-sidebar > .nv-main {
  overflow-x: auto;
  overflow-y: visible;
}
@media (min-width: 768px) {
  aside.nv-sidebar,
  .nv-layout.has-sidebar > aside.nv-sidebar,
  .nv-layout.has-sidebar > .nv-sidebar {
    position: sticky !important;
    top: 5.5rem !important;
    align-self: start !important;
    max-height: calc(100vh - 6rem);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 5;
  }
}
@media (min-width: 1024px) {
  aside.nv-sidebar,
  .nv-layout.has-sidebar > .nv-sidebar {
    top: 6rem !important;
    max-height: calc(100vh - 7rem);
  }
}


/* cat-contrast-fix: el texto del chip lo define el inline style (contraste) */
.nv-tax-category--chip,
a.nv-tax-category.nv-tax-category--chip {
  color: var(--nv-cat-fg, inherit);
}
.nv-card__cat--pill,
.nv-list-item__cat.nv-card__cat--pill {
  color: inherit;
}
.nv-tax-category--chip .nv-badge-tipo__text,
.nv-badge-tipo__text {
  color: inherit !important;
}





/* Creatividades: tamaño natural del anuncio (300x250, 468x60, 728x90…) */

/* Respetar width/height HTML de redes (Google, XM, etc.) */



/* In-article: sin fondo gris que “encierre” y recorte */



/* Padres del layout: no clippear creatividades */
.nv-main,
.nv-layout,
.nv-single,
.nv-s,
.nv-single__content,
.entry-content,
.nv-header,
.nv-footer {
  overflow-x: visible !important;
}

/* Evitar que overflow-x:hidden del body recorte el banner dentro del ad:



/* polish-4.3.5 — acabado profesional sin romper layouts */
.nv-tax-row { gap: 0.45rem; margin-bottom: 0.5rem; }
.nv-meta { gap: 0.15rem; }
.nv-single__title { letter-spacing: -0.02em; }
.nv-card { transition: box-shadow .2s ease, transform .2s ease; }
.nv-card:hover { box-shadow: 0 8px 24px rgba(15,23,42,.08); }
.nv-badge-tipo, .nv-tax-category--chip { box-shadow: 0 1px 2px rgba(0,0,0,.06); }
.nv-share a { transition: transform .15s ease, background .15s ease; }
.nv-share a:hover { transform: translateY(-1px); }


/* list-img-size-4.3.6 */
.nv-list .nv-list-item--small { grid-template-columns: 96px 1fr !important; }
.nv-list .nv-list-item--medium { grid-template-columns: 120px 1fr !important; }
.nv-list .nv-list-item--large { grid-template-columns: 180px 1fr !important; }
.nv-list .nv-list-item--xl { grid-template-columns: 270px 1fr !important; }
.nv-list .nv-list-item--xxl { grid-template-columns: 360px 1fr !important; }
@media (max-width: 767px) {
  .nv-list .nv-list-item--small { grid-template-columns: 88px 1fr !important; }
  .nv-list .nv-list-item--medium { grid-template-columns: 100px 1fr !important; }
  .nv-list .nv-list-item--large { grid-template-columns: 120px 1fr !important; }
  .nv-list .nv-list-item--xl,
  .nv-list .nv-list-item--xxl { grid-template-columns: 120px 1fr !important; }
}
@media (min-width: 768px) {
  .nv-list .nv-list-item--large { grid-template-columns: 200px 1fr !important; }
  .nv-list .nv-list-item--xl { grid-template-columns: 280px 1fr !important; }
  .nv-list .nv-list-item--xxl { grid-template-columns: 360px 1fr !important; }
}

/* magazine-4.3.6 */
.nv-posts.nv-layout-magazine {
  display: flex !important;
  flex-direction: column;
  gap: 1.25rem;
}
.nv-magazine-feature { width: 100%; }
.nv-magazine-feature .nv-card__media {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 12px 12px 0 0;
  background: #e2e8f0;
}
.nv-magazine-feature .nv-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.nv-magazine-grid {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 768px) {
  .nv-magazine-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (min-width: 1024px) {
  .nv-magazine-grid { grid-template-columns: repeat(var(--nv-cols-d, 3), 1fr) !important; }
}
.nv-magazine-grid .nv-card__media {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #e2e8f0;
}
.nv-magazine-grid .nv-card__media img,
.nv-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.nv-card__placeholder {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 120px;
  color: #fff !important;
  font-weight: 800;
  font-size: 0.85rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center;
  padding: 1rem;
  writing-mode: horizontal-tb !important;
  transform: none !important;
  box-sizing: border-box;
}
.nv-card__media--empty {
  aspect-ratio: 16 / 9;
  background: #e2e8f0;
}

/* 5.1: sticky sidebar → pro-cascade.css */

@media (min-width: 1024px) {
  .nv-layout.has-sidebar > .nv-sidebar,
  .nv-layout.has-sidebar > aside.nv-sidebar {
    top: 6rem !important;
    max-height: calc(100vh - 7rem);
  }
}







/* Visibilidad single — red de seguridad */
/* moved */
body.nv-hide-sidebar .nv-layout.has-sidebar { grid-template-columns: 1fr !important; }



/* Anuncios: reglas en assets/css/ad-reset.css (última hoja). */


/* ===== EL ALACRAN ADS HANDS-OFF — el tema NO modifica anuncios del plugin ===== */
/* Publicidad: el tema NO modifica tamaño de anuncios (plugin Publicidad). */
.nv-ad-slot,
.code-block,
.ai-viewports {
  max-width: 100%;
  overflow-x: auto;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.nv-ad-slot iframe,
.nv-ad-slot ins,
.code-block iframe,
.code-block ins {
  max-width: none !important;
  width: auto !important;
  height: auto !important;
}


/* Menú cuenta completo */
.nv-user-menu {
  min-width: 220px;
  max-height: min(75vh, 480px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 10050;
}
.nv-user-wrap { position: relative; z-index: 10040; }
.nv-user-wrap.open .nv-user-menu { display: block !important; }
.nv-user-menu a {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 0.85rem;
  white-space: nowrap;
  font-size: 0.9rem;
  color: inherit;
  text-decoration: none;
}


/* Fase 2: sidebar sticky refuerzo tablet/desktop */
@media (min-width: 768px) {
  .nv-layout.has-sidebar > .nv-sidebar,
  .nv-single-wrap.has-sidebar .nv-sidebar,
  aside.nv-sidebar {
    position: sticky !important;
    top: 5.5rem;
    align-self: start;
    max-height: calc(100vh - 6rem);
    overflow-y: auto;
  }
}


/* Visibilidad single — ocultar de verdad (no solo CSS parcial) */
body.nv-hide-breadcrumb .nv-breadcrumb,
body.nv-hide-breadcrumb .nv-s-breadcrumb { display: none !important; }
body.nv-hide-category .nv-tax-category,
body.nv-hide-category .nv-cat,
body.nv-hide-category a.nv-tax-category--chip { display: none !important; }
body.nv-hide-badges .nv-badge-tipo,
body.nv-hide-badges .nv-badges,
body.nv-hide-badges .nv-type-badge { display: none !important; }
body.nv-hide-title .nv-single__title,
body.nv-hide-title h1.entry-title,
body.nv-hide-title .nv-s-title { display: none !important; }
body.nv-hide-excerpt .nv-single__excerpt,
body.nv-hide-excerpt .nv-s2__deck,
body.nv-hide-excerpt .nv-s5__sub,
body.nv-hide-excerpt .nv-s-excerpt { display: none !important; }
body.nv-hide-meta .nv-meta,
body.nv-hide-meta .nv-meta-line,
body.nv-hide-meta .nv-s-meta { display: none !important; }
body.nv-hide-avatar .nv-meta-avatar,
body.nv-hide-avatar .nv-meta__avatar { display: none !important; }
body.nv-hide-author .nv-meta-author { display: none !important; }
body.nv-hide-user-type .nv-meta__line--type,
body.nv-hide-user-type .nv-meta-user-type { display: none !important; }
body.nv-hide-date .nv-meta-date { display: none !important; }
body.nv-hide-reading .nv-meta-reading { display: none !important; }
body.nv-hide-views .nv-meta-views { display: none !important; }
body.nv-hide-share .nv-share,
body.nv-hide-share .nv-share-bar,
body.nv-hide-share .nv-s-share { display: none !important; }
body.nv-hide-featured .nv-single__thumb,
body.nv-hide-featured .nv-featured,
body.nv-hide-featured .post-thumbnail { display: none !important; }
body.nv-hide-caption .nv-caption,
body.nv-hide-caption .wp-caption-text,
body.nv-hide-caption figcaption { display: none !important; }
body.nv-hide-toc .nv-toc,
body.nv-hide-toc #nv-toc,
body.nv-hide-toc .nv-table-of-contents { display: none !important; }
body.nv-hide-tags .nv-tags,
body.nv-hide-tags .nv-post-tags { display: none !important; }
body.nv-hide-author-box .nv-author-box,
body.nv-hide-author-box .nv-author-card { display: none !important; }
body.nv-hide-related .nv-related,
body.nv-hide-related .nv-related-posts { display: none !important; }
body.nv-hide-comments #comments,
body.nv-hide-comments .nv-comments { display: none !important; }
body.nv-hide-sidebar .nv-sidebar,
body.nv-hide-sidebar aside.widget-area { display: none !important; }
@media (min-width: 901px) {
  body.nv-hide-sidebar .nv-layout.has-sidebar {
    grid-template-columns: 1fr !important;
  }
}

/* Sidebar sticky (tablet + desktop) */
@media (min-width: 901px) {
  .nv-layout.has-sidebar .nv-sidebar {
    position: sticky;
    top: 5.5rem;
    align-self: start;
    max-height: calc(100vh - 6rem);
    overflow-y: auto;
  }
}
