/* ==========================================================================
   Noche profunda — sistema de diseño de significadodesuenos.net
   Cielo nocturno · oro viejo · Bodoni. El sueño mientras todavía se sueña.

   Las dos direcciones del diseño comparten estructura y solo cambian de
   paleta, así que ambas viven aquí como bloques de variables. La nocturna es
   la que se sirve; para volver a "Alba de papel" basta con poner
   data-tema="papel" en la etiqueta <html> de inc/cabecera.php.
   ========================================================================== */

:root {
	/* Cielo y tintas */
	--papel:      #0A0912;   /* fondo de página */
	--papel-2:    #141127;   /* bandas y cajas tenues */
	--ficha:      #191536;   /* tarjeta */
	--tinta:      #F4F0FF;   /* titulares */
	--tinta-2:    #D6CFF2;
	--purpura:    #B0A4E2;   /* acento frío: enlaces, énfasis */
	--ocre:       #E9C877;   /* acento cálido: filetes, epígrafes */
	--texto:      #B8B0D6;
	--apagado:    #8B84AE;
	--apagado-2:  #807999;   /* el marco de publicidad lo usa a 11px */

	/* Reglas (filetes) — de la más marcada a la más tenue */
	--regla:      #302A5C;
	--regla-2:    #262046;
	--regla-3:    #221D42;
	--regla-4:    #3E3574;

	/* Pie: un peldaño por debajo del fondo, no por encima */
	--pie-fondo:  #08070F;
	--pie-texto:  #C9C1EC;
	--pie-apag:   #8B84AE;
	--pie-regla:  #211C42;
	--pie-tenue:  #807999;   /* el aviso de copyright son 13px: no baja de 4.5:1 */

	/* Componentes que no son un color plano de la paleta */
	--boton-fondo:  #E9C877;   /* el botón sólido es de oro, no de tinta */
	--boton-texto:  #151129;
	--boton-hover:  #F7E3B0;
	--barra-fondo:  #08070F;   /* la barra superior es oscura en las dos direcciones */
	--filete:       #3E3574;   /* el filete grueso que ordena las secciones */
	--activo:       #E9C877;   /* la marca de "estás aquí" */
	--placa-a:      #241E4A;   /* degradado de la placa que sustituye a la foto */
	--placa-b:      #171334;
	--placa-marca:  #9C95BE;   /* la firma de 8px va sobre la placa, no sobre el fondo */
	--placa-marco:  rgba(244, 240, 255, .07);
	--velo:         rgba(244, 240, 255, .03);
	--sticky:       rgba(10, 9, 18, .93);
	--hero-a:       #171334;
	--hero-b:       #0D0B1C;
	--hilo:         #3A3272;   /* subrayado tenue sobre fondo oscuro */
	--claro:        #F4F0FF;
	--marca-agua:   rgba(176, 164, 226, .07);
	--seleccion:    rgba(176, 164, 226, .26);
	--ocre-rgb:     233, 200, 119;
	--purpura-rgb:  176, 164, 226;

	/* Tipografías */
	--display: 'Bodoni Moda', 'Times New Roman', serif;
	--lectura: 'Spectral', Georgia, serif;
	--ui:      'DM Sans', system-ui, -apple-system, sans-serif;

	/* Métrica */
	--ancho:   1280px;
	--margen:  80px;
}

/* Alba de papel — la dirección clara, intacta. */
:root[data-tema="papel"] {
	--papel:      #F4EDE0;
	--papel-2:    #EDE3D2;
	--ficha:      #FFFCF6;
	--tinta:      #201B2E;
	--tinta-2:    #4A4360;
	--purpura:    #5B3A78;
	--ocre:       #C0872C;
	--texto:      #5B5470;
	--apagado:    #8C8299;
	--apagado-2:  #9A9084;

	--regla:      #D8CCB6;
	--regla-2:    #DDD2BF;
	--regla-3:    #E2D8C6;
	--regla-4:    #B9AB92;

	--pie-fondo:  #201B2E;
	--pie-texto:  #C6BDD8;
	--pie-apag:   #9C93B8;
	--pie-regla:  #332C48;
	--pie-tenue:  #6B6380;

	--boton-fondo:  #201B2E;
	--boton-texto:  #F4EDE0;
	--boton-hover:  #5B3A78;
	--barra-fondo:  #201B2E;
	--filete:       #201B2E;
	--activo:       #201B2E;
	--placa-a:      #EFE6D6;
	--placa-b:      #E3D7C1;
	--placa-marca:  #8B8171;
	--placa-marco:  rgba(32, 27, 46, .07);
	--velo:         rgba(32, 27, 46, .03);
	--sticky:       rgba(244, 237, 224, .96);
	--hero-a:       #EFE6D6;
	--hero-b:       #E0D2B8;
	--hilo:         #C9B9D3;
	--claro:        #E7DCC6;
	--marca-agua:   rgba(91, 58, 120, .09);
	--seleccion:    rgba(91, 58, 120, .18);
	--ocre-rgb:     192, 135, 44;
	--purpura-rgb:  91, 58, 120;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--papel);
	color: var(--texto);
	font-family: var(--ui);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4, h5 {
	font-family: var(--display);
	font-weight: 400;
	color: var(--tinta);
	margin: 0;
	text-wrap: pretty;
}

em { font-style: italic; }

::selection { background: var(--seleccion); }

.contenedor {
	max-width: var(--ancho);
	margin: 0 auto;
	padding: 0 var(--margen);
}

.oculto-visual {
	position: absolute; width: 1px; height: 1px;
	padding: 0; margin: -1px; overflow: hidden;
	clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* --------------------------------------------------------------------------
   Barra superior oscura
   -------------------------------------------------------------------------- */
.barra-superior {
	height: 40px;
	background: var(--barra-fondo);
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 40px;
	font-size: 12px;
}
.barra-superior .fecha {
	letter-spacing: .1em;
	color: var(--pie-apag);
	text-transform: uppercase;
}
.barra-superior .idiomas { display: flex; align-items: center; gap: 18px; }
.barra-superior .idiomas a { color: var(--pie-apag); }
.barra-superior .idiomas a:hover { color: var(--claro); }
.barra-superior .idiomas .activo {
	color: var(--claro);
	border-bottom: 1px solid var(--ocre);
	padding-bottom: 2px;
}

/* --------------------------------------------------------------------------
   Mancheta y rail de navegación
   -------------------------------------------------------------------------- */
.mancheta { padding: 36px var(--margen) 0; }
.mancheta .filete {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
}
.mancheta .filete span { flex: 1; height: 1px; background: var(--regla); }
.mancheta .titulo {
	/* Es un <p>, no un <h1>: hay que repetir lo que heredaba de los titulares. */
	font-family: var(--display);
	font-weight: 400;
	text-wrap: pretty;
	margin: 18px 0 6px;
	text-align: center;
	font-size: 46px;
	line-height: 1.05;
	letter-spacing: .01em;
	color: var(--tinta);
}
.mancheta .titulo a { color: inherit; }
.mancheta .lema {
	margin: 0;
	text-align: center;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .34em;
	color: var(--apagado);
	text-transform: uppercase;
}

.rail {
	margin-top: 22px;
	padding: 14px 0;
	border-top: 1px solid var(--regla);
	border-bottom: 2px solid var(--filete);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
	position: relative;
}
.rail .enlaces { display: flex; align-items: center; gap: 40px; }
.rail a { font-size: 14px; color: var(--texto); }
.rail a:hover { color: var(--tinta); }
.rail a.activo { color: var(--tinta); font-weight: 500; }
.rail .lupa {
	position: absolute;
	right: 0;
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--apagado);
}
.abre-menu {
	display: none;
	position: absolute;
	left: 0;
	background: none;
	border: 1px solid var(--regla);
	color: var(--tinta);
	font-family: var(--ui);
	font-size: 13px;
	padding: 6px 12px;
	cursor: pointer;
}

/* --------------------------------------------------------------------------
   Titulares de sección: filete grueso + Bodoni
   -------------------------------------------------------------------------- */
.seccion { margin-top: 68px; }
.seccion-cab {
	border-top: 2px solid var(--filete);
	padding-top: 18px;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}
.seccion-cab h2, .seccion-cab h3 { font-size: 34px; line-height: 1.1; }
.seccion-cab .nota { font-size: 12px; letter-spacing: .14em; color: var(--apagado); text-transform: uppercase; }

.epigrafe {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .28em;
	color: var(--ocre);
	text-transform: uppercase;
	font-family: var(--ui);
}
.epigrafe-gris { color: var(--apagado); letter-spacing: .2em; }

/* --------------------------------------------------------------------------
   Portada: consulta
   -------------------------------------------------------------------------- */
.portada-hero {
	padding: 56px 0 0;
	display: grid;
	grid-template-columns: 1.35fr 1fr;
	gap: 56px;
	align-items: start;
}
.portada-hero h1 {
	margin: 16px 0 0;
	font-size: 78px;
	line-height: .98;
	letter-spacing: -.015em;
}
.portada-hero h1 em { color: var(--purpura); }

/* --------------------------------------------------------------------------
   El cielo de la portada: estrellas y resplandor de luna.

   Es la firma de la dirección nocturna, así que en la clara no se pinta.
   Va detrás de todo con z-index negativo, sin capturar el ratón, y las
   estrellas son gradientes radiales: ni una petición de red.
   -------------------------------------------------------------------------- */
.cielo {
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 720px;
	overflow: hidden;
	pointer-events: none;
	z-index: -1;
}
main { position: relative; }
:root[data-tema="papel"] .cielo { display: none; }

.cielo .estrellas {
	position: absolute;
	inset: 0;
	opacity: .5;
	background-image:
		radial-gradient(1.5px 1.5px at 12% 18%, #fff, transparent),
		radial-gradient(1.5px 1.5px at 28% 62%, var(--ocre), transparent),
		radial-gradient(1px 1px   at 44% 22%, #fff, transparent),
		radial-gradient(1.5px 1.5px at 62% 48%, #fff, transparent),
		radial-gradient(1px 1px   at 78% 16%, var(--purpura), transparent),
		radial-gradient(1.5px 1.5px at 88% 66%, #fff, transparent),
		radial-gradient(1px 1px   at 8%  78%, #fff, transparent),
		radial-gradient(1px 1px   at 54% 82%, var(--ocre), transparent),
		radial-gradient(1.5px 1.5px at 34% 8%,  #fff, transparent),
		radial-gradient(1px 1px   at 70% 88%, #fff, transparent);
	animation: parpadeo 7s ease-in-out infinite;
}
.cielo .luna {
	position: absolute;
	top: -260px;
	left: 50%;
	transform: translateX(-50%);
	width: 1100px;
	height: 560px;
	border-radius: 50%;
	background: radial-gradient(closest-side,
		rgba(var(--ocre-rgb), .16),
		rgba(var(--purpura-rgb), .07) 55%,
		transparent);
}
/* El degradado devuelve el fondo al negro antes de que acabe la caja. */
.cielo::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 55%, var(--papel));
}

@keyframes parpadeo { 0%, 100% { opacity: .25 } 50% { opacity: .9 } }

/* Un fondo que late es justo lo que molesta a quien pide menos movimiento. */
@media (prefers-reduced-motion: reduce) {
	.cielo .estrellas { animation: none; }
}
.entradilla {
	margin: 20px 0 0;
	font-family: var(--lectura);
	font-size: 19px;
	line-height: 1.65;
	color: var(--texto);
}
.portada-hero .entradilla { max-width: 520px; }

.caja-busqueda {
	display: flex;
	align-items: center;
	margin-top: 32px;
	max-width: 600px;
	border: 1.5px solid var(--filete);
	background: var(--ficha);
}
.caja-busqueda .campo {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 1;
	padding: 0 18px;
}
.caja-busqueda input {
	flex: 1;
	border: 0;
	outline: 0;
	background: transparent;
	height: 60px;
	font-family: var(--lectura);
	font-size: 18px;
	color: var(--tinta);
	min-width: 0;
}
.caja-busqueda input::placeholder { color: var(--apagado); font-style: italic; }
.caja-busqueda button {
	height: 62px;
	padding: 0 30px;
	background: var(--boton-fondo);
	color: var(--boton-texto);
	border: 0;
	font-family: var(--ui);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .04em;
	cursor: pointer;
	white-space: nowrap;
}
.caja-busqueda button:hover { background: var(--boton-hover); }

.mas-buscados {
	display: flex;
	align-items: baseline;
	gap: 8px 20px;
	flex-wrap: wrap;
	margin-top: 22px;
	max-width: 600px;
}
.mas-buscados a {
	font-family: var(--lectura);
	font-size: 17px;
	color: var(--purpura);
	border-bottom: 1px solid var(--hilo);
}
.mas-buscados a:hover { border-bottom-color: var(--purpura); }

/* Recuadro del sueño del día en portada */
.caja-dia {
	border: 1px solid var(--regla);
	background: var(--ficha);
	padding: 14px;
}
.caja-dia .cab {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 12px;
}
.caja-dia .cab .fecha { font-size: 11px; color: var(--apagado); }
.caja-dia h3 { margin: 18px 0 0; font-size: 30px; line-height: 1.15; }
.caja-dia p {
	margin: 10px 0 0;
	font-family: var(--lectura);
	font-size: 16px;
	line-height: 1.6;
	color: var(--texto);
}

.enlace-tinta {
	display: inline-block;
	margin-top: 14px;
	font-size: 14px;
	font-weight: 500;
	color: var(--purpura);
	border-bottom: 1px solid var(--purpura);
}

/* --------------------------------------------------------------------------
   Placas de tinta (sustituyen a las fotografías: no hay imágenes en la BD)
   -------------------------------------------------------------------------- */
.placa {
	position: relative;
	background: linear-gradient(155deg, var(--placa-a), var(--placa-b));
	border: 1px solid var(--regla-2);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	color: var(--purpura);
	flex: none;
}
.placa::after {
	content: '';
	position: absolute;
	inset: 6px;
	border: 1px solid var(--placa-marco);
	pointer-events: none;
}
.placa i { font-size: 1.6em; opacity: .82; }

/* Cuando la placa lleva una foto real (campo dreams.foto), la imagen rellena
   el hueco manteniendo el tamaño/aspecto de la placa. */
.placa.con-foto { background: #2a2440; }
/* El <picture> del srcset no debe formar caja: es inline, y el img de dentro
   mediría el 100% de una caja encogida al contenido en vez de la placa. */
.placa.con-foto picture { display: contents; }
.placa.con-foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.placa.con-foto::after { z-index: 1; }

.placa-alta { aspect-ratio: 4 / 5; width: 100%; }
.placa-ancha { aspect-ratio: 16 / 9; width: 100%; }
.placa-mini { width: 88px; height: 88px; }
.placa-mini i { font-size: 26px; }
.placa .marca {
	position: absolute;
	bottom: 10px;
	right: 12px;
	font-family: var(--ui);
	font-size: 8px;
	letter-spacing: .2em;
	color: var(--placa-marca);
	text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   Lista numerada de sueños más consultados
   -------------------------------------------------------------------------- */
.lista-numerada {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 56px;
	margin-top: 14px;
}
.lista-numerada a {
	display: flex;
	gap: 20px;
	padding: 20px 0;
	border-bottom: 1px solid var(--regla-2);
}
.lista-numerada a:hover h3 { color: var(--purpura); }
.lista-numerada .cifra {
	font-family: var(--display);
	font-size: 15px;
	color: var(--ocre);
	padding-top: 6px;
	width: 24px;
	flex: none;
}
.lista-numerada h3 { font-size: 24px; line-height: 1.2; }
.lista-numerada p {
	margin: 6px 0 0;
	font-family: var(--lectura);
	font-size: 15px;
	line-height: 1.55;
	color: var(--texto);
}

/* --------------------------------------------------------------------------
   Índice de categorías con línea de puntos
   -------------------------------------------------------------------------- */
.indice-cat { display: grid; grid-template-columns: 1fr 1fr; gap: 0 56px; }
.indice-cat a {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 20px;
	padding: 16px 0;
	border-bottom: 1px solid var(--regla-2);
}
.indice-cat .nombre { display: flex; align-items: baseline; gap: 12px; }
.indice-cat .nombre i { color: var(--purpura); font-size: 15px; }
.indice-cat .nombre span { font-family: var(--display); font-size: 22px; color: var(--tinta); }
.indice-cat .relleno { flex: 1; height: 1px; background: var(--regla-3); }
.indice-cat .apunte { font-size: 14px; font-family: var(--lectura); color: var(--texto); white-space: nowrap; }
.indice-cat a:hover .nombre span { color: var(--purpura); }

/* --------------------------------------------------------------------------
   Nube de símbolos
   -------------------------------------------------------------------------- */
.nube {
	margin-top: 68px;
	padding: 46px 52px;
	background: var(--papel-2);
	border: 1px solid var(--regla-2);
}
.nube .cab {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 26px;
	flex-wrap: wrap;
}
.nube .cab h2 { font-size: 30px; }
.nube .cab .nota { font-size: 12px; color: var(--apagado); }
.nube .terminos {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 10px 26px;
	font-family: var(--display);
	line-height: 1.1;
}
.nube .terminos a:hover { color: var(--purpura) !important; }

/* --------------------------------------------------------------------------
   Tarjetas del blog
   -------------------------------------------------------------------------- */
.rejilla-blog { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; }
.rejilla-blog a { display: flex; flex-direction: column; gap: 14px; }
.rejilla-blog h2 { font-size: 23px; line-height: 1.25; }
.rejilla-blog a:hover h2 { color: var(--purpura); }
.rejilla-blog .seccion-blog { font-size: 11px; letter-spacing: .18em; color: var(--ocre); text-transform: uppercase; }

/* --------------------------------------------------------------------------
   Publicidad
   -------------------------------------------------------------------------- */
.anuncio {
	border: 1px dashed var(--regla-4);
	background: var(--velo);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	text-align: center;
}
.anuncio .etiqueta { font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--apagado-2); }
.anuncio .medida { font-size: 13px; color: var(--apagado-2); }

/* --------------------------------------------------------------------------
   Pie de página
   -------------------------------------------------------------------------- */
.pie {
	margin-top: 80px;
	padding: 56px var(--margen) 40px;
	background: var(--pie-fondo);
	color: var(--pie-texto);
}
.pie .rejilla {
	max-width: var(--ancho);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1.3fr;
	gap: 44px;
}
.pie .marca { font-family: var(--display); font-size: 24px; color: var(--claro); }
.pie .lema {
	margin: 14px 0 0;
	font-family: var(--lectura);
	font-size: 14px;
	line-height: 1.65;
	color: var(--pie-apag);
	max-width: 290px;
}
.pie .columna { display: flex; flex-direction: column; gap: 11px; }
.pie .columna .titulo {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .2em;
	color: var(--ocre);
	margin-bottom: 5px;
	text-transform: uppercase;
}
.pie .columna a { font-size: 14px; color: var(--pie-texto); }
.pie .columna a:hover { color: #fff; }
.pie .idioma {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 13px;
	border: 1px solid var(--pie-regla);
}
.pie .idioma.activo { border-color: var(--ocre); }
.pie .idioma img { width: 20px; height: 14px; }
.pie .idioma .nombre { display: flex; flex-direction: column; }
.pie .idioma .nombre b { font-size: 14px; font-weight: 400; color: var(--pie-texto); }
.pie .idioma.activo .nombre b { color: var(--claro); }
.pie .idioma .nombre small { font-size: 11px; color: var(--apagado); }
.pie .cierre {
	max-width: var(--ancho);
	margin: 36px auto 0;
	padding-top: 20px;
	border-top: 1px solid var(--pie-regla);
	display: flex;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	font-size: 13px;
	color: var(--pie-tenue);
}

/* --------------------------------------------------------------------------
   Ficha de sueño
   -------------------------------------------------------------------------- */
.progreso {
	position: fixed;
	top: 0; left: 0;
	height: 3px;
	width: 0;
	background: linear-gradient(90deg, var(--purpura), var(--ocre));
	z-index: 50;
}

.miga {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 13px;
	color: var(--apagado);
	padding-top: 26px;
	flex-wrap: wrap;
}
.miga a { color: var(--texto); border-bottom: 1px solid transparent; }
.miga a:hover { border-bottom-color: var(--regla); }
.miga .actual { color: var(--tinta); }

.ficha-hero {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: 56px;
	padding: 34px 0 60px;
	align-items: start;
}
.ficha-hero .pie-foto {
	margin: 14px 0 0;
	font-family: var(--lectura);
	font-style: italic;
	font-size: 14px;
	line-height: 1.55;
	color: var(--apagado);
}
.pastilla-cat {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 13px;
	border: 1px solid var(--regla);
	background: var(--ficha);
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ocre);
}
.pastilla-cat:hover { border-color: var(--ocre); }
.ficha-hero h1 {
	margin: 20px 0 0;
	font-size: 66px;
	line-height: 1.02;
	letter-spacing: -.015em;
}
.ficha-hero h1 em { color: var(--purpura); }
.ficha-meta {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: 20px;
	font-size: 13px;
	color: var(--apagado);
	flex-wrap: wrap;
}
.ficha-meta .punto { width: 4px; height: 4px; border-radius: 99px; background: var(--regla); }

.en-breve {
	margin-top: 30px;
	padding: 32px 34px;
	border: 1px solid var(--regla);
	background: var(--ficha);
	border-left: 3px solid var(--ocre);
}
.en-breve p {
	margin: 16px 0 0;
	font-family: var(--lectura);
	font-size: 22px;
	line-height: 1.5;
	color: var(--tinta);
}
.en-breve .matices {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 24px;
	padding-top: 22px;
	border-top: 1px solid var(--regla-2);
}
.en-breve .matices span {
	font-family: var(--lectura);
	font-size: 16px;
	line-height: 1.55;
	color: var(--texto);
}
.en-breve .matices strong { color: var(--tinta); font-weight: 600; }

.chips { display: flex; align-items: center; gap: 10px; margin-top: 22px; flex-wrap: wrap; }
.chips .chip {
	font-size: 13px;
	color: var(--texto);
	border: 1px solid var(--regla);
	background: var(--ficha);
	padding: 6px 13px;
}
a.chip:hover { border-color: var(--purpura); color: var(--purpura); }

.acciones { display: flex; align-items: center; gap: 12px; margin-top: 26px; flex-wrap: wrap; }
.boton-tinta {
	display: flex;
	align-items: center;
	gap: 9px;
	height: 46px;
	padding: 0 20px;
	background: var(--boton-fondo);
	color: var(--boton-texto);
	border: 1px solid var(--boton-fondo);
	font-family: var(--ui);
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}
.boton-tinta:hover { background: var(--boton-hover); border-color: var(--boton-hover); }
.boton-hueco {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 46px;
	min-width: 46px;
	padding: 0 14px;
	border: 1px solid var(--regla);
	background: var(--ficha);
	color: var(--tinta);
	font-family: var(--ui);
	font-size: 15px;
	cursor: pointer;
}
.boton-hueco:hover { border-color: var(--tinta); }

.ficha-cuerpo {
	display: grid;
	grid-template-columns: 220px 1fr 300px;
	gap: 56px;
	padding: 0 0 90px;
	align-items: start;
}

.indice-pagina { position: sticky; top: 20px; display: flex; flex-direction: column; padding-top: 12px; }
.indice-pagina a {
	font-size: 14px;
	color: var(--texto);
	padding: 8px 0 8px 14px;
	border-left: 2px solid var(--regla-2);
}
.indice-pagina a:hover, .indice-pagina a.activo {
	color: var(--tinta);
	border-left-color: var(--ocre);
}
.indice-pagina .guardar { margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--regla-2); }
.indice-pagina .guardar p { margin: 10px 0 0; font-size: 13px; line-height: 1.5; color: var(--apagado); }

.articulo { max-width: 760px; padding-top: 12px; }
.articulo h2 {
	margin: 0 0 16px;
	font-size: 36px;
	line-height: 1.15;
	scroll-margin-top: 24px;
}
.articulo h3 { font-size: 24px; margin: 28px 0 10px; }
.articulo p, .articulo li {
	font-family: var(--lectura);
	font-size: 19px;
	line-height: 1.75;
	color: var(--texto);
}
.articulo p { margin: 0 0 20px; }
.articulo strong, .articulo b { color: var(--tinta); font-weight: 600; }
.articulo ul { margin: 0 0 24px; padding-left: 22px; }
.articulo li { margin-bottom: 10px; }
.articulo section { margin-bottom: 34px; }
.articulo blockquote {
	margin: 0 0 24px;
	padding: 26px 30px;
	background: var(--papel-2);
	border-left: 3px solid var(--ocre);
}
.articulo blockquote p {
	margin: 0;
	font-family: var(--display);
	font-style: italic;
	font-size: 26px;
	line-height: 1.4;
	color: var(--tinta);
}

.tarjetas-contexto { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.tarjeta {
	padding: 24px;
	border: 1px solid var(--regla-2);
	background: var(--ficha);
}
.tarjeta .titulo {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .2em;
	color: var(--ocre);
	text-transform: uppercase;
	font-family: var(--ui);
}
.tarjeta p {
	margin: 14px 0 0;
	font-family: var(--lectura);
	font-size: 17px;
	line-height: 1.7;
	color: var(--texto);
}
.tarjeta.ancha { grid-column: 1 / -1; margin-bottom: 40px; }

.faq { display: flex; flex-direction: column; gap: 10px; margin-bottom: 40px; }
.faq details {
	border: 1px solid var(--regla-2);
	background: var(--ficha);
}
.faq summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 20px 24px;
	cursor: pointer;
	font-family: var(--lectura);
	font-size: 18px;
	color: var(--tinta);
	list-style: none;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; font-size: 20px; color: var(--ocre); font-family: var(--ui); }
.faq details[open] summary::after { content: '–'; }
.faq details > div {
	padding: 0 24px 22px;
	font-family: var(--lectura);
	font-size: 17px;
	line-height: 1.7;
	color: var(--texto);
}

.pasos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 44px; }
.pasos .paso { padding: 22px; border: 1px solid var(--regla-2); background: var(--ficha); }
.pasos .cifra { font-family: var(--display); font-size: 30px; color: var(--ocre); }
.pasos p { margin: 8px 0 0; font-family: var(--lectura); font-size: 15px; line-height: 1.6; color: var(--texto); }

.compartir {
	padding: 34px;
	border: 1px solid var(--regla-2);
	background: var(--papel-2);
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 34px;
	align-items: center;
}
.compartir .muestra {
	aspect-ratio: 4 / 5;
	border: 1px solid var(--regla);
	background: var(--ficha);
	padding: 22px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.compartir .muestra .titulo {
	display: block;
	font-family: var(--display);
	font-size: 24px;
	line-height: 1.1;
	color: var(--tinta);
}
.compartir .muestra p { margin: 8px 0 0; font-family: var(--lectura); font-size: 12px; line-height: 1.5; color: var(--texto); }
.compartir .muestra .dominio { font-family: var(--ui); font-size: 8px; letter-spacing: .2em; color: var(--placa-marca); text-transform: uppercase; }
.compartir h3 { margin: 10px 0 8px; font-size: 30px; }
.compartir .texto { margin: 0 0 20px; font-family: var(--lectura); font-size: 16px; line-height: 1.6; color: var(--texto); max-width: 420px; }
.compartir .botones { display: flex; gap: 10px; flex-wrap: wrap; }

.rail-derecho { position: sticky; top: 20px; display: flex; flex-direction: column; gap: 20px; padding-top: 12px; }
.caja-lateral { padding: 22px; border: 1px solid var(--regla-2); background: var(--ficha); }
.caja-lateral .terminos {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 14px;
	margin-top: 14px;
	font-family: var(--display);
	line-height: 1.15;
}

.banda-relacionados {
	padding: 56px 0 70px;
	border-top: 1px solid var(--regla);
	background: var(--papel-2);
	margin-top: 0;
}
.rejilla-relacionados { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.tarjeta-sueno {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--regla-2);
	background: var(--ficha);
}
.tarjeta-sueno .cuerpo { padding: 20px; }
.tarjeta-sueno .cat { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--ocre); }
.tarjeta-sueno h3 { margin: 8px 0; font-size: 24px; line-height: 1.2; }
.tarjeta-sueno p { margin: 0; font-family: var(--lectura); font-size: 15px; line-height: 1.55; color: var(--texto); }
.tarjeta-sueno:hover { border-color: var(--regla-4); }
.tarjeta-sueno:hover h3 { color: var(--purpura); }

.otros-idiomas {
	margin-top: 44px;
	padding-top: 26px;
	border-top: 1px solid var(--regla);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	font-size: 13px;
	color: var(--apagado);
}
.otros-idiomas .enlaces { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.otros-idiomas .enlaces a { color: var(--texto); border-bottom: 1px solid var(--regla); }

/* --------------------------------------------------------------------------
   Categoría
   -------------------------------------------------------------------------- */
.cat-cabecera { display: grid; grid-template-columns: 1fr 336px; gap: 40px; align-items: start; padding: 34px 0 0; }
.cat-cabecera .icono {
	width: 82px; height: 82px;
	border: 1px solid var(--regla);
	background: var(--ficha);
	display: flex; align-items: center; justify-content: center;
	font-size: 34px; color: var(--purpura);
	flex: none;
}
.cat-cabecera .titular { display: flex; align-items: flex-start; gap: 26px; }
.cat-cabecera h1 { font-size: 64px; line-height: 1.02; }
.cat-cabecera .descripcion {
	margin: 16px 0 0;
	font-family: var(--lectura);
	font-size: 19px;
	line-height: 1.65;
	color: var(--texto);
	max-width: 620px;
}

.pestanas {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	border-bottom: 1px solid var(--regla);
	padding-bottom: 12px;
	margin-top: 34px;
}
.pestanas .grupo { display: flex; gap: 24px; }
.pestanas a { font-size: 14px; color: var(--apagado); padding-bottom: 4px; }
.pestanas a.activo { color: var(--tinta); border-bottom: 2px solid var(--activo); }
.pestanas .contador { font-size: 12px; letter-spacing: .12em; color: var(--apagado); text-transform: uppercase; }

.rejilla-suenos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 28px; }

.paginacion { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 48px; flex-wrap: wrap; }
.paginacion a, .paginacion span {
	min-width: 42px; height: 42px;
	padding: 0 14px;
	display: flex; align-items: center; justify-content: center;
	border: 1px solid var(--regla);
	background: var(--ficha);
	font-size: 14px;
	color: var(--texto);
}
.paginacion .actual { background: var(--boton-fondo); border-color: var(--boton-fondo); color: var(--boton-texto); }
.paginacion .puntos { border: 0; background: none; }
.paginacion a:hover { border-color: var(--tinta); color: var(--tinta); }

/* --------------------------------------------------------------------------
   Índice A–Z
   -------------------------------------------------------------------------- */
.rejilla-categorias { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 34px; }
.tarjeta-cat {
	padding: 22px;
	border: 1px solid var(--regla-2);
	background: var(--ficha);
	display: flex;
	align-items: center;
	gap: 14px;
}
.tarjeta-cat .icono {
	width: 44px; height: 44px; flex: none;
	border: 1px solid var(--regla);
	background: var(--papel-2);
	display: flex; align-items: center; justify-content: center;
	font-size: 18px; color: var(--purpura);
}
.tarjeta-cat .nombre { font-family: var(--display); font-size: 20px; line-height: 1.15; color: var(--tinta); }
.tarjeta-cat .cuenta { font-size: 12px; color: var(--apagado); display: block; margin-top: 2px; font-family: var(--ui); }
.tarjeta-cat:hover { border-color: var(--regla-4); }

.barra-letras {
	position: sticky;
	top: 0;
	z-index: 4;
	padding: 18px 0;
	background: var(--sticky);
	backdrop-filter: blur(6px);
	border-bottom: 1px solid var(--regla);
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 56px;
}
.barra-letras a, .barra-letras span {
	width: 34px; height: 34px;
	display: flex; align-items: center; justify-content: center;
	border: 1px solid var(--regla);
	background: var(--ficha);
	font-size: 14px;
	color: var(--texto);
}
.barra-letras a:hover { border-color: var(--tinta); color: var(--tinta); }
.barra-letras .vacia { opacity: .35; border-style: dashed; }

.bloque-letra { display: flex; gap: 26px; margin-top: 34px; scroll-margin-top: 80px; }
.bloque-letra .letra {
	font-family: var(--display);
	font-size: 80px;
	line-height: .8;
	color: var(--ocre);
	width: 90px;
	flex: none;
}
.bloque-letra .enlaces { flex: 1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px 26px; }
.bloque-letra .enlaces a {
	font-size: 15px;
	color: var(--texto);
	padding: 7px 0;
	border-bottom: 1px solid var(--regla-3);
}
.bloque-letra .enlaces a:hover { color: var(--purpura); }
.bloque-letra .enlaces a.mas { color: var(--ocre); }

/* --------------------------------------------------------------------------
   Búsqueda
   -------------------------------------------------------------------------- */
.busqueda-cuerpo { display: grid; grid-template-columns: 250px 1fr 300px; gap: 40px; align-items: start; padding-top: 34px; }
.filtros { border: 1px solid var(--regla-2); background: var(--ficha); padding: 22px; }
.filtros .grupo { margin-bottom: 24px; }
.filtros label { display: flex; align-items: center; gap: 9px; font-size: 14px; color: var(--texto); padding: 5px 0; cursor: pointer; }
.filtros input[type=checkbox] { accent-color: var(--purpura); }
.filtros button {
	width: 100%;
	height: 42px;
	background: var(--boton-fondo);
	color: var(--boton-texto);
	border: 0;
	font-family: var(--ui);
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

.resultado-destacado {
	border: 1px solid var(--regla);
	border-left: 3px solid var(--ocre);
	background: var(--ficha);
	padding: 28px 30px;
	display: flex;
	gap: 24px;
	margin-bottom: 24px;
}
.resultado-destacado h2 { font-size: 34px; line-height: 1.1; margin: 10px 0 0; }
.resultado-destacado p { font-family: var(--lectura); font-size: 16px; line-height: 1.6; color: var(--texto); margin: 10px 0 0; }

.fila-resultado {
	display: flex;
	gap: 20px;
	padding: 22px 0;
	border-bottom: 1px solid var(--regla-2);
}
.fila-resultado h3 { font-size: 24px; line-height: 1.2; }
.fila-resultado p { margin: 6px 0 0; font-family: var(--lectura); font-size: 15px; line-height: 1.55; color: var(--texto); }
.fila-resultado .cat { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--ocre); }
.fila-resultado:hover h3 { color: var(--purpura); }
mark { background: rgba(var(--ocre-rgb), .22); color: inherit; padding: 0 2px; }

.sin-resultados {
	margin-top: 40px;
	padding: 34px;
	border: 1px solid var(--regla-2);
	background: var(--papel-2);
	text-align: center;
}
.sin-resultados i { font-size: 30px; color: var(--regla-4); display: block; margin-bottom: 14px; }
.sin-resultados h3 { font-size: 28px; }
.sin-resultados p { margin: 10px auto 18px; max-width: 460px; font-family: var(--lectura); color: var(--texto); }

.chips .chip.activo { border-color: var(--ocre); background: rgba(var(--ocre-rgb), .12); color: var(--tinta); }
.icono-redondo {
	width: 56px; height: 56px; flex: none;
	border-radius: 50%;
	border: 1px solid var(--regla);
	background: var(--papel-2);
	display: flex; align-items: center; justify-content: center;
	font-size: 22px; color: var(--purpura);
}

/* --------------------------------------------------------------------------
   Sueño del día
   -------------------------------------------------------------------------- */
.dia-hero {
	position: relative;
	min-height: 520px;
	display: flex;
	align-items: flex-end;
	background: linear-gradient(160deg, var(--hero-a), var(--hero-b));
	border-bottom: 2px solid var(--filete);
	overflow: hidden;
}
.dia-hero .marca-agua {
	position: absolute;
	right: 4%;
	top: 50%;
	transform: translateY(-50%);
	font-size: 300px;
	color: var(--marca-agua);
	line-height: 1;
	pointer-events: none;
}
.dia-hero .interior { position: relative; padding: 60px 0; width: 100%; }
.dia-hero h1 { font-size: 84px; line-height: 1; letter-spacing: -.02em; max-width: 900px; }
.nav-fecha {
	display: flex;
	align-items: center;
	gap: 20px;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--apagado);
	margin-bottom: 24px;
}
.nav-fecha a { color: var(--tinta); }
.nav-fecha .hoy { color: var(--ocre); font-weight: 700; }

.dia-cuerpo { display: grid; grid-template-columns: 1fr 300px; gap: 56px; padding: 56px 0 0; align-items: start; }
.dia-cuerpo .lede { font-family: var(--lectura); font-size: 24px; line-height: 1.6; color: var(--tinta); margin: 0 0 28px; }
.boletin { padding: 22px; border: 1px solid var(--regla-2); background: var(--papel-2); }
.boletin h3 { font-size: 22px; margin: 10px 0 8px; }
.boletin p { font-family: var(--lectura); font-size: 15px; line-height: 1.6; margin: 0 0 14px; }
.boletin input {
	width: 100%; height: 42px; padding: 0 12px;
	border: 1px solid var(--regla); background: var(--ficha);
	font-family: var(--ui); font-size: 14px; color: var(--tinta);
	margin-bottom: 10px;
}
.boletin button { width: 100%; height: 42px; background: var(--boton-fondo); color: var(--boton-texto); border: 0; font-family: var(--ui); font-weight: 700; font-size: 14px; cursor: pointer; }
.boletin input:disabled, .boletin button:disabled { opacity: .5; cursor: not-allowed; }

/* El apunte "para hoy": el único consejo que se saca del artículo */
.caja-hoy {
	margin: 34px 0;
	padding: 26px 30px;
	border: 1px solid rgba(var(--ocre-rgb), .35);
	background: rgba(var(--ocre-rgb), .07);
}
.caja-hoy p {
	margin: 12px 0 0;
	font-family: var(--lectura);
	font-size: 19px;
	line-height: 1.65;
	color: var(--tinta);
}

.archivo-dias { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 28px; }
.archivo-dias a { display: flex; flex-direction: column; gap: 12px; }
.archivo-dias h3 { font-size: 22px; line-height: 1.2; }

/* --------------------------------------------------------------------------
   Artículo del blog: columna única
   -------------------------------------------------------------------------- */
.columna-lectura { max-width: 760px; margin: 0 auto; padding: 40px 0 0; }
.columna-lectura h1 { font-size: 62px; line-height: 1.05; margin: 14px 0 0; }
.columna-lectura .meta { margin-top: 18px; font-size: 13px; color: var(--apagado); }
.columna-lectura .cuerpo { margin-top: 40px; }
.columna-lectura .cuerpo p,
.columna-lectura .cuerpo li {
	font-family: var(--lectura);
	font-size: 19px;
	line-height: 1.8;
	color: var(--texto);
}
.columna-lectura .cuerpo h2 { font-size: 34px; margin: 40px 0 14px; }
.columna-lectura .cuerpo h3 { font-size: 26px; margin: 30px 0 12px; }
.columna-lectura .cuerpo img { margin: 28px 0; border: 1px solid var(--regla-2); }
.columna-lectura .cuerpo > p:first-child { font-size: 22px; line-height: 1.65; color: var(--tinta); }
.columna-lectura .cuerpo blockquote {
	margin: 26px 0;
	padding: 22px 28px;
	border-left: 3px solid var(--ocre);
	background: var(--papel-2);
}
.columna-lectura .cuerpo blockquote p {
	margin: 0;
	font-family: var(--display);
	font-style: italic;
	font-size: 26px;
	line-height: 1.4;
	color: var(--tinta);
}

/* Llamada del final del artículo: del blog al diccionario */
.cta-articulo {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 34px;
	padding: 22px 26px;
	border: 1px solid var(--regla);
	background: var(--ficha);
}
.cta-articulo p {
	margin: 0;
	flex: 1;
	font-family: var(--lectura);
	font-size: 16px;
	line-height: 1.6;
	color: var(--texto);
}

/* Páginas estáticas */
.pagina-texto { max-width: 760px; padding: 40px 0 0; }
.pagina-texto h1 { font-size: 56px; line-height: 1.05; }
.pagina-texto h2 { font-size: 30px; margin: 40px 0 12px; }
.pagina-texto p, .pagina-texto li { font-family: var(--lectura); font-size: 18px; line-height: 1.75; color: var(--texto); }

/* --------------------------------------------------------------------------
   Adaptación a pantallas menores
   -------------------------------------------------------------------------- */
@media (max-width: 1200px) {
	:root { --margen: 48px; }
	.ficha-cuerpo { grid-template-columns: 1fr 280px; gap: 40px; }
	.indice-pagina { display: none; }
	.busqueda-cuerpo { grid-template-columns: 220px 1fr; }
	.busqueda-cuerpo .rail-derecho { display: none; }
	.rejilla-categorias { grid-template-columns: repeat(3, 1fr); }
	.bloque-letra .enlaces { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 900px) {
	:root { --margen: 24px; }
	.barra-superior { padding: 0 24px; font-size: 11px; }
	.barra-superior .fecha { display: none; }
	.mancheta .titulo { font-size: 32px; }
	.mancheta .lema { font-size: 9px; letter-spacing: .24em; }
	.rail { gap: 0; justify-content: flex-end; }
	.rail .enlaces {
		display: none;
		position: absolute;
		top: 100%;
		left: 0; right: 0;
		background: var(--ficha);
		border: 1px solid var(--regla);
		border-top: 0;
		flex-direction: column;
		padding: 8px 0;
		z-index: 20;
	}
	.rail .enlaces.abierto { display: flex; }
	.rail .enlaces a { padding: 12px 20px; }
	.abre-menu { display: block; position: static; margin-right: auto; }
	.rail .lupa { position: static; }

	.portada-hero { grid-template-columns: 1fr; gap: 40px; padding-top: 36px; }
	.portada-hero h1 { font-size: 46px; }
	.caja-busqueda { flex-direction: column; align-items: stretch; }
	.caja-busqueda .campo { padding: 4px 16px; }
	.caja-busqueda button { width: 100%; height: 52px; }

	.lista-numerada, .indice-cat, .tarjetas-contexto { grid-template-columns: 1fr; }
	.tarjeta.ancha { grid-column: auto; }
	.rejilla-blog, .rejilla-suenos, .rejilla-relacionados, .pasos, .archivo-dias { grid-template-columns: 1fr; }
	.rejilla-categorias { grid-template-columns: repeat(2, 1fr); }
	.bloque-letra { flex-direction: column; gap: 10px; }
	.bloque-letra .letra { font-size: 56px; width: auto; }
	.bloque-letra .enlaces { grid-template-columns: 1fr 1fr; }

	.ficha-hero { grid-template-columns: 1fr; gap: 32px; }
	.ficha-hero h1 { font-size: 42px; }
	.ficha-cuerpo { grid-template-columns: 1fr; }
	.rail-derecho { position: static; }
	.articulo h2 { font-size: 28px; }
	.articulo p, .articulo li { font-size: 17px; }
	.compartir { grid-template-columns: 1fr; }
	.compartir .muestra { max-width: 240px; }

	.cat-cabecera { grid-template-columns: 1fr; }
	.cat-cabecera h1 { font-size: 40px; }
	.busqueda-cuerpo { grid-template-columns: 1fr; }
	.dia-hero h1 { font-size: 44px; }
	.dia-hero .marca-agua { font-size: 180px; opacity: .6; }
	.dia-cuerpo { grid-template-columns: 1fr; gap: 40px; }
	.columna-lectura h1 { font-size: 38px; }
	.pagina-texto h1 { font-size: 36px; }
	.nube { padding: 28px 24px; }
	.pie .rejilla { grid-template-columns: 1fr 1fr; gap: 32px; }

	/* El índice pasa de "nombre ······ apunte" a dos líneas: en 375px el
	   filete no cabe y el apunte no tiene dónde partirse. */
	.indice-cat a { flex-direction: column; align-items: stretch; gap: 6px; }
	.indice-cat .relleno { display: none; }
	.indice-cat .apunte { white-space: normal; }

	.cta-articulo { flex-direction: column; align-items: flex-start; }
}

/* --------------------------------------------------------------------------
   Los items de grid y de flex nacen con min-width:auto, así que no bajan del
   ancho de su contenido: un título largo o un texto con white-space:nowrap
   ensancha la pista y saca barra horizontal en el móvil.
   -------------------------------------------------------------------------- */
.busqueda-cuerpo > *,
.fila-resultado > *,
.resultado-destacado > *,
.dia-cuerpo > *,
.ficha-cuerpo > *,
.cta-articulo > *,
.indice-cat a { min-width: 0; }

@media (max-width: 560px) {
	.pie .rejilla { grid-template-columns: 1fr; }
	.bloque-letra .enlaces { grid-template-columns: 1fr; }
	.rejilla-categorias { grid-template-columns: 1fr; }
	.resultado-destacado { flex-direction: column; }
}

@media print {
	.barra-superior, .rail, .pie, .rail-derecho, .indice-pagina,
	.anuncio, .compartir, .acciones, .progreso { display: none !important; }
	body { background: #fff; }
	.ficha-cuerpo { grid-template-columns: 1fr; padding-bottom: 0; }
	.articulo { max-width: none; }
	.faq details { border: 0; }
}
