/* ==========================================================================
   Mediahuella — estilos del tema (réplica de mediahuella.com)
   ========================================================================== */

:root {
	--mh-azul: #1D1E38;
	--mh-azul-medio: #2A2B50;
	--mh-tinta: #31304D;
	--mh-indigo: #3C3E70;
	--mh-amarillo: #FBB342;
	--mh-burdeo: #B70038;
	--mh-rojo: #D30142;
	--mh-lavanda: #E2E1EE;
	--mh-gris: #69679A;
	--mh-gris-claro: #80819A;
	--mh-blanco: #FCFCFD;
	--mh-pie: #1B1A2B;
	--mh-sombra: 0 10px 25px -5px rgba(29, 30, 56, .15);
	--mh-flecha: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 13'%3E%3Cpath d='M4.6 6.5L0 1.9L1.4.5l6 6-6 6L0 11.1z'/%3E%3C/svg%3E");
	--mh-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img, video { max-width: 100%; height: auto; }
:where(.wp-site-blocks) > * { margin-block: 0; }
.mh-main :where(figure) { margin: 0; }
.mh-main :where(p, ul, h1, h2, h3, h4, h5) { margin-block: 0; }
/* Las secciones van pegadas, sin el espacio entre bloques de WordPress */
.mh-main .wp-block-post-content > * { margin-block: 0; }
/* Core fuerza align-items: normal !important en columnas */
.mh-hero-int .wp-block-columns,
.mh-proceso .wp-block-columns,
.mh-caso-bloque .wp-block-columns,
.mh-clientes-sub .wp-block-columns { align-items: center !important; }

.mh-in {
	width: 100%;
	max-width: 1536px;
	margin-inline: auto;
	padding-inline: 1rem;
}
.mh-sec { position: relative; padding-block: 4rem; }
.mh-sec > .mh-in > * + * { margin-top: 1.5rem; }
.mh-centro { text-align: center; }
.mh-blanco, .mh-blanco :where(h1, h2, h3, h4, p, li) { color: #fff; }

/* Título con subrayado amarillo */
.mh-subrayado,
.is-style-mh-subrayado {
	position: relative;
	width: fit-content;
	padding-bottom: .35rem;
}
.mh-subrayado::after,
.is-style-mh-subrayado::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 3px;
	background: var(--mh-amarillo);
}
.mh-subrayado.has-text-align-center,
.is-style-mh-subrayado.has-text-align-center,
.mh-subrayado.mh-centro,
.mh-centro .mh-subrayado,
.mh-cta__caja .mh-subrayado { margin-inline: auto; }

.mh-h2 { font-size: 2.25rem; line-height: 1.2; }
.mh-etiqueta {
	font-size: .875rem;
	font-weight: 600;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--mh-gris);
}
.mh-gradiente-texto {
	background: linear-gradient(90deg, var(--mh-rojo), var(--mh-amarillo)) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	color: transparent !important;
}
.mh-solo-movil { display: none !important; }

/* ---------- Botones ---------- */
.wp-element-button,
.wp-block-button__link { transition: background-color .2s, color .2s, border-color .2s; }
.is-style-mh-flecha .wp-block-button__link,
.is-style-mh-outline .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
}
.is-style-mh-flecha .wp-block-button__link::after,
.is-style-mh-outline .wp-block-button__link::after {
	content: "";
	width: 8px;
	height: 13px;
	background: currentColor;
	-webkit-mask: var(--mh-flecha) center / contain no-repeat;
	mask: var(--mh-flecha) center / contain no-repeat;
}
.is-style-mh-outline .wp-block-button__link {
	background: #fff;
	color: var(--mh-amarillo);
	border: 1px solid var(--mh-amarillo);
	padding: .5rem 1.5rem;
}
.is-style-mh-outline .wp-block-button__link:hover,
.is-style-mh-outline .wp-block-button__link:focus {
	background: var(--mh-rojo);
	border-color: var(--mh-rojo);
	color: #fff;
}
.wp-block-button__link:active { background: #860027; color: #fff; }

/* ---------- Encabezado ---------- */
header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0);
	z-index: 80;
}
.mh-header {
	background: #fff;
	box-shadow: 0 10px 15px -3px rgba(29, 30, 56, .15);
}
.mh-header__in { min-height: 75px; gap: 1rem; }
.mh-logo { margin: 0; }
.mh-logo img { width: 210px; display: block; }
.mh-header__nav { gap: 2rem; }
.mh-nav { font-size: 1rem; color: var(--mh-azul); gap: 2rem; }
.mh-nav .wp-block-navigation-item__content { padding: .25rem 0; }
.mh-nav .wp-block-navigation-item__content:hover { color: var(--mh-rojo); }
.mh-nav .wp-block-navigation__submenu-container {
	min-width: 240px !important;
	padding: .5rem 0;
	border: 0 !important;
	border-radius: .5rem;
	box-shadow: var(--mh-sombra);
	background: #fff !important;
}
.mh-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .6rem 1.25rem; }
.mh-header__cta .wp-block-button__link {
	padding: .5rem 1.5rem;
	font-weight: 400;
}

/* ---------- Pie de página ---------- */
.mh-footer { background: var(--mh-pie); color: #fff; padding-top: 3rem; }
.mh-footer a { color: #fff; }
.mh-footer a:hover { color: var(--mh-amarillo); }
.mh-footer__top {
	align-items: center;
	padding-bottom: 1.5rem;
	border-bottom: 2px solid var(--mh-tinta);
}
.mh-footer__logo img { width: 350px; display: block; }
.mh-footer__cols {
	display: grid;
	grid-template-columns: 1fr 260px 260px;
	gap: 2.5rem;
	padding-block: 3rem;
}
.mh-footer__cols > * + * { margin-top: 0 !important; }
.mh-footer__contacto > * + * { margin-top: .5rem; }
.mh-footer__linkedin { margin-bottom: 1.5rem !important; }
.mh-footer__linkedin img { width: 40px; display: block; }
.mh-ico { display: flex; align-items: center; gap: .5rem; }
.mh-ico::before {
	content: "";
	width: 24px;
	height: 24px;
	flex: none;
	background: center / contain no-repeat;
}
.mh-ico--mail::before { background-image: url(/wp-content/uploads/mh/mail.webp); }
.mh-ico--ubicacion::before { background-image: url(/wp-content/uploads/mh/location.webp); }
.mh-footer__titulo { font-size: 1.125rem; font-weight: 700; }
.mh-footer__links > * + * { margin-top: 1.5rem; }
.mh-footer__servicios .mh-footer__titulo { margin-bottom: 1rem; }
.mh-footer__lista { list-style: none; padding: 0; margin: 0; font-size: .875rem; }
.mh-footer__lista li + li { margin-top: 1.25rem; }
.mh-footer__barra {
	background: var(--mh-azul-medio);
	margin-top: 1.5rem;
	padding: 1rem;
	gap: 1.5rem;
	font-size: .875rem;
}
.mh-footer__barra p { margin: 0; }

/* ---------- Hero de inicio (video) ---------- */
.mh-hero {
	position: relative;
	overflow: hidden;
	color: #fff;
	background: var(--mh-indigo);
	padding-block: 16rem;
}
.mh-hero__video {
	position: absolute;
	inset: 0;
	margin: 0;
}
.mh-hero__video video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mh-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, #2A2B50, rgba(60, 62, 112, .05));
	pointer-events: none;
}
.mh-hero > .mh-in { position: relative; z-index: 2; }
.mh-hero__texto { max-width: 48rem; }
.mh-hero__texto > * + * { margin-top: 2rem !important; }
.mh-hero h1 { color: #fff; font-size: 3.75rem; line-height: 1.25; text-wrap: balance; }
.mh-hero p { font-size: 1.25rem; }

/* ---------- Carrusel de clientes en inicio ---------- */
.mh-home-clientes { background: linear-gradient(to bottom, #2A2B50, #3C3E70); }
.mh-home-clientes h2 { color: #fff; }
.mh-slider-wrap { position: relative; }
.mh-slider {
	position: relative;
	display: flex;
	gap: 1rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding: 1rem calc(50% - 225px) 2rem;
	margin-top: 2rem !important;
}
.mh-slider::-webkit-scrollbar { display: none; }
.mh-slider > * { margin: 0 !important; }
.mh-slide {
	position: relative;
	flex: 0 0 450px;
	aspect-ratio: 411 / 600;
	scroll-snap-align: center;
	overflow: hidden;
	transform: scale(.85);
	opacity: .6;
	transition: transform .5s, opacity .5s;
}
.mh-slide.is-activo { transform: scale(1); opacity: 1; }
.mh-slide__fondo { position: absolute; inset: 0; }
.mh-slide__fondo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mh-slide__capa {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	padding: 1rem;
}
.mh-slide__capa > * { margin: 0 !important; }
.mh-slide__logo img { max-width: 200px; max-height: 60px; width: auto; display: block; }
.mh-slide:not(.is-activo) .mh-slide__fondo { filter: brightness(.6); }
.mh-telefono {
	position: relative;
	width: 240px;
	aspect-ratio: 529 / 1066;
	transition: opacity .5s;
}
.mh-telefono::after {
	content: "";
	position: absolute;
	inset: 0;
	background: url(/wp-content/uploads/mh/phone-frame.webp) center / contain no-repeat;
	pointer-events: none;
	z-index: 2;
}
.mh-telefono > figure {
	position: absolute;
	left: 5.1%;
	top: 11%;
	width: 90%;
	height: 79.9%;
	margin: 0 !important;
	overflow: hidden;
}
.mh-telefono img,
.mh-telefono video { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.mh-slide:not(.is-activo) .mh-telefono,
.mh-slide:not(.is-activo) .mh-slide__boton { opacity: 0; }
.mh-slide__boton { transition: opacity .5s; }

/* Flechas de carruseles (las crea mh.js) */
.mh-flechas { position: absolute; inset: 50% 0 auto; display: flex; justify-content: space-between; pointer-events: none; transform: translateY(-50%); z-index: 5; }
.mh-flecha {
	pointer-events: auto;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 0;
	background: #fff;
	box-shadow: var(--mh-sombra);
	cursor: pointer;
	display: grid;
	place-items: center;
}
.mh-flecha::before {
	content: "";
	width: 10px;
	height: 16px;
	background: var(--mh-azul);
	-webkit-mask: var(--mh-flecha) center / contain no-repeat;
	mask: var(--mh-flecha) center / contain no-repeat;
}
.mh-flecha--prev::before { transform: scaleX(-1); }
.mh-flecha:hover { background: var(--mh-amarillo); }

/* ---------- Marquesina (logos / herramientas) ---------- */
.mh-marquesina { overflow: hidden; -webkit-mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.mh-marquesina__pista {
	display: flex;
	align-items: center;
	gap: 4rem;
	width: max-content;
	flex-wrap: nowrap;
}
.mh-marquesina__pista > * { margin: 0 !important; flex: none; }
.mh-marquesina.is-animada .mh-marquesina__pista { animation: mh-marquesina 30s linear infinite; }
.mh-marquesina:hover .mh-marquesina__pista { animation-play-state: paused; }
@keyframes mh-marquesina { to { transform: translateX(-50%); } }
.mh-logos img { height: 42px; width: auto; display: block; }
.mh-herramienta { font-size: 1.5rem; font-weight: 600; color: var(--mh-tinta); white-space: nowrap; }

/* ---------- Inicio: expertos + servicios ---------- */
.mh-expertos { background: linear-gradient(to bottom, #3C3E70, #2A2B50); }
.mh-expertos h2 { color: #fff; }
.mh-tarjetas-servicio {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
	margin-top: 3rem !important;
}
.mh-tarjetas-servicio > * { margin: 0 !important; }
.mh-tservicio {
	background: #fff;
	border-radius: .5rem;
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: .75rem;
	color: var(--mh-tinta);
}
.mh-tservicio > * { margin: 0 !important; }
.mh-tservicio__icono img { width: 28px; height: 28px; display: block; }
.mh-tservicio h3 { font-size: 1.375rem; min-height: 3.3rem; display: flex; align-items: center; }
.mh-tservicio p { flex-grow: 1; }
.mh-tservicio .wp-block-buttons { margin-top: .5rem !important; }

/* ---------- Inicio: por qué trabajar con nosotros ---------- */
.mh-porque { background: #2A2B50; color: #fff; }
.mh-porque h2, .mh-porque h3 { color: #fff; }
.mh-porque__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 3.5rem 2rem;
	max-width: 1000px;
	margin: 3rem auto 0 !important;
}
.mh-porque__grid > * { margin: 0 !important; text-align: center; }
.mh-porque__item > * + * { margin-top: .75rem !important; }
.mh-porque__item figure img { width: 48px; height: 48px; margin-inline: auto; display: block; }
.mh-porque__item h3 { font-size: 1.25rem; }
.mh-porque__item p { max-width: 75%; margin-inline: auto !important; }
.mh-porque .wp-block-buttons { margin-top: 3.5rem !important; }

/* ---------- Inicio: proceso ---------- */
.mh-proceso { background: linear-gradient(to bottom, #2A2B50, #1D1E38); color: #fff; }
.mh-proceso h2 { color: #fff; }
.mh-proceso .wp-block-columns { align-items: center; gap: 3rem; }
.mh-proceso p { margin-top: 1.5rem !important; }

/* ---------- CTA "¿Necesitas ayuda?" ---------- */
.mh-cta { padding-block: 4rem; }
.mh-cta__caja {
	border-radius: 1rem;
	padding: 4rem 1.5rem;
	text-align: center;
	color: #fff;
	background-color: var(--mh-azul);
	background-image: linear-gradient(to top left, rgba(183, 0, 56, .45), rgba(29, 30, 56, .2));
}
.mh-cta__caja > * + * { margin-top: 1.5rem !important; }
.mh-cta__caja h2 { color: #fff; }
.mh-cta__caja p { font-size: 1.25rem; }
.mh-cta--sol { background: linear-gradient(to bottom, #1D1E38, #3C3E70); }
.mh-cta--sol .mh-cta__caja { background: linear-gradient(to top right, #FBB342, #B70038); }

/* ---------- Héroes de páginas internas ---------- */
.mh-hero-int { padding-block: 5rem; }
.mh-hero-int--durazno { background: linear-gradient(12deg, #FCFCFD 30%, #FADDBA 75%); }
.mh-hero-int .wp-block-columns { align-items: center; gap: 3rem; }
.mh-hero-int h1 { font-size: 3rem; line-height: 1.25; }
.mh-hero-int .wp-block-column > * + * { margin-top: 1rem; }
.mh-hero-int .wp-block-buttons { margin-top: 2rem !important; }
.mh-hero-int__icono img { width: 48px; display: block; }
.mh-hero-int__bajada { font-size: 1.125rem; max-width: 28rem; }

/* ---------- Servicios: pestañas ---------- */
.mh-servicios-tabs { background: linear-gradient(180deg, #fff 0%, #E2E1EE 25%, #fff 100%); }
.mh-tabs {
	display: grid;
	grid-template-columns: minmax(260px, 1fr) 2fr;
	gap: 1.5rem;
	margin-top: 2rem !important;
}
.mh-tabs > * { margin: 0 !important; }
.mh-tabs__menu,
.mh-tab {
	background: #fff;
	border-radius: 1rem;
	box-shadow: var(--mh-sombra);
	padding: 2.5rem 2rem;
}
.mh-tabs__menu ul { list-style: none; padding: 0; margin: 0; }
.mh-tabs__menu li {
	font-size: 1.125rem;
	color: var(--mh-gris-claro);
	cursor: pointer;
	padding: .6rem 0;
}
.mh-tabs__menu li.is-activo,
.mh-tabs__menu li:hover { color: var(--mh-azul); }
.mh-tabs__menu li.is-activo { font-weight: 600; }
.mh-tabs__paneles > * + * { margin-top: 1.5rem; }
.mh-tabs.is-js .mh-tabs__paneles > * + * { margin-top: 0; }
.mh-tabs.is-js .mh-tab:not(.is-activo) { display: none; }
.mh-tab { display: flex; flex-direction: column; gap: 1.25rem; min-height: 100%; }
.mh-tab > * { margin: 0 !important; }
.mh-tab__cabecera { display: flex; align-items: center; gap: .75rem; font-size: .875rem; text-transform: uppercase; }
.mh-tab__cabecera img { width: 24px; }
.mh-tab h3 { font-size: 1.875rem; font-weight: 600; }
.mh-tab ul { padding-left: 1.25rem; font-size: .9375rem; }
.mh-tab li + li { margin-top: .4rem; }
.mh-tab .wp-block-buttons { margin-top: auto !important; padding-top: 1.5rem; }
.mh-tabs:not(.is-js) .mh-tabs__menu { display: none; }
.mh-tabs:not(.is-js) { grid-template-columns: 1fr; }

/* ---------- Nuestro trabajo / caso destacado ---------- */
.mh-bajada-centro { max-width: 42rem; margin-inline: auto !important; color: #4b5563; }
.mh-destacado {
	background: #fff;
	border-radius: 1rem;
	box-shadow: var(--mh-sombra);
	overflow: hidden;
	margin-top: 3rem !important;
	gap: 0 !important;
	align-items: center !important;
}
.mh-destacado__texto { padding: 3rem 4.5rem; }
.mh-destacado__texto > * + * { margin-top: 1rem !important; }
.mh-destacado__texto .mh-etiqueta { color: var(--mh-burdeo); font-weight: 400; }
.mh-destacado__texto h3 { font-size: 1.875rem; color: #111827; }
.mh-destacado__texto p:not(.mh-etiqueta) { font-size: 1.125rem; color: #4b5563; max-width: 22rem; }
.mh-destacado__texto .wp-block-buttons { margin-top: 2.5rem !important; }
.mh-destacado__imagen img { display: block; width: 100%; }

/* ---------- Tarjetas de clientes (carrusel) ---------- */
.mh-carrusel { position: relative; }
.mh-carrusel__pista {
	display: flex;
	gap: 1.75rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding: 1.5rem .5rem 2.5rem;
}
.mh-carrusel__pista::-webkit-scrollbar { display: none; }
.mh-carrusel__pista > * { margin: 0 !important; }
.mh-tcliente {
	flex: 0 0 265px;
	scroll-snap-align: start;
	background: #fff;
	border-radius: .75rem;
	box-shadow: var(--mh-sombra);
	padding: 1.25rem;
	display: flex;
	flex-direction: column;
	gap: .75rem;
}
.mh-tcliente > * { margin: 0 !important; }
.mh-tcliente figure { aspect-ratio: 1 / 1.15; overflow: hidden; border-radius: .25rem; }
.mh-tcliente figure a { display: block; height: 100%; }
.mh-tcliente figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mh-tcliente h3 { font-size: 1.125rem; font-weight: 600; margin-top: .25rem !important; }
.mh-tcliente p { font-size: .875rem; color: #4b5563; flex-grow: 1; }
.mh-tcliente .wp-block-buttons { margin-top: .5rem !important; }
.mh-carrusel .mh-flechas { inset-inline: -1.25rem; }

.mh-sec--lavanda { background: linear-gradient(180deg, #fff 0%, #E2E1EE 25%, #E2E1EE 100%); }
.mh-sec--lavanda-suave { background: linear-gradient(to bottom, #E2E1EE, #FFFFFF); }
.mh-clientes-sub .wp-block-columns { align-items: center; gap: 2rem; }
.mh-clientes-sub .wp-block-column:first-child > * + * { margin-top: 1rem; }
.mh-clientes-sub .wp-block-column:first-child .wp-block-buttons { margin-top: 2rem !important; }

/* ---------- Servicio: detalle ---------- */
.mh-intro-sub p.mh-intro-sub__bajada { font-size: 1.125rem; }
.mh-tarjetas-det {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
	margin-top: 3rem !important;
}
.mh-tarjetas-det > * { margin: 0 !important; }
.mh-tdet {
	background: #fff;
	border-radius: .75rem;
	box-shadow: var(--mh-sombra);
	padding: 1.75rem 1.5rem;
}
.mh-tdet > * + * { margin-top: 1rem !important; }
.mh-tdet h3 { font-size: 1.25rem; }
.mh-tdet ul { padding-left: 1.25rem; }
.mh-tdet li + li { margin-top: .9rem; }
.mh-adaptamos .wp-block-columns { gap: 3rem; }
.mh-adaptamos h2 { font-weight: 600; }
.mh-adaptamos .wp-block-column:first-child p { font-size: 1.125rem; font-weight: 300; margin-top: 1rem !important; }
.mh-paso { display: grid; grid-template-columns: 3rem 1fr; column-gap: .5rem; }
.mh-paso + .mh-paso { margin-top: 2rem !important; }
.mh-paso > * { margin: 0 !important; }
.mh-paso__num { grid-row: span 2; font-size: 1.875rem; font-style: italic; color: var(--mh-rojo); line-height: 1.2; }
.mh-paso h3 { font-size: 1.875rem; font-weight: 500; }
.mh-paso p:not(.mh-paso__num) { font-weight: 300; }
.mh-herramientas { background: linear-gradient(180deg, #fff 0%, #E2E1EE 25%, #E2E1EE 100%); }
.mh-herramientas h2 { margin-bottom: 2rem; }

/* ---------- Casos de clientes ---------- */
.mh-caso-hero { margin: 0; }
.mh-caso-hero img { width: 100%; height: 600px; object-fit: cover; display: block; }
.mh-migas { font-size: .75rem; color: var(--mh-gris); text-transform: uppercase; }
.mh-migas a { text-decoration: none; }
.mh-migas a:hover { color: var(--mh-rojo); }
.mh-migas span { text-decoration: underline; }
.mh-caso-intro { padding-top: 1.5rem; }
.mh-caso-intro .wp-block-columns { gap: 3rem; margin-top: 2rem; }
.mh-caso-intro h1 { font-size: 2.25rem; margin-bottom: 2rem !important; }
.mh-caso-intro .wp-block-column:first-child p { max-width: 90%; }
.mh-rubro { font-size: 1.5rem; font-weight: 600; margin: .25rem 0 2rem !important; }
.mh-minis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: .5rem !important; }
.mh-minis > * { margin: 0 !important; }
.mh-mini {
	background: #fff;
	border-radius: .5rem;
	box-shadow: var(--mh-sombra);
	padding: 1rem;
}
.mh-mini h5 { font-size: .875rem; font-weight: 600; display: flex; align-items: flex-start; gap: .4rem; }
.mh-mini h5 img { width: 18px; flex: none; }
.mh-mini ul { padding-left: 1.25rem; font-size: .875rem; margin-top: .75rem !important; }
.mh-mini li + li { margin-top: .4rem; }
.mh-caso-bloque .wp-block-columns { align-items: center; gap: 3rem; }
.mh-caso-bloque h2 { font-size: 1.875rem; max-width: 60%; }
.mh-caso-bloque .mh-caso-bloque__texto > * + * { margin-top: 1rem !important; }
.mh-caso-bloque__texto p:not(.mh-etiqueta) { max-width: 90%; }
.mh-caso-bloque figure img { border-radius: .75rem; display: block; width: 100%; }
.mh-caso-solucion .mh-caso-bloque__texto { max-width: 50%; }
.mh-caso-solucion h2 { max-width: none; }
.mh-resultados { margin-top: 1.5rem !important; }
.mh-resultado + .mh-resultado { margin-top: 1.25rem !important; }
.mh-resultado__titulo { font-weight: 600; font-size: .9375rem; display: flex; gap: .5rem; align-items: center; }
.mh-resultado__titulo::before {
	content: "";
	width: 12px;
	height: 12px;
	background: var(--mh-tinta);
	-webkit-mask: var(--mh-check) center / contain no-repeat;
	mask: var(--mh-check) center / contain no-repeat;
}
.mh-resultado p:not(.mh-resultado__titulo) { padding-left: 18px; margin-top: .15rem !important; }
.mh-galeria { background: linear-gradient(180deg, #fff 0%, #E2E1EE 25%, #FCFCFD 75%, #fff 100%); }
.mh-galeria .wp-block-columns { gap: .5rem; align-items: stretch; }
.mh-galeria figure, .mh-galeria img { height: 100%; }
.mh-galeria img { width: 100%; object-fit: cover; display: block; max-height: 520px; }

/* ---------- Contacto ---------- */
.mh-contacto {
	background: linear-gradient(to bottom, #3C3E70, #2A2B50);
	padding-block: 8rem;
	color: #fff;
}
.mh-contacto h2 { color: #fff; }
.mh-form { max-width: 716px; margin: 3rem auto 0; }
.mh-form__intro { font-size: 1.125rem; }
.mh-form__nota { font-size: .875rem; color: #817FAA; margin-top: .25rem !important; }
.mh-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 1.5rem; }
.mh-form input[type=text],
.mh-form input[type=email],
.mh-form input[type=tel] {
	width: 100%;
	background: transparent;
	border: 0;
	border-bottom: 2px solid #B1AEC9;
	color: #fff;
	font: inherit;
	font-size: 1rem;
	padding: .5rem 0 .75rem;
	outline: none;
}
.mh-form input::placeholder { color: #B1AEC9; font-weight: 500; }
.mh-form input:focus { border-bottom-color: var(--mh-amarillo); }
.mh-form__mensaje { display: block; margin-top: 2rem; color: #B1AEC9; font-weight: 500; }
.mh-form__mensaje textarea {
	display: block;
	width: 100%;
	margin-top: .5rem;
	background: transparent;
	border: 2px solid #B1AEC9;
	border-radius: .25rem;
	color: #fff;
	font: inherit;
	padding: .75rem;
	resize: vertical;
}
.mh-form__mensaje textarea:focus { border-color: var(--mh-amarillo); outline: none; }
.mh-form__enviar { text-align: center; margin-top: 1.5rem; }
.mh-form__enviar .wp-element-button {
	width: 250px;
	max-width: 100%;
	padding: 1rem;
	font-size: 1.25rem;
	cursor: pointer;
}
.mh-form__trampa { position: absolute !important; left: -9999px; }
.mh-form__aviso { margin-top: 1rem !important; padding: .75rem 1rem; border-radius: .5rem; }
.mh-form__aviso--ok { background: rgba(251, 179, 66, .15); border: 1px solid var(--mh-amarillo); }
.mh-form__aviso--error { background: rgba(211, 1, 66, .2); border: 1px solid var(--mh-rojo); }

/* ---------- Páginas genéricas ---------- */
.mh-generico { padding-block: 4rem; min-height: 50vh; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.mh-tarjetas-servicio,
	.mh-tarjetas-det { grid-template-columns: repeat(2, 1fr); }
	.mh-footer__cols { grid-template-columns: 1fr 1fr; }
	.mh-footer__contacto { grid-column: 1 / -1; }
	.mh-destacado__texto { padding: 2.5rem; }
}

@media (max-width: 781px) {
	.mh-sec { padding-block: 3rem; }
	.mh-h2, .mh-sec h2 { font-size: 1.875rem; }
	.mh-logo img { width: 160px; }
	.mh-header__nav { gap: .75rem; }
	.mh-header__cta .wp-block-button__link { padding: .4rem 1rem; font-size: .875rem; }
	.mh-hero { padding-block: 8rem; }
	.mh-hero h1 { font-size: 2.25rem; }
	.mh-hero p { font-size: 1.125rem; }
	.mh-hero-int { padding-block: 3rem; }
	.mh-hero-int h1 { font-size: 2.25rem; }
	.mh-slider { padding-inline: calc(50% - 140px); }
	.mh-slide { flex-basis: 280px; }
	.mh-telefono { width: 150px; }
	.mh-tarjetas-servicio,
	.mh-tarjetas-det,
	.mh-porque__grid,
	.mh-minis,
	.mh-form__grid { grid-template-columns: 1fr; }
	.mh-tabs { grid-template-columns: 1fr; }
	.mh-tab h3 { font-size: 1.5rem; }
	.mh-destacado__texto { padding: 2rem 1.5rem; }
	.mh-caso-hero img { height: 300px; }
	.mh-caso-bloque h2,
	.mh-caso-solucion .mh-caso-bloque__texto,
	.mh-caso-bloque__texto p:not(.mh-etiqueta) { max-width: none; }
	.mh-paso h3 { font-size: 1.5rem; }
	.mh-footer__logo img { width: 181px; }
	.mh-footer__top { justify-content: center; gap: 1.5rem; }
	.mh-footer__cols { grid-template-columns: 1fr; text-align: left; }
	.mh-contacto { padding-block: 4rem; }
	.mh-solo-escritorio { display: none !important; }
	.mh-solo-movil { display: block !important; }
	.mh-carrusel .mh-flechas { inset-inline: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.mh-marquesina.is-animada .mh-marquesina__pista { animation: none; }
	.mh-slide, .mh-telefono { transition: none; }
}
