/*
 * Ajustes exclusivos de Emana Tulum.
 * La clase de página evita que estas reglas cambien otros desarrollos.
 */

.ile-emana-page .ild-facts-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ile-emana-page .ild-anchor-nav a.is-active {
	color: #4b4b4b;
}

.ile-emana-page .ild-anchor-nav a[aria-current="location"] {
	color: var(--ild-gold-deep);
}

.ile-emana-page #vision {
	grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr);
	align-items: start;
	gap: clamp(44px, 6vw, 76px);
	padding-top: 84px;
	padding-bottom: 58px;
}

.ile-emana-page #vision .ild-feature-image img {
	min-height: 0;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.ile-emana-page #vision .ild-check-list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 24px;
}

.ile-emana-page #vision .ild-check-list li {
	padding-right: 8px;
}

.ile-emana-page .ild-location-section {
	grid-template-columns: minmax(0, 1.2fr) minmax(420px, 0.8fr);
	align-items: start;
	min-height: 0;
	position: relative;
}

.ile-emana-page .ild-location-image {
	align-self: start;
	aspect-ratio: 2400 / 1339;
	overflow: hidden;
	background: transparent;
}

.ile-emana-page .ild-location-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ile-emana-page .ild-location-copy {
	align-self: start;
}

/*
 * En escritorio el texto es más alto que el mapa panorámico. Mantener el mapa
 * dentro del viewport evita que la columna izquierda quede vacía al continuar
 * leyendo, sin recortar ni deformar el material autorizado.
 */
@media (min-width: 981px) {
	.ile-emana-page .ild-location-image {
		position: sticky;
		top: calc(var(--header-height, 78px) + 58px);
		max-height: calc(100vh - var(--header-height, 78px) - 74px);
		display: flex;
		align-items: flex-start;
		justify-content: center;
	}

	.ile-emana-page .ild-location-image img {
		width: auto;
		max-width: 100%;
		height: auto;
		max-height: calc(100vh - var(--header-height, 78px) - 74px);
	}

	body.admin-bar.ile-emana-page .ild-location-image {
		top: calc(var(--header-height, 78px) + 90px);
		max-height: calc(100vh - var(--header-height, 78px) - 106px);
	}

	body.admin-bar.ile-emana-page .ild-location-image img {
		max-height: calc(100vh - var(--header-height, 78px) - 106px);
	}
}

.ile-emana-page #vision,
.ile-emana-page #esquema,
.ile-emana-page #ubicacion,
.ile-emana-page #revision,
.ile-emana-page #contacto {
	scroll-margin-top: 76px;
}

@media (max-width: 980px) {
	/*
	 * En móvil y tableta el menú interno no debe competir con la cabecera
	 * global. Se integra al flujo normal de la página y permite que sus enlaces
	 * pasen a una segunda fila, evitando el desbordamiento horizontal.
	 */
	.ile-emana-page .ild-anchor-nav {
		position: static !important;
		inset: auto !important;
		display: flex;
		width: 100%;
		height: auto !important;
		max-width: 100%;
		min-width: 0;
		min-height: 0;
		box-sizing: border-box;
		flex-wrap: wrap !important;
		align-items: center;
		justify-content: center;
		overflow: visible;
		transform: none !important;
		z-index: auto;
	}

	.ile-emana-page .ild-anchor-nav > div {
		display: flex;
		width: 100%;
		height: auto !important;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
		flex-wrap: wrap !important;
		align-items: center;
		justify-content: center;
	}

	.ile-emana-page .ild-anchor-nav a {
		flex: 0 0 auto;
		max-width: 100%;
		white-space: nowrap;
	}

	.ile-emana-page #vision,
	.ile-emana-page .ild-location-section {
		grid-template-columns: 1fr;
	}

	.ile-emana-page #vision {
		gap: 34px;
		padding-top: 70px;
		padding-bottom: 54px;
	}

	.ile-emana-page .ild-location-image {
		width: 100%;
		min-height: 0;
		position: static;
		max-height: none;
	}

	.ile-emana-page .ild-location-copy {
		width: 100%;
		max-width: none;
	}

	.ile-emana-page .ild-location-image img {
		width: 100%;
		max-width: none;
		height: 100%;
		max-height: none;
	}
}

@media (max-width: 680px) {
	.ile-emana-page .ild-facts-grid,
	.ile-emana-page #vision .ild-check-list {
		grid-template-columns: 1fr;
	}

	.ile-emana-page .ild-facts-grid div {
		border-top: 1px solid #333;
		border-right: 1px solid #333;
	}

	.ile-emana-page .ild-facts-grid div:first-child {
		border-top: 0;
	}

	.ile-emana-page #vision {
		padding-top: 62px;
		padding-bottom: 48px;
	}

	.ile-emana-page .ild-location-image img {
		min-height: 0;
	}
}

/*
 * En WordPress, la barra de administración deja de ser fija por debajo de
 * 600 px. Durante una vista previa iniciada, el encabezado maestro debe ocupar
 * solamente el espacio de la parte de esa barra que siga visible.
 * JavaScript actualiza la variable al desplazarse; los visitantes públicos no
 * tienen la clase admin-bar y no reciben esta regla.
 */
@media (max-width: 600px) {
	body.admin-bar.ile-emana-page #ilsm-site-header {
		top: var(--ile-emana-admin-offset, 46px) !important;
	}
}
