/*
 * PROTOTIPO — PORTADA CINEMÁTICA. SÓLO STAGING.
 *
 * Dos modos, y el contenido es el mismo en los dos:
 *   · ESTÁTICO (sin JS o con "reducir movimiento"): cada apartado es un panel
 *     a pantalla completa con su estancia de fondo. Nada se mueve ni se oculta.
 *   · CINE (`html.mgc-cine`, lo pone un script en <head> antes de pintar):
 *     las estancias pasan a una capa fija, se funden entre sí y la cámara
 *     avanza con el scroll. El scroll es el del navegador, sin secuestrar.
 *
 * Marca (BRANDING.md §18-21): noir #14110E, dorado #D4AF37, Poppins y
 * Cormorant sólo en claims. Easing único cubic-bezier(.2,.7,.2,1), entradas
 * de 14 px como máximo y nunca más de 800 ms.
 */

body.mgc-pagina {
	--noir: #14110E;
	--noir-2: #1B1710;
	--or: #D4AF37;
	--or-lite: #F1DB95;
	--or-soft: #997C21;
	--crema: #F4EFE4;
	--xampany: #EFE7D6;
	--filet: 1px solid rgba(212, 175, 55, .26);
	--ease: cubic-bezier(.2, .7, .2, 1);
	--degradat: linear-gradient(135deg, #F1DB95, #D4AF37 48%, #997C21);
	--barra: 64px;
	--baix: 0px;
	--admin: var(--wp-admin--admin-bar--height, 0px);

	margin: 0;
	background: var(--noir);
	color: var(--crema);
	font-family: Poppins, "Helvetica Neue", Arial, sans-serif;
	font-weight: 400;
	letter-spacing: .01em;
	-webkit-font-smoothing: antialiased;
}
@media (min-width: 1180px) {
	body.mgc-pagina { --barra: 76px; }
}
.mgc-js body.mgc-pagina { --baix: 64px; }
@media (min-width: 1180px) {
	.mgc-js body.mgc-pagina { --baix: 0px; }
}

.mgc-pagina *, .mgc-pagina *::before, .mgc-pagina *::after { box-sizing: border-box; }
.mgc-pagina img { max-width: none; }

.mgc-ocult,
.mgc-pagina .mgc-nav__resta {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ---------- Foco visible en todo ---------- */
.mgc-pagina a:focus-visible,
.mgc-pagina button:focus-visible,
.mgc-pagina input:focus-visible,
.mgc-pagina select:focus-visible {
	outline: 2px solid var(--or-lite);
	outline-offset: 3px;
	box-shadow: none;
}
.mgc-pagina .mgc-nav a:focus-visible {
	outline: 2px solid var(--or-lite);
	outline-offset: 2px;
}
/* Al hacer clic con el ratón no sale ningún recuadro en la barra de arriba (Alex, 2026-09-29); con teclado, sí. */
.mgc-pagina .mgc-barra a:focus:not(:focus-visible),
.mgc-pagina .mgc-barra button:focus:not(:focus-visible) {
	outline: none;
}
.mgc-pagina .mgc-capitol--clar a:focus-visible,
.mgc-pagina .mgc-capitol--clar button:focus-visible {
	outline-color: var(--noir-2);
}

.mgc-salt {
	position: fixed;
	left: 12px;
	top: calc(var(--admin) + 8px);
	z-index: 100;
	padding: 12px 18px;
	border-radius: 13px;
	background: var(--noir-2);
	color: var(--crema) !important;
	transform: translateY(-160%);
}
.mgc-salt:focus { transform: none; }

/* =================================================================
   BARRA SUPERIOR
   ================================================================= */
.mgc-barra {
	position: sticky;
	top: var(--admin);
	z-index: 40;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	padding: 8px 16px;
	background: rgba(20, 17, 14, .94);
	border-bottom: var(--filet);
}
.mgc-js .mgc-barra {
	position: fixed;
	left: 0; right: 0;
	flex-wrap: nowrap;
	height: var(--barra);
	padding-block: 0;
	/* SIN backdrop-filter, a propósito: igual que transform, convierte la barra
	   en el contenedor de sus hijos `position: fixed`, y la hoja del índice
	   (que vive dentro de esta barra) se colocaba respecto a la barra, fuera de
	   la pantalla. Medido: el botón decía "abierto" y no se veía nada. */
	background: linear-gradient(to bottom, rgba(20, 17, 14, .95), rgba(20, 17, 14, .84));
}

.mgc-pagina .mgc-marca {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-right: auto;
	color: var(--xampany);
	text-decoration: none;
}
.mgc-marca__logo {
	display: block;
	width: 40px;
	height: 40px;
	object-fit: contain;
}
.mgc-marca__nom {
	max-width: 12.6em;
	font-size: 9.5px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: .32em;
	text-transform: uppercase;
}
@media (min-width: 1180px) {
	.mgc-marca__logo { width: 46px; height: 46px; }
	.mgc-marca__nom { font-size: 10px; }
}

/* Navegación de apartados.
   Sin JS en pantallas estrechas: una fila que se desliza bajo la marca.
   Con JS y por debajo de 1180 px: hoja que abre el botón "Índice".
   Desde 1180 px: en línea en la barra, con el progreso bajo el activo. */
.mgc-nav { order: 3; flex-basis: 100%; overflow-x: auto; }
.mgc-nav ol {
	display: flex;
	gap: 6px;
	margin: 0;
	padding: 0 0 4px;
	list-style: none;
}
.mgc-pagina .mgc-nav a {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 12px;
	border-radius: 10px;
	color: rgba(244, 239, 228, .74);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .18em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}
.mgc-nav__num { color: var(--or); font-size: 10px; letter-spacing: .1em; }
.mgc-pagina .mgc-nav a:hover { color: var(--crema); }
.mgc-pagina .mgc-nav a[aria-current="true"] { color: var(--or-lite); }

@media (max-width: 1179px) {
	.mgc-js .mgc-nav {
		position: fixed;
		left: 12px; right: 12px;
		bottom: calc(var(--baix) + 10px);
		z-index: 45;
		overflow: visible;
		padding: 8px;
		border: var(--filet);
		border-radius: 14px;
		background: var(--noir-2);
		box-shadow: 0 18px 48px rgba(0, 0, 0, .45);
		opacity: 0;
		visibility: hidden;
		transform: translateY(14px);
		transition: opacity .3s var(--ease), transform .3s var(--ease), visibility 0s linear .3s;
	}
	.mgc-js .mgc-nav.es-oberta {
		opacity: 1;
		visibility: visible;
		transform: none;
		transition: opacity .3s var(--ease), transform .3s var(--ease);
	}
	.mgc-js .mgc-nav ol { flex-direction: column; gap: 2px; padding: 0; }
	.mgc-js .mgc-nav a { min-height: 56px; padding: 0 16px; font-size: 12px; white-space: normal; }
	.mgc-js .mgc-nav a[aria-current="true"] { background: rgba(212, 175, 55, .1); }
	.mgc-js .mgc-nav .mgc-nav__resta { position: static !important; width: auto; height: auto; margin: 0; clip: auto; overflow: visible; white-space: normal; }
}

@media (min-width: 1180px) {
	.mgc-nav { order: 0; flex-basis: auto; overflow: visible; }
	.mgc-nav ol { gap: clamp(2px, .6vw, 10px); padding: 0; }
	.mgc-pagina .mgc-nav a { padding: 0 clamp(6px, .7vw, 12px); }
	.mgc-pagina .mgc-nav a::after {
		content: "";
		position: absolute;
		left: clamp(6px, .7vw, 12px);
		right: clamp(6px, .7vw, 12px);
		bottom: 8px;
		height: 1px;
		background: var(--or);
		transform: scaleX(0);
		transform-origin: left center;
	}
	.mgc-pagina .mgc-nav a[aria-current="true"]::after { transform: scaleX(var(--p, 1)); }
}

/* =================================================================
   BOTONES Y ENLACES
   ================================================================= */
.mgc-pagina .mgc-boto {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 64px;
	padding: 0 26px;
	border: 1px solid transparent;
	border-radius: 13px;
	font-family: Poppins, "Helvetica Neue", Arial, sans-serif;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .16em;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: filter .25s var(--ease), background-color .25s var(--ease), border-color .25s var(--ease);
}
@media (min-width: 768px) {
	.mgc-pagina .mgc-boto { min-height: 56px; }
}
.mgc-pagina .mgc-boto--primari {
	background: var(--degradat);
	color: var(--noir-2);
	box-shadow: 0 10px 28px rgba(20, 17, 14, .28);
}
.mgc-pagina .mgc-boto--primari:hover { filter: brightness(1.06); color: var(--noir-2); }
.mgc-pagina .mgc-boto--fantasma {
	background: rgba(20, 17, 14, .38);
	border-color: rgba(241, 219, 149, .55);
	color: var(--crema);
}
.mgc-pagina .mgc-boto--fantasma:hover { background: rgba(20, 17, 14, .6); border-color: var(--or-lite); color: var(--crema); }
.mgc-pagina .mgc-capitol--clar .mgc-boto--fantasma {
	background: rgba(244, 239, 228, .55);
	border-color: rgba(27, 23, 16, .42);
	color: var(--noir-2);
}
.mgc-pagina .mgc-capitol--clar .mgc-boto--fantasma:hover { background: rgba(244, 239, 228, .9); border-color: var(--noir-2); }

.mgc-pagina .mgc-whatsapp-barra {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border: 1px solid rgba(241, 219, 149, .38);
	border-radius: 13px;
	color: var(--or-lite);
}
.mgc-pagina .mgc-whatsapp-barra svg { width: 22px; height: 22px; }
.mgc-pagina .mgc-whatsapp-barra:hover { border-color: var(--or-lite); color: var(--crema); }
@media (max-width: 1179px) {
	/* Con JS, en estrecho va en la barra inferior. */
	.mgc-js .mgc-pagina .mgc-whatsapp-barra { display: none; }
}
@media (min-width: 1180px) and (max-width: 1319px) {
	/* Sitio para seis apartados, WhatsApp y el buscador: la marca queda en
	   isotipo (monograma solo), que el manual admite. El nombre sigue en la
	   etiqueta accesible del enlace. */
	.mgc-marca__nom { display: none; }
}

.mgc-pagina .mgc-boto--barra {
	flex: none;
	min-height: 44px;
	padding: 0 14px;
	font-size: 10.5px;
	letter-spacing: .14em;
}
@media (min-width: 1180px) {
	.mgc-pagina .mgc-boto--barra { min-height: 48px; padding: 0 18px; }
}

.mgc-pagina .mgc-enllac a,
.mgc-pagina .mgc-canals a {
	color: var(--crema);
	text-decoration: underline;
	text-decoration-color: rgba(212, 175, 55, .7);
	text-decoration-thickness: 1px;
	text-underline-offset: 5px;
}
.mgc-pagina .mgc-enllac a:hover,
.mgc-pagina .mgc-canals a:hover { text-decoration-color: var(--or-lite); }

/* =================================================================
   CAPÍTULOS — MODO ESTÁTICO (base)
   ================================================================= */
.mgc { display: block; }

.mgc-capitol {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: flex;
	min-height: 100vh;
	min-height: 100svh;
	scroll-margin-top: 0;
}

.mgc-fons {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
	background: var(--noir);
}
.mgc-capitol--clar .mgc-fons { background: var(--crema); }
.mgc-fons picture,
.mgc-fons img {
	display: block;
	width: 100%;
	height: 100%;
}
.mgc-fons img {
	object-fit: cover;
	object-position: var(--mgc-enfoc, 50% 50%);
}
@media (min-aspect-ratio: 16/10) {
	.mgc-fons img { object-position: 50% 50%; }
	.mgc-capitol--clar .mgc-fons img { object-position: 100% 50%; }
}

/* Velo: lo que hace legible el texto encima de la foto. Móvil: desde abajo. */
.mgc-fons::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(to bottom, rgba(20, 17, 14, .55) 0, rgba(20, 17, 14, 0) 22%),
		linear-gradient(to top, rgba(20, 17, 14, .97) 0%, rgba(20, 17, 14, .92) 40%, rgba(20, 17, 14, .8) 58%, rgba(20, 17, 14, .5) 76%, rgba(20, 17, 14, .2) 100%);
	box-shadow: inset 0 0 200px 46px rgba(20, 17, 14, .45);
}
/* El salón es la estancia más luminosa (sofá blanco, ventanal): en pantallas
   estrechas o verticales el título del buscador cae alto, donde el velo general
   no basta. Medido. Es el complemento exacto de la consulta de escritorio. */
@media (max-width: 899px), (max-aspect-ratio: 1/1) {
	#buscador .mgc-fons::after {
		background:
			linear-gradient(to top, rgba(20, 17, 14, .97) 0%, rgba(20, 17, 14, .94) 52%, rgba(20, 17, 14, .86) 70%, rgba(20, 17, 14, .66) 86%, rgba(20, 17, 14, .4) 100%);
	}
}
.mgc-capitol--clar .mgc-fons::after {
	background:
		linear-gradient(to bottom, rgba(20, 17, 14, .35) 0, rgba(20, 17, 14, 0) 18%),
		linear-gradient(to top, rgba(244, 239, 228, .98) 0%, rgba(244, 239, 228, .93) 44%, rgba(244, 239, 228, .35) 70%, rgba(244, 239, 228, 0) 100%);
	box-shadow: none;
}
@media (min-width: 900px) and (min-aspect-ratio: 1/1) {
	.mgc-fons::after {
		background:
			linear-gradient(to bottom, rgba(20, 17, 14, .5) 0, rgba(20, 17, 14, 0) 20%),
			linear-gradient(90deg, rgba(20, 17, 14, .94) 0%, rgba(20, 17, 14, .86) 36%, rgba(20, 17, 14, .66) 54%, rgba(20, 17, 14, .26) 72%, rgba(20, 17, 14, .04) 88%),
			linear-gradient(to top, rgba(20, 17, 14, .5) 0, rgba(20, 17, 14, 0) 35%);
	}
	.mgc-capitol--clar .mgc-fons::after {
		background:
			linear-gradient(to bottom, rgba(20, 17, 14, .28) 0, rgba(20, 17, 14, 0) 16%),
			linear-gradient(90deg, rgba(244, 239, 228, .97) 0%, rgba(244, 239, 228, .9) 32%, rgba(244, 239, 228, .2) 56%, rgba(244, 239, 228, 0) 70%);
	}
}

.mgc-escenari {
	display: flex;
	align-items: flex-end;
	width: 100%;
	padding: calc(var(--barra) + var(--admin) + 32px) 20px calc(var(--baix) + 32px);
}
@media (min-width: 768px) {
	.mgc-escenari { padding-inline: 48px; padding-bottom: calc(var(--baix) + 56px); }
}
@media (min-width: 1180px) {
	.mgc-escenari { padding-inline: clamp(56px, 7vw, 128px); padding-bottom: 9vh; }
}

.mgc-text {
	width: 100%;
	max-width: 40rem;
	color: var(--crema);
}
#buscador .mgc-text,
#contacto .mgc-text { max-width: 44rem; }
@media (min-width: 1180px) {
	#buscador .mgc-text { max-width: 58rem; }
}
.mgc-capitol--clar .mgc-text { color: var(--noir-2); }

/* =================================================================
   TIPOGRAFÍA
   ================================================================= */
.mgc-pagina .mgc-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 18px;
	color: var(--or);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .38em;
	text-transform: uppercase;
}
.mgc-pagina .mgc-eyebrow::before {
	content: "";
	flex: none;
	width: 6px;
	height: 6px;
	background: var(--or);
	transform: rotate(45deg);
}
.mgc-eyebrow__num { letter-spacing: .12em; }
.mgc-pagina .mgc-capitol--clar .mgc-eyebrow { color: var(--noir-2); }

.mgc-pagina .mgc-titol {
	margin: 0 0 16px;
	color: var(--xampany);
	font-family: Poppins, "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(2rem, 1.35rem + 3.1vw, 4.1rem);
	font-weight: 500;
	line-height: 1.08;
	letter-spacing: .02em;
	text-wrap: pretty;
}
.mgc-pagina .mgc-capitol--clar .mgc-titol { color: var(--noir); }
.mgc-pagina .mgc-capitol--fosc .mgc-titol { text-shadow: 0 2px 28px rgba(20, 17, 14, .55); }
.mgc-pagina .mgc-capitol--fosc .mgc-claim,
.mgc-pagina .mgc-capitol--fosc .mgc-cos,
.mgc-pagina .mgc-capitol--fosc .mgc-canals { text-shadow: 0 1px 14px rgba(20, 17, 14, .6); }

.mgc-pagina .mgc-claim {
	margin: 0 0 18px;
	color: var(--or-lite);
	font-family: Cormorant, Georgia, "Times New Roman", serif;
	font-size: clamp(1.35rem, 1.1rem + 1vw, 1.9rem);
	font-style: italic;
	font-weight: 500;
	line-height: 1.25;
}
.mgc-pagina .mgc-capitol--clar .mgc-claim { color: var(--noir-2); }

.mgc-pagina .mgc-cos {
	margin: 0 0 14px;
	max-width: 34rem;
	color: var(--crema);
	font-size: clamp(1rem, .95rem + .25vw, 1.125rem);
	font-weight: 400;
	line-height: 1.62;
}
.mgc-pagina .mgc-cos--secundari { font-weight: 300; color: rgba(244, 239, 228, .88); }
.mgc-pagina .mgc-capitol--clar .mgc-cos { color: var(--noir-2); }

.mgc-accions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 26px;
}
@media (max-width: 519px) {
	.mgc-accions .mgc-boto { flex: 1 1 100%; }
}

.mgc-pagina .mgc-avis-scroll {
	display: none;
	align-items: center;
	gap: 12px;
	margin: 34px 0 0;
	color: var(--noir-2);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .38em;
	text-transform: uppercase;
}
.mgc-avis-scroll span { width: 42px; height: 1px; background: var(--noir-2); }
@media (min-width: 768px) {
	.mgc-cine .mgc-avis-scroll { display: flex; }
}

/* ---------- Buscador: filtros reales de Estatik ---------- */
.mgc-cerca {
	display: grid;
	gap: 12px;
	margin: 24px 0 18px;
	padding: 16px;
	border: var(--filet);
	border-radius: 14px;
	background: rgba(20, 17, 14, .7);
}
@media (min-width: 340px) {
	.mgc-cerca { grid-template-columns: 1fr 1fr; }
	.mgc-camp--ample,
	.mgc-cerca .mgc-boto { grid-column: 1 / -1; }
}
@media (min-width: 1180px) {
	.mgc-cerca .mgc-boto { grid-column: auto; }
}
@media (min-width: 1180px) {
	.mgc-cerca { grid-template-columns: 1.5fr 1fr 1fr auto; align-items: end; }
	.mgc-camp--ample { grid-column: auto; }
}
.mgc-camp { display: grid; gap: 6px; }
.mgc-pagina .mgc-camp__nom {
	color: var(--or-lite);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: .24em;
	text-transform: uppercase;
}
.mgc-pagina .mgc-cerca input[type="text"],
.mgc-pagina .mgc-cerca select {
	width: 100%;
	min-height: 56px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid rgba(241, 219, 149, .42);
	border-radius: 13px;
	background-color: rgba(20, 17, 14, .72);
	color: var(--crema);
	font-family: Poppins, "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.2;
	box-shadow: none;
}
.mgc-pagina .mgc-cerca input[type="text"]::placeholder { color: rgba(244, 239, 228, .62); }
.mgc-pagina .mgc-cerca select {
	-webkit-appearance: none;
	appearance: none;
	padding-right: 44px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23D4AF37' stroke-width='1.6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 18px center;
}
.mgc-pagina .mgc-cerca option { color: var(--noir); background: var(--crema); }
@media (max-width: 419px) {
	/* A 360 px, en dos columnas, "Cualquiera" quedaba cortado por la flecha. */
	.mgc-pagina .mgc-cerca select { padding-left: 12px; padding-right: 30px; background-position: right 12px center; }
}
.mgc-pagina .mgc-cerca .mgc-boto { min-height: 56px; }

/* ---------- Contacto ---------- */
.mgc-canals {
	display: grid;
	gap: 14px;
	margin: 22px 0 0;
	padding: 18px 0 0;
	border-top: var(--filet);
	list-style: none;
}
.mgc-canals li { display: grid; gap: 2px; min-width: 0; font-size: 1.05rem; line-height: 1.5; }
.mgc-pagina .mgc-canals a { overflow-wrap: anywhere; }
.mgc-pagina .mgc-canals__nom {
	color: var(--or-lite);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: .24em;
	text-transform: uppercase;
}
.mgc-pagina .mgc-enllac { margin: 6px 0 0; font-size: 1rem; }

/* =================================================================
   PIE
   ================================================================= */
.mgc-peu {
	position: relative;
	z-index: 2;
	padding: 48px 20px calc(var(--baix) + 40px);
	border-top: var(--filet);
	background: var(--noir);
	text-align: center;
}
.mgc-pagina .mgc-peu p { margin: 0; }
.mgc-pagina .mgc-peu__marca {
	color: var(--xampany);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .32em;
	text-transform: uppercase;
}
.mgc-pagina .mgc-peu__lema { margin-top: 8px !important; color: var(--or-soft); font-size: 14px; }
.mgc-pagina .mgc-peu__nota { margin-top: 22px !important; color: rgba(244, 239, 228, .6); font-size: 12px; }

/* =================================================================
   BARRA DE PROGRESO INFERIOR (con JS, por debajo de 1180 px)
   ================================================================= */
.mgc-progres[hidden] { display: none !important; }
.mgc-progres {
	position: fixed;
	left: 0; right: 0; bottom: 0;
	z-index: 44;
	display: flex;
	align-items: center;
	gap: 12px;
	height: var(--baix);
	padding: 0 0 0 16px;
	border-top: var(--filet);
	background: rgba(20, 17, 14, .94);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
@media (min-width: 1180px) {
	.mgc-progres { display: none !important; }
}
.mgc-progres__segments {
	position: absolute;
	top: -1px; left: 0; right: 0;
	display: flex;
	gap: 3px;
	height: 3px;
}
.mgc-progres__segments span {
	flex: 1;
	background: rgba(212, 175, 55, .22);
	background-image: linear-gradient(var(--or), var(--or));
	background-repeat: no-repeat;
	background-size: calc(var(--p, 0) * 100%) 100%;
}
.mgc-pagina .mgc-progres__actual {
	flex: 1;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	color: var(--crema);
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: .14em;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}
.mgc-progres__num { margin-right: 6px; color: var(--or); }
.mgc-pagina .mgc-progres__whatsapp {
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	width: 64px;
	border-left: var(--filet);
	color: var(--or-lite);
}
.mgc-pagina .mgc-progres__whatsapp svg { width: 24px; height: 24px; }
.mgc-pagina .mgc-progres__whatsapp:hover { background: rgba(212, 175, 55, .12); color: var(--crema); }
.mgc-pagina .mgc-progres__boto {
	align-self: stretch;
	min-width: 96px;
	margin: 0;
	padding: 0 18px;
	border: 0;
	border-left: var(--filet);
	border-radius: 0;
	background: transparent;
	color: var(--or-lite);
	font-family: Poppins, "Helvetica Neue", Arial, sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	cursor: pointer;
}
.mgc-pagina .mgc-progres__boto:hover,
.mgc-pagina .mgc-progres__boto[aria-expanded="true"] { background: rgba(212, 175, 55, .12); color: var(--crema); }

/* =================================================================
   MODO CINE
   ================================================================= */
html.mgc-cine { scroll-behavior: smooth; }

.mgc-cine .mgc-capitol {
	display: block;
	isolation: auto;
	overflow: visible;
	min-height: 0;
	height: 165vh;
}
.mgc-cine .mgc-capitol:last-child { height: 140vh; }

/* Las estancias salen del flujo y forman una sola capa fija. El script decide
   cuáles existen (las de al lado de la actual), su opacidad y su cámara. */
.mgc-cine .mgc-fons {
	position: fixed;
	inset: 0;
	z-index: 0;
	display: none;
	opacity: 0;
	visibility: hidden;
}
.mgc-cine .mgc-fons.es-a-prop { display: block; }
.mgc-cine:not(.mgc-viu) .mgc-capitol:first-child .mgc-fons { display: block; opacity: 1; visibility: visible; }
.mgc-cine .mgc-fons img {
	transform-origin: var(--mgc-origen, 50% 50%);
	will-change: transform;
}

.mgc-cine .mgc-escenari {
	position: sticky;
	top: 0;
	z-index: 1;
	/* min-height y no height: si en un móvil bajo el texto no cabe en una
	   pantalla, la escena crece y se puede leer entera haciendo scroll, en vez
	   de quedar cortada por arriba bajo la barra. */
	min-height: 100vh;
	min-height: 100svh;
	/* Al fundirse la estancia siguiente, el texto que se va se apaga: así no
	   queda un texto oscuro sobre una estancia ya oscura (o al revés). */
	opacity: calc(1 - var(--sortida, 0));
}
.mgc-cine .mgc-escenari:focus-within { opacity: 1; }

/* Entrada de los textos: 14 px y 600 ms, escalonada. Si algo recibe el foco,
   aparece al instante: nunca hay que esperar a la animación para usarlo. */
.mgc-cine .mgc-text > * {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity .6s var(--ease), transform .6s var(--ease);
}
.mgc-cine .mgc-text > *:nth-child(2) { transition-delay: .12s; }
.mgc-cine .mgc-text > *:nth-child(3) { transition-delay: .24s; }
.mgc-cine .mgc-text > *:nth-child(4) { transition-delay: .36s; }
.mgc-cine .mgc-text > *:nth-child(n+5) { transition-delay: .48s; }
.mgc-cine .mgc-text.es-visible > *,
.mgc-cine .mgc-text:focus-within > * {
	opacity: 1;
	transform: none;
}
.mgc-cine .mgc-text:focus-within > * { transition-delay: 0s; }

@media (prefers-reduced-motion: reduce) {
	html.mgc-js { scroll-behavior: auto; }
	.mgc-pagina *, .mgc-pagina *::before, .mgc-pagina *::after {
		transition-duration: 0s !important;
		transition-delay: 0s !important;
		animation: none !important;
	}
}

/* El botón "volver arriba" de Astra sobra aquí: la navegación de apartados ya
   lleva al inicio, y en móvil tapaba la barra inferior. Sólo en esta página. */
.mgc-pagina #ast-scroll-top { display: none !important; }

/* La burbuja del plugin Chaty, fuera de esta página. Medido:
   · en móvil y tableta tapaba botones y textos ("Formulario de contacto" y
     "Conócenos" quedaban a contraste 1,06);
   · en escritorio mete 6 paradas de tabulador INVISIBLES (controles de su
     formulario interno con opacidad 0): quien navega con teclado se pierde.
   La sustituye el WhatsApp propio de la página, con el mismo número: arriba en
   escritorio, en la barra inferior en pantallas estrechas. Sólo con JS (sin JS
   Chaty tampoco funciona). Para recuperarla, borrar esta regla. */
.mgc-js .mgc-pagina [id^="chaty-widget"] { display: none !important; }

/* Recorrido v2: opening between rooms, editorial content and motion control. */
.mgc-cine .mgc-escenari{z-index:12;}
.mgc-peu{z-index:14;}
.mgc-fons::after,#buscador .mgc-fons::after{
 background:linear-gradient(180deg,rgba(20,17,14,.28),transparent 28%,transparent 78%,rgba(20,17,14,.24));
 box-shadow:none;
}
.mgc-capitol--clar .mgc-fons::after{background:linear-gradient(180deg,rgba(20,17,14,.12),transparent 26%);box-shadow:none;}
.mgc-text,#buscador .mgc-text,#contacto .mgc-text{
 max-width:560px;padding:28px 32px;background:rgba(20,17,14,.89);border:1px solid rgba(241,219,149,.18);
 border-radius:3px;box-shadow:0 18px 70px rgba(20,17,14,.14);
}
.mgc-capitol--clar .mgc-text{background:rgba(244,239,228,.94);border-color:rgba(20,17,14,.1);}
.mgc-pagina .mgc-titol{font-size:clamp(1.9rem,2.8vw,3.2rem);line-height:1.12;letter-spacing:-.025em;text-wrap:balance;}
.mgc-pagina .mgc-claim{font-size:clamp(1.3rem,1.65vw,1.65rem);}
.mgc-pagina .mgc-cos{font-size:15px;line-height:1.65;}
.mgc-pagina .mgc-eyebrow{font-size:10px;letter-spacing:.2em;margin-bottom:14px;}
.mgc-room-name{display:block;margin-bottom:22px;font-size:10px;text-transform:uppercase;letter-spacing:.28em;color:var(--or-lite);}
.mgc-capitol--clar .mgc-room-name{color:#594a29;}
.mgc-room-name::before{content:'';display:inline-block;width:28px;height:1px;background:currentColor;vertical-align:middle;margin-right:12px;}
.mgc-pagina .mgc-next{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:18px;border-top:1px solid rgba(241,219,149,.25);color:var(--crema);text-decoration:none;min-height:48px;}
.mgc-next>span{font-size:11px;opacity:.8;}
.mgc-next strong{font-size:13px;font-weight:500;}
.mgc-next strong span{display:inline-block;margin-left:10px;font-size:20px;}
.mgc-pagina .mgc-capitol--clar .mgc-next{color:var(--noir);border-color:rgba(20,17,14,.2);}
.mgc-pagina .mgc-motion{position:fixed;right:22px;bottom:22px;z-index:32;border:1px solid rgba(241,219,149,.4);border-radius:30px;background:rgba(20,17,14,.85);color:var(--crema);font:11px Poppins,sans-serif;padding:12px 18px;cursor:pointer;min-height:44px;}
.mgc-motion[hidden]{display:none!important;}
.mgc-cine .mgc-capitol{height:190vh;}
.mgc-cine .mgc-capitol:last-child{height:145vh;}
.mgc-cine .mgc-escenari{align-items:center;padding-top:calc(var(--barra) + 40px);padding-bottom:50px;pointer-events:none;}
.mgc-cine .mgc-text{pointer-events:auto;}
.mgc-cine .mgc-escenari[style*="--sortida: 1.000"] .mgc-text{pointer-events:none;}
.mgc-cine .mgc-text:focus-within{pointer-events:auto;}
.mgc-pagina .mgc-avis-scroll{display:none;}
.mgc-cerca{padding:0;border:0;background:transparent;grid-template-columns:1fr 1fr;gap:12px;}
.mgc-camp--ample,.mgc-cerca .mgc-boto{grid-column:1/-1;}
.mgc-pagina .mgc-canals a[href^="mailto:"]{font-size:clamp(11.5px,2.8vw,15px);letter-spacing:-.02em;overflow-wrap:normal;word-break:normal;}
.mgc-pagina .mgc-boto{min-height:52px;padding-inline:18px;font-size:10px;letter-spacing:.12em;}
.mgc-accions{gap:10px;margin-top:20px;}
.mgc-canals{gap:12px;}
.mgc-canals li{font-size:15px;}
@media(min-width:1180px){.mgc-escenari{padding-inline:5vw;}#buscador .mgc-text{max-width:590px;}}
@media(max-width:767px){
 .mgc-cine .mgc-capitol{height:auto;min-height:165svh;}
 .mgc-cine .mgc-capitol:last-child{height:auto;min-height:140svh;}
 .mgc-cine .mgc-escenari{align-items:flex-end;padding:calc(var(--barra) + 130px) 16px calc(var(--baix) + 66px);}
 .mgc-text,#buscador .mgc-text,#contacto .mgc-text{padding:22px 20px;background:rgba(20,17,14,.9);}
 .mgc-capitol--clar .mgc-text{background:rgba(244,239,228,.95);}
 .mgc-pagina .mgc-titol{font-size:28px;}
 .mgc-pagina .mgc-cos{font-size:14px;}
 .mgc-room-name{margin-bottom:16px;}
 .mgc-pagina .mgc-motion{right:16px;bottom:calc(var(--baix) + 12px);font-size:10px;padding:9px 14px;}
 .mgc-next>span{font-size:10px;}.mgc-next strong{font-size:12px;}
}
@media(prefers-reduced-motion:reduce){.mgc-motion{display:none!important;}}
.mgc-cine .mgc-escenari{opacity:calc((1 - var(--sortida,0))*var(--entrada,1));}
.mgc-cine .mgc-escenari:focus-within{opacity:1;}

/* v3: texto sobre la estancia y contenido completo en una pantalla. */
.mgc-text,#buscador .mgc-text,#contacto .mgc-text,
.mgc-capitol--clar .mgc-text{
 padding:0;background:none;border:0;border-radius:0;box-shadow:none;
}
.mgc-fons::after,#buscador .mgc-fons::after{
 background:linear-gradient(90deg,rgba(20,17,14,.88),rgba(20,17,14,.76) 30%,rgba(20,17,14,.34) 58%,rgba(20,17,14,.04) 82%);
}
.mgc-capitol--clar .mgc-fons::after{
 background:linear-gradient(90deg,rgba(244,239,228,.96),rgba(244,239,228,.85) 28%,rgba(244,239,228,.25) 56%,transparent 78%);
}
.mgc-cine .mgc-capitol{height:auto;min-height:125svh;align-items:flex-start;}
.mgc-cine .mgc-capitol:last-child{height:auto;min-height:100svh;}
.mgc-cine .mgc-escenari{
 align-self:flex-start;min-height:100svh;align-items:center;
 padding:calc(var(--barra) + var(--admin) + 24px) 5vw calc(var(--baix) + 44px);
}
.mgc-room-name{margin-bottom:12px;}
.mgc-pagina .mgc-next{margin-top:16px;padding-top:10px;}
.mgc-pagina .mgc-cerca{margin:18px 0 12px;}
@media(min-width:1180px){
 #buscador .mgc-text{max-width:760px;}
 .mgc-pagina .mgc-cerca{grid-template-columns:1.4fr 1fr 1fr auto;gap:10px;}
 .mgc-camp--ample,.mgc-cerca .mgc-boto{grid-column:auto;}
}
@media(max-width:767px){
 .mgc-cine .mgc-escenari{padding:calc(var(--barra) + var(--admin) + 24px) 22px calc(var(--baix) + 62px);}
 .mgc-fons::after,#buscador .mgc-fons::after{background:linear-gradient(180deg,rgba(20,17,14,.38),rgba(20,17,14,.76) 28%,rgba(20,17,14,.86) 75%,rgba(20,17,14,.6));}
 .mgc-capitol--clar .mgc-fons::after{background:linear-gradient(180deg,rgba(244,239,228,.18),rgba(244,239,228,.82) 28%,rgba(244,239,228,.94) 75%,rgba(244,239,228,.7));}
 .mgc-pagina .mgc-titol{font-size:27px;margin-bottom:12px;}
 .mgc-pagina .mgc-cos{line-height:1.5;margin-bottom:10px;}
 .mgc-pagina .mgc-claim{font-size:21px;margin-bottom:12px;}
 .mgc-pagina .mgc-eyebrow{margin-bottom:10px;}
 .mgc-pagina .mgc-cerca input[type="text"],.mgc-pagina .mgc-cerca select{min-height:46px;}
 .mgc-pagina .mgc-boto{min-height:46px;}
 .mgc-pagina .mgc-cerca{gap:10px;}
 .mgc-room-name{margin-bottom:10px;}
}
@media(max-width:767px) and (max-height:740px){
 .mgc-cine .mgc-escenari{padding-top:calc(var(--barra) + var(--admin) + 12px);padding-bottom:calc(var(--baix) + 52px);}
 .mgc-pagina .mgc-titol{font-size:24px;margin-bottom:8px;}
 .mgc-pagina .mgc-cos{font-size:13px;line-height:1.4;margin-bottom:8px;}
 .mgc-pagina .mgc-claim{font-size:19px;margin-bottom:8px;}
 .mgc-room-name{margin-bottom:6px;font-size:9px;}
 .mgc-pagina .mgc-eyebrow{margin-bottom:8px;font-size:9px;}
 .mgc-pagina .mgc-cerca{margin:10px 0 8px;gap:8px;}
 .mgc-pagina .mgc-next{margin-top:8px;padding-top:4px;min-height:44px;}
 .mgc-accions{margin-top:12px;}
}
