/* ==========================================================================
   MG Reformas & Diseño — hoja de estilos del tema
   Los colores, fuentes y tamaños base están en theme.json.
   Aquí van los componentes, los estilos de bloque y el responsive.
   ========================================================================== */

:root {
	--mg-oro: var(--wp--preset--color--oro, #CC9C47);
	--mg-oro-claro: var(--wp--preset--color--oro-claro, #F4CE74);
	--mg-oro-oscuro: var(--wp--preset--color--oro-oscuro, #84571E);
	--mg-negro: var(--wp--preset--color--negro, #0E0D0D);
	--mg-negro-profundo: var(--wp--preset--color--negro-profundo, #010000);
	--mg-grafito: var(--wp--preset--color--grafito, #1A1816);
	--mg-escayola: var(--wp--preset--color--escayola, #E1D9D3);
	--mg-marfil: var(--wp--preset--color--marfil, #F5F1EC);
	--mg-tinta: var(--wp--preset--color--tinta, #2A2521);
	--mg-suave: var(--wp--preset--color--texto-suave, #B3AAA1);
	--mg-linea: rgba(204, 156, 71, 0.28);
	--mg-oro-metalico: linear-gradient(135deg, #84571E 0%, #CC9C47 35%, #F4CE74 55%, #CC9C47 75%, #84571E 100%);
	--mg-t: 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
	--mg-cabecera: 88px;
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
::selection { background: var(--mg-oro); color: var(--mg-negro-profundo); }
img { height: auto; }
:where(a, button, summary, input, select, textarea):focus-visible { outline: 2px solid var(--mg-oro-claro); outline-offset: 3px; }

.screen-reader-text:focus { background: var(--mg-oro); color: #000; }

/* Enlace "saltar al contenido" */
.skip-link.screen-reader-text:focus { z-index: 100000; padding: 0.75rem 1rem; }

/* ==========================================================================
   CABECERA
   ========================================================================== */
.mg-cabecera-wrap, .mg-cabecera-wrap > .wp-block-group { display: contents; }
/* Solo la barra principal se queda fija; la franja superior se va al hacer scroll */
.mg-header { position: sticky; top: 0; z-index: 100; }
.admin-bar .mg-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .mg-header { top: 0; } }

.mg-topbar {
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
	border-bottom: 1px solid var(--mg-linea);
}
.mg-topbar p { margin: 0; }
.mg-topbar a { color: var(--mg-escayola); }
.mg-topbar a:hover { color: var(--mg-oro-claro); text-decoration: none; }
.mg-topbar .mg-topbar__item { display: inline-flex; align-items: center; gap: 0.45em; }
.mg-topbar .mg-topbar__item svg { width: 15px; height: 15px; fill: var(--mg-oro); flex: none; }
.mg-topbar .mg-sep { color: var(--mg-oro-oscuro); padding: 0 0.6em; }

.mg-header {
	background: #0E0D0D;
	border-bottom: 1px solid var(--mg-linea);
	transition: background var(--mg-t), box-shadow var(--mg-t);
}
.mg-header.is-scrolled { background: #010000; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45); }
.mg-header .wp-block-site-logo img,
.mg-header .mg-logo img { width: 64px; height: auto; transition: width var(--mg-t); }
.mg-header.is-scrolled .wp-block-site-logo img,
.mg-header.is-scrolled .mg-logo img { width: 52px; }
.mg-marca { gap: 0.85rem !important; }
.mg-marca .mg-logo { margin: 0; }
.mg-marca__texto { line-height: 1.1; }
.mg-marca__texto p { margin: 0; }
.mg-marca__nombre {
	font-family: var(--wp--preset--font-family--romana);
	font-weight: 600;
	font-size: 1.05rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	background: var(--mg-oro-metalico);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.mg-marca__nombre a { color: inherit; text-decoration: none !important; }
.mg-marca__lema {
	font-family: var(--wp--preset--font-family--romana);
	font-size: 0.625rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--mg-suave);
	margin-top: 0.3rem !important;
}

/* Navegación principal */
.mg-header .wp-block-navigation { gap: 1.6rem; }
.mg-header .wp-block-navigation .wp-block-navigation-item__content { padding: 0.5rem 0; position: relative; }
.mg-header .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
	background: var(--mg-oro); transform: scaleX(0); transform-origin: left; transition: transform var(--mg-t);
}
.mg-header .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.mg-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.mg-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content { color: var(--mg-oro-claro); }

/* Submenús */
.mg-header .wp-block-navigation .wp-block-navigation__submenu-container {
	background: var(--mg-negro-profundo) !important;
	border: 1px solid var(--mg-linea) !important;
	border-top: 2px solid var(--mg-oro) !important;
	min-width: 260px !important;
	padding: 0.6rem 0;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55);
}
.mg-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.6rem 1.25rem !important;
	font-size: 0.75rem;
	color: var(--mg-escayola);
}
.mg-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--mg-oro-claro); background: rgba(204, 156, 71, 0.08); }
.mg-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container { border-top-width: 1px !important; }
.mg-header .wp-block-navigation__submenu-icon { color: var(--mg-oro); }

/* Botones de la cabecera */
.mg-header .mg-header__tel a { color: var(--mg-escayola); font-family: var(--wp--preset--font-family--romana); font-size: 0.875rem; letter-spacing: 0.06em; white-space: nowrap; display: inline-flex; align-items: center; gap: 0.45em; }
.mg-header .mg-header__tel a:hover { color: var(--mg-oro-claro); text-decoration: none; }
.mg-header .mg-header__tel svg { width: 16px; height: 16px; fill: var(--mg-oro); }
.mg-header .wp-block-button__link { padding: 0.8rem 1.4rem; font-size: 0.75rem; white-space: nowrap; }

/* Menú móvil (overlay) */
.mg-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--mg-negro-profundo) !important;
	color: var(--mg-escayola) !important;
	padding: 1.5rem clamp(1.25rem, 5vw, 2.5rem) 2rem;
}
.mg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; align-items: flex-start; }
.mg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0.25rem; width: 100%; }
.mg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; }
.mg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1rem; padding: 0.55rem 0 !important; }
.mg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	border: 0 !important; box-shadow: none; padding: 0 0 0.5rem 1rem !important; background: transparent !important; min-width: 0 !important;
	border-left: 1px solid var(--mg-linea) !important;
}
.mg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 0.8125rem; color: var(--mg-suave); padding: 0.4rem 0 !important; }
.mg-header .wp-block-navigation__responsive-container-open,
.mg-header .wp-block-navigation__responsive-container-close { color: var(--mg-oro); }
.mg-header .wp-block-navigation__responsive-container-open svg { width: 30px; height: 30px; }

@media (max-width: 1180px) {
	.mg-header .mg-header__tel { display: none; }
}
@media (max-width: 781px) {
	.mg-topbar { display: none; }
	.mg-marca__lema { display: none; }
	.mg-marca__nombre { font-size: 0.9rem; }
	.mg-header .wp-block-site-logo img, .mg-header .mg-logo img { width: 48px; }
	.mg-header .mg-header__cta { display: none; }
}
@media (max-width: 380px) {
	.mg-marca__nombre { font-size: 0.78rem; letter-spacing: 0.05em; }
}

/* ==========================================================================
   ESTILOS DE BLOQUE
   ========================================================================== */

/* --- Secciones --- */
.is-style-seccion-clara {
	background-color: var(--mg-marfil);
	color: var(--mg-tinta);
}
.is-style-seccion-clara :where(h1, h2, h3, h4, h5, h6) { color: var(--mg-negro); }
.is-style-seccion-clara a:where(:not(.wp-block-button__link)) { color: var(--mg-oro-oscuro); }
.is-style-seccion-clara a:where(:not(.wp-block-button__link)):hover { color: #5e3c12; }
.is-style-seccion-clara .is-style-antetitulo { color: var(--mg-oro-oscuro) !important; }
.is-style-seccion-clara .is-style-contorno .wp-block-button__link { color: var(--mg-negro) !important; border-color: var(--mg-oro-oscuro) !important; }
.is-style-seccion-clara .is-style-contorno .wp-block-button__link:hover { background: var(--mg-negro) !important; color: var(--mg-oro-claro) !important; border-color: var(--mg-negro) !important; }
.is-style-seccion-clara .is-style-flecha .wp-block-button__link { color: var(--mg-oro-oscuro) !important; }
.is-style-seccion-clara .wp-block-details { border-bottom-color: rgba(132, 87, 30, 0.3) !important; }
.is-style-seccion-clara .is-style-check-dorado li::before,
.is-style-seccion-clara .is-style-dos-columnas li::before { background: var(--mg-oro-oscuro); }
.is-style-seccion-clara .has-texto-suave-color { color: #6d655d !important; }

.is-style-seccion-grafito { background-color: var(--mg-grafito); }

/* --- Tarjetas --- */
.is-style-tarjeta {
	background: var(--mg-grafito);
	border: 1px solid rgba(204, 156, 71, 0.18);
	transition: transform var(--mg-t), border-color var(--mg-t), box-shadow var(--mg-t);
	height: 100%;
}
.is-style-tarjeta:hover { transform: translateY(-4px); border-color: rgba(204, 156, 71, 0.55); box-shadow: 0 24px 50px rgba(0, 0, 0, 0.5); }
.is-style-tarjeta-clara {
	background: #fff;
	border: 1px solid rgba(132, 87, 30, 0.16);
	color: var(--mg-tinta);
	height: 100%;
	transition: transform var(--mg-t), box-shadow var(--mg-t);
}
.is-style-tarjeta-clara:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(42, 37, 33, 0.12); }
.is-style-tarjeta-clara :where(h2, h3, h4) { color: var(--mg-negro); }

.is-style-marco-dorado {
	position: relative;
	border: 1px solid var(--mg-linea);
	outline: 1px solid rgba(204, 156, 71, 0.12);
	outline-offset: 8px;
}

/* --- Títulos --- */
.wp-block-heading.is-style-antetitulo,
.is-style-antetitulo {
	font-family: var(--wp--preset--font-family--romana) !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.24em !important;
	text-transform: uppercase;
	color: var(--mg-oro) !important;
	line-height: 1.4 !important;
	display: flex;
	align-items: center;
	gap: 0.9rem;
}
.is-style-antetitulo::before {
	content: ""; width: 2.5rem; height: 1px; flex: none;
	background: linear-gradient(90deg, transparent, currentColor);
}
.is-style-antetitulo.has-text-align-center { justify-content: center; }
.is-style-antetitulo.has-text-align-center::after {
	content: ""; width: 2.5rem; height: 1px; flex: none;
	background: linear-gradient(90deg, currentColor, transparent);
}

.is-style-oro, .is-style-oro * {
	background: var(--mg-oro-metalico);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
}
/* Palabra destacada en oro dentro de un título: selecciona texto → "Resaltado" o usa <em> */
:where(h1, h2, h3) em {
	font-style: italic;
	background: var(--mg-oro-metalico);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	padding-right: 0.06em;
}
.is-style-seccion-clara :where(h1, h2, h3) em {
	background: linear-gradient(135deg, #84571E 0%, #A67A32 50%, #84571E 100%);
	-webkit-background-clip: text;
	background-clip: text;
}

.is-style-entradilla {
	font-size: var(--wp--preset--font-size--l) !important;
	line-height: 1.6;
	font-weight: 300;
}

/* --- Botones --- */
.wp-block-button__link { transition: background var(--mg-t), color var(--mg-t), box-shadow var(--mg-t), transform var(--mg-t), border-color var(--mg-t); }
.wp-block-button:not(.is-style-contorno):not(.is-style-flecha) .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(204, 156, 71, 0.35); }

.wp-block-button.is-style-contorno .wp-block-button__link {
	background: transparent !important;
	color: var(--mg-oro-claro) !important;
	border: 1px solid var(--mg-oro) !important;
	box-shadow: none;
	padding: calc(1rem - 1px) calc(2rem - 1px);
}
.wp-block-button.is-style-contorno .wp-block-button__link:hover {
	background: var(--mg-oro) !important;
	color: var(--mg-negro-profundo) !important;
	text-decoration: none;
}

.wp-block-button.is-style-flecha .wp-block-button__link {
	background: none !important;
	color: var(--mg-oro) !important;
	padding: 0.25rem 0 !important;
	box-shadow: none !important;
	border: 0 !important;
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	font-size: 0.75rem;
}
.wp-block-button.is-style-flecha .wp-block-button__link::after {
	content: "";
	width: 1.6rem; height: 1px; background: currentColor;
	transition: width var(--mg-t);
	-webkit-mask: none;
}
.wp-block-button.is-style-flecha .wp-block-button__link:hover { color: var(--mg-oro-claro) !important; text-decoration: none; }
.wp-block-button.is-style-flecha .wp-block-button__link:hover::after { width: 2.6rem; }

/* Botones de contacto con icono (teléfono / WhatsApp) */
.mg-btn-icono .wp-block-button__link { display: inline-flex; align-items: center; gap: 0.6rem; }
.mg-btn-icono .wp-block-button__link svg { width: 18px; height: 18px; fill: currentColor; flex: none; }

/* --- Imágenes --- */
.wp-block-image.is-style-marco-dorado { position: relative; isolation: isolate; }
.wp-block-image.is-style-marco-dorado img { position: relative; z-index: 1; }
.wp-block-image.is-style-marco-dorado::before {
	content: ""; position: absolute; z-index: 0;
	inset: 18px -18px -18px 18px;
	border: 1px solid var(--mg-oro);
	opacity: 0.6;
	pointer-events: none;
}
.wp-block-image.is-style-marco-dorado.alignfull::before { display: none; }
@media (max-width: 600px) { .wp-block-image.is-style-marco-dorado::before { inset: 10px -10px -10px 10px; } }

.wp-block-image.is-style-zoom { overflow: hidden; }
.wp-block-image.is-style-zoom img { transition: transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1); }
.wp-block-image.is-style-zoom:hover img,
.is-style-tarjeta:hover .wp-block-image.is-style-zoom img,
.is-style-tarjeta-clara:hover .wp-block-image.is-style-zoom img { transform: scale(1.05); }

/* --- Separador ornamental --- */
.wp-block-separator.is-style-ornamento {
	border: 0 !important;
	height: 18px !important;
	width: 100%;
	max-width: 220px !important;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3 10-3 10-3-10z' fill='%23CC9C47'/%3E%3C/svg%3E") center / 18px 18px no-repeat,
		linear-gradient(90deg, transparent, var(--mg-oro) 40%, transparent 46%, transparent 54%, var(--mg-oro) 60%, transparent) center / 100% 1px no-repeat;
	opacity: 1 !important;
	margin-left: auto;
	margin-right: auto;
}
.wp-block-separator.is-style-ornamento.mg-izquierda { margin-left: 0; }

/* --- Listas --- */
.is-style-check-dorado, .is-style-dos-columnas { list-style: none; padding-left: 0; }
.is-style-check-dorado li, .is-style-dos-columnas li { position: relative; padding-left: 1.7rem; margin-bottom: 0.6rem; }
.is-style-check-dorado li::before, .is-style-dos-columnas li::before {
	content: ""; position: absolute; left: 0; top: 0.62em;
	width: 8px; height: 8px; transform: rotate(45deg);
	background: var(--mg-oro);
}
.is-style-dos-columnas { columns: 2; column-gap: 2.5rem; }
.is-style-dos-columnas li { break-inside: avoid; }
@media (max-width: 600px) { .is-style-dos-columnas { columns: 1; } }

/* Lista de servicios con enlaces (bloque "desde pequeños trabajos…") */
.mg-lista-servicios a { color: inherit; border-bottom: 1px solid transparent; }
.mg-lista-servicios a:hover { color: var(--mg-oro-claro); border-color: currentColor; text-decoration: none; }

/* --- Columnas invertidas en móvil (imagen debajo del texto) --- */
@media (max-width: 781px) {
	.wp-block-columns.is-style-invertir-movil { flex-direction: column-reverse; }
}

/* --- Preguntas frecuentes (acordeón con bloque Detalles) --- */
.wp-block-details.is-style-faq,
.mg-faq .wp-block-details {
	border-bottom: 1px solid var(--mg-linea);
	padding: 0;
	margin: 0 !important;
}
.wp-block-details.is-style-faq summary,
.mg-faq .wp-block-details summary {
	list-style: none;
	cursor: pointer;
	padding: 1.4rem 3rem 1.4rem 0;
	position: relative;
	font-family: var(--wp--preset--font-family--titulos);
	font-size: var(--wp--preset--font-size--l);
	font-weight: 600;
	line-height: 1.35;
	transition: color var(--mg-t);
}
.wp-block-details.is-style-faq summary::-webkit-details-marker,
.mg-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-faq summary::after,
.mg-faq .wp-block-details summary::after {
	content: "+";
	position: absolute; right: 0.25rem; top: 50%;
	transform: translateY(-50%);
	width: 2rem; height: 2rem;
	display: grid; place-items: center;
	border: 1px solid var(--mg-linea);
	border-radius: 50%;
	font-family: var(--wp--preset--font-family--texto);
	font-size: 1.25rem; font-weight: 300; line-height: 1;
	color: var(--mg-oro);
	transition: transform var(--mg-t), background var(--mg-t), color var(--mg-t);
}
.wp-block-details.is-style-faq[open] summary::after,
.mg-faq .wp-block-details[open] summary::after { content: "–"; background: var(--mg-oro); color: var(--mg-negro-profundo); border-color: var(--mg-oro); }
.wp-block-details.is-style-faq summary:hover,
.mg-faq .wp-block-details summary:hover { color: var(--mg-oro); }
.wp-block-details.is-style-faq > :not(summary),
.mg-faq .wp-block-details > :not(summary) { padding-right: 3rem; margin-top: 0; margin-bottom: 1.4rem; }
.is-style-seccion-clara .mg-faq .wp-block-details summary::after { border-color: rgba(132, 87, 30, 0.35); color: var(--mg-oro-oscuro); }
.is-style-seccion-clara .mg-faq .wp-block-details[open] summary::after { background: var(--mg-oro-oscuro); color: #fff; }
.is-style-seccion-clara .mg-faq .wp-block-details summary:hover { color: var(--mg-oro-oscuro); }

/* ==========================================================================
   COMPONENTES DE SECCIÓN
   ========================================================================== */

/* --- Portada (hero) --- */
.mg-hero { min-height: min(92vh, 860px); }
.mg-hero .wp-block-cover__inner-container { width: 100%; }
.mg-hero h1 { text-shadow: 0 2px 30px rgba(0, 0, 0, 0.45); }
.mg-hero::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; z-index: 2;
	background: linear-gradient(90deg, transparent, var(--mg-oro), transparent);
}
.mg-hero-pagina { min-height: min(70vh, 620px); }

.mg-confianza { border-top: 1px solid var(--mg-linea); }
.mg-confianza p { margin: 0; }
.mg-confianza__item { display: flex; align-items: baseline; gap: 0.6rem; }
.mg-confianza__num {
	font-family: var(--wp--preset--font-family--titulos);
	font-size: 2.25rem; font-weight: 600; line-height: 1;
	background: var(--mg-oro-metalico);
	-webkit-background-clip: text; background-clip: text; color: transparent;
}

/* --- Tarjetas de servicio --- */
.mg-servicio .wp-block-image { margin: 0; }
.mg-servicio .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; display: block; }
.mg-servicio__cuerpo { position: relative; }
.mg-servicio__num {
	position: absolute; right: 1.5rem; top: -1.6rem;
	width: 3.2rem; height: 3.2rem;
	display: grid; place-items: center;
	background: var(--mg-negro-profundo);
	border: 1px solid var(--mg-oro);
	transform: rotate(45deg);
	margin: 0 !important;
}
.mg-servicio__num span { transform: rotate(-45deg); font-family: var(--wp--preset--font-family--romana); font-size: 0.8rem; color: var(--mg-oro); }
.mg-servicio h3 a { color: inherit; }
.mg-servicio h3 a:hover { color: var(--mg-oro-claro); text-decoration: none; }
/* Toda la tarjeta clicable a través del enlace del título */
.mg-servicio { position: relative; }
.mg-servicio h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.mg-servicio .wp-block-buttons { position: relative; z-index: 2; }

/* --- Cifras --- */
.mg-cifra { border-left: 1px solid var(--mg-oro); padding-left: 1.25rem; }
.mg-cifra p { margin: 0; }
.mg-cifra__valor {
	font-family: var(--wp--preset--font-family--titulos);
	font-size: clamp(1.75rem, 3vw, 2.4rem); font-weight: 600; line-height: 1.1;
	color: var(--mg-oro-claro);
}
.is-style-seccion-clara .mg-cifra__valor { color: var(--mg-oro-oscuro); }
.mg-cifra__texto { font-size: var(--wp--preset--font-size--s); color: var(--mg-suave); margin-top: 0.35rem !important; }
.is-style-seccion-clara .mg-cifra__texto { color: #6d655d; }

/* --- Proceso (4 pasos) --- */
.mg-pasos { counter-reset: paso; position: relative; }
.mg-paso { position: relative; text-align: center; }
.mg-paso .wp-block-image { margin: 0 auto 0.5rem; }
.mg-paso .wp-block-image img { width: 64px; height: 64px; }
.mg-paso__num {
	font-family: var(--wp--preset--font-family--romana);
	font-size: 0.75rem; letter-spacing: 0.24em; color: var(--mg-oro);
	margin: 0 !important;
}
.mg-paso__icono {
	width: 104px; height: 104px; margin: 0 auto !important;
	display: grid; place-items: center;
	border: 1px solid var(--mg-linea);
	border-radius: 50%;
	background: radial-gradient(circle at 50% 35%, rgba(204, 156, 71, 0.14), transparent 70%);
	position: relative; z-index: 1;
	transition: border-color var(--mg-t), transform var(--mg-t);
}
.mg-paso:hover .mg-paso__icono { border-color: var(--mg-oro); transform: translateY(-3px); }
.mg-paso__icono .wp-block-image { margin: 0 !important; }
.mg-paso__icono img { width: 52px !important; height: 52px !important; }
@media (min-width: 782px) {
	.mg-pasos > .wp-block-column:not(:last-child) .mg-paso__icono::after {
		content: ""; position: absolute; top: 50%; left: calc(100% + 1rem);
		width: calc(100% + 2rem); max-width: 9rem; height: 1px;
		background: linear-gradient(90deg, var(--mg-oro), transparent);
		opacity: 0.6;
	}
}

/* --- Iconos sueltos --- */
.mg-icono img { width: 56px; height: 56px; }

/* --- Proyectos --- */
.mg-proyectos .wp-block-post-template { gap: 1.5rem; }
.mg-proyecto { position: relative; overflow: hidden; background: var(--mg-grafito); height: 100%; }
.mg-proyecto .wp-block-post-featured-image,
.mg-proyecto .wp-block-image { margin: 0; overflow: hidden; }
.mg-proyecto .wp-block-post-featured-image img,
.mg-proyecto .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; display: block; transition: transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1); }
.mg-proyecto:hover img { transform: scale(1.05); }
.mg-proyecto__info { border-top: 2px solid var(--mg-oro); }
.mg-proyecto .wp-block-post-title a,
.mg-proyecto h3 a { color: inherit; }
.mg-proyecto .wp-block-post-title a::after,
.mg-proyecto h3 a::after { content: ""; position: absolute; inset: 0; }
.mg-proyecto .wp-block-post-terms { position: relative; z-index: 2; }

.mg-antes-despues .wp-block-image figcaption {
	position: absolute; left: 1rem; top: 1rem; margin: 0;
	background: var(--mg-negro-profundo); color: var(--mg-oro);
	font-family: var(--wp--preset--font-family--romana); font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase;
	padding: 0.4rem 0.8rem; border: 1px solid var(--mg-oro);
}
.mg-antes-despues .wp-block-image { position: relative; }

/* --- Llamada a la acción final --- */
.mg-cta { position: relative; }
.mg-cta::before, .mg-cta::after {
	content: ""; position: absolute; left: 0; right: 0; height: 1px; z-index: 2;
	background: linear-gradient(90deg, transparent, var(--mg-oro), transparent);
}
.mg-cta::before { top: 0; }
.mg-cta::after { bottom: 0; }

/* --- Bloque de contacto --- */
.mg-contacto-item { display: flex; gap: 1rem; align-items: flex-start; }
.mg-contacto-item p { margin: 0; }
.mg-contacto-item svg { width: 22px; height: 22px; fill: var(--mg-oro); flex: none; margin-top: 0.2rem; }

/* ==========================================================================
   PIE DE PÁGINA
   ========================================================================== */
.mg-footer { border-top: 1px solid var(--mg-linea); position: relative; }
.mg-footer::before {
	content: ""; position: absolute; left: 50%; top: -9px; width: 18px; height: 18px;
	transform: translateX(-50%) rotate(45deg);
	background: var(--mg-negro-profundo); border: 1px solid var(--mg-oro);
}
.mg-footer h2, .mg-footer h3 {
	font-family: var(--wp--preset--font-family--romana) !important;
	font-size: 0.8125rem !important; letter-spacing: 0.2em; text-transform: uppercase;
	color: var(--mg-oro) !important; font-weight: 600;
}
.mg-footer ul { list-style: none; padding: 0; margin: 0; }
.mg-footer li { margin-bottom: 0.55rem; }
.mg-footer a { color: var(--mg-escayola); }
.mg-footer a:hover { color: var(--mg-oro-claro); text-decoration: none; }
.mg-footer .mg-contacto-item { margin-bottom: 0.9rem; }
.mg-footer .mg-contacto-item svg { width: 18px; height: 18px; }
.mg-footer__legal { border-top: 1px solid rgba(204, 156, 71, 0.15); }
.mg-footer__legal a { color: var(--mg-suave); }
.mg-footer__legal p { margin: 0; }

.mg-redes { display: flex; gap: 0.6rem; }
.mg-redes a {
	width: 40px; height: 40px; display: grid; place-items: center;
	border: 1px solid var(--mg-linea); border-radius: 50%;
	transition: background var(--mg-t), border-color var(--mg-t);
}
.mg-redes a:hover { background: var(--mg-oro); border-color: var(--mg-oro); }
.mg-redes svg { width: 17px; height: 17px; fill: var(--mg-oro); transition: fill var(--mg-t); }
.mg-redes a:hover svg { fill: var(--mg-negro-profundo); }

/* ==========================================================================
   BOTÓN FLOTANTE DE WHATSAPP
   ========================================================================== */
.mg-whatsapp {
	position: fixed; right: 20px; bottom: 20px; z-index: 999;
	font-family: var(--wp--preset--font-family--texto);
}
.mg-whatsapp summary {
	list-style: none; cursor: pointer;
	width: 60px; height: 60px; border-radius: 50%;
	display: grid; place-items: center;
	background: #25D366;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45), 0 0 0 3px rgba(204, 156, 71, 0.55);
	transition: transform var(--mg-t);
}
.mg-whatsapp summary::-webkit-details-marker { display: none; }
.mg-whatsapp summary:hover { transform: scale(1.06); }
.mg-whatsapp summary svg { width: 32px; height: 32px; fill: #fff; }
.mg-whatsapp[open] summary { background: var(--mg-negro-profundo); }
.mg-whatsapp[open] summary .mg-wa-ico { display: none; }
.mg-whatsapp:not([open]) summary .mg-wa-cerrar { display: none; }
.mg-whatsapp .mg-wa-cerrar { width: 22px; height: 22px; fill: var(--mg-oro) !important; }
.mg-whatsapp__panel {
	position: absolute; right: 0; bottom: 76px; width: 290px;
	background: var(--mg-negro-profundo);
	border: 1px solid var(--mg-linea); border-top: 2px solid var(--mg-oro);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.6);
	padding: 1.25rem;
	animation: mg-aparece 0.25s ease-out;
}
.mg-whatsapp__panel p { margin: 0 0 0.9rem; font-size: 0.9rem; color: var(--mg-escayola); line-height: 1.5; }
.mg-whatsapp__panel .mg-wa-titulo { font-family: var(--wp--preset--font-family--romana); color: var(--mg-oro); font-size: 0.8rem; letter-spacing: 0.16em; text-transform: uppercase; margin-bottom: 0.4rem; }
.mg-whatsapp__panel a {
	display: flex; align-items: center; gap: 0.75rem;
	padding: 0.75rem 0.9rem; margin-top: 0.5rem;
	background: var(--mg-grafito); border: 1px solid rgba(204, 156, 71, 0.2);
	color: var(--mg-escayola); text-decoration: none;
	transition: border-color var(--mg-t), background var(--mg-t);
}
.mg-whatsapp__panel a:hover { border-color: #25D366; background: #1f1d1a; color: #fff; text-decoration: none; }
.mg-whatsapp__panel a svg { width: 22px; height: 22px; fill: #25D366; flex: none; }
.mg-whatsapp__panel a span { display: flex; flex-direction: column; line-height: 1.25; font-size: 1rem; letter-spacing: 0.03em; }
.mg-whatsapp__panel a small { font-size: 0.72rem; color: var(--mg-suave); letter-spacing: 0.08em; text-transform: uppercase; }
@keyframes mg-aparece { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (max-width: 600px) {
	.mg-whatsapp { right: 14px; bottom: 14px; }
	.mg-whatsapp summary { width: 56px; height: 56px; }
}

/* Barra de contacto fija en móvil */
.mg-barra-movil { display: none; }
@media (max-width: 781px) {
	.mg-barra-movil {
		display: grid; grid-template-columns: 1fr 1fr;
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 998;
		background: var(--mg-negro-profundo);
		border-top: 1px solid var(--mg-oro);
		padding-right: 84px;
	}
	.mg-barra-movil a {
		display: flex; align-items: center; justify-content: center; gap: 0.5rem;
		padding: 0.95rem 0.5rem;
		font-family: var(--wp--preset--font-family--romana); font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase;
		color: var(--mg-escayola); text-decoration: none;
	}
	.mg-barra-movil a + a { border-left: 1px solid var(--mg-linea); }
	.mg-barra-movil a:last-child { color: var(--mg-oro-claro); }
	.mg-barra-movil svg { width: 17px; height: 17px; fill: var(--mg-oro); }
	body { padding-bottom: 58px; }
	.mg-whatsapp { bottom: 8px; }
}

/* ==========================================================================
   FORMULARIOS (WPForms y formularios básicos)
   ========================================================================== */
.mg-formulario, .wpforms-container { --mg-campo-bg: rgba(255, 255, 255, 0.04); }
div.wpforms-container-full .wpforms-form .wpforms-field-label,
.mg-formulario label {
	font-family: var(--wp--preset--font-family--romana);
	font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--mg-oro); font-weight: 600;
}
div.wpforms-container-full .wpforms-form input[type=text],
div.wpforms-container-full .wpforms-form input[type=email],
div.wpforms-container-full .wpforms-form input[type=tel],
div.wpforms-container-full .wpforms-form input[type=number],
div.wpforms-container-full .wpforms-form select,
div.wpforms-container-full .wpforms-form textarea,
.mg-formulario input, .mg-formulario select, .mg-formulario textarea {
	background: var(--mg-campo-bg) !important;
	border: 1px solid rgba(204, 156, 71, 0.3) !important;
	border-radius: 2px !important;
	color: var(--mg-escayola) !important;
	font-family: var(--wp--preset--font-family--texto) !important;
	font-size: 1rem !important;
	padding: 0.85rem 1rem !important;
	height: auto !important;
	max-width: 100% !important;
	box-shadow: none !important;
	transition: border-color var(--mg-t), background var(--mg-t);
}
div.wpforms-container-full .wpforms-form input:focus,
div.wpforms-container-full .wpforms-form select:focus,
div.wpforms-container-full .wpforms-form textarea:focus,
.mg-formulario input:focus, .mg-formulario select:focus, .mg-formulario textarea:focus {
	border-color: var(--mg-oro) !important;
	background: rgba(204, 156, 71, 0.06) !important;
	outline: none;
}
div.wpforms-container-full .wpforms-form select option { background: var(--mg-negro); color: var(--mg-escayola); }
div.wpforms-container-full .wpforms-form ::placeholder { color: rgba(179, 170, 161, 0.6) !important; }
div.wpforms-container-full .wpforms-form .wpforms-field-description,
div.wpforms-container-full .wpforms-form .wpforms-field-sublabel { color: var(--mg-suave) !important; }
div.wpforms-container-full .wpforms-form .wpforms-field-checkbox label,
div.wpforms-container-full .wpforms-form .wpforms-field-gdpr-checkbox label { font-family: var(--wp--preset--font-family--texto); text-transform: none; letter-spacing: 0; font-size: 0.9rem; color: var(--mg-escayola); font-weight: 400; }
div.wpforms-container-full .wpforms-form button[type=submit],
div.wpforms-container-full .wpforms-form .wpforms-submit {
	background: linear-gradient(180deg, #F4CE74 0%, #CC9C47 55%, #A67A32 100%) !important;
	color: var(--mg-negro-profundo) !important;
	border: 0 !important; border-radius: 2px !important;
	font-family: var(--wp--preset--font-family--romana) !important;
	font-size: 0.875rem !important; font-weight: 600 !important;
	letter-spacing: 0.12em; text-transform: uppercase;
	padding: 1rem 2.25rem !important; height: auto !important;
	box-shadow: 0 6px 20px rgba(204, 156, 71, 0.22) !important;
	cursor: pointer; transition: transform var(--mg-t), box-shadow var(--mg-t);
}
div.wpforms-container-full .wpforms-form button[type=submit]:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(204, 156, 71, 0.35) !important; }
div.wpforms-container-full .wpforms-confirmation-container-full { background: var(--mg-grafito) !important; border: 1px solid var(--mg-oro) !important; color: var(--mg-escayola) !important; }
div.wpforms-container-full .wpforms-form label.wpforms-error, div.wpforms-container-full .wpforms-form em.wpforms-error { color: #ff8a7a !important; }

/* ==========================================================================
   CONTENIDO GENERAL (entradas, páginas simples, textos legales)
   ========================================================================== */
.mg-cabecera-pagina { position: relative; }
.mg-cabecera-pagina::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
	background: linear-gradient(90deg, transparent, var(--mg-oro), transparent);
}
.mg-contenido > * + * { margin-top: 1.25rem; }
.mg-contenido h2 { margin-top: 2.75rem; }
.mg-contenido h3 { margin-top: 2rem; }
.mg-contenido table { width: 100%; border-collapse: collapse; }
.mg-contenido th, .mg-contenido td { border: 1px solid var(--mg-linea); padding: 0.6rem 0.8rem; text-align: left; }

/* Breadcrumbs de Rank Math */
.rank-math-breadcrumb { font-family: var(--wp--preset--font-family--romana); font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mg-suave); }
.rank-math-breadcrumb p { margin: 0; }
.rank-math-breadcrumb a { color: var(--mg-escayola); }
.rank-math-breadcrumb a:hover { color: var(--mg-oro-claro); }
.rank-math-breadcrumb .separator { color: var(--mg-oro); padding: 0 0.4em; }

/* Paginación */
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { padding: 0.4rem 0.8rem; border: 1px solid var(--mg-linea); color: var(--mg-escayola); }
.wp-block-query-pagination .page-numbers.current { background: var(--mg-oro); color: #000; border-color: var(--mg-oro); }

/* ==========================================================================
   ANIMACIÓN DE ENTRADA (suave, se desactiva si el usuario lo prefiere)
   ========================================================================== */
@media (prefers-reduced-motion: no-preference) {
	.mg-js .mg-revelar { opacity: 0; transform: translateY(24px); transition: opacity 0.9s ease, transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1); }
	.mg-js .mg-revelar.is-visible { opacity: 1; transform: none; }
}
/* En el editor siempre visible */
.editor-styles-wrapper .mg-revelar { opacity: 1 !important; transform: none !important; }

/* ==========================================================================
   AJUSTES RESPONSIVE GENERALES
   ========================================================================== */
@media (max-width: 781px) {
	.mg-hero { min-height: 88vh; }
	.mg-hero .wp-block-buttons { width: 100%; }
	.mg-hero .wp-block-button { width: 100%; }
	.mg-hero .wp-block-button__link { width: 100%; text-align: center; justify-content: center; }
	.mg-confianza { row-gap: 1rem !important; }
	.wp-block-columns { row-gap: 2.5rem !important; }
	.mg-pasos { row-gap: 3rem !important; }
	.wp-block-image.is-style-marco-dorado { margin-right: 18px; }
}

/* ==========================================================================
   AJUSTES DE MAQUETACIÓN
   ========================================================================== */
/* Las secciones a ancho completo van pegadas, sin huecos entre ellas */
.wp-site-blocks > * + * { margin-block-start: 0; }
.wp-block-post-content > .alignfull,
.wp-block-post-content > .alignfull + *,
main > .alignfull + .alignfull,
main > .wp-block-group + .alignfull { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.wp-block-post-content > .alignfull:first-child { margin-block-start: 0 !important; }

/* Botones dentro de secciones claras (más contraste sobre marfil) */
.is-style-seccion-clara .wp-block-button.is-style-contorno .wp-block-button__link { color: var(--mg-negro) !important; border-color: var(--mg-oro-oscuro) !important; }
.is-style-seccion-clara .wp-block-button.is-style-contorno .wp-block-button__link:hover { background: var(--mg-negro) !important; color: var(--mg-oro-claro) !important; border-color: var(--mg-negro) !important; }
.is-style-seccion-clara .wp-block-button.is-style-flecha .wp-block-button__link,
.is-style-tarjeta-clara .wp-block-button.is-style-flecha .wp-block-button__link { color: var(--mg-oro-oscuro) !important; }
.is-style-seccion-clara .wp-block-button.is-style-flecha .wp-block-button__link:hover,
.is-style-tarjeta-clara .wp-block-button.is-style-flecha .wp-block-button__link:hover { color: var(--mg-negro) !important; }
.wp-block-button.is-style-flecha .wp-block-button__link { text-align: left; justify-content: flex-start; }

/* Cifras más contenidas */
.mg-cifra__valor { font-size: clamp(1.35rem, 2.1vw, 1.75rem) !important; hyphens: manual; overflow-wrap: normal; word-break: keep-all; }

/* Pie: títulos de columna con aire */
.mg-footer h3 { margin-bottom: 1.1rem !important; }
.mg-footer .wp-block-column > * + * { margin-block-start: 1rem; }
.mg-header, .mg-topbar { margin-block-start: 0 !important; }

/* Menú móvil alineado a la izquierda y por encima de los botones flotantes */
.mg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.mg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; text-align: left; }
.mg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: flex-start !important; }
.mg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { border-bottom: 1px solid rgba(204, 156, 71, 0.15); padding-bottom: 0.35rem; }
body:has(.wp-block-navigation__responsive-container.is-menu-open) .mg-barra-movil,
body:has(.wp-block-navigation__responsive-container.is-menu-open) .mg-whatsapp { display: none; }

/* Teléfono en la barra principal: oculto arriba (ya está en la franja superior)
   y aparece solo al hacer scroll, cuando la franja superior desaparece. */
.mg-header .mg-header__tel { max-width: 0; opacity: 0; overflow: hidden; margin: 0; transition: max-width 0.4s ease, opacity 0.3s ease; }
.mg-header.is-scrolled .mg-header__tel { max-width: 12rem; opacity: 1; }
.mg-header .mg-header__acciones { gap: 0 !important; }
.mg-header.is-scrolled .mg-header__acciones { gap: 1.25rem !important; }
@media (max-width: 1180px) { .mg-header.is-scrolled .mg-header__tel { max-width: 0; opacity: 0; } .mg-header.is-scrolled .mg-header__acciones { gap: 0 !important; } }

/* Iconos del botón de WhatsApp perfectamente centrados */
.mg-whatsapp summary > span { display: flex; align-items: center; justify-content: center; line-height: 0; }
.mg-whatsapp summary svg { display: block; }

/* Bloque de experiencia (+25 años) */
.mg-exp { text-align: left; }
.mg-exp p { margin: 0; }
.mg-exp__num {
	font-family: var(--wp--preset--font-family--titulos);
	font-size: clamp(5rem, 11vw, 9rem); font-weight: 500; line-height: 0.9;
	background: var(--mg-oro-metalico); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.mg-exp__txt {
	font-family: var(--wp--preset--font-family--romana);
	font-size: 0.9rem; letter-spacing: 0.28em; text-transform: uppercase; color: var(--mg-escayola);
	margin-top: 0.75rem !important;
}
.mg-exp .wp-block-separator { margin-top: 1.5rem !important; }
.is-style-seccion-clara .mg-exp__txt { color: var(--mg-tinta); }

/* Cabecera de la sección de proyectos en móvil */
@media (max-width: 781px) { .mg-proyectos-cab .wp-block-buttons { justify-content: flex-start !important; } }

/* Las secciones con ancla no quedan tapadas por la barra fija */
[id] { scroll-margin-top: 110px; }

/* Listas de enlaces dentro de tarjetas claras */
.is-style-tarjeta-clara .mg-lista-servicios a { color: var(--mg-oro-oscuro); }
.is-style-tarjeta-clara .mg-lista-servicios li::before { background: var(--mg-oro-oscuro); }
.mg-servicio .mg-lista-servicios { position: relative; z-index: 2; font-size: var(--wp--preset--font-size--s); }
.mg-servicio .mg-lista-servicios li { margin-bottom: 0.35rem; }

/* Cadena de pasos (p. ej. preparación → perlita → pintura) */
.mg-flujo { gap: 0 !important; margin-block: 1.5rem !important; }
.mg-flujo__paso {
	margin: 0 !important; padding: 0.7rem 1.1rem;
	border: 1px solid var(--mg-linea);
	font-family: var(--wp--preset--font-family--romana); font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--mg-oro-claro); background: rgba(204, 156, 71, 0.06);
	position: relative;
}
.mg-flujo__paso + .mg-flujo__paso { margin-left: 2.2rem !important; }
.mg-flujo__paso + .mg-flujo__paso::before {
	content: "→"; position: absolute; left: -1.65rem; top: 50%; transform: translateY(-50%);
	color: var(--mg-oro); font-family: var(--wp--preset--font-family--texto); font-size: 1.1rem; letter-spacing: 0;
}
.is-style-seccion-clara .mg-flujo__paso { color: var(--mg-oro-oscuro); border-color: rgba(132, 87, 30, 0.35); background: #fff; }
@media (max-width: 781px) {
	.mg-flujo { flex-direction: column; align-items: stretch !important; }
	.mg-flujo__paso { text-align: center; }
	.mg-flujo__paso + .mg-flujo__paso { margin-left: 0 !important; margin-top: 2rem !important; }
	.mg-flujo__paso + .mg-flujo__paso::before { content: "↓"; left: 50%; top: -1.55rem; transform: translateX(-50%); }
}

/* ==========================================================================
   PÁGINA DE CONTACTO
   ========================================================================== */
.mg-hero-corto { min-height: min(55vh, 460px) !important; }
.mg-contacto-lista { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 1.5rem; }
.mg-contacto-tarjeta {
	display: flex; align-items: center; gap: 0.9rem;
	padding: 1rem 1.1rem;
	background: var(--mg-grafito); border: 1px solid rgba(204, 156, 71, 0.22);
	color: var(--mg-blanco, #fff); text-decoration: none !important;
	transition: border-color var(--mg-t), transform var(--mg-t), background var(--mg-t);
}
.mg-contacto-tarjeta:hover { border-color: var(--mg-oro); transform: translateY(-2px); background: #211e1b; color: #fff; }
.mg-contacto-tarjeta svg { width: 26px; height: 26px; fill: var(--mg-oro); flex: none; }
.mg-contacto-tarjeta--wa svg { fill: #25D366; }
.mg-contacto-tarjeta span { display: flex; flex-direction: column; font-size: 1.05rem; letter-spacing: 0.02em; line-height: 1.3; color: var(--mg-escayola); word-break: break-word; }
.mg-contacto-tarjeta small { font-family: var(--wp--preset--font-family--romana); font-size: 0.68rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--mg-oro); }
.mg-contacto-tarjeta--ancha { grid-column: 1 / -1; }
.mg-contacto-zona { display: flex; align-items: center; gap: 0.6rem; margin-top: 1.25rem !important; font-size: var(--wp--preset--font-size--s); color: var(--mg-suave); }
.mg-contacto-zona svg { width: 18px; height: 18px; fill: var(--mg-oro); flex: none; }
@media (max-width: 600px) { .mg-contacto-lista { grid-template-columns: 1fr; } }

.mg-form-caja { border-top: 2px solid var(--mg-oro) !important; }
.mg-form-caja:hover { transform: none; }
.mg-form-hueco { border: 1px dashed var(--mg-oro); padding: 2rem; text-align: center; background: rgba(204, 156, 71, 0.05); }
.mg-form-hueco__titulo { font-family: var(--wp--preset--font-family--romana); color: var(--mg-oro-claro); letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.85rem; }

/* ==========================================================================
   CABECERA CLARA (primer bloque de cada página): fondo blanco, texto negro
   ========================================================================== */
.mg-hero-claro, .mg-cabecera-pagina.is-style-seccion-clara { color: var(--mg-tinta); position: relative; }
.mg-hero-claro::after, .mg-cabecera-pagina.is-style-seccion-clara::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
	background: linear-gradient(90deg, transparent, var(--mg-oro), transparent);
}
.mg-hero-claro h1 { color: var(--mg-negro) !important; text-shadow: none; }
.mg-hero-claro .is-style-entradilla { color: var(--mg-tinta); }
.mg-hero-claro .mg-confianza { border-top: 1px solid rgba(132, 87, 30, 0.25); }
.mg-hero-claro .mg-confianza p { color: var(--mg-tinta); }
.mg-hero-claro .mg-confianza__num { background: linear-gradient(135deg, #84571E 0%, #A67A32 50%, #84571E 100%); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
.mg-hero-claro .wp-block-image.is-style-marco-dorado::before { opacity: 0.9; }
.mg-hero-claro .wp-block-image img { box-shadow: 0 30px 60px rgba(42, 37, 33, 0.18); }
.is-style-seccion-clara .rank-math-breadcrumb { color: #6d655d; }
.is-style-seccion-clara .rank-math-breadcrumb a { color: var(--mg-tinta); }
.is-style-seccion-clara .rank-math-breadcrumb a:hover { color: var(--mg-oro-oscuro); }
.is-style-seccion-clara .rank-math-breadcrumb .separator { color: var(--mg-oro-oscuro); }
.is-style-seccion-clara .wp-block-post-terms a { color: var(--mg-oro-oscuro); }
.mg-hero-claro.mg-hero-corto { min-height: 0 !important; }
/* La barra negra del menú queda separada de la cabecera blanca por una línea dorada fina */
.mg-header { border-bottom-color: rgba(204, 156, 71, 0.45); }
@media (max-width: 781px) {
	.mg-hero-claro .wp-block-buttons { width: 100%; }
	.mg-hero-claro .wp-block-button { width: 100%; }
	.mg-hero-claro .wp-block-button__link { width: 100%; justify-content: center; text-align: center; }
	.mg-hero-claro .wp-block-image.is-style-marco-dorado { margin-right: 18px; }
}
