/* Monaco Unifamiliares – front
 * Hereda tipografías y colores globales de Elementor (kit) si existen.
 * Ajusta las variables a gusto.
 */
.mu-single,
.mu-archive {
	--mu-max: 1160px;          /* ancho del contenido (igual que el contenedor de Elementor) */
	--mu-text-max: 100%;       /* ancho de las columnas de texto; p. ej. 900px para estrecharlas */
	--mu-gutter: clamp(16px, 4vw, 40px);
	--mu-gap: clamp(48px, 8vw, 120px);
	--mu-text: var(--e-global-color-text, #7a7a7a);
	--mu-heading: var(--e-global-color-primary, #6b6b6b);
	--mu-line: #e6e6e6;
	--mu-font: var(--e-global-typography-text-font-family, inherit);
	--mu-font-heading: var(--e-global-typography-primary-font-family, inherit);

	color: var(--mu-text);
	font-family: var(--mu-font);
	font-weight: 300;
	line-height: 1.7;
	padding-bottom: var(--mu-gap);
	overflow-x: clip;
}

.mu-single *,
.mu-archive * { box-sizing: border-box; }

/* Resets sin especificidad (:where) para no pisar el centrado */
:where(.mu-single, .mu-archive) figure { margin: 0; }

:where(.mu-single, .mu-archive) img { display: block; width: 100%; height: auto; }

.mu-single .mu-wrap,
.mu-archive .mu-wrap {
	width: 100%;
	max-width: calc(var(--mu-max) + 2 * var(--mu-gutter));
	margin-inline: auto;
	padding-inline: var(--mu-gutter);
}

/* Títulos (estilo dossier: mayúsculas, trazo fino, espaciado) */
.mu-title,
.mu-heading {
	font-family: var(--mu-font-heading);
	color: var(--mu-heading);
	text-transform: uppercase;
	letter-spacing: .08em;
	font-weight: 300;
	line-height: 1.25;
	margin: 0 0 .6em;
}
.mu-title { font-size: clamp(1.6rem, 3vw, 2.4rem); }
.mu-heading { font-size: clamp(1.05rem, 1.6vw, 1.3rem); }

.mu-text p { margin: 0 0 1.1em; }
.mu-text p:last-child { margin-bottom: 0; }

/* Hero */
.mu-hero img {
	height: min(88vh, 62vw);
	min-height: 320px;
	object-fit: cover;
}

/* Intro + ficha */
.mu-intro {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: var(--mu-gutter) clamp(32px, 6vw, 96px);
	padding-block: var(--mu-gap) 0;
}
.mu-subtitle {
	font-style: italic;
	margin: -.2em 0 1.4em;
}
.mu-ficha {
	margin: 0;
	align-self: start;
	border-top: 1px solid var(--mu-line);
}
.mu-ficha > div {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: .7em 0;
	border-bottom: 1px solid var(--mu-line);
	font-size: .92em;
}
.mu-ficha dt {
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: .85em;
}
.mu-ficha dd { margin: 0; text-align: right; color: var(--mu-heading); }

/* Bloques */
.mu-single .mu-b { margin-top: var(--mu-gap); }

.mu-b--bleed { width: 100%; }
.mu-b--bleed img { max-height: 92vh; object-fit: cover; }

.mu-b figcaption {
	font-size: .82em;
	margin-top: .8em;
	letter-spacing: .03em;
}

.mu-single .mu-b--boceto img {
	width: 100%;
	max-width: 900px;
	margin-inline: auto;
}
.mu-b--boceto figcaption { text-align: center; }

/* Columna de texto centrada (texto suelto e introducción sin ficha) */
.mu-single .mu-b--texto .mu-text,
.mu-single .mu-intro--solo .mu-text {
	max-width: var(--mu-text-max);
	margin-inline: auto;
}
.mu-single .mu-intro--solo { grid-template-columns: minmax(0, 1fr); }

.mu-b--texto-imagen {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 80px);
	align-items: center;
}
.mu-b--texto-imagen.mu-img-izquierda .mu-media { order: -1; }
.mu-b--texto-imagen .mu-media img { aspect-ratio: 4 / 3; object-fit: cover; }

.mu-b--dos-imagenes {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(12px, 2vw, 24px);
}
.mu-b--dos-imagenes img { aspect-ratio: 4 / 5; object-fit: cover; height: 100%; }

/* Navegación entre proyectos */
.mu-nav {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 16px;
	margin-top: var(--mu-gap);
	padding-top: 32px;
	border-top: 1px solid var(--mu-line);
}
.mu-nav a {
	color: var(--mu-heading);
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: .9em;
}
.mu-nav a span {
	display: block;
	font-size: .75em;
	color: var(--mu-text);
}
.mu-nav__next { text-align: right; }
.mu-nav__all { font-size: .8em !important; border-bottom: 1px solid currentColor; }
.mu-nav a:hover { opacity: .65; }

/* Listado */
.mu-archive__header { padding-top: var(--mu-gap); }
.mu-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(24px, 3vw, 40px);
	margin-top: 32px;
}
.mu-card a { color: inherit; text-decoration: none; display: block; }
.mu-card__img { overflow: hidden; background: #f3f3f3; aspect-ratio: 4 / 3; }
.mu-card__img img { height: 100%; object-fit: cover; transition: transform .6s ease; }
.mu-card a:hover .mu-card__img img { transform: scale(1.04); }
.mu-card__title {
	font-family: var(--mu-font-heading);
	color: var(--mu-heading);
	text-transform: uppercase;
	letter-spacing: .08em;
	font-weight: 300;
	font-size: 1rem;
	margin: 1em 0 .2em;
}
.mu-card__meta { font-size: .85em; margin: 0; }
.mu-pagination { margin-top: 48px; text-align: center; }
.mu-pagination .nav-links { display: flex; justify-content: center; gap: 12px; }

/* Responsive */
@media (max-width: 900px) {
	.mu-intro,
	.mu-b--texto-imagen { grid-template-columns: 1fr; }
	.mu-b--texto-imagen.mu-img-izquierda .mu-media { order: 0; }
	.mu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.mu-b--dos-imagenes,
	.mu-grid { grid-template-columns: 1fr; }
	.mu-nav { grid-template-columns: 1fr 1fr; }
	.mu-nav__all { grid-column: 1 / -1; grid-row: 2; justify-self: center; }
}
