/*
Theme Name: MUT 2026
Theme URI: https://mut.cl
Author: Portable
Author URI: https://portable.cl
Description: Custom WordPress theme for MUT (mut.cl). Built from Figma with Bootstrap 5, no jQuery.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mut-2026
Tags: bootstrap5, mut
*/

/* ============================================================
   FONTS
   Note: TRJN DaVinci is delivered as italic-only files; we map
   them to font-style:normal so headings render with the italic
   serif glyphs as shown in Figma.
   ============================================================ */

@font-face {
	font-family: 'Necto Mono';
	src: url('assets/fonts/NectoMono-Regular.otf') format('opentype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

/* Upright */
@font-face {
	font-family: 'TRJN DaVinci';
	src: url('assets/fonts/TRJNDaVinci-Regular.woff') format('woff'),
	     url('assets/fonts/TRJNDaVinci-Regular.ttf')  format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'TRJN DaVinci';
	src: url('assets/fonts/TRJNDaVinci-Medium.woff') format('woff'),
	     url('assets/fonts/TRJNDaVinci-Medium.ttf')  format('truetype');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'TRJN DaVinci';
	src: url('assets/fonts/TRJNDaVinci-Semibold.woff') format('woff'),
	     url('assets/fonts/TRJNDaVinci-Semibold.ttf')  format('truetype');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
/* Alias 700 (bold) to Semibold since no Bold file exists */
@font-face {
	font-family: 'TRJN DaVinci';
	src: url('assets/fonts/TRJNDaVinci-Semibold.woff') format('woff'),
	     url('assets/fonts/TRJNDaVinci-Semibold.ttf')  format('truetype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* Italic variants */
@font-face {
	font-family: 'TRJN DaVinci';
	src: url('assets/fonts/TRJNDaVinci-Italic.woff') format('woff');
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: 'TRJN DaVinci';
	src: url('assets/fonts/TRJNDaVinci-MediumItalic.woff') format('woff');
	font-weight: 500;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: 'TRJN DaVinci';
	src: url('assets/fonts/TRJNDaVinci-SemiboldItalic.woff') format('woff');
	font-weight: 600;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Satoshi';
	src: url('assets/fonts/Satoshi-Regular.woff2') format('woff2'),
	     url('assets/fonts/Satoshi-Regular.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Satoshi';
	src: url('assets/fonts/Satoshi-Italic.woff2') format('woff2'),
	     url('assets/fonts/Satoshi-Italic.woff') format('woff');
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: 'Satoshi';
	src: url('assets/fonts/Satoshi-Medium.woff2') format('woff2'),
	     url('assets/fonts/Satoshi-Medium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Satoshi';
	src: url('assets/fonts/Satoshi-Bold.woff2') format('woff2'),
	     url('assets/fonts/Satoshi-Bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* ============================================================
   DESIGN TOKENS (from Figma)
   ============================================================ */

:root {
	/* Brand */
	--mut-black: #0d0d0d;
	--mut-black-pure: #000000;
	--mut-gray-dark: #333333;
	--mut-gray: #acacac;
	--mut-gray-light: #f3f3f3;
	--mut-off-white: #fbfbfa;
	--mut-white: #ffffff;

	/* Accent palette */
	--mut-red: #d75b51;
	--mut-blue: #ade2ec;
	--mut-green: #b3e39e;
	--mut-purple: #bdb4e8;
	--mut-yellow: #ffd970;
	--mut-yellow-bright: #ffe66a;
	--mut-pink: #D395B2;
	--mut-beige: #f9ede6;

	/* Typography */
	--font-display: 'TRJN DaVinci', Georgia, serif;
	--font-body: 'Satoshi', system-ui, -apple-system, sans-serif;
	--font-mono: 'Necto Mono', 'Courier New', monospace;

	/* Layout */
	--container-max: 1240px;
	--navbar-top-h: 30px;
	--navbar-main-h: 80px;
}

/* ============================================================
   BASE
   ============================================================ */

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.5;
	color: var(--mut-black);
	background: var(--mut-off-white);
	margin: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-display);
	font-weight: 500;
	line-height: 1.1;
	color: var(--mut-black);
	margin: 0 0 1rem;
}

h1 { font-size: clamp(2.5rem, 5vw, 4rem); }
h2 { font-size: clamp(2rem, 4vw, 3rem); }
h3 { font-size: 1.5rem; }

a { color: var(--mut-black); text-decoration: none; }
a:hover { opacity: 1; color: var(--mut-black); }

img { max-width: 100%; height: auto; display: block; }

.text-display { font-family: var(--font-display); }
.text-body    { font-family: var(--font-body); }
.text-mono    { font-family: var(--font-mono); font-size: .875rem; letter-spacing: .02em; }
.text-italic-serif { font-family: var(--font-display); font-style: italic; }

.container, .container-fluid { max-width: var(--container-max); }
.container, .container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {
	padding-right: 0;
	padding-left: 0;
}

/* ============================================================
   NAVBAR
   ============================================================ */

.mut-navbar {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1030;
	background: transparent;
}

.site-main { position: relative; }

.mut-topbar {
	background: #000;
	height: var(--navbar-top-h);
	font-family: var(--font-mono);
	font-size: 12px;
	margin-bottom: 12px;
}

.mut-topbar a { color: var(--mut-black); }

.mut-topbar__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 20px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.mut-topbar__social { display: flex; gap: 14px; align-items: center; }
.mut-topbar__social a { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; }
.mut-topbar__social svg,
.mut-topbar__social img { width: 16px; height: 16px; display: block; object-fit: contain; filter: invert(1); }

/* Items como celdas con borde sobre la barra negra; hover = fondo blanco + texto/icono oscuro */
.mut-topbar__items { display: flex; gap: 0; align-items: stretch; height: 100%; }
.mut-topbar__items li { list-style: none; display: flex; align-items: stretch; }
.mut-topbar__items a,
.mut-topbar__item  {
	box-sizing: border-box;
	display: inline-flex; align-items: center; gap: 6px;
	height: 100%; padding: 0 18px;
	text-transform: uppercase; line-height: 1;
	font-family: var(--font-mono); font-size: 12px;
	color: #fff; text-decoration: none;
	border: 1px solid rgba(255,255,255,.35);
	margin-left: -1px;
	transition: background .15s ease, color .15s ease;
}
.mut-topbar__items a:hover,
.mut-topbar__item:hover { background: #fff; color: var(--mut-black); opacity: 1; text-decoration: none; }
.mut-icon { width: 16px; height: 16px; flex-shrink: 0; color: currentColor; }

/* Language switcher */
.mut-topbar__lang {
	position: relative;
	display: flex;
	align-items: stretch;
}
.mut-topbar__lang-toggle {
	background: transparent;
	cursor: pointer;
}
.mut-topbar__lang-list {
	position: absolute;
	top: 100%;
	right: 0;
	margin: 0;
	padding: 8px 0;
	min-width: 120px;
	list-style: none;
	background: var(--mut-off-white);
	border: 1px solid rgba(13,13,13,.1);
	box-shadow: 0 4px 12px rgba(0,0,0,.06);
	display: none;
	z-index: 1040;
}
.mut-topbar__lang:hover .mut-topbar__lang-list,
.mut-topbar__lang:focus-within .mut-topbar__lang-list,
.mut-topbar__lang.is-open .mut-topbar__lang-list { display: block; }

.mut-topbar__lang-list li { padding: 0; }
.mut-topbar__lang-list a {
	display: block;
	padding: 8px 16px;
	font-family: var(--font-mono);
	font-size: 12px;
	text-transform: uppercase;
	color: var(--mut-black);
	text-decoration: none;
}
.mut-topbar__lang-list a:hover { background: rgba(13,13,13,.05); opacity: 1; color: var(--mut-black); }

/* Main navigation: transparent bar with bordered bricks grouped together */
.mut-mainnav {
	height: var(--navbar-main-h);
	background: transparent;
}

.mut-mainnav__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0;
	height: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 0;
}

/* Logo brick: 80x80, spans both rows, touches first menu item */
.mut-mainnav__logo {
	width: 80px;
	height: 79px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px;
	background: var(--mut-off-white);
	border: 1px solid var(--mut-black);
	margin-top: -1px;
	position: relative;
	overflow: hidden;
	transition: background .15s ease;
}
.mut-mainnav__logo:hover { background: var(--mut-black); opacity: 1; }

.mut-mainnav__logo svg,
.mut-mainnav__logo img { max-width: 64px; max-height: 45px; }

/* Stacked logo images — default visible, swap to inverted on hover (no fade) */
.mut-mainnav__logo-img--hover {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 0;
}
.mut-mainnav__logo:hover .mut-mainnav__logo-img--default { opacity: 0; }
.mut-mainnav__logo:hover .mut-mainnav__logo-img--hover   { opacity: 1; }

/* Menu wraps to 2 rows of 40px bricks, touching the logo */
.mut-mainnav__menu {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	gap: 0;
	list-style: none;
	margin: 0 0 0 -1px;
	padding: 0;
	max-width: 600px;
}

.mut-mainnav__menu li { display: flex; }

.mut-mainnav__menu a {
	display: inline-flex;
	align-items: center;
	height: 40px;
	padding: 0 12px;
	background: var(--mut-off-white);
	border: 1px solid var(--mut-black);
	margin-left: -1px;
	margin-top: -1px;
	font-family: var(--font-mono);
	font-size: 14px;
	line-height: 1;
	color: var(--mut-black);
	text-transform: uppercase;
	white-space: nowrap;
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
	position: relative;
}

.mut-mainnav__menu a:hover,
.mut-mainnav__menu .current-menu-item > a {
	opacity: 1;
	background: var(--mut-black);
	color: var(--mut-off-white);
	text-decoration: none;
	z-index: 1;
}

/* Search brick (last <li> inside the menu) */
.mut-mainnav__search-item { display: flex; }

.mut-mainnav__search {
	width: 42px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--mut-off-white);
	border: 1px solid var(--mut-black);
	margin-left: -1px;
	margin-top: -1px;
	padding: 8px;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
	position: relative;
}

.mut-mainnav__search:hover { background: var(--mut-black); color: var(--mut-off-white); z-index: 1; }
.mut-mainnav__search svg { width: 20px; height: 20px; }
.mut-mainnav__search img { width: 20px; height: 20px; display: block; transition: filter .15s ease; }
/* Icono (img) blanco en hover del botón Buscar del menú (fondo negro) */
.mut-mainnav__search:not(.mut-mainnav__search--mobile):hover img { filter: brightness(0) invert(1); }
.mut-mainnav__search--mobile { display: none; } /* solo visible en mobile (navbar) */

.mut-mainnav__toggler {
	display: none;
	background: transparent;
	border: 0;
	width: 40px;
	height: 40px;
	padding: 8px;
	cursor: pointer;
}

/* Overlay del menú mobile: transparente en desktop (el <ul> se comporta como hijo directo) */
.mut-mainnav__overlay { display: contents; }
.mut-mainnav__menu-footer { display: none; }
.mut-mainnav__toggler-icon--x { display: none; }

.mut-mainnav__toggler span {
	display: block;
	width: 100%;
	height: 2px;
	background: var(--mut-black);
	margin: 4px 0;
}

/* Primary nav: sub-menu dropdown */
.mut-mainnav__menu li {
	position: relative;
}

/* Sub-menu hidden by default */
.mut-mainnav__menu .sub-menu {
	display: block;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: 100%;             /* flush below the brick */
	left: -1px;            /* align with parent border */
	min-width: 160px;
	list-style: none;
	margin: 0;
	padding: 0;
	background: var(--mut-off-white);
	border: 1px solid var(--mut-black);
	z-index: 1050;
	transform: translateY(-4px);
	transition: opacity .15s ease, transform .15s ease, visibility 0s linear .15s;
}

/* Show on parent hover */
.mut-mainnav__menu li:hover > .sub-menu,
.mut-mainnav__menu li:focus-within > .sub-menu {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
	transition-delay: 0s;
}

/* Sub-menu items */
.mut-mainnav__menu .sub-menu li {
	display: block;
	width: 100%;
}

.mut-mainnav__menu .sub-menu a {
	display: block;
	width: 100%;
	height: auto;
	padding: 10px 14px;
	border: 0;
	border-bottom: 1px solid var(--mut-black);
	border-left: 0;
	margin: 0;
	font-family: var(--font-mono);
	font-size: 13px;
	text-transform: uppercase;
	background: var(--mut-off-white);
	color: var(--mut-black);
	white-space: nowrap;
}

.mut-mainnav__menu .sub-menu li:last-child a {
	border-bottom: 0;
}

.mut-mainnav__menu .sub-menu a:hover {
	background: var(--mut-black);
	color: var(--mut-off-white);
	z-index: 1;
}

/* Dropdown indicator arrow on parent items with children */
.mut-mainnav__menu .menu-item-has-children > a::after {
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 4px solid currentColor;
	margin-left: 6px;
	vertical-align: middle;
	transition: transform .15s ease;
}

.mut-mainnav__menu .menu-item-has-children:hover > a::after {
	transform: rotate(180deg);
}

@media (max-width: 991.98px) {
	/* Top-bar mobile: 3 ítems (Horarios/Cómo llegar/Suscríbete) a todo el ancho,
	   sin sociales ni idioma (esos van dentro del menú hamburguesa). */
	.mut-topbar { margin-bottom: 0; }
	.mut-topbar__inner { padding: 0; }
	.mut-topbar__social { display: none; }
	.mut-topbar__lang,
	.mut-topbar__lang-static { display: none; }
	.mut-topbar__items {
		width: 100%;
		margin-top: 0;
		gap: 0;
	}
	.mut-topbar__items li { flex: 1 1 0; display: flex; }
	.mut-topbar__items a {
		width: 100%;
		justify-content: center;
		padding: 0 0px;
		height: var(--navbar-top-h);
		border-right: 1px solid rgba(255, 255, 255, .25);
	}
	.mut-topbar__items li:last-child a { border-right: 0; }
	/* Ocultar "Contacto" en mobile */
	.mut-topbar__items li.mut-topbar-item--contacto { display: none; }
	.mut-topbar__items li:nth-last-child(2) a { border-right: 0; }

	/* Navbar mobile: caja blanca FLOTANTE sobre el hero (no full-width, 20px hacia abajo) */
	.mut-mainnav { background: transparent; border: 0; height: auto; }
	.mut-mainnav__inner {
		margin: 8px 16px 0;
		padding: 12px 12px 12px 12px;
		background: var(--mut-off-white);
		border: 1px solid var(--mut-black);
		align-items: center;
		gap: 0;
	}
	.mut-mainnav__logo {
		border: 0;
		background: transparent;
		margin: 0;
		padding: 0;
		width: auto;
		height: auto;
		overflow: visible;
	}
	.mut-mainnav__logo:hover { background: transparent; }
	.mut-mainnav__logo svg,
	.mut-mainnav__logo img { max-width: none; max-height: 48px; }
	.mut-mainnav__logo-img--hover { display: none; }   /* sin swap a logo invertido en navbar blanco */
	.mut-mainnav__logo:hover .mut-mainnav__logo-img--default { opacity: 1; }   /* el MUT no se vuelve blanco/desaparece en hover */

	/* Buscador + hamburguesa: grupo pegado a la derecha, íconos del alto del logo (~42px) */
	.mut-mainnav__search--mobile {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		margin-left: auto;
		margin-right: 20px;
		width: 42px;
		height: 42px;
		border: 0;
		background: transparent;
		padding: 0;
	}
	.mut-mainnav__search--mobile:hover { background: transparent; }
	.mut-mainnav__search--mobile img { width: 32px; height: 32px; }
	.mut-mainnav__search-item { display: none; }   /* el buscador del menú no va en mobile */
	.mut-mainnav__toggler {
		display: block;
		width: 42px;
		height: 42px;
		padding: 0;
		margin-left: 0;
		align-self: center;
	}
	.mut-mainnav__toggler-icon {
		width: auto;
		height: 32px;
		display: block;
		margin: auto;
	}
	/* Navbar (caja blanca con MUT + buscador + X) por encima del overlay y clickeable */
	.mut-topbar { position: relative; z-index: 2; }
	.mut-mainnav { position: relative; z-index: 2; }
	.mut-mainnav__inner { position: relative; z-index: 2; }
	/* Recrea el fondo blanco de la caja del navbar POR ENCIMA del overlay (el overlay es hijo del
	   inner, así que el fondo propio del inner queda debajo; este ::after lo repinta arriba). */
	.mut-mainnav__inner::after {
		content: "";
		position: absolute;
		inset: -1px;
		background: var(--mut-off-white);
		border: 1px solid var(--mut-black);
		z-index: 2;
		pointer-events: none;
	}
	.mut-mainnav__logo,
	.mut-mainnav__search--mobile,
	.mut-mainnav__toggler { position: relative; z-index: 3; }

	/* Overlay full-screen del menú */
	.mut-mainnav__overlay {
		display: flex;
		flex-direction: column;
		position: fixed;
		inset: 0;
		z-index: 1;
		background: rgb(251 251 250 / 95%);
		padding: calc(var(--navbar-top-h) + 80px) 16px 24px;
		overflow-y: auto;
		scrollbar-width: none;
		-ms-overflow-style: none;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
		transition: opacity .22s ease, visibility 0s linear .22s;
	}
	.mut-mainnav__overlay::-webkit-scrollbar { width: 0; height: 0; display: none; }
	.mut-mainnav__overlay.is-open {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
		transition: opacity .22s ease;
	}

	/* Menú = columna de bricks alineados a la derecha */
	.mut-mainnav__overlay .mut-mainnav__menu {
		position: static;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		gap: 0;
		margin: 0;
		padding: 0;
		max-width: none;
		background: transparent;
		border: 0;
	}
	.mut-mainnav__overlay .mut-mainnav__menu li { width: auto; display: flex; justify-content: flex-end; }
	.mut-mainnav__overlay .mut-mainnav__menu a {
		display: inline-flex;
		align-items: center;
		justify-content: flex-end;
		width: auto;
		height: auto;
		padding: 15px 20px;
		background: var(--mut-off-white);
		border: 1px solid var(--mut-black);
		margin: 0 0 -1px 0;
		font-family: var(--font-mono);
		font-size: 18px;
		line-height: 1;
		text-transform: uppercase;
		color: var(--mut-black);
		white-space: nowrap;
		text-align: right;
	}
	.mut-mainnav__overlay .mut-mainnav__menu a:hover,
	.mut-mainnav__overlay .mut-mainnav__menu .current-menu-item > a {
		background: var(--mut-black);
		color: var(--mut-off-white);
	}
	/* Ítems alineados a ras de la derecha (sin zigzag). */
	/* Submenús: ocultos; se expanden al tocar el item padre (accordion) */
	.mut-mainnav__overlay .mut-mainnav__menu .menu-item-has-children { flex-direction: column; align-items: flex-end; }
	.mut-mainnav__overlay .mut-mainnav__menu .sub-menu { display: none; position: static; visibility: visible; opacity: 1; pointer-events: auto; transform: none; flex-direction: column; align-items: flex-end; width: auto; min-width: 0; margin: 0; padding: 0; background: transparent; border: 0; z-index: auto; list-style: none; }
	.mut-mainnav__overlay .mut-mainnav__menu .menu-item-has-children.is-open > .sub-menu { display: flex; }
	.mut-mainnav__overlay .mut-mainnav__menu .sub-menu li { width: auto; display: flex; justify-content: flex-end; }
	.mut-mainnav__overlay .mut-mainnav__menu .sub-menu a { font-size: 14px; padding: 12px 20px; }
	/* En el overlay mobile no hay tarjeta contenedora (a diferencia del dropdown desktop), así que
	   el último item del submenú SÍ necesita su propio borde inferior para cerrar el "escalón". */
	.mut-mainnav__menu .sub-menu li:last-child a { border-bottom: 1px solid var(--mut-black); }
	.mut-mainnav__overlay .mut-mainnav__menu .menu-item-has-children.is-open > a::after { transform: rotate(180deg); }
	.mut-mainnav__overlay .mut-mainnav__menu .mut-mainnav__search-item { display: none; }

	/* Pie del overlay: idioma + redes */
	.mut-mainnav__menu-footer {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 22px;
		margin-top: auto;
		padding-top: 40px;
	}
	.mut-mainnav__menu-lang { position: relative; }
	.mut-mainnav__menu-lang-toggle {
		display: inline-flex; align-items: center; gap: 8px;
		background: transparent; border: 0; padding: 0; cursor: pointer;
		font-family: var(--font-mono); font-size: 16px; text-transform: uppercase; color: var(--mut-black);
	}
	.mut-mainnav__menu-lang-list { list-style: none; margin: 8px 0 0; padding: 0; }
	.mut-mainnav__menu-lang-list a {
		display: block; padding: 6px 0; font-family: var(--font-mono);
		font-size: 14px; text-transform: uppercase; color: var(--mut-black); text-decoration: none;
	}
	.mut-mainnav__menu-social { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; }
	.mut-mainnav__menu-social a { display: inline-flex; width: 24px; height: 24px; color: var(--mut-black); }
	.mut-mainnav__menu-social svg,
	.mut-mainnav__menu-social img { width: 24px; height: 24px; display: block; object-fit: contain; }

	/* Toggler: hamburguesa ↔ X */
	.mut-mainnav__toggler[aria-expanded="true"] .mut-mainnav__toggler-icon--bars { display: none; }
	.mut-mainnav__toggler .mut-mainnav__toggler-icon--x { display: none; }
	.mut-mainnav__toggler[aria-expanded="true"] .mut-mainnav__toggler-icon--x { display: block; color: var(--mut-black); }
}

/* ============================================================
   PISOS — Floating right-side drawer navigator
   ============================================================ */

/*
 * Layout strategy:
 *   .mut-pisos        — fixed anchor at right:0, width:40px (just the strip)
 *   .mut-pisos__strip — inside the anchor, full height, flex-column centred
 *   .mut-pisos__drawer — absolute, right:40px (left of strip), slides in/out
 *
 * The drawer uses absolute positioning so it never shifts the strip.
 */
.mut-pisos {
	position: fixed;
	top: 0;
	right: 0;
	height: 100vh;
	width: 40px;            /* strip width only */
	z-index: 1020;
}

/* Cascade load animation — items slide in from the right one after another */
@keyframes mut-pisos-cascade {
	from {
		opacity: 0;
		transform: translateX(120px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}
.mut-pisos.is-cascade [data-pisos-stagger] {
	opacity: 0;
	transform: translateX(120px);
	animation: mut-pisos-cascade .9s cubic-bezier(.34, 1.15, .42, 1) both;
}
@media (prefers-reduced-motion: reduce) {
	.mut-pisos.is-cascade [data-pisos-stagger] {
		opacity: 1;
		transform: none;
		animation: none;
	}
}

/* ── Strip (40px column, always visible) ── */
.mut-pisos__strip {
	position: absolute;
	top: 0;
	right: 0;
	width: 40px;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	z-index: 2;     /* always on top of the drawer */
	/* page-load slide-in from right */
	animation: pisosStripIn .5s cubic-bezier(.22,.61,.36,1) .2s both;
}

@keyframes pisosStripIn {
	from { transform: translateX(100%); opacity: 0; }
	to   { transform: translateX(0);    opacity: 1; }
}

/* Trigger button (Steps icon) */
.mut-pisos__trigger {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--mut-off-white);
	border: 1px solid var(--mut-black);
	padding: 10px;
	cursor: default;
	transition: background .15s ease;
	flex-shrink: 0;
}
.mut-pisos.is-open .mut-pisos__trigger {
	background: var(--mut-black);
}
.mut-pisos__trigger-icon { width: 20px; height: 20px; }
.mut-pisos__trigger-icon img {
	width: 100%;
	height: 100%;
	display: block;
	filter: none;
	transition: filter .15s ease;
}
.mut-pisos.is-open .mut-pisos__trigger .mut-pisos__trigger-icon img {
	filter: invert(1);
}
/* Hover inverso del icono de escalera (igual que los demás items) */
.mut-pisos__trigger:hover { background: var(--mut-black); }
.mut-pisos__trigger:hover .mut-pisos__trigger-icon img { filter: invert(1); }

/* Floor number bricks */
.mut-pisos__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	width: 40px;
	flex-shrink: 0;
}

.mut-pisos__item { width: 40px; position: relative; }

/* Hover popup card — appears to the left of the strip item */
.mut-pisos__popup {
	position: absolute;
	top: 50%;
	right: calc(100% + 12px);
	transform: translateY(-50%) translateX(8px);
	width: 280px;
	background: var(--mut-off-white);
	border: 1px solid var(--mut-black);
	box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
	padding: 12px;
	display: flex;
	gap: 12px;
	align-items: flex-start;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .18s ease, visibility .18s ease, transform .18s ease;
	z-index: 10;
}
.mut-pisos__item:hover .mut-pisos__popup,
.mut-pisos__item.is-popup-open .mut-pisos__popup {
	opacity: 1;
	visibility: visible;
	transform: translateY(-50%) translateX(0);
	pointer-events: auto;
}
.mut-pisos__popup-img {
	width: 96px;
	aspect-ratio: 4 / 3;
	flex-shrink: 0;
	overflow: hidden;
	background: var(--mut-gray-light);
}
.mut-pisos__popup-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mut-pisos__popup-body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.mut-pisos__popup-name {
	font-family: var(--font-display);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.15;
	color: var(--mut-black);
}
.mut-pisos__popup-desc {
	font-family: var(--font-body);
	font-size: 12px;
	line-height: 1.35;
	color: var(--mut-black);
	opacity: .75;
}

/* The popup itself is now a link */
a.mut-pisos__popup { text-decoration: none; color: var(--mut-black); }
a.mut-pisos__popup:hover { opacity: 1; background: var(--mut-gray-light); }
/* Hide popups when the drawer is open or on small screens */
.mut-pisos.is-open .mut-pisos__popup { display: none; }
@media (max-width: 767.98px) {
	.mut-pisos__popup { display: none; }
}

.mut-pisos__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: var(--mut-off-white);
	border: 1px solid var(--mut-black);
	margin-top: -1px;
	font-family: var(--font-mono);
	font-size: 14px;
	color: var(--mut-black);
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
	position: relative;
	z-index: 1;
}
.mut-pisos__link:hover,
.mut-pisos__link.is-active {
	background: var(--mut-black);
	color: var(--mut-off-white);
	z-index: 2;
}

/* Star button */
.mut-pisos__star {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--mut-off-white);
	border: 1px solid var(--mut-black);
	margin-top: -1px;
	color: var(--mut-black);
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
	flex-shrink: 0;
}
.mut-pisos__star:hover { background: var(--mut-black); color: var(--mut-off-white); }
.mut-pisos__star svg { width: 16px; height: 16px; }

/* ── Drawer (absolute, slides in from behind the strip) ── */
.mut-pisos__drawer {
	position: absolute;
	top: 0;
	right: 40px;            /* flush left of the strip */
	width: 300px;
	height: 100%;
	display: flex;
	flex-direction: column;
	background: var(--mut-off-white);
	border: 1px solid var(--mut-black);
	border-right: 0;        /* shared with strip left border */
	overflow-y: auto;
	z-index: 1;             /* below the strip (strip is z-index: 2) */
	/* hidden: pushed fully to the right (off viewport) */
	transform: translateX(340px);   /* 300 drawer + 40 strip = fully hidden */
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		transform .35s cubic-bezier(.22,.61,.36,1),
		opacity   .25s ease,
		visibility 0s linear .35s;
}

.mut-pisos.is-open .mut-pisos__drawer {
	transform: translateX(0);
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition:
		transform .35s cubic-bezier(.22,.61,.36,1),
		opacity   .25s ease,
		visibility 0s linear 0s;
}

/* Drawer header */
.mut-pisos__drawer-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 16px;
	height: 40px;
	border-bottom: 1px solid var(--mut-black);
	flex-shrink: 0;
}

.mut-pisos__drawer-label {
	display: flex;
	align-items: center;
	gap: 8px;
}

.mut-pisos__drawer-title {
	font-family: var(--font-mono);
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--mut-black);
	line-height: 1;
}

.mut-pisos__drawer-steps {
	width: 18px;
	height: 18px;
	display: block;
}

.mut-pisos__drawer-close {
	background: transparent;
	border: 0;
	padding: 4px;
	cursor: pointer;
	color: var(--mut-black);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity .15s ease;
}
.mut-pisos__drawer-close:hover { opacity: .5; }

/* Drawer list */
.mut-pisos__drawer-list {
	list-style: none;
	margin: 0;
	padding: 0;
	flex: 1;
}

.mut-pisos__drawer-link {
	display: flex;
	align-items: center;
	gap: 0;
	height: 42px;
	text-decoration: none;
	color: var(--mut-black);
	border-bottom: 1px solid var(--mut-black);
	transition: background .15s ease;
	overflow: hidden;
}
.mut-pisos__drawer-item:last-child .mut-pisos__drawer-link { border-bottom: 0; }

.mut-pisos__drawer-link:hover {
	background: var(--mut-blue);    /* #ade2ec — matches Figma hover accent */
	color: var(--mut-black);
}
.mut-pisos__drawer-item.is-active .mut-pisos__drawer-link {
	background: var(--mut-black);
	color: var(--mut-off-white);
}

/* Number column (20x42, bordered right) */
.mut-pisos__drawer-num {
	flex-shrink: 0;
	width: 40px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-mono);
	font-size: 13px;
	color: inherit;
	border-right: 1px solid var(--mut-black);
}
.mut-pisos__drawer-item.is-active .mut-pisos__drawer-num { border-right-color: rgba(255,255,255,.3); }

/* Optional thumbnail */
.mut-pisos__drawer-img {
	flex-shrink: 0;
	width: 42px;
	height: 42px;
	overflow: hidden;
	border-right: 1px solid var(--mut-black);
}
.mut-pisos__drawer-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Floor name */
.mut-pisos__drawer-name {
	flex: 1;
	padding: 0 16px;
	font-family: var(--font-mono);
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: inherit;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Destacados item with star */
.mut-pisos__drawer-item--destacados .mut-pisos__drawer-link {
	border-top: 1px solid var(--mut-black);
	margin-top: -1px;
}

@media (max-width: 767.98px) {
	.mut-pisos { display: none; }
}

/* ============================================================
   SINGLES (evento, tienda, local-gastronomico)
   ============================================================ */

.mut-single { background: var(--mut-beige); --mut-accent: var(--mut-blue); }
.mut-single--evento { --mut-accent: var(--mut-blue); }
.mut-single--tienda { --mut-accent: var(--mut-purple); }
.mut-single--local  { --mut-accent: var(--mut-yellow); }

.mut-single .container {
	padding-left: 0;
	padding-right: 0;
}

/* Hero */
.mut-single__hero {
	position: relative;
	background: var(--mut-accent);
	padding: 140px 0 80px;
	overflow: hidden;
}

.mut-single__back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-body);
	font-weight: 500;
	font-size: 16px;
	color: var(--mut-black);
	margin-bottom: 24px;
}

.mut-single__title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(3rem, 8vw, 6rem);
	line-height: 1;
	color: var(--mut-black);
	margin: 0;
}

.mut-single__title-normal,
.mut-single__title-italic {
	display: block;
}

.mut-single__vlabel {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%) rotate(180deg);
	writing-mode: vertical-rl;
	background: var(--mut-accent);
	font-family: var(--font-body);
	font-weight: 500;
	font-size: 16px;
	letter-spacing: .02em;
	color: var(--mut-black);
	padding: 16px 8px;
	text-transform: uppercase;
}

/* Text block */
.mut-single__textblock {
	background: var(--mut-beige);
	padding: 48px 48px;
	text-indent: 40px;
}

.mut-single__textblock-grid {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 32px;
	align-items: flex-start;
}

/* Estilos en el contenedor para que apliquen aunque la bajada no venga en <p> */
.mut-single__bajada {
	font-family: var(--font-display);
	font-weight: 400;
	font-size: clamp(1.25rem, 2vw, 1.875rem);
	line-height: 1.3;
	color: var(--mut-black);
	max-width: 685px;
}
.mut-single__bajada p {
	margin: 0 0 24px;
	text-indent: 40px;
}
.mut-single__bajada p:last-child { margin-bottom: 0; }

/* Desktop solamente */
@media (min-width: 992px) {
	.mut-single__bajada { width: 800px; }
}

/* Legacy share button kept for backwards-compat in case any template still uses it */
.mut-single__share {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 44px;
	padding: 0 16px;
	background: var(--mut-white);
	border: 0;
	font-family: var(--font-body);
	font-size: 16px;
	cursor: pointer;
}
.mut-single__share-icon { display: inline-flex; }

/* ============================================================
   Share / Compartir — square button (toggle) + expandable row
   ============================================================ */
.mut-share {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-indent: 0;
}

.mut-share__bar {
	display: inline-flex;
	gap: 0;
}

.mut-share__btn,
.mut-share__item {
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--mut-off-white);
	border: 1px solid var(--mut-black);
	border-radius: 0;
	cursor: pointer;
	text-decoration: none;
	color: var(--mut-black);
	transition: background .15s ease, color .15s ease;
}
.mut-share__item + .mut-share__item,
.mut-share__item + .mut-share__btn { margin-left: -1px; }

.mut-share__btn img,
.mut-share__item img {
	width: 18px;
	height: 18px;
	display: block;
	transition: filter .15s ease;
}

/* Hover (closed): toggle goes black */
.mut-share__btn:hover {
	background: var(--mut-black);
	color: var(--mut-off-white);
	position: relative;
	z-index: 1;
}
.mut-share__btn:hover img { filter: invert(1); }

/* Open state: toggle stays black, expanded items appear */
.mut-share.is-open .mut-share__btn {
	background: var(--mut-black);
	color: var(--mut-off-white);
	position: relative;
	z-index: 1;
}
.mut-share.is-open .mut-share__btn img { filter: invert(1); }

/* Expanded items — hidden by default, shown when bar is open */
.mut-share__item {
	display: none;
}
.mut-share.is-open .mut-share__item {
	display: inline-flex;
}
.mut-share__item:hover {
	background: var(--mut-black);
	color: var(--mut-off-white);
	position: relative;
	z-index: 1;
}
.mut-share__item:hover img { filter: invert(1); }

/* "Compartir" label */
.mut-share__label {
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 16px;
	line-height: 1;
	color: var(--mut-black);
}

/* Tiny "copied" feedback on the Link item */
.mut-share__item--link.is-copied {
	background: var(--mut-black);
}
.mut-share__item--link.is-copied img { filter: invert(1); }

@media (max-width: 575.98px) {
	.mut-share { gap: 12px; }
	.mut-share__btn,
	.mut-share__item { width: 48px; height: 48px; }
	.mut-share__label { font-size: 16px; }
}

.mut-single__textblock-img img {
	width: auto;
	height: 120px;
	object-fit: contain;
	/* Logo siempre negro sobre fondo transparente (sirve para logos blancos o de color) */
	filter: brightness(0);
	filter: brightness(0);
}

/* Info card */
.mut-single__info {
	background: var(--mut-beige);
	padding: 48px 0;
}

.mut-single__info-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}

.mut-single__info-media img,
.mut-single__info-media .mut-single__info-placeholder {
	width: 100%;
	max-height: 500px;
	object-fit: cover;
	aspect-ratio: 4 / 3;
	background: var(--mut-gray-light);
}

.mut-single__info-media .mut-single__mapa-img { cursor: zoom-in; }

.mut-single__info-list {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.mut-single__info-list > div {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(13,13,13,.08);
}

.mut-single__info-list dt {
	font-family: var(--font-mono);
	font-size: 14px;
	text-transform: uppercase;
	color: var(--mut-gray-dark);
	margin: 0;
}

.mut-single__info-list dd {
	font-family: var(--font-body);
	font-size: 18px;
	color: var(--mut-black);
	margin: 0;
}

.mut-single__info-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }

/* RRSS buttons in info list (white squares, touching — shared borders) */
.mut-single__info-rrss { display: flex; flex-wrap: nowrap; gap: 0; }

.mut-single__info-rrss-btn {
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--mut-off-white);
	border: 1px solid var(--mut-black);
	margin-left: -1px;
	color: var(--mut-black);
	transition: background .15s ease, color .15s ease;
	position: relative;
}
.mut-single__info-rrss-btn:first-child { margin-left: 0; }
.mut-single__info-rrss-btn:hover {
	background: var(--mut-black);
	color: var(--mut-off-white);
	opacity: 1;
	z-index: 1;
}
.mut-single__info-rrss-btn svg,
.mut-single__info-rrss-btn img {
	width: 16px;
	height: 16px;
	display: block;
	transition: filter .15s ease;
}
.mut-single__info-rrss-btn:hover img { filter: invert(1); }

/* Info estratificada (tienda/local/evento): media (izq) | bloques (der) */
:is(.mut-single--tienda, .mut-single--local, .mut-single--evento) .mut-single__info-grid { align-items: start; }
.mut-single__info-value { font-family: var(--font-body); font-size: 18px; color: var(--mut-black); }
/* Evento: el afiche es vertical -> proporción natural, sin recorte */
.mut-single--evento .mut-single__info-media img {
	aspect-ratio: auto;
	width: 100%;
	height: auto;
	max-height: none;
	object-fit: contain;
}
.mut-single--evento .mut-single__info-media .mut-single__info-placeholder {
	aspect-ratio: 3 / 4;
	max-height: none;
}
.mut-single__info-left { display: flex; flex-direction: column; gap: 40px; }
.mut-single__info-right { display: flex; flex-direction: column; gap: 0; }
.mut-single__info-block {
	border-top: 1px solid var(--mut-black);
	padding: 20px 8px 20px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}
.mut-single__info-right > .mut-single__info-block:last-of-type { border-bottom: 1px solid var(--mut-black); }
.mut-single__info-label {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 16px;
	color: var(--mut-black);
	line-height: 1.4;
}
.mut-single__info-ubic { display: flex; flex-direction: column; gap: 6px; }
.mut-single__info-piso {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-body);
	font-size: 16px;
	color: var(--mut-black);
	text-decoration: none;
}
.mut-single__info-piso:hover { text-decoration: underline; text-underline-offset: 3px; }
.mut-single__info-local { font-family: var(--font-body); font-size: 16px; color: var(--mut-black); display: none; }
.mut-single__info-right .mut-single__info-rrss { margin-top: 28px; }
.mut-single__info-desc {
	font-family: var(--font-body);
	font-size: 18px;
	line-height: 1.5;
	color: var(--mut-black);
	margin-top: 28px;
	margin-bottom: 26px;
	max-width: 560px;
}
.mut-single__info-desc p { margin: 0 0 16px; }
.mut-single__info-desc p:last-child { margin-bottom: 0; }

/* Horarios dropdown (matches dropdown style from archive filters) */
.mut-horarios {
	background: var(--mut-off-white);
	border: 1px solid rgba(13,13,13,.08);
	padding: 0;
}

.mut-horarios__summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 44px;
	padding: 0 16px;
	font-family: var(--font-body);
	font-size: 16px;
	text-transform: uppercase;
	color: var(--mut-black);
	background: var(--mut-beige);
	gap: 6px;
}
.mut-horarios__summary::-webkit-details-marker { display: none; }
.mut-horarios__summary::marker { display: none; content: ""; }

.mut-horarios__chevron { transition: transform .2s ease; }
.mut-horarios[open] .mut-horarios__chevron { transform: rotate(180deg); }

.mut-horarios__list {
	list-style: none;
	margin: 0;
	padding: 8px 16px 16px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	border-top: 1px solid rgba(13,13,13,.08);
}

.mut-horarios__list li {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	font-family: var(--font-body);
	font-size: 16px;
	color: var(--mut-black);
}

.mut-horarios__day { font-weight: 500; }
.mut-horarios__hour { color: var(--mut-gray-dark); }

/* Buttons */
.mut-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	padding: 12px 24px;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 16px;
	text-decoration: none;
	transition: opacity .15s ease;
	border: 0;
	cursor: pointer;
}

.mut-btn--primary {
	background: var(--mut-black);
	color: var(--mut-white);
}
.mut-btn--primary:hover { color: var(--mut-white); opacity: .8; }

.mut-btn--ghost {
	background: transparent;
	color: var(--mut-black);
	border: 1px solid var(--mut-black);
}

/* Evento: botones de acción (Inscribirme / Agregar al calendario) — fondo blanco + borde negro; hover celeste con borde negro */
.mut-single--evento .mut-single__info-actions .mut-btn {
	background: var(--mut-white);
	color: var(--mut-black);
	border: 1px solid var(--mut-black);
}
.mut-single--evento .mut-single__info-actions .mut-btn:hover {
	background: var(--mut-blue);
	color: var(--mut-black);
	border-color: var(--mut-black);
	opacity: 1;
}

/* Locatario */
.mut-single__locatario {
	background: var(--mut-white);
	padding: 64px 0;
}

.mut-single__locatario-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}

.mut-single__locatario-media {
	background: var(--mut-accent);
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 48px;
	overflow: hidden;
}

.mut-single__locatario-media img {
	max-width: 70%;
	max-height: 80%;
	width: auto;
	height: auto;
	object-fit: cover;
	background: transparent;
}

.mut-single__locatario-media .mut-card__placeholder {
	width: 60%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: rgba(0,0,0,.08);
}

.mut-single__locatario-resena p:first-child { margin-top: 0; }
.mut-single__locatario-resena p:last-child  { margin-bottom: 0; }

.mut-single__content { background: var(--mut-beige); padding: 48px 0; }
.mut-single__content .entry-content { max-width: 685px; margin: 0 auto; font-size: 18px; line-height: 1.6; }
.mut-single__content .entry-content p + p { margin-top: 1em; }

.mut-single__locatario-body h3 {
	font-family: var(--font-display);
	font-size: 40px;
	margin: 0 0 8px;
}

.mut-single__locatario-oficio {
	font-family: var(--font-mono);
	font-size: 14px;
	text-transform: uppercase;
	color: var(--mut-gray-dark);
	margin: 0 0 16px;
}

/* Gallery */
.mut-single__gallery { background: var(--mut-beige); padding: 48px 0; }

.mut-single__gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.mut-single__gallery-item img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

/* Tienda: galería SCATTER (posiciones irregulares, 5 slots que ciclan) — abre lightbox al click */
:is(.mut-single--tienda,.mut-single--local) .mut-single__gallery-grid {
	display: block;
	position: relative;
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
	height: clamp(680px, 72vw, 1000px);
}
.mut-single--tienda .mut-single__gallery-item {
	position: absolute;
	overflow: hidden;
}
.mut-single--tienda .mut-single__gallery-item img {
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
	cursor: zoom-in;
	transition: transform .4s ease;
}
.mut-single--tienda .mut-single__gallery-item:hover img { transform: scale(1.04); }
:is(.mut-single--tienda,.mut-single--local) .mut-single__gallery-grid > .mut-single__gallery-item:nth-child(5n+1) { top: 2%;  left: 2%;  width: 21%; aspect-ratio: 4 / 5; }
:is(.mut-single--tienda,.mut-single--local) .mut-single__gallery-grid > .mut-single__gallery-item:nth-child(5n+2) { top: 28%; left: 30%; width: 35%; aspect-ratio: 16 / 9; }
:is(.mut-single--tienda,.mut-single--local) .mut-single__gallery-grid > .mut-single__gallery-item:nth-child(5n+3) { top: 9%;  right: 3%; width: 18%; aspect-ratio: 4 / 5; }
:is(.mut-single--tienda,.mut-single--local) .mut-single__gallery-grid > .mut-single__gallery-item:nth-child(5n+4) { top: 56%; left: 17%; width: 16%; aspect-ratio: 3 / 4; }
:is(.mut-single--tienda,.mut-single--local) .mut-single__gallery-grid > .mut-single__gallery-item:nth-child(5n)   { top: 72%; right: 7%; width: 15%; aspect-ratio: 3 / 4; }

@media (max-width: 767.98px) {
	:is(.mut-single--tienda,.mut-single--local) .mut-single__gallery-grid {
		height: auto;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 12px;
	}
	:is(.mut-single--tienda,.mut-single--local) .mut-single__gallery-grid > .mut-single__gallery-item,
	:is(.mut-single--tienda,.mut-single--local) .mut-single__gallery-grid > .mut-single__gallery-item:nth-child(5n+1),
	:is(.mut-single--tienda,.mut-single--local) .mut-single__gallery-grid > .mut-single__gallery-item:nth-child(5n+2),
	:is(.mut-single--tienda,.mut-single--local) .mut-single__gallery-grid > .mut-single__gallery-item:nth-child(5n+3),
	:is(.mut-single--tienda,.mut-single--local) .mut-single__gallery-grid > .mut-single__gallery-item:nth-child(5n+4),
	:is(.mut-single--tienda,.mut-single--local) .mut-single__gallery-grid > .mut-single__gallery-item:nth-child(5n) {
		position: static;
		width: 100%;
		aspect-ratio: 4 / 3;
		inset: auto;
	}
}

/* Estrato de autor — full-width, split 50/50: lila + foto (izq) | nombre/oficio/texto (der) */
.mut-single__autor {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	width: 100%;
	background: #fff;
}
.mut-single__autor-media {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--mut-accent, #bdb4e8);
	padding: clamp(48px, 6vw, 96px);
}
.mut-single--tienda .mut-single__autor-media { background: #bdb4e8; }
.mut-single__autor-media img {
	width: 100%;
	max-width: 420px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
.mut-single__autor-media .mut-card__placeholder {
	width: 100%;
	max-width: 420px;
	aspect-ratio: 1 / 1;
}
.mut-single__autor-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(40px, 5vw, 80px);
	max-width: 640px;
}
.mut-single__autor-name {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(2.2rem, 3.6vw, 3.4rem);
	line-height: 1.05;
	margin: 0 0 6px;
}
.mut-single__autor-oficio {
	font-family: var(--font-display);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(1.2rem, 1.8vw, 1.6rem);
	margin: 0 0 28px;
}
.mut-single__autor-text {
	font-family: var(--font-body);
	font-size: 17px;
	line-height: 1.65;
}
.mut-single__autor-text p { margin: 0 0 1em; }
.mut-single__autor-text p:last-child { margin-bottom: 0; }
/* Redes del autor (íconos auto por URL) en el estrato de autor */
.mut-single__autor-rrss { margin-top: 26px; }

@media (max-width: 767.98px) {
	.mut-single__autor { grid-template-columns: 1fr; }
	.mut-single__autor-media { padding: clamp(36px, 10vw, 56px); }
	.mut-single__autor-body { max-width: none; padding: 36px 24px 48px; }
}

/* ============================================================
   Relacionados (Comutnidad) — panel intro (izq) + cards
   expandibles (der), patrón de "Atributos de valor".
   ============================================================ */
.mut-related {
	display: grid;
	grid-template-columns: minmax(240px, 28%) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
	background: #e4d9d2;
	padding: 48px 48px 48px;
}
.mut-related__intro {
	display: flex;
	flex-direction: column;
}
.mut-related__title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(2.4rem, 4vw, 2.5rem);
	color: var(--mut-black);
	margin: 0 0 40px;
	line-height: 1;
}
.mut-related__ilus { margin: 0 0 28px; }
.mut-related__ilus img {
	width: clamp(120px, 12vw, 170px);
	height: auto;
	display: block;
}
.mut-related__text {
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.4;
	color: var(--mut-black);
	margin: 0;
	max-width: 380px;
}

/* Row of expanding cards (desktop) */
.mut-related__row {
	display: flex;
	gap: 0;
	min-width: 0;
	min-height: 560px;
}
.mut-related__card {
	flex: 1;
	min-width: 0;
	position: relative;
	background: var(--mut-off-white, #fbf9f6);
	border: 1px solid var(--mut-black);
	margin-left: -1px;
	overflow: hidden;
	transition: flex .35s cubic-bezier(.4,0,.2,1);
}
.mut-related__card:first-child { margin-left: 0; }
/* Default open: first card expanded; hover overrides */
.mut-related__card:first-child { flex: 6; }
.mut-related__row:hover .mut-related__card:first-child { flex: 1; }
.mut-related__card:hover { flex: 6 !important; }

.mut-related__num {
	position: absolute;
	top: 26px;
	right: 26px;
	font-family: var(--font-mono);
	font-size: 13px;
	letter-spacing: .06em;
	color: var(--mut-black);
	z-index: 2;
}
.mut-related__content {
	display: flex;
	flex-direction: column;
	gap: 64px;
	height: 100%;
	width: 100%;
	min-width: 420px;
	padding: 40px;
	color: var(--mut-black);
	text-decoration: none;
	opacity: 0;
	transition: opacity .3s ease .15s;
}
.mut-related__card:first-child .mut-related__content { opacity: 1; }
.mut-related__row:hover .mut-related__card:first-child .mut-related__content { opacity: 0; transition-delay: 0s; }
.mut-related__row:hover .mut-related__card:hover .mut-related__content { opacity: 1; transition-delay: .15s; }

.mut-related__media {
	width: clamp(200px, 18vw, 260px);
	aspect-ratio: 4 / 5;
	overflow: hidden;
	flex: none;
}
.mut-related__media img,
.mut-related__media .mut-card__placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mut-related__body {
	display: flex;
	flex-direction: column;
}
.mut-related__cat {
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	margin: 0 0 20px;
}
.mut-related__post-title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(1.5rem, 2vw, 1.4rem);
	line-height: 1.35;
	margin: 0 0 6px;
	max-width: 420px;
}
.mut-related__byline {
	font-family: var(--font-display);
	font-style: italic;
	font-size: clamp(1.5rem, 1.4vw, 1.5rem);
	margin: 0 0 24px;
	line-height: 1.35;
}
.mut-related__explore {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 17px;
}
.mut-related__card:hover .mut-related__explore svg { transform: translateX(4px); }
.mut-related__explore svg { transition: transform .25s ease; }

/* Mobile/tablet: intro arriba, cards en slider horizontal (sin acordeón) */
@media (max-width: 991.98px) {
	.mut-related { grid-template-columns: 1fr; }
	.mut-related__text { max-width: none; }
	.mut-related__row {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		min-height: 0;
		gap: 16px;
	}
	.mut-related__row::-webkit-scrollbar { display: none; }
	.mut-related__card,
	.mut-related__card:first-child,
	.mut-related__card:hover {
		flex: 0 0 80% !important;
		min-width: 0;
		margin-left: 0;
		margin-top: 0;
		scroll-snap-align: start;
		transition: none;
	}
	.mut-related__content {
		opacity: 1 !important;
		min-width: 0;
		flex-direction: row;
		align-items: flex-start;
		gap: 20px;
		padding: 24px;
	}
	.mut-related__media { width: 120px; }
	.mut-related__num { top: 20px; right: 20px; }
}

@media (max-width: 575.98px) {
	.mut-related__content { flex-direction: column; }
	.mut-related__media { width: 100%; max-width: 280px; aspect-ratio: 4 / 3; }
	.mut-related__card,
	.mut-related__card:first-child,
	.mut-related__card:hover {
		flex: 0 0 86% !important;
		transition: none;
	}
}

/* ============================================================
   Tienda hero — vertical slider (left) + post photo (right)
   + centered title, vertical category tag on the left.
   ============================================================ */
.mut-thero {
	--mut-accent: #bdb4e8;            /* lila tienda */
	position: relative;
	min-height: 100vh;
	overflow: hidden;
	background: #0d0d0d;
}
/* Evento: mismo hero, acento celeste y foto con filtro más suave */
.mut-single--evento .mut-thero { --mut-accent: var(--mut-blue); min-height: 520px; }
.mut-single--tienda .mut-thero { min-height: 520px; }
.mut-single--evento .mut-thero__panels::after { background: rgba(0, 0, 0, .4); }
/* Evento: la imagen representativa ocupa el 100% del hero (sin el panel del slider) */
.mut-single--evento .mut-thero__panels { grid-template-columns: 1fr; }
.mut-single--evento .mut-thero__slider { display: none; }

/* Background panels */
.mut-thero__panels {
	position: absolute;
	inset: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.mut-thero__slider {
	position: relative;
	background: #0d0d0d;
	overflow: hidden;
}
.mut-thero__slider-track {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	padding: 80px 0;
	animation: mut-thero-vscroll 32s linear infinite;
}
.mut-thero__slide { flex: 0 0 auto; display: flex; justify-content: center; }
.mut-thero__slide img {
	width: clamp(150px, 13vw, 210px);
	height: auto;
	display: block;
}
/* Tienda: imágenes del slider del hero un 30% más anchas — solo desktop */
@media (min-width: 992px) {
	.mut-thero__slide img { width: clamp(195px, 16.9vw, 273px); }
}
@keyframes mut-thero-vscroll {
	from { transform: translateY(0); }
	to   { transform: translateY(-50%); }
}
.mut-thero__photo { overflow: hidden; }
.mut-thero__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mut-thero__photo .mut-card__placeholder { width: 100%; height: 100%; min-height: 0; }

/* Filtro negro 50% sobre las imágenes para que se lean los textos */
.mut-thero__panels::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .5);
	z-index: 2;
	pointer-events: none;
}

/* Vertical category tag, far left */
.mut-thero__tag {
	position: absolute;
	left: 0;
	top: 50%;
	z-index: 4;
	writing-mode: vertical-rl;
	transform: translateY(-50%) rotate(180deg);
	background: var(--mut-accent);
	color: var(--mut-black);
	padding: 16px 6px;
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 500;
	letter-spacing: .01em;
	white-space: nowrap;
}
.mut-thero__tag-icon { width: 18px; height: 18px; object-fit: contain; display: block; transform: rotate(90deg); }

/* Centered overlay: breadcrumb + title */
.mut-thero__center {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 20px;
	padding: 0 24px;
	pointer-events: none;
}
.mut-thero__back,
.mut-thero__title { pointer-events: auto; }
.mut-thero__back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 700;
	color: var(--mut-accent);
	text-decoration: none;
}
.mut-thero__back:hover { color: var(--mut-accent); text-decoration: underline; text-underline-offset: 4px; }
.mut-thero__back-arrow { width: 16px; height: 16px; display: block; }
.mut-thero__title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(3rem, 8vw, 6rem);
	line-height: 1;
	color: var(--mut-accent);
	margin: 0;
}
.mut-thero__title .italic { font-style: italic; }
.mut-single--evento .mut-thero__title { max-width: 80%; }

@media (max-width: 767.98px) {
	.mut-thero { min-height: 70vh; }
	.mut-thero__panels { grid-template-columns: 1fr; }
	.mut-thero__photo { display: none; }   /* en mobile se muestra el slider vertical en vez de la foto */
	/* Evento no tiene slider (mut-thero__slider queda display:none siempre para este tipo),
	   así que su única foto (post thumbnail / afiche) debe seguir mostrándose en mobile. */
	.mut-single--evento .mut-thero__photo { display: block; }
	.mut-thero__slide img { width: clamp(220px, 45vw, 320px); }
	.mut-thero__tag { font-size: 12px; padding: 14px 9px; }
	.mut-thero__title { font-size: clamp(2.4rem, 12vw, 4rem); }
}

/* ============================================================
   CPT dark hero (used by local + tienda)
   Sliding gallery + centered accent-colored title on dark bg.
   Color picks up --mut-accent from parent .mut-single--local/.mut-single--tienda
   ============================================================ */

.mut-local-hero {
	position: relative;
	background: #1d1d1d;
	padding: 140px 0 80px;
	color: var(--mut-accent);
	overflow: hidden;
	min-height: 520px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* Variant: full-bleed post thumbnail with dark overlay */
.mut-local-hero--thumb {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	min-height: 720px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.mut-local-hero--thumb .container { position: relative; z-index: 1; }

.mut-local-hero__overlay {
	position: absolute;
	inset: 0;
	background: rgba(13,13,13,.55);
	z-index: 0;
}

/* Marquee fills the hero and sits behind the title with a dark filter */
.mut-local-hero__marquee {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: 0;
}

.mut-local-hero__marquee::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(13,13,13,.55);
	z-index: 1;
	pointer-events: none;
}

.mut-local-hero__track {
	display: flex;
	align-items: center;
	width: max-content;
	height: 110%;
	gap: 16px;
	animation: mut-local-hero-scroll 40s linear infinite;
}

/* Container content sits above the marquee */
.mut-local-hero > .container { position: relative; z-index: 2; }
.mut-local-hero__back { position: relative; z-index: 2; }
.mut-local-hero__title { position: relative; z-index: 2; }

.mut-local-hero__slide {
	flex-shrink: 0;
	width: 320px;
	height: 200px;
	overflow: hidden;
	background: #000;
}
/* Local gastronómico: imágenes del slider del hero un 30% más altas — solo desktop */
@media (min-width: 992px) {
	.mut-local-hero__slide { height: 260px; }
}

.mut-local-hero__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

@keyframes mut-local-hero-scroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

.mut-local-hero > .container { text-align: center; }

.mut-local-hero__back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 16px;
	color: var(--mut-accent);
	margin-bottom: 24px;
	text-decoration: none;
}
.mut-local-hero__back:hover { color: var(--mut-accent); opacity: .85; }

.mut-local-hero__title {
	font-family: var(--font-display);
	font-weight: 500;
	font-style: normal;
	font-size: clamp(3.5rem, 10vw, 6rem);
	line-height: 1;
	text-align: center;
	color: var(--mut-accent);
	margin: 0;
}

.mut-local-hero__title span { display: block; font-style: normal; }
.mut-local-hero__title .italic,
.mut-local-hero__title em { font-style: italic; }

/* Desktop solamente */
@media (min-width: 992px) {
	.mut-local-hero__title span { display: inline-block; }
}

/* Tag vertical (vertical principal) — izquierda, amarillo */
.mut-local-hero__tag {
	position: absolute;
	left: 0;
	top: 50%;
	z-index: 3;
	writing-mode: vertical-rl;
	transform: translateY(-50%) rotate(180deg);
	background: var(--mut-accent);
	color: var(--mut-black);
	padding: 12px 7px;
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 500;
	letter-spacing: .01em;
	white-space: nowrap;
}
.mut-local-hero__tag-icon { width: 18px; height: 18px; object-fit: contain; display: block; transform: rotate(90deg); }

@media (max-width: 575.98px) {
	.mut-local-hero__slide { width: 260px; height: 220px; }
	.mut-local-hero__tag { font-size: 12px; padding: 14px 9px; }
}

/* ============================================================
   LIGHTBOX (gallery)
   ============================================================ */

@keyframes mut-lightbox-fade-in {
	from { opacity: 0; }
	to   { opacity: 1; }
}
@keyframes mut-lightbox-image-in {
	from { opacity: 0; transform: scale(.94); }
	to   { opacity: 1; transform: scale(1); }
}
@keyframes mut-lightbox-controls-in {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: 1; transform: translateY(0); }
}

.mut-lightbox {
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: var(--mut-beige);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 80px 32px;
	animation: mut-lightbox-fade-in .28s ease;
}

.mut-lightbox__stage {
	max-width: min(1280px, 92vw);
	max-height: 78vh;
	display: flex;
	align-items: center;
	justify-content: center;
	animation: mut-lightbox-image-in .38s cubic-bezier(.25, .8, .4, 1.05) both;
	overflow: hidden;
	touch-action: none;
}

.mut-lightbox__stage img {
	max-width: 100%;
	max-height: 78vh;
	width: auto;
	height: auto;
	display: block;
	object-fit: contain;
	transition: opacity .25s ease;
	cursor: zoom-in;
	touch-action: none;
}
.mut-lightbox__stage img.is-swapping { opacity: 0; }
.mut-lightbox__stage img.is-animating { transition: opacity .25s ease, transform .25s ease; }
.mut-lightbox__stage.is-zoomed img { cursor: zoom-out; }

.mut-lightbox__close,
.mut-lightbox__footer {
	animation: mut-lightbox-controls-in .35s ease .12s both;
}

/* Close button — square outlined, top-right */
.mut-lightbox__close {
	position: absolute;
	top: 32px;
	right: 32px;
	background: transparent;
	border: 1px solid var(--mut-black);
	color: var(--mut-black);
	width: 48px;
	height: 48px;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-body);
	transition: background .15s ease, color .15s ease;
}
.mut-lightbox__close:hover {
	background: var(--mut-black);
	color: var(--mut-off-white);
}

/* Footer: counter + connected square arrow buttons (same as events paginator) */
.mut-lightbox__footer {
	position: absolute;
	right: 32px;
	bottom: 32px;
	display: flex;
	align-items: center;
	gap: 16px;
}

.mut-lightbox__counter {
	color: var(--mut-black);
	font-family: var(--font-mono);
	font-size: 14px;
	letter-spacing: .08em;
}

.mut-lightbox__arrows { display: inline-flex; gap: 0; }
.mut-lightbox__sep { opacity: .5; }

.mut-lightbox__prev,
.mut-lightbox__next {
	background: transparent;
	border: 1px solid var(--mut-black);
	color: var(--mut-black);
	width: 48px;
	height: 48px;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background .15s ease, color .15s ease;
}
.mut-lightbox__next { margin-left: -1px; }
.mut-lightbox__prev:hover,
.mut-lightbox__next:hover {
	background: var(--mut-black);
	color: var(--mut-off-white);
	position: relative;
	z-index: 1;
}

@media (max-width: 575.98px) {
	.mut-lightbox { padding: 64px 16px; }
	.mut-lightbox__close,
	.mut-lightbox__prev,
	.mut-lightbox__next { width: 40px; height: 40px; }
	.mut-lightbox__close { top: 16px; right: 16px; }
	.mut-lightbox__footer { right: 16px; bottom: 16px; gap: 10px; }
	.mut-lightbox__close { top: 16px; right: 16px; }
}

/* Video — full bleed, no container/padding */
.mut-single__video { background: var(--mut-black); padding: 0; }
.mut-single__video video {
	display: block;
	width: 100%;
	max-height: none;
	background: #000;
}

/* Estrato de video MP4 responsive — horizontal (desktop) / vertical (mobile) */
.mut-single__videomp4 { background: var(--mut-black); padding: 0; line-height: 0; }
.mut-single__videomp4-media { display: block; width: 100%; height: auto; background: #000; }
.mut-single__videomp4-v { display: none; }
@media (max-width: 767.98px) {
	.mut-single__videomp4-h { display: none; }
	.mut-single__videomp4-v { display: block; }
}

/* Estrato de video YouTube responsive (fallback si no hay MP4) */
.mut-single__videoyt { background: var(--mut-black); padding: 0; line-height: 0; }
.mut-single__videoyt-frame { position: relative; width: 100%; }
.mut-single__videoyt-frame--h { aspect-ratio: 16 / 9; }
.mut-single__videoyt-frame--v { aspect-ratio: 9 / 16; }
.mut-single__videoyt-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }
.mut-single__videoyt--both .mut-single__videoyt-frame--v { display: none; }
@media (max-width: 767.98px) {
	.mut-single__videoyt--both .mut-single__videoyt-frame--h { display: none; }
	.mut-single__videoyt--both .mut-single__videoyt-frame--v { display: block; }
}

/* Solo video vertical cargado (sin horizontal) — fondo beige (igual que el estrato de
   info) y, en Desktop, sin estirar a 100%: a su ancho real (altura fija, ancho
   proporcional), alineado a la izquierda dentro de la 2ª columna (mismo grid 1fr 1fr
   que .mut-single__info-grid, así el video comienza en el borde izquierdo de
   .mut-single__info-right, aprox. a la mitad de la pantalla). */
.mut-single__videomp4--vonly,
.mut-single__videoyt--vonly { background: var(--mut-beige); }

@media (min-width: 768px) {
	.mut-single__videomp4--vonly .container,
	.mut-single__videoyt--vonly .container {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 60px;
	}
	.mut-single__videomp4--vonly .mut-single__videomp4-media {
		grid-column: 2;
		justify-self: start;
		width: auto; height: 720px; max-width: 100%;
		margin-bottom: 30px;
	}
	.mut-single__videoyt--vonly .mut-single__videoyt-frame--v {
		grid-column: 2;
		justify-self: start;
		width: auto; height: 720px; max-width: 100%;
		margin-bottom: 30px;
	}
}

/* Tags */
.mut-single__tags { background: var(--mut-beige); padding: 24px 0 48px; }

.mut-single__tags-list { display: flex; flex-wrap: wrap; gap: 0; }

.mut-chip {
	display: inline-flex;
	align-items: center;
	height: 32px;
	padding: 0 12px;
	background: #f9ede6;
	border: 1px solid var(--mut-black);
	margin-left: -1px;
	font-family: var(--font-mono);
	font-size: 14px;
	color: var(--mut-black);
	text-transform: uppercase;
	text-decoration: none;
	position: relative;
}
.mut-single__tags-list > .mut-chip:first-child { margin-left: 0; }
.mut-chip:hover { background: var(--mut-accent); opacity: 1; color: var(--mut-black); z-index: 1; }

/* Related */
.mut-single__related {
	background: var(--mut-off-white);
	padding: 48px 48px 48px;
}

.mut-single__related-title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 40px;
	margin: 0 0 40px;
}

.mut-single__related-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.mut-card {
	display: flex;
	flex-direction: column;
	gap: 16px;
	color: var(--mut-black);
	text-decoration: none;
	background: var(--mut-white);
}

.mut-card:hover { opacity: 1; color: var(--mut-black); }
.mut-card:hover .mut-card__title { text-decoration: underline; }

.mut-card__media {
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--mut-gray-light);
}

.mut-card__media img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform .4s ease;
}
.mut-card:hover .mut-card__media img { transform: scale(1.05); }

.mut-card__placeholder {
	width: 100%; height: 100%;
	background: var(--mut-accent, var(--mut-gray-light));
}

.mut-card__body { padding: 0 16px 24px; }

.mut-card__title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 24px;
	margin: 0 0 8px;
}

.mut-card__excerpt {
	font-family: var(--font-body);
	font-size: 14px;
	color: var(--mut-gray-dark);
	margin: 0;
}

/* Responsive */
@media (max-width: 991.98px) {
	.mut-single__info-grid,
	.mut-single__locatario-grid { grid-template-columns: 1fr; gap: 32px; }
	.mut-single__gallery-grid { grid-template-columns: repeat(2, 1fr); }
	.mut-single__related-grid { grid-template-columns: 1fr; }
	.mut-single__vlabel { display: none; }

	/* Evento: en mobile, la info (horario/ubicación/etc.) va antes que el mapa/compartir */
	.mut-single--evento .mut-single__info-right { order: 1; }
	.mut-single--evento .mut-single__info-left { order: 2; }
}

@media (max-width: 575.98px) {
	.mut-single__textblock-grid { grid-template-columns: 1fr; }
	.mut-single__gallery-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   ARCHIVES (Ver y hacer / Tiendas / Comer y beber)
   ============================================================ */

.mut-archive { background: var(--mut-beige); --mut-accent: var(--mut-blue); }
.mut-archive--evento { --mut-accent: var(--mut-blue); }
.mut-archive--tienda { --mut-accent: var(--mut-purple); }
.mut-archive--local  { --mut-accent: var(--mut-yellow); }

/* Hero */
.mut-archive__hero {
	background: var(--mut-accent);
	padding: 140px 0 80px;
}

.mut-archive__hero-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	flex-wrap: wrap;
}

.mut-archive__hero-title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(3.5rem, 8vw, 6rem);
	line-height: 1;
	color: var(--mut-black);
	margin: 0;
}

.mut-archive__hero-title span { display: block; }
.mut-archive__hero-title .italic {
	font-style: italic;
}

/* Breadcrumb/eyebrow sin link en el hero de archivos (etiqueta / taxonomía) */
.mut-archive__hero-crumb {
	font-family: var(--font-mono);
	font-size: 14px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--mut-black);
}

.mut-archive__hero-img img { height: 220px; width: auto; max-width: none; }

/* Centered variant — title centered + illustration stacked below */
.mut-archive__hero--centered {
	padding: 180px 48px 64px;
	margin-bottom: 0;
}
.mut-archive__hero-inner--centered {
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 24px;
}
.mut-archive__hero-inner--centered .mut-archive__hero-title {
	text-align: center;
}
.mut-archive__hero-inner--centered .mut-archive__hero-img img {
	height: 220px;
	width: auto;
	max-width: none;
}
@media (max-width: 575.98px) {
	.mut-archive__hero--centered { padding: 140px 0 48px; }
	.mut-archive__hero-inner--centered .mut-archive__hero-img img { height: 160px; width: auto; }
}

/* Intro */
/* Featured posts strip — between hero and intro */
.mut-archive__posts-strip {
	background: #fbfbfa;
	padding: 24px 48px;
}
.mut-archive__posts-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.mut-archive__post {
	display: flex;
	gap: 16px;
	align-items: center;
	text-decoration: none;
	color: var(--mut-black);
}
.mut-archive__post-media {
	width: 140px;
	aspect-ratio: 4 / 3;
	flex-shrink: 0;
	overflow: hidden;
	background: var(--mut-gray-light);
}
.mut-archive__post-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .4s ease;
}
.mut-archive__post:hover .mut-archive__post-media img { transform: scale(1.05); }
.mut-archive__post-body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.mut-archive__post-cat {
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	color: var(--mut-black);
}
.mut-archive__post-title {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 16px;
	line-height: 1.3;
	color: var(--mut-black);
	margin: 0;
}
@media (max-width: 991.98px) {
	.mut-archive__posts-grid { grid-template-columns: 1fr; gap: 16px; }
}

.mut-archive__intro {
	background: var(--mut-beige);
	padding: 48px 48px;
	text-indent: 40px;
}

.mut-archive__intro .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
}

.mut-archive__intro p {
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 2.5vw, 1.9rem);
	line-height: 1.3;
	color: var(--mut-black);
	margin: 0;
	max-width: 685px;
	flex: 1;
	min-width: 0;
	font-weight: 400;
}

.mut-archive__intro .mut-single__share { flex-shrink: 0; }

@media (max-width: 575.98px) {
	.mut-archive__intro .container { flex-direction: column; align-items: flex-start; }
}

/* Filters */
.mut-archive__filters {
	background: var(--mut-beige);
	padding: 16px 48px 48px;
}

.mut-archive__filters-title {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 18px;
	color: var(--mut-black);
	margin: 0 0 24px;
}

.mut-archive__filters-form {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0px;
}

.mut-dropdown {
	position: relative;
	background: var(--mut-off-white);
	height: 40px;
	display: flex;
	align-items: center;
	padding: 0 16px;
	border: 1px solid #333;
	margin: -1px 0 0 -1px;   /* colapsa el borde compartido con la caja anterior/de arriba, sin importar en qué columna cae al hacer wrap */
}

.mut-dropdown select,
.mut-dropdown input {
	flex: 1;
	height: 100%;
	border: 0;
	background: transparent;
	font-family: var(--font-mono);
	font-size: 14px;
	color: var(--mut-black);
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	outline: none;
	/* Deja espacio a la derecha para el ícono de flecha, que ahora se superpone en vez de
	   ocupar su propio espacio en el flex — sin esto el texto largo quedaría debajo. */
	padding-right: 24px;
}

/* El buscador conserva el uppercase; los desplegables muestran las opciones tal cual. */
.mut-dropdown input { text-transform: uppercase; }
.mut-dropdown input::placeholder { color: var(--mut-black); text-transform: uppercase; }

.mut-dropdown__icon {
	/* Superpuesto sobre el select/input (que ahora ocupa todo el flex, borde a borde) en vez
	   de ocupar su propio espacio junto a él — antes quedaba FUERA del área clickeable real
	   del select (eran hermanos en flex, no superpuestos), así que la flecha no abría nada. */
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	color: var(--mut-black);
	pointer-events: none;
}

/* Dropdown con ícono por opción (filtros "Tipo") — un <select> nativo no puede mostrar imágenes,
   así que se reemplaza por un botón + panel de links reales (funciona sin JS; JS solo agrega
   el toggle por click en mobile — desktop también abre con :hover/:focus-within).
   PENDIENTE DE APROBACIÓN DEL CLIENTE: por eso en mobile se usa el <select> nativo de siempre
   (.mut-dropdown--native-mobile) y el dropdown con íconos queda solo para desktop. */
.mut-dropdown--icons { padding: 0; }
.mut-dropdown--native-mobile { display: none; }
@media (max-width: 991.98px) {
	.mut-dropdown--icons { display: none; }
	.mut-dropdown--native-mobile { display: flex; }
}
.mut-dropdown__toggle {
	flex: 1;
	height: 100%;
	display: flex;
	align-items: center;
	gap: 8px;
	border: 0;
	background: transparent;
	padding: 0 16px;
	font-family: var(--font-body);
	font-size: 14px;
	color: var(--mut-black);
	cursor: pointer;
	white-space: nowrap;
	font-weight: 500;
}
.mut-dropdown__toggle svg { margin-left: auto; flex-shrink: 0; pointer-events: none; }
.mut-dropdown__toggle-icon { width: 18px; height: 18px; object-fit: contain; flex-shrink: 0; pointer-events: none; }

.mut-dropdown__panel {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	background: var(--mut-off-white);
	border: 1px solid #333;
	z-index: 20;
	max-height: 320px;
	overflow-y: auto;
	visibility: hidden;
	opacity: 0;
	transform: translateY(-4px);
	transition: opacity .15s ease, transform .15s ease, visibility 0s linear .15s;
}
/* Solo abre por click (JS agrega .is-open) o foco de teclado (:focus-within, accesibilidad) —
   antes también abría con :hover, lo que competía con el estado de click (el cliente pidió
   que sea por click, como un dropdown normal, no que el hover lo abra/cierre por su cuenta). */
.mut-dropdown--icons:focus-within .mut-dropdown__panel,
.mut-dropdown--icons.is-open .mut-dropdown__panel {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
	transition: opacity .15s ease, transform .15s ease;
}
.mut-dropdown__option {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 500;
	color: var(--mut-black);
	text-decoration: none;
	white-space: nowrap;
}
.mut-dropdown__option:hover,
.mut-dropdown__option.is-active { background: var(--mut-black); color: var(--mut-off-white); opacity: 1; }
.mut-dropdown__option-icon { width: 18px; height: 18px; object-fit: contain; flex-shrink: 0; pointer-events: none; }
.mut-dropdown__option:hover .mut-dropdown__option-icon,
.mut-dropdown__option.is-active .mut-dropdown__option-icon { filter: invert(1) brightness(2); }

/* Filtro de Locales — términos "más buscados": van al final, con un espacio antes y en negrita */
.mut-dropdown__option-gap { margin-top: 14px; border-top: 1px solid var(--mut-gray-light); }
.mut-dropdown__option--priority { font-weight: 700; }

/* Pills de filtros activos — entre la barra de filtros y la grilla de resultados */
.mut-archive__active-filters { padding: 8px 48px 24px; }
.mut-archive__active-filters-row { display: flex; flex-wrap: wrap; gap: 10px; }
.mut-archive__active-filter {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 26px;
	padding: 0 6px 0 12px;
	border: 1px solid var(--mut-black);
	border-radius: 0;
	background: var(--mut-black);
	color: var(--mut-off-white);
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
	transition: opacity .15s ease;
}
.mut-archive__active-filter svg { width: 10px; height: 10px; }
.mut-archive__active-filter svg { flex-shrink: 0; }
.mut-archive__active-filter:hover { opacity: .75; color: var(--mut-off-white); }

/* Grid + cards */
.mut-archive__list { padding: 0 48px 48px; }

.mut-archive__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	padding: 0;
}

/* Ancho doble administrable por ACF (campo "Card ancho doble" en la ficha) */
.mut-archive__grid > .mut-mixcard--wide,
.mut-archive__grid > .mut-evcard--wide {
	grid-column: span 2;
}

.mut-card--archive {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--mut-white);
	color: var(--mut-black);
	overflow: hidden;
	min-height: 430px;
}

.mut-card--archive .mut-card__strip {
	position: absolute;
	top: 0; left: 0; bottom: 0;
	width: 12px;
	background: var(--mut-accent);
	z-index: 1;
}

.mut-card--archive .mut-card__media {
	aspect-ratio: 16 / 10;
	width: 100%;
	overflow: hidden;
	background: var(--mut-gray-light);
}

.mut-card--archive .mut-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mut-card--archive .mut-card__body {
	padding: 20px 24px 24px 32px;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mut-card__cat {
	font-family: var(--font-mono);
	font-size: 14px;
	text-transform: uppercase;
	color: var(--mut-gray-dark);
	letter-spacing: .04em;
}

/* Empty state */
.mut-archive__empty {
	padding: 60px 0;
	text-align: center;
	font-family: var(--font-display);
	font-size: 24px;
	color: var(--mut-gray-dark);
}

.mut-archive__hero-sub {
	font-family: var(--font-mono);
	font-size: 14px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--mut-black);
	margin: 16px 0 0;
}

/* ============================================================
   404 — Página no encontrada
   ============================================================ */
.mut-archive--404 { --mut-accent: var(--mut-green); }
.mut-archive--404 .mut-archive__hero-title { font-size: clamp(4rem, 12vw, 9rem); line-height: .95; }
.mut-archive--404 .mut-archive__hero-title .italic {
	display: block;
	font-size: clamp(1.6rem, 3vw, 2.6rem);
	font-style: italic;
	font-weight: 500;
	margin-top: 16px;
}

.mut-404__body { padding: 64px 0 96px; }
.mut-404__body .container { max-width: 760px; }

.mut-404__form {
	display: flex;
	align-items: stretch;
	border: 1px solid var(--mut-black);
	background: var(--mut-off-white);
	margin: 0 auto;
}
.mut-404__input {
	flex: 1;
	border: 0;
	background: transparent;
	padding: 0 20px;
	height: 56px;
	font-family: var(--font-body);
	font-size: 18px;
	color: var(--mut-black);
	outline: none;
}
.mut-404__input::placeholder { color: rgba(13,13,13,.45); }
.mut-404__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border: 0;
	border-left: 1px solid var(--mut-black);
	background: var(--mut-black);
	color: var(--mut-off-white);
	cursor: pointer;
}
.mut-404__submit:hover { background: var(--mut-off-white); color: var(--mut-black); }

.mut-404__pills-label {
	font-family: var(--font-mono);
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--mut-black);
	text-align: center;
	margin: 48px 0 20px;
}

.mut-404__pills {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 12px;
}
.mut-404__pill {
	display: inline-flex;
	align-items: center;
	height: 40px;
	padding: 0 20px;
	border: 1px solid var(--mut-black);
	border-radius: 999px;
	background: var(--mut-off-white);
	color: var(--mut-black);
	font-family: var(--font-mono);
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
}
.mut-404__pill:hover { background: var(--mut-black); color: var(--mut-off-white); opacity: 1; }

@media (max-width: 575.98px) {
	.mut-404__body { padding: 40px 16px 72px; }
	.mut-404__input { height: 52px; font-size: 16px; padding: 0 16px; }
	.mut-404__submit { width: 52px; height: 52px; }
	.mut-404__pill { height: 36px; padding: 0 16px; font-size: 12px; }
}

/* Pagination */
.mut-archive__pagination {
	display: flex;
	justify-content: center;
	gap: 0;
	margin-top: 48px;
	font-family: var(--font-mono);
}

.mut-archive__pagination a,
.mut-archive__pagination .current,
.mut-archive__pagination .dots {
	display: inline-flex;
	width: 48px;
	height: 48px;
	align-items: center;
	justify-content: center;
	background: transparent;
	color: var(--mut-black);
	text-decoration: none;
	border: 1px solid var(--mut-black);
	margin-left: -1px;
	border-radius: 0;
	transition: background .15s ease, color .15s ease;
}
.mut-archive__pagination a:first-child,
.mut-archive__pagination .current:first-child { margin-left: 0; }
.mut-archive__pagination a:hover { background: var(--mut-black); color: var(--mut-off-white); position: relative; z-index: 1; }
.mut-archive__pagination .current { background: var(--mut-black); color: var(--mut-off-white); position: relative; z-index: 1; }

@media (max-width: 991.98px) {
	.mut-archive__filters-form { grid-template-columns: repeat(2, 1fr); }
	.mut-archive__grid { grid-template-columns: repeat(2, 1fr); }
	.mut-archive__grid > .mut-mixcard--wide,
	.mut-archive__grid > .mut-evcard--wide { grid-column: span 2; }
}

@media (max-width: 575.98px) {
	.mut-archive__filters-form { grid-template-columns: 1fr; }
	.mut-archive__grid { grid-template-columns: 1fr; }
	.mut-archive__grid > .mut-mixcard--wide,
	.mut-archive__grid > .mut-evcard--wide { grid-column: span 1; }
}

/* ============================================================
   HOME / FRONT PAGE
   ============================================================ */

.mut-home { background: var(--mut-beige); }

.mut-home__section-title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(2rem, 5vw, 4rem);
	line-height: 1;
	color: var(--mut-black);
	margin: 0 0 32px;
}

.mut-home__section-title-sub {
	display: inline-block;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: clamp(1.5rem, 3vw, 3rem);
	margin-left: 12px;
	text-transform: lowercase;
}

.mut-link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 16px;
	color: var(--mut-black);
	text-decoration: none;
}

.mut-link-arrow:hover { opacity: 1; color: var(--mut-black); }
.mut-link-arrow:hover svg { transform: translateX(2px); }
.mut-link-arrow svg { transition: transform .15s ease; }

/* 1. Hero */
/* Hero Home — full-width two-column: video left | content right */
.mut-home__hero {
	position: relative;
	min-height: 100svh;
	background: var(--mut-red);
	overflow: hidden;
	/* Mismo borde izquierdo que .mut-mainnav__inner (container-max centrado + 12px de padding),
	   así el texto del hero y el horario quedan alineados con donde arranca el menú. */
	--mut-hero-edge: max(12px, calc((100vw - var(--container-max)) / 2 + 12px));
}

/* Slider track — slides stacked, crossfade between them */
.mut-home__hero-track {
	position: relative;
	height: 100svh;
}

/* El slide saliente NUNCA anima su opacidad (queda 100% opaco, tapando lo que haya
   detrás); solo el slide entrante hace fade-in por encima. Así nunca se asoma el
   fondo/color de .mut-home__hero durante la transición. */
.mut-home__hero-slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	z-index: 0;
}
.mut-home__hero-slide.is-active {
	opacity: 1;
	z-index: 2;
}
.mut-home__hero-slide.is-fading-in {
	transition: opacity 3s ease;
}

/* ── Full-bleed video/image background ── */
.mut-home__hero-media {
	position: absolute;
	inset: 0;
	background: var(--mut-black);
	overflow: hidden;
}

.mut-home__hero-media video,
.mut-home__hero-media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mut-home__hero-placeholder {
	position: absolute;
	inset: 0;
	background: #222;
}

/* Velo degradado desde la izquierda — oscurece donde va el texto, se aclara hacia la derecha */
.mut-home__hero-media::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(13,13,13,.72) 0%, rgba(13,13,13,.5) 32%, rgba(13,13,13,.18) 58%, rgba(13,13,13,0) 78%);
	z-index: 1;
	pointer-events: none;
}

/* MUT isotipo / mark — esquina superior derecha del video, girando lentamente */
.mut-home__hero-mark {
	position: absolute;
	right: 60px;
	top: 100px;
	width: 170px;
	height: 170px;
	z-index: 3;
}
@keyframes mut-hero-mark-spin {
	from { transform: rotate(0deg); }
	to   { transform: rotate(360deg); }
}
.mut-home__hero-mark img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	animation: mut-hero-mark-spin 18s linear infinite;
	display: block;
}

/* ── Content overlaid on the video, left-aligned, lower half ── */
.mut-home__hero-body {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 160px 80px 200px var(--mut-hero-edge);
	color: #fff;
	z-index: 2;
}

/* Title: 2 lines — line 1 upright, line 2 italic */
.mut-home__hero-title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(4rem, 3.6vw, 3.4rem);
	line-height: 1.1;
	color: #fff;
	margin: 0;
}
.mut-home__hero-title .italic {
	font-style: italic;
	display: block;
}
@media (min-width: 992px) {
	.mut-home__hero-title { max-width: 60%; }
}

/* Small secondary photo, bottom-right of the right column */
.mut-home__hero-thumb {
	align-self: flex-end;
	margin-top: auto;
	padding-top: 40px;
	width: clamp(140px, 18vw, 200px);
	flex-shrink: 0;
}
.mut-home__hero-thumb img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

/* Horario row at the very bottom */
.mut-home__hero-horario {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-body);
	font-size: 16px;
	color: #fff;
	position: absolute;
	bottom: 51px;
	left: var(--mut-hero-edge);
	z-index: 4;
}
.mut-home__hero-horario svg { flex-shrink: 0; }
.mut-home__hero-horario-text { color: #fff; }
.mut-home__hero-horario-link {
	color: #fff;
	text-decoration: none;
}
.mut-home__hero-horario-link:hover {
	color: #fff;
	text-decoration: underline;
	text-decoration-color: #fff;
	text-underline-offset: 4px;
}
.mut-home__hero-horario--global { z-index: 4; }

/* Paginator — same shape as events slider, overlaid bottom-right */
.mut-home__hero-footer {
	position: absolute;
	right: 40px;
	bottom: 40px;
	display: flex;
	align-items: center;
	gap: 24px;
	z-index: 5;
}
.mut-home__hero-counter {
	font-family: var(--font-mono);
	font-size: 13px;
	letter-spacing: .08em;
	color: rgba(255, 255, 255, 0.75);
}
.mut-home__hero-counter { display: none; } /* sin números en el paginador del hero */
.mut-home__hero-arrows { display: flex; gap: 0; }
.mut-home__hero-btn {
	width: 48px;
	height: 48px;
	border: 1px solid rgba(255, 255, 255, 0.75);
	border-radius: 0;
	background: transparent;
	color: rgba(255, 255, 255, 0.75);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.mut-home__hero-btn + .mut-home__hero-btn { margin-left: -1px; }
.mut-home__hero-btn:hover {
	background: rgba(255, 255, 255, 0.75);
	color: var(--mut-black);
	border-color: rgba(255, 255, 255, 0.75);
	position: relative;
	z-index: 1;
}
@media (max-width: 575.98px) {
	.mut-home__hero-footer { right: 16px; bottom: 16px; gap: 14px; }
	.mut-home__hero-btn { width: 36px; height: 36px; }
	/* Sello más chico, arriba a la derecha de la imagen del hero (bajo el navbar) */
	.mut-home__hero-mark {
		left: auto;
		right: 16px;
		top: 90px;
		transform: none;
		width: 108px;
		height: 108px;
	}
}

/* GIF animado flotante — sobre todos los slides, esquina inferior derecha. */
.mut-home__hero-gif {
	position: absolute;
	right: 40px;
	bottom: 40px;
	z-index: 6;
	pointer-events: none;
}
.mut-home__hero-gif img {
	display: block;
	width: min(525px, 37.5vw);
	height: auto;
}

/* Desktop: más arriba y detrás del menú flotante de Pisos (z-index 1020),
   además aparece recién cuando termina la animación de despliegue del menú. */
@media (min-width: 992px) {
	.mut-home__hero-gif {
		top: calc(40% + 100px);
		bottom: auto;
		right: 40px;
		z-index: 6; /* menor que .mut-pisos (1020): queda detrás del menú */
		opacity: 0;
		transition: opacity .5s ease;
	}
	.mut-home__hero-gif.is-visible { opacity: 1; }
}

/* ── Responsive ── */
@media (max-width: 991.98px) {
	.mut-home__hero { min-height: auto; }
	.mut-home__hero-track {
		height: 160.5vw;
		max-height: 1200px;
	}
	.mut-home__hero-body {
		padding: 24px 24px 150px var(--mut-hero-edge);
	}
	.mut-home__hero-title {
		font-size: clamp(2.2rem, 7vw, 3.2rem);
	}
	.mut-home__hero-thumb { align-self: flex-start; }
	.mut-home__hero-gif { right: 16px; bottom: 16px; }
	.mut-home__hero-gif img { width: 224px; }
}

/* 2. Mixed grid */
.mut-home__mixed { padding: 64px 48px; }

.mut-home__section-title em {
	font-style: italic;
}

/* Asymmetric grid:
   - Small cards span 1 col (square-ish)
   - Wide card spans 2 cols (the 3rd one shifts to col 2-3 in the next row) */
.mut-home__mixed-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	align-items: start;
}
.mut-home__mixed-cell--small { grid-column: span 1; }
.mut-home__mixed-cell--wide  { grid-column: 2 / span 2; }

/* ============================================================
   Posts slider — full-width section after CoMUTnidad marquee
   Each slide = full viewport-width image + floating card on right
   ============================================================ */
.mut-home__posts {
	background: var(--mut-off-white);
	padding: 0;
	position: relative;
}

/* Dots — abajo del slider (desktop y mobile) */
.mut-home__posts-dots {
	position: absolute;
	top: auto;
	right: auto;
	bottom: 28px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 10px;
	margin: 0;
	padding: 0;
	z-index: 5;
}
.mut-home__posts-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 1.5px solid #fff;
	background: transparent;
	padding: 0;
	cursor: pointer;
	transition: background .2s ease, transform .2s ease;
}
/* Reset del indicador por defecto de Bootstrap (barras anchas) — vuelve a ser un punto circular */
.mut-home__posts-dots.mut-home__posts-dots .mut-home__posts-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 1.5px solid #fff;
	border-top: 0;
	border-bottom: 0;
	background-color: transparent;
	background-clip: initial;
	opacity: 1;
	box-sizing: border-box;
}
.mut-home__posts-dot:hover { background-color: rgba(255,255,255,.5); }
.mut-home__posts-dots.mut-home__posts-dots .mut-home__posts-dot.active { background-color: #fff; }

.mut-home__posts-slide {
	min-height: 640px;
	background-color: #333;
	background-image: var(--slide-bg, none);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	padding: 80px 0;
}
/* Desktop: usa la imagen horizontal alternativa si el post la define
   (--slide-bg-desk cae a la destacada cuando el campo está vacío). */
@media (min-width: 992px) {
	.mut-home__posts-slide { background-image: var(--slide-bg-desk, var(--slide-bg, none)); }
}
/* display:flex también en carousel-item-next/prev (no solo .active): Bootstrap les da
   display:block mientras dura la transición del swipe/slide, causando que el
   cuadratín (align-items) salte de golpe recién al terminar la animación. */
.mut-home__posts-slide.active,
.mut-home__posts-slide.carousel-item-next,
.mut-home__posts-slide.carousel-item-prev { display: flex; align-items: center; }
#mutHomePostsCarousel { touch-action: pan-y; }
.mut-home__posts-slide > .container {
	display: flex;
	justify-content: flex-end;
	position: relative;
	z-index: 2;
}
.mut-home__posts-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 1;
}

/* Floating card */
.mut-postcard {
	width: 100%;
	max-width: 420px;
	min-height: 480px;
	padding: 80px 48px 64px;
	text-align: center;
	color: var(--mut-black);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 28px;
}
.mut-postcard--green { background: var(--mut-green); }

.mut-postcard__cat {
	font-family: var(--font-mono);
	font-size: 14px;
	font-weight: 400;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--mut-black);
	opacity: .85;
	margin: 0;
}
.mut-postcard__title {
	font-family: var(--font-display);
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 600;
	line-height: 1.1;
	color: var(--mut-black);
	margin: 0;
}
.mut-postcard__author {
	font-family: var(--font-display);
	font-style: italic;
	font-size: 1.05rem;
	color: var(--mut-black);
	margin: 0;
	opacity: .9;
}
.mut-postcard__author em { font-style: italic; }
.mut-postcard__more {
	margin-top: 8px;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 600;
}


/* ============================================================
   Lo encuentras en MUT — tienda / local-gastronomico card
   Same floating-panel pattern as evento card.
   ============================================================ */
.mut-mixcard {
	position: relative;
	width: 100%;
	height: 440px;
	overflow: hidden;
	border-radius: 0;
	transition: transform .2s ease;
}
.mut-mixcard--wide { height: 440px; }

/* Wide mixcard in the archive grid — panel layout distinto al de Home
   (offset fijo en vez de ancho %, ver .mut-mixcard--wide .mut-mixcard__body). */
.mut-archive__grid > .mut-mixcard--wide .mut-mixcard__body {
	left: 320px;
	right: 12px;
	width: auto;
	min-height: auto;
}
.mut-mixcard:hover { transform: none; }
.mut-mixcard__media img { transition: transform .4s ease; }
.mut-mixcard:hover .mut-mixcard__media img { transform: scale(1.05); }

/* Thin accent line on left edge (color per type) */
.mut-mixcard::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 12px;
	height: 100%;
	z-index: 4;
}
.mut-mixcard--tienda::before { background: var(--mut-purple); }
.mut-mixcard--local::before  { background: var(--mut-yellow); }

/* Image fills the card */
.mut-mixcard__media {
	position: absolute;
	inset: 0;
	display: block;
}
.mut-mixcard__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mut-mixcard__placeholder {
	width: 100%;
	height: 100%;
	background: #ddd;
}

/* Reservar button — top-right */
.mut-mixcard__reservar {
	position: absolute;
	top: 16px;
	right: 16px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--mut-yellow);
	color: var(--mut-black);
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	padding: 12px 16px;
	border-radius: 0;
	text-decoration: none;
	z-index: 3;
	transition: opacity .15s ease;
	border: 1px solid;
}
.mut-mixcard__reservar:hover { opacity: .85; color: var(--mut-black); }
.mut-mixcard__reservar svg,
.mut-mixcard__reservar img { width: 14px; height: 14px; }

/* Floating info panel — bottom-right, leaves image visible top + left */
.mut-mixcard__body {
	position: absolute;
	bottom: 12px;
	left: 48px;
	right: 12px;
	min-height: 130px;
	z-index: 2;
	padding: 16px 16px 16px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.mut-mixcard--tienda .mut-mixcard__body {
	background: var(--mut-purple);
}
.mut-mixcard--local  .mut-mixcard__body { background: var(--mut-yellow); }

/* Wide variant: panel sits on the right portion */
.mut-mixcard--wide .mut-mixcard__body {
	left: auto;
	right: 12px;
	width: 42%;
	min-height: auto;
}

/* Category row */
.mut-mixcard__cat {
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 500;
	color: var(--mut-black);
	opacity: 1;
}
.mut-mixcard__cat img { width: 14px; height: 14px; object-fit: contain; flex-shrink: 0; }

/* Title */
.mut-mixcard__title {
	font-family: var(--font-display);
	font-size: clamp(1.1rem, 1.8vw, 1.4rem);
	font-weight: 600;
	line-height: 1.15;
	color: var(--mut-black);
	margin: 0;
}
.mut-mixcard__title a { color: inherit; text-decoration: none; }
.mut-mixcard__title a:hover { text-decoration: underline; }

/* Meta: piso, Necto Mono */
.mut-mixcard__meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-top: 4px;
}
.mut-mixcard__piso {
	font-family: var(--font-mono);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--mut-black);
	opacity: 1;
}

/* 3. Eventos — Ver y hacer slider */
.mut-home__eventos {
	background: var(--mut-off-white);
	padding: 64px 48px 48px;
}

.mut-home__ev-mes {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 48px;
	line-height: 1;
}
@media (max-width: 575.98px) {
	.mut-home__ev-mes { font-size: 30px; }
}

.mut-home__eventos-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 40px;
}

/* Section title: "Ver y hacer en junio" — mixed serif italic */
.mut-home__ev-title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(2.4rem, 5.5vw, 4.5rem);
	line-height: 1.0;
	color: var(--mut-black);
	margin: 0;
}
.mut-home__ev-title em {
	font-style: italic;
	font-weight: 500;
}

/* Full-width overflow wrapper */
.mut-home__ev-outer {
	overflow: hidden;
	margin-bottom: 32px;
}

/* Scrollable track — left peek shows ~120px of prev card */
.mut-home__ev-track {
	display: flex;
	gap: 12px;
	overflow-x: auto;
	/* NO scroll-behavior:smooth — el auto-scroll continuo (JS) asigna scrollLeft
	   cada frame; con smooth cada asignación dispara su propia mini-animación de
	   easing del navegador, que compite con la del JS y se ve entrecortado. Los
	   saltos discretos (flechas/dots) ya piden 'smooth' explícito por su cuenta. */
	scroll-behavior: auto;
	scrollbar-width: none;
	/* Align with Bootstrap container */
	padding-left:  max(16px, calc((100vw - 1320px) / 2 + 12px));
	padding-right: max(16px, calc((100vw - 1320px) / 2 + 12px));
	padding-top:    4px;
	padding-bottom: 8px;
}
.mut-home__ev-track::-webkit-scrollbar { display: none; }
.mut-home__ev-track > div { flex: 0 0 auto; }

/* Event card */
.mut-evcard {
	width: 400px;
	height: 440px;
	border-radius: 0;
	overflow: hidden;
	position: relative;
	transition: transform .2s ease;
}
.mut-evcard:hover { transform: none; }
.mut-evcard__media img { transition: transform .4s ease; }
.mut-evcard:hover .mut-evcard__media img { transform: scale(1.05); }

/* Fluid variant — fills the grid cell (archive + related listings) */
/* height fija (no aspect-ratio) para que coincida con .mut-mixcard: en la celda
   ancha (nth-child 7n+4, grid-column:span 2) queda rectangular como Comer y beber,
   en vez de escalar también en alto por mantener una proporción fija. */
.mut-evcard--fluid {
	width: 100%;
	height: 440px;
}

/* Thin blue accent line on left edge */
.mut-evcard::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 12px;
	height: 100%;
	background: var(--mut-blue);
	z-index: 4;
}

/* Image fills the entire card */
.mut-evcard__media {
	position: absolute;
	inset: 0;
}
.mut-evcard__media-link {
	position: absolute;
	inset: 0;
	z-index: 1;
}
.mut-evcard__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mut-evcard__placeholder {
	width: 100%;
	height: 100%;
	background: #ddd;
}

/* Inscribirme button — top-right, above panel */
.mut-evcard__inscribir {
	position: absolute;
	top: 16px;
	right: 16px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--mut-blue);
	color: var(--mut-black);
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	padding: 12px 16px;
	border-radius: 0;
	text-decoration: none;
	z-index: 3;
	transition: background .15s ease, opacity .15s ease;
	border: 1px solid var(--mut-black);
}
.mut-evcard__inscribir:hover {
	background: #8dd4e0;
	color: var(--mut-black);
	opacity: 1;
}

/* Info panel — floats over image, bottom-left, exposes image top + right */
.mut-evcard__body {
	position: absolute;
	bottom: 12px;
	left: 48px;
	right: 12px;
	min-height: 75px;
	z-index: 2;
	background: var(--mut-blue);
	padding: 9px 10px 11px;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

/* Category row */
.mut-evcard__cat {
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 500;
	color: var(--mut-black);
	opacity: 1;
}
.mut-evcard__cat img { width: 16px; height: 16px; object-fit: contain; flex-shrink: 0; }
.mut-evcard__cat svg { flex-shrink: 0; }

/* Event title */
.mut-evcard__title {
	font-family: var(--font-display);
	font-size: clamp(1.2rem, 2.2vw, 1.5rem);
	font-weight: 600;
	line-height: 1.35;
	color: var(--mut-black);
	margin: 0;
}
.mut-evcard__title a {
	color: inherit;
	text-decoration: none;
}
.mut-evcard__title a:hover { text-decoration: underline; }

/* Date + time — Necto Mono */
.mut-evcard__meta {
	display: flex;
	flex-direction: column;
	gap: 3px;
	margin-top: 4px;
}
.mut-evcard__fecha,
.mut-evcard__hora {
	font-family: var(--font-mono);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--mut-black);
	opacity: 1;
}

/* Footer: counter + arrow buttons */
/* Dots — mismo patrón visual que "Destacamos de" en el template de Piso */
.mut-home__ev-dots {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 8px;
}
.mut-home__ev-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 1.5px solid var(--mut-black);
	background: transparent;
	padding: 0;
	cursor: pointer;
	transition: background .2s ease;
}
.mut-home__ev-dot:hover { background: rgba(0,0,0,.2); }
.mut-home__ev-dot.is-active { background: var(--mut-black); }

/* Botón prev/next (aún sin marcado HTML propio — reservado para cuando se agreguen flechas al slider) */
.mut-home__ev-btn {
	width: 48px;
	height: 48px;
	border: 1px solid var(--mut-black);
	border-radius: 0;
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: var(--mut-black);
	transition: background .15s ease, color .15s ease;
}
.mut-home__ev-btn:hover { background: var(--mut-black); color: var(--mut-off-white); }

/* 4. Marquee */
.mut-home__marquee {
	background: var(--mut-beige);
	padding: 64px 0 32px;
	overflow: hidden;
}
.mut-home__marquee .container { display: flex; justify-content: center; }

.mut-home__marquee-track {
	display: flex;
	gap: 48px;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(2.5rem, 6vw, 4rem);
	line-height: 1;
	color: var(--mut-black);
	white-space: nowrap;
	animation: mut-marquee 30s linear infinite;
	margin-bottom: 24px;
}

.mut-home__marquee-track span { display: inline-block; }
.mut-home__marquee-track em { font-weight: 500; font-style: italic; }

@keyframes mut-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

/* 5. Promo cards */
.mut-home__promos {
	background: var(--mut-black);
	padding: 80px 0;
}

.mut-home__promos-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.mut-promo {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 480px;
	padding: 32px;
	background: var(--mut-promo-bg, var(--mut-yellow));
	color: var(--mut-black);
	text-decoration: none;
	transition: transform .2s ease;
}

.mut-promo:hover { color: var(--mut-black); opacity: 1; transform: translateY(-4px); }

.mut-promo--yellow-bright { --mut-promo-bg: var(--mut-yellow-bright); }
.mut-promo--blue          { --mut-promo-bg: var(--mut-blue); }
.mut-promo--yellow        { --mut-promo-bg: var(--mut-yellow); }

.mut-promo h3 {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: 40px;
	line-height: 1;
	margin: 0 0 16px;
	color: var(--mut-black);
}

.mut-promo p {
	font-family: var(--font-body);
	font-size: 18px;
	margin: 0;
	color: var(--mut-black);
}

/* Responsive */
@media (max-width: 991.98px) {
	.mut-home__mixed-grid { grid-template-columns: repeat(2, 1fr); }
	.mut-home__mixed-cell--wide { grid-column: 1 / -1; }
	.mut-home__mixed-cell--small { grid-column: span 1; }
	.mut-home__promos-grid { grid-template-columns: 1fr; }
	.mut-evcard { width: 310px; height: 460px; }
	.mut-evcard__body { right: 48px; }
	.mut-mixcard--wide .mut-mixcard__body { width: 55%; }
	.mut-home__posts-slide { min-height: 520px; padding: 60px 0; }
	.mut-postcard { max-width: 360px; padding: 40px 32px 32px; }
}

@media (max-width: 575.98px) {
	.mut-home__mixed-grid { grid-template-columns: 1fr; }
	.mut-home__mixed-cell--small,
	.mut-home__mixed-cell--wide { grid-column: 1 / -1; }
	.mut-evcard { width: 280px; height: 300px; }
	.mut-evcard__body { right: 36px; padding: 7px 8px 9px; }
	.mut-evcard__cat { font-size: 12px; }
	.mut-evcard__title { font-size: clamp(1.27rem, 2.33vw, 1.58rem); }
	.mut-evcard__fecha,
	.mut-evcard__hora { font-size: 11px; }
	.mut-home__ev-title { font-size: 2.2rem; }
	.mut-mixcard { aspect-ratio: 4 / 3; }
	.mut-mixcard--wide { aspect-ratio: 4 / 3; }
	.mut-mixcard__body,
	.mut-mixcard--wide .mut-mixcard__body { left: 32px; right: 12px; width: auto; }
	.mut-mixcard__cat { font-size: 12px; }
	.mut-mixcard__title { font-size: clamp(1.16rem, 1.90vw, 1.48rem); }
	.mut-mixcard__piso { font-size: 11px; }
	.mut-home__posts-slide { min-height: 680px; padding: 40px 0; align-items: flex-end; }
	.mut-home__posts-slide.active,
	.mut-home__posts-slide.carousel-item-next,
	.mut-home__posts-slide.carousel-item-prev { align-items: flex-end; }
	.mut-home__posts-slide > .container { justify-content: center; }
	.mut-postcard { max-width: 90%; padding: 20px 24px; min-height: 280px; }
}

/* ============================================================
   SOBRE MUT
   ============================================================ */

.mut-page--sobre-mut { background: var(--mut-beige); --mut-accent: var(--mut-green); }

.mut-sobre__section-title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 40px;
	line-height: 1;
	color: var(--mut-black);
	margin: 0 0 32px;
}

/* Two-col Qué es / Propósito */
.mut-sobre__two-col {
	background: var(--mut-beige);
	padding: 64px 0;
}

.mut-sobre__two-col .container {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 60px;
}

.mut-sobre__col-title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 24px;
	color: var(--mut-black);
	margin: 0 0 20px;
}

.mut-sobre__col-img {
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--mut-gray-light);
	margin-bottom: 20px;
}

.mut-sobre__col-img img { width: 100%; height: 100%; object-fit: cover; }

.mut-sobre__col p {
	font-family: var(--font-body);
	font-size: 18px;
	line-height: 1.5;
	color: var(--mut-black);
	margin: 0;
}

/* Territoria */
.mut-sobre__territoria {
	background: var(--mut-beige);
	padding: 48px 0 96px;
}

.mut-sobre__territoria-grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 40px;
	background: #e4d9d2;
	padding: 40px;
	align-items: center;
}

.mut-sobre__territoria-media {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--mut-gray-light);
}

.mut-sobre__territoria-media img { width: 100%; height: 100%; object-fit: cover; }

.mut-sobre__territoria-body h2 {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: 40px;
	color: var(--mut-black);
	margin: 0 0 16px;
}

.mut-sobre__territoria-body p {
	font-family: var(--font-body);
	font-size: 18px;
	line-height: 1.5;
	margin: 0 0 24px;
}

/* Atributos */
.mut-sobre__atributos {
	background: #e4d9d2;
	padding: 80px 0;
}

.mut-sobre__atributos-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.mut-sobre__atributo {
	background: var(--mut-off-white);
	padding: 32px;
	min-height: 280px;
	display: flex;
	flex-direction: column;
}

.mut-sobre__atributo-num {
	font-family: var(--font-mono);
	font-size: 14px;
	color: var(--mut-black);
	margin-bottom: auto;
}

.mut-sobre__atributo h3 {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 32px;
	line-height: 1.1;
	color: var(--mut-black);
	margin: 0 0 8px;
}

.mut-sobre__atributo p {
	font-family: var(--font-body);
	font-size: 16px;
	color: var(--mut-gray-dark);
	margin: 0;
}

/* Optional content area */
.mut-sobre__content { background: var(--mut-beige); padding: 64px 0; }
.mut-sobre__content .entry-content { max-width: 685px; margin: 0 auto; font-size: 18px; line-height: 1.6; }

/* ============================================================
   COMUTNIDAD
   ============================================================ */

.mut-page--comutnidad { background: var(--mut-beige); --mut-accent: var(--mut-green); }
.mut-page--cat-generic { background: var(--mut-beige); }

/* Header — título "CoMUTnidad" + tabs de filtro (todos link normal, sin ajax) */
.mut-comut2__header { padding: 180px 0 32px; }
.mut-comut2__title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(2.75rem, 7vw, 6rem);
	line-height: 1;
	text-align: center;
	color: var(--mut-black);
	margin: 0 0 40px;
}
.mut-comut2__filters {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	column-gap: 32px;
	row-gap: 12px;
	padding-top: 24px;
	border-top: 1px solid rgba(13, 13, 13, .15);
}
.mut-comut2__filter {
	font-family: var(--font-body);
	font-weight: 500;
	font-size: 24px;
	letter-spacing: 0;
	text-transform: uppercase;
	text-decoration: none;
	color: rgba(13, 13, 13, .38);
	transition: color .15s ease;
}
.mut-comut2__filter sup {
	font-family: var(--font-display);
	font-style: italic;
	font-weight: 400;
	text-transform: none;
	font-size: 14px;
	top: -.5em;
}
.mut-comut2__filter.is-active,
.mut-comut2__filter:hover { color: var(--mut-black); }

/* Grid */
.mut-comut2__list { padding: 0 0 80px; }
.mut-comut2__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px 24px;
	padding: 24px 48px 24px;
}

/* Card base + variante "editorial" (blog / crónicas / proyecciones) */
.mut-comut2__card {
	display: flex;
	flex-direction: column;
	width: 100%;
	color: var(--mut-black);
	text-decoration: none;
}
.mut-comut2__card:hover { color: var(--mut-black); opacity: 1; }
.mut-comut2__card-media {
	height: 402px;
	overflow: hidden;
	background: var(--mut-gray-light);
}
.mut-comut2__card--proyecciones .mut-comut2__card-media { height: 180px; }
.mut-comut2__card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mut-comut2__card-body { padding-top: 14px; }
.mut-comut2__card-eyebrow {
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-body);
	font-size: 14px;
	letter-spacing: 0;
	color: var(--mut-gray-dark);
	margin-bottom: 10px;
	font-weight: 500;
}
.mut-comut2__card-title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 21px;
	line-height: 1.25;
	color: var(--mut-black);
	margin: 0 0 10px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.mut-comut2__card-author,
.mut-comut2__card-caption {
	font-family: var(--font-mono);
	font-size: 11.5px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--mut-gray-dark);
}

/* Variante "entrevista" (Entrevista al Chef) — imagen + panel blanco con nombre/rol */
.mut-comut2__card--entrevista { background: var(--mut-white); }
.mut-comut2__card--entrevista .mut-comut2__card-media {
	width: 228px;
	height: 278px;
	margin-left: auto;
	margin-top: 20px;
	margin-right: 20px;
}
.mut-comut2__card-panel {
	background: var(--mut-white);
	padding: 20px;
	margin-top: -1px;
}
.mut-comut2__card--entrevista .mut-comut2__card-title { margin-bottom: 4px; }
.mut-comut2__card-role {
	font-family: var(--font-body);
	font-size: 14px;
	color: var(--mut-gray-dark);
}

/* Variante "receta" (Recetas del Chef) — card blanca, texto arriba + miniatura inset */
.mut-comut2__card--receta {
	background: var(--mut-white);
	padding: 20px;
	height: 320px;
}
.mut-comut2__card--receta .mut-comut2__card-title { margin-bottom: 6px; }
.mut-comut2__card--receta .mut-comut2__card-author { display: block; margin-bottom: 16px; }
.mut-comut2__card-thumb {
	width: 180px;
	height: 130px;
	margin-left: auto;
	overflow: hidden;
	background: var(--mut-gray-light);
}
.mut-comut2__card-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Variante "video" (Mundo Gastronómico — primera card del grid) */
.mut-comut2__card--video { position: relative; height: 448px; overflow: hidden; background: var(--mut-black); }
.mut-comut2__card--video video { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ============================================================
   Mundo Gastronómico (landing dentro de CoMUTnidad)
   ============================================================ */

.mut-mg__hero { background: var(--mut-yellow); padding: 180px 48px 64px; }
.mut-mg__hero-inner { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; }
.mut-mg__hero-crumb {
	font-family: var(--font-mono);
	font-size: 14px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--mut-black);
	text-decoration: none;
}
.mut-mg__hero-crumb:hover { text-decoration: underline; }
.mut-mg__hero-title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(3rem, 7vw, 5.5rem);
	line-height: 1.05;
	color: var(--mut-black);
	margin: 0;
}
.mut-mg__hero-img { margin-top: 8px; }
.mut-mg__hero-img img { height: 220px; width: auto; max-width: none; }

.mut-mg__intro { background: var(--mut-beige); padding: 48px; }
.mut-mg__intro .container {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 32px;
}
.mut-mg__intro .mut-share { flex-shrink: 0; }
.mut-mg__intro p {
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 2.5vw, 1.9rem);
	line-height: 1.3;
	font-weight: 400;
	color: var(--mut-black);
	margin: 0;
	text-indent: 40px;
	max-width: 760px;
	flex: 1;
}

.mut-mg__grid-section { background: var(--mut-black); padding: 64px 48px; }
.mut-mg__grid-section .mut-comut2__grid { padding: 0; }

@media (max-width: 767.98px) {
	.mut-mg__hero { padding: 140px 24px 48px; }
	.mut-mg__intro { padding: 32px 24px; }
	.mut-mg__intro .container { flex-direction: column; gap: 20px; }
	.mut-mg__intro p { text-indent: 0; }
	.mut-mg__grid-section { padding: 48px 24px; }
}

/* Scroll infinito (Todos) */
.mut-comut2__sentinel { display: flex; justify-content: center; padding: 56px 0 0; min-height: 1px; }
.mut-comut2__spinner {
	width: 28px;
	height: 28px;
	border: 2px solid rgba(13, 13, 13, .15);
	border-top-color: var(--mut-black);
	border-radius: 50%;
	opacity: 0;
	animation: mut-comut-spin .7s linear infinite;
}
.mut-comut2__sentinel.is-loading .mut-comut2__spinner { opacity: 1; }
@keyframes mut-comut-spin { to { transform: rotate(360deg); } }

/* "Cargar más" (páginas de categoría) */
.mut-comut2__more-wrap { display: flex; justify-content: center; padding-top: 56px; }
.mut-comut2__more.is-loading { opacity: .55; pointer-events: none; }

/* Responsive */
@media (max-width: 991.98px) {
	.mut-comut2__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575.98px) {
	.mut-comut2__header { padding: 140px 0 24px; }
	.mut-comut2__filters { column-gap: 20px; row-gap: 10px; justify-content: center; text-align: center; }
	.mut-comut2__filter { font-size: 18px; }
	.mut-comut2__grid { grid-template-columns: 1fr; gap: 32px; }
	.mut-comut2__card { margin-left: 16px; margin-right: 16px; width: auto; }
}

/* Promos at bottom (reuse mut-home__promos-grid) */
.mut-comut__promos {
	background: var(--mut-black);
	padding: 80px 0;
}

.mut-promo--purple { --mut-promo-bg: var(--mut-purple); }

/* Responsive */
@media (max-width: 991.98px) {
	.mut-sobre__two-col .container { grid-template-columns: 1fr; }
	.mut-sobre__territoria-grid { grid-template-columns: 1fr; }
	.mut-sobre__atributos-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   TAXONOMY: PISO (single floor page)
   ============================================================ */

.mut-piso { background: var(--mut-beige); }

/* Hero — centered column: badge → italic title → illustration */
.mut-piso__hero {
	position: relative;
	background: var(--mut-accent);
	padding: 180px 48px 64px;
	overflow: hidden;
}

/* Video administrable: bajo el título, alineado a la derecha, 50% width */
.mut-piso__hero-video {
	display: block;
	width: 50%;
	height: auto;
	align-self: flex-end;
	pointer-events: none;
}
.mut-piso__hero .container { position: relative; }

.mut-piso__hero-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 36px;
	text-align: center;
}

.mut-piso__hero-body {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
}

.mut-piso__hero-badge {
	display: inline-block;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: clamp(.95rem, 1.1vw, 1rem);
	letter-spacing: .01em;
	color: var(--mut-black);
	margin: 0;
}

.mut-piso__hero-title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(3.5rem, 10vw, 6rem);
	line-height: 1;
	color: var(--mut-black);
	margin: 0;
}

.mut-piso__hero-img {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 8px;
	min-height: 160px;
}

.mut-piso__hero-img img {
	width: auto;
	height: auto;
	max-height: 160px;
	display: block;
}

/* Subtitle / description — beige bg, indented first line, share top-right */
.mut-piso__subtitle {
	background: var(--mut-beige);
	padding: 48px 48px 48px;
	border-top: 0;
}

.mut-piso__subtitle-inner {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 32px;
	align-items: start;
}

.mut-piso__subtitle p {
	font-family: var(--font-display);
	font-weight: 400;
	font-size: clamp(1.25rem, 2vw, 1.75rem);
	line-height: 1.35;
	color: var(--mut-black);
	margin: 0;
	max-width: 685px;
	text-indent: 2.2em;
}

.mut-piso__subtitle-share { justify-self: end; }

@media (max-width: 767.98px) {
	.mut-piso__subtitle-inner { grid-template-columns: 1fr; }
	.mut-piso__subtitle-share { justify-self: start; }
}

/* Mapa del piso — iframe externo o imagen fallback */
.mut-piso__mapa {
	background: var(--mut-beige);
	padding: 24px 0 64px;
}

.mut-piso__mapa-frame {
	width: 100%;
	height: var(--mut-mapa-alto, 640px);
	background: var(--mut-off-white);
	border: 1px solid var(--mut-black);
	overflow: hidden;
	position: relative;
}

.mut-piso__mapa-frame iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

.mut-piso__mapa-frame img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	background: var(--mut-off-white);
	cursor: zoom-in;
}

@media (max-width: 767.98px) {
	.mut-piso__mapa-frame { height: 420px; }
}

/* Media destacada full-bleed */
.mut-piso__media {
	background: var(--mut-beige);
	padding: 0 0 56px;
	position: relative;
}
.mut-piso__media--imagen img,
.mut-piso__media--video video {
	width: 100%;
	height: auto;
	display: block;
}

/* Galería slider */
.mut-piso__media--galeria { overflow: hidden; }
.mut-piso__media-track {
	display: flex;
	transition: transform .6s cubic-bezier(.2, .8, .4, 1);
}
.mut-piso__media-slide {
	flex: 0 0 100%;
	min-width: 100%;
}
.mut-piso__media-slide img {
	width: 100%;
	height: auto;
	max-height: 720px;
	object-fit: cover;
	display: block;
}
.mut-piso__media-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
	border: 1px solid var(--mut-black);
	background: var(--mut-off-white);
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	z-index: 2;
}
.mut-piso__media-nav--prev { left: 24px; }
.mut-piso__media-nav--next { right: 24px; }
.mut-piso__media-nav:hover { background: var(--mut-black); color: var(--mut-off-white); }

.mut-piso__media-dots {
	position: absolute;
	bottom: 80px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 8px;
	z-index: 2;
}
.mut-piso__media-dots button {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 1px solid var(--mut-off-white);
	background: transparent;
	padding: 0;
	cursor: pointer;
}
.mut-piso__media-dots button.is-active { background: var(--mut-off-white); }

@media (max-width: 767.98px) {
	.mut-piso__media-nav { width: 36px; height: 36px; font-size: 18px; }
	.mut-piso__media-nav--prev { left: 8px; }
	.mut-piso__media-nav--next { right: 8px; }
	.mut-piso__media-dots { bottom: 70px; }
}

/* Tripletas — 3 fotos verticales + texto alineado izq/der */
.mut-piso__tripletas { background: var(--mut-beige); padding: 0 0 64px; }

.mut-piso__tripleta { padding: 48px 0 32px; }

.mut-piso__tripleta-fotos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	margin-bottom: 80px;
	max-width: 75%;
}
.mut-piso__tripleta--derecha .mut-piso__tripleta-fotos { margin-left: auto; margin-right: 0; }
.mut-piso__tripleta--izquierda .mut-piso__tripleta-fotos { margin-left: 0; margin-right: auto; }

.mut-piso__tripleta-foto {
	max-height: 440px;
	aspect-ratio: 3 / 5;
	overflow: hidden;
}
.mut-piso__tripleta-foto img {
	width: 100%;
	height: 100%;
	max-height: 440px;
	object-fit: cover;
	display: block;
}

.mut-piso__tripleta-text {
	max-width: 460px;
	font-family: var(--font-display);
	color: var(--mut-black);
}
.mut-piso__tripleta--derecha .mut-piso__tripleta-text { margin-left: auto; text-align: left; }
.mut-piso__tripleta--izquierda .mut-piso__tripleta-text { margin-right: auto; text-align: left; }

.mut-piso__tripleta-title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	line-height: 1.2;
	margin: 0 0 16px;
}

.mut-piso__tripleta-body {
	font-family: var(--font-body);
	font-weight: 400;
	font-size: clamp(1rem, 1.2vw, 1.125rem);
	line-height: 1.55;
	margin: 0;
}

@media (max-width: 767.98px) {
	.mut-piso__tripleta-fotos { grid-template-columns: 1fr; gap: 16px; margin-bottom: 40px; max-width: 100%; }
	.mut-piso__tripleta-foto { aspect-ratio: 4 / 5; max-height: none; }
	.mut-piso__tripleta-foto img { max-height: none; }
	.mut-piso__tripleta--derecha .mut-piso__tripleta-text,
	.mut-piso__tripleta--izquierda .mut-piso__tripleta-text {
		max-width: 100%; text-align: left; margin: 0;
	}
}

/* Content blocks (alternating image + text rows) */
.mut-piso__blocks { background: var(--mut-beige); padding: 0 0 56px; }

.mut-piso__block {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
	padding: 40px 0;
}

.mut-piso__block.is-reverse .mut-piso__block-media { order: 2; }

.mut-piso__block-media {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--mut-gray-light);
}

.mut-piso__block-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mut-piso__block-body h2 {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	line-height: 1.1;
	color: var(--mut-black);
	margin: 0 0 16px;
}

.mut-piso__block-body p {
	font-family: var(--font-body);
	font-size: 18px;
	line-height: 1.55;
	color: var(--mut-black);
	margin: 0;
	max-width: 480px;
}

/* Destacamos de [piso] — slider: 3 cols desktop, 1 mobile, con paginador */
.mut-piso__destacamos {
	background: var(--mut-off-white);
	padding: 96px 0;
}

.mut-piso__destacamos-title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(2.25rem, 5vw, 4rem);
	line-height: 1;
	color: var(--mut-black);
	margin: 0 0 40px;
}

.mut-piso__destacamos-title .italic {
	font-style: italic;
	font-weight: 500;
}

.mut-piso__destacamos-track {
	display: flex;
	gap: 24px;
	overflow-x: auto;
	scrollbar-width: none;
	padding: 0 24px 8px;
}
.mut-piso__destacamos-track::-webkit-scrollbar { display: none; }

.mut-piso__destacamos-card {
	flex: 0 0 86%;
	min-width: 0;
}

/* Todas las cards (tienda/local/evento) a la misma altura, sin importar su CPT */
.mut-piso__destacamos-card .mut-mixcard,
.mut-piso__destacamos-card .mut-mixcard--wide,
.mut-piso__destacamos-card .mut-evcard {
	height: 440px;
	aspect-ratio: auto;
	width: 100%;
}

@media (min-width: 992px) {
	.mut-piso__destacamos-card { flex: 0 0 calc((100% - 48px) / 3); }
}

/* Mobile: hereda la misma altura fija que usa la vista de archivos (Tiendas/Locales) */
@media (max-width: 575.98px) {
	.mut-piso__destacamos-card .mut-mixcard,
	.mut-piso__destacamos-card .mut-mixcard--wide,
	.mut-piso__destacamos-card .mut-evcard {
		height: 254px;
	}
}

.mut-piso__destacamos-dots {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 32px;
}
.mut-piso__destacamos-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 1.5px solid var(--mut-black);
	background: transparent;
	padding: 0;
	cursor: pointer;
	transition: background .2s ease;
}
.mut-piso__destacamos-dot:hover { background: rgba(0,0,0,.2); }
.mut-piso__destacamos-dot.is-active { background: var(--mut-black); }

.mut-piso__destacamos-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
	margin-top: 48px;
	padding: 0 24px;
	text-align: center;
}

@media (max-width: 991.98px) {
	.mut-piso__block,
	.mut-piso__block.is-reverse { grid-template-columns: 1fr; }
	.mut-piso__block.is-reverse .mut-piso__block-media { order: 0; }

	/* Textos con un poco de padding lateral en mobile (el .container no trae padding propio) */
	.mut-piso__block-body { padding: 0 24px; }
	.mut-piso__tripleta-text { padding: 0 24px; }

	/* Título "Destacamos de" — margen izquierdo en mobile */
	.mut-piso__destacamos-title { margin-left: 24px; }

	/* Botones finales — más padding vertical en mobile */
	.mut-piso__destacamos-actions { padding-top: 24px; padding-bottom: 24px; }
}

@media (max-width: 767.98px) {
	/* Galería del piso — más altura en mobile (antes dependía 100% del aspect-ratio de la imagen) */
	.mut-piso__media-slide { height: 420px; }
	.mut-piso__media-slide img { height: 100%; max-height: none; }
}

/* ============================================================
   FOOTER
   ============================================================ */

.mut-footer {
	background: var(--mut-black);
	color: var(--mut-off-white);
	padding: 48px 40px;
	padding-bottom: 24px;
}

.mut-footer a { color: var(--mut-off-white); }
.mut-footer a:hover { opacity: .7; color: var(--mut-off-white); }

.mut-footer__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0;
}

.mut-footer__top {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: 48px;
	padding-bottom: 40px;
	border-bottom: 1px solid #333333;
}

.mut-footer__logo { width: 75px; height: auto; }

.mut-footer__left {
	display: flex;
	flex-direction: column;
	gap: 24px;
	min-width: 0;
}

.mut-footer__left-top {
	display: flex;
	align-items: flex-start;
	gap: 48px;
}

.mut-footer__logo-link { flex-shrink: 0; display: inline-block; }

/* Instagram feed — a la altura del form de newsletter, mismo ancho que .mut-footer__left. */
.mut-footer__instagram {
	width: 100%;
	margin: 8px 0 0;
	padding-bottom: 28px;
}

.mut-footer__newsletter-illustration {
	display: block;
	width: 100%;
	max-width: 220px;
	height: auto;
	margin-bottom: 24px;
}
@media (min-width: 992px) {
	.mut-footer__newsletter-illustration { max-width: 176px; }
}
.mut-footer__instagram .sbi_photo,
.mut-footer__instagram #sb_instagram { width: 100%; }
.mut-footer__instagram #sb_instagram { height: 200px !important; }
@media (max-width: 575.98px) {
	.mut-footer__instagram #sb_instagram { height: 260px !important; }
}

/* Social icons — arriba del feed de Instagram, dentro de .mut-footer__left */
.mut-footer__left .mut-footer__social {
	margin: 24px 0;
}

.mut-footer__inner > .mut-footer__credit {
	display: block;
	text-align: left;
	font-size: 12px;
	color: var(--mut-gray-light);
	margin: 24px 0;
}

.mut-footer__left-content { flex: 1; min-width: 0; }

@media (max-width: 767.98px) {
	.mut-footer__left-top { flex-direction: column; gap: 40px; }
}

.mut-footer__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 0px;
	font-family: var(--font-mono);
	font-size: 14px;
	margin-bottom: 0;
	text-transform: uppercase;
	list-style: none;
	padding: 0;
}

/* Pipe-like vertical line marker between adjacent items */
.mut-footer__links li,
.mut-footer__links > a { list-style: none; display: inline-flex; align-items: center; }

.mut-footer__links li + li::before,
.mut-footer__links > a + a::before {
	content: "";
	display: inline-block;
	width: 1px;
	height: 14px;
	background: #333333;
	margin-right: 16px;
	vertical-align: middle;
}

/* Hide the hardcoded fallback `<span class="sep">|</span>` if present */
.mut-footer__links .sep { display: none; }

.mut-footer__legal { text-transform: uppercase; }

.mut-footer__links .sep { color: var(--mut-gray-dark); }

.mut-footer__social { display: flex; flex-wrap: wrap; gap: 0; }

.mut-footer__social a {
	width: 52px;
	height: 52px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--mut-black);
	border: 0;
	border-radius: 0;
	margin-left: 0;
	position: relative;
}

.mut-footer__social a:hover { background: rgba(255,255,255,.08); opacity: 1; }
.mut-footer__social svg { width: 20px; height: 20px; fill: var(--mut-off-white); }
.mut-footer__social img {
	width: 20px;
	height: 20px;
	display: block;
	object-fit: contain;
	filter: invert(1) brightness(2);
}

.mut-footer__newsletter h3 {
	font-family: var(--font-display);
	font-weight: 600;
	font-style: normal;
	font-size: 24px;
	line-height: 1.35;
	color: var(--mut-off-white);
	margin-bottom: 20px;
}

.mut-footer__newsletter form { display: flex; gap: 0; }

.mut-footer__newsletter input[type="email"] {
	flex: 1;
	height: 44px;
	padding: 0 16px;
	background: var(--mut-off-white);
	border: 0;
	font-family: var(--font-body);
	font-size: 16px;
	color: var(--mut-black);
}

.mut-footer__newsletter input::placeholder { color: var(--mut-gray); }

.mut-footer__newsletter button {
	width: 44px;
	height: 44px;
	background: var(--mut-off-white);
	border: 0;
	border-left: 1px solid rgba(13,13,13,.1);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.mut-footer__newsletter button svg { width: 16px; height: 16px; }

.mut-footer__bottom {
	margin-top: 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: space-between;
	align-items: center;
	font-family: var(--font-body);
	font-size: 12px;
	color: var(--mut-gray-light);
}

.mut-footer__legal { display: flex; flex-wrap: wrap; gap: 24px; text-transform: none; }
.mut-footer__legal a { text-transform: none; }

.mut-footer__credit { display: inline-flex; align-items: center; gap: 6px; }
.mut-footer__territoria { height: 14px; width: auto; display: inline-block; filter: invert(1); vertical-align: middle; margin-left: 6px; margin-top: -3px; }

@media (max-width: 767.98px) {
	.mut-footer__top { grid-template-columns: 1fr; gap: 40px; }
	.mut-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   Theme color additions
   ============================================================ */
:root {
	--mut-navy:   #1f3e74;  /* Servicios hero */
	--mut-forest: #0c5347;  /* Bici Hub hero  */
}

/* ============================================================
   Shared: hero highlight strip + intro block (Servicios/BiciHub)
   ============================================================ */

/* Shared hero title style */
.mut-serv__hero-title,
.mut-bici__hero-title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(3.5rem, 8vw, 6rem);
	line-height: 1;
	color: #fff;
	margin: 0;
	padding-bottom: 40px;
}

/* Shared hero inner layout */
.mut-serv__hero-inner,
.mut-bici__hero-inner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
}

/* Shared highlights strip */
.mut-serv__highlights,
.mut-bici__highlights {
	margin-top: 0;
}

.mut-serv__highlights-row {
	display: flex;
	align-items: stretch;
}

.mut-serv__highlight {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 0;
	border-right: 1px solid rgba(255,255,255,.2);
}
.mut-serv__highlight:last-child { border-right: none; }

.mut-serv__highlight-img {
	width: 56px;
	height: 56px;
	border-radius: 8px;
	overflow: hidden;
	flex-shrink: 0;
}
.mut-serv__highlight-img img { width: 100%; height: 100%; object-fit: cover; }

.mut-serv__highlight-body {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.mut-serv__highlight-title {
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: 600;
	color: #fff;
}
.mut-serv__highlight-sub {
	font-family: var(--font-body);
	font-size: 12px;
	color: rgba(255,255,255,.65);
}

/* Shared intro block */
.mut-serv__intro,
.mut-bici__intro {
	background: var(--mut-beige);
	padding: 48px 48px;
	text-indent: 40px;
	border-bottom: 0;
}

/* Info section — map left + info blocks + app dropdown + description right */
.mut-bici__info {
	background: var(--mut-beige);
	padding: 48px 48px 48px;
}
.mut-bici__info-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: start;
}
.mut-bici__info-media {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--mut-gray-light);
	border-radius: 0;
}
.mut-bici__info-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mut-bici__info-body {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.mut-bici__info-list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid rgb(13 13 13 / 100%);
}
.mut-bici__info-item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 20px 8px 20px;
	border-bottom: 1px solid rgb(13 13 13 / 100%);
}
.mut-bici__info-label {
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 700;
	color: var(--mut-black);
	line-height: 1.4;
}
.mut-bici__info-value {
	font-family: var(--font-body);
	font-size: 16px;
	color: var(--mut-black);
	line-height: 1.4;
}
.mut-bici__info-value p {
	margin: 0 0 4px;
	font-family: var(--font-body);
	font-size: 16px;
	color: var(--mut-black);
}
.mut-bici__info-value p:last-child { margin-bottom: 0; }

/* App button — dropdown (matches Cómo llegar pattern, but forest green) */
.mut-bici__info-app-dropdown {
	position: relative;
	display: inline-block;
	align-self: flex-start;
}
.mut-bici__info-app-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--mut-forest);
	color: #fff;
	border: 1px solid var(--mut-black);
	border-radius: 0;
	padding: 12px 24px;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease;
}
.mut-bici__info-app-btn:hover,
.mut-bici__info-app-dropdown.is-open .mut-bici__info-app-btn {
	background: #07382f;
	border-color: #07382f;
	color: #fff;
}
.mut-bici__info-app-icon { transition: transform .2s ease; }
.mut-bici__info-app-dropdown.is-open .mut-bici__info-app-icon { transform: rotate(180deg); }
.mut-bici__info-app-menu {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	min-width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	background: var(--mut-off-white);
	border: 1px solid var(--mut-black);
	border-radius: 0;
	z-index: 20;
}
.mut-bici__info-app-menu[hidden] { display: none; }
.mut-bici__info-app-menu li + li { border-top: 1px solid rgba(0,0,0,.15); }
.mut-bici__info-app-menu a {
	display: block;
	padding: 12px 18px;
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--mut-black);
	text-decoration: none;
	white-space: nowrap;
	transition: background .12s ease, color .12s ease;
}
.mut-bici__info-app-menu a:hover {
	background: var(--mut-black);
	color: var(--mut-off-white);
}

.mut-bici__info-desc p {
	font-family: var(--font-body);
	font-size: 18px;
	line-height: 1.5;
	color: var(--mut-black);
	margin: 0 0 16px;
}
.mut-bici__info-desc p:last-child { margin-bottom: 0; }

@media (max-width: 991.98px) {
	.mut-bici__info-grid { grid-template-columns: 1fr; gap: 32px; }
}

/* New Bici Hub intro — bajada (display) + share component on right */
.mut-bici__intro-inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 48px;
}
.mut-bici__intro-bajada {
	flex: 1;
	max-width: 685px;
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 2.5vw, 1.9rem);
	line-height: 1.3;
	font-weight: 400;
	color: var(--mut-black);
	margin: 0;
}
.mut-bici__intro-share { flex-shrink: 0; }
@media (max-width: 767.98px) {
	.mut-bici__intro-inner { flex-direction: column; gap: 32px; }
}
.mut-serv__intro-inner {
	display: flex;
	align-items: flex-start;
	gap: 48px;
}
.mut-serv__intro-text { flex: 1; }
.mut-serv__intro-bajada {
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 2.5vw, 1.9rem);
	line-height: 1.3;
	font-weight: 400;
	color: var(--mut-black);
	margin-bottom: 28px;
}

/* Forest green button */
.mut-btn--forest {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--mut-forest);
	color: #fff;
	border: none;
	border-radius: 100px;
	padding: 12px 24px;
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: background .2s;
}
.mut-btn--forest:hover { background: #0a4238; color: #fff; }

/* Outline white button (for dark sections) */
.mut-btn--outline-white {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: transparent;
	color: #fff;
	border: 1.5px solid rgba(255,255,255,.5);
	border-radius: 100px;
	padding: 10px 22px;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: border-color .2s, background .2s;
	margin-top: auto;
}
.mut-btn--outline-white:hover {
	border-color: #fff;
	background: rgba(255,255,255,.12);
	color: #fff;
}

/* ============================================================
   Servicios Page
   ============================================================ */

/* Sub-página de Servicios: hero navy + resto beige */
.mut-page--servicios-sub { background-color: var(--mut-beige); }

.mut-serv__hero {
	background: var(--mut-navy);
	padding: 180px 48px 64px;
	overflow: hidden;
	color: #fbfbfa;
}
.mut-serv__hero .container { position: relative; }

/* Breadcrumb "← Servicios" del hero de sub-página */
.mut-serv__hero-back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 16px;
	color: currentColor;
	text-decoration: none;
}
.mut-serv__hero-back:hover { text-decoration: underline; text-underline-offset: 4px; }

/* Centered variant — matches the other heros */
.mut-serv__hero--centered .mut-serv__hero-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 24px;
}
.mut-serv__hero--centered .mut-serv__hero-title {
	color: #fbfbfa;
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(3.5rem, 8vw, 6rem);
	line-height: 1;
	margin: 0;
	padding-bottom: 0;
}
.mut-serv__hero--centered .mut-serv__hero-title .italic { font-style: italic; font-weight: 500; }
.mut-serv__hero--centered .mut-serv__hero-illustration {
	margin-top: 16px;
	width: auto;
	flex-shrink: 0;
	align-self: center;
}
.mut-serv__hero--centered .mut-serv__hero-illustration img {
	height: 160px;
	width: auto;
	display: block;
}

@media (max-width: 575.98px) {
	.mut-serv__hero--centered { padding: 140px 0 56px; }
	.mut-serv__hero--centered .mut-serv__hero-title { font-size: 3rem; }
	.mut-serv__hero--centered .mut-serv__hero-illustration img { height: 140px; }
}

.mut-serv__hero-illustration {
	flex-shrink: 0;
	width: clamp(60px, 7vw, 90px);
	align-self: flex-end;
}
.mut-serv__hero-illustration img { width: auto; height: auto; display: block; }
.mut-serv__hero-illustration--placeholder { color: rgba(255,255,255,.35); }

/* Main section — párrafo introductorio (row 1) + cards (row 2, full width) */
.mut-serv__main {
	background: var(--mut-beige);
	padding: 48px 48px 48px;
}
.mut-serv__main-intro {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
	gap: 32px;
	margin-bottom: 48px;
}
.mut-serv__main-bajada {
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 2.5vw, 1.9rem);
	line-height: 1.3;
	font-weight: 400;
	color: var(--mut-black);
	margin: 0;
	text-indent: 40px;
	max-width: 640px;
	flex: 1;
}
.mut-serv__main-share { align-self: flex-start; flex-shrink: 0; }

/* Cards — mismo componente interactivo de "Atributos de valor" (Nuestro Proyecto):
   desktop = fila horizontal que se expande al hover; mobile = slider snap con
   contador + flechas. Ver .mut-np__atributos* en style.css para el original. */
.mut-serv__cards {
	display: flex;
	gap: 0;
	min-height: 420px;
}

.mut-serv__card {
	flex: 1;
	position: relative;
	background: var(--mut-off-white);
	border: 1px solid var(--mut-black);
	margin-left: -1px;
	padding: 32px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition: flex .3s cubic-bezier(.4,0,.2,1);
	cursor: pointer;
}
.mut-serv__card:first-child { margin-left: 0; flex: 5; }
.mut-serv__cards:hover .mut-serv__card:first-child { flex: 1; }
.mut-serv__card:hover { flex: 5 !important; }

.mut-serv__card-num {
	position: absolute;
	top: 24px;
	right: 24px;
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: .08em;
	color: var(--mut-black);
	z-index: 2;
}

.mut-serv__card-content {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 40px;
	height: 100%;
	width: 100%;
	min-width: 360px;
	opacity: 0;
	transition: opacity .3s ease .15s;
}
.mut-serv__card:first-child .mut-serv__card-content { opacity: 1; }
.mut-serv__cards:hover .mut-serv__card:first-child .mut-serv__card-content { opacity: 0; transition-delay: 0s; }
.mut-serv__card:hover .mut-serv__card-content,
.mut-serv__cards:hover .mut-serv__card:hover .mut-serv__card-content { opacity: 1; transition-delay: .15s; }

.mut-serv__card-media {
	display: flex;
	align-items: center;
	margin-bottom: 4px;
}
.mut-serv__card-media img {
	width: clamp(140px, 18vw, 160px);
	max-height: 140px;
	height: auto;
	display: block;
}
.mut-serv__card-placeholder {
	width: 140px;
	height: 105px;
	color: var(--mut-black);
	opacity: .55;
}
.mut-serv__card-body { display: flex; flex-direction: column; gap: 16px; }
.mut-serv__card-title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(1.5rem, 1.6vw, 1.5rem);
	line-height: 1.35;
	color: var(--mut-black);
	margin: 0;
}
.mut-serv__card-desc {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.5;
	color: var(--mut-black);
	margin: 0;
	max-width: 420px;
}
.mut-serv__card-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 600;
	color: var(--mut-black);
	text-decoration: none;
	align-self: flex-start;
}
.mut-serv__card-link svg { transition: transform .25s ease; }
.mut-serv__card-link:hover svg { transform: translateX(4px); }

/* Footer (contador + flechas) — solo mobile, mismo patrón que atributos */
.mut-serv__cards-footer { display: none; }

@media (max-width: 991.98px) {
	.mut-serv__main-intro { flex-direction: column; gap: 20px; margin-bottom: 32px; }

	.mut-serv__cards {
		min-height: 0;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}
	.mut-serv__cards::-webkit-scrollbar { display: none; }

	.mut-serv__card {
		flex: 0 0 100% !important;
		width: 100%;
		min-height: 420px;
		margin-left: -1px;
		padding: 28px 24px;
		scroll-snap-align: start;
		cursor: default;
	}
	.mut-serv__card:first-child { margin-left: 0; }
	.mut-serv__cards:hover .mut-serv__card:first-child { flex: 0 0 100% !important; }
	.mut-serv__card:hover { flex: 0 0 100% !important; }

	.mut-serv__card-content {
		opacity: 1 !important;
		min-width: 0;
		transition: none;
	}
	.mut-serv__card-media img { width: clamp(120px, 36vw, 180px); }

	.mut-serv__cards-footer {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 16px;
		margin-top: 24px;
	}
	.mut-serv__cards-counter {
		font-family: var(--font-mono);
		font-size: 14px;
		letter-spacing: .08em;
		color: var(--mut-black);
	}
	.mut-serv__cards-sep { opacity: .5; }
	.mut-serv__cards-arrows { display: flex; gap: 0; }
	.mut-serv__cards-btn {
		width: 48px;
		height: 48px;
		border: 1px solid var(--mut-black);
		background: transparent;
		color: var(--mut-black);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		transition: background .15s ease, color .15s ease;
	}
	.mut-serv__cards-btn + .mut-serv__cards-btn { margin-left: -1px; }
	.mut-serv__cards-btn:hover { background: var(--mut-black); color: var(--mut-off-white); }
}

/* Services grid */
.mut-serv__grid-section {
	background: var(--mut-off-white);
	padding: 72px 0;
}

.mut-serv__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 32px;
}

@media (max-width: 767.98px) {
	.mut-serv__highlights-row { flex-direction: column; }
	.mut-serv__highlight { border-right: none; border-bottom: 1px solid rgba(255,255,255,.2); }
	.mut-serv__highlight:last-child { border-bottom: none; }
}

/* ============================================================
   Bici Hub Page
   ============================================================ */

.mut-bici__hero {
	background: var(--mut-forest);
	padding: 180px 48px 64px;
	overflow: hidden;
	color: #fbfbfa;
}
.mut-bici__hero .container { position: relative; }

/* Centered variant — title + illustration centered, matches other heros */
.mut-bici__hero--centered .mut-bici__hero-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 24px;
}
.mut-bici__hero--centered .mut-bici__hero-title {
	color: #fbfbfa;
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(3.5rem, 8vw, 6rem);
	line-height: 1;
	margin: 0;
	padding-bottom: 0;
}
.mut-bici__hero--centered .mut-bici__hero-title .italic { font-style: italic; font-weight: 500; }
.mut-bici__hero--centered .mut-bici__hero-illustration {
	margin-top: 16px;
	width: auto;
	flex-shrink: 0;
	align-self: center;
}
.mut-bici__hero--centered .mut-bici__hero-illustration img {
	height: 160px;
	width: auto;
	display: block;
}

@media (max-width: 575.98px) {
	.mut-bici__hero--centered { padding: 140px 0 56px; }
	.mut-bici__hero--centered .mut-bici__hero-title { font-size: 3rem; }
	.mut-bici__hero--centered .mut-bici__hero-illustration img { height: 140px; }
}

.mut-bici__hero-illustration {
	flex-shrink: 0;
	width: clamp(70px, 8vw, 100px);
	align-self: flex-end;
}
.mut-bici__hero-illustration img { width: auto; height: auto; display: block; }
.mut-bici__hero-illustration--placeholder { color: rgba(255,255,255,.4); }

/* Location card */
.mut-bici__location {
	background: var(--mut-beige);
	padding: 72px 0;
}
.mut-bici__location-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: start;
}
.mut-bici__location-media {
	border-radius: 16px;
	overflow: hidden;
	aspect-ratio: 581 / 453;
}
.mut-bici__location-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mut-bici__location-media .mut-card__placeholder { width: 100%; height: 100%; min-height: 360px; border-radius: 0; }

.mut-bici__location-body {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding-top: 8px;
}
.mut-bici__location-desc {
	font-family: var(--font-body);
	font-size: 18px;
	line-height: 1.7;
	color: var(--mut-black);
	margin: 0;
}
.mut-bici__colaboran { margin-top: 8px; }
.mut-bici__colaboran-label {
	display: block;
	font-family: var(--font-body);
	font-size: 18px;
	font-weight: 500;
	color: var(--mut-black);
	margin-bottom: 12px;
}
.mut-bici__colaboran-logos {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: center;
}
.mut-bici__colaboran-logos img {
	height: 36px;
	width: auto;
	object-fit: contain;
}

/* Gallery */
.mut-bici__gallery {
	background: var(--mut-beige);
	padding: 48px 48px 48px;
}

/* Scatter layout — 5 fixed slot positions (cycles for >5 images) */
.mut-bici__gallery-scatter {
	position: relative;
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
	height: clamp(720px, 75vw, 1080px);
	padding: 0 32px;
}
.mut-bici__gallery-item {
	position: absolute !important;
	background: transparent;
	border: 0;
	padding: 0;
	margin: 0;
	cursor: zoom-in;
	overflow: hidden;
	border-radius: 0;
	width: auto;
	height: auto;
	flex: 0 0 auto;
}
.mut-bici__gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .4s ease;
}
.mut-bici__gallery-item:hover img { transform: scale(1.04); }

/* Slot positions — match the design (cycles every 5 images) */
.mut-bici__gallery-scatter > .mut-bici__gallery-item:nth-child(5n+1) { top:  0%;  left:  3%;  width: 24%; aspect-ratio: 16 / 9; }
.mut-bici__gallery-scatter > .mut-bici__gallery-item:nth-child(5n+2) { top: 30%;  left: 30%;  width: 38%; aspect-ratio: 16 / 9; }
.mut-bici__gallery-scatter > .mut-bici__gallery-item:nth-child(5n+3) { top: 56%;  left: 18%;  width: 22%; aspect-ratio: 4 / 3; }
.mut-bici__gallery-scatter > .mut-bici__gallery-item:nth-child(5n+4) { top: 12%;  right: 4%;  width: 22%; aspect-ratio: 4 / 3; }
.mut-bici__gallery-scatter > .mut-bici__gallery-item:nth-child(5n)   { top: 70%;  right: 9%;  width: 12%; aspect-ratio: 3 / 4; }

@media (max-width: 767.98px) {
	.mut-bici__gallery-scatter {
		height: auto;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 12px;
		padding: 0 12px;
	}
	.mut-bici__gallery-scatter > .mut-bici__gallery-item,
	.mut-bici__gallery-scatter > .mut-bici__gallery-item:nth-child(5n+1),
	.mut-bici__gallery-scatter > .mut-bici__gallery-item:nth-child(5n+2),
	.mut-bici__gallery-scatter > .mut-bici__gallery-item:nth-child(5n+3),
	.mut-bici__gallery-scatter > .mut-bici__gallery-item:nth-child(5n+4),
	.mut-bici__gallery-scatter > .mut-bici__gallery-item:nth-child(5n) {
		position: static !important;
		width: 100%;
		aspect-ratio: 4 / 3;
		inset: auto;
	}
}

/* Bici Hub gallery → slider horizontal en mobile */
@media (max-width: 575.98px) {
	.mut-bici__gallery-scatter {
		display: flex;
		grid-template-columns: none;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		gap: 12px;
		padding: 0 12px;
		scrollbar-width: none;
	}
	.mut-bici__gallery-scatter::-webkit-scrollbar { display: none; }
	.mut-bici__gallery-scatter > .mut-bici__gallery-item,
	.mut-bici__gallery-scatter > .mut-bici__gallery-item:nth-child(5n+1),
	.mut-bici__gallery-scatter > .mut-bici__gallery-item:nth-child(5n+2),
	.mut-bici__gallery-scatter > .mut-bici__gallery-item:nth-child(5n+3),
	.mut-bici__gallery-scatter > .mut-bici__gallery-item:nth-child(5n+4),
	.mut-bici__gallery-scatter > .mut-bici__gallery-item:nth-child(5n) {
		flex: 0 0 86%;
		width: 86%;
		aspect-ratio: 4 / 3;
		scroll-snap-align: start;
	}
}

/* Subscription plans */
.mut-bici__plans {
	background: var(--mut-forest);
	padding: 48px 48px 48px;
}
.mut-bici__plans-title {
	font-family: var(--font-display);
	font-size: clamp(2.5rem, 4vw, 2.5rem);
	font-weight: 600;
	color: #fbfbfa; /* doc dice var(--mut-black) pero el fondo es forest (ilegible); se mantiene blanco */
	margin: 0 0 40px;
	margin: 0 0 40px;
}
.mut-bici__plans-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	align-items: stretch;
}
.mut-bici__plan {
	background: var(--mut-off-white);
	border-radius: 0;
	padding: 80px 40px;
	display: flex;
	flex-direction: column;
	gap: 40px;
	min-height: 440px;
}
.mut-bici__plan-head {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 12px;
}
.mut-bici__plan-tag {
	font-family: var(--font-mono);
	font-size: 14px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--mut-black);
	margin-bottom: 4px;
}
.mut-bici__plan-name {
	font-family: var(--font-display);
	font-size: clamp(2rem, 3vw, 1.5rem);
	font-weight: 600;
	line-height: 1.35;
	color: var(--mut-black);
	margin: 0;
}
.mut-bici__plan-sub {
	font-family: var(--font-display);
	font-style: italic;
	font-size: clamp(1.1rem, 1.6vw, 1.4rem);
	color: var(--mut-black);
	margin-top: 4px;
}
.mut-bici__plan-features {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
	flex: 1;
}
.mut-bici__plan-features li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.35;
	color: var(--mut-black);
}
.mut-bici__plan-features li:first-child { font-weight: 700; }
.mut-bici__plan-check {
	flex-shrink: 0;
	color: var(--mut-black);
	margin-top: 2px;
}

/* FAQ accordion */
.mut-bici__faq {
	background: #e4d9d2;
	padding: 48px 48px 48px;
}
.mut-bici__faq-title {
	font-family: var(--font-display);
	font-size: clamp(2.2rem, 4vw, 2.5rem);
	font-weight: 600;
	color: var(--mut-black);
	margin: 0 0 40px;
}
.mut-bici__faq-list {
	display: flex;
	flex-direction: column;
}
.mut-bici__faq-item {
	border-top: 1px solid #0d0d0d;
}
.mut-bici__faq-item:last-child { border-bottom: 1px solid #0d0d0d; }

.mut-bici__faq-trigger {
	width: 100%;
	background: none;
	border: none;
	padding: 20px 8px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	cursor: pointer;
	text-align: left;
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 1.6vw, 1.5rem);
	font-weight: 400;
	color: var(--mut-black);
	line-height: 1.35;
	transition: opacity .15s ease;
}
.mut-bici__faq-trigger:hover { opacity: .65; }
.mut-bici__faq-trigger[aria-expanded="true"] { font-weight: 700; }
.mut-bici__faq-trigger[aria-expanded="true"] .mut-bici__faq-chevron {
	transform: rotate(180deg);
}
.mut-bici__faq-chevron { flex-shrink: 0; transition: transform .25s ease; color: var(--mut-black); }

.mut-bici__faq-answer {
	padding: 0 0 24px;
}
.mut-bici__faq-answer p,
.mut-bici__faq-answer ul,
.mut-bici__faq-answer ol {
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.6;
	color: var(--mut-black);
	margin: 0 0 12px;
}
.mut-bici__faq-answer ul,
.mut-bici__faq-answer ol { padding-left: 20px; }
.mut-bici__faq-answer p:last-child,
.mut-bici__faq-answer ul:last-child,
.mut-bici__faq-answer ol:last-child { margin-bottom: 0; }
.mut-bici__faq-answer-legacy {
	/* kept so the original .mut-bici__faq-answer p rule still applies inside */
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.7;
	color: rgba(0,0,0,.7);
	margin: 0;
	max-width: 720px;
}

/* In-person signup */
.mut-bici__signup {
	background: #fbfbfa;
}
.mut-bici__signup-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 680px;
	align-items: center;
}
.mut-bici__signup-media {
	width: 100%;
	height: 100%;
	overflow: hidden;
	background: var(--mut-gray-light);
}
.mut-bici__signup-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mut-bici__signup-media .mut-card__placeholder {
	width: 100%; height: 100%; min-height: 500px; border-radius: 0;
}
.mut-bici__signup-body {
	padding: 64px 48px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.mut-bici__signup-title {
	font-family: var(--font-display);
	font-size: clamp(2.5rem, 3.5vw, 2.5rem);
	font-weight: 600;
	line-height: 1.2;
	color: var(--mut-black);
	margin: 0;
}
.mut-bici__signup-text {
	font-family: var(--font-body);
	font-size: 18px;
	line-height: 1.5;
	color: var(--mut-black);
	max-width: 560px;
}
.mut-bici__signup-text p { margin: 0 0 12px; }
.mut-bici__signup-text p:last-child { margin-bottom: 0; }
.mut-bici__signup-text strong { font-weight: 700; color: var(--mut-black); }

/* Bici Hub responsive */
@media (max-width: 991.98px) {
	.mut-bici__location-grid { grid-template-columns: 1fr; }
	.mut-bici__plans-grid { grid-template-columns: 1fr; max-width: 400px; }
	.mut-bici__gallery-grid { grid-template-columns: repeat(2, 1fr); }
	.mut-bici__gallery-grid .mut-bici__gallery-item:first-child { grid-column: span 2; grid-row: span 1; }
	.mut-bici__signup-grid { grid-template-columns: 1fr; min-height: 0; }
	.mut-bici__signup-media { aspect-ratio: 4 / 3; order: 2; }
	.mut-bici__signup-body { padding: 56px 32px; order: 1; }
}

/* Planes Bici Hub → slider horizontal en mobile */
@media (max-width: 575.98px) {
	.mut-bici__plans-grid {
		display: flex;
		grid-template-columns: none;
		max-width: none;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		gap: 12px;
		padding: 0 12px;
		scrollbar-width: none;
	}
	.mut-bici__plans-grid::-webkit-scrollbar { display: none; }
	.mut-bici__plan {
		flex: 0 0 86%;
		min-height: 0;
		scroll-snap-align: start;
	}
}
@media (max-width: 575.98px) {
	.mut-bici__hero-title,
	.mut-serv__hero-title { font-size: 3rem; }
	.mut-bici__gallery-grid { grid-template-columns: 1fr; }
	.mut-bici__gallery-grid .mut-bici__gallery-item:first-child { grid-column: span 1; }
	.mut-bici__signup-body { padding: 40px 24px; }
	.mut-serv__intro-inner { flex-direction: column; }
}

/* ============================================================
   Sostenibilidad Page
   ============================================================ */

/* Back link */
.mut-back-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 500;
	color: var(--mut-black);
	text-decoration: none;
	margin-bottom: 40px;
	letter-spacing: .02em;
}
.mut-back-link:hover { opacity: .7; }

/* Green button variant */
.mut-btn--green {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--mut-green);
	color: var(--mut-black);
	border: 1px solid var(--mut-black);
	border-radius: 0;
	padding: 12px 24px;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	text-indent: 0;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}
.mut-btn--green:hover { background: #0d0d0d; color: #fbfbfa; }

/* --- Hero --- */
.mut-sost__hero {
	background: var(--mut-green);
	padding: 180px 48px 64px;
	overflow: hidden;
}
.mut-sost__hero .container { position: relative; }

.mut-sost__hero-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 24px;
}

.mut-sost__hero-breadcrumb {
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 16px;
	color: var(--mut-black);
	text-decoration: none;
}

.mut-sost__hero-title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(3.5rem, 8vw, 6rem);
	line-height: 1;
	color: var(--mut-black);
	margin: 0;
}

.mut-sost__hero-illustration {
	margin-top: 16px;
}
.mut-sost__hero-illustration img { height: 160px; width: auto; display: block; }

@media (max-width: 575.98px) {
	.mut-sost__hero { padding: 156px 24px 48px; }
	.mut-sost__hero-illustration img { height: 120px; }
}

/* --- Intro --- */
.mut-sost__intro {
	background: var(--mut-beige);
	padding: 48px 48px;
}
.mut-sost__intro-inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 48px;
}
.mut-sost__intro-text {
	flex: 1;
	max-width: 720px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 40px;
}
.mut-sost__intro-bajada {
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 2.5vw, 1.9rem);
	line-height: 1.3;
	font-weight: 400;
	color: var(--mut-black);
	margin: 0;
	max-width: 685px;
	text-indent: 32px;
}
.mut-sost__intro-share {
	flex-shrink: 0;
}

/* --- CTA bar --- */
.mut-sost__cta {
	background: var(--mut-black);
	padding: 40px 0;
	text-align: center;
}

/* --- Tabbed content --- */
.mut-sost__tabs-section {
	background: var(--mut-off-white);
	padding: 48px 48px 48px;
}

.mut-sost__tab-nav {
	display: flex;
	align-items: flex-end;
	gap: 0;
	border-bottom: 2px solid rgb(228 217 211);
	margin-bottom: 40px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.mut-sost__tab-nav::-webkit-scrollbar { display: none; }

.mut-sost__tab-btn {
	flex-shrink: 0;
	background: none;
	border: none;
	border-bottom: 4px solid transparent;
	padding: 14px 0;
	margin: 0 32px 0 0;
	margin-bottom: -1px;
	font-family: var(--font-body);
	font-size: 18px;
	font-weight: 400;
	color: var(--mut-black);
	cursor: pointer;
	transition: font-weight .2s, border-color .2s;
	white-space: nowrap;
}
.mut-sost__tab-btn:first-child { margin-left: 0; }
.mut-sost__tab-btn:hover { font-weight: 600; }
.mut-sost__tab-btn.is-active {
	font-weight: 700;
	border-bottom-color: var(--mut-green);
}

.mut-sost__tab-pane { display: none; }
.mut-sost__tab-pane.is-active { display: block; }

.mut-sost__tab-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: start;
}

.mut-sost__tab-media {
	border-radius: 0;
	overflow: hidden;
	aspect-ratio: 4 / 3;
}
.mut-sost__tab-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mut-sost__tab-media .mut-card__placeholder { width: 100%; height: 100%; min-height: 300px; border-radius: 0; }

/* Galería opcional por pestaña — slider continuo, mismo motor que la galería de Piso */
.mut-sost__tab-gallery { position: relative; width: 100%; height: 100%; overflow: hidden; }
.mut-sost__tab-gallery-track { display: flex; width: 100%; height: 100%; }
.mut-sost__tab-gallery-slide { flex: 0 0 100%; min-width: 100%; height: 100%; }
.mut-sost__tab-gallery-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mut-sost__tab-gallery-dots {
	position: absolute;
	bottom: 16px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 8px;
	z-index: 2;
}
.mut-sost__tab-gallery-dots button {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	border: 1.5px solid var(--mut-off-white);
	background: transparent;
	padding: 0;
	cursor: pointer;
	transition: background .2s ease;
}
.mut-sost__tab-gallery-dots button:hover { background: rgba(255,255,255,.5); }
.mut-sost__tab-gallery-dots button.is-active { background: var(--mut-off-white); }

.mut-sost__tab-gallery-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	border: 1px solid var(--mut-black);
	background: var(--mut-off-white);
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	z-index: 2;
	transition: background .15s ease, color .15s ease;
}
.mut-sost__tab-gallery-nav--prev { left: 16px; }
.mut-sost__tab-gallery-nav--next { right: 16px; }
.mut-sost__tab-gallery-nav:hover { background: var(--mut-black); color: var(--mut-off-white); }

@media (max-width: 767.98px) {
	.mut-sost__tab-gallery-nav { width: 32px; height: 32px; font-size: 16px; }
	.mut-sost__tab-gallery-nav--prev { left: 8px; }
	.mut-sost__tab-gallery-nav--next { right: 8px; }
}

.mut-sost__tab-body,
.mut-sost__tab-body p { font-size: 18px; }
.mut-sost__tab-body { padding-top: 0; }
.mut-sost__tab-intro {
	font-family: var(--font-body);
	font-size: 18px;
	line-height: 1.6;
	color: var(--mut-black);
	margin-bottom: 32px;
}
.mut-sost__tab-bloque { margin-bottom: 28px; }
.mut-sost__tab-subtitulo {
	font-family: var(--font-body);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--mut-black);
	margin: 0 0 12px;
}
.mut-sost__tab-bloque p {
	font-family: var(--font-body);
	font-size: 18px;
	line-height: 1.6;
	color: var(--mut-black);
	margin: 0;
}

/* --- Stats (cifras) --- */
.mut-sost__cifras {
	background: #e4d9d2;
	padding: 48px 48px 48px;
}
.mut-sost__cifras-title {
	font-family: var(--font-display);
	font-size: clamp(2.5rem, 4vw, 2.5rem);
	font-weight: 600;
	color: var(--mut-black);
	margin: 0 0 40px;
}
.mut-sost__cifras-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
.mut-sost__cifra {
	background: var(--mut-off-white);
	border: 1px solid var(--mut-black);
	aspect-ratio: 1 / 1;
	padding: 32px 24px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 14px;
}
.mut-sost__cifra:first-child { margin-left: 0; }
.mut-sost__cifra-num {
	font-family: var(--font-body);
	font-size: clamp(2.2rem, 4vw, 3rem);
	font-weight: 700;
	color: var(--mut-black);
	line-height: 1;
}
.mut-sost__cifra-desc {
	font-family: var(--font-body);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--mut-black);
	margin: 0;
	min-height: 60px;
}

@media (max-width: 991.98px) {
	.mut-sost__cifras-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575.98px) {
	.mut-sost__cifras-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.mut-sost__cifra { aspect-ratio: 1 / 1; padding: 20px 14px; gap: 10px; }
	.mut-sost__cifra-num { font-size: 1.8rem; }
	.mut-sost__cifra-desc { font-size: 14px; min-height: 0; }
}

/* --- Reportes de Sostenibilidad (PDF descargables por año) --- */
.mut-sost__reportes {
	background: var(--mut-beige);
	padding: 48px 48px 48px;
}
.mut-sost__reportes-head {
	max-width: 720px;
	margin-bottom: 40px;
}
.mut-sost__reportes-title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(2rem, 4vw, 2.5rem);
	line-height: 1.2;
	color: var(--mut-black);
	margin: 0;
}
.mut-sost__reportes-bajada {
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.55;
	color: var(--mut-black);
	margin: 16px 0 0;
}

.mut-sost__reportes-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.mut-sost__reporte {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 24px 8px;
	border-bottom: 1px solid var(--mut-black);
}
.mut-sost__reporte:first-child {
	border-top: 1px solid var(--mut-black);
}
.mut-sost__reporte-info {
	display: flex;
	align-items: baseline;
	gap: 16px;
	flex-wrap: wrap;
}
.mut-sost__reporte-anio {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(1.5rem, 2.2vw, 0.9rem);
	line-height: 1.35;
	color: var(--mut-black);
}
.mut-sost__reporte-nombre {
	font-family: var(--font-body);
	font-size: 18px;
	color: var(--mut-black);
}
.mut-sost__reporte-btn {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--mut-off-white);
	color: var(--mut-black);
	border: 1px solid var(--mut-black);
	border-radius: 0;
	padding: 12px 24px;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
}
.mut-sost__reporte-btn svg { transition: transform .2s ease; }
.mut-sost__reporte-btn:hover {
	background: var(--mut-black);
	color: var(--mut-off-white);
}
.mut-sost__reporte-btn:hover svg { transform: translateY(2px); }

@media (max-width: 575.98px) {
	.mut-sost__reportes { padding: 48px 24px 64px; }
	.mut-sost__reporte {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}
	.mut-sost__reporte-btn { align-self: stretch; justify-content: center; }
}

/* ============================================================
   Contacto — page template (color set via inline style from ACF)
   ============================================================ */
.mut-contacto__hero {
	padding: 180px 48px 64px;
	overflow: hidden;
}
.mut-contacto__hero-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 24px;
}
.mut-contacto__hero-title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: 6rem;
	line-height: 1;
	color: inherit;
	margin: 0;
}
.mut-contacto__hero-title .italic { font-style: italic; font-weight: 400; }
.mut-contacto__hero-illustration { margin-top: 16px; }
.mut-contacto__hero-illustration img {
	height: 160px;
	width: auto;
	display: block;
}

@media (max-width: 575.98px) {
	.mut-contacto__hero { padding: 140px 0 56px; }
	.mut-contacto__hero-title { font-size: 3rem; }
	.mut-contacto__hero-illustration img { height: 140px; }
}

/* Intro */
.mut-contacto__intro {
	background: var(--mut-beige);
	padding: 48px 48px;
	text-indent: 40px;
}
.mut-contacto__intro-inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 48px;
}
.mut-contacto__intro-bajada {
	flex: 1;
	max-width: 720px;
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 2.5vw, 1.9rem);
	line-height: 1.3;
	font-weight: 400;
	color: var(--mut-black);
	margin: 0;
}
.mut-contacto__intro-share { flex-shrink: 0; }
@media (max-width: 767.98px) {
	.mut-contacto__intro-inner { flex-direction: column; gap: 32px; }
}

/* Form */
.mut-contacto__form-section { background: #fff; }
.mut-contacto__form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 720px;
}
.mut-contacto__form-media {
	position: relative;
	overflow: hidden;
	background: var(--mut-gray-light);
}
.mut-contacto__form-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mut-contacto__form-media .mut-card__placeholder {
	width: 100%; height: 100%; min-height: 500px; border-radius: 0;
}
.mut-contacto__form-body {
	padding: 64px 48px;
	background: #fbfbfa;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.mut-contacto__form-title {
	font-family: var(--font-display);
	font-size: clamp(2.5rem, 3.5vw, 2.5rem);
	font-weight: 600;
	line-height: 1.2;
	color: var(--mut-black);
	margin: 0 0 32px;
}
.mut-contacto__form-title .italic { font-style: italic; font-weight: 400; }

/* CF7 overrides */
.mut-contacto__form-body .wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 22px;
	max-width: 620px;
}
.mut-contacto__form-body .wpcf7-form p {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
}
.mut-contacto__form-body .wpcf7-form label {
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 600;
	color: var(--mut-black);
}
.mut-contacto__form-body .wpcf7-form input[type="text"],
.mut-contacto__form-body .wpcf7-form input[type="email"],
.mut-contacto__form-body .wpcf7-form input[type="tel"],
.mut-contacto__form-body .wpcf7-form input[type="url"],
.mut-contacto__form-body .wpcf7-form textarea {
	width: 100%;
	box-sizing: border-box;
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--mut-black);
	background: #fff;
	border: 1px solid rgba(0,0,0,.25);
	border-radius: 0;
	padding: 14px 18px;
	outline: none;
	transition: border-color .15s ease;
}
.mut-contacto__form-body .wpcf7-form textarea {
	min-height: 140px;
	resize: vertical;
	font-family: var(--font-body);
}
.mut-contacto__form-body .wpcf7-form input:focus,
.mut-contacto__form-body .wpcf7-form textarea:focus {
	border-color: #ffa07a;
}
.mut-contacto__form-body .wpcf7-form input::placeholder,
.mut-contacto__form-body .wpcf7-form textarea::placeholder {
	color: rgba(0,0,0,.40);
}

/* Submit — coral */
.mut-contacto__form-body .wpcf7-form input[type="submit"],
.mut-contacto__form-body .wpcf7-form button[type="submit"] {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #ffa07a;
	color: var(--mut-black);
	border: 0;
	border-radius: 0;
	padding: 16px 32px;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	width: auto;
	align-self: flex-start;
	transition: background .15s ease;
}
.mut-contacto__form-body .wpcf7-form input[type="submit"]:hover,
.mut-contacto__form-body .wpcf7-form button[type="submit"]:hover {
	background: #ff8a5e;
}

.mut-contacto__form-body .wpcf7-response-output {
	margin: 16px 0 0;
	padding: 14px 18px;
	font-family: var(--font-body);
	font-size: 14px;
	border-radius: 0;
}
.mut-contacto__form-body .wpcf7 form.sent .wpcf7-response-output {
	border: 1px solid #5cb97a; color: #1b6932; background: #e8f7ec;
}
.mut-contacto__form-body .wpcf7 form.invalid .wpcf7-response-output,
.mut-contacto__form-body .wpcf7 form.failed .wpcf7-response-output {
	border: 1px solid #d75b51; color: #b14036; background: #ffeae7;
}
.mut-contacto__form-body .mut-contacto__form-warning {
	font-family: var(--font-body);
	font-size: 14px;
	color: #c0392b;
	background: #fdf3f1;
	padding: 14px 18px;
	border-left: 3px solid #c0392b;
}

@media (max-width: 991.98px) {
	.mut-contacto__form-grid { grid-template-columns: 1fr; min-height: 0; }
	.mut-contacto__form-body { order: 1; }
	.mut-contacto__form-media { order: 2; }
	.mut-contacto__form-media { aspect-ratio: 4 / 3; min-height: 0; }
	.mut-contacto__form-body { padding: 56px 32px; }
}
@media (max-width: 575.98px) {
	.mut-contacto__form-body { padding: 40px 24px; }
}

/* ============================================================
   Suscríbete — page template (color set via inline style from ACF)
   ============================================================ */
.mut-suscribete__hero {
	padding: 180px 48px 64px;
	overflow: hidden;
}
.mut-suscribete__hero-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 24px;
}
.mut-suscribete__hero-title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: 6rem;
	line-height: 1;
	color: inherit;
	margin: 0;
}
.mut-suscribete__hero-title .italic { font-style: italic; font-weight: 400; }
.mut-suscribete__hero-illustration { margin-top: 16px; }
.mut-suscribete__hero-illustration img {
	height: 160px;
	width: auto;
	display: block;
}

@media (max-width: 575.98px) {
	.mut-suscribete__hero { padding: 140px 0 56px; }
	.mut-suscribete__hero-title { font-size: 3rem; }
	.mut-suscribete__hero-illustration img { height: 140px; }
}

/* Intro — bajada + share */
.mut-suscribete__intro {
	background: var(--mut-beige);
	padding: 48px 48px;
	text-indent: 40px;
}
.mut-suscribete__intro-inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 48px;
}
.mut-suscribete__intro-bajada {
	flex: 1;
	max-width: 720px;
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 2.5vw, 1.9rem);
	line-height: 1.3;
	font-weight: 400;
	color: var(--mut-black);
	margin: 0;
}
.mut-suscribete__intro-share { flex-shrink: 0; }
@media (max-width: 767.98px) {
	.mut-suscribete__intro-inner { flex-direction: column; gap: 32px; }
}

/* Form — image left + form right with CF7 */
.mut-suscribete__form-section { background: #fff; }
.mut-suscribete__form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 720px;
}
.mut-suscribete__form-media {
	position: relative;
	overflow: hidden;
	background: var(--mut-gray-light);
}
.mut-suscribete__form-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mut-suscribete__form-media .mut-card__placeholder {
	width: 100%; height: 100%; min-height: 500px; border-radius: 0;
}
.mut-suscribete__form-body {
	padding: 64px 48px;
	background: #fbfbfa;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.mut-suscribete__form-title {
	font-family: var(--font-display);
	font-size: clamp(2.5rem, 3.5vw, 2.5rem);
	font-weight: 600;
	line-height: 1.2;
	color: var(--mut-black);
	margin: 0 0 32px;
}
.mut-suscribete__form-title .italic { font-style: italic; font-weight: 500; }

/* Contact Form 7 overrides */
.mut-suscribete__form-body .wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 22px;
	max-width: 560px;
}

/* Mailchimp form (footer + Suscríbete) + mensaje de estado */
.mut-suscribete__form { display: flex; gap: 12px; flex-wrap: wrap; max-width: 560px; align-items: stretch; }
.mut-suscribete__form input[type="email"] {
	flex: 1; min-width: 240px; box-sizing: border-box;
	font-family: var(--font-body); font-size: 16px; color: var(--mut-black);
	background: #fff; border: 1px solid rgba(0,0,0,.25); padding: 8px 16px;
}
.mut-suscribete__form .mut-btn { flex-shrink: 0; }
.mut-mc-msg { margin: 12px 0 0; font-size: 14px; line-height: 1.4; }
.mut-mc-msg.is-ok { color: #1c8a4a; }
.mut-mc-msg.is-error { color: #c0392b; }
.mut-footer__newsletter .mut-mc-msg { color: #fff; margin-top: 8px; }
.mut-footer__newsletter .mut-mc-msg.is-ok { color: #6fe3a0; }
.mut-footer__newsletter .mut-mc-msg.is-error { color: #ff9a8f; }
.mut-suscribete__form-body .wpcf7-form p {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
}
.mut-suscribete__form-body .wpcf7-form label {
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 600;
	color: var(--mut-black);
}
.mut-suscribete__form-body .wpcf7-form input[type="text"],
.mut-suscribete__form-body .wpcf7-form input[type="email"],
.mut-suscribete__form-body .wpcf7-form input[type="tel"],
.mut-suscribete__form-body .wpcf7-form input[type="url"],
.mut-suscribete__form-body .wpcf7-form textarea {
	width: 100%;
	box-sizing: border-box;
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--mut-black);
	background: #fff;
	border: 1px solid rgba(0,0,0,.25);
	border-radius: 0;
	padding: 14px 18px;
	outline: none;
	transition: border-color .15s ease;
}
.mut-suscribete__form-body .wpcf7-form input:focus,
.mut-suscribete__form-body .wpcf7-form textarea:focus {
	border-color: #ffa07a;
}
.mut-suscribete__form-body .wpcf7-form input::placeholder,
.mut-suscribete__form-body .wpcf7-form textarea::placeholder {
	color: rgba(0,0,0,.40);
}

/* Checkbox row (Acepto los Términos y Condiciones) */
.mut-suscribete__form-body .wpcf7-form .wpcf7-acceptance,
.mut-suscribete__form-body .wpcf7-form .wpcf7-checkbox {
	display: flex;
}
.mut-suscribete__form-body .wpcf7-form .wpcf7-list-item {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
}
.mut-suscribete__form-body .wpcf7-form .wpcf7-list-item-label {
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: 400;
	color: var(--mut-black);
}

/* Submit — coral */
.mut-suscribete__form-body .wpcf7-form input[type="submit"],
.mut-suscribete__form-body .wpcf7-form button[type="submit"] {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #ffa07a;
	color: var(--mut-black);
	border: 0;
	border-radius: 0;
	padding: 16px 32px;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	width: auto;
	align-self: flex-start;
	transition: background .15s ease;
}
.mut-suscribete__form-body .wpcf7-form input[type="submit"]:hover,
.mut-suscribete__form-body .wpcf7-form button[type="submit"]:hover {
	background: #ff8a5e;
}

.mut-suscribete__form-body .wpcf7-response-output {
	margin: 16px 0 0;
	padding: 14px 18px;
	font-family: var(--font-body);
	font-size: 14px;
	border-radius: 0;
}
.mut-suscribete__form-body .wpcf7 form.sent .wpcf7-response-output {
	border: 1px solid #5cb97a; color: #1b6932; background: #e8f7ec;
}
.mut-suscribete__form-body .wpcf7 form.invalid .wpcf7-response-output,
.mut-suscribete__form-body .wpcf7 form.failed .wpcf7-response-output {
	border: 1px solid #d75b51; color: #b14036; background: #ffeae7;
}
.mut-suscribete__form-body .mut-suscribete__form-warning {
	font-family: var(--font-body);
	font-size: 14px;
	color: #c0392b;
	background: #fdf3f1;
	padding: 14px 18px;
	border-left: 3px solid #c0392b;
}

@media (max-width: 991.98px) {
	.mut-suscribete__form-grid { grid-template-columns: 1fr; min-height: 0; }
	.mut-suscribete__form-media { aspect-ratio: 4 / 3; min-height: 0; }
	.mut-suscribete__form-body { padding: 56px 32px; }
}
@media (max-width: 575.98px) {
	.mut-suscribete__form-body { padding: 40px 24px; }
}

/* ============================================================
   Cómo llegar — page template (color set via inline style from ACF)
   ============================================================ */
.mut-como__hero {
	padding: 180px 48px 64px;
	overflow: hidden;
}
.mut-como__hero-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 24px;
}
.mut-como__hero-title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: 6rem;
	line-height: 1;
	color: inherit;
	margin: 0;
}
.mut-como__hero-title .italic { font-style: italic; font-weight: 500; }
.mut-como__hero-illustration { margin-top: 16px; }
.mut-como__hero-illustration img {
	height: 160px;
	width: auto;
	display: block;
}

@media (max-width: 575.98px) {
	.mut-como__hero { padding: 140px 0 56px; }
	.mut-como__hero-title { font-size: 3rem; }
	.mut-como__hero-illustration img { height: 140px; }
}

/* Intro — bajada (display font) + share button */
.mut-como__intro {
	background: var(--mut-beige);
	padding: 48px 48px;
	text-indent: 40px;
}
.mut-como__intro-inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 48px;
}
.mut-como__intro-bajada {
	flex: 1;
	max-width: 720px;
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 2.5vw, 1.9rem);
	line-height: 1.3;
	font-weight: 400;
	color: var(--mut-black);
	margin: 0;
}
.mut-como__intro-share { flex-shrink: 0; }

@media (max-width: 767.98px) {
	.mut-como__intro-inner { flex-direction: column; gap: 32px; }
}

/* Tabs section — image left + content right */
.mut-como__tabs-section {
	background: var(--mut-off-white);
	padding: 48px 48px 48px;
}

.mut-como__tab-nav {
	display: flex;
	align-items: flex-end;
	gap: 0;
	border-bottom: 2px solid rgb(228 217 211);
	margin-bottom: 48px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.mut-como__tab-nav::-webkit-scrollbar { display: none; }

.mut-como__tab-btn {
	flex-shrink: 0;
	background: none;
	border: none;
	border-bottom: 4px solid transparent;
	padding: 14px 0;
	margin: 0 32px 0 0;
	margin-bottom: -1px;
	font-family: var(--font-body);
	font-size: 18px;
	font-weight: 400;
	color: var(--mut-black);
	cursor: pointer;
	transition: font-weight .2s, border-color .2s;
	white-space: nowrap;
}
.mut-como__tab-btn:first-child { margin-left: 0; }
.mut-como__tab-btn:hover { font-weight: 600; }
.mut-como__tab-btn.is-active {
	font-weight: 700;
	border-bottom-color: #ffa07a;
}

.mut-como__tab-pane { display: none; }
.mut-como__tab-pane.is-active { display: block; }

.mut-como__tab-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: start;
}

.mut-como__tab-media {
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--mut-gray-light);
	position: relative;
}
.mut-como__tab-media img,
.mut-como__tab-media video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mut-como__tab-gallery {
	display: flex;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	width: 100%;
	height: 100%;
}
.mut-como__tab-gallery::-webkit-scrollbar { display: none; }
.mut-como__tab-gslide {
	flex: 0 0 100%;
	scroll-snap-align: start;
	width: 100%;
	height: 100%;
}
.mut-como__tab-gslide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mut-como__tab-media .mut-card__placeholder {
	width: 100%; height: 100%; min-height: 300px; border-radius: 0;
}

.mut-como__tab-body {
	display: flex;
	flex-direction: column;
	gap: 24px;
	align-items: flex-start;
	padding-top: 0;
	border-bottom: 4px solid transparent;
}

.mut-como__tab-titulo {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 18px;
	color: var(--mut-black);
	margin: 0;
	text-transform: uppercase;
}

.mut-como__tab-direcciones p {
	font-family: var(--font-body);
	font-size: 18px;
	color: var(--mut-black);
	margin: 0 0 6px;
}
.mut-como__tab-direcciones p:last-child { margin-bottom: 0; }

.mut-como__tab-app-dropdown {
	position: relative;
	display: inline-block;
}
.mut-como__tab-btn-app {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #ffa07a;
	color: var(--mut-black);
	border: 1px solid #0d0d0d;
	border-radius: 0;
	padding: 12px 24px;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease;
}
.mut-como__tab-btn-app:hover,
.mut-como__tab-app-dropdown.is-open .mut-como__tab-btn-app {
	background: #ff8a5e;
	border-color: #ff8a5e;
	color: var(--mut-black);
}
.mut-como__tab-btn-app-icon { transition: transform .2s ease; }
.mut-como__tab-app-dropdown.is-open .mut-como__tab-btn-app-icon { transform: rotate(180deg); }

.mut-como__tab-app-menu {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	min-width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	background: var(--mut-off-white);
	border: 1px solid var(--mut-black);
	z-index: 20;
}
.mut-como__tab-app-menu[hidden] { display: none; }
.mut-como__tab-app-menu li + li { border-top: 1px solid rgba(0,0,0,.15); }
.mut-como__tab-app-menu a {
	display: block;
	padding: 12px 18px;
	font-family: var(--font-body);
	font-size: 16px;
	color: var(--mut-black);
	text-decoration: none;
	white-space: nowrap;
	transition: background .12s ease, color .12s ease;
}
.mut-como__tab-app-menu a:hover {
	background: var(--mut-black);
	color: var(--mut-off-white);
}

.mut-como__tab-btn-sec {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--mut-off-white);
	color: var(--mut-black);
	border: 1px solid var(--mut-black);
	border-radius: 0;
	padding: 12px 24px;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
}
.mut-como__tab-btn-sec:hover {
	background: var(--mut-black);
	color: var(--mut-off-white);
}

.mut-como__tab-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.mut-como__tab-tag {
	display: inline-flex;
	align-items: center;
	padding: 6px 12px;
	background: var(--mut-black);
	color: var(--mut-off-white);
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.mut-como__tab-texto {
	font-family: var(--font-body);
	font-size: 18px;
	line-height: 1.5;
	color: var(--mut-black);
	margin: 0;
	max-width: 480px;
}

@media (max-width: 991.98px) {
	.mut-como__tab-layout { grid-template-columns: 1fr; gap: 32px; }
}

/* ============================================================
   Horarios — page template (color set via inline style from ACF)
   ============================================================ */
.mut-horarios__hero {
	padding: 180px 48px 64px;
	overflow: hidden;
}
.mut-horarios__hero-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 24px;
}
.mut-horarios__hero-title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: 6rem;
	line-height: 1;
	color: inherit;
	margin: 0;
}
.mut-horarios__hero-title .italic { font-style: italic; font-weight: 400; }
.mut-horarios__hero-illustration { margin-top: 16px; }
.mut-horarios__hero-illustration img {
	height: 160px;
	width: auto;
	display: block;
}

@media (max-width: 575.98px) {
	.mut-horarios__hero { padding: 140px 0 56px; }
	.mut-horarios__hero-title { font-size: 3rem; }
	.mut-horarios__hero-illustration img { height: 140px; }
}

/* Intro — bajada (display font) + share button */
.mut-horarios__intro {
	background: var(--mut-beige);
	padding: 48px 48px;
	text-indent: 40px;
}
.mut-horarios__intro-inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 48px;
}
.mut-horarios__intro-bajada {
	flex: 1;
	max-width: 720px;
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 2.5vw, 1.9rem);
	line-height: 1.3;
	font-weight: 400;
	color: var(--mut-black);
	margin: 0;
}
.mut-horarios__intro-share { flex-shrink: 0; }

@media (max-width: 767.98px) {
	.mut-horarios__intro-inner { flex-direction: column; gap: 32px; }
}

/* Info — media on left + horario list on right */
.mut-horarios__info {
	background: var(--mut-beige);
	padding: 48px 48px 48px;
}
.mut-horarios__info-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: start;
}
.mut-horarios__info-media {
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--mut-gray-light);
	position: relative;
}
.mut-horarios__info-media img,
.mut-horarios__info-media video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mut-horarios__info-gallery {
	display: flex;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	width: 100%;
	height: 100%;
}
.mut-horarios__info-gallery::-webkit-scrollbar { display: none; }
.mut-horarios__info-gslide {
	flex: 0 0 100%;
	scroll-snap-align: start;
	width: 100%;
	height: 100%;
}
.mut-horarios__info-gslide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mut-horarios__info-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.mut-horarios__info-item {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px 8px 20px;
	border-bottom: 1px solid rgb(13 13 13 / 100%);
}
.mut-horarios__info-item:first-child {
	padding-top: 20px;
	border-top: 1px solid rgb(13 13 13 / 100%);
}
.mut-horarios__info-titulo {
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 700;
	color: var(--mut-black);
	line-height: 1.2;
}
.mut-horarios__info-horario {
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 400;
	color: var(--mut-black);
	line-height: 1.3;
}

@media (max-width: 991.98px) {
	.mut-horarios__info-grid { grid-template-columns: 1fr; gap: 32px; }
}

/* ============================================================
   Arriendos — page template (dark teal)
   ============================================================ */
.mut-page--arr { background: #1f5d6a; }

.mut-arr__hero {
	background: #2a586d;
	color: #fbfbfa;
	padding: 180px 48px 64px;
	overflow: hidden;
}
.mut-arr__hero-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 24px;
}
.mut-arr__hero-title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(3.5rem, 8vw, 6rem);
	line-height: 1;
	color: var(--mut-off-white);
	margin: 0;
}
.mut-arr__hero-title .italic { font-style: italic; font-weight: 500; }
.mut-arr__hero-illustration { margin-top: 16px; }
.mut-arr__hero-illustration img {
	height: 160px;
	width: auto;
	display: block;
}

@media (max-width: 575.98px) {
	.mut-arr__hero { padding: 140px 0 56px; }
	.mut-arr__hero-title { font-size: 3rem; }
	.mut-arr__hero-illustration img { height: 140px; }
}

/* Intro — bajada (display font) + share button */
.mut-arr__intro {
	background: var(--mut-beige);
	padding: 48px 48px;
	text-indent: 0;
}
.mut-arr__intro-inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 48px;
}
.mut-arr__intro-bajada {
	flex: 1;
	max-width: 720px;
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 2.5vw, 1.9rem);
	line-height: 1.3;
	font-weight: 400;
	color: var(--mut-black);
	margin: 0;
	text-indent: 40px;
}
.mut-arr__intro-share { flex-shrink: 0; }

@media (max-width: 767.98px) {
	.mut-arr__intro-inner { flex-direction: column; gap: 32px; }
}

/* Sub-page hero — teal background, breadcrumb + title + illustration */
.mut-arr__sub-hero {
	background: #1f5d6a;
	color: #FBFBFA;
	padding: 200px 0 80px;
	overflow: hidden;
}
.mut-arr__sub-hero-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 24px;
}
.mut-arr__sub-hero-back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 16px;
	color: #FBFBFA;
	text-decoration: none;
	margin-bottom: 16px;
}
.mut-arr__sub-hero-back:hover { color: #FBFBFA; opacity: .85; }
.mut-arr__sub-hero-title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(3rem, 7vw, 5.5rem);
	line-height: 1;
	color: #FBFBFA;
	margin: 0;
}
.mut-arr__sub-hero-title .italic { font-style: italic; font-weight: 500; }
.mut-arr__sub-hero-illustration { margin-top: 16px; }
.mut-arr__sub-hero-illustration img {
	height: 200px;
	width: auto;
	display: block;
}

@media (max-width: 575.98px) {
	.mut-arr__sub-hero { padding: 140px 0 56px; }
	.mut-arr__sub-hero-title { font-size: 2.5rem; }
	.mut-arr__sub-hero-illustration img { height: 140px; }
}

/* Sub-page intro — bajada + CTAs + share */
.mut-arr__sub-intro {
	background: var(--mut-beige);
	padding: 48px 48px;
}
.mut-arr__sub-intro-inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 48px;
}
.mut-arr__sub-intro-text {
	flex: 1;
	max-width: 720px;
	display: flex;
	flex-direction: column;
	gap: 40px;
}
.mut-arr__sub-intro-bajada {
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 2.5vw, 1.9rem);
	line-height: 1.3;
	font-weight: 400;
	color: var(--mut-black);
	margin: 0;
	text-indent: 40px;
}
.mut-arr__sub-intro-ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}
.mut-arr__sub-intro-share { flex-shrink: 0; }

/* Square buttons for this section */
.mut-arr__sub-intro-ctas .mut-btn {
	border-radius: 0;
	padding: 12px 24px;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border-width: 1px;
	border: 1px solid var(--mut-black);
}

/* Teal CTA — matches the page accent */
.mut-btn--teal {
	background: #1f5d6a;
	color: #FBFBFA;
	border: 1px solid #1f5d6a;
	transition: background .15s ease, border-color .15s ease;
}
.mut-btn--teal:hover {
	background: #174851;
	border-color: #174851;
	color: #FBFBFA;
}

.mut-arr__sub-intro-ctas .mut-btn--outline-dark {
	background: var(--mut-off-white);
	transition: background .15s ease, color .15s ease;
}
.mut-arr__sub-intro-ctas .mut-btn--outline-dark:hover {
	background: var(--mut-black);
	color: var(--mut-off-white);
	border-color: var(--mut-black);
}

@media (max-width: 767.98px) {
	.mut-arr__sub-intro-inner { flex-direction: column; gap: 32px; }
}

/* Form section — image left, form right with CF7 */
.mut-arr__sub-form-section { background: #fff; }
.mut-arr__sub-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 720px;
}
.mut-arr__sub-form-media {
	position: relative;
	overflow: hidden;
	background: var(--mut-gray-light);
}
.mut-arr__sub-form-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mut-arr__sub-form-media .mut-card__placeholder {
	width: 100%; height: 100%; min-height: 500px; border-radius: 0;
}
.mut-arr__sub-form-body {
	padding: 80px 64px;
	background: #fbfbfa;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.mut-arr__sub-form-title {
	font-family: var(--font-display);
	font-size: clamp(2rem, 3.5vw, 2.8rem);
	font-weight: 600;
	line-height: 1.15;
	color: var(--mut-black);
	margin: 0 0 32px;
}
.mut-arr__sub-form-title .italic { font-style: italic; font-weight: 400; }

/* Contact Form 7 overrides */
.mut-arr__sub-form-body .wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 22px;
	max-width: 560px;
}
.mut-arr__sub-form-body .wpcf7-form p {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
}
.mut-arr__sub-form-body .wpcf7-form label {
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 600;
	color: var(--mut-black);
}
.mut-arr__sub-form-body .wpcf7-form input[type="text"],
.mut-arr__sub-form-body .wpcf7-form input[type="email"],
.mut-arr__sub-form-body .wpcf7-form input[type="tel"],
.mut-arr__sub-form-body .wpcf7-form input[type="number"],
.mut-arr__sub-form-body .wpcf7-form input[type="url"],
.mut-arr__sub-form-body .wpcf7-form textarea,
.mut-arr__sub-form-body .wpcf7-form select {
	width: 100%;
	box-sizing: border-box;
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--mut-black);
	background: #fff;
	border: 1px solid rgba(0,0,0,.25);
	border-radius: 0;
	padding: 14px 18px;
	outline: none;
	transition: border-color .15s ease;
}
.mut-arr__sub-form-body .wpcf7-form input:focus,
.mut-arr__sub-form-body .wpcf7-form textarea:focus,
.mut-arr__sub-form-body .wpcf7-form select:focus {
	border-color: #1f5d6a;
}
.mut-arr__sub-form-body .wpcf7-form input::placeholder,
.mut-arr__sub-form-body .wpcf7-form textarea::placeholder {
	color: rgba(0,0,0,.40);
}

/* Radios + checkboxes */
.mut-arr__sub-form-body .wpcf7-list-item { display: flex; align-items: center; gap: 8px; margin: 0 24px 0 0; }
.mut-arr__sub-form-body .wpcf7-radio,
.mut-arr__sub-form-body .wpcf7-checkbox {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.mut-arr__sub-form-body .wpcf7-list-item-label {
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: 400;
	color: var(--mut-black);
}

/* Submit button — teal */
.mut-arr__sub-form-body .wpcf7-form input[type="submit"],
.mut-arr__sub-form-body .wpcf7-form button[type="submit"] {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #1f5d6a;
	color: #FBFBFA;
	border: 0;
	border-radius: 0;
	padding: 16px 32px;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	width: auto;
	align-self: flex-start;
	transition: background .15s ease;
}
.mut-arr__sub-form-body .wpcf7-form input[type="submit"]:hover,
.mut-arr__sub-form-body .wpcf7-form button[type="submit"]:hover {
	background: #174851;
}

/* Response output */
.mut-arr__sub-form-body .wpcf7-response-output {
	margin: 16px 0 0;
	padding: 14px 18px;
	font-family: var(--font-body);
	font-size: 14px;
	border-radius: 0;
}
.mut-arr__sub-form-body .wpcf7 form.sent .wpcf7-response-output {
	border: 1px solid #5cb97a; color: #1b6932; background: #e8f7ec;
}
.mut-arr__sub-form-body .wpcf7 form.invalid .wpcf7-response-output,
.mut-arr__sub-form-body .wpcf7 form.failed .wpcf7-response-output {
	border: 1px solid #d75b51; color: #b14036; background: #ffeae7;
}
.mut-arr__sub-form-body .mut-arr__sub-form-warning {
	font-family: var(--font-body);
	font-size: 14px;
	color: #c0392b;
	background: #fdf3f1;
	padding: 14px 18px;
	border-left: 3px solid #c0392b;
}

@media (max-width: 991.98px) {
	.mut-arr__sub-form-grid { grid-template-columns: 1fr; }
	.mut-arr__sub-form-body { order: 1; }
	.mut-arr__sub-form-media { order: 2; min-height: 340px; }
	.mut-arr__sub-form-body { padding: 56px 32px; }
}
@media (max-width: 575.98px) {
	.mut-arr__sub-form-body { padding: 40px 24px; }
}

/* Anchor nav — one button per Arriendos sub-page (joined, hover inverts) */
.mut-arr__nav {
	background: var(--mut-beige);
	padding: 24px 48px 24px;
}
.mut-arr__nav-row {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0;
}
.mut-arr__nav-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 16px;
	font-family: var(--font-mono);
	font-size: 14px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--mut-black);
	background: transparent;
	border: 1px solid var(--mut-black);
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
}
.mut-arr__nav-btn + .mut-arr__nav-btn { margin-left: -1px; }
.mut-arr__nav-btn:hover {
	background: var(--mut-black);
	color: var(--mut-off-white);
	position: relative;
	z-index: 1;
}

@media (max-width: 575.98px) {
	.mut-arr__nav-row { width: 100%; }
	.mut-arr__nav-btn { flex: 1 1 100%; padding: 8px 16px; font-size: 14px; }
}

/* Smooth scroll + offset for fixed navbar */
.mut-arr__sub { scroll-margin-top: 100px; }

/* Sub-page sections — full-bleed media with floating colored panel */
.mut-arr__sub {
	position: relative;
	width: 100%;
	height: 78vh;
	min-height: 600px;
	max-height: 900px;
	overflow: hidden;
}
.mut-arr__sub:not(:last-of-type) { border-bottom: 10px solid var(--mut-black); }

/* Media (image / video / gallery) — fills the section */
.mut-arr__sub-media {
	position: absolute;
	inset: 0;
	display: block;
	overflow: hidden;
	background: var(--mut-gray-light);
}
.mut-arr__sub-media img,
.mut-arr__sub-media video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .5s ease;
}
.mut-arr__sub-media:hover img,
.mut-arr__sub-media:hover video { transform: scale(1.03); }

.mut-arr__sub-gallery {
	display: flex;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	width: 100%;
	height: 100%;
}
.mut-arr__sub-gallery::-webkit-scrollbar { display: none; }
.mut-arr__sub-gslide {
	flex: 0 0 100%;
	scroll-snap-align: start;
	width: 100%;
	height: 100%;
}
.mut-arr__sub-gslide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Floating colored panel */
.mut-arr__sub-panel {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 374px;
	min-height: 440px;
	box-sizing: border-box;
	padding: 48px 48px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 80px;
	text-decoration: none;
	z-index: 2;
}
.mut-arr__sub--izquierda .mut-arr__sub-panel { left: 4%; }
.mut-arr__sub--derecha   .mut-arr__sub-panel { right: 4%; }

.mut-arr__sub-tag {
	font-family: var(--font-mono);
	font-size: 14px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: inherit;
	text-align: center;
}

.mut-arr__sub-title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(2rem, 3.2vw, 2.5rem);
	line-height: 1.1;
	color: inherit;
	margin: 0;
	text-align: center;
}
.mut-arr__sub-title .italic { font-style: italic; font-weight: 500; }

.mut-arr__sub-text {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.5;
	color: inherit;
	margin: 0;
	opacity: .85;
}

.mut-arr__sub-link {
	margin-top: auto;
	align-self: center;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 600;
	color: inherit;
}
.mut-arr__sub-link svg { transition: transform .25s ease; }
.mut-arr__sub-panel:hover .mut-arr__sub-link svg { transform: translateX(4px); }

@media (max-width: 991.98px) {
	.mut-arr__sub { height: 62vh; min-height: 380px; max-height: none; }
	.mut-arr__sub-media { position: absolute; inset: 0; height: 100%; }
	.mut-arr__sub-panel {
		position: absolute;
		top: auto;
		bottom: 16px;
		transform: none;
		width: auto;
		min-height: 0;
		padding: 32px 24px;
		gap: 24px;
	}
	.mut-arr__sub--izquierda .mut-arr__sub-panel,
	.mut-arr__sub--derecha .mut-arr__sub-panel { left: 16px; right: 16px; }
}

/* ============================================================
   Pisos — page template (rosa, independiente de Arriendos)
   Antes reusaba las clases .mut-arr__* de Arriendos: cualquier cambio en
   una página modificaba la otra. Duplicado acá con su propio prefijo
   .mut-pisos__* para que cada una se edite sin afectar a la otra.
   ============================================================ */
.mut-page--pisos { background: #ffcbd2; }

.mut-pisos__hero {
	background: #ffcbd2;
	color: #0d0d0d;
	padding: 180px 48px 64px;
	overflow: hidden;
}
.mut-pisos__hero-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 24px;
}
.mut-pisos__hero-title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(3.5rem, 8vw, 6rem);
	line-height: 1;
	color: var(--mut-black);
	margin: 0;
}
.mut-pisos__hero-title .italic { font-style: italic; font-weight: 500; }
.mut-pisos__hero-illustration { margin-top: 16px; }
.mut-pisos__hero-illustration img {
	height: 160px;
	width: auto;
	display: block;
}

@media (max-width: 575.98px) {
	.mut-pisos__hero { padding: 140px 0 56px; }
	.mut-pisos__hero-title { font-size: 3rem; }
	.mut-pisos__hero-illustration img { height: 140px; }
}

.mut-pisos__intro {
	background: var(--mut-beige);
	padding: 48px 48px;
	text-indent: 0;
}
.mut-pisos__intro-inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 48px;
}
.mut-pisos__intro-bajada {
	flex: 1;
	max-width: 720px;
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 2.5vw, 1.9rem);
	line-height: 1.3;
	font-weight: 400;
	color: var(--mut-black);
	margin: 0;
	text-indent: 40px;
}
.mut-pisos__intro-share { flex-shrink: 0; }

@media (max-width: 767.98px) {
	.mut-pisos__intro-inner { flex-direction: column; gap: 32px; }
}
@media (max-width: 575.98px) {
	.mut-pisos__intro { padding: 48px 16px 48px; }
}

/* Anchor nav — un botón por piso */
.mut-pisos__nav {
	background: var(--mut-beige);
	padding: 24px 48px 24px;
}
.mut-pisos__nav-row {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0;
}
.mut-pisos__nav-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 16px;
	font-family: var(--font-mono);
	font-size: 14px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--mut-black);
	background: transparent;
	border: 1px solid var(--mut-black);
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
}
.mut-pisos__nav-btn + .mut-pisos__nav-btn { margin-left: -1px; }
.mut-pisos__nav-btn:hover {
	background: var(--mut-black);
	color: var(--mut-off-white);
	position: relative;
	z-index: 1;
}

@media (max-width: 575.98px) {
	.mut-pisos__nav-row { width: 100%; }
	.mut-pisos__nav-btn { flex: 1 1 100%; padding: 8px 16px; font-size: 14px; }
	.mut-pisos__nav { padding: 24px 16px 24px; }
}

.mut-pisos__sub { scroll-margin-top: 100px; }

/* Sub-page sections — full-bleed media con panel flotante de color */
.mut-pisos__sub {
	position: relative;
	width: 100%;
	height: 78vh;
	min-height: 600px;
	max-height: 900px;
	overflow: hidden;
}
.mut-pisos__sub:not(:last-of-type) { border-bottom: 10px solid var(--mut-black); }

.mut-pisos__sub-media {
	position: absolute;
	inset: 0;
	display: block;
	overflow: hidden;
	background: var(--mut-gray-light);
}
.mut-pisos__sub-media img,
.mut-pisos__sub-media video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .5s ease;
}
.mut-pisos__sub-media:hover img,
.mut-pisos__sub-media:hover video { transform: scale(1.03); }

.mut-pisos__sub-panel {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 374px;
	min-height: 440px;
	box-sizing: border-box;
	padding: 48px 48px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 80px;
	text-decoration: none;
	z-index: 2;
}
.mut-pisos__sub--izquierda .mut-pisos__sub-panel { left: 4%; }
.mut-pisos__sub--derecha   .mut-pisos__sub-panel { right: 4%; }

.mut-pisos__sub-tag {
	font-family: var(--font-mono);
	font-size: 14px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: inherit;
	text-align: center;
}

.mut-pisos__sub-title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(2rem, 3.2vw, 2.5rem);
	line-height: 1.1;
	color: inherit;
	margin: 0;
	text-align: center;
}
.mut-pisos__sub-title .italic { font-style: italic; font-weight: 500; }

.mut-pisos__sub-text {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.5;
	color: inherit;
	margin: 0;
	opacity: .85;
}

.mut-pisos__sub-link {
	margin-top: auto;
	align-self: center;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 600;
	color: inherit;
}
.mut-pisos__sub-link svg { transition: transform .25s ease; }
.mut-pisos__sub-panel:hover .mut-pisos__sub-link svg { transform: translateX(4px); }

@media (max-width: 991.98px) {
	.mut-pisos__sub { height: 62vh; min-height: 380px; max-height: none; }
	.mut-pisos__sub-media { position: absolute; inset: 0; height: 100%; }
	.mut-pisos__sub-panel {
		position: absolute;
		top: auto;
		bottom: 16px;
		transform: none;
		width: auto;
		min-height: 0;
		padding: 32px 24px;
		gap: 24px;
	}
	.mut-pisos__sub--izquierda .mut-pisos__sub-panel,
	.mut-pisos__sub--derecha .mut-pisos__sub-panel { left: 16px; right: 16px; }
}

/* ============================================================
   Nuestro Proyecto — page template
   ============================================================ */
.mut-page--np { background: var(--mut-green); }

.mut-np__hero {
	background: var(--mut-green);
	padding: 180px 48px 64px;
	overflow: hidden;
}

.mut-np__hero-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 24px;
}

.mut-np__hero-breadcrumb {
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 16px;
	color: var(--mut-black);
	text-decoration: none;
}

.mut-np__hero-title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(3.5rem, 8vw, 6rem);
	line-height: 1;
	color: var(--mut-black);
	margin: 0;
}
.mut-np__hero-title .italic { font-style: italic; }

.mut-np__hero-illustration { margin-top: 16px; }
.mut-np__hero-illustration img { height: 160px; width: auto; display: block; }

@media (max-width: 575.98px) {
	.mut-np__hero { padding: 156px 24px 48px; }
	.mut-np__hero-title { font-size: 3rem; }
	.mut-np__hero-illustration img { height: 120px; }
}

/* Intro — bajada (display font) + share button */
.mut-np__intro {
	background: var(--mut-beige);
	padding: 48px 48px;
	border-bottom: 0;
}
.mut-np__intro-inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 48px;
}
.mut-np__intro-bajada {
	flex: 1;
	max-width: 685px;
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 2.5vw, 1.9rem);
	line-height: 1.3;
	font-weight: 400;
	color: var(--mut-black);
	margin: 0;
	text-indent: 32px;
}
.mut-np__intro-share { flex-shrink: 0; }

@media (max-width: 767.98px) {
	.mut-np__intro-inner { flex-direction: column; gap: 32px; }
}

/* ¿Qué es MUT? — editorial rows */
.mut-np__queesmut {
	background: var(--mut-beige);
	padding: 24px 48px 24px;
}
.mut-np__queesmut-row {
	display: grid;
	grid-template-columns: 1fr 1.4fr 1.4fr;
	gap: 64px;
	align-items: flex-start;
	padding: 40px 40px;
	border-top: 1px solid #333;
}
.mut-np__queesmut-title h3 {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(1.5rem, 1.8vw, 1.5rem);
	color: #0d0d0d;
	margin: 0;
	line-height: 1.35;
}
.mut-np__queesmut-media {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--mut-gray-light);
}
.mut-np__queesmut-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mut-np__queesmut-text p {
	font-family: var(--font-body);
	font-size: 18px;
	line-height: 1.5;
	color: var(--mut-black);
	margin: 0;
}

@media (max-width: 991.98px) {
	.mut-np__queesmut-row {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.mut-np__queesmut-media { aspect-ratio: 16 / 9; }
}

/* Atributos de valor — interactive expanding cards */
.mut-np__atributos {
	background: #e4d9d2;
	padding: 48px 48px 48px;
}
.mut-np__atributos-title {
	font-family: var(--font-display);
	font-size: clamp(2.5rem, 4vw, 2.5rem);
	font-weight: 600;
	color: var(--mut-black);
	margin: 0 0 40px;
}

.mut-np__atributos-row {
	display: flex;
	gap: 0;
	min-height: 420px;
}

.mut-np__atributo {
	flex: 1;
	position: relative;
	background: var(--mut-off-white);
	border: 1px solid var(--mut-black);
	margin-left: -1px;
	padding: 32px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition: flex .3s cubic-bezier(.4,0,.2,1);
	cursor: pointer;
}
.mut-np__atributo:first-child { margin-left: 0; }

/* Default open: first child expanded */
.mut-np__atributo:first-child { flex: 5; }

/* When hovering the row, the previously-open card shrinks */
.mut-np__atributos-row:hover .mut-np__atributo:first-child { flex: 1; }

/* The hovered card expands (declared after, same specificity, wins by order for non-first;
   for first card we need stronger order, already handled) */
.mut-np__atributo:hover { flex: 5 !important; }

.mut-np__atributo-num {
	position: absolute;
	top: 28px;
	right: 28px;
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: .08em;
	color: var(--mut-black);
	z-index: 2;
}

.mut-np__atributo-content {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 40px;
	height: 100%;
	width: 100%;
	min-width: 360px;
	opacity: 0;
	transition: opacity .3s ease .15s;
}
.mut-np__atributo:first-child .mut-np__atributo-content { opacity: 1; }
.mut-np__atributos-row:hover .mut-np__atributo:first-child .mut-np__atributo-content { opacity: 0; transition-delay: 0s; }
/* Con el prefijo de la fila para empatar la especificidad de la regla de arriba —
   sin él, al volver a la primera card su contenido quedaba oculto (ganaba :first-child). */
.mut-np__atributo:hover .mut-np__atributo-content,
.mut-np__atributos-row:hover .mut-np__atributo:hover .mut-np__atributo-content { opacity: 1; transition-delay: .15s; }

.mut-np__atributo-ilus { margin-bottom: 24px; }
.mut-np__atributo-ilus img {
	width: clamp(140px, 18vw, 160px);
	height: auto;
	display: block;
}
.mut-np__atributo-title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(1.5rem, 1.6vw, 1.5rem);
	color: var(--mut-black);
	margin: 0 0 12px;
	line-height: 1.35;
}
.mut-np__atributo-text {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.5;
	color: var(--mut-black);
	margin: 0;
	max-width: 420px;
}
/* Certificaciones reusa esta misma card pero su contenido es WYSIWYG (puede traer
   <p>/<ul> reales, no solo texto plano con nl2br como Atributos de valor). */
.mut-np__atributo-text ul { margin: 0; padding-left: 20px; }
.mut-np__atributo-text ul li { margin-bottom: 10px; }
.mut-np__atributo-text p { margin: 0 0 10px; }
.mut-np__atributo-text > *:last-child { margin-bottom: 0; }

/* Footer (counter + arrows) — hidden on desktop, shown on mobile slider */
.mut-np__atributos-footer { display: none; }

/* Territoria — media on the left + title/text/CTA on the right */
.mut-np__terr {
	background: #e4d9d2;
	padding: 48px 48px 48px;
}
.mut-np__terr-inner {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 40px;
	align-items: center;
}
.mut-np__terr-media {
	display: block;
	overflow: hidden;
	background: var(--mut-gray-light);
	aspect-ratio: 4 / 3;
	position: relative;
}
.mut-np__terr-media img,
.mut-np__terr-media video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .4s ease;
}
a.mut-np__terr-media { cursor: pointer; }
a.mut-np__terr-media:hover img,
a.mut-np__terr-media:hover video { transform: scale(1.03); }

/* Gallery slider (if more than one image) */
.mut-np__terr-gallery {
	display: flex;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	width: 100%;
	height: 100%;
}
.mut-np__terr-gallery::-webkit-scrollbar { display: none; }
.mut-np__terr-gslide {
	flex: 0 0 100%;
	scroll-snap-align: start;
	width: 100%;
	height: 100%;
}
.mut-np__terr-gslide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mut-np__terr-body {
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: flex-start;
}
.mut-np__terr-title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(2rem, 3.5vw, 2.5rem);
	line-height: 1.2;
	color: var(--mut-black);
	margin: 0;
}
.mut-np__terr-text {
	font-family: var(--font-body);
	font-size: 18px;
	line-height: 1.5;
	color: var(--mut-black);
	margin: 0;
	max-width: 480px;
}
.mut-np__terr-link {
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 600;
	color: var(--mut-black);
}

@media (max-width: 991.98px) {
	.mut-np__terr-inner { grid-template-columns: 1fr; gap: 32px; }
}

/* Mobile: row becomes a horizontal snap slider, one card per viewport */
@media (max-width: 991.98px) {
	.mut-np__atributos-row {
		min-height: 0;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}
	.mut-np__atributos-row::-webkit-scrollbar { display: none; }

	.mut-np__atributo {
		flex: 0 0 100% !important;
		width: 100%;
		min-height: 480px;
		margin-left: -1px;
		padding: 32px 24px;
		scroll-snap-align: start;
		cursor: default;
	}
	.mut-np__atributo:first-child { margin-left: 0; }

	/* Sin efecto hover en mobile: anula el expand-on-hover del desktop (mismo selector/especificidad, gana por orden) */
	.mut-np__atributos-row:hover .mut-np__atributo:first-child { flex: 0 0 100% !important; }
	.mut-np__atributo:hover { flex: 0 0 100% !important; }

	/* All content visible on every slide */
	.mut-np__atributo-content {
		opacity: 1 !important;
		min-width: 0;
		transition: none;
	}
	.mut-np__atributo-ilus img { width: clamp(120px, 36vw, 180px); }

	/* Footer with counter + arrows (same shape as events slider) */
	.mut-np__atributos-footer {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 16px;
		margin-top: 24px;
	}
	.mut-np__atributos-counter {
		font-family: var(--font-mono);
		font-size: 14px;
		letter-spacing: .08em;
		color: var(--mut-black);
	}
	.mut-np__atributos-sep { opacity: .5; }
	.mut-np__atributos-arrows { display: flex; gap: 0; }
	.mut-np__atributos-btn {
		width: 48px;
		height: 48px;
		border: 1px solid var(--mut-black);
		background: transparent;
		color: var(--mut-black);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		transition: background .15s ease, color .15s ease;
	}
	.mut-np__atributos-btn + .mut-np__atributos-btn { margin-left: -1px; }
	.mut-np__atributos-btn:hover { background: var(--mut-black); color: var(--mut-off-white); }
}

/* Sostenibilidad responsive */
@media (max-width: 991.98px) {
	.mut-sost__tab-layout { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 575.98px) {
	.mut-sost__hero-title { font-size: 3rem; }
	.mut-sost__intro-inner { flex-direction: column; align-items: stretch; }
	.mut-sost__tab-btn { padding: 12px 0; font-size: 16px; margin-right: 24px; }
}

/* =============================================================
   OFICINAS HUB
   ============================================================= */

/* --- Shared button variants --- */
.mut-btn--purple {
	background: #56215e;
	color: #fff;
	border: 1px solid #333;
	text-indent: 0;
}
.mut-btn--purple:hover {
	background: #0d0d0d;
	border-color: #0d0d0d;
	color: #fff;
}
.mut-btn--outline-dark {
	background: transparent;
	color: var(--mut-black);
	border: 2px solid var(--mut-black);
}
.mut-btn--outline-dark:hover {
	background: var(--mut-black);
	color: #fff;
}

/* --- Hero --- */
.mut-ofic__hero {
	background: #56215e;
	color: #fbfbfa;
	padding: 180px 48px 64px;
	overflow: hidden;
	position: relative;
}
.mut-ofic__hero-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 24px;
}
.mut-ofic__hero-title {
	font-family: var(--font-display);
	font-size: clamp(3.5rem, 8vw, 6rem);
	font-weight: 500;
	line-height: 1;
	color: #FBFBFA;
	margin: 0;
}
.mut-ofic__hero-title .italic {
	font-style: italic;
	font-weight: 500;
}
.mut-ofic__hero-illustration {
	margin-top: 16px;
}
.mut-ofic__hero-illustration img {
	height: 160px;
	width: auto;
	display: block;
}

@media (max-width: 575.98px) {
	.mut-ofic__hero { padding: 140px 0 56px; }
	.mut-ofic__hero-title { font-size: 3rem; }
	.mut-ofic__hero-illustration img { height: 160px; }
}

/* Highlights strip — reuses .mut-serv__highlights-row */
.mut-ofic__highlights {
	display: none;
	background: rgba(0,0,0,.18);
	padding: 24px 0;
	margin-top: 48px;
}

/* --- Intro --- */
.mut-ofic__intro {
	background: var(--mut-beige, #f9ede6);
	padding: 48px 48px;
	text-indent: 0;
}

/* Scattered gallery — irregular positions, full-width container */
.mut-ofic__gallery {
	background: var(--mut-beige);
	padding: 48px 0;
	position: relative;
}
.mut-ofic__gallery-carousel {
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	position: relative;
	scrollbar-width: none;        /* Firefox */
	-ms-overflow-style: none;      /* IE/Edge */
}
.mut-ofic__gallery-carousel::-webkit-scrollbar { display: none; }
.mut-ofic__gallery-track {
	display: flex;
	align-items: center;
	width: max-content;
	gap: 8px;
}

/* Flechas de paginación — DEBAJO de las fotos, sobre el beige; par agrupado, botones cuadrados 48px
   OUTLINE (sin fondo), hover invierte. Mismo componente que el paginador del hero del home / lightbox.
   Inyectadas por JS como hijo del .mut-ofic__gallery (después del carrusel). */
.mut-ofic__gallery-arrows {
	display: flex;
	justify-content: center;
	gap: 0;
	padding: 24px 48px 0;
}
.mut-ofic__gallery-btn {
	width: 48px;
	height: 48px;
	border: 1px solid var(--mut-black);
	border-radius: 0;
	background: transparent;
	color: var(--mut-black);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}
.mut-ofic__gallery-btn + .mut-ofic__gallery-btn { margin-left: -1px; }
.mut-ofic__gallery-btn:hover { background: var(--mut-black); color: var(--mut-off-white); position: relative; z-index: 1; }
.mut-ofic__gallery-btn svg { width: 16px; height: 16px; }
@media (max-width: 575.98px) {
	.mut-ofic__gallery-arrows { padding: 16px 16px 0; }
	.mut-ofic__gallery-btn { width: 40px; height: 40px; }
}

.mut-ofic__gallery-item {
	flex-shrink: 0;
	width: 480px;
	height: 320px;
	background: transparent;
	border: 0;
	padding: 0;
	margin: 0;
	cursor: zoom-in;
	overflow: hidden;
	position: relative;
}
.mut-ofic__gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .4s ease;
}
.mut-ofic__gallery-item:hover img { transform: scale(1.04); }

@media (max-width: 767.98px) {
	.mut-ofic__gallery-item { width: 280px; height: 200px; }
	.mut-ofic__gallery-track { animation-duration: 40s; gap: 12px; }
}
.mut-ofic__intro-inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 48px;
}
.mut-ofic__intro-text {
	flex: 1;
	max-width: 720px;
	display: flex;
	flex-direction: column;
	gap: 40px;
}
.mut-ofic__intro-bajada {
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 2.5vw, 1.9rem);
	line-height: 1.3;
	font-weight: 400;
	color: var(--mut-black);
	margin: 0;
	max-width: 685px;
	text-indent: 40px;
}
.mut-ofic__intro-ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}
.mut-ofic__intro-share { flex-shrink: 0; }

/* Square-ish buttons (no border-radius) for this section */
.mut-ofic__intro-ctas .mut-btn {
	border-radius: 0;
	padding: 12px 24px;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-indent: 0;
}
.mut-ofic__intro-ctas .mut-btn--purple { border-width: 1px; }
.mut-ofic__intro-ctas .mut-btn--outline-dark { border-width: 1px; background: var(--mut-off-white); transition: background .15s ease, color .15s ease; }
.mut-ofic__intro-ctas .mut-btn--outline-dark:hover { background: var(--mut-black); color: var(--mut-off-white); border-color: var(--mut-black); }

@media (max-width: 767.98px) {
	.mut-ofic__intro-inner { flex-direction: column; gap: 32px; }
}

/* --- CTA bar --- */
.mut-ofic__cta {
	background: #fff;
	padding: 48px 0;
	border-bottom: 1px solid rgba(0,0,0,.08);
}
.mut-ofic__cta-row {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

/* --- Gallery --- reuses .mut-bici__gallery-grid --- */
.mut-ofic__gallery {
	padding: 48px 0;
	background: var(--mut-beige);
}

/* --- Contact form section --- */
.mut-ofic__form-section {
	background: #fff;
}
.mut-ofic__form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 720px;
}
.mut-ofic__form-media {
	position: relative;
	overflow: hidden;
}
.mut-ofic__form-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mut-ofic__form-media .mut-card__placeholder {
	width: 100%;
	height: 100%;
	min-height: 500px;
	border-radius: 0;
}
.mut-ofic__form-body {
	padding: 64px 48px;
	background: #fbfbfa;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.mut-ofic__form-title {
	font-family: var(--font-display);
	font-size: clamp(2.5rem, 3.5vw, 2.5rem);
	font-weight: 600;
	line-height: 1.2;
	color: var(--mut-black);
	margin: 0 0 32px;
}
.mut-ofic__form-title .italic {
	font-style: italic;
	font-weight: 500;
}
.mut-ofic__form {
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: 480px;
}
.mut-ofic__form-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.mut-ofic__form-field label {
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(0,0,0,.55);
}
.mut-ofic__form-field input {
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--mut-black);
	background: #f7f5f2;
	border: 1.5px solid transparent;
	border-radius: 8px;
	padding: 12px 16px;
	outline: none;
	transition: border-color .2s;
}
.mut-ofic__form-field input:focus {
	border-color: #56215e;
	background: #fff;
}
.mut-ofic__form-field input::placeholder {
	color: rgba(0,0,0,.35);
}

/* ============================================================
   Contact Form 7 overrides inside the Oficinas form body
   ============================================================ */
.mut-ofic__form-body .wpcf7 form,
.mut-ofic__form-body .wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 22px;
	max-width: 520px;
}
.mut-ofic__form-body .wpcf7-form p {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
}
.mut-ofic__form-body .wpcf7-form label {
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 600;
	color: var(--mut-black);
	letter-spacing: 0;
	text-transform: none;
	opacity: 1;
}
/* Red asterisk for required fields */
.mut-ofic__form-body .wpcf7-form label .wpcf7-form-control-wrap { display: block; margin-top: 8px; }
.mut-ofic__form-body .wpcf7-form .wpcf7-not-valid-tip,
.mut-ofic__form-body .wpcf7-form .wpcf7-validation-errors {
	font-family: var(--font-body);
	font-size: 13px;
	color: #c0392b;
	margin-top: 4px;
}

.mut-ofic__form-body .wpcf7-form input[type="text"],
.mut-ofic__form-body .wpcf7-form input[type="email"],
.mut-ofic__form-body .wpcf7-form input[type="tel"],
.mut-ofic__form-body .wpcf7-form input[type="number"],
.mut-ofic__form-body .wpcf7-form input[type="url"],
.mut-ofic__form-body .wpcf7-form textarea,
.mut-ofic__form-body .wpcf7-form select {
	width: 100%;
	box-sizing: border-box;
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--mut-black);
	background: #fff;
	border: 1px solid rgba(0,0,0,.25);
	border-radius: 0;
	padding: 14px 18px;
	outline: none;
	transition: border-color .15s ease;
}
.mut-ofic__form-body .wpcf7-form input:focus,
.mut-ofic__form-body .wpcf7-form textarea:focus,
.mut-ofic__form-body .wpcf7-form select:focus {
	border-color: #56215e;
}
.mut-ofic__form-body .wpcf7-form input::placeholder,
.mut-ofic__form-body .wpcf7-form textarea::placeholder {
	color: rgba(0,0,0,.40);
}

/* Submit button */
.mut-ofic__form-body .wpcf7-form input[type="submit"],
.mut-ofic__form-body .wpcf7-form button[type="submit"] {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #56215e;
	color: #fff;
	border: 0;
	border-radius: 0;
	padding: 16px 32px;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	width: auto;
	align-self: flex-start;
	transition: background .15s ease;
}
.mut-ofic__form-body .wpcf7-form input[type="submit"]:hover,
.mut-ofic__form-body .wpcf7-form button[type="submit"]:hover {
	background: #3e1645;
}

/* CF7 feedback messages */
.mut-ofic__form-body .wpcf7-response-output {
	margin: 16px 0 0;
	padding: 14px 18px;
	font-family: var(--font-body);
	font-size: 14px;
	border-radius: 0;
}
.mut-ofic__form-body .wpcf7 form.sent .wpcf7-response-output {
	border: 1px solid #5cb97a;
	color: #1b6932;
	background: #e8f7ec;
}
.mut-ofic__form-body .wpcf7 form.invalid .wpcf7-response-output,
.mut-ofic__form-body .wpcf7 form.failed .wpcf7-response-output {
	border: 1px solid #d75b51;
	color: #b14036;
	background: #ffeae7;
}
.mut-ofic__form-body .mut-ofic__form-warning {
	font-family: var(--font-body);
	font-size: 14px;
	color: #c0392b;
	background: #fdf3f1;
	padding: 14px 18px;
	border-left: 3px solid #c0392b;
}
.mut-ofic__form-success {
	background: #e8f7ec;
	border: 1.5px solid #5cb97a;
	border-radius: 10px;
	padding: 20px 24px;
	color: #2a7a44;
	font-family: var(--font-body);
	font-size: 15px;
}
.mut-ofic__form-error {
	background: #fdecea;
	border: 1.5px solid #e06060;
	border-radius: 10px;
	padding: 16px 20px;
	color: #b03030;
	font-family: var(--font-body);
	font-size: 14px;
	margin-bottom: 16px;
}

/* --- Brand logos --- */
.mut-ofic__logos {
	background: #f9ede6;
	padding: 24px 16px;
	overflow: hidden;
}
.mut-ofic__logos-marquee {
	overflow: hidden;
	width: 100%;
	mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
	-webkit-mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
}
.mut-ofic__logos-track {
	display: flex;
	align-items: center;
	gap: 80px;
	width: max-content;
	animation: mut-ofic-logos-scroll 40s linear infinite;
}
.mut-ofic__logos:hover .mut-ofic__logos-track { animation-play-state: paused; }

@keyframes mut-ofic-logos-scroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

.mut-ofic__logo-item {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 64px;
}
.mut-ofic__logo-item img {
	max-height: 56px;
	width: auto;
	height: auto;
	display: block;
	filter: none;
	opacity: 1;
	transition: filter .2s ease, opacity .2s ease;
}

/* B&W variant — logos in grayscale, full color on hover */
.mut-ofic__logos--bw .mut-ofic__logo-item img {
	filter: grayscale(1);
	opacity: .65;
}
.mut-ofic__logos--bw .mut-ofic__logo-item:hover img {
	filter: grayscale(0);
	opacity: 1;
}

@media (max-width: 575.98px) {
	.mut-ofic__logos-track { gap: 56px; }
	.mut-ofic__logo-item { height: 48px; }
	.mut-ofic__logo-item img { max-height: 42px; }
}

/* Oficinas responsive */
@media (max-width: 991.98px) {
	.mut-ofic__form-grid { grid-template-columns: 1fr; }
	.mut-ofic__form-body { order: 1; }
	.mut-ofic__form-media { order: 2; }
	.mut-ofic__form-media { min-height: 340px; }
	.mut-ofic__form-body { padding: 56px 32px; }
	.mut-ofic__hero-illustration { width: 160px; }
}
@media (max-width: 575.98px) {
	.mut-ofic__form-body { padding: 40px 24px; }
	.mut-ofic__form { max-width: 100%; }
	.mut-ofic__cta-row { flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   Responsive audit fixes (mobile + tablet polish)
   ============================================================ */

/* Global: in-page anchors clear the fixed navbar */
[id] {
	scroll-margin-top: 100px;
}

/* Share dropdown — keep menu inside the viewport on narrow screens */
.mut-share__menu {
	max-width: calc(100vw - 32px);
	max-height: calc(100vh - 120px);
	overflow-y: auto;
}

/* Tablet (768–991px): denser posts strip + better cifras step */
@media (min-width: 768px) and (max-width: 991.98px) {
	.mut-archive__posts-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}

/* Pisos floating strip — hide on tablet & mobile (was blocking content) */
@media (max-width: 991.98px) {
	.mut-pisos { display: none; }
}

/* Hero — also use safe svh on mobile responsive override */
@media (max-width: 991.98px) {
	.mut-home__hero { min-height: auto; }
	.mut-home__hero-track { height: 160.5vw; max-height: 1200px; }
}

/* Oficinas form — drop the 720px min on tablet/mobile so the image collapses naturally */
@media (max-width: 991.98px) {
	.mut-ofic__form-grid { min-height: 0; }
	.mut-ofic__form-media { aspect-ratio: 4 / 3; min-height: 0; }
}

/* Arriendos sub-page form — same treatment */
@media (max-width: 991.98px) {
	.mut-arr__sub-form-grid { min-height: 0; }
	.mut-arr__sub-form-media { aspect-ratio: 4 / 3; min-height: 0; }
}

/* Horario hero line — keep the inline horario from overflowing on narrow screens */
@media (max-width: 575.98px) {
	.mut-home__hero-horario {
		left: var(--mut-hero-edge);
		bottom: 24px;
		font-size: 13px;
		flex-wrap: wrap;
		align-items: flex-start;
		gap: 8px;
	}
	/* Horario en 2 líneas (label arriba, hora abajo) para no quedar sobre el paginador */
	.mut-home__hero-horario-text { display: flex; flex-direction: column; gap: 2px; line-height: 1.3; }
}

/* Navbar hamburger — slight visual polish so the bars are visible */
@media (max-width: 991.98px) {
	.mut-mainnav__toggler {
		margin-left: 0;   /* solo el buscador lleva margin-left:auto; el toggler va pegado tras él */
		align-self: center;
	}
	/* el scroll lo maneja el overlay, no el <ul> */
	.mut-mainnav__overlay .mut-mainnav__menu { max-height: none; overflow: visible; }
}

/* Footer — ensure the social icons row doesn't overflow on small screens */
@media (max-width: 575.98px) {
	.mut-footer__social { flex-wrap: wrap; }
}

/* Tabs (Sost, Como llegar) — let the tab nav scroll without snapping into the body */
.mut-sost__tab-nav,
.mut-como__tab-nav { -webkit-overflow-scrolling: touch; }

/* ============================================================
   Políticas de Privacidad — página legal (documento largo)
   ============================================================ */
.mut-page--pol { background: var(--mut-beige); }

/* Hero */
.mut-pol__hero {
	padding: 180px 48px 64px;
	overflow: hidden;
}
.mut-pol__hero-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 24px;
}
.mut-pol__hero-title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(2.75rem, 7vw, 6rem);
	line-height: 1.05;
	color: var(--mut-black);
	margin: 0;
}
.mut-pol__hero-title .italic { font-style: italic; font-weight: 500; }
.mut-pol__hero-illustration { margin-top: 8px; }
.mut-pol__hero-illustration img { height: 160px; width: auto; display: block; }

/* Intro */
.mut-pol__intro {
	padding: 8px 48px 48px;
}
.mut-pol__intro-inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 48px;
}
.mut-pol__intro-bajada {
	flex: 1;
	max-width: 720px;
	font-family: var(--font-display);
	font-weight: 400;
	font-size: clamp(1.3rem, 2.2vw, 1.7rem);
	line-height: 1.35;
	color: var(--mut-black);
	margin: 0;
}
.mut-pol__intro-share { flex-shrink: 0; }

/* Documento: nav lateral pegajoso + secciones */
.mut-pol__doc {
	background: var(--mut-off-white);
	padding: 64px 48px 96px;
}
.mut-pol__doc-grid {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 64px;
	align-items: start;
}
.mut-pol__nav {
	position: sticky;
	top: 120px;
}
.mut-pol__nav-label {
	display: block;
	font-family: var(--font-mono, var(--font-body));
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: rgba(13,13,13,.55);
	margin-bottom: 16px;
}
.mut-pol__nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}
.mut-pol__nav-list a {
	display: block;
	padding: 12px 0;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 600;
	color: var(--mut-black);
	text-decoration: none;
	border-bottom: 1px solid rgba(13,13,13,.12);
	transition: padding-left .15s ease;
}
.mut-pol__nav-list a:hover { padding-left: 8px; }

/* Secciones */
.mut-pol__sections { max-width: 760px; }
.mut-pol__section { padding-bottom: 48px; margin-bottom: 48px; border-bottom: 1px solid rgba(13,13,13,.14); }
.mut-pol__section:last-child { border-bottom: none; margin-bottom: 0; }
.mut-pol__section-title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(1.75rem, 3vw, 2.4rem);
	line-height: 1.1;
	color: var(--mut-black);
	margin: 0 0 24px;
	scroll-margin-top: 120px;
}
.mut-pol__section-body {
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.7;
	color: var(--mut-black);
}
.mut-pol__section-body h3 {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 17px;
	margin: 32px 0 12px;
}
.mut-pol__section-body p { margin: 0 0 18px; }
.mut-pol__section-body ul { margin: 0 0 18px; padding-left: 22px; }
.mut-pol__section-body li { margin-bottom: 8px; }
.mut-pol__section-body a { color: var(--mut-black); text-decoration: underline; }

@media (max-width: 991.98px) {
	.mut-pol__doc-grid { grid-template-columns: 1fr; gap: 40px; }
	.mut-pol__nav { position: static; }
	.mut-pol__nav-list { flex-flow: row wrap; gap: 8px; }
	.mut-pol__nav-list a { border-bottom: none; border: 1px solid var(--mut-black); padding: 8px 16px; }
	.mut-pol__nav-list a:hover { padding-left: 16px; }
}
@media (max-width: 767.98px) {
	.mut-pol__hero { padding: 140px 24px 48px; }
	.mut-pol__intro { padding: 8px 24px 40px; }
	.mut-pol__intro-inner { flex-direction: column; gap: 28px; }
	.mut-pol__doc { padding: 48px 24px 72px; }
}

/* ============================================================
   Adaptaciones mobile — secciones que pasaron a padding 48px horizontal
   (correcciones doc). En móvil el 48px + .container queda excesivo:
   se reduce a 24px y se colapsan los grids restantes.
   ============================================================ */
@media (max-width: 767.98px) {
	/* Intros: menos padding horizontal + sin sangría en móvil */
	.mut-sost__intro,
	.mut-horarios__intro,
	.mut-como__intro,
	.mut-suscribete__intro,
	.mut-contacto__intro,
	.mut-np__intro,
	.mut-serv__intro,
	.mut-bici__intro {
		padding-left: 16px;
		padding-right: 16px;
		text-indent: 0;
	}

	/* Secciones con padding 48px horizontal → 16px */
	.mut-sost__tabs-section,
	.mut-sost__cifras,
	.mut-horarios__info,
	.mut-como__tabs-section,
	.mut-bici__info,
	.mut-bici__plans,
	.mut-np__queesmut-row,
	.mut-np__atributos,
	.mut-np__certs,
	.mut-np__terr {
		padding-left: 16px;
		padding-right: 16px;
	}

	/* Grids que aún no colapsaban */
	.mut-sost__tab-layout { grid-template-columns: 1fr; gap: 28px; }
	.mut-np__terr-inner { grid-template-columns: 1fr; gap: 28px; }
	.mut-bici__plans-grid { grid-template-columns: 1fr; }

	/* queesmut-row ya colapsa a 1col en 991; aquí solo ajustamos el gutter */
	.mut-np__queesmut-row { gap: 24px; }
}

/* ============================================================
   Iconos de botones — 16×16 (spec diseño)
   Nota: el doc traía "img, svg { width:16px; height:16px }" global;
   aplicado SOLO a iconos de botones para no romper logos/fotos.
   ============================================================ */
.mut-btn svg, .mut-btn img,
.mut-sost__reporte-btn svg, .mut-sost__reporte-btn img,
.mut-bici__info-app-btn svg, .mut-bici__info-app-btn img,
.mut-arr__sub-link svg, .mut-arr__sub-link img,
.mut-pisos__sub-link svg, .mut-pisos__sub-link img,
.mut-arr__sub-intro-ctas .mut-btn svg, .mut-arr__sub-intro-ctas .mut-btn img {
	width: 16px;
	height: 16px;
	flex: none;
}

/* ============================================================
   Hero de Categoría (Entradas / CoMUTnidad)
   Reusa el hero centrado de Servicios; el color lo define el inline (ACF).
   ============================================================ */
.mut-serv__hero.mut-cat__hero .mut-serv__hero-title { color: currentColor; }
.mut-cat__info .mut-single__info-grid { align-items: start; }

/* ============================================================
   Categoría — Destacado ("Homenaje del mes")
   Fondo full-bleed + panel celeste flotante abajo-derecha.
   ============================================================ */
.mut-cat__dest {
	position: relative;
	min-height: 720px;
	background-color: var(--mut-gray-light);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
}
.mut-cat__dest-panel {
	width: 374px;
	max-width: 92%;
	min-height: 500px;
	box-sizing: border-box;
	background: var(--mut-blue);
	padding: 48px 48px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	text-align: center;
	gap: 40px;
	color: var(--mut-black);
	text-decoration: none;
}
.mut-cat__dest-label {
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--mut-black);
}
.mut-cat__dest-text { display: flex; flex-direction: column; gap: 12px; }
.mut-cat__dest-title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(2rem, 3vw, 2.6rem);
	line-height: 1.1;
	margin: 0;
}
.mut-cat__dest-sub {
	font-family: var(--font-display);
	font-style: italic;
	font-size: clamp(2.5rem, 1.6vw, 2.5rem);
	line-height: 1.3;
	margin: 0;
}
.mut-cat__dest-more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 16px;
	color: var(--mut-black);
}
.mut-cat__dest-panel:hover .mut-cat__dest-more { text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 767.98px) {
	.mut-cat__dest { min-height: 540px; align-items: stretch; justify-content: stretch; }
	.mut-cat__dest-panel { width: 100%; max-width: none; min-height: 340px; }
}

/* ============================================================
   Categoría — Grid de cards (estrato final)
   ============================================================ */
.mut-cat__cards { background: var(--mut-beige); padding: 64px 0 96px; }
.mut-cat__cards-title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 40px;
	line-height: 1;
	color: var(--mut-black);
	margin: 0 0 40px;
}
.mut-cat__cards-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 48px 32px;
}
.mut-cat__card {
	display: flex;
	flex-direction: column;
	gap: 16px;
	text-decoration: none;
	color: var(--mut-black);
}
.mut-cat__card-media {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--mut-gray-light);
}
.mut-cat__card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .4s ease;
}
.mut-cat__card:hover .mut-cat__card-media img { transform: scale(1.04); }
.mut-cat__card-title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(1.3rem, 1.8vw, 1.6rem);
	line-height: 1.2;
	margin: 0;
}
.mut-cat__card-date {
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--mut-black);
	opacity: .7;
}
@media (max-width: 991.98px) { .mut-cat__cards-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575.98px) {
	.mut-cat__cards-grid { grid-template-columns: 1fr; }
	.mut-cat__cards { padding: 48px 0 64px; }
	.mut-csingle__related { padding-left: 20px; padding-right: 20px; }
}

/* ============================================================
   Single de categoría (Entradas) — Hero
   breadcrumb + título + subtítulo (cursiva) + media (img/galería/video)
   ============================================================ */
.mut-csingle__hero { padding: 180px 0 0; }
.mut-csingle__back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 16px;
	color: var(--mut-black);
	text-decoration: none;
	margin-bottom: 24px;
}
.mut-csingle__back:hover { text-decoration: underline; text-underline-offset: 4px; }
.mut-csingle__title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(3rem, 7vw, 4rem);
	line-height: 1.12;
	color: var(--mut-black);
	margin: 0;
}
.mut-csingle__subtitle {
	font-family: var(--font-display);
	font-style: italic;
	font-weight: 500;
	font-size: clamp(1.6rem, 3.2vw, 2.6rem);
	line-height: 1.1;
	color: var(--mut-black);
	margin: 12px 0 0;
}
.mut-csingle__media-wrap { margin-top: 40px; }
.mut-csingle__media {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: var(--mut-gray-light);
}
.mut-csingle__media--image img { width: 100%; height: auto; display: block; }

/* Video */
.mut-csingle__media--video { aspect-ratio: 16 / 9; }
.mut-csingle__video,
.mut-csingle__poster,
.mut-csingle__iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.mut-csingle__video { object-fit: cover; }
.mut-csingle__poster { background-size: cover; background-position: center; }
.mut-csingle__iframe { border: 0; }
.mut-csingle__play {
	position: absolute;
	left: 50%; top: 50%;
	transform: translate(-50%, -50%);
	width: 72px; height: 72px;
	border-radius: 50%;
	border: none;
	background: rgba(255, 255, 255, .92);
	color: var(--mut-black);
	display: flex; align-items: center; justify-content: center;
	cursor: pointer;
	z-index: 2;
	transition: background .15s ease, transform .15s ease;
}
.mut-csingle__play svg { width: 26px; height: 26px; margin-left: 3px; }
.mut-csingle__play:hover { background: #fff; transform: translate(-50%, -50%) scale(1.06); }
.mut-csingle__media.is-playing .mut-csingle__play,
.mut-csingle__media.is-playing .mut-csingle__poster { display: none; }

/* Galería */
.mut-csingle__media--gallery { background: transparent; }
.mut-csingle__gallery { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.mut-csingle__gallery::-webkit-scrollbar { display: none; }
.mut-csingle__gallery-track { display: flex; }
.mut-csingle__gallery-item { flex: 0 0 100%; scroll-snap-align: start; aspect-ratio: 16 / 9; }
.mut-csingle__gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mut-csingle__gallery-arrows { position: absolute; right: 16px; bottom: 16px; display: flex; z-index: 2; }
.mut-csingle__gallery-arrow {
	width: 48px; height: 48px;
	border: 1px solid var(--mut-black);
	background: rgba(255, 255, 255, .9);
	color: var(--mut-black);
	display: flex; align-items: center; justify-content: center;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}
.mut-csingle__gallery-arrow + .mut-csingle__gallery-arrow { margin-left: -1px; }
.mut-csingle__gallery-arrow:hover { background: var(--mut-black); color: #fff; }

@media (max-width: 575.98px) {
	.mut-csingle__hero { padding: 120px 0 48px; }
	.mut-csingle__play { width: 60px; height: 60px; }
	.mut-csingle--cat1 .mut-csingle__title { font-size: 2.541rem; padding-left: 30px; padding-right: 30px; }
	.mut-csingle--cat6 .mut-csingle__back,
	.mut-csingle--cat6 .mut-csingle__title,
	.mut-csingle--cat6 .mut-csingle__subtitle { padding-left: 20px; }
}

/* Single de categoría — Contenido (Compartir + Mes | cuerpo) */
.mut-csingle__body {
	background: var(--mut-beige);
	padding: 24px 48px 24px;
}
.mut-csingle__body-grid {
	display: grid;
	grid-template-columns: minmax(220px, 26%) minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}
.mut-csingle__body-side { display: flex; flex-direction: column; gap: 32px; }
.mut-csingle__meta { display: flex; flex-direction: column; gap: 6px; }
.mut-csingle__meta-label { font-family: var(--font-body); font-weight: 700; font-size: 16px; color: var(--mut-black); }
.mut-csingle__meta-value { font-family: var(--font-body); font-size: 16px; color: var(--mut-black); }
.mut-csingle__content {
	font-family: var(--font-body);
	font-size: 18px;
	line-height: 1.6;
	color: var(--mut-black);
	max-width: 640px;
}
.mut-csingle__content p { margin: 0 0 1.2em; }
.mut-csingle__content p:last-child { margin-bottom: 0; }

/* Bloques de video (Proyecciones Culturales) — a todo el ancho, 16:9 */
.mut-csingle__video-full { background: var(--mut-black); line-height: 0; }
.mut-csingle__video-full video,
.mut-csingle__video-full iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	border: 0;
}

@media (max-width: 767.98px) {
	.mut-csingle__body-grid { grid-template-columns: 1fr; gap: 32px; }
}

/* Single de categoría — "Te podría interesar" (cards de la categoría) */
.mut-csingle__related { background: #e4d9d2; }

/* ============================================================
   Crónicas de Barrio — masonry editorial (cards + cita)
   2 columnas; altura de card = ratio natural de la imagen (scatter orgánico).
   ============================================================ */
.mut-cron { background: var(--mut-beige); padding: 48px 48px 48px; }
.mut-cron__masonry { columns: 2; column-gap: 80px; }
.mut-cron__item {
	display: block;
	break-inside: avoid;
	margin: 0 0 56px;
	text-decoration: none;
	color: var(--mut-black);
}
.mut-cron__item-media { overflow: hidden; margin-bottom: 16px; background: var(--mut-gray-light); }
.mut-cron__item-media img { width: 100%; height: auto; display: block; transition: transform .4s ease; }
.mut-cron__item:hover .mut-cron__item-media img { transform: scale(1.03); }
.mut-cron__item-title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(1.3rem, 2vw, 1.7rem);
	line-height: 1.15;
	margin: 0 0 6px;
}
.mut-cron__item-author { font-family: var(--font-body); font-size: 15px; color: var(--mut-black); opacity: .7; }
.mut-cron__item-cat {
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--mut-black);
	opacity: .7;
	margin-bottom: 10px;
}

/* Single Blog + Crónicas de Barrio (rediseño con bloques ACF) — "Te podría interesar".
   Clase propia, independiente del sistema de masonry de .mut-cron (ese sigue siendo el
   look de Noticias) — evita cualquier ambigüedad de cascada/especificidad entre ambos. */
.mut-cronrelated { background: var(--mut-beige); padding: 48px 48px; }
.mut-cronrelated__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.mut-cronrelated__item { display: block; text-decoration: none; color: var(--mut-black); }
.mut-cronrelated__item-media { overflow: hidden; background: var(--mut-gray-light); margin-top: 16px; }
.mut-cronrelated__item-media img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; transition: transform .4s ease; }
.mut-cronrelated__item:hover .mut-cronrelated__item-media img { transform: scale(1.03); }
/* Crónicas: la imagen va PRIMERO en el markup — el margen se invierte (espacio debajo, no arriba) */
.mut-cronrelated--img-first .mut-cronrelated__item-media { margin-top: 0; margin-bottom: 16px; }
.mut-cronrelated__item-cat {
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-body);
	font-size: 14px;
	letter-spacing: 0;
	margin-bottom: 8px;
	font-weight: 500;
}
.mut-cronrelated__item-title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(1.3rem, 2.2vw, 1.5rem);
	line-height: 1.35;
	margin: 0 0 8px;
}
.mut-cronrelated__item-author {
	font-family: var(--font-mono);
	font-size: 12px;
	color: var(--mut-black);
	text-transform: uppercase;
	letter-spacing: .08em;
	font-weight: 400;
}
@media (max-width: 767.98px) {
	.mut-cronrelated { padding: 32px 24px; }
	.mut-cronrelated__grid { grid-template-columns: 1fr; }
}

/* Cita destacada (intercalada) */
.mut-cron__quote {
	break-inside: avoid;
	margin: 0 0 56px;
	padding-left: 24px;
	border-left: 4px solid var(--mut-green);
}
.mut-cron__quote-text {
	font-family: var(--font-display);
	font-weight: 400;
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	line-height: 1.2;
	color: var(--mut-black);
	margin: 0 0 24px;
}
.mut-cron__quote-cite { display: block; text-decoration: none; color: var(--mut-black); }
.mut-cron__quote-source { display: block; font-family: var(--font-body); font-weight: 700; font-size: 15px; }
.mut-cron__quote-author { display: block; font-family: var(--font-body); font-size: 15px; opacity: .7; }

@media (max-width: 767.98px) {
	.mut-cron__masonry { columns: 1; column-gap: 0; }
}

/* Single de categoría — tag vertical en el hero (ej. "Historias Locales") */
.mut-csingle__media-wrap { position: relative; }
.mut-csingle__tag {
	position: absolute;
	left: 0;
	top: 50%;
	z-index: 3;
	transform: translate(-100%, -50%) rotate(180deg);
	writing-mode: vertical-rl;
	background: var(--mut-green);
	color: var(--mut-black);
	padding: 16px 8px;
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-body);
	font-weight: 500;
	font-size: 16px;
	letter-spacing: .01em;
	white-space: nowrap;
}
.mut-csingle__tag svg { transform: rotate(180deg); }
@media (max-width: 991.98px) {
	.mut-csingle__tag { transform: translate(0, -50%) rotate(180deg); }
}

/* Single de categoría — Excerpt */
.mut-csingle__excerpt-sec {
	background: var(--mut-beige);
	padding: 48px 48px 24px;
}
.mut-csingle__excerpt-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.mut-csingle__excerpt {
	font-family: var(--font-display);
	font-size: clamp(1.2rem, 2.5vw, 1.9rem);
	line-height: 1.3;
	color: var(--mut-black);
	margin: 0;
	max-width: 685px;
	text-indent: 40px;
}
.mut-csingle__excerpt-row .mut-share { flex-shrink: 0; }
@media (max-width: 767.98px) {
	.mut-csingle__excerpt-row { flex-direction: column; gap: 16px; }
}

/* Single Crónicas de Barrio — acento verde (fondo del estrato autor, etc.) */
.mut-csingle--cat3 { --mut-accent: var(--mut-green); }

/* Single Blog — hero centrado (breadcrumb, título, byline) */
.mut-csingle--cat1 .mut-csingle__hero { text-align: center; }
.mut-csingle--cat1 .mut-csingle__back { justify-content: center; }
.mut-csingle--cat1 .mut-blog__byline { justify-content: center; }

/* Single Blog — un solo color de fondo para todo el cuerpo del artículo.
   var(--mut-off-white) es el MISMO color que el <body>, así que usarlo acá
   dejaba las secciones invisibles contra la página; se unifica a beige,
   que sí se distingue del fondo general del sitio. */
.mut-csingle--cat1 .mut-csingle__excerpt-sec,
.mut-csingle--cat1 .mut-blog__parrafo,
.mut-csingle--cat1 .mut-entrevista__cita,
.mut-csingle--cat1 .mut-entrevista__pregunta,
.mut-csingle--cat1 .mut-blog__collage,
.mut-csingle--cat1 .mut-entrevista__negocio {
	background: var(--mut-beige);
}
.mut-csingle--cat1 .mut-entrevista__negocio-card { background: var(--mut-white); }

/* Single Crónicas de Barrio (nuevo, con bloques ACF) — hero centrado + excerpt en beige,
   mismo patrón que Blog. La regla --mut-accent:verde de arriba queda sin efecto acá porque
   el wrapper fija --mut-accent:rosa inline (mayor especificidad). */
.mut-csingle--cat3 .mut-csingle__hero { text-align: center; }
.mut-csingle--cat3 .mut-csingle__back { justify-content: center; }
.mut-csingle--cat3 .mut-blog__byline { justify-content: center; }
.mut-csingle--cat3 .mut-csingle__excerpt-sec { background: var(--mut-beige); }

/* Single Crónicas — párrafo centrado */
.mut-cronicas__parrafo { background: var(--mut-beige); padding: 8px 0 40px; }
.mut-cronicas__parrafo-inner { max-width: 760px; margin: 0 auto; }
.mut-cronicas__parrafo-inner p { font-family: var(--font-body); font-size: 17px; line-height: 1.6; color: var(--mut-black); margin: 0 0 20px; }
.mut-cronicas__parrafo-inner p:last-child { margin-bottom: 0; }

/* Single Crónicas — cita centrada (sin imagen) */
.mut-cronicas__cita { background: var(--mut-beige); padding: 24px 0 48px; }
.mut-cronicas__cita-quote {
	max-width: 640px;
	margin: 0 auto;
	display: flex;
	gap: 16px;
	align-items: flex-start;
}
.mut-cronicas__cita-mark { font-family: Georgia, serif; font-size: 64px; line-height: .6; color: var(--mut-black); flex-shrink: 0; }
.mut-cronicas__cita-quote p { font-family: var(--font-display); font-size: clamp(1.3rem, 2vw, 1.6rem); line-height: 1.35; color: var(--mut-black); margin: 12px 0 0; }

/* Single Crónicas — Hallazgos (repeater en zigzag) */
.mut-cronicas__hallazgos { background: var(--mut-beige); padding: 24px 0 56px; }
.mut-cronicas__hallazgos-title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(2.2rem, 4vw, 3.2rem);
	line-height: 1.1;
	color: var(--mut-black);
	margin: 0 0 48px;
}
.mut-cronicas__hallazgos-title em { font-style: italic; font-weight: 500; }
.mut-cronicas__hallazgo {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	align-items: center;
	margin-bottom: 48px;
}
.mut-cronicas__hallazgo:last-child { margin-bottom: 0; }
.mut-cronicas__hallazgo.is-reversed .mut-cronicas__hallazgo-img { order: 2; }
.mut-cronicas__hallazgo.is-reversed .mut-cronicas__hallazgo-body { order: 1; }
.mut-cronicas__hallazgo-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.mut-cronicas__hallazgo-title { font-family: var(--font-display); font-weight: 700; font-size: clamp(1.3rem, 2vw, 1.6rem); margin: 0 0 12px; color: var(--mut-black); }
.mut-cronicas__hallazgo-text p { font-family: var(--font-body); font-size: 15px; line-height: 1.6; color: var(--mut-black); margin: 0 0 16px; }
.mut-cronicas__hallazgo-text p:last-child { margin-bottom: 0; }
.mut-cronicas__hallazgo-links { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }

@media (max-width: 767.98px) {
	.mut-cronicas__hallazgo { grid-template-columns: 1fr; gap: 20px; margin-bottom: 40px; }
	.mut-cronicas__hallazgo.is-reversed .mut-cronicas__hallazgo-img,
	.mut-cronicas__hallazgo.is-reversed .mut-cronicas__hallazgo-body { order: initial; }
	.mut-cronicas__cita-quote { flex-direction: column; gap: 8px; }
	.mut-cronicas__cita-mark { font-size: 40px; }
}

/* Barra de filtros — enlace "Limpiar filtros" */
.mut-archive__filters-clear {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 40px;
	padding: 0 16px;
	font-family: var(--font-body);
	font-size: 16px;
	color: var(--mut-black);
	text-decoration: none;
	background: transparent;
	border: 1px solid transparent;
}
.mut-archive__filters-clear:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Buscador de filtros: el icono de lupa es botón submit */
.mut-dropdown__search-btn {
	pointer-events: auto;
	border: 0;
	background: transparent;
	padding: 0;
	margin: 0;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
}
.mut-dropdown__search-btn:hover { opacity: .6; }

/* Filtro de fecha por rango (flatpickr) */
.mut-daterange__input { text-transform: none; cursor: pointer; }
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.startRange,
.flatpickr-day.selected.endRange {
	background: var(--mut-blue);
	border-color: var(--mut-blue);
	color: var(--mut-black);
}
.flatpickr-day.inRange {
	background: #eaf7fa;
	border-color: #eaf7fa;
	box-shadow: -5px 0 0 #eaf7fa, 5px 0 0 #eaf7fa;
}
.flatpickr-day.today { border-color: var(--mut-black); }
.flatpickr-day.today:hover { background: var(--mut-blue); border-color: var(--mut-blue); color: var(--mut-black); }

/* Ancla de la barra de filtros (offset por el header fijo) */
.mut-archive__filters { scroll-margin-top: 130px; }

/* ============================================================
   Categoría — Estrato sub-categoría destacada (ej. Entrevista al Chef)
   Fondo full-bleed oscuro + intro a la izq + slider de cards a la der.
   ============================================================ */
.mut-chef {
	position: relative;
	background-color: #1d1a17;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	color: #fbfbfa;
	overflow: hidden;
}
.mut-chef::before {
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(90deg, rgba(18,14,10,.88) 0%, rgba(18,14,10,.55) 45%, rgba(18,14,10,.2) 100%);
	z-index: 0;
}
.mut-chef__inner {
	position: relative; z-index: 1;
	display: grid;
	grid-template-columns: minmax(280px, 34%) 1fr;
	gap: 48px;
	align-items: center;
	min-height: 620px;
	padding: 48px 48px 48px;
	padding-left: clamp(24px, 5vw, 80px);
}
.mut-chef__intro { max-width: 360px; }
.mut-chef__title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(2.4rem, 4vw, 3.2rem);
	line-height: 1.05;
	margin: 0 0 20px;
}
.mut-chef__title .italic { font-style: italic; font-weight: 500; }
.mut-chef__desc { font-family: var(--font-body); font-size: 16px; line-height: 1.5; margin: 0; }
.mut-chef__slider { position: relative; min-width: 0; }
.mut-chef__track {
	display: flex;
	gap: 20px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-bottom: 4px;
}
.mut-chef__track::-webkit-scrollbar { display: none; }
.mut-chef__card {
	flex: 0 0 320px;
	scroll-snap-align: start;
	background: #fbfbfa;
	color: var(--mut-black);
	text-decoration: none;
	padding: 24px;
	display: flex;
	flex-direction: column;
}
.mut-chef__card-media { aspect-ratio: 1 / 1; overflow: hidden; margin-bottom: 16px; background: var(--mut-gray-light); }
.mut-chef__card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mut-chef__card-name { font-family: var(--font-display); font-weight: 600; font-size: clamp(1.3rem, 1.8vw, 1.6rem); line-height: 1.15; margin: 0 0 4px; }
.mut-chef__card-role { font-family: var(--font-body); font-size: 15px; color: var(--mut-black); opacity: .75; }
.mut-chef__nav { display: flex; align-items: center; justify-content: flex-end; gap: 24px; margin-top: 24px; padding-right: clamp(24px, 5vw, 40px); }
.mut-chef__count { font-family: var(--font-mono); font-size: 14px; letter-spacing: .08em; }
.mut-chef__count-sep { opacity: .5; }
.mut-chef__arrows { display: flex; }
.mut-chef__arrow { width: 48px; height: 48px; border: 1px solid #fbfbfa; background: transparent; color: #fbfbfa; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .15s ease, color .15s ease; }
.mut-chef__arrow + .mut-chef__arrow { margin-left: -1px; }
.mut-chef__arrow:hover { background: #fbfbfa; color: var(--mut-black); }
@media (max-width: 991.98px) {
	.mut-chef__inner { grid-template-columns: 1fr; gap: 32px; min-height: 0; padding-right: clamp(24px, 5vw, 40px); }
	.mut-chef__intro { max-width: none; }
}
@media (max-width: 575.98px) {
	.mut-chef__card { flex-basis: 80%; }
}

/* Estrato masonry sub-categoría (Sabores del Chef) — head con "Ver más" */
.mut-sabores__head { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin-bottom: 40px; }
.mut-sabores__head .mut-cat__cards-title { margin: 0; }
.mut-sabores__more { flex-shrink: 0; }

/* ============================================================
   Single Entrevista al Chef — rediseño (hero beige, bloques flexibles)
   ============================================================ */
.mut-entrevista__hero {
	background: #e4d9d2;
	padding: 180px 0 64px;
}
.mut-entrevista__hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 40px;
	align-items: center;
}
.mut-entrevista__role {
	font-family: var(--font-mono);
	font-size: 14px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--mut-black);
	margin: 24px 0 0;
}
.mut-entrevista__bajada {
	font-family: var(--font-display);
	font-size: 20px;
	line-height: 1.55;
	color: var(--mut-black);
	margin: 48px 0 0;
	max-width: 340px;
}
.mut-entrevista__hero-media {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 380px;
}
.mut-entrevista__hero-img { position: relative; overflow: hidden; aspect-ratio: 4 / 5; width: 52%; }
.mut-entrevista__hero-img--1 { z-index: 1; }
.mut-entrevista__hero-img--2 { width: 74.88%; margin-left: -8%; transform: rotate(4deg); z-index: 2; box-shadow: 0 16px 32px rgba(0,0,0,.18); }
.mut-entrevista__hero-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

.mut-entrevista__intro {
	background: var(--mut-beige);
	padding: 64px 0;
}
.mut-entrevista__intro-grid {
	display: grid;
	grid-template-columns: 316.8px 1fr;
	gap: 64px;
	align-items: start;
}
.mut-entrevista__intro-img { transform: rotate(-3deg); align-self: end; }
.mut-entrevista__intro-img img { width: 100%; height: auto; display: block; }
.mut-entrevista__intro-text { max-width: 620px; }
.mut-entrevista__intro-text p { font-family: var(--font-body); font-size: 17px; line-height: 1.6; color: var(--mut-black); margin: 0 0 20px; }
.mut-entrevista__intro-text p:last-child { margin-bottom: 0; }

.mut-entrevista__cita { background: var(--mut-off-white); padding: 48px 0; }
.mut-entrevista__cita-grid { display: grid; grid-template-columns: 1fr auto; gap: 48px; align-items: center; }
.mut-entrevista__cita-quote { margin: 0; display: flex; gap: 16px; align-items: flex-start; max-width: 600px; }
.mut-entrevista__cita-mark { font-family: Georgia, serif; font-size: 64px; line-height: .6; color: var(--mut-black); flex-shrink: 0; }
.mut-entrevista__cita-quote p {
	font-family: var(--font-display);
	font-size: clamp(1.3rem, 2vw, 1.875rem);
	line-height: 1.3;
	color: var(--mut-black);
	margin: 12px 0 0;
}
.mut-entrevista__cita-img { width: 280px; aspect-ratio: 4 / 3; overflow: hidden; flex-shrink: 0; }
.mut-entrevista__cita-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

.mut-entrevista__pregunta {
	background: var(--mut-beige);
	padding: 48px 0;
}
.mut-entrevista__pregunta-title {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: clamp(1.3rem, 2vw, 1.5rem);
	line-height: 1.35;
	color: var(--mut-black);
	margin: 0 0 32px;
	max-width: 820px;
}
.mut-entrevista__pregunta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.mut-entrevista__pregunta.has-lateral .mut-entrevista__pregunta-grid { grid-template-columns: 1fr 1fr auto; }
.mut-entrevista__pregunta-col p {
	font-family: var(--font-body);
	font-size: 18px;
	line-height: 1.6;
	color: var(--mut-black);
	margin: 0 0 16px;
}
.mut-entrevista__pregunta-col p:last-child {
	margin-bottom: 0;
}
.mut-entrevista__pregunta-img { margin-top: 20px; }
.mut-entrevista__pregunta-img img { width: 100%; height: auto; display: block; }
.mut-entrevista__pregunta-lateral { width: 200px; flex-shrink: 0; }
.mut-entrevista__pregunta-lateral img { width: 100%; height: auto; display: block; }

.mut-entrevista__imagen-full { background: var(--mut-off-white); }
.mut-entrevista__imagen-full img { width: 100%; height: auto; max-height: 720px; object-fit: cover; display: block; }

.mut-entrevista__negocio { background: var(--mut-off-white); padding: 24px 0 48px; }
.mut-entrevista__negocio-card { display: flex; gap: 24px; background: var(--mut-beige); padding: 24px; max-width: 640px; }
.mut-entrevista__negocio-img { width: 140px; height: 140px; flex-shrink: 0; overflow: hidden; }
.mut-entrevista__negocio-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mut-entrevista__negocio-body { display: flex; flex-direction: column; gap: 6px; }
.mut-entrevista__negocio-cat { display: flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: var(--mut-black); }
.mut-entrevista__negocio-nombre { font-family: var(--font-display); font-weight: 600; font-size: clamp(1.4rem, 2vw, 1.8rem); margin: 0; color: var(--mut-black); }
.mut-entrevista__negocio-piso { font-family: var(--font-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--mut-black); opacity: .7; }
.mut-entrevista__negocio-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 8px;
	background: var(--mut-yellow);
	color: var(--mut-black);
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 15px;
	padding: 12px 20px;
	text-decoration: none;
	width: fit-content;
	transition: opacity .15s ease;
}
.mut-entrevista__negocio-btn:hover { opacity: .85; }

.mut-entrevista__meta { background: var(--mut-off-white); padding: 24px 0; border-top: 1px solid rgba(13,13,13,.12); }
.mut-entrevista__meta-bar { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.mut-entrevista__meta-info { display: flex; align-items: center; gap: 20px; font-family: var(--font-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--mut-black); }

@media (max-width: 767.98px) {
	.mut-entrevista__hero { padding: 120px 20px 40px; }
	.mut-entrevista__hero-grid { grid-template-columns: 1fr; gap: 32px; }
	.mut-entrevista__hero-media { min-height: 0; margin-top: 8px; }
	.mut-entrevista__intro { padding: 40px 20px; }
	.mut-entrevista__intro-grid { grid-template-columns: 1fr; gap: 24px; }
	.mut-entrevista__intro-img { width: 201.6px; align-self: auto; }
	.mut-entrevista__cita { padding: 32px 20px; }
	.mut-entrevista__cita-grid { grid-template-columns: 1fr; gap: 24px; }
	.mut-entrevista__cita-mark { font-size: 40px; }
	.mut-entrevista__cita-img { width: 100%; }
	.mut-entrevista__pregunta { padding: 32px 20px; }
	.mut-entrevista__pregunta-grid,
	.mut-entrevista__pregunta.has-lateral .mut-entrevista__pregunta-grid { grid-template-columns: 1fr; gap: 24px; }
	.mut-entrevista__pregunta-lateral { width: 100%; }
	.mut-entrevista__negocio { padding-left: 20px; padding-right: 20px; }
	.mut-entrevista__negocio-card { flex-direction: column; max-width: 100%; }
	.mut-entrevista__negocio-img { width: 100%; height: 200px; }
	.mut-entrevista__meta { padding-left: 20px; padding-right: 20px; }
	.mut-entrevista__meta-bar { flex-direction: column; align-items: flex-start; gap: 12px; }
}

/* Single Blog — byline, párrafo simple, collage (reusa .mut-entrevista__* para cita/sección/imagen-full/negocio) */
.mut-blog__byline {
	font-family: var(--font-mono);
	font-size: 13px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--mut-black);
	margin: 16px 0 0;
	display: flex;
	align-items: center;
	gap: 10px;
}
.mut-blog__byline-sep { opacity: .5; }
.mut-blog__parrafo { background: var(--mut-off-white); padding: 40px 0 48px; }
.mut-blog__parrafo p { font-family: var(--font-body); font-size: 17px; line-height: 1.6; color: var(--mut-black); max-width: 720px; margin: 0 0 20px; }
.mut-blog__parrafo p:last-child { margin-bottom: 0; }
@media (max-width: 767.98px) {
	.mut-blog__parrafo { padding: 40px 20px 48px; }
}
.mut-blog__collage { background: var(--mut-off-white); padding: 24px 0 64px; }
.mut-blog__collage-wrap { position: relative; }
.mut-blog__collage-main { width: 100%; height: auto; max-height: 640px; object-fit: cover; display: block; }
.mut-blog__collage-inset {
	position: absolute;
	left: 32px;
	bottom: -40px;
	width: 220px;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	box-shadow: 0 16px 32px rgba(0,0,0,.22);
}

@media (max-width: 767.98px) {
	.mut-blog__collage-inset { width: 140px; left: 16px; bottom: -24px; }
	.mut-blog__collage { padding-bottom: 48px; }
}

/* Single chef — "Te podría interesar" (grid de cards de chef) */
.mut-chefrelated { background: #e4d9d2; padding: 64px 0 96px; }
.mut-chefrelated .mut-cat__cards-title { margin: 0 0 40px; }
.mut-chefrelated__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.mut-chefrelated__grid .mut-chef__card { flex: none; width: auto; }
@media (max-width: 991.98px) { .mut-chefrelated__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575.98px) {
	.mut-chefrelated__grid { grid-template-columns: 1fr; }
	.mut-chefrelated { padding: 64px 20px 96px; }
}

/* ============================================================
   Single Receta (Sabores del Chef) — 2 columnas
   ============================================================ */
.mut-receta { background: var(--mut-beige); }
.mut-receta__hero { padding: 160px 0 80px; }
.mut-receta__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.mut-receta__title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(2.6rem, 5vw, 4rem);
	line-height: 1.12;
	margin: 0 0 16px;
	color: var(--mut-black);
}
.mut-receta__byline { font-family: var(--font-display); font-style: italic; font-weight: 500; font-size: clamp(1.4rem, 2.4vw, 1.9rem); margin: 0 0 24px; color: var(--mut-black); }
.mut-receta__meta { display: flex; flex-wrap: wrap; margin-bottom: 28px; }
.mut-receta__chip { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 14px; border: 1px solid var(--mut-black); margin-left: -1px; font-family: var(--font-mono); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--mut-black); }
.mut-receta__chip:first-child { margin-left: 0; }
.mut-receta__chip svg { flex: none; }
.mut-receta__share { margin-bottom: 8px; }
.mut-receta__ingredientes,
.mut-receta__pasos { list-style: none; margin: 0; padding: 28px 0; border-top: 1px solid var(--mut-black); }
.mut-receta__ingredientes { display: flex; flex-direction: column; gap: 16px; margin-top: 24px; }
.mut-receta__ingredientes li { font-family: var(--font-body); font-size: 17px; color: var(--mut-black); }
.mut-receta__pasos { counter-reset: paso; display: flex; flex-direction: column; gap: 18px; }
.mut-receta__pasos li { counter-increment: paso; display: grid; grid-template-columns: 26px 1fr; gap: 6px; font-family: var(--font-body); font-size: 17px; line-height: 1.45; color: var(--mut-black); }
.mut-receta__pasos li::before { content: counter(paso) "."; }
.mut-receta__media img { width: 100%; height: auto; display: block; }
@media (max-width: 991.98px) {
	.mut-receta__grid { grid-template-columns: 1fr; gap: 32px; }
	.mut-receta__media { order: -1; }
	.mut-receta__hero { padding: 160px 20px 80px; }
}

/* ============================================================
   Pisos — versión MOBILE (barra inferior + overlay en cascada)
   Oculto en desktop; visible ≤991.98px. El strip/drawer desktop sigue oculto en mobile.
   ============================================================ */
.mut-pisos-m { display: none; }
@media (max-width: 991.98px) {
	.mut-pisos-m { display: block; }

	/* Barra inferior fija "PISOS" */
	.mut-pisos-m__bar {
		position: fixed; left: 15px; right: 15px; bottom: 15px; z-index: 1040;
		width: auto; height: 56px;
		display: flex; align-items: center; justify-content: center; gap: 12px;
		background: var(--mut-off-white); color: var(--mut-black);
		border: 1px solid var(--mut-black); cursor: pointer;
		font-family: var(--font-mono); font-size: 18px; letter-spacing: .12em; text-transform: uppercase;
	}
	.mut-pisos-m__bar-icon { width: 22px; height: 22px; }
	.mut-pisos-m__bar.is-open { background: var(--mut-black); color: var(--mut-off-white); }
	.mut-pisos-m__bar.is-open .mut-pisos-m__bar-icon { filter: brightness(0) invert(1); }

	/* Overlay oscuro con los pisos */
	.mut-pisos-m__overlay {
		position: fixed; inset: 0 0 0 0; z-index: 1039;
		background: rgba(13, 13, 13, .92);
		display: flex; flex-direction: column; align-items: flex-end; justify-content: center;
		padding: 80px 15px 24px;
		overflow-y: auto; scrollbar-width: none;
		visibility: hidden; opacity: 0; pointer-events: none;
		transition: opacity .22s ease, visibility 0s linear .22s;
	}
	.mut-pisos-m__overlay::-webkit-scrollbar { width: 0; height: 0; display: none; }
	.mut-pisos-m__overlay.is-open { visibility: visible; opacity: 1; pointer-events: auto; transition: opacity .22s ease; }

	.mut-pisos-m__close {
		position: absolute; top: 20px; right: 15px;
		width: 48px; height: 48px;
		border: 1px solid #fff; background: transparent; color: #fff;
		display: flex; align-items: center; justify-content: center; cursor: pointer;
	}

	.mut-pisos-m__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; align-items: flex-end; width: 100%; }
	.mut-pisos-m__item a {
		display: inline-flex; align-items: center; justify-content: space-between; gap: 32px;
		min-width: 220px;
		padding: 16px 20px;
		margin-bottom: -1px;
		background: var(--mut-black); color: #fff; border: 1px solid #fff;
		text-decoration: none;
		font-family: var(--font-mono); font-size: 18px; line-height: 1; text-transform: uppercase;
	}
	.mut-pisos-m__item.is-active a, .mut-pisos-m__item a:hover { background: #fff; color: var(--mut-black); }
	.mut-pisos-m__num { display: inline-flex; align-items: center; }
	.mut-pisos-m__num svg { width: 16px; height: 16px; }

	/* Espacio para que la barra flotante no tape el final del contenido */
	/* body { padding-bottom: 86px; } */
}

/* ============================================================
   Buscador (overlay) — full-screen, fondo claro
   ============================================================ */
.mut-search-overlay {
	position: fixed; inset: 0; z-index: 1100;
	background: var(--mut-off-white);
	display: flex; flex-direction: column;
	padding: 80px 24px 48px;
	overflow-y: auto; scrollbar-width: none;
	visibility: hidden; opacity: 0; pointer-events: none;
	transition: opacity .22s ease, visibility 0s linear .22s;
}
.mut-search-overlay::-webkit-scrollbar { width: 0; height: 0; display: none; }
.mut-search-overlay.is-open { visibility: visible; opacity: 1; pointer-events: auto; transition: opacity .22s ease; }
.mut-search-overlay__close {
	position: absolute; top: 24px; right: 24px;
	width: 56px; height: 56px;
	border: 1px solid var(--mut-black); background: transparent; color: var(--mut-black);
	display: flex; align-items: center; justify-content: center; cursor: pointer;
}
.mut-search-overlay__inner { width: 100%; max-width: 680px; margin: 0 auto; display: flex; flex-direction: column; padding-top: 56px; }
.mut-search-overlay__title {
	font-family: var(--font-display); font-weight: 700;
	font-size: clamp(2.4rem, 9vw, 3.4rem); line-height: 1.05;
	text-align: center; color: var(--mut-black); margin: 0 0 44px;
}
.mut-search-overlay__form { position: relative; width: 100%; margin-bottom: 28px; }
.mut-search-overlay__form input {
	width: 100%; height: 64px; padding: 0 56px 0 20px;
	border: 1px solid var(--mut-black); background: transparent;
	font-family: var(--font-mono); font-size: 16px; text-transform: uppercase;
	color: var(--mut-black); outline: none;
}
.mut-search-overlay__form input::placeholder { color: var(--mut-black); text-transform: uppercase; }
.mut-search-overlay__form button {
	position: absolute; right: 16px; top: 50%; transform: translateY(-50%);
	width: 28px; height: 28px; border: 0; background: transparent; color: var(--mut-black);
	display: flex; align-items: center; justify-content: center; cursor: pointer;
}
.mut-search-overlay__pop { width: 100%; }
.mut-search-overlay__pop-label { display: block; font-family: var(--font-body); font-size: 16px; color: rgba(13, 13, 13, .5); margin-bottom: 16px; }
.mut-search-overlay__pop-chips { display: flex; flex-wrap: wrap; gap: 12px; }
.mut-search-overlay__chip {
	display: inline-flex; align-items: center; padding: 10px 16px;
	background: var(--mut-black); color: #fff;
	font-family: var(--font-body); font-size: 16px; text-decoration: none;
	transition: opacity .15s ease;
}
.mut-search-overlay__chip:hover { opacity: .85; }
.mut-search-overlay__illu { margin-top: 56px; text-align: center; }
.mut-search-overlay__illu img { width: auto; height: 200px; display: inline-block; }
@media (max-width: 575.98px) {
	.mut-search-overlay__illu img { height: 160px; }
}

/* Home eventos — un poco menos de margen lateral en mobile */
@media (max-width: 575.98px) {
	.mut-home__eventos { padding-left: 24px; padding-right: 24px; }
}

/* Home hero — deja espacio abajo para el horario overlaid */
@media (max-width: 575.98px) {
	.mut-home__hero-body { padding: 24px 24px 140px var(--mut-hero-edge); }
}

/* Single — textblock menos padding en mobile */
@media (max-width: 575.98px) {
	.mut-single__textblock { padding: 48px 0 0; }
	.mut-single__info { padding: 48px 20px 0; }
	.mut-single__bajada p { margin: 0 20px 24px; text-indent: 40px; }
	.mut-single__info-media { margin-bottom: 30px; }
}

/* Nuestro Proyecto — Qué es MUT, menos padding en mobile */
@media (max-width: 575.98px) {
	.mut-np__queesmut { padding: 24px 0 24px; }
}

/* Home "Lo encuentras en MUT" — menos margen lateral en mobile (consistente con eventos) */
@media (max-width: 575.98px) {
	.mut-home__mixed { padding-left: 9px; padding-right: 9px; }
	.mut-home__mixed .mut-mixcard, .mut-home__mixed .mut-mixcard--wide { height: 300px; aspect-ratio: auto; }
	/* Archive (Tiendas / Locales): cards cuadradas en mobile */
	.mut-archive__grid .mut-mixcard, .mut-archive__grid .mut-mixcard--wide, .mut-archive__grid .mut-evcard { height: 254px; aspect-ratio: auto; width: 100%; }
	/* Te podría interesar: cards con altura fija */
	.mut-single__related-grid .mut-mixcard, .mut-single__related-grid .mut-mixcard--wide, .mut-single__related-grid .mut-evcard { height: 254px; aspect-ratio: auto; width: 100%; }
}

/* Marquee CoMUTnidad — más rápido y con tipografía más chica en mobile, para alcanzar a leer más texto en pantalla */
@media (max-width: 575.98px) {
	.mut-home__marquee-track { animation-duration: 15s; font-size: clamp(1.5rem, 6.5vw, 2.5rem); }
}

/* Mobile — evita overflow horizontal en toda la página */
@media (max-width: 991.98px) {
	html, body { overflow-x: hidden; }
}

/* Footer — padding lateral menor en mobile */
@media (max-width: 575.98px) {
	.mut-footer { padding: 48px 24px; }
}

/* Postcard — bajada (extracto) solo en desktop */
.mut-postcard__bajada {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.5;
	color: var(--mut-black);
	margin: 10px 0 16px;
	max-width: 460px;
}
@media (max-width: 575.98px) {
	.mut-postcard__bajada { display: none; }
}

/* Footer — ajustes mobile (apilado, sin separadores) */
@media (max-width: 575.98px) {
	.mut-footer__inner > .mut-footer__credit { line-height: 200%; }
	.mut-footer__territoria { margin-left: 0; }

	/* Orden: Territoria → menú legal (van al final vía .mut-footer__bottom promovido) */
	.mut-footer__inner { display: flex; flex-direction: column; gap: 24px; }
	.mut-footer__bottom { display: contents; }
	.mut-footer__credit { order: 2; }
	.mut-footer__legal { order: 3; }

	/* Redes sociales: cubren el ancho con iconos más grandes */
	.mut-footer__social { display: flex; flex-wrap: nowrap; width: 100%; gap: 0; }
	.mut-footer__social a { flex: 1 1 0; height: 60px; min-width: 0; }
	.mut-footer__social svg,
	.mut-footer__social img { width: 28px; height: 28px; }
	.mut-footer__links li { display: block; }
	.mut-footer__links li + li::before,
	.mut-footer__links > a + a::before { content: none; display: none; }
	.mut-footer__legal li { list-style: none; display: block; }
}

/* Footer — apilar links y legales en columna (mobile) */
@media (max-width: 575.98px) {
	.mut-footer__legal { flex-direction: column; }
	.mut-footer__links { flex-direction: column; align-items: baseline; }
}

/* Menú global por encima de la barra/overlay de Pisos en mobile (para ver las redes del menú) */
@media (max-width: 991.98px) {
	.mut-navbar { z-index: 1050; }
}

/* Mobile: items del menú alineados al borde derecho + top bar visible sobre el overlay */
@media (max-width: 991.98px) {
	.mut-mainnav__overlay { align-items: stretch; }
	.mut-mainnav__overlay .mut-mainnav__menu { width: 100%; }
	.mut-mainnav__overlay .mut-mainnav__menu > li { width: 100%; justify-content: flex-end; }
	.mut-topbar { z-index: 3; }
	/* Provisional: ocultar selector de idiomas en el menú mobile (pendiente diseño) */
	.mut-mainnav__menu-lang { display: none; }
}

/* Mobile: ajustes de padding/anchos en archivos (Ver y hacer / Tiendas / Locales) */
@media (max-width: 575.98px) {
	.mut-archive__posts-strip { padding: 24px 16px; }
	/* Strip de posts (Local/Tienda/Evento) → slider horizontal en mobile */
	.mut-archive__posts-grid {
		display: flex;
		grid-template-columns: none;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		gap: 12px;
		scrollbar-width: none;
		padding-left: 10px;
		padding-right: 10px;
	}
	.mut-archive__posts-grid::-webkit-scrollbar { display: none; }
	.mut-archive__post { flex: 0 0 86%; scroll-snap-align: start; }
	.mut-archive__intro { padding: 48px 16px; }
	.mut-archive__filters { padding: 24px 16px 16px; }
	.mut-dropdown { margin-bottom: 0; border-right: 1px solid #333; border-bottom: 0; }
	.mut-archive__filters-form .mut-dropdown:last-of-type { border-bottom: 1px solid #333; }
	.mut-archive__filters-form .mut-dropdown--search { border-bottom: 1px solid #333; }
	.mut-archive__grid { padding: 0px 0px 0px; }
	.mut-archive__list { padding: 0 16px 48px; }
	.mut-archive__active-filters { padding: 8px 16px 24px; }
	.mut-archive__grid .mut-evcard { width: 100%; }
	.mut-thero__tag { padding: 14px 5px; }
	.mut-related { padding: 48px 15px 48px; }
	.mut-single__related { padding: 48px 5px 48px; }
	.mut-single__related-title { font-size: 32px; }
	.mut-ofic__intro { padding: 48px 16px; }
	.mut-bici__faq { padding: 48px 24px 48px; }
	.mut-serv__main { padding: 48px 24px 48px; }
	.mut-arr__intro { padding: 48px 16px 48px; }
	.mut-arr__nav { padding: 24px 16px 24px; }
}

/* Relevanssi Live Ajax Search — ocultar el status "N results found. Press enter..." */
.relevanssi-live-search-result-status { display: none; }
