/*
 * nechugo News - Hoja de estilos principal (sin frameworks).
 *
 * Toda la maquetacion consume variables CSS. Los valores reales los emite
 * inc/customizer/css.php en :root (inline, despues de esta hoja); los de
 * aqui son solo el respaldo si el CSS dinamico no llegara a cargarse.
 */

:root {
	--nn-primary: #1a73e8;
	--nn-secondary: #e8453c;
	--nn-accent: #fbbc04;
	--nn-bg: #f4f5f7;
	--nn-text: #1c1c1c;
	--nn-muted: #5f6368;
	--nn-border: #e5e7eb;
	--nn-link: var(--nn-primary);
	--nn-link-hover: var(--nn-secondary);
	--nn-category: var(--nn-primary);
	--nn-card-bg: #ffffff;
	--nn-card-border: #e5e7eb;
	--nn-header-bg: #ffffff;
	--nn-header-text: #1c1c1c;
	--nn-header-line: #e5e7eb;
	--nn-sticky-bg: #ffffff;
	--nn-footer-bg: #111111;
	--nn-footer-text: #eeeeee;

	--nn-font-body: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--nn-font-heading: var(--nn-font-body);
	--nn-font-ui: var(--nn-font-body);
	--nn-weight-body: 400;
	--nn-weight-head: 700;
	--nn-body-size: 16px;
	--nn-body-lh: 1.2;
	--nn-head-lh: 1.25;
	--nn-title-gap: 1.15em;
	--nn-h1: 32px;
	--nn-h2: 26px;
	--nn-h3: 21px;
	--nn-h4: 18px;
	--nn-meta-size: 13px;
	--nn-menu-size: 15px;
	--nn-mobile-scale: .9;
	--nn-fs-scale: 1;
	--nn-article-align: left;

	--nn-btn-bg: var(--nn-primary);
	--nn-btn-text: #ffffff;
	--nn-btn-hover-bg: var(--nn-secondary);
	--nn-btn-hover-text: #ffffff;
	--nn-btn-border: var(--nn-primary);
	--nn-btn-border-w: 0px;
	--nn-btn-radius: 30px;
	--nn-btn-pad: 10px 22px;
	--nn-btn-height: auto;
	--nn-btn-size: 14px;
	--nn-btn-weight: 600;
	--nn-btn-spacing: 0px;
	--nn-btn-transform: none;

	--nn-container: 1200px;
	--nn-sidebar: 300px;
	--nn-card-radius: 8px;
	--nn-card-title: 20px;
	--nn-cols: 2;
	--nn-cols-tablet: 2;
	--nn-cols-mobile: 1;
	--nn-thumb-ratio: 16 / 9;

	--nn-single-bg: #ffffff;
	--nn-single-radius: 8px;
	--nn-single-pad: 28px;
	--nn-reading-width: 800px;

	--nn-slider-h: 480px;
	--nn-slider-h-mobile: 320px;
	--nn-slider-overlay: .45;
	--nn-slider-title: 34px;
	--nn-slider-sub: 16px;

	--nn-logo-w: 220px;
	--nn-logo-h: 60px;
	--nn-ad-gap: 16px;
	--nn-ad-max: 100%;

	--nn-gap: 1.5rem;
	--nn-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 4px 14px rgba(0, 0, 0, .05);
	--nn-sticky-top: 0px;
}

/* ================= Base ================= */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
	margin: 0;
	background: var(--nn-bg);
	color: var(--nn-text);
	font-family: var(--nn-font-body);
	font-size: var(--nn-body-size);
	font-weight: var(--nn-weight-body);
	line-height: var(--nn-body-lh);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
.site { min-height: 100vh; display: flex; flex-direction: column; }
.site-content { flex: 1 0 auto; }

img, video, iframe, embed, object { max-width: 100%; }
img { height: auto; }
a { color: var(--nn-link); text-decoration: none; transition: color .15s; }
a:hover, a:focus { color: var(--nn-link-hover); }
:focus-visible { outline: 2px solid var(--nn-primary); outline-offset: 2px; }

p { margin: 0 0 1em; }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--nn-font-heading);
	font-weight: var(--nn-weight-head);
	line-height: var(--nn-head-lh);
	color: inherit;
	margin: 1.4em 0 .5em;
}
h1 { font-size: calc(var(--nn-h1) * var(--nn-fs-scale)); }
h2 { font-size: calc(var(--nn-h2) * var(--nn-fs-scale)); }
h3 { font-size: calc(var(--nn-h3) * var(--nn-fs-scale)); }
h4 { font-size: calc(var(--nn-h4) * var(--nn-fs-scale)); }
h5 { font-size: 1.05em; }
h6 { font-size: 1em; }

/* Interlineado del tema: parrafo 1.20; del titulo a la primera linea 1.15. */
.entry-content :is(h1, h2, h3, h4, h5, h6) { margin-bottom: 0; }
.entry-content :is(h1, h2, h3, h4, h5, h6) + * { margin-top: var(--nn-title-gap); }
.entry-content p { line-height: var(--nn-body-lh); }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; overflow: hidden;
	padding: 0; position: absolute !important; word-wrap: normal !important;
}
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 1rem; top: 1rem; z-index: 100000; background: var(--nn-primary); color: #fff; padding: .5rem 1rem; }

/* ================= Contenedores ================= */
.nechugo-container {
	width: 100%;
	max-width: var(--nn-container);
	margin: 0 auto;
	padding: 0 1.25rem;
}

/* ================= Botones ================= */
.nechugo-btn,
.nechugo-search-submit,
.comment-form .submit,
.wp-block-search__button,
.wp-element-button,
.wp-block-button__link,
input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4em;
	min-height: var(--nn-btn-height);
	padding: var(--nn-btn-pad);
	background: var(--nn-btn-bg);
	color: var(--nn-btn-text);
	border: var(--nn-btn-border-w) solid var(--nn-btn-border);
	border-radius: var(--nn-btn-radius);
	font-family: var(--nn-font-ui);
	font-size: var(--nn-btn-size);
	font-weight: var(--nn-btn-weight);
	letter-spacing: var(--nn-btn-spacing);
	text-transform: var(--nn-btn-transform);
	line-height: 1.2;
	cursor: pointer;
	text-decoration: none;
	transition: background-color .15s, color .15s, border-color .15s;
}
.nechugo-btn:hover, .nechugo-btn:focus,
.nechugo-search-submit:hover,
.comment-form .submit:hover,
.wp-block-search__button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover {
	background: var(--nn-btn-hover-bg);
	color: var(--nn-btn-hover-text);
	border-color: var(--nn-btn-hover-bg);
}
.nechugo-btn--small { padding: calc(var(--nn-btn-size) * .45) calc(var(--nn-btn-size) * 1.1); font-size: calc(var(--nn-btn-size) * .9); }

/* ================= Formularios ================= */
input[type="text"], input[type="email"], input[type="url"], input[type="search"],
input[type="password"], input[type="number"], input[type="tel"], textarea, select {
	width: 100%;
	padding: .6rem .8rem;
	border: 1px solid var(--nn-border);
	border-radius: 6px;
	background: #fff;
	color: var(--nn-text);
	font: inherit;
	line-height: 1.3;
}
textarea { min-height: 140px; }
.nechugo-search-form-el { display: flex; gap: .5rem; }
.nechugo-search-form-el .nechugo-search-field { flex: 1; min-width: 0; }
.nechugo-search-submit { padding: 0 1rem; }

/* ================= Encabezado por filas ================= */
.site-header {
	position: relative;
	z-index: 100;
	width: 100%;
	background: var(--nn-header-bg);
	color: var(--nn-header-text);
}
.nn-header-line .site-header { border-bottom: 1px solid var(--nn-header-line); }

.nn-hrow { position: relative; width: 100%; }
.nn-hrow:has(> .nechugo-container--boxed) { max-width: var(--nn-container); margin-inline: auto; }
.nn-hrow__inner {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.nn-hrow a { color: inherit; }
.nn-hrow a:hover { color: var(--nn-primary); }

.nn-hrow--top {
	background: var(--nn-htop-bg, #111);
	color: var(--nn-htop-text, #fff);
	font-family: var(--nn-htop-font, inherit);
	font-size: var(--nn-htop-size, 13px);
}
.nn-hrow--top .nn-hrow__inner { min-height: var(--nn-htop-h, 40px); }
.nn-hrow--main {
	background: var(--nn-hmain-bg, #fff);
	color: var(--nn-hmain-text, #1c1c1c);
	font-family: var(--nn-hmain-font, inherit);
	font-size: var(--nn-hmain-size, 15px);
	transition: background-color .2s;
}
.nn-hrow--main .nn-hrow__inner { min-height: var(--nn-hmain-h, 80px); }
.nn-hrow--bottom {
	background: var(--nn-hbottom-bg, #f7f7f7);
	color: var(--nn-hbottom-text, #1c1c1c);
	font-family: var(--nn-hbottom-font, inherit);
	font-size: var(--nn-hbottom-size, 14px);
	border-top: 1px solid var(--nn-header-line);
}
.nn-hrow--bottom .nn-hrow__inner { min-height: var(--nn-hbottom-h, 44px); }

/* Zonas (divisiones) */
.nn-zone { display: flex; align-items: center; min-width: 0; gap: .75rem; }
.nn-zone--flex-auto { flex: 0 1 auto; }
.nn-zone--flex-grow { flex: 1 1 0; }
.nn-zone--flex-fixed { flex-shrink: 0; }
.nn-zone--align-left { justify-content: flex-start; }
.nn-zone--align-center { justify-content: center; text-align: center; }
.nn-zone--align-right { justify-content: flex-end; text-align: right; }
.nn-zone--flex-auto.nn-zone--align-right { margin-left: auto; }
.nn-zone--flex-auto.nn-zone--align-center { margin-inline: auto; }
.nn-zone--toggle { display: none; margin-left: auto; }
.nn-zone .widget { margin: 0; }
.nn-zone .widget-title { display: none; }
.nn-zone--button .nechugo-btn { white-space: nowrap; }
.nn-date { white-space: nowrap; text-transform: capitalize; opacity: .9; }
.nn-html > :last-child { margin-bottom: 0; }

/* Logo */
.custom-logo-link { display: inline-flex; align-items: center; line-height: 0; }
.custom-logo {
	display: block;
	width: auto;
	height: auto;
	max-width: var(--nn-logo-w);
	max-height: var(--nn-logo-h);
	object-fit: contain;
	transition: max-height .2s;
}
.site-title { margin: 0; font-size: calc(var(--nn-h2) * var(--nn-fs-scale)); font-family: var(--nn-font-heading); line-height: 1.1; }
.site-title a { color: inherit; }
.site-description { display: block; font-size: .8em; opacity: .7; margin-top: .15rem; }
.nn-zone--logo { flex-direction: column; align-items: flex-start; gap: 0; }
.nn-zone--logo.nn-zone--align-center { align-items: center; }
.nn-zone--logo.nn-zone--align-right { align-items: flex-end; }

/* Menus */
.nechugo-nav .nechugo-menu { display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; gap: .15rem; }
.nechugo-nav li { position: relative; }
.nechugo-nav a {
	display: block;
	padding: .5rem .75rem;
	font-family: var(--nn-font-ui);
	font-weight: 600;
	line-height: 1.2;
}
.nn-hrow--main .nechugo-nav a { font-size: var(--nn-menu-size); }
.nechugo-nav .current-menu-item > a,
.nechugo-nav .current-menu-ancestor > a { color: var(--nn-primary); }
.nechugo-nav ul ul {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 120;
	min-width: 220px;
	margin: 0;
	padding: .35rem 0;
	list-style: none;
	background: var(--nn-hmain-bg, #fff);
	color: var(--nn-hmain-text, #1c1c1c);
	box-shadow: var(--nn-shadow);
	border-radius: 6px;
}
.nechugo-nav ul ul a { font-weight: 500; padding: .5rem 1rem; }
.nechugo-nav li:hover > ul,
.nechugo-nav li:focus-within > ul { display: block; }

/* Buscador desplegable */
.nechugo-search { position: relative; }
.nechugo-search-toggle {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; padding: 0;
	background: none; border: 0; color: inherit; cursor: pointer; border-radius: 50%;
}
.nechugo-search-toggle:hover { background: rgba(0, 0, 0, .06); }
.nechugo-search-form {
	position: absolute;
	right: 0;
	top: calc(100% + .5rem);
	z-index: 130;
	width: min(420px, 90vw);
	padding: 1rem;
	background: #fff;
	color: var(--nn-text);
	border-radius: 8px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .15);
}
.nechugo-search-form[hidden] { display: none; }

/* Redes */
.nechugo-social { display: flex; flex-wrap: wrap; gap: .25rem .5rem; }
.nechugo-social:empty { display: none; }
.nechugo-social__link { display: inline-block; padding: .2rem .35rem; font-size: .92em; }

/* Boton menu movil */
.nechugo-menu-toggle {
	position: relative;
	width: 42px; height: 42px;
	background: none; border: 0; cursor: pointer; color: inherit;
}
.nechugo-menu-toggle span {
	position: absolute; left: 10px; right: 10px; height: 2px;
	background: currentColor; transition: transform .2s, opacity .2s;
}
.nechugo-menu-toggle span:nth-child(1) { top: 14px; }
.nechugo-menu-toggle span:nth-child(2) { top: 20px; }
.nechugo-menu-toggle span:nth-child(3) { top: 26px; }
.nechugo-nav-open .nechugo-menu-toggle span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.nechugo-nav-open .nechugo-menu-toggle span:nth-child(2) { opacity: 0; }
.nechugo-nav-open .nechugo-menu-toggle span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* Cabecera fija */
@media (min-width: 901px) {
	.nn-sticky-header:not(.nn-sticky-no-desktop) .site-header { position: sticky; top: var(--nn-sticky-top); }
	.admin-bar.nn-sticky-header:not(.nn-sticky-no-desktop) .site-header { top: calc(var(--nn-sticky-top) + 32px); }
}
@media (max-width: 900px) {
	.nn-sticky-header.nn-sticky-mobile .site-header { position: sticky; top: var(--nn-sticky-top); }
}
.nn-is-scrolled.nn-sticky-header .nn-hrow--main { background: var(--nn-sticky-bg); }
.nn-is-scrolled.nn-sticky-shadow .site-header { box-shadow: 0 4px 18px rgba(0, 0, 0, .08); }
.nn-is-scrolled.nn-sticky-effect-shrink .nn-hrow--main .nn-hrow__inner { min-height: 0; padding-block: .35rem; }
.nn-is-scrolled.nn-sticky-effect-shrink .custom-logo { max-height: calc(var(--nn-logo-h) * .7); }
.nn-is-scrolled.nn-sticky-effect-slide .site-header { animation: nn-slide-down .3s ease; }
@keyframes nn-slide-down { from { transform: translateY(-100%); } to { transform: none; } }

/* Anuncio bajo el encabezado / sobre el pie */
.nechugo-ad-row { padding-block: var(--nn-ad-gap); }
.nechugo-ad-row .nechugo-ad { margin-block: 0; }

/* ================= Layout con barra lateral ================= */
.nechugo-content-area { padding: 1.5rem 1.25rem 3rem; }
.nechugo-layout { display: grid; gap: 2rem; align-items: start; }
.nechugo-layout--sidebar-right { grid-template-columns: minmax(0, 1fr) var(--nn-sidebar); }
.nechugo-layout--sidebar-left { grid-template-columns: var(--nn-sidebar) minmax(0, 1fr); }
.nechugo-layout--sidebar-left .nechugo-sidebar { order: -1; }
.nechugo-layout--sidebar-none { grid-template-columns: minmax(0, 1fr); }
.nechugo-main { min-width: 0; }

/* Miga de pan */
.nechugo-breadcrumbs { font-size: var(--nn-meta-size); color: var(--nn-muted); margin-bottom: 1rem; }
.nechugo-breadcrumbs a { color: var(--nn-muted); }
.nechugo-breadcrumbs a:hover { color: var(--nn-primary); }
.nechugo-breadcrumbs .sep { margin: 0 .3rem; opacity: .6; }

/* Cabecera de archivos */
.nechugo-archive-header { margin-bottom: 1.5rem; }
.archive-title { margin: 0; }
.archive-title span { color: var(--nn-primary); }
.archive-description { color: var(--nn-muted); margin-top: .5rem; }

/* ================= Listado de entradas ================= */
.nechugo-posts {
	--c: var(--nn-cols);
	display: grid;
	gap: var(--nn-gap);
	grid-template-columns: repeat(var(--c), minmax(0, 1fr));
}
.nechugo-posts--grid.nn-featured.nechugo-posts--cols-1 { --c: 1; }
.nechugo-posts--grid.nn-featured.nechugo-posts--cols-2 { --c: 2; }
.nechugo-posts--grid.nn-featured.nechugo-posts--cols-3 { --c: 3; }
.nn-related .nechugo-posts { --c: 3; }
.nechugo-posts--list { --c: 1 !important; }
.nechugo-posts--masonry { display: block; columns: var(--c); column-gap: var(--nn-gap); }
.nechugo-posts--masonry .nechugo-card { break-inside: avoid; margin-bottom: var(--nn-gap); }

.nechugo-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--nn-card-bg);
	border-radius: var(--nn-card-radius);
	transition: transform .2s ease, box-shadow .2s ease;
}
.nn-cards-border .nechugo-card { border: 1px solid var(--nn-card-border); }
.nn-cards-shadow .nechugo-card { box-shadow: var(--nn-shadow); }
.nn-cards-shadow .nechugo-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0, 0, 0, .1); }
.nechugo-card__thumb {
	display: block;
	aspect-ratio: var(--nn-thumb-ratio);
	overflow: hidden;
	background: #eceef1;
}
.nechugo-card__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.nechugo-card:hover .nechugo-card__thumb img { transform: scale(1.04); }
.nechugo-card__body { display: flex; flex-direction: column; gap: .55rem; flex: 1; padding: 1rem 1.15rem 1.25rem; }
.nechugo-card__title {
	margin: 0;
	font-size: calc(var(--nn-card-title) * var(--nn-fs-scale));
	line-height: var(--nn-head-lh);
}
.nn-cards-upper .nechugo-card__title { text-transform: uppercase; letter-spacing: .01em; }
.nechugo-card__title a { color: var(--nn-text); }
.nechugo-card__title a:hover { color: var(--nn-primary); }
.nechugo-card__excerpt { color: var(--nn-muted); font-size: .94em; }
.nechugo-card__excerpt p { margin: 0; }
.nechugo-card__more { align-self: flex-start; margin-top: auto; }

.nechugo-posts--list .nechugo-card { flex-direction: row; }
.nechugo-posts--list .nechugo-card__thumb { flex: 0 0 40%; aspect-ratio: auto; min-height: 100%; }

.nechugo-cat {
	display: inline-block;
	padding: .2rem .55rem;
	background: var(--nn-category);
	color: #fff;
	border-radius: 4px;
	font-family: var(--nn-font-ui);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
	line-height: 1.3;
}
.nechugo-cat:hover { color: #fff; filter: brightness(1.1); }

.entry-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .35rem;
	color: var(--nn-muted);
	font-family: var(--nn-font-ui);
	font-size: var(--nn-meta-size);
	line-height: 1.3;
}
.meta-sep { opacity: .55; }
.meta-author { font-weight: 600; color: var(--nn-text); }
.entry-meta--boxed { padding: .6rem .85rem; background: rgba(0, 0, 0, .035); border-radius: 6px; }

/* Paginacion */
.nechugo-pagination { margin-top: 2rem; }
.nechugo-pagination .nav-links { display: flex; flex-wrap: wrap; gap: .35rem; }
.page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 40px; height: 40px; padding: 0 .75rem;
	background: var(--nn-card-bg); color: var(--nn-text);
	border: 1px solid var(--nn-border); border-radius: 6px;
	font-family: var(--nn-font-ui); font-size: 14px;
}
.page-numbers.current, .page-numbers:hover { background: var(--nn-primary); border-color: var(--nn-primary); color: #fff; }

.nechugo-no-results { padding: 2rem; background: var(--nn-card-bg); border-radius: var(--nn-card-radius); text-align: center; }

/* ================= Articulo y paginas (tarjeta blanca) ================= */
.nn-article { position: relative; }
.nn-article-card .nn-article,
.nn-article-card .nn-related,
.nn-article-card .nechugo-comments {
	background: var(--nn-single-bg);
	border-radius: var(--nn-single-radius);
	padding: var(--nn-single-pad);
}
.nn-article-card--shadow .nn-article,
.nn-article-card--shadow .nn-related,
.nn-article-card--shadow .nechugo-comments { box-shadow: var(--nn-shadow); }
.nn-article-card--border .nn-article,
.nn-article-card--border .nn-related,
.nn-article-card--border .nechugo-comments { border: 1px solid var(--nn-card-border); }
.nn-related, .nechugo-comments { margin-top: 1.75rem; }
.nn-article { overflow: hidden; }

.nn-article .entry-header,
.nn-article .entry-content,
.nn-article .nn-tags,
.nn-article .nechugo-share,
.nn-article .nn-author-box,
.nn-article .post-navigation {
	max-width: var(--nn-reading-width);
	margin-inline: auto;
}
.entry-header { margin-bottom: 1.25rem; }
.entry-header .entry-title { margin: .5rem 0 .75rem; font-size: calc(var(--nn-h1) * var(--nn-fs-scale)); }
.nn-single-cats { display: flex; gap: .35rem; }
.nn-title-center .entry-header { text-align: center; }
.nn-title-center .entry-header .entry-meta,
.nn-title-center .nn-single-cats { justify-content: center; }
.nn-dek { font-size: 1.15em; color: var(--nn-muted); margin: 0 0 1rem; line-height: 1.35; }

.entry-thumb { margin: 0 0 1.5rem; }
.entry-thumb img { display: block; width: 100%; height: auto; border-radius: calc(var(--nn-single-radius) * .75); }
.entry-thumb figcaption { font-size: var(--nn-meta-size); color: var(--nn-muted); padding-top: .5rem; text-align: center; }

.entry-content { text-align: var(--nn-article-align); overflow-wrap: break-word; }
.entry-content::after { content: ""; display: table; clear: both; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content ul, .entry-content ol { margin: 0 0 1em; padding-left: 1.4em; }
.entry-content li { margin-bottom: .3em; }
.entry-content img.aligncenter, .entry-content .aligncenter { margin-left: auto; margin-right: auto; display: block; }
.entry-content .alignleft { float: left; margin: .3rem 1.5rem 1rem 0; }
.entry-content .alignright { float: right; margin: .3rem 0 1rem 1.5rem; }
.entry-content .wp-caption { max-width: 100%; margin-bottom: 1.25em; }
.entry-content .wp-caption-text, .entry-content figcaption { font-size: var(--nn-meta-size); color: var(--nn-muted); text-align: center; padding: .5rem 0; }
.entry-content .gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin-bottom: 1.5em; }
.entry-content .gallery-columns-2 { grid-template-columns: repeat(2, 1fr); }
.entry-content .gallery-item { margin: 0; }
.entry-content table { width: 100%; border-collapse: collapse; margin-bottom: 1.5em; font-size: .92em; }
.entry-content th, .entry-content td { border: 1px solid var(--nn-border); padding: .5rem .75rem; text-align: left; }
.entry-content th { background: #f7f7f7; }
.entry-content blockquote { margin: 1.5em 0; padding: .85rem 1.25rem; border-left: 4px solid var(--nn-primary); background: rgba(0, 0, 0, .03); font-style: italic; }
.entry-content blockquote p:last-child { margin-bottom: 0; }
.entry-content pre { overflow-x: auto; padding: 1rem; background: #f4f5f7; border-radius: 6px; font-size: .9em; }
.entry-content .alignwide, .entry-content .alignfull { width: 100%; max-width: 100%; }
.page-links { clear: both; margin: 1.5rem 0; }

/* Capitular */
.nn-dropcap .entry-content > p:first-of-type::first-letter,
.nn-dropcap-on .entry-content > p:first-of-type::first-letter {
	float: left;
	font-family: var(--nn-font-heading);
	font-size: 3.6em;
	line-height: .85;
	font-weight: 700;
	padding: .08em .1em 0 0;
	color: var(--nn-primary);
}

/* Presentacion: periodico */
.nn-article--newspaper .entry-header { text-align: center; border-bottom: 3px double var(--nn-text); padding-bottom: 1rem; }
.nn-article--newspaper .entry-title { font-size: calc(var(--nn-h1) * 1.25 * var(--nn-fs-scale)); letter-spacing: -.01em; }
.nn-article--newspaper .nn-single-cats,
.nn-article--newspaper .entry-meta { justify-content: center; }
.nn-article--newspaper .entry-meta { border-top: 1px solid var(--nn-border); padding-top: .6rem; text-transform: uppercase; letter-spacing: .05em; }
.nn-article--newspaper .nn-dek { font-style: italic; }

/* Presentacion: revista */
.nn-mag-hero {
	position: relative;
	margin: calc(-1 * var(--nn-single-pad)) calc(-1 * var(--nn-single-pad)) 1.75rem;
	min-height: 380px;
	display: flex;
	align-items: flex-end;
	color: #fff;
	background: #111;
}
.nn-mag-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nn-mag-hero__overlay {
	position: relative;
	width: 100%;
	padding: 4rem var(--nn-single-pad) var(--nn-single-pad);
	background: linear-gradient(to top, rgba(0, 0, 0, .82), rgba(0, 0, 0, .1));
}
.nn-mag-hero .entry-header { margin: 0; max-width: none; }
.nn-mag-hero .entry-title, .nn-mag-hero .nn-dek, .nn-mag-hero .entry-meta, .nn-mag-hero .meta-author { color: #fff; }
.nn-mag-hero .nn-dek { opacity: .9; }

/* Presentacion: minimalista */
.nn-minimal-col,
.nn-article--minimal .nn-single-footer { max-width: min(var(--nn-reading-width), 720px); margin-inline: auto; }
.nn-article--minimal .entry-header { margin-bottom: 2rem; }
.nn-article--minimal .entry-title { font-size: calc(var(--nn-h1) * 1.1 * var(--nn-fs-scale)); }
.nn-article--minimal .nechugo-cat { background: none; color: var(--nn-category); padding: 0; }

/* Etiquetas, compartir, autor, navegacion */
.nn-tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1.5rem; }
.nn-tags a { padding: .25rem .65rem; border: 1px solid var(--nn-border); border-radius: 30px; font-size: var(--nn-meta-size); color: var(--nn-muted); }
.nn-tags a:hover { border-color: var(--nn-primary); color: var(--nn-primary); }
.nechugo-share { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 1.5rem auto; font-size: var(--nn-meta-size); font-family: var(--nn-font-ui); }
.nechugo-share a { padding: .4rem .85rem; border-radius: 6px; background: var(--nn-primary); color: #fff; font-weight: 600; }
.nechugo-share a:hover { color: #fff; filter: brightness(1.1); }
.nechugo-share .share-facebook { background: #1877f2; }
.nechugo-share .share-twitter { background: #111; }
.nechugo-share .share-whatsapp { background: #25d366; }
.nn-author-box { display: flex; gap: 1rem; align-items: flex-start; margin-top: 1.75rem; padding: 1.25rem; background: rgba(0, 0, 0, .03); border-radius: 8px; }
.nn-author-box img { border-radius: 50%; flex-shrink: 0; }
.nn-author-box__name { font-weight: 700; margin: 0 0 .25rem; }
.nn-author-box__bio { margin: 0; color: var(--nn-muted); font-size: .94em; }
.post-navigation { margin-top: 1.75rem; }
.post-navigation .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.post-navigation .nav-next { text-align: right; }
.post-navigation a { display: block; color: var(--nn-text); font-weight: 600; }
.nn-nav-label { display: block; font-size: var(--nn-meta-size); color: var(--nn-muted); font-weight: 400; text-transform: uppercase; letter-spacing: .05em; }

/* Comentarios */
.nechugo-comments .comment-list, .nechugo-comments .children { list-style: none; padding: 0; margin: 0; }
.nechugo-comments .children { padding-left: 1.5rem; }
.comment-body { padding: 1rem 0; border-bottom: 1px solid var(--nn-border); }
.comment-author .avatar { border-radius: 50%; float: left; margin-right: .75rem; }
.comment-meta { font-size: var(--nn-meta-size); color: var(--nn-muted); }
.comment-form p { margin-bottom: 1rem; }
.comment-form label { display: block; font-weight: 600; margin-bottom: .3rem; font-size: .92em; }

/* ================= Barra lateral ================= */
.nechugo-sidebar { min-width: 0; }
.nn-sidebar-sticky .nechugo-sidebar__inner { position: sticky; top: calc(var(--nn-sticky-offset, 0px) + 1.25rem); }
.nechugo-sidebar .widget { margin-bottom: 1.5rem; }
.nechugo-sidebar--card .widget {
	padding: 1.15rem;
	background: var(--nn-card-bg);
	border-radius: var(--nn-card-radius);
	box-shadow: var(--nn-shadow);
}
.nn-cards-border .nechugo-sidebar--card .widget { border: 1px solid var(--nn-card-border); }
.nechugo-sidebar--plain .widget { padding: 0; }
.nechugo-sidebar--line .widget { padding-top: 1rem; border-top: 3px solid var(--nn-primary); }
.widget-title, .widget .wp-block-heading {
	margin: 0 0 .85rem;
	padding-bottom: .45rem;
	border-bottom: 2px solid var(--nn-primary);
	font-family: var(--nn-font-ui);
	font-size: 15px;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.nechugo-sidebar--line .widget-title { border-bottom: 0; padding-bottom: 0; }
.widget ul { list-style: none; margin: 0; padding: 0; }
.widget li { padding: .4rem 0; border-bottom: 1px solid var(--nn-border); }
.widget li:last-child { border-bottom: 0; }
.nechugo-sidebar .nechugo-ad { margin-top: 0; }

/* ================= Home por secciones ================= */
.nn-home-section { margin-bottom: 2.5rem; }
.nn-section-title {
	position: relative;
	margin: 0 0 1.15rem;
	padding-bottom: .5rem;
	font-size: calc(var(--nn-h3) * var(--nn-fs-scale));
	border-bottom: 1px solid var(--nn-border);
}
.nn-section-title::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 60px; height: 3px; background: var(--nn-primary); }
.nn-cat-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: .75rem; }
.nn-cat-tile {
	display: flex; flex-direction: column; gap: .2rem;
	padding: 1rem 1.1rem;
	background: var(--nn-card-bg);
	border: 1px solid var(--nn-card-border);
	border-left: 4px solid var(--nn-category);
	border-radius: var(--nn-card-radius);
	color: var(--nn-text);
}
.nn-cat-tile:hover { border-color: var(--nn-primary); color: var(--nn-primary); }
.nn-cat-tile__name { font-weight: 700; }
.nn-cat-tile__count { font-size: var(--nn-meta-size); color: var(--nn-muted); }
.nn-video { position: relative; aspect-ratio: 16 / 9; border-radius: var(--nn-card-radius); overflow: hidden; background: #000; }
.nn-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.nn-about { display: flex; gap: 1.5rem; align-items: center; padding: 1.5rem; background: var(--nn-card-bg); border-radius: var(--nn-card-radius); }
.nn-about__img { width: 160px; height: 160px; object-fit: cover; border-radius: 50%; flex-shrink: 0; }
.nn-about__text > :last-child { margin-bottom: 0; }
.nn-newsletter { padding: 1.75rem; background: var(--nn-primary); color: #fff; border-radius: var(--nn-card-radius); text-align: center; }
.nn-newsletter p { margin-bottom: 1rem; }
.nn-newsletter__form { display: flex; gap: .5rem; max-width: 480px; margin: 0 auto; }
.nn-newsletter__form input { flex: 1; border: 0; }
.nn-newsletter .nechugo-btn { background: #111; border-color: #111; color: #fff; }

/* ================= Slider ================= */
.nechugo-hero-slider {
	position: relative;
	overflow: hidden;
	height: var(--nn-slider-h);
	margin: 0 0 2rem;
	background: #111;
	color: #fff;
}
.nn-slider--contained { border-radius: var(--nn-card-radius); }
.nn-slider--full { width: 100%; }
.nechugo-hero-track { position: relative; height: 100%; }
.nechugo-hero-slide { position: relative; height: 100%; overflow: hidden; }
.hero-slide__media, .hero-slide__img { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-slide__img { object-fit: cover; }

/* Efecto desplazamiento */
.nn-slider--effect-slide .nechugo-hero-track { display: flex; transition: transform .6s cubic-bezier(.4, 0, .2, 1); }
.nn-slider--effect-slide .nechugo-hero-slide { flex: 0 0 100%; }
/* Efectos fundido y zoom */
.nn-slider--effect-fade .nechugo-hero-slide,
.nn-slider--effect-zoom .nechugo-hero-slide {
	position: absolute; inset: 0; opacity: 0; visibility: hidden;
	transition: opacity .7s ease, visibility .7s;
}
.nn-slider--effect-fade .nechugo-hero-slide.is-active,
.nn-slider--effect-zoom .nechugo-hero-slide.is-active { opacity: 1; visibility: visible; }
.nn-slider--effect-zoom .hero-slide__img { transform: scale(1.12); transition: transform 1.2s ease; }
.nn-slider--effect-zoom .is-active .hero-slide__img { transform: scale(1); }
.nn-slider--kenburns .is-active .hero-slide__img { animation: nn-kenburns 12s ease-out both; }
@keyframes nn-kenburns { from { transform: scale(1); } to { transform: scale(1.1); } }
@media (prefers-reduced-motion: reduce) {
	.nechugo-hero-track, .nechugo-hero-slide, .hero-slide__img { transition: none !important; animation: none !important; }
}

.hero-slide__caption {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: flex-end;
	background:
		linear-gradient(to top, rgba(0, 0, 0, .6), transparent 60%),
		rgba(0, 0, 0, var(--nn-slider-overlay));
}
.hero-slide__inner { width: 100%; padding: 2rem 2.25rem 2.75rem; display: flex; flex-direction: column; gap: .6rem; align-items: flex-start; }
.nn-slider--full .hero-slide__inner { padding-inline: 1.25rem; }
.nn-slider--align-center .hero-slide__inner { align-items: center; text-align: center; }
.nn-slider--align-right .hero-slide__inner { align-items: flex-end; text-align: right; }
.hero-slide__title { margin: 0; max-width: 900px; font-size: calc(var(--nn-slider-title) * var(--nn-fs-scale)); line-height: 1.15; color: #fff; }
.hero-slide__title a { color: #fff; }
.hero-slide__title a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.hero-slide__excerpt { margin: 0; max-width: 720px; font-size: var(--nn-slider-sub); opacity: .92; line-height: 1.35; }
.hero-slide__cat .nechugo-cat { background: var(--nn-accent); color: #111; }
.nechugo-hero-prev, .nechugo-hero-next {
	position: absolute; top: 50%; z-index: 3; transform: translateY(-50%);
	width: 44px; height: 44px; border: 0; border-radius: 50%;
	background: rgba(0, 0, 0, .45); color: #fff; font-size: 26px; line-height: 1; cursor: pointer;
	transition: background-color .15s;
}
.nechugo-hero-prev:hover, .nechugo-hero-next:hover { background: var(--nn-primary); }
.nechugo-hero-prev { left: .85rem; }
.nechugo-hero-next { right: .85rem; }
.nechugo-hero-dots { position: absolute; left: 0; right: 0; bottom: .9rem; z-index: 3; display: flex; justify-content: center; gap: .45rem; }
.nechugo-hero-dot { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .5); cursor: pointer; transition: width .2s, background-color .2s; }
.nechugo-hero-dot.is-active { width: 26px; border-radius: 5px; background: #fff; }

/* ================= Anuncios ================= */
.nechugo-ad {
	width: 100%;
	max-width: var(--nn-ad-max);
	margin: var(--nn-ad-gap) auto;
	text-align: center;
	overflow: hidden;
	clear: both;
}
.nechugo-ad--fit .nechugo-ad__inner,
.nechugo-ad--fit ins.adsbygoogle,
.nechugo-ad--fit iframe { max-width: 100% !important; }
.nechugo-ad--fit ins.adsbygoogle { display: block; width: 100%; }
.nechugo-ad__label {
	display: block;
	margin-bottom: .3rem;
	font-family: var(--nn-font-ui);
	font-size: 10px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--nn-muted);
}
.nn-adblock-inline { padding: 1rem; border: 1px dashed var(--nn-border); border-radius: 6px; color: var(--nn-muted); font-size: .92em; }
.nn-adblock { position: fixed; z-index: 99999; font-family: var(--nn-font-ui); }
.nn-adblock--notice { left: 1rem; right: 1rem; bottom: 1rem; display: flex; justify-content: center; }
.nn-adblock--notice .nn-adblock__box { display: flex; align-items: center; gap: 1rem; max-width: 760px; padding: .85rem 1.1rem; background: #111; color: #fff; border-radius: 10px; box-shadow: 0 10px 30px rgba(0, 0, 0, .25); }
.nn-adblock--modal { inset: 0; display: flex; align-items: center; justify-content: center; padding: 1rem; background: rgba(0, 0, 0, .55); }
.nn-adblock--modal .nn-adblock__box { max-width: 440px; padding: 1.75rem; background: #fff; color: var(--nn-text); border-radius: 12px; text-align: center; }
.nn-adblock__title { font-weight: 700; font-size: 1.15em; margin: 0 0 .5rem; }
.nn-adblock__msg { margin: 0; }
.nn-adblock--modal .nn-adblock__msg { margin-bottom: 1rem; }
.nn-adblock__close { flex-shrink: 0; }

/* ================= Pie por filas ================= */
.site-footer { width: 100%; margin-top: 2rem; background: var(--nn-footer-bg); color: var(--nn-footer-text); }
.site-footer a { color: inherit; }
.site-footer a:hover { color: var(--nn-accent); }
.nn-fbrand { padding: 2.25rem 0 0; text-align: center; }
.nn-fbrand__name { font-family: var(--nn-font-heading); font-size: calc(var(--nn-h2) * var(--nn-fs-scale)); font-weight: 700; }
.nn-fbrand__desc { margin: .5rem 0 0; opacity: .75; }
.nn-fbrand .custom-logo { margin: 0 auto; }

.nn-frow { width: 100%; }
.nn-frow:has(.nechugo-container--narrow) { max-width: var(--nn-container); margin-inline: auto; }
.nn-frow--top {
	background: var(--nn-ftop-bg); color: var(--nn-ftop-text);
	font-family: var(--nn-ftop-font, inherit); font-size: var(--nn-ftop-size);
	min-height: var(--nn-ftop-h); padding: 2.75rem 0 1.75rem;
}
.nn-frow--middle {
	background: var(--nn-fmiddle-bg); color: var(--nn-fmiddle-text);
	font-family: var(--nn-fmiddle-font, inherit); font-size: var(--nn-fmiddle-size);
	min-height: var(--nn-fmiddle-h); padding: 1.75rem 0;
	border-top: 1px solid rgba(255, 255, 255, .08);
}
.nn-frow--bottom {
	background: var(--nn-fbottom-bg); color: var(--nn-fbottom-text);
	font-family: var(--nn-fbottom-font, inherit); font-size: var(--nn-fbottom-size);
	min-height: var(--nn-fbottom-h); padding: 1.1rem 0;
	border-top: 1px solid rgba(255, 255, 255, .1);
}
.nn-frow__grid { display: grid; gap: 2rem; align-items: start; }
.nn-frow__grid--1 { grid-template-columns: minmax(0, 1fr); }
.nn-frow__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nn-frow__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nn-frow__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nn-frow--middle .nn-frow__grid,
.nn-frow--bottom .nn-frow__grid { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem 2rem; }
.nn-frow .widget { margin-bottom: 1.25rem; }
.nn-frow .widget:last-child { margin-bottom: 0; }
.nn-frow .widget-title, .nn-frow .wp-block-heading { color: inherit; border-color: var(--nn-accent); font-size: 14px; }
.nn-frow .widget li { border-color: rgba(255, 255, 255, .1); }
.nn-frow .nechugo-menu { display: flex; flex-wrap: wrap; gap: .25rem 1rem; list-style: none; margin: 0; padding: 0; }
.nn-frow .nechugo-nav a { padding: .2rem 0; font-weight: 500; }
.site-title-footer { font-family: var(--nn-font-heading); font-size: 1.4em; font-weight: 700; }
.nn-footer-align-center .nn-frow { text-align: center; }
.nn-footer-align-center .nn-frow--middle .nn-frow__grid,
.nn-footer-align-center .nn-frow--bottom .nn-frow__grid,
.nn-footer-align-center .nn-frow .nechugo-menu,
.nn-footer-align-center .nn-frow .nechugo-social { justify-content: center; }
.nn-footer-align-center .nn-frow .widget-title { display: inline-block; }

/* Volver arriba */
.nechugo-back-top {
	position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 90;
	width: 44px; height: 44px; border: 0; border-radius: 50%;
	background: var(--nn-btn-bg); color: var(--nn-btn-text);
	font-size: 18px; cursor: pointer; box-shadow: var(--nn-shadow);
	opacity: 0; pointer-events: none; transition: opacity .25s;
}
.nechugo-back-top.is-visible { opacity: 1; pointer-events: auto; }

/* 404 */
.nechugo-404 { text-align: center; }
.nechugo-404 h1 { font-size: 96px; margin: 1rem 0 0; color: var(--nn-primary); }
.nechugo-404 .nechugo-search-form-el { max-width: 480px; margin: 1.5rem auto; }

/* Elementor: sin restricciones del tema */
.nechugo-elementor-canvas { width: 100%; max-width: none; padding: 0; }
.elementor-page .nechugo-content-area { padding: 0; }

/* ================= Responsive ================= */
@media (max-width: 1024px) {
	.nechugo-layout--sidebar-right,
	.nechugo-layout--sidebar-left { grid-template-columns: minmax(0, 1fr); }
	.nechugo-layout--sidebar-left .nechugo-sidebar { order: 0; }
	.nechugo-posts.nechugo-posts { --c: var(--nn-cols-tablet); }
	.nn-frow__grid--3, .nn-frow__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	.nn-zone--toggle { display: flex; }
	.nn-hrow__inner { flex-wrap: wrap; }
	.nn-zone--menu { display: none; }
	.nechugo-nav-open .nn-zone--menu { display: block; flex: 1 0 100%; order: 10; padding-bottom: .75rem; }
	.nechugo-nav-open .nn-zone--menu .nechugo-menu { flex-direction: column; }
	.nechugo-nav ul ul { position: static; display: none; box-shadow: none; background: transparent; padding-left: 1rem; }
	.nechugo-nav li.is-open > ul { display: block; }
	.nn-zone--spacer { display: none; }
	.nn-hrow--top .nn-hrow__inner { min-height: 32px; justify-content: center; }
}

@media (max-width: 782px) {
	.admin-bar.nn-sticky-header.nn-sticky-mobile .site-header { top: calc(var(--nn-sticky-top) + 46px); }
}

@media (max-width: 640px) {
	:root { --nn-fs-scale: var(--nn-mobile-scale); --nn-gap: 1rem; }
	.nn-hide-mobile { display: none !important; }
	.nechugo-content-area { padding: 1rem .9rem 2rem; }
	.nechugo-container { padding: 0 .9rem; }
	.nechugo-posts.nechugo-posts { --c: var(--nn-cols-mobile); }
	.nechugo-posts--list .nechugo-card { flex-direction: column; }
	.nechugo-posts--list .nechugo-card__thumb { flex: none; aspect-ratio: var(--nn-thumb-ratio); }
	.nn-article-card .nn-article,
	.nn-article-card .nn-related,
	.nn-article-card .nechugo-comments { padding: calc(var(--nn-single-pad) * .6); }
	.nn-mag-hero { margin: calc(-.6 * var(--nn-single-pad)) calc(-.6 * var(--nn-single-pad)) 1.25rem; min-height: 280px; }
	.nn-mag-hero__overlay { padding: 3rem calc(var(--nn-single-pad) * .6) calc(var(--nn-single-pad) * .6); }
	.nechugo-hero-slider { height: var(--nn-slider-h-mobile); }
	.hero-slide__inner { padding: 1.25rem 1.25rem 2.25rem; }
	.hero-slide__excerpt { display: none; }
	.nechugo-hero-prev, .nechugo-hero-next { display: none; }
	.nn-frow__grid--2, .nn-frow__grid--3, .nn-frow__grid--4 { grid-template-columns: minmax(0, 1fr); }
	.nn-frow--middle .nn-frow__grid, .nn-frow--bottom .nn-frow__grid { flex-direction: column; text-align: center; }
	.nn-about { flex-direction: column; text-align: center; }
	.nn-newsletter__form { flex-direction: column; }
	.post-navigation .nav-links { grid-template-columns: 1fr; }
	.post-navigation .nav-next { text-align: left; }
	.entry-content .alignleft, .entry-content .alignright { float: none; margin: 0 auto 1rem; display: block; }
	.entry-content .gallery { grid-template-columns: repeat(2, 1fr); }
	.nn-adblock--notice .nn-adblock__box { flex-direction: column; text-align: center; }
}

/* Nube de etiquetas (sidebar y pie) */
.tagcloud, .wp-block-tag-cloud { display: flex; flex-wrap: wrap; gap: .4rem; }
.tagcloud a, .wp-block-tag-cloud a {
	font-size: .8125rem !important;
	line-height: 1.2;
	padding: .3rem .7rem;
	border: 1px solid rgba(127, 127, 127, .35);
	border-radius: 999px;
	text-decoration: none;
}
.tagcloud a:hover, .wp-block-tag-cloud a:hover { border-color: var(--nn-primary); color: var(--nn-primary); }
