/**
 * Modern News UI — Base visual.
 * Solo actúa dentro de las clases del plugin: si el plugin se desactiva,
 * ninguna de estas reglas llega al navegador.
 */

.mnui.mnui-typography {
	font-family: var(--mnui-font-body);
	line-height: var(--mnui-line-height);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

.mnui.mnui-typography h1,
.mnui.mnui-typography h2,
.mnui.mnui-typography h3,
.mnui.mnui-typography h4,
.mnui.mnui-typography h5,
.mnui.mnui-typography h6 {
	font-family: var(--mnui-font-heading);
	font-weight: var(--mnui-heading-weight);
	letter-spacing: -0.015em;
}

.mnui.mnui-motion a,
.mnui.mnui-motion button,
.mnui.mnui-motion .mnui-card,
.mnui.mnui-motion img {
	transition: color var(--mnui-transition), background-color var(--mnui-transition),
		border-color var(--mnui-transition), box-shadow var(--mnui-transition), transform var(--mnui-transition);
}

/* Componentes reutilizables para los módulos de las siguientes fases. */

.mnui-container {
	width: 100%;
	max-width: var(--mnui-content-width);
	margin-inline: auto;
	padding-inline: var(--mnui-space-md);
}

.mnui-card {
	border-radius: var(--mnui-radius-card);
	box-shadow: var(--mnui-shadow-soft);
	overflow: hidden;
}

.mnui-card:hover {
	box-shadow: var(--mnui-shadow-raised);
}

.mnui-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--mnui-space-xs);
	border: 0;
	border-radius: var(--mnui-radius-button);
	padding: var(--mnui-space-sm) var(--mnui-space-md);
	background: var(--mnui-color-accent);
	color: #fff;
	font-family: var(--mnui-font-body);
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
}

.mnui-input,
.mnui-field-control {
	border-radius: var(--mnui-radius-input);
}

.mnui-media {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--mnui-radius-card);
	object-fit: cover;
}

.mnui-stack > * + * {
	margin-top: var(--mnui-space-md);
}

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

@media (prefers-reduced-motion: reduce) {
	.mnui.mnui-motion *,
	.mnui.mnui-motion *::before,
	.mnui.mnui-motion *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}
