/* Portada · El Asombrario
   Marca: verde #46DA08, negro #313131, Poppins. Contenedor .max de 1200 px útiles.
   Principios: jerarquía tipográfica clara, mucho aire, separadores finos, y huecos de publicidad
   a su medida con una etiqueta discreta. */

.pt-portada,
.pt-plantilla {
	--pt-verde: #46da08;
	--pt-verde-osc: #2f9a04;
	--pt-negro: #1f1f1f;
	--pt-texto: #313131;
	--pt-gris: #6d6d6d;
	--pt-borde: #e4e4e0;
	--pt-fondo-gris: #f6f6f3;
	--pt-fondo-verde: #f1faeb;
	--pt-hueco: 1.75rem;
	color: var(--pt-texto);
	font-family: "Poppins", sans-serif;
}

/* El hueco entre el menú y el contenido lo pone cada plantilla (antes la cabecera sumaba 32-38 px de margen) */
.site-header.is-new-header { margin-bottom: 0; }
.home .pt-franja--1 { margin-top: 1.75rem; }

/* La cabecera está fuera de .pt-portada: solo necesita los colores */
.site-header.is-new-header {
	--pt-verde: #46da08;
	--pt-negro: #1f1f1f;
	--pt-gris: #6d6d6d;
	--pt-borde: #e4e4e0;
}

/* ---------------------------------------------------------------- Ritmo de bloques */
.pt-bloque { padding: 3.25rem 0; }
.pt-bloque--gris { background: var(--pt-fondo-gris); }
.pt-bloque--verde { background: var(--pt-fondo-verde); }
/* Caja sutil (Redes rurales): fondo verde muy suave y borde fino, dentro de la columna de la web */
.pt-bloque--caja { padding: 1.5rem 0; }
.pt-caja { padding: 1.75rem 1.75rem 1.5rem; background: #f6faf2; border: 1px solid #e2ecd9; border-radius: 6px; }
.pt-caja-fila { display: grid; gap: var(--pt-hueco); grid-template-columns: minmax(0, 1fr); align-items: start; }
.pt-caja-fila.has-banner { grid-template-columns: minmax(0, 1fr) var(--bw, 300px); }
.pt-caja-fila > .pt-celda--banner { display: flex; flex-direction: column; justify-content: center; }
/* Redes rurales: el banner a la izquierda de la caja (solo cuando caben las dos columnas) */
@media (min-width: 1200px) {
	.pt-caja-fila.has-banner { grid-template-columns: var(--bw, 300px) minmax(0, 1fr); }
	.pt-caja-fila.has-banner > .pt-celda--banner { order: -1; }
}
.pt-ultimo { padding: 1.75rem 0 3rem; }

/* ---------------------------------------------------------------- Cabecera de sección */
.pt-head { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; margin: 0 0 1.75rem; }
.pt-head::after { content: ""; flex: 1 1 2rem; height: 1px; background: var(--pt-borde); }
/* Con patrocinio encima, la línea tras el título sobra. Va por sección (tríos y Redes rurales), no por tener ya el logo cargado, para que no cambie de unas a otras. */
.pt-columnas .pt-head::after, .pt-caja .pt-head::after, .pt-head:has(.pt-patrocinio)::after { display: none; }
.pt-head__title {
	display: flex; align-items: center; gap: 0.6rem; margin: 0;
	font-size: 1.125rem; font-weight: 800; letter-spacing: 0.08em; line-height: 1.2; text-transform: uppercase; color: var(--pt-negro);
}
.pt-head__title::before { content: ""; width: 0.85rem; height: 0.85rem; background: var(--pt-verde); flex: none; }
.pt-head__title a { color: inherit; text-decoration: none; }
.pt-head__title a:hover { text-decoration: underline; text-decoration-color: var(--pt-verde); text-decoration-thickness: 3px; text-underline-offset: 5px; }
/* Patrocinio sutil, como en el diseño anterior: «Con el apoyo de» y el logotipo de 40 px de alto en una sola línea */
.pt-patrocinio { flex: 0 0 100%; order: -1; display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.75rem; font-size: 0.875rem; color: var(--pt-texto); }
.pt-patrocinio .mwm-pub { margin: 0; line-height: 0; }
.pt-patrocinio .mwm-pub img { height: 40px; width: auto; max-width: 100%; }

/* Redes rurales: el patrocinio queda a la derecha de la caja y las fotos van en 4:3; el banner se centra a la altura de la caja */
.pt-caja .pt-patrocinio { justify-content: flex-end; }
@media (min-width: 1200px) {
	.pt-caja-fila { align-items: stretch; }
	.pt-caja { padding: 1.25rem 1.5rem 1rem; }
	.pt-caja .pt-head { flex-wrap: nowrap; margin-bottom: 1rem; }
	.pt-caja .pt-patrocinio { flex: 0 0 auto; order: 3; }
	.pt-caja .pt-card--media .pt-card__img img { aspect-ratio: 4 / 3; }
	.pt-caja .pt-card--media .pt-card__title { font-size: 1rem; }
}

/* ---------------------------------------------------------------- Tarjetas */
.pt-card { margin: 0; }
.pt-card__img { position: relative; display: block; overflow: hidden; background: #e9e9e5; }
.pt-card__img img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; transition: transform 0.4s ease; }
.pt-card:hover .pt-card__img img { transform: scale(1.035); }

/* La etiqueta de categoría solo aporta en «Lo último», donde se mezclan secciones */
.pt-bloque:not(.pt-ultimo) .pt-card__kicker { display: none; }
.pt-card__kicker { margin: 0 0 0.45rem; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--pt-verde-osc); }
/* La categoría es un enlace, pero conserva su verde y no se subraya */
.pt-card__kicker a,
.pt-card__kicker a:hover,
.pt-card__kicker a:focus { color: inherit; text-decoration: none; background: none; }
.pt-card__title { margin: 0 0 0.5rem; font-size: 1.2rem; font-weight: 700; line-height: 1.25; letter-spacing: -0.005em; }
.pt-card__title a { color: var(--pt-negro); text-decoration: none; background-image: linear-gradient(var(--pt-verde), var(--pt-verde)); background-size: 0 3px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size 0.25s ease; }
.pt-card__title a:hover,
.pt-card__title a:focus-visible { background-size: 100% 3px; }
.pt-card__deck { margin: 0.25rem 0 1rem; font-size: 1.0625rem; line-height: 1.6; color: #4b4b4b; }
.pt-card__meta { display: flex; align-items: center; gap: 0.65rem; margin: 0; font-size: 0.875rem; font-weight: 500; line-height: 1.35; color: #555; }
.pt-card__meta a { color: inherit; text-decoration: none; }
.pt-card__meta a:hover { color: var(--pt-negro); }
.pt-card__avatar { width: var(--av, 34px); height: var(--av, 34px); border-radius: 50%; flex: none; object-fit: cover; }
.pt-card--fila { --av: 28px; }
.pt-card--destacada { --av: 46px; }
.pt-card--galeria { --av: 40px; }

/* Aire entre la imagen y el titular */
.pt-card--media .pt-card__body { padding-top: 1.15rem; }

/* Fila: miniatura y titular, con separadores finos */
.pt-card--fila { display: grid; grid-template-columns: 96px 1fr; gap: 1rem; align-items: start; }
.pt-card--fila .pt-card__title { margin: 0 0 0.35rem; font-size: 0.9375rem; line-height: 1.3; }
.pt-card--fila .pt-card__img img { aspect-ratio: 1 / 1; }

/* Destacada */
.pt-card--destacada { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 2.75rem; align-items: center; margin-bottom: 2.5rem; }
.pt-card--destacada .pt-card__img img { aspect-ratio: 16 / 10; }
.pt-card--destacada .pt-card__kicker { margin-top: 0; font-size: 0.75rem; }
.pt-card--destacada .pt-card__title { margin: 0 0 0.75rem; font-size: clamp(1.75rem, 3.1vw, 2.75rem); line-height: 1.1; letter-spacing: -0.02em; }
.pt-card--destacada .pt-card__title a { background-size: 0 4px; }
.pt-card--destacada .pt-card__title a:hover { background-size: 100% 4px; }
.pt-card--destacada .pt-card__meta { font-size: 1rem; }

/* ---------------------------------------------------------------- Celdas: el banner ocupa una columna a su medida */
.pt-celdas { display: grid; gap: var(--pt-hueco); grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); align-items: start; }
/* Con banner, --cols reparte las columnas: el banner mide 300 px y ocupa el lugar elegido */
.pt-celdas.has-banner { grid-template-columns: var(--cols, repeat(var(--n, 3), minmax(0, 1fr))); }
/* La raya negra va debajo del bloque, no entre la destacada y las tarjetas */
.pt-ultimo .pt-celdas { padding-bottom: 2.75rem; border-bottom: 1px solid #cfcfca; }
.pt-ultimo { padding-bottom: 0; }
.pt-celdas--fila .pt-card--fila { padding: 0 0 1rem; border-bottom: 1px solid var(--pt-borde); }
.pt-celda--banner { display: flex; justify-content: center; align-items: flex-start; }
.pt-celda--banner .mwm-pub { margin: 0; }

/* ---------------------------------------------------------------- Columnas con patrocinio */
.pt-columnas { display: grid; gap: 2.25rem var(--pt-hueco); grid-template-columns: repeat(var(--c, 3), minmax(0, 1fr)); align-items: start; }
.pt-columnas.has-lateral { grid-template-columns: var(--cols, repeat(var(--c, 3), minmax(0, 1fr)) 300px); }
.pt-columna .pt-head { margin-bottom: 1.25rem; }
/* Si una columna lleva patrocinio, todas reservan el mismo espacio y los títulos quedan alineados */
.pt-columnas:has(.pt-patrocinio) .pt-head { min-height: 4.5rem; align-content: flex-end; }
.pt-lateral { padding-top: 0; }
.pt-filas { display: grid; gap: 1rem; margin-top: 1.25rem; }
.pt-filas .pt-card--fila { padding-bottom: 1rem; border-bottom: 1px solid var(--pt-borde); }
.pt-filas .pt-card--fila:last-child { padding-bottom: 0; border-bottom: 0; }
.pt-filas .pt-celda--banner { justify-content: flex-start; }
/* Cuarta columna con los banners de 300×300: arriba, a la altura de los títulos */
.pt-rail__pila { display: flex; flex-direction: column; align-items: center; gap: 1.5rem; }
.pt-rail__banner { width: 100%; display: flex; justify-content: center; }
.pt-celda--rail .mwm-pub { margin: 0; }
.pt-destacada-lista .pt-filas .pt-celda--banner { justify-content: center; }
.pt-lateral { margin: 0; }

/* ---------------------------------------------------------------- Destacada y lista */
.pt-destacada-lista { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 2.75rem; align-items: start; }
.pt-destacada-lista .pt-card--media .pt-card__title { font-size: 1.625rem; line-height: 1.2; }
.pt-destacada-lista .pt-card--media .pt-card__img img { aspect-ratio: 16 / 10; }
.pt-destacada-lista .pt-filas { margin-top: 0; gap: 1.25rem; }
.pt-destacada-lista.has-banner { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr) var(--bw, 300px); gap: 2rem; }
.pt-destacada-lista > .pt-celda--banner { justify-content: center; }

/* ---------------------------------------------------------------- Publicidad: etiqueta discreta y aire alrededor */
.pt-franja { margin-top: 2rem; margin-bottom: 2rem; text-align: center; }
.pt-franja .mwm-pub { margin: 0 auto; }
.pt-franja::before,
.pt-banner::before,
.pt-lateral::before,
.header-publi__item .mwm-pub::before {
	content: "Publicidad"; display: block; margin: 0 0 0.45rem;
	font-size: 0.625rem; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: #9b9b95; text-align: center; line-height: 1;
}
.pt-lateral { text-align: center; }
.pt-filas .pt-banner::before { text-align: left; }

/* ---------------------------------------------------------------- Portátil pequeño (1024–1199 px):
   no hay sitio para una columna de 300 px junto a las noticias; el banner pasa a una fila propia debajo */
@media (min-width: 1024px) and (max-width: 1199px) {
	.pt-destacada-lista.has-banner { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
	.pt-destacada-lista > .pt-celda--banner { grid-column: 1 / -1; }
	.pt-caja-fila.has-banner { grid-template-columns: minmax(0, 1fr); }
	.pt-celdas.has-banner { grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); }
	.pt-celdas .pt-celda--banner { grid-column: 1 / -1; order: 9; }
	.pt-columnas.has-lateral { grid-template-columns: repeat(var(--c, 3), minmax(0, 1fr)); }
	.pt-columnas > .pt-celda--rail { grid-column: 1 / -1; order: 9; }
}

/* ---------------------------------------------------------------- Tableta */
@media (max-width: 1023px) {
	.pt-destacada-lista.has-banner { grid-template-columns: 1fr; }
	.pt-caja-fila.has-banner { grid-template-columns: minmax(0, 1fr); }
	.pt-bloque { padding: 2.5rem 0; }
	.pt-columnas,
	.pt-columnas.has-lateral { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pt-columnas > .pt-celda--rail { grid-column: 1 / -1; order: 9; }
	.pt-columnas:has(.pt-patrocinio) .pt-head { min-height: 0; }
	.pt-celdas,
	.pt-celdas.has-banner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pt-celda--banner { grid-column: 1 / -1; }
	.pt-card--destacada,
	.pt-destacada-lista { grid-template-columns: 1fr; gap: 1.25rem; }
}

/* ---------------------------------------------------------------- Móvil */
@media (max-width: 767px) {
	.pt-bloque { padding: 2rem 0; }
	.pt-ultimo { padding-top: 1rem; }
	.pt-head { margin-bottom: 1.25rem; }
	.pt-columnas,
	.pt-columnas.has-lateral,
	.pt-celdas,
	.pt-celdas.has-banner { grid-template-columns: 1fr; }
	.pt-columnas { gap: 2.25rem; }
	.pt-celdas { gap: 1.1rem; }
	.pt-ultimo .pt-celdas { padding-bottom: 1.5rem; }
	.pt-card--destacada { margin-bottom: 1.5rem; }
	.pt-card--destacada .pt-card__title { font-size: 1.625rem; }
	.pt-card--destacada .pt-card__deck { font-size: 0.9375rem; }

	/* Tarjetas compactas con miniatura a la izquierda: menos altura de página */
	.pt-celdas .pt-card--media { display: grid; grid-template-columns: 96px 1fr; gap: 1rem; align-items: start; padding-bottom: 1.1rem; border-bottom: 1px solid var(--pt-borde); }
	.pt-celdas .pt-card--media .pt-card__img img { aspect-ratio: 1 / 1; }
	.pt-celdas .pt-card--media .pt-card__kicker { margin-top: 0; }
	.pt-celdas .pt-card--media .pt-card__title { font-size: 0.9375rem; }
	.pt-celdas .pt-card--media { --av: 26px; }
	.pt-celdas .pt-card--media .pt-card__body,
	.pt-columna .pt-card--media .pt-card__body { padding-top: 0; }
	.pt-franja { margin-top: 1.5rem; margin-bottom: 1.5rem; }

	/* Menos altura de página: columnas también en miniatura y tres noticias por bloque */
	.pt-columna .pt-card--media { display: grid; grid-template-columns: 96px 1fr; gap: 1rem; align-items: start; padding-bottom: 1rem; border-bottom: 1px solid var(--pt-borde); }
	.pt-columna .pt-card--media .pt-card__img img { aspect-ratio: 1 / 1; }
	.pt-columna .pt-card--media .pt-card__title { margin-top: 0; font-size: 0.9375rem; }
	.pt-columna .pt-card--media { --av: 26px; }
	.pt-columna .pt-filas { margin-top: 1rem; }
	.pt-columnas { gap: 1.75rem; }
	.pt-celdas:not(.has-banner):not(.pt-rejilla__resto) > *:nth-child(n+4) { display: none; }
	.pt-destacada-lista .pt-card--media .pt-card__img img { aspect-ratio: 16 / 9; }
	.pt-destacada-lista .pt-card--media .pt-card__title { font-size: 1.25rem; }
	.pt-head { margin-bottom: 1rem; }
	.pt-bloque { padding: 1.5rem 0; }
	.pt-caja { padding: 1.1rem 1rem 1rem; }
}

@media (prefers-reduced-motion: reduce) {
	.pt-card__img img,
	.pt-card__title a { transition: none; }
	.pt-card:hover .pt-card__img img { transform: none; }
}

/* ---------------------------------------------------------------- Banner de un solo dispositivo:
   la noticia a la que sustituye solo se oculta en ese dispositivo */
@media (min-width: 768px) {
	.pt-oculta-d,
	.pt-celda--solo-m { display: none; }
}
@media (max-width: 767px) {
	.pt-oculta-m,
	.pt-celda--solo-d { display: none; }
}


/* ---------------------------------------------------------------- Arte y diseño: bloque oscuro de galería */
.pt-bloque--oscuro { background: #1b1b1b; color: #f3f3ef; }
.pt-bloque--oscuro .pt-head__title,
.pt-bloque--oscuro .pt-head__title a { color: #fff; }
.pt-bloque--oscuro .pt-head::after { background: rgba(255, 255, 255, 0.2); }
.pt-bloque--oscuro .pt-card__title a { color: #fff; }
.pt-bloque--oscuro .pt-card__meta { color: #c9c9c2; }
.pt-bloque--oscuro .pt-card--fila { grid-template-columns: 160px 1fr; gap: 1.25rem; border-color: rgba(255, 255, 255, 0.16); }
.pt-bloque--oscuro .pt-card--fila .pt-card__img img { aspect-ratio: 4 / 3; }
.pt-bloque--oscuro .pt-card--fila .pt-card__title { font-size: 1.0625rem; }
.pt-bloque--oscuro .pt-banner::before { color: #8a8a84; }

.pt-card--galeria { position: relative; overflow: hidden; }
.pt-card--galeria .pt-card__img img { aspect-ratio: 4 / 3; }
.pt-card--galeria .pt-card__body { position: absolute; left: 0; right: 0; bottom: 0; padding: 8rem 2rem 1.75rem; background: linear-gradient(to top, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.8) 50%, rgba(0, 0, 0, 0) 100%); }
.pt-card--galeria .pt-card__title { margin: 0 0 0.75rem; font-size: clamp(1.5rem, 2.7vw, 2.375rem); line-height: 1.12; letter-spacing: -0.01em; }
.pt-card--galeria .pt-card__title,
.pt-card--galeria .pt-card__meta { text-shadow: 0 1px 6px rgba(0, 0, 0, 0.55); }
.pt-card--galeria .pt-card__meta { color: #e3e3dc; }

@media (max-width: 767px) {
	.pt-bloque--oscuro .pt-card--fila { grid-template-columns: 112px 1fr; gap: 1rem; }
	.pt-card--galeria .pt-card__body { padding: 3rem 1.1rem 1rem; }
	.pt-card--galeria .pt-card__title { font-size: 1.25rem; }
}


/* ---------------------------------------------------------------- Arte y diseño
   Izquierda: la primera noticia (más grande) y debajo el banner. Derecha: las otras cuatro en dos columnas */
.pt-rejilla { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 2fr); gap: 2rem var(--pt-hueco); align-items: start; }
.pt-rejilla__grande { display: flex; flex-direction: column; gap: 2rem; }
.pt-rejilla__grande > .pt-celda--banner { align-items: center; justify-content: center; }
.pt-rejilla__resto { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem var(--pt-hueco); }
.pt-rejilla .pt-card--media .pt-card__img img { aspect-ratio: 4 / 3; }
.pt-rejilla .pt-card--media .pt-card__title { font-size: 1.1875rem; }
.pt-rejilla__grande > .pt-card--media .pt-card__title { font-size: 1.5rem; line-height: 1.2; }
.pt-rejilla:not(.con-banner) .pt-rejilla__grande > .pt-card--media .pt-card__img img { aspect-ratio: 4 / 5; }
/* Con banner, la columna de la izquierda (noticia + banner) acaba a la altura de las cuatro de la derecha */
.pt-rejilla.con-banner .pt-rejilla__grande > .pt-card--media .pt-card__img img { aspect-ratio: 16 / 9; }

/* En los bloques oscuros los enlaces del autor y de los títulos nunca se vuelven negros */
.pt-bloque--oscuro .pt-card__meta a,
.pt-bloque--oscuro .pt-card__meta a:visited { color: #d6d6cf; }
.pt-bloque--oscuro .pt-card__meta a:hover,
.pt-bloque--oscuro .pt-card__meta a:focus,
.pt-bloque--oscuro .pt-card__meta a:active { color: #fff; text-decoration: underline; text-decoration-color: var(--pt-verde); text-underline-offset: 3px; }
.pt-bloque--oscuro .pt-card__title a:hover,
.pt-bloque--oscuro .pt-card__title a:focus,
.pt-bloque--oscuro .pt-card__title a:active { color: #fff; }
.pt-card--galeria .pt-card__meta a:hover,
.pt-card--galeria .pt-card__meta a:focus,
.pt-card--galeria .pt-card__meta a:active { color: #fff; }

@media (max-width: 1023px) {
	.pt-rejilla { grid-template-columns: minmax(0, 1fr); }
	.pt-rejilla__grande { flex-direction: row; align-items: center; gap: var(--pt-hueco); }
	.pt-rejilla__grande > .pt-card--media { flex: 1 1 0; min-width: 0; }
	.pt-rejilla__grande > .pt-celda--banner { flex: 0 0 300px; }
	.pt-rejilla:not(.con-banner) .pt-rejilla__grande > .pt-card--media .pt-card__img img { aspect-ratio: 16 / 9; }
}
@media (max-width: 767px) {
	.pt-rejilla__grande { flex-direction: column; align-items: stretch; gap: 1.5rem; }
	.pt-rejilla__grande > .pt-celda--banner { flex: none; }
	.pt-rejilla__grande > .pt-card--media .pt-card__img img { aspect-ratio: 16 / 10; }
	.pt-rejilla__resto { grid-template-columns: 1fr; }
}

/* ---------------------------------------------------------------- Lo más visto: caja con pestañas y ranking */
.pt-masvisto { padding-top: 2.5rem; }
/* Selector de periodo: tres píldoras a la derecha de la línea del título */
.pt-masvisto .pt-head::after { order: 1; }
.pt-tabs { order: 2; display: flex; gap: 0.375rem; flex-wrap: nowrap; }
.pt-masvisto .pt-tabs .pt-tabs__tab {
	appearance: none; cursor: pointer; margin: 0; min-height: 0; flex: 0 0 auto; width: auto; min-width: 0; max-width: none;
	padding: 0.4rem 1rem; border: 1px solid var(--pt-verde); border-radius: 999px; background: transparent; box-shadow: none;
	font: inherit; font-size: 0.8125rem; font-weight: 600; line-height: 1.3; letter-spacing: 0; text-transform: none; color: var(--pt-negro);
	transition: background-color 0.15s ease, color 0.15s ease;
}
.pt-masvisto .pt-tabs .pt-tabs__tab:hover { background: #e6f7dc; color: var(--pt-negro); }
.pt-masvisto .pt-tabs .pt-tabs__tab[aria-selected="true"] { background: var(--pt-verde); border-color: var(--pt-verde); color: var(--pt-negro); }
.pt-masvisto .pt-tabs .pt-tabs__tab:focus-visible { outline: 3px solid var(--pt-negro); outline-offset: 2px; }

.pt-ranking { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--pt-hueco); margin: 0; padding: 0; list-style: none; counter-reset: ranking; }
.pt-masvisto.tiene-js .pt-ranking[data-inactivo] { display: none; }
.pt-masvisto:not(.tiene-js) .pt-ranking + .pt-ranking { margin-top: 2rem; }
.pt-ranking__item { margin: 0; padding: 0; }
.pt-ranking__enlace { display: block; color: var(--pt-negro); text-decoration: none; }
.pt-ranking__foto { position: relative; display: block; margin-bottom: 0.85rem; overflow: hidden; background: #e9e9e5; }
.pt-ranking__foto img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 0.4s ease; }
.pt-ranking__enlace:hover .pt-ranking__foto img { transform: scale(1.035); }
.pt-ranking__n { position: absolute; left: 0; bottom: 0; min-width: 2.5rem; padding: 0.3rem 0.65rem 0.25rem; background: var(--pt-negro); font-size: 1.5rem; font-weight: 700; line-height: 1; letter-spacing: -0.02em; text-align: center; color: var(--pt-verde); }
.pt-ranking__texto { display: block; }
.pt-ranking__titulo { display: inline; font-size: 1rem; font-weight: 700; line-height: 1.3; background-image: linear-gradient(var(--pt-verde), var(--pt-verde)); background-size: 0 3px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size 0.25s ease; }
.pt-ranking__enlace:hover .pt-ranking__titulo,
.pt-ranking__enlace:focus-visible .pt-ranking__titulo { background-size: 100% 3px; }
.pt-ranking__cat { display: block; margin-top: 0.5rem; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--pt-verde-osc); }

@media (max-width: 1023px) {
	.pt-ranking { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.pt-ranking { grid-template-columns: 1fr; gap: 0; }
	.pt-ranking__item { padding: 0.9rem 0; border-top: 1px solid var(--pt-borde); }
	.pt-ranking__enlace { display: grid; grid-template-columns: 5.5rem 1fr; gap: 0.9rem; align-items: start; }
	.pt-ranking__foto { margin: 0; }
	.pt-ranking__foto img { aspect-ratio: 1 / 1; }
	.pt-ranking__n { min-width: 1.6rem; padding: 0.2rem 0.4rem; font-size: 1rem; }
	.pt-masvisto .pt-head::after { display: none; }
	.pt-tabs { width: 100%; overflow-x: auto; }
	.pt-masvisto .pt-tabs .pt-tabs__tab { white-space: nowrap; }
}

/* ---------------------------------------------------------------- Cabecera de la portada: menú y buscador
   Mismo logo y misma estructura que en producción; solo se pulen los detalles con la marca. */
.site-header.is-new-header .buscador input[type=search] {
	background: #fff; border: 1px solid #bdbdb6; border-radius: 999px; padding: 0.6rem 2.6rem 0.6rem 1.15rem;
	font-size: 0.875rem; text-transform: none; color: var(--pt-negro);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.site-header.is-new-header .buscador input[type=search]:focus { outline: 0; border-color: var(--pt-verde); box-shadow: 0 0 0 3px rgba(70, 218, 8, 0.28); }
.site-header.is-new-header .buscador input[type=search]::placeholder,
.site-header.is-new-header .buscador input[type=search]::-webkit-input-placeholder { color: var(--pt-gris); text-transform: none; opacity: 1; }
.site-header.is-new-header .buscador button { right: 1rem; }

@media screen and (min-width: 1024px) {
	/* Barra del menú: línea fina, textos sin mayúsculas y cada opción es una píldora que se tiñe de verde suave al pasar */
	.site-menu { margin-top: 1rem; padding-bottom: 0.9rem; border-bottom: 1px solid transparent; }
	/* Sin línea bajo el menú en ninguna página (el borde transparente conserva el espacio); para volver a ponerla en una, basta con darle color a border-bottom-color */
	.home .site-menu { padding-bottom: 0.5rem; }
	.site-header.is-new-header { padding-bottom: 0; }
	.site-menu div > ul { justify-content: space-between; margin: 0 -0.9rem; }
	.site-menu li:not(:first-child) { margin-left: 0; }
	/* El texto no se apaga al pasar el ratón (antes bajaba a la mitad de opacidad) */
	.site-menu a:hover { opacity: 1; color: var(--pt-negro); }
	.site-menu div > ul > li > a {
		padding: 0.5rem 0.9rem; border-radius: 999px; color: var(--pt-negro); text-decoration: none; white-space: nowrap;
		font-size: 0.9375rem; font-weight: 500; letter-spacing: 0; text-transform: none;
		transition: background-color 0.15s ease, color 0.15s ease;
	}
	.site-menu div > ul > li:hover > a,
	.site-menu div > ul > li > a:focus-visible { background: #e6f7dc; }
	.site-menu div > ul > li > a:focus-visible { outline: 2px solid var(--pt-verde); outline-offset: 1px; }
	/* Sección activa: fondo verde de la marca (también cuando se está en una noticia o subcategoría de esa sección) */
	.site-menu div > ul > li.current-menu-item > a,
	.site-menu div > ul > li.current-menu-parent > a,
	.site-menu div > ul > li.current-menu-ancestor > a,
	.site-menu div > ul > li.current-category-ancestor > a,
	.site-menu div > ul > li.current-post-ancestor > a { background: var(--pt-verde); color: var(--pt-negro); }
	.site-menu div > ul > li.current-menu-item > a:hover,
	.site-menu div > ul > li.current-menu-parent > a:hover,
	.site-menu div > ul > li.current-menu-ancestor > a:hover,
	.site-menu div > ul > li.current-category-ancestor > a:hover,
	.site-menu div > ul > li.current-post-ancestor > a:hover { background: #3fc507; color: var(--pt-negro); }
	/* Chevron fino en lugar del triángulo negro; gira al abrir */
	.site-menu li.menu-item-has-children > a:after {
		width: 6px; height: 6px; margin: -3px 0 0 0.5rem; border: 0; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg);
		transition: transform 0.2s ease, margin 0.2s ease;
	}
	.site-menu li.menu-item-has-children:hover > a:after { transform: rotate(225deg); margin-top: 4px; }
	/* Desplegable en forma de tarjeta */
	.site-menu ul.sub-menu {
		margin-top: 0.45rem; padding: 0.4rem; min-width: 210px; background: #fff; border: 1px solid var(--pt-borde); border-radius: 12px;
		box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
	}
	.site-menu ul.sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -0.5rem; height: 0.5rem; }
	.site-menu ul ul li { display: block; }
	.site-menu ul ul a { padding: 0.55rem 0.8rem; border-radius: 8px; font-size: 0.9375rem; font-weight: 500; text-transform: none; transition: background-color 0.15s ease; }
	.site-menu ul ul li:hover > a { background: #e6f7dc; }
	.site-menu ul ul li.current-menu-item > a { background: var(--pt-verde); color: var(--pt-negro); font-weight: 600; }
}
@media screen and (min-width: 1024px) and (max-width: 1279px) {
	.site-menu div > ul { margin: 0 -0.6rem; }
	.site-menu div > ul > li > a { padding: 0.5rem 0.6rem; font-size: 0.8125rem; }
	.site-menu li.menu-item-has-children > a:after { margin-left: 0.35rem; }
}

/* Sección activa sin atenuar: el tema antiguo bajaba el elemento activo al 50 % de opacidad. En móvil, en verde de la marca y en negrita. */
.site-menu li.current-menu-item > a,
.site-menu li.current-menu-item > a:hover { opacity: 1; }
@media (max-width: 1023px) {
	.site-menu li.current-menu-item > a,
	.site-menu li.current-menu-ancestor > a,
	.site-menu li.current-menu-parent > a,
	.site-menu li.current-category-ancestor > a,
	.site-menu li.current-post-ancestor > a { color: var(--pt-verde); font-weight: 700; }
}

/* ---------------------------------------------------------------- Menú del móvil: cómo cerrarlo */
.site-menu__cerrar { display: none; }

@media (max-width: 1023px) {
	/* Botón de cerrar arriba a la derecha del menú, siempre a la vista al desplazarlo */
	.site-menu .site-menu__cerrar {
		appearance: none; display: flex; align-items: center; justify-content: center; position: sticky; top: 0; z-index: 2;
		width: 44px; min-width: 0; height: 44px; min-height: 0; margin: 0.75rem 0.75rem 0.25rem auto; padding: 0;
		background: transparent; border: 1px solid rgba(255, 255, 255, 0.45); border-radius: 50%; box-shadow: none; cursor: pointer; color: #fff;
		transition: background-color 0.15s ease, border-color 0.15s ease;
	}
	.site-menu .site-menu__cerrar:hover, .site-menu .site-menu__cerrar:focus-visible { background: rgba(255, 255, 255, 0.14); border-color: #46da08; outline: 0; }
	.site-menu__cerrar span { position: relative; display: block; width: 18px; height: 18px; }
	.site-menu__cerrar span::before, .site-menu__cerrar span::after { content: ""; position: absolute; left: 50%; top: 50%; width: 20px; height: 2px; margin: -1px 0 0 -10px; background: currentColor; border-radius: 2px; }
	.site-menu__cerrar span::before { transform: rotate(45deg); }
	.site-menu__cerrar span::after { transform: rotate(-45deg); }

	/* El resto de la página se oscurece mientras el menú está abierto (tocarlo fuera también lo cierra) */
	body.menu-is-open::before { content: ""; position: fixed; inset: 0; z-index: 998; background: rgba(0, 0, 0, 0.5); }
}

/* La leyenda «Publicidad» de la cabecera: encima de cada banner en escritorio; en móvil, una sola vez para los tres.
   En móvil los banners se reducen al ancho de la pantalla (el grande a ancho completo y los dos pequeños en fila), como en producción. */
@media (max-width: 767px) {
	.header-publi__item .mwm-pub::before { display: none; }
	.header-publi::before {
		content: "Publicidad"; display: block; order: -2; grid-column: 1 / -1; margin: 0 0 -0.15rem;
		font-size: 0.625rem; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: #9b9b95; text-align: center; line-height: 1;
	}
}

/* ---------------------------------------------------------------- Cabecera del móvil: logo y menú siempre fijos arriba
   Los banners de la cabecera (solo en la portada) van encima y salen de pantalla al bajar. */
@media (max-width: 1023px) {
	.site-header.is-new-header {
		position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 900; background: #fff;
		transition: box-shadow 0.2s ease;
	}
	.site-header.is-new-header.is-sticky { box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); }
}

/* ---------------------------------------------------------------- Flecha para volver arriba (móvil y tablet) */
.pt-subir { display: none; }

@media (max-width: 1023px) {
	body .pt-subir {
		display: flex; align-items: center; justify-content: center; position: fixed; z-index: 800;
		right: 16px; left: auto; bottom: calc(16px + env(safe-area-inset-bottom));
		width: 48px; min-width: 0; max-width: 48px; height: 48px; min-height: 0; margin: 0; padding: 0;
		background: var(--pt-verde, #46da08); color: var(--pt-negro, #1f1f1f); border: 0; border-radius: 50%;
		box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28); cursor: pointer; text-transform: none; letter-spacing: 0;
		opacity: 0; transform: translateY(12px); transition: opacity 0.2s ease, transform 0.2s ease, background-color 0.15s ease;
	}
	body .pt-subir[hidden] { display: none; }
	body .pt-subir.is-visible { opacity: 1; transform: none; }
	body .pt-subir:hover, body .pt-subir:focus-visible { background: #3fc507; color: var(--pt-negro, #1f1f1f); outline: 3px solid var(--pt-negro, #1f1f1f); outline-offset: 2px; }
	body .pt-subir:active { transform: scale(0.94); }
}
@media (prefers-reduced-motion: reduce) { .pt-subir { transition: none; } }
