/*
 * Hotel Grand Park · ajustes de diseño (lo carga hgp-sitio.php después de Elementor).
 * El alto del header y los márgenes de las portadas viven en la BD (hgp-sitio/migraciones.php);
 * aquí solo lo que Elementor no permite expresar desde sus controles.
 */

/* Ningún carrusel desborda la página: el de Element Pack de la portada tiene márgenes de
   -34 px y en tablet ensanchaba la vista (el móvil alejaba la página). Va en el contenedor
   del contenido y no en body, cuyo overflow el navegador traslada a la ventana sin recortar.
   `clip` no crea contenedor de scroll, así que no afecta a nada sticky. */
.site-main,
body > .elementor:not(.elementor-location-header):not(.elementor-location-footer) {
	overflow-x: clip;
}

/* ---------- Header ---------- */

/* Escritorio: logo, menú y botón en una sola fila; el menú ocupa el hueco entre ambos. */
@media (min-width: 1025px) {
	.elementor-location-header .elementor-element-1f1cde8 > .elementor-widget-wrap {
		flex-wrap: nowrap;
		align-items: center;
		gap: 16px;
	}
	.elementor-location-header .elementor-element-b3b955d {
		flex: 1 1 auto;
		min-width: 0;
	}
	.elementor-location-header .elementor-element-e51c0ae .elementor-button {
		white-space: nowrap;
	}
}

/* Por debajo de 1280 px el menú completo (con las flechas de los submenús) no cabe a 14 px:
   se compacta en vez de partirse en dos líneas, que haría crecer el header. Los selectores
   llevan .elementor-element doble para ganar a los de Elementor (.elementor-14 …). */
@media (min-width: 1025px) and (max-width: 1279px) {
	.elementor-location-header .elementor-element.elementor-element-b3b955d {
		--e-nav-menu-horizontal-menu-item-margin: 9px;
	}
	.elementor-location-header .elementor-element.elementor-element-b3b955d .elementor-nav-menu--main .elementor-nav-menu .elementor-item {
		font-size: 13px;
	}
	.elementor-location-header .elementor-element.elementor-element-b3b955d .elementor-nav-menu--main .elementor-nav-menu .sub-arrow {
		padding-inline-start: 5px;
	}
}
@media (min-width: 1025px) and (max-width: 1179px) {
	.elementor-location-header .elementor-element.elementor-element-b3b955d {
		--e-nav-menu-horizontal-menu-item-margin: 7px;
	}
	.elementor-location-header .elementor-element.elementor-element-b3b955d .elementor-nav-menu--main .elementor-nav-menu .elementor-item {
		font-size: 12px;
	}
	.elementor-location-header .elementor-element.elementor-element-e51c0ae .elementor-button {
		padding-inline: 14px;
		font-size: 12px;
	}
}
@media (min-width: 1025px) and (max-width: 1099px) {
	.elementor-location-header .elementor-element.elementor-element-b3b955d {
		--e-nav-menu-horizontal-menu-item-margin: 6px;
	}
	.elementor-location-header .elementor-element.elementor-element-b3b955d .elementor-nav-menu--main .elementor-nav-menu .elementor-item {
		font-size: 11px;
	}
	.elementor-location-header .elementor-element.elementor-element-b3b955d .elementor-nav-menu--main .elementor-nav-menu .sub-arrow {
		padding-inline-start: 3px;
	}
}

/* Logo: el enlace en línea añadía 6 px de interlineado bajo la imagen. */
.elementor-location-header .elementor-element-f530314 a,
.elementor-location-header .elementor-element-f530314 img {
	display: block;
	width: 100%;
	height: auto;
}

/* ---------- Footer ---------- */

/* Tablet y móvil: el logo centrado en su fila. */
@media (max-width: 1024px) {
	.elementor-location-footer .elementor-element-3feffba img {
		margin-inline: auto;
	}
}

/* Móvil: los bloques de contacto centrados bajo el logo, como los iconos sociales. */
@media (max-width: 767px) {
	.elementor-location-footer .elementor-element-af25916 > .elementor-widget-wrap,
	.elementor-location-footer .elementor-element-7c37e32 > .elementor-widget-wrap {
		justify-content: center;
	}
	.elementor-location-footer .elementor-element-022d233 {
		text-align: center;
	}
	.elementor-location-footer .elementor-element-eb395c8,
	.elementor-location-footer .elementor-element-acb26f3 {
		width: auto;
		max-width: 100%;
	}
}
