/* DigiPrensa combined stylesheet — generated, do not edit. */

/* --- tokens.css --- */
/**
 * Digiprensa — Design Tokens
 *
 * Single source of truth for CSS custom properties. Loaded FIRST so every
 * other stylesheet can consume these variables. Custom properties resolve at
 * paint time, so load order relative to consumers is not cascade-sensitive.
 *
 * @package understrap
 */

/* ======================================================================== */
/* Tokens de diseño                                                          */
/* ======================================================================== */
:root {
	/* Paleta — 10 colores aprobados */
	--dp-ink:       #14243b; /* azul marino identidad */
	--dp-ink-deep:  #0e1a33; /* marino profundo (gradientes, headers) */
	--dp-paper:     #fbfaf6; /* fondo de página off-white */
	--dp-surface:   #ffffff; /* superficie de tarjeta */
	--dp-border:    #dcdbd7; /* hairline / bordes claros */
	--dp-ink-gray:  #5a6b7b; /* texto atenuado */
	--dp-accent:    #e4372b; /* rojo acción / CTA (fondos/fills; NO para texto pequeño) */
	--dp-accent-ink:     #c62828; /* rojo texto accesible sobre fondo claro — AA 5.2:1 sobre --dp-paper */
	--dp-accent-on-dark: #ff8a7a; /* coral texto accesible sobre fondo navy — AA 6.7:1 sobre --dp-ink */
	--dp-global:    #2e6e8e; /* teal / enlaces globales (sobre claro) */
	--dp-global-on-dark: #5aa8cc; /* teal enlace accesible sobre navy — AA 5.9:1 sobre --dp-ink */
	--dp-gold:      #b9820a; /* dorado / badges TOP */
	--dp-ok:        #12a150; /* verde éxito / fresco */

	/* Tipografía */
	--dp-font-display: 'Bricolage Grotesque', system-ui, sans-serif;
	--dp-font-body:    'Inter', system-ui, sans-serif;
	--dp-font-mono:    'Space Mono', 'Courier New', monospace;

	/* Espaciado / radio */
	--dp-gap:    1.5rem;
	--dp-radius: .5rem;
	--dp-max:    1200px;

	/* Sombras */
	--dp-shadow:       0 1px 3px rgba(20, 36, 59, .07);
	--dp-shadow-hover: 0 4px 16px rgba(20, 36, 59, .14);

	/* Legacy — anchura y padding de contenido (nombres preservados) */
	--digiprensa-max-width: 1200px;
	--digiprensa-content-padding: 20px;
}


/* --- base.css --- */
/**
 * Digiprensa — Base
 *
 * Global resets (from legacy estilos.css) followed by the Bootstrap 4
 * compatibility shim (grid / utilities / buttons / carousel stubs, from
 * digiprensa-base.css). Order preserves the original cascade: estilos resets
 * loaded before the base shim.
 *
 * @package understrap
 */

/* ======================================================================== */
/* Global resets (legacy estilos.css lines 7-21)                             */
/* ======================================================================== */

/* Reset global */
html {
    margin: 0;
    padding: 0;
    background: var(--dp-paper);
    overflow-x: hidden;
    width: 100%;
}

/* Wrapper principal */
.wrapper {
    padding: 0;
    margin: 0;
    background: transparent;
}

/* Wrapper con ancho máximo - Aplicar a todos los contenedores principales */
.digiprensa-wrapper {
    max-width: var(--digiprensa-max-width);
    margin: 0 auto;
    padding: 0 var(--digiprensa-content-padding);
}

/* ======================================================================== */
/* Bootstrap 4 compatibility shim (from digiprensa-base.css)                 */
/* ======================================================================== */

/* =========================================================================
   1. Universal box-sizing
   ========================================================================= */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* =========================================================================
   2. Body typography
   estilos.css falls back to Arial 14 px; override here with the editorial
   stack so the base font is Inter before any component CSS kicks in.
   ========================================================================= */
body {
    font-family: var(--dp-font-body, 'Inter', system-ui, sans-serif);
    font-size: 1rem;
    line-height: 1.6;
    color: var(--dp-ink, #14243B);
}

/* =========================================================================
   3. Bootstrap 4 grid — container / row / col
   Only the column variants that appear in this theme's templates.
   ========================================================================= */

/* 3a — Containers */
.container {
    width: 100%;
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 15px;
    padding-left: 15px;
}

.container-fluid {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

/* 3b — Row */
.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

/* 3c — Column base: all listed col-* are full-width on mobile */
.col-4,
.col-12,
.col-sm-5,
.col-sm-7,
.col-md,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-8,
.col-md-12 {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

/* No-breakpoint columns — always apply regardless of screen size */
.col-4  { flex: 0 0 33.3333%; max-width: 33.3333%; }
.col-12 { flex: 0 0 100%;     max-width: 100%; }

/* sm breakpoint — ≥ 576 px */
@media (min-width: 576px) {
    .col-sm-5 { flex: 0 0 41.6667%; max-width: 41.6667%; }
    .col-sm-7 { flex: 0 0 58.3333%; max-width: 58.3333%; }
}

/* md breakpoint — ≥ 768 px */
@media (min-width: 768px) {
    .col-md    { flex: 1 1 0;         max-width: 100%; }
    .col-md-2  { flex: 0 0 16.6667%; max-width: 16.6667%; }
    .col-md-3  { flex: 0 0 25%;      max-width: 25%; }
    .col-md-4  { flex: 0 0 33.3333%; max-width: 33.3333%; }
    .col-md-8  { flex: 0 0 66.6667%; max-width: 66.6667%; }
    .col-md-12 { flex: 0 0 100%;     max-width: 100%; }
}

/* =========================================================================
   4. Image utilities
   ========================================================================= */
.img-fluid {
    max-width: 100%;
    height: auto;
    display: block;
}

/* =========================================================================
   5. Text utilities
   ========================================================================= */
.text-center { text-align: center !important; }
.text-right  { text-align: right !important; }
.text-left   { text-align: left !important; }
.text-muted  { color: var(--dp-ink-gray) !important; }

/* =========================================================================
   6. Display utilities (used by Bootstrap JS fallback classes)
   ========================================================================= */
.d-none    { display: none !important; }
.d-block   { display: block !important; }
.d-flex    { display: flex !important; }
.d-inline  { display: inline !important; }
.d-inline-block { display: inline-block !important; }

/* =========================================================================
   7. Accessibility — screen reader only
   Used in sidebar-hero.php carousel prev/next controls.
   ========================================================================= */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* =========================================================================
   8. Buttons
   Primary usage: WooCommerce checkout / cart templates.
   Colors use design tokens with hardcoded fallbacks.
   ========================================================================= */
.btn {
    display: inline-block;
    font-family: var(--dp-font-body, 'Inter', system-ui, sans-serif);
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    user-select: none;
    border: 1px solid transparent;
    padding: .375rem .75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: .25rem;
    cursor: pointer;
    text-decoration: none;
    transition: color .15s ease-in-out,
                background-color .15s ease-in-out,
                border-color .15s ease-in-out,
                box-shadow .15s ease-in-out;
}

.btn:focus,
.btn:hover {
    text-decoration: none;
    outline: 2px solid transparent;
    outline-offset: 2px;
}

.btn:focus-visible {
    outline: 2px solid var(--dp-accent, #E4372B);
    outline-offset: 2px;
}

/* Primary */
.btn-primary {
    color: var(--dp-surface, #fff);
    background-color: var(--dp-global, #2E6E8E);
    border-color: var(--dp-global, #2E6E8E);
}
.btn-primary:hover,
.btn-primary:focus {
    color: var(--dp-surface, #fff);
    background-color: #235570;
    border-color: #1e4a61;
}

/* Outline primary */
.btn-outline-primary {
    color: var(--dp-global, #2E6E8E);
    background-color: transparent;
    border-color: var(--dp-global, #2E6E8E);
}
.btn-outline-primary:hover,
.btn-outline-primary:focus {
    color: var(--dp-surface, #fff);
    background-color: var(--dp-global, #2E6E8E);
    border-color: var(--dp-global, #2E6E8E);
}

/* Size modifiers */
.btn-lg {
    padding: .5rem 1rem;
    font-size: 1.25rem;
    line-height: 1.5;
    border-radius: .3rem;
}

.btn-sm {
    padding: .25rem .5rem;
    font-size: .875rem;
    line-height: 1.5;
    border-radius: .2rem;
}

/* Block modifier */
.btn-block {
    display: block;
    width: 100%;
}

/* =========================================================================
   9. Carousel stubs
   sidebar-hero.php uses Bootstrap 4 carousel markup. No Bootstrap JS
   is loaded; items are toggled via jQuery in the template itself
   (.carousel-item:first-child gets .active via inline script).
   These styles provide the visual shell without any JS dependency.
   ========================================================================= */
.carousel {
    position: relative;
    overflow: hidden;
}

.carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.carousel-item {
    display: none;
    position: relative;
    width: 100%;
}

.carousel-item.active {
    display: block;
}

/* Navigation controls */
.carousel-control-prev,
.carousel-control-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: rgba(0, 0, 0, .4);
    border: 0;
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    text-decoration: none;
    z-index: 1;
    transition: background-color .2s ease;
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
    background: rgba(0, 0, 0, .65);
}

.carousel-control-prev { left: .75rem; }
.carousel-control-next { right: .75rem; }

/* SVG arrow icons embedded as data URIs */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: contain;
}

.carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3E%3C/svg%3E");
}

.carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3E%3C/svg%3E");
}


/* --- buttons.css --- */
/**
 * Digiprensa — Button component (design system)
 *
 * One reusable button primitive (.dp-btn) plus modifiers. Consumes ONLY the
 * --dp-* design tokens; never hardcodes colors. Every variant shares the same
 * box model (padding, height, line-height, font, radius) so buttons that sit
 * side by side are ALWAYS equal in size regardless of tag (<a> vs <button>).
 *
 * Base:      .dp-btn
 * Modifiers: .dp-btn--primary   (accent red, white text)
 *            .dp-btn--secondary (ink navy, white text)
 *            .dp-btn--ghost     (transparent, hairline border)
 *            .dp-btn--icon      (square, icon-only)
 *
 * @package understrap
 */

/* ======================================================================== */
/* Base — shared box model for every button                                  */
/* ======================================================================== */
.dp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	box-sizing: border-box;
	height: 2.75rem;
	padding: 0 1.25rem;
	font-family: var(--dp-font-body);
	font-size: .92rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .01em;
	border: 1px solid transparent;
	border-radius: var(--dp-radius);
	background: transparent;
	color: inherit;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
	transition: filter .15s ease, background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}

.dp-btn:hover {
	text-decoration: none;
}

.dp-btn:focus-visible {
	outline: 2px solid var(--dp-paper);
	outline-offset: 3px;
}

/* Igualar el span (1em por defecto, regla global) al svg para centrado exacto. */
.dp-btn .digiprensa-icon {
	width: 16px;
	height: 16px;
	display: block;
}

.dp-btn .digiprensa-icon svg {
	width: 16px;
	height: 16px;
	display: block;
}

/* ======================================================================== */
/* Modifier — primary (accent red)                                           */
/* ======================================================================== */
.dp-btn--primary {
	background: var(--dp-accent);
	color: var(--dp-paper);
}

.dp-btn--primary:hover {
	filter: brightness(.92);
	color: var(--dp-paper);
}

/* ======================================================================== */
/* Modifier — secondary (ink navy)                                           */
/* ======================================================================== */
.dp-btn--secondary {
	background: var(--dp-ink);
	color: var(--dp-paper);
}

.dp-btn--secondary:hover {
	filter: brightness(1.15);
	color: var(--dp-paper);
}

/* ======================================================================== */
/* Modifier — ghost (transparent, hairline border)                          */
/* ======================================================================== */
.dp-btn--ghost {
	background: transparent;
	border-color: var(--dp-border);
	color: var(--dp-ink);
}

.dp-btn--ghost:hover {
	border-color: var(--dp-ink-gray);
	color: var(--dp-ink);
}

/* ======================================================================== */
/* Modifier — icon-only (square)                                             */
/* ======================================================================== */
.dp-btn--icon {
	width: 2.75rem;
	padding: 0;
	gap: 0;
}

/* ======================================================================== */
/* Motion                                                                    */
/* ======================================================================== */
@media (prefers-reduced-motion: no-preference) {
	.dp-btn--primary:hover {
		transform: translateY(-1px);
	}
}


/* --- hero.css --- */
/**
 * Digiprensa — Hero + Ticker + Section titles
 *
 * Home hero band, scrolling ticker, and shared section title style.
 * Consumes design tokens from tokens.css.
 *
 * @package understrap
 */

/* ======================================================================== */
/* HERO                                                                      */
/* ======================================================================== */
.dp-hero {
	background: var(--dp-ink);
	color: var(--dp-paper);
	padding: 3.5rem 1.5rem 3rem;
}

.dp-hero__inner {
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
}

/* Eyebrow — Space Mono, mayúsculas, tracking amplio */
.dp-hero__eyebrow {
	font-family: var(--dp-font-mono);
	font-size: .7rem;
	font-weight: 400;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--dp-accent-on-dark);
	margin: 0 0 1rem;
}

/* H1 real — Bricolage Grotesque, grande */
.dp-hero__title {
	font-family: var(--dp-font-display);
	font-size: clamp(1.9rem, 5vw, 3.25rem);
	font-weight: 800;
	line-height: 1.1;
	margin: 0 0 1.25rem;
	color: var(--dp-paper);
}

/* Name on one line, phrase on the next, at EVERY width.
   Two deliberate lines instead of one long line that wraps wherever it lands:
   at clamp() sizes the break point moves with the viewport, so the same
   headline would split after "DigiPrensa" on one screen and in the middle of
   "periódicos" on another. Fixing the break makes the result the same
   everywhere and keeps the hero's height predictable.
   Both parts keep the same size and weight on purpose: a cataloguer reads the
   most prominent title on the page, and a smaller brand would leave us exactly
   where we started. */
.dp-hero__brand,
.dp-hero__claim {
	display: block;
}

/* The claim sits tight under the name so the two read as one title rather than
   as a heading followed by a subtitle. */
.dp-hero__claim {
	margin-top: 0.1em;
}

/* Párrafo descriptivo — indexable SEO */
.dp-hero__description {
	font-family: var(--dp-font-body);
	font-size: clamp(.9rem, 2.5vw, 1.05rem);
	line-height: 1.75;
	color: rgba(251, 250, 246, .72);
	margin: 0 auto 2rem;
}

/* Buscador dentro del hero */
.dp-hero__search {
	max-width: 560px;
	margin: 0 auto 1.5rem;
}

/* Píldora sólida clara sobre el fondo oscuro del hero: es la acción principal
   del directorio, así que se lee con máximo contraste, no semitransparente. */
.dp-hero__search .digiprensa-search-input-group,
.dp-hero__search .search-form .input-group {
	background: var(--dp-surface);
	border-radius: 999px;
	display: flex;
	align-items: stretch;
	overflow: hidden;
	box-shadow: 0 10px 28px rgba(0, 0, 0, .3);
}

.dp-hero__search .digiprensa-search-input-group:focus-within,
.dp-hero__search .search-form .input-group:focus-within {
	box-shadow: 0 0 0 3px var(--dp-accent), 0 10px 28px rgba(0, 0, 0, .3);
}

.dp-hero__search .digiprensa-search-input,
.dp-hero__search .search-field {
	flex: 1 1 auto;
	min-width: 0;
	padding: .95rem 1.5rem;
	border: 0;
	background: transparent;
	color: var(--dp-ink);
	font-family: var(--dp-font-body);
	font-size: 1rem;
}

.dp-hero__search .digiprensa-search-input::placeholder,
.dp-hero__search .search-field::placeholder {
	color: var(--dp-ink-gray);
}

.dp-hero__search .digiprensa-search-input:focus,
.dp-hero__search .search-field:focus {
	outline: none;
	box-shadow: none;
}

.dp-hero__search .digiprensa-search-button,
.dp-hero__search .search-submit {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 1.4rem;
	border: 0;
	background: var(--dp-accent);
	color: var(--dp-paper);
	font-family: var(--dp-font-body);
	font-size: .9rem;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: background-color .15s ease;
}

.dp-hero__search .digiprensa-search-button:hover,
.dp-hero__search .digiprensa-search-button:focus,
.dp-hero__search .search-submit:hover,
.dp-hero__search .search-submit:focus {
	background: #c4291f;
	outline: 2px solid var(--dp-paper);
	outline-offset: 2px;
}

.dp-hero__search .digiprensa-search-button .digiprensa-icon,
.dp-hero__search .search-submit .digiprensa-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.dp-hero__search .digiprensa-search-button svg,
.dp-hero__search .search-submit svg {
	display: block;
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
}

/* Línea de datos — Space Mono */
.dp-hero__stats {
	font-family: var(--dp-font-mono);
	font-size: .75rem;
	color: rgba(251, 250, 246, .5);
	letter-spacing: .05em;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: .35rem .75rem;
}

.dp-hero__stats-sep {
	opacity: .35;
}

/* ======================================================================== */
/* TICKER                                                                    */
/* ======================================================================== */
.dp-ticker {
	background: var(--dp-ink);
	border-top: 1px solid rgba(251, 250, 246, .1);
	overflow: hidden;
	white-space: nowrap;
	user-select: none;
}

.dp-ticker__track {
	display: inline-flex;
	animation: dp-ticker-scroll 35s linear infinite;
	/* Velocidad proporcional al contenido; ajustá la duración si hay más o menos items */
}

.dp-ticker__item {
	font-family: var(--dp-font-mono);
	font-size: .65rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba(251, 250, 246, .55);
	padding: .55rem 2rem;
	border-right: 1px solid rgba(251, 250, 246, .12);
	white-space: nowrap;
	flex-shrink: 0;
}

@keyframes dp-ticker-scroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

/* Respeto estricto a prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
	.dp-ticker__track {
		animation: none;
		display: flex;
		flex-wrap: wrap;
		white-space: normal;
	}

	.dp-ticker {
		white-space: normal;
		padding: .35rem 0;
	}

	.dp-ticker__item {
		flex-shrink: 1;
		white-space: normal;
		padding: .4rem 1rem;
	}
}

/* ======================================================================== */
/* Títulos de sección                                                        */
/* ======================================================================== */
.home-section-title {
	font-family: var(--dp-font-display);
	margin: 0 0 1.25rem;
	padding-bottom: .5rem;
	border-bottom: 2px solid var(--dp-ink);
	font-size: clamp(1.15rem, 3vw, 1.5rem);
	font-weight: 700;
	color: var(--dp-ink);
	letter-spacing: -.01em;
}


/* --- listings.css --- */
/**
 * Digiprensa — Listings (tables, pagination, search, RSS, news)
 */
/* Legacy estilos listings rules */

/* ============================================
   TABLA DE ARCHIVOS - DISEÑO MODERNO
   ============================================ */

/* Contenedor de tabla */
.digiprensa-table-wrapper {
    margin: 30px 0;
    padding: 0;
    background: var(--dp-surface);
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

.digiprensa-table-responsive {
    border-radius: 12px;
    overflow: hidden;
    overflow-x: auto;
}

/* Tabla principal */
.digiprensa-table {
    width: 100%;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--dp-surface);
}

/* Encabezado de tabla */
.digiprensa-table thead {
    background: linear-gradient(135deg, var(--dp-paper) 0%, var(--dp-surface) 100%);
    border-bottom: 2px solid var(--dp-border);
}

.digiprensa-table thead th,
table thead th {
    padding: 18px 20px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: 1px;
    color: var(--dp-ink-gray);
    border: none;
    border-bottom: 2px solid var(--dp-border);
    text-align: left;
    position: relative;
}

.digiprensa-table thead th:first-child {
    padding-left: 24px;
}

.digiprensa-table thead th:last-child {
    padding-right: 24px;
}

/* Filas del cuerpo */
.digiprensa-table tbody tr,
table tbody tr {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-bottom: 1px solid var(--dp-border);
}

.digiprensa-table tbody tr:last-child {
    border-bottom: none;
}

.digiprensa-table tbody tr:hover,
table tbody tr:hover {
    background: linear-gradient(90deg, var(--dp-paper) 0%, var(--dp-surface) 100%);
    box-shadow: 0 2px 8px rgba(20, 36, 59, 0.1);
}

/* Celdas del cuerpo */
.digiprensa-table tbody td,
table tbody td {
    padding: 20px;
    vertical-align: middle;
    border: none;
}

.digiprensa-table tbody td:first-child {
    padding-left: 24px;
}

.digiprensa-table tbody td:last-child {
    padding-right: 24px;
}

/* Título del periódico */
.digiprensa-table tbody td h3,
table tbody td h3 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.4;
}

.digiprensa-table tbody td h3 a,
table tbody td h3 a {
    color: var(--dp-ink);
    text-decoration: none;
    transition: all 0.3s ease;
    display: inline-block;
}

.digiprensa-table tbody td h3 a:hover,
table tbody td h3 a:hover {
    color: var(--dp-global);
    transform: translateX(4px);
}

/* Logo del periódico */
.logo-archivo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.logo-archivo img {
    max-height: 50px;
    max-width: 80px;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 6px;
    padding: 4px;
    background: var(--dp-paper);
    transition: all 0.3s ease;
}

.digiprensa-table tbody tr:hover .logo-archivo img {
    transform: scale(1.05);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.logo-archivo .thumb {
    display: block;
    line-height: 0;
}

/* Bandera del país */
.flag-home {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 32px;
}

.flag-home img {
    width: 32px !important;
    height: 24px !important;
    min-width: 32px;
    min-height: 24px;
    max-width: 32px;
    max-height: 24px;
    object-fit: cover;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    display: block;
}

.flag-home a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 24px;
    transition: transform 0.3s ease;
}

.flag-home a:hover {
    transform: scale(1.1);
}

.flag-home a:hover img {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* Asegurar tamaño consistente en tablas */
.digiprensa-table .flag-home {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 0;
}

.digiprensa-table .flag-home img {
    width: 32px !important;
    height: 24px !important;
    min-width: 32px;
    min-height: 24px;
    max-width: 32px;
    max-height: 24px;
    object-fit: cover;
}

/* Badges en la tabla */
.digiprensa-table tbody td .digiprensa-badge,
.digiprensa-table tbody td .new-badge,
.digiprensa-table tbody td .view-count-badge {
    margin-left: 8px;
    vertical-align: middle;
}

/* Responsive: Tabla en tablets */
@media (max-width: 768px) {
    .digiprensa-table-wrapper {
        margin: 20px 0;
        border-radius: 8px;
    }
    
    .digiprensa-table thead th,
    table thead th {
        padding: 14px 16px;
        font-size: 0.75rem;
    }
    
    .digiprensa-table thead th:first-child {
        padding-left: 20px;
    }
    
    .digiprensa-table thead th:last-child {
        padding-right: 20px;
    }
    
    .digiprensa-table tbody td,
    table tbody td {
        padding: 16px;
    }
    
    .digiprensa-table tbody td:first-child {
        padding-left: 20px;
    }
    
    .digiprensa-table tbody td:last-child {
        padding-right: 20px;
    }
    
    .digiprensa-table tbody td h3,
    table tbody td h3 {
        font-size: 0.95rem;
    }
    
    .logo-archivo img {
        max-height: 40px;
        max-width: 70px;
    }
    
    .flag-home img {
        width: 32px !important;
        height: 24px !important;
        min-width: 32px;
        min-height: 24px;
        max-width: 32px;
        max-height: 24px;
    }
    
    .digiprensa-table .flag-home img {
        width: 32px !important;
        height: 24px !important;
    }
}

/* Responsive: Tabla en móviles */
@media (max-width: 480px) {
    .digiprensa-table-wrapper {
        margin: 15px 0;
        border-radius: 8px;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    }
    
    .digiprensa-table thead th,
    table thead th {
        padding: 12px 12px;
        font-size: 0.7rem;
        letter-spacing: 0.5px;
    }
    
    .digiprensa-table thead th:first-child {
        padding-left: 16px;
    }
    
    .digiprensa-table thead th:last-child {
        padding-right: 16px;
    }
    
    .digiprensa-table tbody td,
    table tbody td {
        padding: 14px 12px;
    }
    
    .digiprensa-table tbody td:first-child {
        padding-left: 16px;
        width: 80px;
    }
    
    .digiprensa-table tbody td:last-child {
        padding-right: 16px;
        width: 100px;
    }
    
    .digiprensa-table tbody td h3,
    table tbody td h3 {
        font-size: 0.9rem;
        line-height: 1.3;
    }
    
    .logo-archivo img {
        max-height: 35px;
        max-width: 60px;
    }
    
    .flag-home img {
        width: 32px !important;
        height: 24px !important;
        min-width: 32px;
        min-height: 24px;
        max-width: 32px;
        max-height: 24px;
    }
    
    .digiprensa-table .flag-home img {
        width: 32px !important;
        height: 24px !important;
    }
    
    .digiprensa-table tbody tr:hover {
        transform: none;
    }
}

/* Search Form Improvements */
.digiprensa-search-form {
    margin: 10px 0;
}

/* Search Form Styles - Ya definido arriba */



/* Pagination Wrapper */
.digiprensa-pagination-wrapper {
    max-width: var(--digiprensa-max-width);
    margin: 30px auto;
    padding: 0 var(--digiprensa-content-padding);
}

/* ============================================
   PAGINACIÓN MODERNA Y NAVEGABLE
   ============================================ */

/* Contenedor principal de paginación avanzada */
.digiprensa-pagination-advanced {
    margin: 40px 0;
    padding: 30px 0;
}

.digiprensa-pagination-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    max-width: 100%;
}

/* Paginación moderna (tanto avanzada como estándar) */
.digiprensa-pagination-modern {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.digiprensa-pagination-modern .page-item {
    margin: 0;
}

.digiprensa-pagination-modern .page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 12px;
    font-size: 15px;
    font-weight: 500;
    color: var(--dp-global);
    background-color: var(--dp-surface);
    border: 2px solid var(--dp-border);
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    user-select: none;
}

.digiprensa-pagination-modern .page-link:hover:not(.disabled):not(.digiprensa-page-dots) {
    color: var(--dp-surface);
    background-color: var(--dp-ink);
    border-color: var(--dp-ink);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(20, 36, 59, 0.3);
}

.digiprensa-pagination-modern .page-link:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(20, 36, 59, 0.2);
}

.digiprensa-pagination-modern .page-item.active .page-link {
    color: var(--dp-surface);
    background: linear-gradient(135deg, var(--dp-ink) 0%, var(--dp-ink-deep) 100%);
    border-color: var(--dp-ink);
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(20, 36, 59, 0.4);
}

.digiprensa-pagination-modern .page-item.disabled .page-link {
    color: var(--dp-ink-gray);
    background-color: var(--dp-paper);
    border-color: var(--dp-border);
    cursor: not-allowed;
    opacity: 0.6;
}

.digiprensa-pagination-modern .page-item.disabled .page-link:hover {
    transform: none;
    box-shadow: none;
}

/* Botones de navegación especiales */
.digiprensa-pagination-modern .digiprensa-page-first,
.digiprensa-pagination-modern .digiprensa-page-last {
    min-width: 44px;
    padding: 0 10px;
}

.digiprensa-pagination-modern .digiprensa-page-prev,
.digiprensa-pagination-modern .digiprensa-page-next {
    min-width: 44px;
    padding: 0 10px;
}

.digiprensa-pagination-modern .digiprensa-page-dots {
    color: var(--dp-ink-gray);
    background-color: transparent;
    border: none;
    cursor: default;
    font-weight: 600;
    min-width: auto;
    padding: 0 8px;
}

.digiprensa-pagination-modern .digiprensa-page-dots:hover {
    transform: none;
    box-shadow: none;
    background-color: transparent;
    color: var(--dp-ink-gray);
}

.digiprensa-pagination-modern .page-link svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

/* Input para saltar a página específica */
.digiprensa-pagination-jump {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    background: linear-gradient(135deg, var(--dp-paper) 0%, var(--dp-surface) 100%);
    border: 2px solid var(--dp-border);
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.digiprensa-jump-label {
    font-size: 14px;
    font-weight: 500;
    color: var(--dp-ink);
    white-space: nowrap;
}

.digiprensa-jump-input {
    width: 70px;
    height: 40px;
    padding: 0 12px;
    font-size: 15px;
    font-weight: 500;
    text-align: center;
    color: var(--dp-ink);
    background-color: var(--dp-surface);
    border: 2px solid var(--dp-border);
    border-radius: 8px;
    transition: all 0.3s ease;
}

.digiprensa-jump-input:focus {
    outline: none;
    border-color: var(--dp-ink);
    box-shadow: 0 0 0 3px rgba(20, 36, 59, 0.1);
}

.digiprensa-jump-input::-webkit-inner-spin-button,
.digiprensa-jump-input::-webkit-outer-spin-button {
    opacity: 1;
    height: 20px;
}

.digiprensa-jump-button {
    height: 40px;
    padding: 0 20px;
    font-size: 14px;
    font-weight: 600;
    color: var(--dp-surface);
    background: var(--dp-ink);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap;
}

.digiprensa-jump-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(20, 36, 59, 0.4);
}

.digiprensa-jump-button:active {
    transform: translateY(0);
}

.digiprensa-jump-button:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(20, 36, 59, 0.3);
}

/* Información de página */
.digiprensa-pagination-info {
    display: flex;
    align-items: center;
    justify-content: center;
}

.digiprensa-page-info {
    font-size: 14px;
    font-weight: 500;
    color: var(--dp-ink-gray);
    padding: 8px 16px;
    background-color: var(--dp-paper);
    border-radius: 8px;
}

/* Paginación estándar mejorada (30 páginas o menos) */
.digiprensa-pagination-standard {
    margin: 40px 0;
    padding: 20px 0;
}

.digiprensa-pagination-standard .digiprensa-pagination-modern {
    gap: 6px;
}

.digiprensa-pagination-standard .page-link {
    min-width: 40px;
    height: 40px;
    font-size: 14px;
}

/* Responsive: Paginación en móviles */
@media (max-width: 768px) {
    .digiprensa-pagination-container {
        gap: 15px;
    }
    
    .digiprensa-pagination-modern {
        gap: 6px;
    }
    
    .digiprensa-pagination-modern .page-link {
        min-width: 40px;
        height: 40px;
        padding: 0 10px;
        font-size: 14px;
    }
    
    .digiprensa-pagination-modern .digiprensa-page-first,
    .digiprensa-pagination-modern .digiprensa-page-last,
    .digiprensa-pagination-modern .digiprensa-page-prev,
    .digiprensa-pagination-modern .digiprensa-page-next {
        min-width: 40px;
        padding: 0 8px;
    }
    
    .digiprensa-pagination-jump {
        flex-wrap: wrap;
        justify-content: center;
        padding: 10px 15px;
    }
    
    .digiprensa-jump-label {
        font-size: 13px;
    }
    
    .digiprensa-jump-input {
        width: 60px;
        height: 36px;
        font-size: 14px;
    }
    
    .digiprensa-jump-button {
        height: 36px;
        padding: 0 16px;
        font-size: 13px;
    }
    
    .digiprensa-page-info {
        font-size: 13px;
        padding: 6px 12px;
    }
}

@media (max-width: 480px) {
    .digiprensa-pagination-modern .page-link {
        min-width: 36px;
        height: 36px;
        padding: 0 8px;
        font-size: 13px;
    }
    
    .digiprensa-pagination-modern .digiprensa-page-first,
    .digiprensa-pagination-modern .digiprensa-page-last {
        display: none; /* Ocultar primera/última en móviles muy pequeños */
    }
    
    .digiprensa-pagination-jump {
        width: 100%;
        max-width: 100%;
    }
    
    .digiprensa-jump-label {
        width: 100%;
        text-align: center;
    }
}


/* ============================================================================ */
/* Search results — full-width, token-driven, section-head language            */
/* ============================================================================ */

/**
 * Header: mono eyebrow + Bricolage title (matches .home-section-head language)
 * + inline count badge + compact refine-search form.
 */
.digiprensa-search-head {
    margin: 0 0 2rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--dp-border);
}

.digiprensa-search-head-eyebrow {
    font-family: var(--dp-font-mono);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--dp-accent);
    margin: 0 0 .5rem;
}

.digiprensa-search-head-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .75rem;
    margin: 0;
    font-family: var(--dp-font-display);
    font-size: clamp(1.5rem, 4vw, 2.25rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.01em;
    color: var(--dp-ink);
}

.digiprensa-search-head-title svg {
    flex: 0 0 auto;
    width: 1.4rem;
    height: 1.4rem;
    color: var(--dp-accent);
}

.digiprensa-search-head-query {
    min-width: 0;
    overflow-wrap: anywhere;
}

.digiprensa-search-head-count {
    flex: 0 0 auto;
    font-family: var(--dp-font-mono);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    padding: .3rem .7rem;
}

.digiprensa-search-head-summary {
    margin: .75rem 0 0;
    color: var(--dp-ink-gray);
    font-family: var(--dp-font-body);
    font-size: .95rem;
    line-height: 1.6;
}

.digiprensa-search-head-form {
    margin-top: 1.25rem;
    max-width: 480px;
}

.digiprensa-search-head-form .digiprensa-search-input-group {
    display: flex;
    align-items: stretch;
    overflow: hidden;
    background: var(--dp-surface);
    border: 1px solid var(--dp-border);
    border-radius: 999px;
}

.digiprensa-search-head-form .digiprensa-search-input {
    flex: 1 1 auto;
    min-width: 0;
    padding: .65rem 1.1rem;
    border: 0;
    background: transparent;
    color: var(--dp-ink);
    font-family: var(--dp-font-body);
    font-size: .95rem;
}

.digiprensa-search-head-form .digiprensa-search-input::placeholder {
    color: var(--dp-ink-gray);
}

.digiprensa-search-head-form .digiprensa-search-input:focus {
    outline: 2px solid var(--dp-accent);
    outline-offset: -1px;
    box-shadow: none;
}

.digiprensa-search-head-form .digiprensa-search-button {
    flex: 0 0 auto;
    padding: 0 1.2rem;
    border: 0;
    background: var(--dp-ink);
    color: var(--dp-paper);
    cursor: pointer;
    transition: background-color .15s ease;
}

.digiprensa-search-head-form .digiprensa-search-button:hover,
.digiprensa-search-head-form .digiprensa-search-button:focus {
    background: var(--dp-accent);
    outline: 2px solid var(--dp-ink);
    outline-offset: 2px;
}

.digiprensa-search-head-form .digiprensa-search-button svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

/* ============================================================================ */
/* No results — token-driven empty state                                       */
/* ============================================================================ */
.digiprensa-search-no-results {
    margin-top: 1rem;
}

.digiprensa-search-empty-message {
    max-width: 640px;
    margin: 0 auto 2.5rem;
    padding: 2rem 1.75rem;
    background: var(--dp-surface);
    border: 1px solid var(--dp-border);
    border-radius: var(--dp-radius);
    text-align: center;
}

.digiprensa-search-empty-message svg {
    width: 2rem;
    height: 2rem;
    color: var(--dp-accent);
    margin-bottom: .75rem;
}

.digiprensa-search-empty-message h3 {
    font-family: var(--dp-font-display);
    font-size: 1.35rem;
    font-weight: 700;
    margin: 0 0 .75rem;
    color: var(--dp-ink);
}

.digiprensa-search-empty-message p {
    font-family: var(--dp-font-body);
    font-size: .95rem;
    color: var(--dp-ink-gray);
    margin: 0 0 1.1rem;
    line-height: 1.6;
}

.digiprensa-search-empty-message ul {
    text-align: left;
    max-width: 480px;
    margin: 0 auto;
    padding-left: 1.25rem;
    color: var(--dp-ink-gray);
    font-size: .9rem;
}

.digiprensa-search-empty-message ul li {
    margin-bottom: .5rem;
    line-height: 1.6;
}

.digiprensa-search-empty-message ul li:last-child {
    margin-bottom: 0;
}

.digiprensa-search-empty-message a {
    color: var(--dp-global);
    text-decoration: none;
    font-weight: 600;
}

.digiprensa-search-empty-message a:hover {
    color: var(--dp-ink);
    text-decoration: underline;
}

/* ============================================================================ */
/* Results — responsive 2-column grid of country groups                        */
/* ============================================================================ */
.digiprensa-search-results-grouped {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--dp-gap);
    align-items: start;
}

@media (min-width: 901px) {
    .digiprensa-search-results-grouped {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    /* Búsqueda de UN solo país (lo más común: ciudad o cabecera): el bloque
       ocupa el ancho completo y sus tarjetas fluyen en 2 columnas, en vez de
       quedar como una columna suelta a la izquierda. */
    .digiprensa-search-country-group:only-child {
        grid-column: 1 / -1;
    }
    .digiprensa-search-country-group:only-child .newspaper-card-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 1.5rem;
        align-items: start;
    }
}

/* Consistencia tipo TABLA: en los resultados de búsqueda el claim se limita a
   UNA línea, así todas las filas tienen la misma altura y las 2 columnas no
   quedan descompensadas. Cada tarjeta es una fila regular con separador. */
.digiprensa-search-country-group .newspaper-card__claim {
    -webkit-line-clamp: 1;
    line-clamp: 1;
}

.digiprensa-search-country-group .newspaper-card--dense {
    border-bottom: 1px solid var(--dp-border);
}

/* ============================================================================ */
/* Categorías (país/ciudad): listado de periódicos en 2 columnas full-width,     */
/* mismo tratamiento tipo tabla que la búsqueda (filas parejas, claim 1 línea).  */
/* ============================================================================ */
@media (min-width: 901px) {
    .digiprensa-city-listings .newspaper-card-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 1.5rem;
        align-items: start;
    }
}

.digiprensa-city-listings .newspaper-card__claim {
    -webkit-line-clamp: 1;
    line-clamp: 1;
}

.digiprensa-city-listings .newspaper-card--dense {
    border-bottom: 1px solid var(--dp-border);
}

/* Country group — card, must not split awkwardly across the grid track */
.digiprensa-search-country-group {
    break-inside: avoid;
    background: var(--dp-surface);
    border: 1px solid var(--dp-border);
    border-radius: var(--dp-radius);
    overflow: hidden;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.digiprensa-search-country-group:hover {
    border-color: var(--dp-ink-gray);
    box-shadow: 0 6px 20px -12px rgba(20, 36, 59, .35);
}

.digiprensa-search-country-header {
    padding: 1rem 1.25rem;
    background: var(--dp-ink);
    border-bottom: 1px solid var(--dp-ink-deep);
}

.digiprensa-search-country-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem;
    margin: 0;
    font-family: var(--dp-font-display);
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: -.01em;
    color: var(--dp-paper);
}

.digiprensa-search-country-title a {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--dp-paper);
    text-decoration: none;
}

.digiprensa-search-country-title a:hover {
    text-decoration: underline;
}

.digiprensa-search-country-count {
    flex: 0 0 auto;
    font-family: var(--dp-font-mono);
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    padding: .25rem .6rem;
    border-radius: 999px;
    background: rgba(251, 250, 246, .14);
    color: var(--dp-paper);
    white-space: nowrap;
}

.digiprensa-search-regions-wrapper {
    padding: 1rem 1.25rem 1.25rem;
    background: var(--dp-surface);
}

/* Region group — nested, lighter-weight sub-section */
.digiprensa-search-region-group {
    margin-bottom: 1.25rem;
}

.digiprensa-search-region-group:last-child {
    margin-bottom: 0;
}

.digiprensa-search-region-header {
    margin-bottom: .5rem;
    padding-bottom: .35rem;
    border-bottom: 1px solid var(--dp-border);
}

.digiprensa-search-region-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .5rem;
    margin: 0;
    font-family: var(--dp-font-mono);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--dp-ink-gray);
}

.digiprensa-search-region-title a {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--dp-ink-gray);
    text-decoration: none;
}

.digiprensa-search-region-title a:hover {
    color: var(--dp-ink);
    text-decoration: underline;
}

.digiprensa-search-region-count {
    flex: 0 0 auto;
    font-weight: 700;
    color: var(--dp-ink-gray);
    white-space: nowrap;
}

/* ============================================================================ */
/* Responsive — search page                                                    */
/* ============================================================================ */
@media (max-width: 900px) {
    .digiprensa-search-head {
        margin-bottom: 1.5rem;
    }

    .digiprensa-search-head-form {
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .digiprensa-search-country-header,
    .digiprensa-search-regions-wrapper {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .digiprensa-search-empty-message {
        padding: 1.5rem 1.25rem;
    }
}


/* Feed RSS */
.digiprensa-feed-info {
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--dp-border);
}

.digiprensa-feed-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--dp-global);
    text-decoration: none;
    font-size: 0.9rem;
    padding: 8px 12px;
    background: var(--dp-paper);
    border-radius: 6px;
    transition: all 0.3s ease;
}

.digiprensa-feed-link:hover {
    background: var(--dp-ink);
    color: var(--dp-surface);
    transform: translateY(-2px);
}

.digiprensa-feed-link .digiprensa-icon {
    width: 18px;
    height: 18px;
    fill: currentColor;
    flex-shrink: 0;
}

/* ============================================
   FEED RSS - Estilos del contenedor principal
   ============================================ */
.digiprensa-rss-feed {
    margin-top: 0;
}

.digiprensa-rss-feed ul,
.digiprensa-rss-feed .wp_rss_retriever_list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* ============================================
   FEED RSS - Estilos de cada item (li)
   ============================================ */
.digiprensa-rss-feed li,
.digiprensa-rss-feed .wp_rss_retriever_item {
    padding: 0 0 16px 0;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--dp-border);
    margin: 0;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}

.digiprensa-rss-feed li:last-child,
.digiprensa-rss-feed .wp_rss_retriever_item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.digiprensa-rss-feed li:hover,
.digiprensa-rss-feed .wp_rss_retriever_item:hover {
    opacity: 0.8;
}

/* Cada noticia: div principal flex con 2 divs internos */
.digiprensa-rss-feed .wp_rss_retriever_item_wrapper,
.digiprensa-rss-feed li .wp_rss_retriever_item_wrapper,
.digiprensa-rss-feed .wp_rss_retriever_item .wp_rss_retriever_item_wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
   
    align-items: flex-start !important;
    width: 100% !important;
}

/* ============================================
   FEED RSS - DIV 1: Foto (cuadrada 120x120)
   ============================================ */
.digiprensa-rss-feed .wp_rss_retriever_image,
.digiprensa-rss-feed .wp_rss_retriever_thumbnail,
.digiprensa-rss-feed li .wp_rss_retriever_image,
.digiprensa-rss-feed li .wp_rss_retriever_thumbnail,
.digiprensa-rss-feed .wp_rss_retriever_item .wp_rss_retriever_image,
.digiprensa-rss-feed .wp_rss_retriever_item .wp_rss_retriever_thumbnail {
    display: block !important;
    width: 120px !important;
    height: 120px !important;
    flex: 0 0 120px !important;
    flex-shrink: 0 !important;
    border-radius: 6px;
    overflow: hidden;
    box-sizing: border-box !important;
}

.digiprensa-rss-feed .wp_rss_retriever_image img,
.digiprensa-rss-feed .wp_rss_retriever_thumbnail img,
.digiprensa-rss-feed li .wp_rss_retriever_image img,
.digiprensa-rss-feed li .wp_rss_retriever_thumbnail img,
.digiprensa-rss-feed .wp_rss_retriever_item .wp_rss_retriever_image img,
.digiprensa-rss-feed .wp_rss_retriever_item .wp_rss_retriever_thumbnail img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
}

/* ============================================
   FEED RSS - DIV 2: Contenedor de contenido (título + metadatos)
   ============================================ */
.digiprensa-rss-feed .digiprensa-rss-content-wrapper {
    flex: 1 !important;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* Título dentro del contenedor de contenido */
.digiprensa-rss-feed .wp_rss_retriever_title {
    width: 100% !important;
}

.digiprensa-rss-feed .wp_rss_retriever_title a {
    color: var(--dp-ink);
    text-decoration: none;
    font-weight: 500;
    font-size: 0.95rem;
    line-height: 1.5;
    display: block;
}

.digiprensa-rss-feed .wp_rss_retriever_title a:hover {
    color: var(--dp-global);
}

/* Metadatos dentro del contenedor de contenido */
.digiprensa-rss-feed .wp_rss_retriever_metadata {
    width: 100% !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
}

.digiprensa-rss-feed .wp_rss_retriever_date {
    display: block;
    font-size: 0.8rem;
    color: var(--dp-ink-gray);
    margin-top: 0;
}

.digiprensa-rss-feed .wp_rss_retriever_content {
    display: none;
}

/* Si el plugin genera divs en lugar de ul */
.digiprensa-rss-feed > div {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.digiprensa-rss-feed > div > div,
.digiprensa-rss-feed > div > p {
    padding: 0 0 16px 0;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--dp-border);
    margin: 0;
    transition: all 0.3s ease;
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.digiprensa-rss-feed > div > div:last-child,
.digiprensa-rss-feed > div > p:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.digiprensa-rss-feed > div > div:hover,
.digiprensa-rss-feed > div > p:hover {
    opacity: 0.8;
}

.digiprensa-rss-feed > div > div a,
.digiprensa-rss-feed > div > p a {
    color: var(--dp-ink);
    text-decoration: none;
    font-weight: 500;
    font-size: 0.9rem;
    line-height: 1.4;
    display: block;
    flex: 1;
}

.digiprensa-rss-feed > div > div a:hover,
.digiprensa-rss-feed > div > p a:hover {
    color: var(--dp-global);
}

/* Imágenes en divs - Pequeñas al lateral */
.digiprensa-rss-feed > div img {
    width: 80px !important;
    min-width: 80px !important;
    height: auto;
    display: block;
    border-radius: 6px;
    object-fit: cover;
    aspect-ratio: 16/9;
    flex-shrink: 0;
    order: -1;
}


/* ============================================
   ESTILOS PARA NOTICIAS
   ============================================ */

/* Lista de noticias en archivo */
.digiprensa-news-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-top: 0;
}

/* News archive card */
.digiprensa-news-item {
    display: flex;
    gap: 22px;
    align-items: stretch;
    background: var(--dp-surface);
    border-radius: 10px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
    padding: 18px;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.digiprensa-news-item:hover {
    box-shadow: 0 6px 18px rgba(20, 36, 59, 0.12);
    transform: translateY(-2px);
}

.digiprensa-news-item__media {
    flex: 0 0 300px;
    display: block;
    align-self: flex-start;
    aspect-ratio: 1200 / 630;
    overflow: hidden;
    border-radius: 8px;
}

.digiprensa-news-item__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.digiprensa-news-item:hover .digiprensa-news-item__media img {
    transform: scale(1.04);
}

.digiprensa-news-item__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 9px;
    padding: 3px 4px 3px 0;
}

.digiprensa-news-item__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    font-family: var(--dp-font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--dp-ink-gray);
}

.digiprensa-news-item__cat {
    color: var(--dp-accent);
    text-decoration: none;
    font-weight: 700;
}

.digiprensa-news-item__cat:hover {
    text-decoration: underline;
}

.digiprensa-news-item__title {
    margin: 0;
    font-family: var(--dp-font-display);
    font-size: 1.4rem;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.digiprensa-news-item__title a {
    color: var(--dp-ink);
    text-decoration: none;
}

.digiprensa-news-item__title a:hover {
    color: var(--dp-accent);
}

.digiprensa-news-item__excerpt {
    margin: 0;
    color: var(--dp-ink-gray);
    font-size: 0.95rem;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.digiprensa-news-item__more {
    margin-top: auto;
    align-self: flex-start;
    color: var(--dp-global);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    padding-top: 2px;
}

.digiprensa-news-item__more:hover {
    text-decoration: underline;
}

.digiprensa-news-item__more span {
    margin-left: 3px;
}

@media (max-width: 640px) {
    .digiprensa-news-item {
        flex-direction: column;
        gap: 14px;
    }
    .digiprensa-news-item__media {
        flex: none;
        width: 100%;
        aspect-ratio: 1200 / 630;
    }
    .digiprensa-news-item__title {
        font-size: 1.25rem;
    }
}

/* Noticia individual (single) */
.digiprensa-single-news {
    background: var(--dp-surface);
    padding: 32px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.digiprensa-single-news .entry-header {
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--dp-border);
}

.digiprensa-single-news .entry-title {
    font-size: 2.5rem;
    line-height: 1.2;
    margin: 0 0 16px 0;
    color: var(--dp-ink);
}

.digiprensa-single-news .entry-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    font-size: 0.9375rem;
    color: var(--dp-ink-gray);
    align-items: center;
}

.digiprensa-single-news .entry-meta time,
.digiprensa-single-news .entry-meta .entry-author,
.digiprensa-single-news .entry-meta .entry-categories {
    display: flex;
    align-items: center;
    gap: 6px;
}

.digiprensa-single-news .entry-meta svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.digiprensa-single-news .entry-meta .entry-categories a {
    color: var(--dp-global);
    text-decoration: none;
    font-weight: 500;
}

.digiprensa-single-news .entry-meta .entry-categories a:hover {
    text-decoration: underline;
}

.digiprensa-single-news .entry-thumbnail {
    margin: 24px 0;
    border-radius: 8px;
    overflow: hidden;
}

.digiprensa-single-news .entry-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
}

.digiprensa-single-news .entry-content {
    font-size: 1.0625rem;
    line-height: 1.8;
    color: var(--dp-ink);
    margin-bottom: 32px;
}

.digiprensa-single-news .entry-content p {
    margin-bottom: 1.5em;
}

.digiprensa-single-news .entry-content h2,
.digiprensa-single-news .entry-content h3,
.digiprensa-single-news .entry-content h4 {
    margin-top: 2em;
    margin-bottom: 1em;
    color: var(--dp-ink);
}

.digiprensa-single-news .entry-content a {
    color: var(--dp-global);
    text-decoration: underline;
}

.digiprensa-single-news .entry-content a:hover {
    color: var(--dp-global);
}

.digiprensa-single-news .entry-footer {
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid var(--dp-border);
}

.digiprensa-single-news .entry-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.digiprensa-single-news .entry-tags .tags-label {
    font-weight: 600;
    color: var(--dp-ink-gray);
    margin-right: 4px;
}

.digiprensa-single-news .entry-tags a {
    display: inline-block;
    padding: 4px 12px;
    background: var(--dp-paper);
    color: var(--dp-ink);
    text-decoration: none;
    border-radius: 4px;
    font-size: 0.875rem;
    transition: background-color 0.3s ease;
}

.digiprensa-single-news .entry-tags a:hover {
    background: var(--dp-ink);
    color: var(--dp-surface);
}

/* Responsive para noticias */
@media (max-width: 768px) {
    .digiprensa-news-item-wrapper {
        flex-direction: column;
        padding: 16px;
    }
    
    .digiprensa-news-thumbnail {
        flex: 0 0 auto;
        width: 100%;
    }
    
    .digiprensa-news-thumbnail img {
        height: 200px;
    }
    
    .digiprensa-news-content .entry-title {
        font-size: 1.25rem;
    }
    
    .digiprensa-single-news {
        padding: 20px;
    }
    
    .digiprensa-single-news .entry-title {
        font-size: 1.75rem;
    }
    
    .digiprensa-single-news .entry-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}

/* ======================================================================== */
/* REDESIGN — Top Visited section                                           */
/* (from digiprensa-redesign.css; loads AFTER the legacy estilos rules)     */
/* ======================================================================== */

/* ======================================================================== */
/* Top Visited section — "Los más visitados de {país}" (Slice 2 / D10)      */
/* ======================================================================== */
/*
 * newspaper-card--dense renders as a <li> directly, so position numbers are
 * injected via a CSS counter on ::before — no wrapper <li> nesting needed.
 */

.dp-top-visited {
	margin: 2rem 0;
}

.dp-top-visited__title {
	font-family: var(--dp-font-display);
	font-size: clamp(1.05rem, 2.5vw, 1.3rem);
	font-weight: 700;
	color: var(--dp-ink);
	margin: 0 0 .85rem;
	padding-bottom: .5rem;
	border-bottom: 2px solid var(--dp-ink);
	letter-spacing: -.01em;
}

/* The <ul> that contains newspaper-card--dense <li> children directly */
.dp-top-visited__list {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 1px solid var(--dp-border);
	border-radius: var(--dp-radius);
	overflow: hidden;
	background: var(--dp-surface);
	counter-reset: dp-top-visited;
}

/* Each card <li> increments the counter; ::before injects the position number */
.dp-top-visited__list > .newspaper-card--dense {
	counter-increment: dp-top-visited;
	position: relative;
	/* Extra left padding to make room for the position badge */
	padding-left: 3rem;
}

.dp-top-visited__list > .newspaper-card--dense::before {
	content: counter(dp-top-visited);
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--dp-font-mono);
	font-size: .75rem;
	font-weight: 700;
	color: var(--dp-ink-gray);
	background: var(--dp-paper);
	border-right: 1px solid var(--dp-border);
}

/* Top 3 positions get accent colour */
.dp-top-visited__list > .newspaper-card--dense:nth-child(1)::before,
.dp-top-visited__list > .newspaper-card--dense:nth-child(2)::before,
.dp-top-visited__list > .newspaper-card--dense:nth-child(3)::before {
	color: var(--dp-accent);
	font-weight: 800;
}

/* ============================================================
   News sidebar widgets (page-templates/lateral-noticias.php)
   ============================================================ */
.dp-widget__title {
	margin: 0 0 14px;
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--dp-ink);
	padding-bottom: 10px;
	border-bottom: 2px solid var(--dp-accent, var(--dp-ink));
}

/* Search widget */
.dp-widget-search__form {
	display: flex;
	align-items: stretch;
	border: 1px solid var(--dp-border);
	border-radius: 6px;
	overflow: hidden;
}
.dp-widget-search__input {
	flex: 1;
	min-width: 0;
	border: 0;
	padding: 9px 12px;
	font-size: 0.9rem;
	background: #fff;
	color: var(--dp-ink);
}
.dp-widget-search__input:focus {
	outline: none;
}
.dp-widget-search__submit {
	border: 0;
	background: var(--dp-ink);
	color: #fff;
	padding: 0 12px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease;
}
.dp-widget-search__submit:hover {
	background: var(--dp-accent, #000);
}

/* List widgets (categorías, explora periódicos) */
.dp-widget-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.dp-widget-list li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid var(--dp-border);
}
.dp-widget-list li:last-child {
	border-bottom: 0;
}
.dp-widget-list a {
	color: var(--dp-ink);
	text-decoration: none;
	font-size: 0.9rem;
	transition: color 0.2s ease;
}
.dp-widget-list a:hover {
	color: var(--dp-accent, #000);
}
.dp-widget-count {
	flex-shrink: 0;
	font-size: 0.75rem;
	color: var(--dp-ink-gray, #888);
	background: var(--dp-surface-alt, #f2f2f2);
	border-radius: 10px;
	padding: 1px 8px;
}

/* Continents: compact 2-column grid */
.dp-widget-list--continents {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 16px;
}
.dp-widget-list--continents li {
	border-bottom: 0;
	padding: 6px 0;
	justify-content: flex-start;
}

/* Archive eyebrow (taxonomy headers) */
.digiprensa-archive-eyebrow {
	margin: 0 0 6px;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--dp-accent, var(--dp-ink-gray));
}

/* ============================================================
   Single news — previous / next navigation
   ============================================================ */
.dp-postnav {
	display: flex;
	gap: 16px;
	margin-top: 28px;
}
.dp-postnav__link {
	flex: 0 1 calc(50% - 8px);
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
	background: var(--dp-surface);
	border-radius: 10px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
	padding: 16px 18px;
	text-decoration: none;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.dp-postnav__link:hover {
	box-shadow: 0 6px 18px rgba(20, 36, 59, 0.12);
	transform: translateY(-2px);
}
.dp-postnav__link--next {
	margin-left: auto;
	align-items: flex-end;
	text-align: right;
}
.dp-postnav__label {
	font-family: var(--dp-font-mono);
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-weight: 700;
	color: var(--dp-accent);
}
.dp-postnav__title {
	font-family: var(--dp-font-display);
	font-size: 1rem;
	line-height: 1.25;
	color: var(--dp-ink);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
@media (max-width: 640px) {
	.dp-postnav {
		flex-direction: column;
	}
	.dp-postnav__link {
		flex: 1 1 auto;
	}
	.dp-postnav__link--next {
		margin-left: 0;
		align-items: flex-start;
		text-align: left;
	}
}

/* ============================================================
   Sidebar widget — Top 10 periódicos
   ============================================================ */
.dp-top10-list {
	list-style: none;
	margin: 0 0 12px;
	padding: 0;
	counter-reset: dp-top10;
}
.dp-top10-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid var(--dp-border);
}
.dp-top10-item:last-child {
	border-bottom: 0;
}
.dp-top10-rank {
	flex: 0 0 auto;
	width: 1.4rem;
	font-family: var(--dp-font-mono);
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--dp-accent);
	text-align: center;
}
.dp-top10-fav {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	border-radius: 4px;
	object-fit: contain;
}
.dp-top10-name {
	flex: 1;
	min-width: 0;
	color: var(--dp-ink);
	text-decoration: none;
	font-size: 0.9rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.dp-top10-name:hover {
	color: var(--dp-global);
}
.dp-top10-more {
	display: inline-block;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--dp-global);
	text-decoration: none;
}
.dp-top10-more:hover {
	text-decoration: underline;
}

/* ============================================================
   Type-tag archive — "otros tipos" internal links + empty state
   ============================================================ */
.digiprensa-archive-empty {
	background: var(--dp-surface);
	border-radius: 10px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
	padding: 2rem;
	color: var(--dp-ink-gray);
	font-size: 1rem;
}
.digiprensa-type-links {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid var(--dp-border);
}
.digiprensa-type-links__title {
	font-family: var(--dp-font-display);
	font-size: 1.25rem;
	color: var(--dp-ink);
	margin: 0 0 1.25rem;
}
.digiprensa-type-links__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem 0.75rem;
}
.digiprensa-type-links__list a {
	display: inline-block;
	padding: 0.5rem 1rem;
	background: var(--dp-surface);
	border: 1px solid var(--dp-border);
	border-radius: 999px;
	color: var(--dp-ink);
	text-decoration: none;
	font-size: 0.9rem;
	font-weight: 600;
	transition: border-color 0.2s ease, color 0.2s ease;
}
.digiprensa-type-links__list a:hover {
	border-color: var(--dp-accent);
	color: var(--dp-accent);
}

/* ============================================================
   Tag archive — country index, country groups, type×country
   ============================================================ */
.dp-tag-back {
	margin: 0 0 1.25rem;
	font-size: 0.9rem;
}
.dp-tag-back a {
	color: var(--dp-global);
	text-decoration: none;
	font-weight: 600;
}
.dp-tag-back a:hover { text-decoration: underline; }

.dp-country-index {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 2.5rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--dp-border);
}
.dp-country-index a {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.35rem 0.75rem;
	background: var(--dp-surface);
	border-radius: 999px;
	box-shadow: 0 1px 3px rgba(20, 36, 59, 0.06);
	color: var(--dp-ink);
	text-decoration: none;
	font-size: 0.85rem;
	font-weight: 600;
	transition: color 0.2s ease;
}
.dp-country-index a:hover { color: var(--dp-accent); }
.dp-country-index a span {
	font-family: var(--dp-font-mono);
	font-size: 0.72rem;
	color: var(--dp-ink-gray);
}

.dp-country-group {
	margin-bottom: 2.75rem;
}
.dp-country-group__title {
	display: flex;
	align-items: baseline;
	gap: 0.6rem;
	margin: 0 0 1.1rem;
	font-family: var(--dp-font-display);
	font-size: 1.5rem;
	color: var(--dp-ink);
}
.dp-country-group__title a {
	color: inherit;
	text-decoration: none;
}
.dp-country-group__title a:hover { color: var(--dp-accent); }
.dp-country-group__count {
	font-family: var(--dp-font-mono);
	font-size: 0.8rem;
	font-weight: 700;
	color: #fff;
	background: var(--dp-accent);
	border-radius: 999px;
	padding: 0.1rem 0.6rem;
}
.dp-country-group__more {
	display: inline-block;
	margin-top: 1rem;
	color: var(--dp-global);
	text-decoration: none;
	font-weight: 600;
	font-size: 0.9rem;
}
.dp-country-group__more:hover { text-decoration: underline; }

/* ── Live headlines on geographic pages ─────────────────────────────────────
   Answers the informational intent behind "prensa {país}" searches: those
   visitors want to know what the press is saying, not just which papers exist.
   Sits high on country and city pages, above the audience ranking. */

.digiprensa-headlines {
	margin: 2.5rem 0;
	padding: 1.5rem;
	background: var(--dp-surface-alt);
	border: 1px solid var(--dp-border);
	border-radius: var(--dp-radius);
}

.digiprensa-headlines__title {
	margin: 0 0 .35rem;
	font-family: var(--dp-font-display);
	font-size: 1.35rem;
	color: var(--dp-ink-deep);
}

.digiprensa-headlines__intro {
	margin: 0 0 1.25rem;
	font-size: .875rem;
	color: var(--dp-ink-gray);
}

.digiprensa-headlines__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: .85rem;
}

.digiprensa-headlines__item {
	padding-bottom: .85rem;
	border-bottom: 1px solid var(--dp-border);
}

.digiprensa-headlines__item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.digiprensa-headlines__link {
	display: block;
	font-family: var(--dp-font-body);
	font-size: 1rem;
	line-height: 1.4;
	color: var(--dp-ink);
	text-decoration: none;
}

.digiprensa-headlines__link:hover,
.digiprensa-headlines__link:focus-visible {
	color: var(--dp-accent);
	text-decoration: underline;
}

.digiprensa-headlines__meta {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-top: .25rem;
	font-size: .8125rem;
	color: var(--dp-ink-gray);
}

.digiprensa-headlines__source {
	color: var(--dp-ink-gray);
	font-weight: 600;
	text-decoration: none;
}

.digiprensa-headlines__source:hover,
.digiprensa-headlines__source:focus-visible {
	color: var(--dp-accent);
	text-decoration: underline;
}

/* Two columns once there is room; the list stays scannable on phones. */
@media (min-width: 48rem) {
	.digiprensa-headlines__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .85rem 2rem;
	}
}


/* --- navigation.css --- */
/**
 * Digiprensa — Navigation (navbar, footer, breadcrumbs, icons)
 */
/* Legacy estilos navigation rules */

/* Navbar - Sin Bootstrap */
.digiprensa-navbar {
    background: linear-gradient(135deg, var(--dp-ink) 0%, var(--dp-ink-deep) 100%);
    padding: 15px 0;
    position: relative;
    width: 100%;
    margin: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    box-sizing: border-box;
    clear: both;
}

.digiprensa-navbar-container {
    max-width: var(--digiprensa-max-width);
    margin: 0 auto;
    padding-left: var(--digiprensa-content-padding);
    padding-right: var(--digiprensa-content-padding);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    width: 100%;
    box-sizing: border-box;
}

.digiprensa-navbar-container .site-title {
    flex-shrink: 0;
}

/* Menu Toggle - Hamburguesa */
.digiprensa-menu-toggle {
    display: none;
    background: transparent;
    border: 2px solid rgba(255, 255, 255, 0.8);
    border-radius: 4px;
    padding: 0;
    cursor: pointer;
    /* Center the hamburger glyph inside the 40x40 button on both axes so the
       three bars sit symmetrically. */
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
}

.digiprensa-hamburger {
    /* Fixed-size box; the three bars are absolutely centered inside it so the
       open-state X pivots around the exact center. */
    position: relative;
    width: 20px;
    height: 16px;
}

.digiprensa-hamburger span {
    position: absolute;
    left: 0;
    display: block;
    height: 2px;
    width: 100%;
    background: white;
    border-radius: 2px;
    transition: transform 0.3s ease, opacity 0.3s ease;
    transform-origin: center;
}

/* Closed state: three evenly spaced bars (top / middle / bottom). */
.digiprensa-hamburger span:nth-child(1) {
    top: 0;
}

.digiprensa-hamburger span:nth-child(2) {
    top: 50%;
    transform: translateY(-50%);
}

.digiprensa-hamburger span:nth-child(3) {
    bottom: 0;
}

/* Open state: collapse the top and bottom bars to the vertical center, then
   rotate them into a clean, centered X. Translate first, rotate second so both
   bars converge on the same midpoint. Middle bar fades out. */
.digiprensa-menu-toggle[aria-expanded="true"] .digiprensa-hamburger span:nth-child(1) {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}

.digiprensa-menu-toggle[aria-expanded="true"] .digiprensa-hamburger span:nth-child(2) {
    opacity: 0;
}

.digiprensa-menu-toggle[aria-expanded="true"] .digiprensa-hamburger span:nth-child(3) {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
}

/* Nav Menu */
.digiprensa-nav-menu {
    display: flex;
    align-items: center;
    gap: 20px;
    flex: 1;
    justify-content: flex-end;
    min-width: 0;
}

.digiprensa-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 15px;
}

.digiprensa-nav-list li {
    margin: 0;
}

.digiprensa-nav-list a {
    color: white;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    padding: 8px 12px;
    border-radius: 4px;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.digiprensa-nav-list a:hover {
    background: rgba(255, 255, 255, 0.2);
    text-decoration: none;
}

.digiprensa-separator {
    color: rgba(255, 255, 255, 0.5);
    font-weight: 300;
    padding: 0;
}

.digiprensa-suggest-btn {
    background: rgba(255, 255, 255, 0.2);
    color: white;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.3);
    white-space: nowrap;
}

.digiprensa-suggest-btn:hover {
    background: white;
    color: var(--dp-accent);
    text-decoration: none;
    border-color: white;
}

/* Footer - Sin Bootstrap */
.digiprensa-footer {
    width: 100%;
    background: var(--dp-ink);
    color: var(--dp-paper);
     
    margin: 0;
    position: relative;
    box-sizing: border-box;
    clear: both;
}

.digiprensa-footer-container {
    max-width: var(--digiprensa-max-width);
    margin: 0 auto;
    padding-left: var(--digiprensa-content-padding);
    padding-right: var(--digiprensa-content-padding);
    width: 100%;
    box-sizing: border-box;
}

.digiprensa-footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
}

.digiprensa-footer-column {
    min-width: 0;
}

.digiprensa-footer-widget {
    margin-bottom: 20px;
}

.digiprensa-footer-title {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 15px;
    color: white;
}

.digiprensa-footer-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.digiprensa-footer-list li {
    margin-bottom: 8px;
}

.digiprensa-footer-list a {
    color: var(--dp-ink-gray);
    text-decoration: none;
    transition: color 0.3s ease;
}

.digiprensa-footer-list a:hover {
    color: white;
    text-decoration: underline;
}

/* Sub Footer */
.digiprensa-sub-footer {
    width: 100vw;
    max-width: 100vw;
    background: var(--dp-ink-deep);
    padding: 25px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    margin: 0;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    box-sizing: border-box;
}

/* Footer legal links (footer_legal menu) */
.digiprensa-legal-nav {
    margin-bottom: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.digiprensa-legal-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px 0;
}

.digiprensa-legal-list li {
    margin: 0;
    display: flex;
    align-items: center;
}

.digiprensa-legal-list li:not(:last-child)::after {
    content: "·";
    color: rgba(255, 255, 255, 0.3);
    margin: 0 14px;
}

.digiprensa-legal-list a {
    color: rgba(251, 250, 246, .62);
    text-decoration: none;
    font-size: 0.85rem;
    transition: color 0.3s ease;
}

.digiprensa-legal-list a:hover,
.digiprensa-legal-list a:focus-visible {
    color: #fff;
    text-decoration: underline;
}

/* "Configurar cookies" — reopens Google's CMP (googlefc.showRevocationMessage) */
.digiprensa-cookie-settings {
    margin: 12px 0 0;
    text-align: center;
}
.digiprensa-cookie-settings__btn {
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
    color: rgba(251, 250, 246, .62);
    font-size: 0.8rem;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.3s ease;
}
.digiprensa-cookie-settings__btn:hover,
.digiprensa-cookie-settings__btn:focus-visible {
    color: #fff;
}

.digiprensa-sub-footer-grid {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

.digiprensa-sub-footer-column {
    flex: 1;
    min-width: 200px;
}

.digiprensa-copyright p {
    margin: 0;
    color: var(--dp-ink-gray);
    font-size: 0.9rem;
}

.digiprensa-credits {
    text-align: right;
    color: var(--dp-ink-gray);
    font-size: 0.9rem;
}

.digiprensa-credits a {
    color: var(--dp-ink-gray);
    text-decoration: none;
}

.digiprensa-credits a:hover {
    color: white;
}

/* SVG Icons - Sin Font Awesome */
.digiprensa-icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: middle;
    fill: currentColor;
}

.digiprensa-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.digiprensa-icon-home,
.digiprensa-icon-search,
.digiprensa-icon-eye,
.digiprensa-icon-globe {
    width: 1em;
    height: 1em;
}

/* Footer Responsive */
@media (max-width: 768px) {
    .digiprensa-footer-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .digiprensa-sub-footer-grid {
        flex-direction: column;
        text-align: center;
    }
    
    .digiprensa-credits {
        text-align: center;
    }
}

.logotipo_digiprensa {
    display: block;
    height: 40px;
    width: 227px;
    margin: 0;
    overflow: hidden;
    position: relative;
    transition: opacity 0.3s ease;
}

.logotipo_digiprensa:hover {
    opacity: 0.9;
}

.logotipo_digiprensa img {
    display: block;
    height: 100%;
    width: auto;
}


.lista-de-continentes-cabecera {
    margin: 0 auto;

}

.lista-de-continentes-cabecera ul {
    list-style: none;
    text-align: center;
    margin: 0;
}

.lista-de-continentes-cabecera li {
    display: inline-block;
    color: white;
    font-weight: bold;
    padding: 5px;
}

.lista-de-continentes-cabecera li a {
    color: white;
}



/* ===============================
Footer
================================ */

footer {
    padding: 50px 0 0 0;
    color: var(--dp-ink-gray);
    background: var(--dp-ink);
}

footer a {
    color: var(--dp-border);
    text-decoration: none;
}

footer a:hover {
    text-decoration: none;
}

footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6 {
    color: var(--dp-border);
}

footer .footer_logo {
    margin-bottom: 20px;
}

footer .footer_logo h3 {
    color: #fdfdfd;
    letter-spacing: -1px;
    font-size: 2.2em;
    font-weight: 900;
    margin: 0;
}

footer .footer_logo h3 a {
    color: #fdfdfd;
}

footer .footer_logo h3 a:hover {
    text-decoration: none;
}

footer address {
    line-height: 1.6em;
}

footer h5.widgetheading {
    text-transform: none;
    font-weight: 600;
    letter-spacing: -1px;
    margin-bottom: 20px;
}

footer .widget i {
    color: var(--dp-ink-gray);
}

footer h5 a:hover,
footer a:hover {
    text-decoration: none;
}

/* Footer legacy styles - Mantener compatibilidad */
footer {
    width: 100%;
    max-width: 100%;
}

#sub-footer {
    width: 100%;
    max-width: 100%;
}

/* SEO - Site Title H1 */
.site-title {
    font-size: 1rem;
    margin: 0 !important;
    line-height: 1;
}

.site-title h1 {
    font-size: 1rem;
    margin: 0 !important;
    padding: 0;
    line-height: 1;
}

.site-title a {
    text-decoration: none;
    display: block;
}

.site-title a:hover {
    text-decoration: none;
}

/* UX Improvements - Breadcrumbs - VISIBLE */
.digiprensa-breadcrumbs {
    margin: 20px 0 !important;
    padding: 15px !important;
    background-color: var(--dp-paper) !important;
    border-radius: 4px !important;
    border-left: 4px solid var(--dp-ink) !important;
    display: block !important;
    visibility: visible !important;
}

.digiprensa-breadcrumbs .breadcrumb {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 0.9rem !important;
    display: flex !important;
    flex-wrap: wrap !important;
    list-style: none !important;
}

.digiprensa-breadcrumbs .breadcrumb-item {
    display: inline-flex !important;
    align-items: center !important;
    margin-right: 5px !important;
}

.digiprensa-breadcrumbs .breadcrumb-item + .breadcrumb-item::before {
    content: "›" !important;
    padding: 0 8px !important;
    color: var(--dp-ink-gray) !important;
    display: inline-block !important;
}

.digiprensa-breadcrumbs .breadcrumb-item.active {
    color: var(--dp-ink-gray) !important;
    font-weight: 500 !important;
}

.digiprensa-breadcrumbs .breadcrumb-item a {
    color: var(--dp-ink) !important;
    text-decoration: none !important;
}

.digiprensa-breadcrumbs .breadcrumb-item a:hover {
    text-decoration: underline !important;
    color: var(--dp-ink) !important;
}


/* Responsive - Menu Mobile */
@media (max-width: 992px) {
    .digiprensa-navbar-container {
        gap: 15px;
    }
    
    .digiprensa-menu-toggle {
        display: flex;
        order: 2;
        /* Anchor the toggle to the right edge independently of the container's
           justify-content, so the logo stays left and the hamburger stays
           right even if the container's flex alignment changes. */
        margin-left: auto;
        flex-shrink: 0;
    }
    
    .digiprensa-navbar-container .site-title {
        order: 1;
    }
    
    .digiprensa-nav-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: linear-gradient(135deg, var(--dp-ink) 0%, var(--dp-ink-deep) 100%);
        flex-direction: column;
        align-items: stretch;
        padding: 20px var(--digiprensa-content-padding);
        box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        z-index: 1000;
        gap: 15px;
        order: 3;
    }
    
    .digiprensa-nav-menu.active {
        display: flex;
    }
    
    .digiprensa-nav-list {
        flex-direction: column;
        width: 100%;
        gap: 10px;
    }
    
    .digiprensa-nav-list li {
        width: 100%;
    }
    
    .digiprensa-nav-list a {
        display: block;
        padding: 12px 15px;
        text-align: center;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    
    .digiprensa-separator {
        display: none;
    }
    
    .digiprensa-suggest-btn {
        width: 100%;
        text-align: center;
        margin-top: 10px;
    }
    
    .digiprensa-hero {
        padding: 40px var(--digiprensa-content-padding) 60px;
    }
    
    .digiprensa-hero-title {
        font-size: 2rem;
    }
    
    .digiprensa-hero-subtitle {
        font-size: 1.1rem;
    }
}


/* Breadcrumbs Wrapper */
.digiprensa-breadcrumbs-wrapper {
    margin-bottom: 20px;
}

/* ======================================================================== */
/* REDESIGN — city-nav, news-feed, navbar editorial, footer editorial       */
/* (from digiprensa-redesign.css; loads AFTER the legacy estilos rules)     */
/* ======================================================================== */

/* ======================================================================== */
/* Navegación de ciudades (city-nav) y feed de titulares                    */
/* ======================================================================== */
.city-nav {
	margin: 0 0 1.5rem;
}

/* D3: flex layout on the __list element, not the .city-nav wrapper.       */
/* Moving flex/gap here from .city-nav so <li> items become the flex items. */
.city-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.city-nav a,
.city-nav__link {
	display: inline-block;
	padding: .35rem .85rem;
	font-family: var(--dp-font-body);
	font-size: .825rem;
	color: var(--dp-global);
	background: var(--dp-paper);
	border: 1px solid var(--dp-border);
	border-radius: 999px;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.city-nav a:hover,
.city-nav__link:hover {
	color: var(--dp-paper);
	background: var(--dp-global);
	border-color: var(--dp-global);
}

.city-nav a:focus-visible,
.city-nav__link:focus-visible {
	outline: 2px solid var(--dp-accent);
	outline-offset: 2px;
}

.news-feed {
	list-style: none;
	margin: 0;
	padding: 0;
}

.news-feed li,
.news-feed__item {
	padding: .6rem 0;
	border-bottom: 1px solid var(--dp-border);
}

.news-feed li:last-child,
.news-feed__item:last-child {
	border-bottom: 0;
}

.news-feed a {
	font-family: var(--dp-font-body);
	color: var(--dp-ink);
	text-decoration: none;
	font-size: .95rem;
	line-height: 1.45;
}

.news-feed a:hover {
	color: var(--dp-global);
	text-decoration: underline;
}

.news-feed a:focus-visible {
	outline: 2px solid var(--dp-accent);
	outline-offset: 2px;
}

/* ======================================================================== */
/* NAVBAR EDITORIAL — override estilos.css purple → tinta navy              */
/* ======================================================================== */

.digiprensa-navbar {
	background: var(--dp-ink);
	padding: 0;
	position: sticky;
	top: 0;
	z-index: 1000;
	border-bottom: 1px solid rgba(251, 250, 246, .08);
	box-shadow: none;
}

@media (prefers-reduced-motion: no-preference) {
	.digiprensa-navbar {
		transition: box-shadow .2s ease;
	}
}

.digiprensa-navbar.dp-scrolled {
	box-shadow: 0 2px 16px rgba(20, 36, 59, .5);
}

.digiprensa-navbar-container {
	max-width: var(--dp-max);
	margin: 0 auto;
	padding: 0 1.25rem;
	min-height: 56px;
	width: 100%;
	display: flex;
	align-items: center;
	gap: 1rem;
	box-sizing: border-box;
}

/* Nav list — Inter, compact, hover acento rojo */
.digiprensa-nav-list a {
	font-family: var(--dp-font-body);
	font-size: .72rem;
	font-weight: 400;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: rgba(251, 250, 246, .78);
	padding: .3rem .5rem;
	border-radius: 2px;
	transition: color .15s ease, background-color .15s ease;
	text-decoration: none;
}

.digiprensa-nav-list a:hover {
	color: var(--dp-paper);
	background: rgba(228, 55, 43, .18);
	text-decoration: none;
}

.digiprensa-nav-list a:focus-visible {
	outline: 2px solid var(--dp-accent);
	outline-offset: 2px;
	color: var(--dp-paper);
}

.digiprensa-separator {
	color: rgba(251, 250, 246, .18);
}

/* Suggest button */
.digiprensa-suggest-btn {
	font-family: var(--dp-font-body);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .03em;
	background: transparent;
	color: var(--dp-accent-on-dark);
	border: 1px solid rgba(255, 138, 122, .5);
	padding: .3rem .75rem;
	border-radius: 3px;
	white-space: nowrap;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
	text-decoration: none;
}

.digiprensa-suggest-btn:hover {
	background: var(--dp-accent);
	color: var(--dp-paper);
	border-color: var(--dp-accent);
	text-decoration: none;
}

.digiprensa-suggest-btn:focus-visible {
	outline: 2px solid var(--dp-paper);
	outline-offset: 2px;
}

/* Compact search inside nav */
.dp-header-search {
	display: flex;
	align-items: center;
}

.dp-header-search__form {
	display: flex;
	align-items: stretch;
	background: rgba(251, 250, 246, .07);
	border: 1px solid rgba(251, 250, 246, .15);
	border-radius: 3px;
	overflow: hidden;
}

.dp-header-search__input {
	width: 140px;
	padding: .28rem .6rem;
	border: 0;
	background: transparent;
	color: var(--dp-paper);
	font-family: var(--dp-font-body);
	font-size: .8rem;
	outline: none;
	min-width: 0;
}

.dp-header-search__input::placeholder {
	color: rgba(251, 250, 246, .32);
}

.dp-header-search__input:focus {
	background: rgba(251, 250, 246, .1);
}

/* Header (solo desktop, >992px donde la nav es horizontal): compactar gaps y padding
   para que logo + 8 enlaces + buscador + botón entren en UNA fila dentro del
   contenedor de 1200px. Recupera ~85px sobre un déficit de ~60px. flex-wrap se
   mantiene como red de seguridad para anchos intermedios. */
@media (min-width: 993px) {
	.digiprensa-nav-menu {
		gap: 14px;
	}
	.digiprensa-nav-list {
		gap: 8px 10px;
	}
	.digiprensa-nav-list a {
		padding: .3rem .4rem;
	}
	/* Altura idéntica para buscador y botón: se fija la misma altura y se centra por
	   flex, en vez de depender de padding + font (que dejaban ~1px de diferencia). */
	.dp-header-search__form {
		height: 32px;
		box-sizing: border-box;
	}
	.digiprensa-suggest-btn {
		display: inline-flex;
		align-items: center;
		height: 32px;
		padding: 0 .75rem;
		box-sizing: border-box;
	}
}

/* Logo más compacto (el contenedor se ajusta al ancho real del wordmark SVG). */
.logotipo_digiprensa {
	height: 32px;
	width: auto;
}

.dp-header-search__submit {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 .6rem;
	background: transparent;
	border: 0;
	border-left: 1px solid rgba(251, 250, 246, .1);
	color: rgba(251, 250, 246, .5);
	cursor: pointer;
	transition: color .15s ease, background-color .15s ease;
}

.dp-header-search__submit:hover {
	color: var(--dp-paper);
	background: rgba(228, 55, 43, .2);
}

.dp-header-search__submit:focus-visible {
	outline: 2px solid var(--dp-accent);
	outline-offset: 2px;
}

.dp-header-search__submit svg {
	width: 15px;
	height: 15px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	flex-shrink: 0;
}

/* Hamburger color on navy */
.digiprensa-menu-toggle {
	border-color: rgba(251, 250, 246, .28);
}

.digiprensa-menu-toggle:focus-visible {
	outline: 2px solid var(--dp-accent);
	outline-offset: 2px;
}

/* Mobile dropdown — navy, no purple */
@media (max-width: 992px) {
	.digiprensa-nav-menu {
		background: var(--dp-ink);
		border-top: 1px solid rgba(251, 250, 246, .08);
		box-shadow: 0 6px 20px rgba(0, 0, 0, .35);
	}

	.digiprensa-nav-list a {
		text-align: left;
		border-bottom-color: rgba(251, 250, 246, .07);
		padding: .75rem .5rem;
	}

	.dp-header-search {
		width: 100%;
		margin-top: .5rem;
	}

	.dp-header-search__form {
		width: 100%;
	}

	.dp-header-search__input {
		width: 100%;
		padding: .65rem .85rem;
		font-size: .9rem;
	}

	.dp-header-search__submit {
		padding: 0 .85rem;
	}
}

/* ======================================================================== */
/* FOOTER EDITORIAL — override estilos.css                                  */
/* ======================================================================== */

.digiprensa-footer {
	background: var(--dp-ink);
	color: var(--dp-paper);
	padding: 0;
	border-top: 2px solid var(--dp-accent);
}

.digiprensa-footer-container {
	max-width: var(--dp-max);
	margin: 0 auto;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	box-sizing: border-box;
	width: 100%;
}

/* Eyebrow — Space Mono */
.dp-footer__eyebrow {
	font-family: var(--dp-font-mono);
	font-size: .65rem;
	font-weight: 400;
	letter-spacing: .35em;
	text-transform: uppercase;
	color: var(--dp-accent-on-dark);
	padding-top: 2rem;
	margin: 0 0 .75rem;
}

/* Brand row with logo */
.dp-footer__brand-row {
	display: flex;
	align-items: center;
	margin-bottom: 2rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid rgba(251, 250, 246, .1);
}

.digiprensa-footer-logo {
	display: inline-block;
	opacity: .85;
	transition: opacity .15s ease;
	flex-shrink: 0;
}

.digiprensa-footer-logo:hover {
	opacity: 1;
}

.digiprensa-footer-logo:focus-visible {
	outline: 2px solid var(--dp-accent);
	outline-offset: 3px;
	border-radius: 2px;
}

.digiprensa-footer-logo img {
	display: block;
	height: 34px;
	width: auto;
}

/* Main section */
.digiprensa-footer-main {
	padding-bottom: 2rem;
}

/* 3-column grid */
.digiprensa-footer-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 2rem;
}

/* Footer "Últimas noticias" — clamp long headlines to keep the column tidy */
.dp-footer-news a {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	line-height: 1.35;
}

@media (max-width: 1024px) {
	.digiprensa-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.75rem;
	}
}

@media (max-width: 768px) {
	.digiprensa-footer-grid {
		grid-template-columns: 1fr;
		gap: 1.75rem;
	}
}

.digiprensa-footer-column {
	min-width: 0;
}

/* Column headings — Space Mono label style */
.digiprensa-footer-title {
	font-family: var(--dp-font-mono) !important;
	font-size: .65rem !important;
	font-weight: 700 !important;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: rgba(251, 250, 246, .6);
	margin: 0 0 .85rem !important;
	padding-bottom: .5rem;
	border-bottom: 1px solid rgba(251, 250, 246, .1);
}

/* Footer lists */
.digiprensa-footer-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.digiprensa-footer-list li {
	margin-bottom: .45rem;
}

.digiprensa-footer-list a {
	font-family: var(--dp-font-body);
	font-size: .875rem;
	color: rgba(251, 250, 246, .62);
	text-decoration: none;
	transition: color .15s ease;
}

.digiprensa-footer-list a:hover {
	color: var(--dp-paper);
	text-decoration: underline;
}

.digiprensa-footer-list a:focus-visible {
	outline: 2px solid var(--dp-accent);
	outline-offset: 2px;
	border-radius: 2px;
}

/* "Qué es DigiPrensa" column */
.dp-footer__about-text {
	font-family: var(--dp-font-body);
	font-size: .875rem;
	line-height: 1.7;
	color: rgba(251, 250, 246, .58);
	margin: 0 0 1rem;
}

.dp-footer__about-link {
	font-family: var(--dp-font-body);
	font-size: .8rem;
	font-weight: 600;
	color: var(--dp-global-on-dark);
	text-decoration: none;
	letter-spacing: .02em;
	transition: color .15s ease;
}

.dp-footer__about-link:hover {
	color: var(--dp-paper);
	text-decoration: underline;
}

.dp-footer__about-link:focus-visible {
	outline: 2px solid var(--dp-accent);
	outline-offset: 2px;
	border-radius: 2px;
}

/* Popular posts list (WPP) in footer */
.digiprensa-popular-posts {
	font-family: var(--dp-font-body);
	font-size: .875rem;
}

.digiprensa-popular-posts a {
	color: rgba(251, 250, 246, .62) !important;
	text-decoration: none;
	transition: color .15s ease;
}

.digiprensa-popular-posts a:hover {
	color: var(--dp-paper) !important;
}

.digiprensa-popular-posts li,
.digiprensa-popular-posts .wpp-list li {
	padding: .35rem 0;
	border-bottom: 1px solid rgba(251, 250, 246, .07);
	list-style: none;
	margin: 0;
}

.digiprensa-popular-posts ul,
.digiprensa-popular-posts .wpp-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

/* Sub-footer */
.digiprensa-sub-footer {
	background: rgba(0, 0, 0, .28);
	border-top: 1px solid rgba(251, 250, 246, .07);
	padding: 1.25rem 0;
	/* Remove the full-vw hack from estilos.css */
	width: 100%;
	position: static;
	left: auto;
	right: auto;
	margin-left: 0;
	margin-right: 0;
	box-sizing: border-box;
}

.digiprensa-sub-footer-grid {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: .5rem;
}

.digiprensa-copyright p {
	font-family: var(--dp-font-mono);
	font-size: .65rem;
	letter-spacing: .07em;
	color: rgba(251, 250, 246, .6);
	margin: 0;
}

.digiprensa-credits {
	text-align: right;
}

.digiprensa-credits p {
	font-family: var(--dp-font-body);
	font-size: .78rem;
	color: rgba(251, 250, 246, .6);
	margin: 0;
}

.digiprensa-credits a {
	color: rgba(251, 250, 246, .62);
	text-decoration: none;
	transition: color .15s ease;
}

.digiprensa-credits a:hover {
	color: var(--dp-paper);
}

@media (max-width: 768px) {
	.digiprensa-sub-footer-grid {
		flex-direction: column;
		text-align: center;
	}

	.digiprensa-credits {
		text-align: center;
	}
}


/* --- legacy.css --- */
/**
 * Digiprensa — Legacy (misc rules that do not fit a component bucket)
 */

h3 {
    font-size: 1rem !important;
}

.fondo-hero {
    min-height: 200px;
    /* Background image is centered vertically and horizontally at all times */
    background-position: center center;

    /* Background image doesn't tile */
    background-repeat: no-repeat;

    /* Background image is fixed in the viewport so that it doesn't move when 
        the content's height is greater than the image's height */
    background-attachment: fixed;

    /* This is what makes the background image rescale based
        on the container's size */
    background-size: cover;

    /* Set a background color that will be displayed
        while the background image is loading */
    background-color: #464646;
    background-image: url('https://www.digiprensa.com/wp-content/themes/understrap/img/digiprensa.jpg');
}

.categorydiv {
    max-height: 8000px !important;
}


body {
    background: var(--dp-paper);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    width: 100%;
}

.site {
    background: transparent;
    margin: 0;
    padding: 0;
    width: 100%;
    overflow-x: hidden;
}

#page {
    background: transparent;
    margin: 0;
    padding: 0;
    width: 100%;
    overflow-x: hidden;
}

a {
    color: var(--dp-global);
}

a:hover {
    color: blue;
    text-decoration:underline;
}

.medio {
    margin-bottom: 20px;
}

.logo-home img {
    max-height: 25px;
    width: auto;
}

/* Estilos de logo y flag movidos a la sección de tabla moderna arriba */

.logo-single {
    margin-bottom: 16px;
}

.logo-single img {
    max-height: 60px;
    width: auto;
}

.boxed-black {
    background: var(--dp-surface);
    border-radius: 10px;
    border: solid 1px var(--dp-border);
    padding: 10px;
    margin-bottom: 10px;
}

.screenshot-periodico {
    background: #bbb;
    border-radius: 10px;
    border: solid 1px var(--dp-border);
    padding: 5px;
}

.screenshot-periodico img {
    border-radius: 8px;
}

.kk-star-ratings.top-left {
    clear: both !important;
    margin: 0 auto;
}

.kk-star-ratings.lft {
    clear: both !important;
    float: none !important;
    margin: 0 auto;
}

.tag {
    margin-bottom: 5px;
}

.tag a {
    color: white;
    font-size: 1em;
}


.boton-child {
    margin: 2px;
}



/* AJAX Post Item */
.digiprensa-ajax-post-item {
    margin-bottom: 20px;
}


/* Buttons Personalizados - Sin Bootstrap */
.digiprensa-btn {
    display: inline-block;
    padding: 12px 24px;
    border: none;
    border-radius: 4px;
    font-size: 1rem;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
}

.digiprensa-btn-primary {
    background: var(--dp-accent);
    color: var(--dp-surface);
}

.digiprensa-btn-primary:hover {
    background: #c4291f;
    color: var(--dp-surface);
}

.digiprensa-btn-secondary {
    background: var(--dp-ink);
    color: var(--dp-surface);
}

.digiprensa-btn-secondary:hover {
    background: var(--dp-ink-deep);
    color: var(--dp-surface);
}

.digiprensa-btn-outline {
    background: transparent;
    border: 2px solid var(--dp-border);
    color: var(--dp-ink);
}

.digiprensa-btn-outline:hover {
    background: var(--dp-ink);
    color: var(--dp-surface);
}


/* Estilos generales para todas las páginas - Mayor especificidad */
#page-wrapper .digiprensa-page-content article,
#page-wrapper .digiprensa-page-content article.page {
    background: var(--dp-surface) !important;
    padding: 40px !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
    margin-bottom: 30px !important;
}

.digiprensa-page-content article,
.digiprensa-main-content article {
    background: var(--dp-surface);
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    margin-bottom: 30px;
}

/* Estilos para headers y títulos de páginas */
#page-wrapper .digiprensa-page-content .entry-header,
.digiprensa-page-content .entry-header,
.digiprensa-main-content .entry-header {
    margin-bottom: 30px !important;
    padding-bottom: 20px !important;
    border-bottom: 2px solid var(--dp-border) !important;
}

#page-wrapper .digiprensa-page-content .entry-title,
.digiprensa-page-content .entry-title,
.digiprensa-main-content .entry-title {
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    color: var(--dp-ink) !important;
    margin: 0 0 15px 0 !important;
    line-height: 1.2 !important;
}

/* Estilos para contenido de páginas */
#page-wrapper .digiprensa-page-content .entry-content,
.digiprensa-page-content .entry-content,
.digiprensa-main-content .entry-content {
    font-size: 1.05rem !important;
    line-height: 1.8 !important;
    color: var(--dp-ink-gray) !important;
}

#page-wrapper .digiprensa-page-content .entry-content p,
.digiprensa-page-content .entry-content p,
.digiprensa-main-content .entry-content p {
    margin-bottom: 1.5rem !important;
    color: var(--dp-ink-gray) !important;
}

.digiprensa-page-content .entry-content h2,
.digiprensa-main-content .entry-content h2 {
    font-size: 1.75rem;
    font-weight: 600;
    color: var(--dp-ink);
    margin: 2rem 0 1rem 0;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--dp-border);
}

.digiprensa-page-content .entry-content h3,
.digiprensa-main-content .entry-content h3 {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--dp-ink);
    margin: 1.5rem 0 1rem 0;
}

.digiprensa-page-content .entry-content h4,
.digiprensa-main-content .entry-content h4 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--dp-ink);
    margin: 1.25rem 0 0.75rem 0;
}

.digiprensa-page-content .entry-content ul,
.digiprensa-page-content .entry-content ol,
.digiprensa-main-content .entry-content ul,
.digiprensa-main-content .entry-content ol {
    margin: 1.5rem 0;
    padding-left: 2rem;
}

.digiprensa-page-content .entry-content li,
.digiprensa-main-content .entry-content li {
    margin-bottom: 0.75rem;
}

.digiprensa-page-content .entry-content a,
.digiprensa-main-content .entry-content a {
    color: var(--dp-global);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: all 0.3s ease;
}

.digiprensa-page-content .entry-content a:hover,
.digiprensa-main-content .entry-content a:hover {
    color: var(--dp-ink);
    border-bottom-color: var(--dp-ink);
}

.digiprensa-page-content .entry-content blockquote,
.digiprensa-main-content .entry-content blockquote {
    border-left: 4px solid var(--dp-ink);
    padding-left: 20px;
    margin: 1.5rem 0;
    font-style: italic;
    color: var(--dp-ink-gray);
}

.digiprensa-page-content .entry-content img,
.digiprensa-main-content .entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 1.5rem 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.digiprensa-page-content .entry-content table,
.digiprensa-main-content .entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
    background: var(--dp-surface);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.digiprensa-page-content .entry-content table th,
.digiprensa-main-content .entry-content table th {
    background: var(--dp-ink);
    color: var(--dp-surface);
    padding: 12px;
    text-align: left;
    font-weight: 600;
}

.digiprensa-page-content .entry-content table td,
.digiprensa-main-content .entry-content table td {
    padding: 12px;
    border-bottom: 1px solid var(--dp-border);
}

.digiprensa-page-content .entry-content table tr:last-child td,
.digiprensa-main-content .entry-content table tr:last-child td {
    border-bottom: none;
}

.digiprensa-page-content .entry-content table tr:hover,
.digiprensa-main-content .entry-content table tr:hover {
    background: var(--dp-paper);
}

.digiprensa-page-content .entry-footer,
.digiprensa-main-content .entry-footer {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid var(--dp-border);
    font-size: 0.9rem;
    color: var(--dp-ink-gray);
}

.digiprensa-page-content .entry-footer .edit-link,
.digiprensa-main-content .entry-footer .edit-link {
    color: var(--dp-global);
}

.digiprensa-page-content .entry-footer .edit-link:hover,
.digiprensa-main-content .entry-footer .edit-link:hover {
    color: var(--dp-ink);
}

.digiprensa-page-content .page-links,
.digiprensa-main-content .page-links {
    margin: 2rem 0;
    padding: 1rem;
    background: var(--dp-paper);
    border-radius: 8px;
    font-size: 0.9rem;
}

/* Responsive para páginas */
@media (max-width: 768px) {
    .digiprensa-page-content article,
    .digiprensa-main-content article {
        padding: 25px 20px;
    }
    
    .digiprensa-page-content .entry-title,
    .digiprensa-main-content .entry-title {
        font-size: 1.75rem;
    }
    
    .digiprensa-page-content .entry-content,
    .digiprensa-main-content .entry-content {
        font-size: 1rem;
    }
    
    .digiprensa-page-content .entry-content h2,
    .digiprensa-main-content .entry-content h2 {
        font-size: 1.5rem;
    }
    
    .digiprensa-page-content .entry-content h3,
    .digiprensa-main-content .entry-content h3 {
        font-size: 1.25rem;
    }
    
    .digiprensa-page-content .entry-content table,
    .digiprensa-main-content .entry-content table {
        font-size: 0.9rem;
    }
    
    .digiprensa-page-content .entry-content table th,
    .digiprensa-page-content .entry-content table td,
    .digiprensa-main-content .entry-content table th,
    .digiprensa-main-content .entry-content table td {
        padding: 8px;
    }
}

/* Estilos adicionales para asegurar que las páginas tengan estilo */
body.page #page-wrapper .digiprensa-page-content article,
body.page #page-wrapper .digiprensa-page-content article.page {
    background: var(--dp-surface) !important;
    padding: 40px !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
    margin: 0 auto 30px auto !important;
}

body.page #page-wrapper .digiprensa-page-content .entry-title {
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    color: var(--dp-ink) !important;
    margin: 0 0 15px 0 !important;
    line-height: 1.2 !important;
}

body.page #page-wrapper .digiprensa-page-content .entry-content {
    font-size: 1.05rem !important;
    line-height: 1.8 !important;
    color: var(--dp-ink-gray) !important;
}

body.page #page-wrapper .digiprensa-page-content .entry-content p {
    margin-bottom: 1.5rem !important;
    color: var(--dp-ink-gray) !important;
}

body.page #page-wrapper .digiprensa-page-content .entry-content h2 {
    font-size: 1.75rem !important;
    font-weight: 600 !important;
    color: var(--dp-ink) !important;
    margin: 2rem 0 1rem 0 !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid var(--dp-border) !important;
}

body.page #page-wrapper .digiprensa-page-content .entry-content h3 {
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    color: var(--dp-ink) !important;
    margin: 1.5rem 0 1rem 0 !important;
}

body.page #page-wrapper .digiprensa-page-content .entry-content a {
    color: var(--dp-global) !important;
    text-decoration: none !important;
    border-bottom: 1px solid transparent !important;
    transition: all 0.3s ease !important;
}

body.page #page-wrapper .digiprensa-page-content .entry-content a:hover {
    color: var(--dp-ink) !important;
    border-bottom-color: var(--dp-ink) !important;
}

/* Estilos adicionales para asegurar que TODAS las páginas tengan estilo */
#page-wrapper article,
#page-wrapper .page article,
body.page article,
body.page .page article {
    background: var(--dp-surface) !important;
    padding: 40px !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
    margin: 0 auto 30px auto !important;
    max-width: 900px !important;
}

#page-wrapper article .entry-title,
#page-wrapper .page article .entry-title,
body.page article .entry-title,
body.page .page article .entry-title {
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    color: var(--dp-ink) !important;
    margin: 0 0 15px 0 !important;
    line-height: 1.2 !important;
}

#page-wrapper article .entry-content,
#page-wrapper .page article .entry-content,
body.page article .entry-content,
body.page .page article .entry-content {
    font-size: 1.05rem !important;
    line-height: 1.8 !important;
    color: var(--dp-ink-gray) !important;
}

#page-wrapper article .entry-content p,
#page-wrapper .page article .entry-content p,
body.page article .entry-content p,
body.page .page article .entry-content p {
    margin-bottom: 1.5rem !important;
    color: var(--dp-ink-gray) !important;
}


/* --- homepage.css --- */
/* Legacy estilos homepage rules */

/* Responsive improvements */
/* Hero Section - Compacto y Centrado */
.digiprensa-hero {
    background: linear-gradient(135deg, var(--dp-ink) 0%, var(--dp-ink-deep) 100%);
    background-size: cover;
    background-position: center;
    padding: 40px var(--digiprensa-content-padding) 50px;
    text-align: center;
    color: white;
    margin-bottom: 0;
    width: 100%;
    position: relative;
    overflow: hidden;
}

.digiprensa-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.1);
    z-index: 0;
}

.digiprensa-hero-content {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 var(--digiprensa-content-padding);
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.digiprensa-hero-title {
    font-size: 2.2rem;
    font-weight: 700;
    margin: 0 0 12px 0;
    color: white;
    text-shadow: 2px 2px 6px rgba(0,0,0,0.3);
    line-height: 1.3;
}

.digiprensa-hero-subtitle {
    font-size: 1.1rem;
    margin: 0 0 30px 0;
    opacity: 0.95;
    font-weight: 400;
    line-height: 1.5;
}

.digiprensa-hero-search {
    max-width: 600px;
    width: 100%;
    margin: 0 auto;
}

.digiprensa-hero-search .digiprensa-search-form {
    display: flex;
    gap: 0;
    max-width: 600px;
    margin: 0 auto;
}

.digiprensa-hero-search .digiprensa-search-input-group {
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    border-radius: 50px;
    overflow: hidden;
    display: flex;
    width: 100%;
    background: var(--dp-surface);
}

.digiprensa-hero-search .digiprensa-search-input {
    padding: 14px 24px;
    font-size: 1rem;
    border-radius: 50px 0 0 50px;
    border: none;
    flex: 1;
    outline: none;
}

.digiprensa-hero-search .digiprensa-search-button {
    padding: 14px 28px;
    border-radius: 0 50px 50px 0;
    background: var(--dp-accent);
    color: var(--dp-surface);
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: background 0.3s ease;
}

.digiprensa-hero-search .digiprensa-search-button:hover {
    background: #c4291f;
    border-color: #c4291f;
}

/* Estadísticas - Sin Bootstrap */
.digiprensa-stats {
    padding: 60px var(--digiprensa-content-padding);
    background: var(--dp-paper);
    width: 100%;
}

.digiprensa-stats-grid {
    max-width: var(--digiprensa-max-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
}

.digiprensa-stat-card {
    background: var(--dp-surface);
    padding: 40px 30px;
    border-radius: 8px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.digiprensa-stat-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.digiprensa-stat-icon {
    font-size: 3rem;
    color: var(--dp-ink);
    margin-bottom: 20px;
}

.digiprensa-stat-number {
    font-size: 3rem;
    font-weight: 700;
    color: var(--dp-ink);
    margin-bottom: 10px;
    line-height: 1;
}

.digiprensa-stat-label {
    font-size: 1rem;
    color: var(--dp-ink-gray);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Grid System Personalizado - Sin Bootstrap */
.digiprensa-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 24px;
    margin: 30px 0 0 0;
}

.digiprensa-grid-2 {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.digiprensa-grid-3 {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

.digiprensa-grid-4 {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}

/* Container Personalizado - Sin Bootstrap */
.digiprensa-container {
    max-width: var(--digiprensa-max-width);
    margin: 0 auto;
    padding: 0 var(--digiprensa-content-padding);
}

.digiprensa-container-wide {
    max-width: 1400px;
}

.digiprensa-container-narrow {
    max-width: 800px;
}


@media (max-width: 768px) {
    .digiprensa-hero-title {
        font-size: 1.8rem;
    }
    
    .digiprensa-hero-subtitle {
        font-size: 1rem;
    }
    
    .digiprensa-stats-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .digiprensa-stat-number {
        font-size: 2rem;
    }
    
    .digiprensa-stat-icon {
        font-size: 2rem;
    }
    
    /* Estilos de tabla responsive movidos a sección específica más abajo */
    
    .digiprensa-breadcrumbs {
        font-size: 0.85rem;
    }
    
    .view-count-badge,
    .new-badge {
        display: block;
        margin: 4px 0 0 0;
    }
    
    .digiprensa-grid {
        grid-template-columns: 1fr;
    }
}

/* Layout Principal - Sin Bootstrap */
.digiprensa-main-layout {
    max-width: var(--digiprensa-max-width);
    margin: 30px auto;
    padding: 0 var(--digiprensa-content-padding);
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 30px;
    align-items: start;
    width: 100%;
    background: transparent;
}

.digiprensa-main-content {
    min-width: 0; /* Evita overflow en grid */
    background: none;
    padding: 0px;
    
}

.digiprensa-sidebar {
    position: sticky;
    top: 20px;
    min-width: 0;
    background: transparent;
}

/* News archive header — spans full width above the content/sidebar grid so the
   first news card lines up with the first sidebar widget. */
.digiprensa-archive-head {
    max-width: var(--digiprensa-max-width);
    margin: 30px auto 0;
    padding: 0 var(--digiprensa-content-padding);
}
.digiprensa-archive-head + .digiprensa-main-layout {
    margin-top: 18px;
}
.digiprensa-archive-head--single {
    margin-top: 20px;
}
.digiprensa-archive-head--single .digiprensa-breadcrumbs-wrapper {
    margin-bottom: 0;
}
.digiprensa-archive-head--single + .digiprensa-main-layout {
    margin-top: 12px;
}

/* Homepage Layout - Sin Sidebar */
.digiprensa-home-container {
    max-width: var(--digiprensa-max-width);
    margin: 0 auto;
    padding: 40px var(--digiprensa-content-padding);
    background: transparent;
}

.digiprensa-home-content {
    width: 100%;
    background: transparent;
}

/* Secciones */
.digiprensa-section {
    margin: 60px 0;
    background: var(--dp-surface);
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: box-shadow 0.3s ease;
}

.digiprensa-section:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}

.digiprensa-section:first-of-type {
    margin-top: 0;
}

.digiprensa-section-header {
    margin-bottom: 30px;
}

.digiprensa-section-title {
    font-size: 2rem;
    font-weight: 700;
    margin: 0 0 12px 0;
    padding-bottom: 15px;
    border-bottom: 3px solid var(--dp-ink);
    color: var(--dp-ink);
    position: relative;
}

.digiprensa-section-title::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 60px;
    height: 3px;
    background: var(--dp-accent);
}

.digiprensa-section-description {
    font-size: 1.05rem;
    color: var(--dp-ink-gray);
    margin: 0;
    line-height: 1.7;
    font-weight: 400;
}

.digiprensa-subtitle {
    font-size: 0.9rem;
    font-weight: 400;
    color: var(--dp-ink-gray);
}


/* Banner Section */
.digiprensa-banner-section {
    text-align: center;
    padding: 20px 0;
}

/* Quick Access - Mejorado */
.digiprensa-quick-access {
    margin: 0 0 60px 0;
    padding: 0;
    background: transparent;
}

.digiprensa-quick-access-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--dp-border);
}

.digiprensa-quick-access-header .digiprensa-section-title {
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
}

.digiprensa-quick-access-icon {
    font-size: 1.5rem;
    line-height: 1;
}

.digiprensa-quick-access-all {
    color: var(--dp-ink);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    transition: all 0.2s ease;
    padding: 8px 16px;
    border-radius: 6px;
    border: 2px solid transparent;
}

.digiprensa-quick-access-all:hover {
    color: var(--dp-surface);
    background: var(--dp-ink);
    border-color: var(--dp-ink);
    text-decoration: none;
    transform: translateX(3px);
}

.digiprensa-quick-access-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 16px;
    margin-top: 0;
}

.digiprensa-quick-access-card {
    display: block;
    background: var(--dp-surface);
    border: 2px solid var(--dp-border);
    border-radius: 12px;
    padding: 20px;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    color: inherit;
}

.digiprensa-quick-access-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--dp-ink), var(--dp-ink-deep));
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.digiprensa-quick-access-card:hover {
    border-color: var(--dp-ink);
    box-shadow: 0 8px 24px rgba(20, 36, 59, 0.15);
    transform: translateY(-4px);
    text-decoration: none;
    color: inherit;
}

.digiprensa-quick-access-card:hover::before {
    transform: scaleX(1);
}

.digiprensa-quick-access-card-inner {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.digiprensa-quick-access-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
}

.digiprensa-quick-access-flag {
    flex-shrink: 0;
    width: 24px;
    height: 18px;
    border-radius: 3px;
    object-fit: cover;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.digiprensa-quick-access-name {
    font-weight: 600;
    font-size: 1rem;
    color: var(--dp-ink);
    line-height: 1.4;
    flex: 1;
}

.digiprensa-quick-access-card:hover .digiprensa-quick-access-name {
    color: var(--dp-ink);
}

.digiprensa-quick-access-count {
    display: flex;
    align-items: baseline;
    gap: 6px;
    padding-top: 8px;
    border-top: 1px solid var(--dp-border);
}

.digiprensa-quick-access-number {
    font-weight: 700;
    font-size: 1.25rem;
    color: var(--dp-ink);
    line-height: 1;
}

.digiprensa-quick-access-label {
    font-size: 0.75rem;
    color: var(--dp-ink-gray);
    text-transform: lowercase;
    line-height: 1;
}

/* Estado para comunidades sin periódicos aún */
.digiprensa-quick-access-card.empty .digiprensa-quick-access-name {
    opacity: 0.8;
}

.digiprensa-quick-access-card.empty::after {
    content: 'Próximamente';
    position: absolute;
    bottom: 8px;
    right: 8px;
    font-size: 0.65rem;
    color: var(--dp-ink-gray);
    font-style: italic;
}

/* Responsive para Quick Access */
@media (max-width: 768px) {
    .digiprensa-quick-access-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    
    .digiprensa-quick-access-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 12px;
    }
    
    .digiprensa-quick-access-card {
        padding: 16px;
    }
    
    .digiprensa-quick-access-name {
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .digiprensa-quick-access-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    
    .digiprensa-quick-access-card {
        padding: 14px;
    }
    
    .digiprensa-quick-access-flag {
        width: 20px;
        height: 15px;
    }
    
    .digiprensa-quick-access-name {
        font-size: 0.85rem;
    }
    
    .digiprensa-quick-access-number {
        font-size: 1.1rem;
    }
}


/* About Section */
.digiprensa-about {
    background: linear-gradient(135deg, var(--dp-paper) 0%, var(--dp-surface) 100%);
    padding: 40px;
    border-radius: 12px;
    line-height: 1.8;
    border: 1px solid var(--dp-border);
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.digiprensa-about p {
    margin-bottom: 20px;
    color: var(--dp-ink-gray);
    font-size: 1.05rem;
}

.digiprensa-about p:last-child {
    margin-bottom: 0;
}

.digiprensa-about strong {
    color: var(--dp-ink);
    font-weight: 600;
}

/* Country Statistics Box */
.digiprensa-country-stats {
    background: linear-gradient(135deg, var(--dp-paper) 0%, var(--dp-surface) 100%);
    padding: 25px;
    border-radius: 12px;
    margin: 30px 0;
    border: 1px solid var(--dp-border);
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.digiprensa-stats-title {
    font-size: 1.3rem;
    font-weight: 600;
    margin: 0 0 20px 0;
    color: var(--dp-ink);
    text-align: center;
}

.digiprensa-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 20px;
}

.digiprensa-stat-item {
    text-align: center;
    padding: 20px;
    background: var(--dp-surface);
    border-radius: 8px;
    border: 1px solid var(--dp-border);
    transition: all 0.3s ease;
}

.digiprensa-stat-item:hover {
    box-shadow: 0 4px 12px rgba(20, 36, 59, 0.15);
    transform: translateY(-2px);
}

.digiprensa-stat-number {
    display: block;
    font-size: 2rem;
    font-weight: 700;
    color: var(--dp-ink);
    margin-bottom: 8px;
    line-height: 1;
}

.digiprensa-stat-label {
    display: block;
    font-size: 0.9rem;
    color: var(--dp-ink-gray);
    font-weight: 500;
}

/* Related Countries */
.digiprensa-related-countries {
    background: var(--dp-surface);
    padding: 30px;
    border-radius: 12px;
    margin: 40px 0;
    border: 1px solid var(--dp-border);
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.digiprensa-related-title {
    font-size: 1.3rem;
    font-weight: 600;
    margin: 0 0 20px 0;
    color: var(--dp-ink);
    padding-bottom: 15px;
    border-bottom: 2px solid var(--dp-ink);
}

.digiprensa-related-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.digiprensa-related-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: var(--dp-paper);
    border: 1px solid var(--dp-border);
    border-radius: 8px;
    color: var(--dp-ink);
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
}

.digiprensa-related-link:hover {
    background: var(--dp-ink);
    color: var(--dp-surface);
    border-color: var(--dp-ink);
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(20, 36, 59, 0.2);
}

.digiprensa-related-name {
    font-weight: 600;
}

.digiprensa-related-count {
    font-size: 0.85rem;
    opacity: 0.8;
}

.digiprensa-related-link:hover .digiprensa-related-count {
    opacity: 1;
}

/* Archive Description */
.digiprensa-archive-description {
    margin: 20px 0;
}

.digiprensa-archive-subtitle {
    font-size: 1.1rem;
    line-height: 1.7;
    color: var(--dp-ink-gray);
    margin: 0;
}

/* Landing Page País */
.digiprensa-landing-pais {
    width: 100%;
}

.digiprensa-landing-hero {
    background: linear-gradient(135deg, var(--dp-ink) 0%, var(--dp-ink-deep) 100%);
    padding: 60px var(--digiprensa-content-padding);
    color: white;
    text-align: center;
}

.digiprensa-landing-container {
    max-width: var(--digiprensa-max-width);
    margin: 0 auto;
    padding: 0 var(--digiprensa-content-padding);
}

.digiprensa-landing-title {
    font-size: 3rem;
    font-weight: 700;
    margin: 20px 0 15px;
    color: white;
    text-shadow: 2px 2px 6px rgba(0,0,0,0.3);
}

.digiprensa-landing-subtitle {
    font-size: 1.3rem;
    line-height: 1.7;
    margin: 0 auto 30px;
    max-width: 800px;
    opacity: 0.95;
}

.digiprensa-landing-stats {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin: 40px 0;
    flex-wrap: wrap;
}

.digiprensa-landing-stat {
    text-align: center;
    padding: 20px 30px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 12px;
    backdrop-filter: blur(10px);
}

.digiprensa-landing-stat-number {
    display: block;
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 8px;
}

.digiprensa-landing-stat-label {
    display: block;
    font-size: 0.95rem;
    opacity: 0.9;
}

.digiprensa-landing-cta {
    margin-top: 30px;
}

.digiprensa-landing-btn {
    display: inline-block;
    padding: 16px 40px;
    background: var(--dp-surface);
    color: var(--dp-ink);
    font-weight: 600;
    font-size: 1.1rem;
    border-radius: 50px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.digiprensa-landing-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.3);
    text-decoration: none;
    color: var(--dp-ink);
}

.digiprensa-landing-content {
    padding: 60px 0;
    background: var(--dp-paper);
}

.digiprensa-landing-section {
    background: var(--dp-surface);
    padding: 40px;
    border-radius: 12px;
    margin-bottom: 30px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.digiprensa-landing-section-title {
    font-size: 2rem;
    font-weight: 700;
    margin: 0 0 15px 0;
    color: var(--dp-ink);
    padding-bottom: 15px;
    border-bottom: 3px solid var(--dp-ink);
}

.digiprensa-landing-section-description {
    font-size: 1.1rem;
    color: var(--dp-ink-gray);
    margin: 0 0 30px 0;
    line-height: 1.7;
}

.digiprensa-landing-papers {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 24px;
    margin-top: 30px;
}

.digiprensa-landing-paper {
    background: var(--dp-paper);
    padding: 24px;
    border-radius: 12px;
    text-align: center;
    border: 1px solid var(--dp-border);
    transition: all 0.3s ease;
}

.digiprensa-landing-paper:hover {
    box-shadow: 0 8px 24px rgba(20, 36, 59, 0.15);
    transform: translateY(-5px);
    border-color: var(--dp-ink);
}

.digiprensa-landing-paper-logo {
    margin-bottom: 15px;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.digiprensa-landing-paper-logo img {
    max-height: 60px;
    width: auto;
}

.digiprensa-landing-paper-title {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0 0 15px 0;
}

.digiprensa-landing-paper-title a {
    color: var(--dp-ink);
    text-decoration: none;
}

.digiprensa-landing-paper-title a:hover {
    color: var(--dp-global);
}

.digiprensa-landing-paper-rank {
    margin-bottom: 15px;
}

.digiprensa-landing-paper-link {
    display: inline-block;
    padding: 8px 16px;
    background: var(--dp-ink);
    color: var(--dp-surface);
    text-decoration: none;
    border-radius: 6px;
    font-size: 0.9rem;
    font-weight: 500;
    transition: all 0.3s ease;
}

.digiprensa-landing-paper-link:hover {
    background: var(--dp-ink-deep);
    text-decoration: none;
    color: var(--dp-surface);
}

.digiprensa-landing-regiones {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 15px;
    margin-top: 30px;
}

.digiprensa-landing-region {
    display: flex;
    flex-direction: column;
    padding: 20px;
    background: var(--dp-paper);
    border: 1px solid var(--dp-border);
    border-radius: 8px;
    text-decoration: none;
    color: var(--dp-ink);
    transition: all 0.3s ease;
}

.digiprensa-landing-region:hover {
    background: var(--dp-ink);
    color: var(--dp-surface);
    border-color: var(--dp-ink);
    text-decoration: none;
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(20, 36, 59, 0.2);
}

.digiprensa-landing-region-name {
    font-weight: 600;
    font-size: 1rem;
    margin-bottom: 5px;
}

.digiprensa-landing-region-count {
    font-size: 0.85rem;
    opacity: 0.8;
}

.digiprensa-landing-back {
    text-align: center;
    padding: 20px 0;
}

.digiprensa-landing-back-link {
    display: inline-block;
    padding: 12px 24px;
    background: var(--dp-paper);
    color: var(--dp-ink);
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    transition: all 0.3s ease;
    border: 2px solid var(--dp-ink);
}

.digiprensa-landing-back-link:hover {
    background: var(--dp-ink);
    color: var(--dp-surface);
    text-decoration: none;
}

/* Main Layout with Sidebar - Sin Bootstrap (duplicado - consolidado arriba) */

/* Sidebar Widgets - Sin Bootstrap */
.digiprensa-sidebar-widget {
    background: var(--dp-surface);
    border-radius: 10px;
    padding: 22px;
    margin-bottom: 20px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
    min-width: 0;
    box-sizing: border-box;
}

.digiprensa-sidebar-widget:last-child {
    margin-bottom: 0;
}

.digiprensa-ad-widget {
    text-align: center;
    min-height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Banner Wrapper */
.digiprensa-banner-wrapper {
    max-width: var(--digiprensa-max-width);
    margin: 0 auto 30px;
    padding: 0 var(--digiprensa-content-padding);
    text-align: center;
}


/* Page Header */
.digiprensa-page-header {
    margin-bottom: 30px;
}

.digiprensa-archive-title {
    font-size: 2rem;
    margin-bottom: 10px;
    color: var(--dp-ink);
}

.digiprensa-archive-subtitle {
    font-size: 1.1rem;
    font-weight: normal;
    color: var(--dp-ink-gray);
    line-height: 1.6;
}

.digiprensa-subtitle {
    font-size: 1.2rem;
    margin-bottom: 15px;
    color: var(--dp-ink);
}

/* ============================================
   ENLACES A CATEGORÍAS - DISEÑO SIMPLE
   ============================================ */

/* Contenedor principal */
.digiprensa-child-categories {
    margin-bottom: 30px;
    padding: 0;
}

.digiprensa-child-categories .digiprensa-subtitle {
    font-size: 0.95rem;
    font-weight: 600;
    margin-bottom: 16px;
    color: var(--dp-ink-gray);
    text-transform: none;
    letter-spacing: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.digiprensa-child-categories .digiprensa-subtitle svg {
    opacity: 0.6;
    width: 18px;
    height: 18px;
}

/* Contenedor de botones */
.digiprensa-category-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

/* Botones de categoría */
.digiprensa-category-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: var(--dp-paper);
    color: var(--dp-ink-gray);
    border-radius: 8px;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    transition: all 0.2s ease;
    border: 1px solid var(--dp-border);
    cursor: pointer;
}

.digiprensa-category-btn:hover {
    background: var(--dp-ink);
    color: var(--dp-surface);
    text-decoration: none;
    border-color: var(--dp-ink);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(20, 36, 59, 0.2);
}

/* Nombre de categoría */
.digiprensa-category-name {
    font-weight: 500;
    transition: color 0.2s ease;
}

.digiprensa-category-btn:hover .digiprensa-category-name {
    color: var(--dp-surface);
}

/* Contador de categoría */
.digiprensa-category-count {
    background: var(--dp-border);
    color: var(--dp-ink-gray);
    padding: 3px 8px;
    border-radius: 10px;
    font-size: 0.75rem;
    font-weight: 600;
    min-width: 24px;
    text-align: center;
    transition: all 0.2s ease;
}

.digiprensa-category-btn:hover .digiprensa-category-count {
    background: rgba(255, 255, 255, 0.2);
    color: var(--dp-surface);
}

/* Responsive: Tablets */
@media (max-width: 768px) {
    .digiprensa-child-categories {
        margin-bottom: 25px;
    }
    
    .digiprensa-child-categories .digiprensa-subtitle {
        font-size: 0.9rem;
        margin-bottom: 14px;
    }
    
    .digiprensa-category-buttons {
        gap: 6px;
    }
    
    .digiprensa-category-btn {
        padding: 8px 14px;
        font-size: 0.85rem;
    }
    
    .digiprensa-category-count {
        padding: 2px 6px;
        font-size: 0.7rem;
        min-width: 20px;
    }
}

/* Responsive: Móviles */
@media (max-width: 480px) {
    .digiprensa-child-categories {
        margin-bottom: 20px;
    }
    
    .digiprensa-child-categories .digiprensa-subtitle {
        font-size: 0.85rem;
        margin-bottom: 12px;
    }
    
    .digiprensa-category-buttons {
        gap: 6px;
    }
    
    .digiprensa-category-btn {
        padding: 8px 12px;
        font-size: 0.8rem;
        flex: 1 1 calc(50% - 3px);
        min-width: calc(50% - 3px);
        justify-content: space-between;
    }
    
    .digiprensa-category-name {
        font-size: 0.8rem;
    }
    
    .digiprensa-category-count {
        padding: 2px 6px;
        font-size: 0.65rem;
        min-width: 18px;
    }
}

/* Facebook Widget */
.digiprensa-facebook-widget {
    width: 100%;
    overflow: hidden;
}

.digiprensa-facebook-widget iframe {
    max-width: 100%;
}

/* Country Selector Section - Homepage */
.digiprensa-country-selector-section {
    background: var(--dp-surface);
    padding: 30px 40px;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    margin-bottom: 40px;
    border: 1px solid var(--dp-border);
    text-align: center;
}

.digiprensa-country-selector-section .digiprensa-country-selector {
    max-width: 500px;
    margin: 0 auto;
}

.digiprensa-country-selector-section .digiprensa-selector-label {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--dp-ink);
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.digiprensa-country-selector-section .digiprensa-selector-label .digiprensa-icon {
    width: 20px;
    height: 20px;
}

.digiprensa-country-selector-section .digiprensa-selector-label .digiprensa-icon svg {
    width: 100%;
    height: 100%;
    fill: var(--dp-ink);
}

.digiprensa-country-selector-section .digiprensa-select {
    font-size: 1.05rem;
    padding: 14px 20px;
    border: 2px solid var(--dp-border);
    border-radius: 8px;
    background: var(--dp-surface);
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.digiprensa-country-selector-section .digiprensa-select:hover {
    border-color: var(--dp-ink);
    box-shadow: 0 4px 8px rgba(20, 36, 59, 0.15);
}

.digiprensa-country-selector-section .digiprensa-select:focus {
    border-color: var(--dp-ink);
    box-shadow: 0 0 0 3px rgba(20, 36, 59, 0.15);
}

/* Country Selector - Sin Bootstrap (para sidebar) */
.digiprensa-country-selector {
    width: 100%;
    min-width: 0;
}

.digiprensa-selector-label {
    display: block;
    font-weight: 600;
    margin-bottom: 12px;
    color: var(--dp-ink);
    font-size: 1rem;
    line-height: 1.4;
}

.digiprensa-selector-label .digiprensa-icon {
    display: inline-flex;
    align-items: center;
    margin-right: 8px;
    vertical-align: middle;
}

.digiprensa-selector-label .digiprensa-icon svg {
    width: 18px;
    height: 18px;
    fill: var(--dp-ink);
}

.digiprensa-select {
    width: 100%;
    min-width: 0;
    padding: 14px 45px 14px 16px;
    font-size: 1rem;
    line-height: 1.5;
    border: 2px solid var(--dp-border);
    border-radius: 8px;
    background: var(--dp-surface);
    color: var(--dp-ink);
    cursor: pointer;
    transition: all 0.3s ease;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2314243b' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 18px center;
    background-size: 14px;
    box-sizing: border-box;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.digiprensa-select:hover {
    border-color: var(--dp-ink);
}

.digiprensa-select:focus {
    outline: none;
    border-color: var(--dp-ink);
    box-shadow: 0 0 0 3px rgba(20, 36, 59, 0.1);
}

.digiprensa-select option {
    padding: 10px;
}

/* Ad Section */
.digiprensa-ad-section {
    margin: 30px 0;
    text-align: center;
}

/* Responsive - Sin Bootstrap */
@media (max-width: 992px) {
    .digiprensa-main-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .digiprensa-sidebar {
        margin-top: 0;
        position: static;
        max-height: none;
    }
}

@media (max-width: 768px) {
    .digiprensa-hero-title {
        font-size: 1.8rem;
    }
    
    .digiprensa-hero-subtitle {
        font-size: 1rem;
    }
    
    .digiprensa-stats-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .digiprensa-stat-number {
        font-size: 2rem;
    }
    
    .digiprensa-stat-icon {
        font-size: 2rem;
    }
    
    .digiprensa-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 15px;
    }
    
    .digiprensa-quick-links {
        font-size: 0.9rem;
    }
    
    /* Estilos de tabla responsive movidos a sección específica más abajo */
    
    .digiprensa-breadcrumbs {
        font-size: 0.85rem;
    }
    
    .view-count-badge,
    .new-badge {
        display: block;
        margin: 4px 0 0 0;
    }
}


/* ============================================
   ESTILOS PARA PÁGINAS DE CONTINENTES - SIN BOOTSTRAP
   ============================================ */

/* Container sin Bootstrap */
.continente-container {
    max-width: var(--digiprensa-max-width);
    margin: 0 auto;
    padding: 20px var(--digiprensa-content-padding);
}

/* Row sin Bootstrap - Flexbox layout */
.continente-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 0;
}

/* Contenedor principal de banderas */
.continente-content {
    flex: 1;
    min-width: 0; /* Permite que el contenido se ajuste */
}

/* Sidebar lateral */
.continente-sidebar {
    flex: 0 0 300px;
    max-width: 300px;
}

/* Grid de banderas - CSS Grid responsive */
.continente-flags-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

/* Estilos para cada bandera */
.continente-bandera {
    text-align: center;
    margin-bottom: 0;
}

.continente-bandera a {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: var(--dp-ink);
    transition: all 0.3s ease;
    padding: 10px;
    border-radius: 8px;
}

.continente-bandera a:hover {
    background: var(--dp-paper);
    transform: translateY(-3px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.continente-bandera a img {
    border: solid 1px var(--dp-border);
    max-width: 100px;
    width: 100px;
    height: auto;
    margin: 0 auto 8px;
    display: block;
    border-radius: 4px;
    transition: transform 0.3s ease;
}

.continente-bandera a:hover img {
    transform: scale(1.05);
    border-color: var(--dp-ink);
}

.continente-bandera a {
    font-size: 0.9rem;
    line-height: 1.4;
    word-break: break-word;
    color: var(--dp-ink);
}

/* Título y descripción */
.continente-header {
    margin-bottom: 30px;
}

.continente-header h1 {
    font-size: 2rem;
    margin-bottom: 10px;
    color: var(--dp-ink);
}

.continente-header p {
    color: var(--dp-ink-gray);
    line-height: 1.6;
    margin-bottom: 8px;
}

/* Sección del mapa */
.continente-map {
    margin-top: 40px;
    text-align: center;
    padding: 30px 0;
    border-top: 1px solid var(--dp-border);
}

.continente-map h2 {
    font-size: 1.5rem;
    margin-bottom: 20px;
    color: var(--dp-ink);
}

.continente-map img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Responsive - Tablets */
@media (max-width: 992px) {
    .continente-sidebar {
        flex: 0 0 250px;
        max-width: 250px;
    }
    
    .continente-flags-grid {
        grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
        gap: 15px;
    }
}

/* Responsive - Móviles */
@media (max-width: 768px) {
    .continente-row {
        flex-direction: column;
    }
    
    .continente-sidebar {
        flex: 1 1 auto;
        max-width: 100%;
        order: -1; /* Sidebar primero en móvil */
    }
    
    .continente-flags-grid {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
        gap: 15px;
    }
    
    .continente-bandera a img {
        max-width: 80px;
        width: 80px;
    }
    
    .continente-header h1 {
        font-size: 1.5rem;
    }
    
    .continente-map h2 {
        font-size: 1.25rem;
    }
}

/* Responsive - Móviles pequeños */
@media (max-width: 480px) {
    .continente-flags-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    
    .continente-bandera a {
        padding: 8px;
    }
    
    .continente-bandera a img {
        max-width: 70px;
        width: 70px;
    }
}

/* Estilos para Páginas (Page Templates) */
/* Layout específico para páginas sin sidebar */
.digiprensa-page-layout {
    max-width: var(--digiprensa-max-width);
    margin: 30px auto;
    padding: 0 var(--digiprensa-content-padding);
    width: 100%;
    background: transparent;
}

.digiprensa-page-content {
    max-width: 900px;
    margin: 0 auto;
    width: 100%;
    background: transparent;
}

/* Redesign homepage rules */
/**
 * Digiprensa — Homepage layout
 *
 * Section wrappers, featured / ranked grids, region columns, and the
 * country/city full-width layout. Also carries the home responsive overrides
 * (which adjust the hero and featured grid at small widths). Consumes
 * tokens.css. Must load AFTER components/hero.css so the responsive overrides
 * win the cascade exactly as before.
 *
 * @package understrap
 */

/* ======================================================================== */
/* Márgenes de sección                                                       */
/* ======================================================================== */
#home-wrapper .home-featured-section,
#home-wrapper .home-ranked-section,
#home-wrapper .home-regions-section {
	margin: 3rem auto;
	max-width: var(--dp-max);
}

/* ======================================================================== */
/* Encabezados de sección — eyebrow (Space Mono) + título (Bricolage)        */
/* Alinea la home con el patrón del sistema (styleguide + ficha single).     */
/* homepage.css carga DESPUÉS de hero.css, así que estas reglas afinan       */
/* .home-section-title sin tocar la capa de componentes.                     */
/* ======================================================================== */
.home-section-head {
	margin: 0 0 1.5rem;
	padding-bottom: .75rem;
	border-bottom: 1px solid var(--dp-border);
}

.home-section-eyebrow {
	font-family: var(--dp-font-mono);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--dp-accent-ink);
	margin: 0 0 .35rem;
}

/* Título de sección — hairline limpio del sistema (reemplaza el subrayado
   pesado 2px + tick de acento que definía hero.css). */
#home-wrapper .home-section-title {
	margin: 0;
	padding-bottom: 0;
	border-bottom: 0;
	font-family: var(--dp-font-display);
	font-size: clamp(1.35rem, 3vw, 1.75rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.01em;
	color: var(--dp-ink);
}

/* ======================================================================== */
/* Grid de destacados                                                        */
/* ======================================================================== */
.home-featured-grid {
	display: grid;
	gap: var(--dp-gap);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 768px) {
	.home-featured-grid {
		grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	}
}

/* ======================================================================== */
/* Más vistos y valorados                                                    */
/* ======================================================================== */
.home-ranked-grid {
	display: grid;
	gap: var(--dp-gap);
	grid-template-columns: 1fr;
}

@media (min-width: 768px) {
	.home-ranked-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.home-ranked-subtitle {
	font-family: var(--dp-font-mono);
	margin: 0 0 .9rem;
	padding-bottom: .5rem;
	border-bottom: 1px solid var(--dp-border);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--dp-ink-gray);
}

/* ======================================================================== */
/* Países más buscados — lista de enlaces (2ª columna de rankings)          */
/* ======================================================================== */
/* Mismo look de tabla que las columnas numeradas (ranking / más consultados):
   contenedor con borde, celda de posición con fondo paper y hairline derecho,
   top-3 en rojo de acción. */
.home-country-list {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
	counter-reset: dp-country;
	border: 1px solid var(--dp-border);
	border-radius: var(--dp-radius);
	overflow: hidden;
}

.home-country-list__item {
	position: relative;
	counter-increment: dp-country;
	border-bottom: 1px solid var(--dp-border);
}

.home-country-list__item:last-child {
	border-bottom: 0;
}

.home-country-list__item::before {
	content: counter(dp-country);
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--dp-font-mono);
	font-size: .75rem;
	font-weight: 700;
	color: var(--dp-ink-gray);
	background: var(--dp-paper);
	border-right: 1px solid var(--dp-border);
	pointer-events: none;
}

.home-country-list__item:nth-child(1)::before,
.home-country-list__item:nth-child(2)::before,
.home-country-list__item:nth-child(3)::before {
	color: var(--dp-accent);
	font-weight: 800;
}

.home-country-list__item a {
	display: flex;
	align-items: center;
	gap: .7rem;
	padding: .7rem .85rem .7rem 3.25rem;
	color: var(--dp-ink);
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
}

.home-country-list__item a:hover,
.home-country-list__item a:focus {
	background: var(--dp-paper);
	color: var(--dp-accent-ink);
}

.home-country-list__flag {
	flex: 0 0 auto;
	width: 24px;
	height: 18px;
	border-radius: 2px;
	object-fit: cover;
	box-shadow: 0 0 0 1px var(--dp-border);
}

.home-country-list__name {
	font-family: var(--dp-font-display);
	font-weight: 600;
	font-size: .95rem;
}

/* ======================================================================== */
/* Columnas de región (continente → país)                                   */
/* ======================================================================== */
.region-columns {
	display: grid;
	gap: var(--dp-gap);
	grid-template-columns: 1fr;
}

@media (min-width: 576px) {
	.region-columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 992px) {
	/* Desktop: 2 columnas de continentes (el interior a 3 se define tras la regla base). */
	.region-columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.region-columns__continent {
	break-inside: avoid;
	padding: 1.15rem 1.25rem 1.3rem;
	background: var(--dp-surface);
	border: 1px solid var(--dp-border);
	border-radius: var(--dp-radius);
	transition: box-shadow .15s ease, border-color .15s ease;
}

.region-columns__continent:hover {
	border-color: var(--dp-ink-gray);
	box-shadow: 0 6px 20px -12px rgba(20, 36, 59, .35);
}

/* Título de continente: marca de Digiprensa (favicon) en el slot del icono +
   regla hairline inferior. Marca decorativa (alt="" en el HTML): el nombre del
   continente ya va al lado. */
.region-columns__continent-title {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-family: var(--dp-font-display);
	margin: 0 0 .8rem;
	padding-bottom: .5rem;
	border-bottom: 1px solid var(--dp-border);
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--dp-ink);
	letter-spacing: -.01em;
}

.region-columns__continent-mark {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	border-radius: 3px;
}

.region-columns__country-list {
	list-style: none;
	margin: 0;
	padding: 0;
	columns: 2;
	column-gap: 1rem;
}

/* Desktop: 3 columnas internas de países por región.
   Va DESPUÉS de la regla base para ganar en orden de cascada (misma especificidad). */
@media (min-width: 992px) {
	.region-columns__country-list {
		columns: 3;
	}
}

.region-columns__country-item {
	break-inside: avoid;
	margin-bottom: .3rem;
}

.region-columns__country-link {
	font-family: var(--dp-font-body);
	font-size: .875rem;
	color: var(--dp-ink-gray);
	text-decoration: none;
	line-height: 1.4;
}

.region-columns__country-link:hover {
	color: var(--dp-global);
	text-decoration: underline;
}

.region-columns__country-link:focus-visible {
	outline: 2px solid var(--dp-accent);
	outline-offset: 2px;
	border-radius: 2px;
}

/* Bandera decorativa junto al nombre de país en el directorio por región */
.region-columns__flag {
	width: 18px;
	height: 13px;
	object-fit: cover;
	border-radius: 2px;
	box-shadow: 0 0 0 1px var(--dp-border);
	margin-right: .4rem;
	vertical-align: -1px;
}

/* ======================================================================== */
/* Country / city landing — full-width layout                               */
/* ======================================================================== */

/**
 * Full-width content wrapper for country and city landing pages.
 * Removes the two-column sidebar grid so the newspaper grid can use the
 * full container width. Applied in category.php country and city branches.
 */
.digiprensa-main-layout--full {
	display: block;
}

.digiprensa-main-layout--full .digiprensa-main-content {
	max-width: 100%;
}

/* ======================================================================== */
/* Responsive — ajustes generales de la home                               */
/* ======================================================================== */
@media (max-width: 576px) {
	.dp-hero {
		padding: 2.5rem 1rem 2rem;
	}

	.dp-hero__stats {
		gap: .25rem .5rem;
	}

	.home-featured-grid {
		grid-template-columns: 1fr;
	}

	#home-wrapper .home-featured-section,
	#home-wrapper .home-ranked-section,
	#home-wrapper .home-regions-section {
		margin: 2rem auto;
	}

	.home-section-head {
		margin-bottom: 1.25rem;
	}
}

/* ======================================================================== */
/* CTA de columna — enlace a la página completa (más vistos / ranking)       */
/* Compartido por ambas columnas de .home-ranked-grid para un pie simétrico. */
/* ======================================================================== */
.home-ranked-cta {
	margin: 1.25rem 0 0;
	text-align: center;
}

.home-ranked-cta__link {
	display: inline-block;
	padding: .65rem 1.5rem;
	font-family: var(--dp-font-mono);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--dp-surface);
	background: var(--dp-ink);
	border-radius: var(--dp-radius);
	transition: background .15s ease;
}

.home-ranked-cta__link:hover,
.home-ranked-cta__link:focus {
	background: var(--dp-accent);
	color: var(--dp-surface);
}

/* ======================================================================== */
/* Listas numeradas — ranking mundial y más vistos (posición 1..20)          */
/* El partial newspaper-card--dense emite <li>; un contador CSS sobre         */
/* .newspaper-card-list--numbered inyecta la posición vía ::before, así el    */
/* número es puramente visual y no altera el markup de la card.              */
/* ======================================================================== */
.newspaper-card-list--numbered {
	counter-reset: dp-rank;
}

.newspaper-card-list--numbered > .newspaper-card--dense {
	counter-increment: dp-rank;
	position: relative;
	/* Hueco a la izquierda para el badge de posición */
	padding-left: 3rem;
}

.newspaper-card-list--numbered > .newspaper-card--dense::before {
	content: counter(dp-rank);
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--dp-font-mono);
	font-size: .75rem;
	font-weight: 700;
	color: var(--dp-ink-gray);
	background: var(--dp-paper);
	border-right: 1px solid var(--dp-border);
}

/* Las 3 primeras posiciones destacan con el rojo de acción */
.newspaper-card-list--numbered > .newspaper-card--dense:nth-child(1)::before,
.newspaper-card-list--numbered > .newspaper-card--dense:nth-child(2)::before,
.newspaper-card-list--numbered > .newspaper-card--dense:nth-child(3)::before {
	color: var(--dp-accent);
	font-weight: 800;
}


/* --- cards.css --- */
/* Legacy estilos card rules */

/* Badges and Indicators */
.view-count-badge {
    font-size: 0.75rem;
    margin-left: 8px;
    vertical-align: middle;
}

.new-badge {
    font-size: 0.7rem;
    margin-left: 8px;
    vertical-align: middle;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.7;
    }
}

/* Badges - Sin Bootstrap */
.digiprensa-badge {
    display: inline-block;
    padding: 4px 8px;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: 4px;
    color: var(--dp-surface);
}

.digiprensa-badge-success {
    background-color: var(--dp-ok);
}

.digiprensa-badge-info {
    background-color: var(--dp-global);
}

.digiprensa-badge-primary {
    background-color: var(--dp-ink);
}

.digiprensa-badge-warning {
    background-color: var(--dp-gold);
    color: var(--dp-ink);
}

.digiprensa-badge-secondary {
    background-color: var(--dp-ink-gray);
}

.digiprensa-badge-light {
    background-color: var(--dp-paper);
    color: var(--dp-ink);
}

.digiprensa-badge-pill {
    border-radius: 50rem;
    padding: 4px 10px;
}


/* Badges Personalizados - Sin Bootstrap */
.digiprensa-badge {
    display: inline-block;
    padding: 4px 12px;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.digiprensa-badge-success {
    background: var(--dp-ok);
    color: var(--dp-surface);
}

.digiprensa-badge-info {
    background: var(--dp-global);
    color: var(--dp-surface);
}

.digiprensa-badge-primary {
    background: var(--dp-ink);
    color: var(--dp-surface);
}

.digiprensa-badge-warning {
    background: var(--dp-gold);
    color: var(--dp-ink);
}

.digiprensa-badge-secondary {
    background: var(--dp-ink-gray);
    color: var(--dp-surface);
}


/* Media Cards - Sin Bootstrap */
.digiprensa-media-card {
    background: var(--dp-surface);
    border: 1px solid var(--dp-border);
    border-radius: 12px;
    padding: 24px;
    text-align: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.digiprensa-media-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--dp-ink);
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.digiprensa-media-card:hover {
    box-shadow: 0 8px 24px rgba(20, 36, 59, 0.15);
    transform: translateY(-5px);
    border-color: var(--dp-ink);
}

.digiprensa-media-card:hover::before {
    transform: scaleX(1);
}

.digiprensa-media-card-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.digiprensa-media-logo {
    margin-bottom: 15px;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.digiprensa-media-logo img {
    max-height: 60px;
    width: auto;
    object-fit: contain;
}

.digiprensa-media-title {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 10px 0;
    line-height: 1.4;
    flex-grow: 1;
}

.digiprensa-media-title a {
    color: var(--dp-ink);
    text-decoration: none;
}

.digiprensa-media-title a:hover {
    color: var(--dp-global);
    text-decoration: underline;
}

.digiprensa-media-flag {
    margin-top: auto;
    padding-top: 10px;
}

.digiprensa-media-flag img {
    height: 16px;
    width: auto;
}


/* ============================================
   SINGLE NEWSPAPER - REDISEÑO COMPLETO UX
   ============================================ */

/* Hero Section - 2 columnas simples */
.digiprensa-single-hero {
    background: var(--dp-surface);
    padding: 30px;
    margin: 0 auto 30px auto;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    position: relative;
    max-width: var(--digiprensa-max-width);
}

.digiprensa-single-hero-inner {
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
}

.digiprensa-single-hero-top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: start;
}

.digiprensa-single-hero-left {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.digiprensa-single-hero-title-wrapper {
    flex: 1;
    min-width: 0;
}

.digiprensa-single-hero-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    flex-wrap: wrap;
    font-size: 0.9rem;
    color: var(--dp-ink-gray);
}

.digiprensa-meta-separator {
    color: var(--dp-border);
    font-weight: 300;
}

.digiprensa-meta-item {
    color: var(--dp-ink-gray);
}

.digiprensa-single-logo-wrapper {
    background: var(--dp-surface);
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    display: inline-block;
    align-self: flex-start;
    margin-bottom: 0;
}

.digiprensa-single-logo {
    max-width: 120px;
    max-height: 120px;
    width: auto;
    height: auto;
    display: block;
}

.digiprensa-single-hero-content {
    flex: 1;
    color: var(--dp-surface);
}

.digiprensa-single-title {
    font-size: 2rem;
    font-weight: 700;
    margin: 0 0 12px 0;
    color: var(--dp-ink);
    line-height: 1.3;
}

.digiprensa-single-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    font-size: 0.95rem;
    color: var(--dp-ink-gray);
}

.digiprensa-single-country {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--dp-ink-gray);
    text-decoration: none;
    padding: 6px 12px;
    background: var(--dp-paper);
    border-radius: 20px;
    transition: all 0.3s ease;
}

.digiprensa-single-country:hover {
    background: var(--dp-border);
    transform: translateY(-2px);
    color: var(--dp-ink);
}

.digiprensa-flag-icon {
    width: 20px;
    height: 15px;
    border-radius: 2px;
    object-fit: cover;
}

.digiprensa-single-separator {
    opacity: 0.6;
}

.digiprensa-single-views {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--dp-ink-gray);
}

.digiprensa-single-views .digiprensa-icon {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.digiprensa-single-metrics {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.digiprensa-single-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 12px;
    margin-bottom: 12px;
}

.digiprensa-btn-primary,
.digiprensa-btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 0.95rem;
    font-weight: 500;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.digiprensa-btn-primary {
    background: var(--dp-surface);
    color: var(--dp-ink);
}

.digiprensa-btn-primary:hover {
    background: var(--dp-paper);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.digiprensa-btn-secondary {
    background: rgba(255,255,255,0.2);
    color: white;
    border: 1px solid rgba(255,255,255,0.3);
}

.digiprensa-btn-secondary:hover {
    background: rgba(255,255,255,0.3);
    transform: translateY(-2px);
}

.digiprensa-btn-primary .digiprensa-icon,
.digiprensa-btn-secondary .digiprensa-icon {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

/* Link simple para "Visitar Sitio Web" */
.digiprensa-visit-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--dp-global);
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 500;
    transition: color 0.2s ease;
}

.digiprensa-visit-link:hover {
    color: var(--dp-ink);
    text-decoration: underline;
}

.digiprensa-visit-link .digiprensa-icon {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

/* Screenshot en hero - Columna derecha */
.digiprensa-single-screenshot-hero {
    position: relative;
}

.digiprensa-single-screenshot-hero .digiprensa-screenshot-link {
    display: block;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0,0,0,0.3);
    transition: all 0.3s ease;
    background: var(--dp-surface);
}

.digiprensa-single-screenshot-hero .digiprensa-screenshot-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.4);
}

/* Screenshot loading states */
.digiprensa-single-screenshot-hero {
	position: relative;
}

.digiprensa-screenshot-img.digiprensa-screenshot-loading {
	opacity: 0.6;
	filter: blur(2px);
	transition: opacity 0.5s ease, filter 0.5s ease;
}

.digiprensa-screenshot-loading-indicator {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: rgba(255, 255, 255, 0.95);
	padding: 12px 20px;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
	z-index: 10;
	font-size: 0.9rem;
	color: var(--dp-global);
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: 8px;
}

.digiprensa-screenshot-loading-indicator::before {
	content: '';
	width: 16px;
	height: 16px;
	border: 2px solid var(--dp-global);
	border-top-color: transparent;
	border-radius: 50%;
	animation: digiprensa-spin 0.8s linear infinite;
}

@keyframes digiprensa-spin {
	to {
		transform: rotate(360deg);
	}
}

.digiprensa-single-screenshot-hero .digiprensa-screenshot-img {
    width: 100%;
    height: auto;
    display: block;
    background: var(--dp-paper);
    transition: opacity 0.5s ease;
}

.digiprensa-single-screenshot-hero .digiprensa-screenshot-img[src*="placeholder"] {
    background: var(--dp-paper);
}

.digiprensa-screenshot-meta {
	margin-top: 8px;
	text-align: center;
	font-size: 0.75rem;
	color: var(--dp-ink-gray);
}

/* Screenshot standalone (si se necesita en otro lugar) */
.digiprensa-single-screenshot-wrapper {
    max-width: var(--digiprensa-max-width);
    margin: 0 auto 40px;
    padding: 0 var(--digiprensa-content-padding);
}

.digiprensa-screenshot-link {
    display: block;
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
}

.digiprensa-screenshot-link:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.2);
}

.digiprensa-screenshot-img {
    width: 100%;
    height: auto;
    display: block;
    background: var(--dp-paper);
}

.digiprensa-screenshot-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    color: white;
    font-weight: 600;
}

.digiprensa-screenshot-link:hover .digiprensa-screenshot-overlay {
    opacity: 1;
}

/* Layout principal - 2 columnas */
.digiprensa-single-main {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 30px;
    align-items: start;
    width: 100%;
}

.digiprensa-single-content {
    min-width: 0;
}

.digiprensa-single-sidebar {
    position: sticky;
    top: 20px;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
}

/* Secciones */
.digiprensa-single-section {
    background: var(--dp-surface);
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    margin-bottom: 20px;
}

.digiprensa-section-heading {
    font-size: 1.3rem;
    font-weight: 600;
    margin: 0 0 16px 0;
    color: var(--dp-ink);
    display: flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--dp-border);
}

.digiprensa-section-heading .digiprensa-icon {
    width: 24px;
    height: 24px;
    fill: var(--dp-global);
}

/* Información en grid */
/* Metadatos de Microlink */
.digiprensa-microlink-metadata {
	margin-top: 20px;
}

.digiprensa-metadata-category {
	margin-bottom: 30px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--dp-border);
}

.digiprensa-metadata-category:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.digiprensa-metadata-category-title {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--dp-ink);
	margin-bottom: 15px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--dp-ink);
}

.digiprensa-metadata-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 15px;
}

.digiprensa-metadata-item {
	display: flex;
	flex-direction: column;
	padding: 12px;
	background: var(--dp-paper);
	border-radius: 6px;
	border-left: 3px solid var(--dp-ink);
	transition: all 0.3s ease;
}

.digiprensa-metadata-item:hover {
	background: var(--dp-paper);
	transform: translateX(3px);
}

.digiprensa-metadata-label {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--dp-ink-gray);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 6px;
}

.digiprensa-metadata-value {
	font-size: 0.95rem;
	color: var(--dp-ink);
	word-break: break-word;
	line-height: 1.5;
}

.digiprensa-metadata-value a {
	color: var(--dp-global);
	text-decoration: none;
	transition: color 0.3s ease;
}

.digiprensa-metadata-value a:hover {
	color: var(--dp-ink);
	text-decoration: underline;
}

.digiprensa-metadata-image {
	max-width: 100%;
	height: auto;
	border-radius: 4px;
	margin-top: 8px;
	max-height: 150px;
	object-fit: contain;
}

.digiprensa-color-sample {
	display: inline-block;
	width: 20px;
	height: 20px;
	border-radius: 3px;
	border: 1px solid var(--dp-border);
	vertical-align: middle;
	margin-right: 6px;
}

.digiprensa-info-grid {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.digiprensa-info-row {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid var(--dp-border);
}

.digiprensa-info-row:last-child {
    border-bottom: none;
}

.digiprensa-info-label {
    font-weight: 600;
    color: var(--dp-ink-gray);
    font-size: 0.85rem;
}

.digiprensa-info-value {
    color: var(--dp-ink);
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    font-size: 0.9rem;
}

/* Sección URL destacada */
.digiprensa-url-section {
    background: var(--dp-paper);
    border-left: 4px solid var(--dp-ink);
}

.digiprensa-url-container {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.digiprensa-url-label {
    font-weight: 600;
    color: var(--dp-ink-gray);
    font-size: 0.9rem;
    flex-shrink: 0;
}

.digiprensa-url-link {
    flex: 1;
    min-width: 0;
    color: var(--dp-global);
    text-decoration: none;
    font-size: 0.95rem;
    word-break: break-all;
    transition: color 0.2s ease;
}

.digiprensa-url-link:hover {
    color: var(--dp-ink);
    text-decoration: underline;
}

.digiprensa-copy-btn-small {
    background: var(--dp-paper);
    border: 1px solid var(--dp-border);
    border-radius: 4px;
    padding: 4px 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
}

.digiprensa-copy-btn-small:hover {
    background: var(--dp-global);
    border-color: var(--dp-global);
    color: var(--dp-surface);
}

.digiprensa-copy-btn-small .digiprensa-icon {
    width: 14px;
    height: 14px;
}

.digiprensa-flag-small {
    width: 20px;
    height: 15px;
    border-radius: 2px;
    object-fit: cover;
    vertical-align: middle;
}

/* Descripción */
.digiprensa-single-description {
    color: var(--dp-ink-gray);
    line-height: 1.8;
    font-size: 1rem;
}

.digiprensa-single-description p {
    margin: 0 0 16px 0;
}

.digiprensa-single-description p:last-child {
    margin-bottom: 0;
}

/* Descripción en el hero - Full width debajo de las 2 columnas */
.digiprensa-single-hero-description {
    padding-top: 20px;
    border-top: 1px solid var(--dp-border);
    color: var(--dp-ink-gray);
    line-height: 1.7;
    font-size: 1rem;
    width: 100%;
}

.digiprensa-single-hero-description p {
    margin: 0 0 12px 0;
    color: var(--dp-ink-gray);
}

.digiprensa-single-hero-description p:last-child {
    margin-bottom: 0;
}


/* Sidebar Cards */
.digiprensa-sidebar-card {
    background: var(--dp-surface);
    padding: 16px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    margin-bottom: 16px;
}

.digiprensa-sidebar-title {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 12px 0;
    color: var(--dp-ink);
    padding-bottom: 8px;
    border-bottom: 2px solid var(--dp-border);
}

.digiprensa-sidebar-metrics {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.digiprensa-sidebar-metric {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid var(--dp-border);
}

.digiprensa-sidebar-metric:last-child {
    border-bottom: none;
}

.digiprensa-sidebar-metric-label {
    font-size: 0.85rem;
    color: var(--dp-ink-gray);
    font-weight: 500;
}

.digiprensa-sidebar-metric-value {
    font-size: 0.9rem;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 4px;
}

.digiprensa-sidebar-links {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--dp-border);
}

.digiprensa-sidebar-link {
    color: var(--dp-global);
    text-decoration: none;
    font-size: 0.9rem;
    transition: all 0.2s ease;
}

.digiprensa-sidebar-link:hover {
    color: var(--dp-ink);
    text-decoration: underline;
}

/* Información técnica */
.digiprensa-sidebar-tech {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.digiprensa-tech-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    border-bottom: 1px solid var(--dp-border);
}

.digiprensa-tech-item:last-child {
    border-bottom: none;
}

.digiprensa-tech-label {
    font-size: 0.9rem;
    color: var(--dp-ink-gray);
    font-weight: 500;
}

.digiprensa-tech-value {
    font-size: 0.9rem;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 6px;
}

/* Redes sociales */
.digiprensa-sidebar-social {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.digiprensa-social-link {
    display: inline-block;
    padding: 10px 16px;
    background: var(--dp-paper);
    border: 1px solid var(--dp-border);
    border-radius: 8px;
    color: var(--dp-global);
    text-decoration: none;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    text-align: center;
}

.digiprensa-social-link:hover {
    background: var(--dp-global);
    color: var(--dp-surface);
    border-color: var(--dp-global);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(20, 36, 59, 0.3);
}

/* Periódicos relacionados */
.digiprensa-single-related {
    max-width: var(--digiprensa-max-width);
    margin: 60px auto 0;
    padding: 0 var(--digiprensa-content-padding);
}

.digiprensa-related-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 20px;
    margin-top: 24px;
}

.digiprensa-related-item {
    display: block;
    background: var(--dp-surface);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
    text-decoration: none;
    color: inherit;
}

.digiprensa-related-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 16px rgba(0,0,0,0.12);
}

.digiprensa-related-thumb {
    width: 100%;
    min-height: 100px;
    max-height: 150px;
    overflow: hidden;
    background: var(--dp-paper);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
}

.digiprensa-related-thumb img {
    width: 100%;
    height: auto;
    max-height: 130px;
    object-fit: contain;
    display: block;
}

.digiprensa-related-title {
    padding: 16px;
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--dp-ink);
    line-height: 1.4;
}


/* Responsive */
@media (max-width: 992px) {
    .digiprensa-single-main {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .digiprensa-single-sidebar {
        position: static;
        max-height: none;
    }
    
    .digiprensa-single-hero-inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .digiprensa-single-screenshot-hero {
        order: -1;
    }
    
    .digiprensa-single-title {
        font-size: 1.75rem;
    }
}

@media (max-width: 768px) {
    .digiprensa-single-hero {
        padding: 40px var(--digiprensa-content-padding);
    }
    
    .digiprensa-single-title {
        font-size: 1.75rem;
    }
    
    .digiprensa-single-actions {
        flex-direction: column;
    }
    
    .digiprensa-btn-primary,
    .digiprensa-btn-secondary {
        width: 100%;
        justify-content: center;
    }
    
    .digiprensa-info-row {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    
    .digiprensa-info-label {
        font-size: 0.85rem;
    }
    
    .digiprensa-related-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 16px;
    }
}

/* Redesign card rules */
/**
 * Digiprensa — Newspaper cards
 *
 * Featured + dense newspaper card variants, flags, visit anchors, claims,
 * badges, and the icon-only external visit anchor. Consumes tokens.css.
 *
 * @package understrap
 */

/* ======================================================================== */
/* Tarjeta de periódico (newspaper-card)                                    */
/* ======================================================================== */
.newspaper-card--featured {
	display: flex;
	flex-direction: column;
	background: var(--dp-surface);
	border: 1px solid var(--dp-border);
	border-radius: var(--dp-radius);
	box-shadow: var(--dp-shadow);
	overflow: hidden;
	transition: box-shadow .15s ease, transform .15s ease;
}

.newspaper-card--featured:hover {
	box-shadow: var(--dp-shadow-hover);
	transform: translateY(-2px);
}

.newspaper-card__screenshot-link {
	display: block;
	background: var(--dp-paper);
}

.newspaper-card__screenshot {
	width: 100%;
	height: auto;
	display: block;
}

.newspaper-card__body {
	padding: .85rem 1rem 1rem;
	border-top: 2px solid transparent;
	transition: border-color .15s ease;
}

.newspaper-card--featured:hover .newspaper-card__body {
	border-color: var(--dp-accent);
}

.newspaper-card__title {
	font-family: var(--dp-font-body);
	margin: 0;
	font-size: .95rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--dp-ink);
}

.newspaper-card__title a {
	color: inherit;
	text-decoration: none;
}

.newspaper-card__title a:hover {
	color: var(--dp-global);
	text-decoration: underline;
}

.newspaper-card__title a:focus-visible {
	outline: 2px solid var(--dp-accent);
	outline-offset: 2px;
	border-radius: 2px;
}

.newspaper-card__city {
	font-family: var(--dp-font-mono);
	margin: .35rem 0 0;
	font-size: .75rem;
	color: var(--dp-ink-gray);
	letter-spacing: .03em;
}

/* Variante densa: fila dentro de lista */
.newspaper-card-list {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 1px solid var(--dp-border);
	border-radius: var(--dp-radius);
	overflow: hidden;
	background: var(--dp-surface);
}

.newspaper-card--dense {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .25rem .6rem;
	padding: .7rem 1rem;
	border-bottom: 1px solid var(--dp-border);
	transition: background-color .1s ease;
}

.newspaper-card--dense:hover {
	background: var(--dp-paper);
}

.newspaper-card--dense:last-child {
	border-bottom: 0;
}

.newspaper-card__name {
	font-family: var(--dp-font-body);
	font-weight: 600;
	font-size: .9rem;
	color: var(--dp-ink);
	text-decoration: none;
}

.newspaper-card__name:hover {
	color: var(--dp-global);
	text-decoration: underline;
}

.newspaper-card__name:focus-visible {
	outline: 2px solid var(--dp-accent);
	outline-offset: 2px;
	border-radius: 2px;
}

.newspaper-card--dense .newspaper-card__city {
	margin: 0;
}

/* Bandera de país en las tarjetas de periódico (más vistos / más valorados) */
.newspaper-card__flag {
	width: 20px;
	height: 15px;
	flex: 0 0 auto;
	object-fit: cover;
	border-radius: 2px;
	box-shadow: 0 0 0 1px var(--dp-border);
}

.newspaper-card--dense .newspaper-card__flag {
	align-self: center;
}

.newspaper-card__title .newspaper-card__flag {
	display: inline-block;
	margin-right: .4rem;
	vertical-align: -2px;
}

/* Favicon (marca del medio) — se muestra junto a la bandera de país.        */
/* object-fit: contain porque los favicons/logos no siempre son cuadrados.   */
.newspaper-card__favicon {
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
	object-fit: contain;
	border-radius: 3px;
	background: var(--dp-surface);
}

.newspaper-card--dense .newspaper-card__favicon {
	align-self: center;
}

.newspaper-card__title .newspaper-card__favicon {
	display: inline-block;
	margin-right: .3rem;
	vertical-align: -2px;
}

/* Claim / tagline on cards (shown when show_claim=true) */
.newspaper-card__claim {
	font-family: var(--dp-font-body);
	font-size: .8rem;
	line-height: 1.4;
	color: var(--dp-ink-gray);
	margin: .3rem 0 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.newspaper-card--dense .newspaper-card__claim {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	max-width: 72ch;
	font-size: .78rem;
}

/* Icon-only external visit anchor (listing pages + tablas) */
.dp-visit-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin-left: auto;
	color: var(--dp-global);
	border-radius: var(--dp-radius);
	text-decoration: none;
	transition: color .15s ease, background-color .15s ease;
	flex: 0 0 auto;
}

.dp-visit-icon svg {
	width: 18px;
	height: 18px;
	display: block;
	flex-shrink: 0;
}

/* Listing variant: the icon is painted with a CSS mask instead of an inline
   <svg>. A country listing renders this anchor ~1.100 times and the inline SVG
   was 428 bytes each — 469 KB of byte-identical markup, plus 1.100 DOM nodes.
   The mask is filled with currentColor, so the :hover rule below still inverts
   it exactly as before. The anchor already carries its own aria-label, so the
   icon is decorative and loses nothing by leaving the markup.
   Only the listing card opts in: content-tablas.php still ships an inline svg
   and is styled by the rule above. */
.dp-visit-icon--mask::after {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	background-color: currentColor;
	-webkit-mask: url("../../svg/icons/external-link.svg") center / contain no-repeat;
	mask: url("../../svg/icons/external-link.svg") center / contain no-repeat;
}

.dp-visit-icon:hover {
	color: var(--dp-paper);
	background: var(--dp-global);
}

.dp-visit-icon:focus-visible {
	outline: 2px solid var(--dp-accent);
	outline-offset: 2px;
	border-radius: var(--dp-radius);
}

/* Tablas search rows — claim under title */
.dp-tablas__claim {
	font-family: var(--dp-font-body);
	font-size: .82rem;
	color: var(--dp-ink-gray);
	margin: .2rem 0 0;
	line-height: 1.4;
}

/* Top 10k badge on newspaper cards (Slice 2 / D12)
   Compact pill that sits between the title and the city label.
   Uses the established digiprensa-badge system (badge-primary = blue = top10k). */
.newspaper-card__badge {
	display: inline-block;
	flex: 0 0 auto;
	font-family: var(--dp-font-mono);
	font-size: .6rem;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	padding: .15rem .45rem;
	border-radius: 3px;
	line-height: 1.4;
	white-space: nowrap;
	/* vertical rhythm: sits on its own flow line on featured, inline on dense */
}

.newspaper-card--featured .newspaper-card__badge {
	display: block;
	margin: .3rem 0 0;
}

.newspaper-card--dense .newspaper-card__badge {
	align-self: center;
}


/* --- ads.css --- */
/**
 * DigiPrensa — Ad zones (manual AdSense units).
 *
 * Containers reserve vertical space per format so the ad paints into a box of
 * its final height and causes NO layout shift (CLS). The subtle surface + tiny
 * "Publicidad" label keep the units honest and on-brand without shouting.
 *
 * Consumes tokens from css/tokens.css.
 *
 * @package understrap
 */

.dp-ad {
	/* min-height is set inline per format (anti-CLS); this is the floor. */
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	width: 100%;
	max-width: var(--dp-max, 1200px);
	margin: var(--dp-gap, 1.5rem) auto;
	padding: .75rem;
	box-sizing: border-box;
	background: var(--dp-surface, #fff);
	border: 1px solid var(--dp-border, #dcdbd7);
	border-radius: var(--dp-radius, .5rem);
	overflow: hidden;
}

/* Small, quiet transparency label. */
.dp-ad__label {
	align-self: center;
	font-family: var(--dp-font-mono, monospace);
	font-size: .625rem;
	line-height: 1;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--dp-ink-gray, #5a6b7b);
	opacity: .7;
}

/* The AdSense <ins> stretches to the container width. */
.dp-ad__ins {
	display: block;
	width: 100%;
}

/* Placeholder box while the slot ID is not configured yet: keeps the reserved
   height visible during setup with a faint on-brand hatch, zero requests. */
.dp-ad__placeholder {
	display: block;
	width: 100%;
	flex: 1 1 auto;
	min-height: 60px;
	border-radius: calc(var(--dp-radius, .5rem) - 2px);
	background:
		repeating-linear-gradient(
			45deg,
			var(--dp-paper, #fbfaf6),
			var(--dp-paper, #fbfaf6) 10px,
			var(--dp-surface, #fff) 10px,
			var(--dp-surface, #fff) 20px
		);
}

/* -------------------------------------------------------------------------- */
/* Per-format reserved heights (mirrors digiprensa_ad_format_min_height()).    */
/* min-height also lives inline; these keep the box sane if inline is dropped. */
/* -------------------------------------------------------------------------- */

.dp-ad--leaderboard {
	min-height: 100px; /* mobile floor; grows to inline min-height on desktop */
}

.dp-ad--in-article {
	min-height: 280px;
	max-width: 720px; /* keep in-article narrow, aligned to reading column */
}

.dp-ad--in-feed {
	min-height: 200px;
}

.dp-ad--rectangle {
	min-height: 280px;
	max-width: 336px;
}

/* On small screens the leaderboard collapses to a shorter unit; keep the
   reserved floor modest so we don't push content on phones. */
@media (max-width: 575.98px) {
	.dp-ad--leaderboard {
		min-height: 100px !important;
	}
}

