/*
Theme Name:   Manganiello (Astra Child)
Theme URI:    https://manganiello.com
Description:  Tema hijo de Astra para Manganiello Hospitality Advisory. Contiene los estilos de bloque, las clases de diseño y el CSS base del sitio.
Author:       Esteban
Template:     astra
Version:      1.7.8
Text Domain:  manganiello-child
*/

/* =========================================================
   1. VARIABLES
   Los colores leen la paleta global de Astra
   (Personalizar → Global → Colores), así se cambian sin código.
   Orden de los 9 recuadros de Astra (se reemplazan, no se agregan):
   1 Brand = Dorado · 2 Alt Brand = Dorado oscuro · 3 Heading = Azul
   4 Text = Texto · 5 Primary = Crema · 6 Secondary = Crema claro
   7 Border = Gris claro · 8 Subtle BG = Crema oscuro
   9 Extra = Azul profundo
   ========================================================= */
:root {
	--mg-dorado:        var(--ast-global-color-0, #B8975A);
	--mg-dorado-oscuro: var(--ast-global-color-1, #7E5F2E);
	--mg-azul:          var(--ast-global-color-2, #1F2A44);
	--mg-texto:         var(--ast-global-color-3, #3D3D3D);
	--mg-crema:         var(--ast-global-color-4, #F4EDE1);
	--mg-crema-claro:   var(--ast-global-color-5, #FAF7F0);
	--mg-gris:          var(--ast-global-color-6, #D8D4CC);
	--mg-crema-oscuro:  var(--ast-global-color-7, #E9E0CF);
	--mg-azul-profundo: var(--ast-global-color-8, #182238);

	--mg-serif: 'Cormorant Garamond', Georgia, serif;
	--mg-sans:  Montserrat, Arial, sans-serif;

	--mg-aire:   clamp(72px, 10vw, 140px);   /* aire vertical de secciones */
	--mg-margen: clamp(20px, 4vw, 48px);     /* margen lateral */
}

html { scroll-behavior: smooth; }

/* Interlineado y espaciado fijos del diseño
   (familia, peso y tamaño se ajustan en el Customizer de Astra) */
body,
.entry-content p,
.entry-content li { line-height: 1.8; }

:is(h1, h2, h3, h4, h5, h6).wp-block-heading,
.entry-content :is(h1, h2, h3, h4, h5, h6) { line-height: 1.1; }

h1.wp-block-heading,
.entry-content h1 { letter-spacing: .08em; line-height: .95; }

/* Videos que aún no cargan: se ve el poster */
video[data-mg-lazy] { background: var(--mg-azul) center / cover no-repeat; }

/* Las anclas del menú no quedan tapadas por el header fijo */
[id] { scroll-margin-top: 110px; }

/* =========================================================
   2. SECCIONES (clase en el bloque Grupo de cada sección)
   ========================================================= */

/* Aire arriba/abajo y margen lateral responsive */
.mg-seccion {
	padding-top: var(--mg-aire) !important;
	padding-bottom: var(--mg-aire) !important;
	padding-left: var(--mg-margen) !important;
	padding-right: var(--mg-margen) !important;
}

/* Sección de fondo azul: ajusta el color del texto automáticamente */
.mg-oscuro {
	background-color: var(--mg-azul);
	color: var(--mg-gris);
}
.mg-oscuro :is(h1, h2, h3, h4, h5, h6):not(.has-text-color) {
	color: var(--mg-crema);
}

/* =========================================================
   3. VIDEOS DE FONDO (clase en el bloque Portada)
   ========================================================= */

/* Hero: oscurece arriba (menú) y abajo (texto) */
.mg-hero {
	min-height: min(100vh, 900px) !important;
}
.mg-hero .wp-block-cover__background {
	background: linear-gradient(180deg,
		rgba(20, 27, 45, .55) 0%,
		rgba(20, 27, 45, 0) 22%,
		rgba(20, 27, 45, 0) 45%,
		rgba(20, 27, 45, .88) 100%) !important;
	opacity: 1 !important;
}

/* Our Mission: degradé azul desde la izquierda */
.mg-overlay-izq .wp-block-cover__background {
	background: linear-gradient(90deg,
		rgba(20, 27, 45, .78) 0%,
		rgba(20, 27, 45, .62) 45%,
		rgba(20, 27, 45, 0) 78%) !important;
	opacity: 1 !important;
}
@media (max-width: 781px) {
	.mg-overlay-izq .wp-block-cover__background {
		background: rgba(20, 27, 45, .7) !important;
	}
}

/* Contact: funde hacia el azul de abajo */
.mg-overlay-contacto .wp-block-cover__background {
	background: linear-gradient(180deg,
		rgba(20, 27, 45, .25) 0%,
		rgba(20, 27, 45, .1) 40%,
		var(--mg-azul) 100%) !important;
	opacity: 1 !important;
}

/* Texto sobre videos (bloque Portada): crema */
.wp-block-cover { color: var(--mg-crema); }
.wp-block-cover :is(h1, h2, h3, h4, p):not(.has-text-color) { color: var(--mg-crema); }

/* Hero: el contenido se alinea al ancho del sitio, abajo a la izquierda */
.wp-block-cover.mg-hero {
	padding: 0 !important;
	align-items: flex-end !important;
}
.wp-block-cover.mg-hero .wp-block-cover__inner-container {
	width: 100% !important;
	max-width: calc(1360px + 2 * var(--mg-margen)) !important; /* el texto queda alineado con el logo EM */
	margin: 0 auto !important;
	padding: 0 var(--mg-margen) 64px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.wp-block-cover.mg-hero .wp-block-cover__inner-container > * { margin: 0 !important; }
.mg-hero h1 { font-size: clamp(60px, 9.4vw, 148px); }
.mg-hero .is-style-mg-etiqueta {
	font-size: 16px !important;
	letter-spacing: 9px;
}
.mg-hero .is-style-mg-cita {
	font-size: clamp(26px, 2.6vw, 38px) !important;
	line-height: 1.2 !important;
}
.mg-hero .wp-block-group { margin-top: 10px !important; }
.mg-hero .wp-block-group > * { margin: 0 !important; }

/* Colores del texto sobre video: firmes, aunque WordPress marque la portada como clara */
.wp-block-cover .wp-block-cover__inner-container { color: var(--mg-crema) !important; }
.wp-block-cover .wp-block-cover__inner-container :is(h1, h2, h3, h4, p):not(.has-text-color) { color: var(--mg-crema) !important; }
.wp-block-cover .wp-block-cover__inner-container .is-style-mg-etiqueta:not(.has-text-color) { color: var(--mg-dorado) !important; }

/* Enlace con línea dorada: "Discover our story" */
.mg-enlace-linea a {
	font-family: var(--mg-sans);
	font-size: 13px;
	letter-spacing: 4px;
	text-transform: uppercase;
	text-decoration: none !important;
	color: var(--mg-crema) !important;
	padding: 12px 0;
	border-bottom: 1px solid var(--mg-dorado);
}
.mg-enlace-linea a:hover { color: var(--mg-dorado) !important; }

/* Home: sin márgenes de Astra arriba y abajo del contenido */
.home #primary,
.home .site-content > .ast-container { margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0 !important; }
.home .entry-content > .alignfull:first-child { margin-top: 0 !important; }


/* Video vertical 9:16 (bloque Video, About Us) */
.mg-video-vertical video {
	width: 100%;
	aspect-ratio: 9 / 16;
	object-fit: cover;
	display: block;
}

/* =========================================================
   4. ANIMACIÓN DE ENTRADA DEL HERO
   ========================================================= */
@keyframes mgRiseIn {
	from { opacity: 0; transform: translateY(24px); }
	to   { opacity: 1; transform: none; }
}
.mg-reveal   { animation: mgRiseIn 1.6s ease-out both; }
.mg-reveal-2 { animation: mgRiseIn 1.6s ease-out .5s both; }
.mg-reveal-3 { animation: mgRiseIn 1.6s ease-out 1s both; }

@media (prefers-reduced-motion: reduce) {
	.mg-reveal, .mg-reveal-2, .mg-reveal-3 { animation: none; }
}
/* En el editor no se anima, para poder trabajar */
.editor-styles-wrapper .mg-reveal,
.editor-styles-wrapper .mg-reveal-2,
.editor-styles-wrapper .mg-reveal-3 { animation: none; }

/* =========================================================
   5. COLUMNAS
   ========================================================= */

/* En móvil, la imagen queda arriba aunque esté en la 2.ª columna */
@media (max-width: 781px) {
	.wp-block-columns.mg-imagen-arriba { flex-direction: column-reverse; }
}

/* =========================================================
   6. ESTILOS DE BLOQUE (se eligen en el panel "Estilos")
   ========================================================= */

/* Párrafo › Etiqueta: ABOUT US, OUR SERVICES… */
.is-style-mg-etiqueta {
	font-family: var(--mg-sans) !important;
	font-size: 14px !important;
	font-weight: 400;
	letter-spacing: 6px;
	text-transform: uppercase;
	line-height: 1.6;
}
.is-style-mg-etiqueta:not(.has-text-color) { color: var(--mg-dorado-oscuro); }
.mg-oscuro .is-style-mg-etiqueta:not(.has-text-color),
.wp-block-cover .is-style-mg-etiqueta:not(.has-text-color) { color: var(--mg-dorado); }

/* Párrafo › Destacado: primer párrafo grande de About, Mission */
.is-style-mg-destacado {
	font-family: var(--mg-serif) !important;
	font-size: clamp(26px, 2.6vw, 36px) !important;
	line-height: 1.28 !important;
}
.is-style-mg-destacado:not(.has-text-color) { color: var(--mg-azul); }
.mg-oscuro .is-style-mg-destacado:not(.has-text-color),
.wp-block-cover .is-style-mg-destacado:not(.has-text-color) { color: var(--mg-crema); }

/* Párrafo › Cita en cursiva */
.is-style-mg-cita {
	font-family: var(--mg-serif) !important;
	font-style: italic;
	font-size: clamp(24px, 2.4vw, 36px) !important;
	line-height: 1.32 !important;
}
.is-style-mg-cita:not(.has-text-color) { color: var(--mg-azul); }
.mg-oscuro .is-style-mg-cita:not(.has-text-color),
.wp-block-cover .is-style-mg-cita:not(.has-text-color) { color: var(--mg-crema); }

/* Párrafo › Número de servicio: 01, 02… */
.is-style-mg-numero {
	font-family: var(--mg-serif) !important;
	font-size: 40px !important;
	line-height: 1 !important;
	color: var(--mg-dorado);
	margin-bottom: 0 !important;
}

/* Título › Título de servicio: Montserrat mayúsculas */
.is-style-mg-titulo-servicio {
	font-family: var(--mg-sans) !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	letter-spacing: 4px !important;
	text-transform: uppercase;
	line-height: 1.6 !important;
}

/* Grupo › Línea dorada superior: "Our work includes" */
.is-style-mg-linea-dorada {
	border-top: 1px solid var(--mg-dorado);
	padding-top: 18px;
}

/* Separador › Línea dorada corta: bajo los cargos del equipo */
.wp-block-separator.is-style-mg-linea-corta {
	width: 48px !important;
	max-width: 48px;
	border: 0 !important;
	border-top: 1px solid var(--mg-dorado) !important;
	background: none !important;
	margin-left: 0 !important;
	opacity: 1;
}

/* =========================================================
   7. HEADER
   ========================================================= */

/* Logo EM (elemento HTML del header) */
.mg-logo {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	border: 1px solid var(--mg-dorado);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--mg-serif);
	font-size: 22px;
	color: var(--mg-dorado) !important;
	text-decoration: none !important;
	line-height: 1;
}

/* Menú principal y selector de idioma: Montserrat 13px, mayúsculas */
.main-header-menu .menu-item > .menu-link,
.ast-builder-menu .menu-item > .menu-link {
	font-family: var(--mg-sans);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 3px;
	text-transform: uppercase;
}

/* Botones: forma y tipografía del diseño
   (los colores se definen en el Customizer de Astra) */
.wp-block-button__link,
.ast-button,
.ast-custom-button,
.button,
input[type="submit"] {
	font-family: var(--mg-sans) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	letter-spacing: 4px;
	border-radius: 0 !important;
	padding: 18px 40px !important;
	line-height: 1.2;
}

/* Header fijo en páginas con header transparente (Home):
   flota sobre el video y toma fondo azul al hacer scroll */
.ast-theme-transparent-header #masthead {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	transition: background-color .3s ease;
}
.admin-bar.ast-theme-transparent-header #masthead { top: 32px; }
@media (max-width: 782px) {
	.admin-bar.ast-theme-transparent-header #masthead { top: 46px; }
}
.mg-scrolled.ast-theme-transparent-header #masthead .main-header-bar,
.mg-scrolled.ast-theme-transparent-header #masthead .ast-primary-header-bar,
.mg-scrolled.ast-theme-transparent-header #masthead .ast-mobile-header-wrap .ast-primary-header-bar {
	background-color: var(--mg-azul) !important;
	transition: background-color .3s ease;
}

/* =========================================================
   8. FORMULARIO DE CONTACTO (clase en el Grupo que lo contiene)
   ========================================================= */
.mg-formulario {
	border: 1px solid rgba(184, 151, 90, .35);
	background: rgba(244, 237, 225, .04);
	padding: clamp(24px, 4vw, 48px) !important;
}
.mg-formulario label {
	font-family: var(--mg-sans);
	font-size: 11px !important;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--mg-gris) !important;
}
.mg-formulario input[type="text"],
.mg-formulario input[type="email"],
.mg-formulario input[type="tel"],
.mg-formulario textarea {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(216, 212, 204, .45) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 14px 0 !important;
	font-family: var(--mg-sans);
	font-size: 18px !important;
	color: var(--mg-crema) !important;
}
.mg-formulario input:focus,
.mg-formulario textarea:focus {
	border-bottom-color: var(--mg-dorado) !important;
	outline: none;
}
.mg-formulario button[type="submit"] {
	background: var(--mg-dorado) !important;
	color: var(--mg-azul) !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 18px 40px !important;
	font-family: var(--mg-sans);
	font-size: 13px !important;
	font-weight: 600;
	letter-spacing: 4px;
	text-transform: uppercase;
}

/* Datos de contacto: cada dato separado por una línea fina */
.mg-dato {
	padding: 22px 0;
	border-bottom: 1px solid rgba(184, 151, 90, .35);
}

/* =========================================================
   9. PIE DE PÁGINA
   ========================================================= */
.mg-footer-marca {
	display: flex;
	align-items: center;
	gap: 18px;
}
.mg-footer-marca .mg-logo { width: 46px; height: 46px; font-size: 19px; }
.mg-footer-nombre {
	margin: 0;
	font-family: var(--mg-serif);
	font-size: 24px;
	letter-spacing: .12em;
	color: var(--mg-crema);
	line-height: 1.1;
}
/* Footer: la columna del menú toma el espacio libre, para que no se corte en dos líneas */
.site-primary-footer-wrap .ast-builder-grid-row {
	grid-template-columns: auto 1fr auto !important;
	column-gap: 48px;
}
#astra-footer-menu,
.footer-nav-wrap .menu { flex-wrap: nowrap; justify-content: center; }
#astra-footer-menu .menu-item,
.footer-nav-wrap .menu-item { white-space: nowrap; }
@media (max-width: 921px) {
	.site-primary-footer-wrap .ast-builder-grid-row { grid-template-columns: 1fr !important; }
	#astra-footer-menu,
	.footer-nav-wrap .menu { flex-wrap: wrap; }
}

#astra-footer-menu .menu-link,
.footer-nav-wrap .menu-link {
	font-family: var(--mg-sans);
	font-size: 11px;
	letter-spacing: 3px;
	text-transform: uppercase;
}
.ast-footer-copyright,
.ast-footer-copyright p {
	font-family: var(--mg-sans);
	font-size: 11px;
	letter-spacing: 1px;
}
.mg-footer-sub {
	margin: 2px 0 0;
	font-family: var(--mg-sans);
	font-size: 10px;
	letter-spacing: 5px;
	color: var(--mg-dorado);
}

/* =========================================================
   10. MARCADORES DE FOTO PENDIENTE
   ========================================================= */
.mg-pendiente {
	background: var(--mg-crema-oscuro);
	border: 2px dashed rgba(184, 151, 90, .7);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 32px;
	font-family: var(--mg-sans);
	font-size: 14px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--mg-dorado-oscuro);
}

/* =========================================================
   11. SECCIONES DE CONTENIDO (v1.3)
   ========================================================= */

/* Ritmo vertical dentro de columnas y secciones */
.mg-seccion .wp-block-column > * { margin-top: 0 !important; margin-bottom: 24px !important; }
.mg-seccion .wp-block-column > *:last-child { margin-bottom: 0 !important; }
.mg-seccion > .wp-block-heading { margin-top: 0 !important; margin-bottom: 48px !important; }
.mg-seccion .wp-block-columns { margin-bottom: 0 !important; }

/* Texto en secciones azules */
.mg-oscuro p:not(.has-text-color):not([class*="is-style-"]) { color: var(--mg-gris); }

/* Cargo bajo un nombre: etiqueta con menos espaciado */
.is-style-mg-etiqueta.mg-cargo { letter-spacing: 3px; }

/* Cita grande (cierre de About) */
.is-style-mg-cita.mg-cita-grande { font-size: clamp(30px, 3vw, 42px) !important; line-height: 1.3 !important; }

/* Separación extra entre bloques de una misma sección */
.mg-espacio-arriba { margin-top: clamp(64px, 8vw, 110px) !important; }

/* Imágenes y video dentro de columnas: ancho completo, sin márgenes */
.mg-seccion .wp-block-image,
.mg-seccion .wp-block-video { margin: 0 !important; }
.mg-seccion .wp-block-image img { width: 100%; height: auto; display: block; }
.mg-video-vertical { background: var(--mg-azul); }

/* Columnas con alineación vertical centrada (ej. foto + cita) */
.wp-block-columns.are-vertically-aligned-center { align-items: center !important; }
.wp-block-columns.are-vertically-aligned-center > .wp-block-column { align-self: center !important; }

/* Suavizado de fuentes igual al diseño de referencia (Astra lo afina en Mac) */
body,
.editor-styles-wrapper {
	-webkit-font-smoothing: auto !important;
	-moz-osx-font-smoothing: auto !important;
}

/* =========================================================
   12. SERVICES (v1.4)
   ========================================================= */

/* Fondo crema claro (servicios 02 y 04) */
.mg-claro { background-color: var(--mg-crema-claro); }

/* Aire de cada servicio: un poco menor que el de las secciones */
.mg-seccion.mg-servicio {
	padding-top: clamp(64px, 8vw, 110px) !important;
	padding-bottom: clamp(64px, 8vw, 110px) !important;
}
/* Introducción de Services: más aire arriba */
.mg-seccion.mg-intro {
	padding-top: clamp(80px, 10vw, 150px) !important;
	padding-bottom: clamp(64px, 8vw, 110px) !important;
}
.mg-intro-derecha { padding-top: 34px; }
@media (max-width: 781px) { .mg-intro-derecha { padding-top: 0; } }

/* Subtítulo en cursiva de cada servicio */
.is-style-mg-cita.mg-cita-servicio {
	font-size: clamp(28px, 2.7vw, 38px) !important;
	line-height: 1.2 !important;
}

/* Bloque "Our work includes" */
.is-style-mg-linea-dorada { margin-top: 30px !important; }
.is-style-mg-linea-dorada > * { margin: 0 0 8px !important; }
.is-style-mg-linea-dorada > *:last-child { margin-bottom: 0 !important; }
.is-style-mg-etiqueta.mg-etiqueta-chica { font-size: 13px !important; letter-spacing: 3px; }
.mg-lista { font-size: 18px; line-height: 1.8; }

/* Número del servicio: menos espacio debajo */
.mg-seccion .wp-block-column > .is-style-mg-numero { margin-bottom: 20px !important; }
.mg-seccion .wp-block-column > .is-style-mg-titulo-servicio { margin-bottom: 20px !important; }
.mg-seccion .wp-block-column > .mg-cita-servicio { margin-bottom: 30px !important; }

/* Marcador "Foto pendiente" como bloque de párrafo */
p.mg-pendiente {
	aspect-ratio: 4 / 5;
	margin: 0 !important;
	line-height: 1.7;
}
.mg-oscuro p.mg-pendiente {
	background: #2A3550;
	color: var(--mg-gris) !important;
}

/* Dos fotos lado a lado (servicio 03) */
.mg-dos-fotos { margin: 0 !important; }

/* =========================================================
   13. MISSION (v1.5)
   ========================================================= */

/* Párrafo destacado grande (inicio de Mission) */
.is-style-mg-destacado.mg-destacado-grande { font-size: clamp(30px, 3.1vw, 44px) !important; line-height: 1.25 !important; }

/* Texto de lectura un poco mayor en Mission */
.mg-texto-grande { font-size: clamp(18px, 1.5vw, 21px); line-height: 1.85; }

/* Cita centrada entre dos líneas doradas */
.is-style-mg-cita.mg-cita-lineas {
	text-align: center;
	padding: 30px 0;
	border-top: 1px solid var(--mg-dorado);
	border-bottom: 1px solid var(--mg-dorado);
	margin-top: 42px !important;
	margin-bottom: 42px !important;
}

/* Franja con video del lago: contenido a la izquierda, alineado con el logo */
.wp-block-cover.mg-overlay-izq {
	min-height: 760px !important;
	padding: 130px 0 !important;
}
.wp-block-cover.mg-overlay-izq .wp-block-cover__inner-container {
	width: 100% !important;
	max-width: calc(1360px + 2 * var(--mg-margen)) !important;
	margin: 0 auto !important;
	padding: 0 var(--mg-margen);
}
.wp-block-cover.mg-overlay-izq .wp-block-cover__inner-container > * {
	max-width: 640px;
	margin: 0 0 24px !important;
}
.wp-block-cover.mg-overlay-izq .wp-block-cover__inner-container > *:last-child { margin-bottom: 0 !important; }
.wp-block-cover.mg-overlay-izq .wp-block-cover__inner-container p:not(.has-text-color):not([class*="is-style-"]) {
	color: var(--mg-gris) !important;
	font-size: clamp(18px, 1.5vw, 20px);
	line-height: 1.85;
}
@media (max-width: 781px) {
	.wp-block-cover.mg-overlay-izq { min-height: 0 !important; padding: 80px 0 !important; }
}

/* Cierre de Mission: línea vertical, cita y frase final centradas */
.wp-block-group.mg-cierre {
	max-width: 884px !important;
	margin: clamp(80px, 9vw, 130px) auto 0 !important;
	text-align: center;
}
/* v1.7.7: se quitó la línea vertical dorada sobre la cita de cierre */
.mg-cierre > * { margin: 0 0 26px !important; }
.mg-cierre > *:last-child { margin-bottom: 0 !important; }
.mg-cierre .is-style-mg-cita { font-size: clamp(28px, 2.8vw, 40px) !important; line-height: 1.3 !important; }
.mg-frase-final {
	font-family: var(--mg-serif);
	font-weight: 500;
	font-size: clamp(44px, 5vw, 72px);
	line-height: 1.05;
	color: var(--mg-azul);
}
.mg-seccion.mg-fin { padding-bottom: clamp(96px, 11vw, 160px) !important; }

/* Evitar palabras solas en la última línea de títulos y párrafos */
h1, h2, h3, h4, .entry-content p { text-wrap: pretty; }
/* Citas centradas: líneas de largo parejo */
.mg-cita-lineas, .mg-cierre p { text-wrap: balance; }

/* =========================================================
   14. TEAM (v1.6)
   ========================================================= */

/* Bloque de Emilia */
.mg-nombre-lider { font-size: clamp(40px, 4vw, 54px) !important; line-height: 1.05 !important; }
.is-style-mg-etiqueta.mg-etiqueta-lider { font-size: 13px !important; letter-spacing: 5px; }
.mg-texto-grande + .wp-block-separator,
.mg-seccion .wp-block-column > .wp-block-separator.is-style-mg-linea-corta { margin-top: 8px !important; margin-bottom: 22px !important; }

/* Grilla del equipo: línea dorada arriba y filas de 4 */
.wp-block-group.mg-equipo-grid {
	border-top: 1px solid rgba(184, 151, 90, .6);
	padding-top: clamp(56px, 7vw, 90px);
	margin-top: clamp(72px, 9vw, 120px) !important;
}
.wp-block-columns.mg-equipo { margin-bottom: clamp(56px, 6vw, 80px) !important; }
.wp-block-columns.mg-equipo:last-child { margin-bottom: 0 !important; }

/* Tarjeta de cada persona */
.mg-tarjeta > * { margin: 0 0 14px !important; }
.mg-tarjeta > .wp-block-heading { margin-top: 14px !important; line-height: 1.1; }
.mg-tarjeta > .wp-block-separator.is-style-mg-linea-corta { width: 40px !important; max-width: 40px; margin: 0 0 14px !important; }
.mg-bio { font-size: 17px; line-height: 1.8; }

/* Tablet: 2 personas por fila */
@media (min-width: 600px) and (max-width: 1024px) {
	.wp-block-columns.mg-equipo { flex-wrap: wrap !important; row-gap: 56px; }
	.wp-block-columns.mg-equipo > .wp-block-column { flex-basis: calc(50% - 28px) !important; flex-grow: 0 !important; }
}

/* =========================================================
   15. CONTACT (v1.7)
   ========================================================= */

/* Franja con video de montañas: título abajo a la izquierda */
.wp-block-cover.mg-overlay-contacto {
	min-height: 620px !important;
	padding: 0 !important;
	align-items: flex-end !important;
}
.wp-block-cover.mg-overlay-contacto .wp-block-cover__inner-container {
	width: 100% !important;
	max-width: calc(1360px + 2 * var(--mg-margen)) !important;
	margin: 0 auto !important;
	padding: 0 var(--mg-margen) 70px;
}
.wp-block-cover.mg-overlay-contacto .wp-block-cover__inner-container > * { margin: 0 0 18px !important; }
.wp-block-cover.mg-overlay-contacto .wp-block-cover__inner-container > *:last-child { margin-bottom: 0 !important; }
.mg-titulo-contacto { font-size: clamp(48px, 6vw, 88px) !important; line-height: 1.02 !important; }
@media (max-width: 781px) { .wp-block-cover.mg-overlay-contacto { min-height: 460px !important; } }

/* Sección de datos + formulario */
.mg-seccion.mg-contacto {
	padding-top: 40px !important;
	padding-bottom: clamp(80px, 9vw, 130px) !important;
}

/* Cada dato de contacto */
.wp-block-group.mg-dato > * { margin: 0 0 8px !important; }
.wp-block-group.mg-dato > *:last-child { margin-bottom: 0 !important; }
.is-style-mg-etiqueta.mg-etiqueta-dato { font-size: 11px !important; letter-spacing: 4px; }
.mg-oscuro p.mg-dato-valor,
.mg-dato-valor {
	font-family: var(--mg-serif);
	font-size: 26px;
	line-height: 1.3;
	color: var(--mg-crema) !important;
}
.mg-dato-valor a { color: inherit !important; text-decoration: none !important; }
.mg-dato-valor a:hover { color: var(--mg-dorado) !important; }

/* Título del formulario */
.mg-oscuro p.mg-form-titulo,
.mg-form-titulo {
	font-family: var(--mg-serif);
	font-size: 32px;
	line-height: 1.2;
	color: var(--mg-crema) !important;
	margin: 0 0 30px !important;
}

/* Formulario Fluent Forms dentro de .mg-formulario */
.mg-formulario .fluentform .ff-el-group { margin-bottom: 30px !important; }
.mg-formulario .fluentform .ff-el-input--label label {
	font-family: var(--mg-sans) !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--mg-gris) !important;
}
.mg-formulario .fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label::after { color: var(--mg-dorado) !important; }
.mg-formulario .fluentform .ff-el-form-control {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(216, 212, 204, .45) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 14px 0 !important;
	font-family: var(--mg-sans) !important;
	font-size: 18px !important;
	color: var(--mg-crema) !important;
}
.mg-formulario .fluentform .ff-el-form-control:focus {
	border-bottom-color: var(--mg-dorado) !important;
	outline: none !important;
}
.mg-formulario .fluentform textarea.ff-el-form-control { resize: vertical; min-height: 120px; }
.mg-formulario .fluentform .ff-t-container { gap: 30px; }
.mg-formulario .fluentform .ff-btn-submit {
	background: var(--mg-dorado) !important;
	color: var(--mg-azul) !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 18px 40px !important;
	font-family: var(--mg-sans) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 4px;
	text-transform: uppercase;
}
.mg-formulario .fluentform .ff-btn-submit:hover { background: var(--mg-crema) !important; }
.mg-formulario .ff-message-success { background: transparent; border: 1px solid var(--mg-dorado); color: var(--mg-crema); }
.mg-formulario .error.text-danger { color: #E8B4A0 !important; font-size: 13px; }

/* Foto vertical 4:5 recortada (fotos de Services agregadas desde el editor) */
.wp-block-image.mg-foto-45 { margin: 0 !important; }
.wp-block-image.mg-foto-45 img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	display: block;
}

/* =========================================================
   16. AJUSTES MÓVIL (v1.7.2)
   ========================================================= */

/* MANGANIELLO: el tamaño sigue al ancho de pantalla y la palabra nunca se parte */
.wp-block-cover.mg-hero h1 {
	font-size: min(148px, 9.4vw) !important; /* mismo factor que el diseño: 9.4vw */
	white-space: nowrap;
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: none !important;
}

/* Ningún título parte palabras a la mitad */
h1, h2, h3, .is-style-mg-destacado, .is-style-mg-cita {
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

/* Etiqueta del hero en celular: una sola línea */
@media (max-width: 600px) {
	.wp-block-cover.mg-hero .is-style-mg-etiqueta {
		font-size: 12px !important;
		letter-spacing: 5px;
	}
	.wp-block-cover.mg-hero .wp-block-cover__inner-container { padding-bottom: 48px; }
}

/* Videos de fondo: sin botón de play ni controles de iOS (modo bajo consumo) */
.wp-block-cover video::-webkit-media-controls,
.wp-block-cover video::-webkit-media-controls-overlay-play-button,
.wp-block-cover video::-webkit-media-controls-start-playback-button,
.wp-block-cover video::-webkit-media-controls-enclosure,
.mg-video-vertical video::-webkit-media-controls,
.mg-video-vertical video::-webkit-media-controls-overlay-play-button,
.mg-video-vertical video::-webkit-media-controls-start-playback-button,
.mg-video-vertical video::-webkit-media-controls-enclosure {
	display: none !important;
	-webkit-appearance: none;
}

/* Footer en celular y tablet: todo centrado, con margen lateral */
@media (max-width: 921px) {
	.site-primary-footer-wrap {
		padding-left: var(--mg-margen) !important;
		padding-right: var(--mg-margen) !important;
		padding-top: 48px !important;
		padding-bottom: 40px !important;
	}
	.site-primary-footer-wrap .ast-builder-grid-row { row-gap: 32px; }
	.site-primary-footer-wrap .site-footer-section {
		justify-content: center !important;
		text-align: center !important;
	}
	.mg-footer-marca { justify-content: center; text-align: left; }
	#astra-footer-menu,
	.footer-nav-wrap .menu { justify-content: center !important; row-gap: 12px; }
	.ast-footer-copyright { text-align: center !important; }
}

/* Footer en celular: EM al costado del nombre, el conjunto centrado */
@media (max-width: 921px) {
	.mg-footer-marca {
		flex-direction: row;
		align-items: center;
		justify-content: center;
		gap: 16px;
		text-align: left !important;
		width: 100%;
	}
	.mg-footer-marca > * { flex: 0 0 auto; margin: 0 !important; }
	.mg-footer-marca p { margin: 0 !important; }
	.mg-footer-sub { letter-spacing: 4px; }
	/* Espacio para que el botón "volver arriba" no tape el copyright */
	.site-primary-footer-wrap { padding-bottom: 96px !important; }
}

/* Menú desplegable del celular: fondo azul, texto crema, legible */
#ast-mobile-header .ast-mobile-header-content,
.ast-mobile-header-content,
.ast-mobile-popup-drawer .ast-mobile-popup-inner,
.ast-mobile-header-wrap .ast-mobile-header-content .main-header-menu,
.ast-mobile-header-content .main-header-menu {
	background-color: var(--mg-azul) !important;
}
.ast-mobile-header-content .menu-item > .menu-link,
.ast-mobile-popup-drawer .menu-item > .menu-link {
	color: var(--mg-crema) !important;
	background: transparent !important;
	font-family: var(--mg-sans);
	font-size: 13px;
	letter-spacing: 3px;
	text-transform: uppercase;
	padding-left: var(--mg-margen) !important;
	padding-right: var(--mg-margen) !important;
}
.ast-mobile-header-content .menu-item > .menu-link:hover,
.ast-mobile-header-content .menu-item.current-menu-item > .menu-link,
.ast-mobile-popup-drawer .menu-item > .menu-link:hover {
	color: var(--mg-dorado) !important;
}
.ast-mobile-header-content .menu-item,
.ast-mobile-header-content .main-header-menu .menu-item,
.ast-mobile-popup-drawer .menu-item {
	border-color: rgba(184, 151, 90, .25) !important;
	border-bottom-width: 1px !important;
}

/* =========================================================
   17. LOGO DEFINITIVO (v1.7.8) — imagen PNG en header y footer
   ========================================================= */
.mg-logo-img { display: inline-block; line-height: 0; text-decoration: none !important; }
.mg-logo-img img { display: block; height: auto; max-width: none; }
/* Header */
.mg-logo-img--header img { width: clamp(170px, 14vw, 215px); }
@media (max-width: 921px) {
	.mg-logo-img--header img { width: 150px; }
}
@media (max-width: 400px) {
	.mg-logo-img--header img { width: 128px; }
}
/* Footer */
.mg-footer-marca .mg-logo-img img { width: clamp(200px, 16vw, 250px); }
@media (max-width: 921px) {
	.mg-footer-marca { justify-content: center !important; }
	.mg-footer-marca .mg-logo-img img { width: 200px; }
}
