/* Variables por defecto (una Publicación concreta las sobrescribe
   inline, vía atributo style, con sus propios colores/tipografía —
   ver public/templates/*). Nada de esto es específico de ningún
   cliente ni tema editorial. */
.amj-publicacion {
	--amj-accent: #8C2F1B;
	--amj-accent-suave: rgba(140, 47, 27, 0.15);
	--amj-secundario: #B08D3D;
	--amj-fondo: #FDFBF7;
	--amj-ink: #222222;
	--amj-ink-suave: #8a8a8a;
	--amj-font-titulo: Georgia, serif;
	--amj-font-texto: Arial, sans-serif;
	--amj-ancho-max: 1180px;
	--amj-columnas: 5;

	background: var(--amj-fondo);
	color: var(--amj-ink);
	font-family: var(--amj-font-texto);
}

/* ---------- Listado de ediciones (Frontend 1) ---------- */
.amj-ediciones { display: grid; gap: 1.6rem; max-width: var(--amj-ancho-max); margin: 0 auto; }
.amj-ediciones--parrilla { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.amj-ediciones--lista { grid-template-columns: 1fr; }

.amj-tarjeta-edicion {
	display: flex; flex-direction: column; text-decoration: none; color: inherit;
	border-top: 3px solid var(--amj-accent);
}
.amj-ediciones--lista .amj-tarjeta-edicion { flex-direction: row; gap: 1.2rem; align-items: flex-start; border-top: none; border-bottom: 1px solid rgba(0,0,0,0.1); padding-bottom: 1rem; }
.amj-tarjeta-edicion__media { display: block; aspect-ratio: 4/3; overflow: hidden; background: rgba(0,0,0,0.05); }
.amj-ediciones--lista .amj-tarjeta-edicion__media { width: 160px; flex: none; aspect-ratio: 4/3; }
.amj-tarjeta-edicion__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.amj-tarjeta-edicion__cuerpo { padding: 0.8rem 0.1rem; display: flex; flex-direction: column; gap: 0.3rem; }
.amj-tarjeta-edicion__numero { font-family: var(--amj-font-texto); font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--amj-accent); }
.amj-tarjeta-edicion__titulo { font-family: var(--amj-font-titulo); font-weight: 700; font-size: 1.15rem; line-height: 1.3; }
.amj-tarjeta-edicion__resumen { font-size: 0.9rem; color: var(--amj-ink-suave); }
.amj-tarjeta-edicion__fecha { font-size: 0.78rem; color: var(--amj-ink-suave); }

@media (max-width: 640px) {
	.amj-ediciones--lista .amj-tarjeta-edicion { flex-direction: column; }
	.amj-ediciones--lista .amj-tarjeta-edicion__media { width: 100%; }
}

/* ---------- Filtros (punto 10) ---------- */
.amj-filtros { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; margin-bottom: 1.6rem; font-size: 0.85rem; }
.amj-filtros label { display: flex; flex-direction: column; gap: 0.25rem; }
.amj-filtros select { padding: 0.35rem 0.5rem; }
.amj-filtros__boton { padding: 0.45rem 1rem; background: var(--amj-accent); color: #fff; border: none; cursor: pointer; }
[aria-busy="true"] { opacity: 0.5; }

/* ---------- Portada de edición (Frontend 2) ---------- */
.amj-cabecera { border-bottom: 3px double var(--amj-ink); padding-bottom: 1rem; margin-bottom: 1.6rem; }
.amj-cabecera__top { display: flex; justify-content: space-between; align-items: center; font-size: 0.8rem; color: var(--amj-ink-suave); flex-wrap: wrap; gap: 0.6rem; }
.amj-cabecera__logo img { max-height: 56px; display: block; }
.amj-cabecera__nombre { font-family: var(--amj-font-titulo); font-size: 2rem; font-weight: 700; text-align: center; margin: 0.6rem 0; }
.amj-cabecera__menu { display: flex; gap: 1rem; flex-wrap: wrap; justify-content: center; font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.05em; }
.amj-cabecera__menu a { color: inherit; text-decoration: none; border-bottom: 2px solid transparent; }
.amj-cabecera__menu a:hover { border-color: var(--amj-accent); }
.amj-cabecera__suscripcion {
	display: inline-block; background: var(--amj-secundario); color: #fff; padding: 0.5rem 1rem;
	font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.05em; text-decoration: none;
}

.amj-retícula-portada { display: grid; grid-template-columns: repeat(var(--amj-columnas), 1fr); gap: 1.8rem; max-width: var(--amj-ancho-max); margin: 0 auto; }
.amj-articulo-principal { grid-column: span 3; }
.amj-resto-articulos { grid-column: span 2; display: flex; flex-direction: column; gap: 1.4rem; }

@media (max-width: 980px) {
	.amj-retícula-portada { grid-template-columns: 1fr 1fr; }
	.amj-articulo-principal, .amj-resto-articulos { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
	.amj-retícula-portada { grid-template-columns: 1fr; overflow-x: hidden; }
}

.amj-articulo-tarjeta { border-top: 3px solid var(--amj-ink); padding-top: 0.7rem; }
.amj-articulo-tarjeta--principal { border-top-color: var(--amj-accent); }
.amj-articulo-tarjeta__seccion { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--amj-secundario); display: block; margin-bottom: 0.3rem; }
.amj-articulo-tarjeta__titulo { font-family: var(--amj-font-titulo); font-weight: 700; margin: 0 0 0.4rem; line-height: 1.25; }
.amj-articulo-principal .amj-articulo-tarjeta__titulo { font-size: 1.8rem; }
.amj-articulo-tarjeta__subtitulo { font-style: italic; color: var(--amj-ink-suave); margin: 0 0 0.5rem; }
.amj-articulo-tarjeta__media img { width: 100%; height: auto; display: block; margin-bottom: 0.6rem; }
.amj-articulo-tarjeta__cuerpo { font-size: 0.95rem; text-align: justify; max-height: 9em; overflow: hidden; position: relative; }
.amj-articulo-tarjeta--expandido .amj-articulo-tarjeta__cuerpo { max-height: none; }
.amj-articulo-tarjeta__cuerpo p { margin: 0 0 0.7rem; }
.amj-leer-mas { background: none; border: none; color: var(--amj-accent); cursor: pointer; padding: 0.3rem 0; font-size: 0.82rem; }

/* ---------- Multimedia ("click to play") ---------- */
.amj-video { position: relative; aspect-ratio: 16/9; background: #000; margin-bottom: 0.8rem; }
.amj-video__poster { position: relative; width: 100%; height: 100%; }
.amj-video__poster img { width: 100%; height: 100%; object-fit: cover; display: block; }
.amj-video__play {
	position: absolute; inset: 0; margin: auto; width: 64px; height: 64px; border-radius: 50%;
	background: rgba(0,0,0,0.6); color: #fff; border: 2px solid #fff; font-size: 1.4rem;
	cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.amj-video__play:focus-visible { outline: 3px solid var(--amj-accent); outline-offset: 3px; }
.amj-video__iframe, .amj-video__nativo { width: 100%; height: 100%; border: 0; display: block; }

/* ---------- Gráficas propias ---------- */
.amj-grafica { margin: 1.4rem 0; border-top: 3px solid var(--amj-secundario); padding-top: 0.8rem; }
.amj-grafica__titulo { font-family: var(--amj-font-titulo); font-weight: 700; font-size: 1.05rem; }
.amj-grafica__desc { font-size: 0.85rem; color: var(--amj-ink-suave); margin: 0.2rem 0 0.6rem; }
.amj-grafica__lienzo-wrap { position: relative; }
.amj-grafica__lienzo { width: 100%; display: block; }
.amj-grafica__tooltip {
	position: absolute; transform: translate(-50%, -120%); background: var(--amj-ink); color: #fff;
	padding: 0.4rem 0.6rem; font-size: 0.78rem; border-radius: 3px; pointer-events: none; white-space: nowrap;
}
.amj-grafica__variacion { color: #cde8c8; }
.amj-grafica__notas, .amj-grafica__fuente { font-size: 0.75rem; color: var(--amj-ink-suave); margin-top: 0.4rem; }

.amj-vacio { padding: 1rem; border: 1px dashed rgba(0,0,0,0.2); font-size: 0.9rem; color: var(--amj-ink-suave); }

/* Accesibilidad: foco visible en todos los elementos interactivos */
.amj-publicacion a:focus-visible,
.amj-publicacion button:focus-visible,
.amj-publicacion select:focus-visible {
	outline: 3px solid var(--amj-accent);
	outline-offset: 2px;
}
