/* ==========================================================================
   MP Dental — estilos del tema hijo
   Paleta del logotipo: azul MP, verde MP y gris. Tarjetas claras, formas redondeadas
   y la silueta del diente del logo como recurso gráfico.

   1 Tipografía · 2 Variables · 3 Base y Astra · 4 Secciones · 5 Texto · 6 Botones
   7 Cabecera · 8 Barra móvil · 9 Portada · 10 Componentes de página · 11 Formularios
   12 Pie · 13 Movimiento · 14 Utilidades
   ========================================================================== */

/* 1 · Tipografía -------------------------------------------------------------------------------- */
@font-face {
	font-family: "Host Grotesk";
	src: url("../fonts/host-grotesk-latin.woff2") format("woff2");
	font-weight: 300 800;
	font-style: normal;
	font-display: swap;
}

/* 2 · Variables --------------------------------------------------------------------------------- */
:root {
	--azul: #025792;
	--azul-2: #0a4a7d;
	--azul-osc: #0b2d4d;
	--azul-900: #08223b;
	--azul-cl: #e3edf6;
	--azul-50: #f0f5fa;
	--verde: #89ab3d;
	--verde-vivo: #a2c64a;
	--verde-osc: #4c6714;
	--verde-cl: #eaf2d7;
	--gris: #a9aca7;

	--fondo: #f4f6f3;
	--blanco: #fff;
	--tinta: #0f2233;
	--tinta-2: #4a5b69;
	--tinta-3: #6c7a86;
	--linea: #dde3e8;
	--error: #b42318;

	--f: "Host Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
	--w: 82rem;
	--gut: clamp(1rem, 3.5vw, 2.25rem);
	--sec: clamp(4.5rem, 3rem + 6vw, 8rem);
	--cab: 5.5rem;
	--r-xl: clamp(1.5rem, 1rem + 1.5vw, 2.25rem);
	--r-l: 1.5rem;
	--r-m: 1rem;
	--r-s: .65rem;
	--sombra: 0 1px 2px rgba(15, 34, 51, .04), 0 12px 32px -16px rgba(15, 34, 51, .18);
	--sombra-2: 0 2px 4px rgba(15, 34, 51, .05), 0 24px 48px -20px rgba(15, 34, 51, .28);
	--ease: cubic-bezier(.2, .7, .2, 1);
	--diente: url("../img/diente.svg");
}

/* 3 · Base y ajustes de Astra ------------------------------------------------------------------- */
html { scroll-padding-top: calc(var(--cab) + 1rem); -webkit-text-size-adjust: 100%; }
body.mpd {
	font-family: var(--f);
	font-size: 1.0625rem;
	line-height: 1.6;
	color: var(--tinta);
	background: var(--fondo);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: "kern", "liga", "calt";
}
.mpd ::selection { background: var(--verde); color: var(--tinta); }
.mpd img { max-width: 100%; height: auto; }
.mpd .site-content > .ast-container { max-width: none; padding: 0; display: block; }
.mpd .site-main, .mpd .entry-content, .mpd #primary { margin: 0; padding: 0; background: none; }
.mpd article.page, .mpd article.ast-article-single { padding: 0 !important; margin: 0 !important; border: 0; background: none; }
.mpd .entry-content > * { margin-block: 0; }
.mpd .entry-content > .wp-block-group { padding-inline: 0; }
.mpd .entry-content :where(p, ul, ol, figure, details) { margin-block: 0 1em; }
.mpd .entry-content :where(p, ul, ol):last-child { margin-bottom: 0; }
.mpd .entry-content ul.wp-block-list { padding-left: 1.2em; margin-left: 0; }
.mpd .wp-block-image { margin: 0; }
.mpd .wp-block-image img { display: block; width: 100%; }
.mpd :where(.is-layout-flow) > * { margin-block-start: 0; }
#ast-scroll-top { display: none !important; }

/* 4 · Secciones --------------------------------------------------------------------------------- */
.mpd .entry-content > .mpd-sec { padding-block: var(--sec); position: relative; }
.mpd .entry-content > .mpd-sec--tight { padding-block: calc(var(--sec) * .6); }
.mpd-in { width: min(100% - 2 * var(--gut), var(--w)); margin-inline: auto; }
.mpd-in--estrecho { width: min(100% - 2 * var(--gut), 48rem); }

/* Paneles: la sección se convierte en una gran tarjeta con márgenes */
.mpd .entry-content > .mpd-sec--suave,
.mpd .entry-content > .mpd-sec--azul {
	width: min(100% - 2 * var(--gut), calc(var(--w) + 6rem));
	margin: calc(var(--sec) * .35) auto;
	border-radius: var(--r-xl);
	padding-block: calc(var(--sec) * .8);
}
.mpd-sec--suave { background: var(--blanco); box-shadow: var(--sombra); }
.mpd-sec--suave > .mpd-in, .mpd-sec--azul > .mpd-in { width: min(100% - 2 * clamp(1.25rem, 4vw, 4rem), var(--w)); }
.mpd-sec--azul {
	color: #d6e3ef;
	background:
		radial-gradient(120% 90% at 100% 0%, rgba(137, 171, 61, .22), transparent 55%),
		radial-gradient(90% 80% at 0% 100%, rgba(255, 255, 255, .07), transparent 60%),
		linear-gradient(135deg, var(--azul) 0%, var(--azul-osc) 100%);
	overflow: hidden;
	isolation: isolate;
}
.mpd-sec--azul :is(h1, h2, h3) { color: #fff; }

.mpd-sec__cab { display: grid; gap: 1rem 4rem; margin-bottom: clamp(2.25rem, 4vw, 3.5rem); }
@media (min-width: 900px) {
	.mpd-sec__cab { grid-template-columns: 1.1fr 1fr; align-items: end; }
}

/* 5 · Texto ------------------------------------------------------------------------------------- */
.mpd :is(h1, h2, h3, h4) { font-family: var(--f); color: inherit; margin: 0 0 .45em; text-wrap: balance; }
.mpd h1 { font-size: clamp(2.6rem, 1.3rem + 4.4vw, 5.5rem); line-height: .98; font-weight: 600; letter-spacing: -.045em; }
.mpd h2 { font-size: clamp(2.1rem, 1.2rem + 3vw, 4rem); line-height: 1.02; font-weight: 600; letter-spacing: -.04em; }
.mpd h3 { font-size: clamp(1.3rem, 1.1rem + .6vw, 1.65rem); line-height: 1.15; font-weight: 600; letter-spacing: -.025em; }
.mpd h4 { font-size: 1.0625rem; font-weight: 650; }
.mpd p { text-wrap: pretty; }
.mpd strong { font-weight: 650; }
.mpd-verde { color: var(--verde); }
.mpd-sec--azul .mpd-verde { color: var(--verde-vivo); }
.mpd .mpd-entrada { font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem); line-height: 1.5; color: var(--tinta-2); max-width: 38em; }
.mpd-sec--azul .mpd-entrada { color: #c5d6e6; }
.mpd .mpd-meta { font-size: .875rem; color: var(--tinta-3); }

/* Etiqueta tipo "chip" (migas, antetítulos) */
.mpd .mpd-migas, .mpd .mpd-chip {
	display: inline-flex; align-items: center; gap: .5rem; width: fit-content;
	font-size: .85rem; font-weight: 550; color: var(--azul);
	background: var(--azul-cl); padding: .4rem .85rem; border-radius: 999px; margin-bottom: 1.4rem !important;
}
.mpd .mpd-chip::before { content: ""; width: .45rem; height: .45rem; border-radius: 50%; background: var(--verde); }
.mpd .mpd-migas a { color: var(--azul) !important; text-decoration: none !important; }

/* Enlaces del texto */
.mpd .entry-content :is(p, li, td, figcaption) a:not([class]) {
	color: var(--azul); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em;
	transition: color .2s var(--ease);
}
.mpd .entry-content :is(p, li, td, figcaption) a:not([class]):hover { color: var(--verde-osc); }
.mpd .mpd-sec--azul :is(p, li) a:not([class]) { color: #fff !important; }

/* 6 · Botones (píldora) -------------------------------------------------------------------------- */
.mpd .mpd-btn,
.mpd .wp-block-button .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: .65rem;
	font-family: var(--f); font-size: 1rem; font-weight: 600; line-height: 1.1; letter-spacing: -.005em;
	padding: 1rem 1.5rem; min-height: 3.25rem;
	color: var(--tinta); background: var(--verde);
	border: 0; border-radius: 999px; text-decoration: none; cursor: pointer;
	box-shadow: 0 8px 20px -10px rgba(137, 171, 61, .8);
	transition: background-color .25s var(--ease), color .25s var(--ease), translate .25s var(--ease), box-shadow .25s var(--ease);
}
.mpd .mpd-btn::after,
.mpd .wp-block-button:not(.is-style-outline) .wp-block-button__link::after {
	content: "↗"; display: grid; place-items: center; width: 1.6rem; height: 1.6rem; margin-right: -.55rem;
	border-radius: 50%; background: var(--tinta); color: var(--verde-vivo); font-size: .85rem;
	transition: rotate .3s var(--ease);
}
.mpd .mpd-btn:hover, .mpd .wp-block-button .wp-block-button__link:hover {
	background: var(--verde-vivo); color: var(--tinta); translate: 0 -2px; box-shadow: 0 14px 28px -12px rgba(137, 171, 61, .9);
}
.mpd .mpd-btn:hover::after, .mpd .wp-block-button__link:hover::after { rotate: 45deg; }
.mpd .mpd-btn--grande { padding: 1.15rem 1.9rem; font-size: 1.05rem; }

/* Secundario: píldora blanca */
.mpd .wp-block-button.is-style-outline > .wp-block-button__link,
.mpd .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) {
	background: var(--blanco); color: var(--tinta); border: 1px solid var(--linea); box-shadow: none;
}
.mpd .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--azul-cl); border-color: var(--azul-cl); }
.mpd .mpd-sec--azul .wp-block-button.is-style-outline > .wp-block-button__link {
	background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .25); color: #fff !important;
}
.mpd .mpd-sec--azul .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: rgba(255, 255, 255, .18); }
.mpd .wp-block-buttons { gap: .75rem; }

.mpd :focus-visible { outline: 3px solid var(--azul); outline-offset: 3px; border-radius: 4px; }
.mpd-sec--azul :focus-visible, .mpd-pie :focus-visible { outline-color: var(--verde-vivo); }

/* 7 · Cabecera flotante -------------------------------------------------------------------------- */
.mpd-cab { position: sticky; top: 0; z-index: 50; padding: .75rem var(--gut) 0; view-transition-name: cabecera; pointer-events: none; }
.admin-bar .mpd-cab { top: var(--wp-admin--admin-bar--height, 32px); }
.mpd-cab__in {
	pointer-events: auto;
	width: min(100%, 84rem); margin-inline: auto; height: 4.25rem;
	display: flex; align-items: center; gap: 1.5rem; padding: 0 .55rem 0 1.4rem;
	background: rgba(255, 255, 255, .82);
	-webkit-backdrop-filter: blur(16px) saturate(1.6); backdrop-filter: blur(16px) saturate(1.6);
	border: 1px solid rgba(221, 227, 232, .9); border-radius: 999px;
	box-shadow: 0 6px 24px -14px rgba(15, 34, 51, .25);
	transition: box-shadow .3s var(--ease), background-color .3s var(--ease);
}
.mpd-cab.is-scrolled .mpd-cab__in { background: rgba(255, 255, 255, .92); box-shadow: 0 10px 34px -14px rgba(15, 34, 51, .35); }
.mpd-cab__logo { flex: none; display: block; line-height: 0; }
.mpd-cab__logo img { width: 156px; height: auto; }

.mpd-nav { display: flex; align-items: center; gap: 1.25rem; margin-left: auto; }
.mpd-nav__lista { display: flex; gap: .15rem; list-style: none; margin: 0; padding: 0; }
.mpd-nav__lista > li { position: relative; display: flex; align-items: center; }
.mpd-nav__lista a {
	display: block; padding: .6rem .95rem; border-radius: 999px;
	color: var(--tinta); text-decoration: none; font-size: .96rem; font-weight: 500;
	transition: background-color .2s var(--ease), color .2s var(--ease);
}
.mpd-nav__lista > li > a:hover, .mpd-nav__lista .current-menu-item > a, .mpd-nav__lista .current-menu-ancestor > a { background: var(--azul-cl); color: var(--azul); }
.mpd-nav__lista .sub-menu {
	position: absolute; top: calc(100% + .9rem); left: -.5rem; min-width: 18rem;
	list-style: none; margin: 0; padding: .5rem;
	background: #fff; border: 1px solid var(--linea); border-radius: var(--r-l); box-shadow: var(--sombra-2);
	opacity: 0; visibility: hidden; translate: 0 -.4rem;
	transition: opacity .2s var(--ease), translate .2s var(--ease), visibility 0s .2s;
}
.mpd-nav__lista .sub-menu::before { content: ""; position: absolute; inset: -1rem 0 auto; height: 1rem; }
.mpd-nav__lista li:hover > .sub-menu, .mpd-nav__lista li:focus-within > .sub-menu, .mpd-nav__lista li.is-open > .sub-menu { opacity: 1; visibility: visible; translate: 0 0; transition-delay: 0s; }
.mpd-nav__lista .sub-menu a { padding: .7rem .9rem; border-radius: var(--r-s); font-weight: 450; }
.mpd-nav__lista .sub-menu a:hover { background: var(--fondo); }
.mpd-sub-btn { display: none; }

.mpd-nav__contacto { display: flex; align-items: center; gap: 1rem; }
.mpd-tel { color: var(--tinta); text-decoration: none; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; font-size: .96rem; }
.mpd-tel__k { display: none; }
.mpd-tel:hover { color: var(--azul); }
.mpd-cab .mpd-btn { padding: .75rem 1.2rem; min-height: 3.1rem; font-size: .95rem; box-shadow: none; }

.mpd .mpd-cab__menu, .mpd .mpd-sub-btn { background: none !important; box-shadow: none !important; border: 0 !important; color: var(--tinta) !important; }
.mpd-cab__menu { display: none; }

@media (max-width: 1150px) {
	.mpd-cab__in { padding-left: 1.1rem; }
	.mpd-cab__logo img { width: 138px; }
	.mpd-cab__menu {
		display: inline-flex; align-items: center; gap: .55rem; margin-left: auto;
		padding: .7rem 1rem !important; border-radius: 999px; cursor: pointer;
		background: var(--fondo) !important; font: 600 .95rem/1 var(--f);
	}
	.mpd-cab__menu-ico, .mpd-cab__menu-ico::before, .mpd-cab__menu-ico::after {
		display: block; width: 1.15rem; height: 2px; background: currentColor; border-radius: 2px; position: relative;
		transition: transform .25s var(--ease), background-color .2s, top .25s var(--ease);
	}
	.mpd-cab__menu-ico::before, .mpd-cab__menu-ico::after { content: ""; position: absolute; left: 0; }
	.mpd-cab__menu-ico::before { top: -5px; }
	.mpd-cab__menu-ico::after { top: 5px; }
	.mpd-cab__menu[aria-expanded="true"] .mpd-cab__menu-ico { background: transparent; }
	.mpd-cab__menu[aria-expanded="true"] .mpd-cab__menu-ico::before { top: 0; transform: rotate(45deg); }
	.mpd-cab__menu[aria-expanded="true"] .mpd-cab__menu-ico::after { top: 0; transform: rotate(-45deg); }

	.mpd-nav {
		position: fixed; z-index: 49; top: calc(var(--cab) + .25rem); left: var(--gut); right: var(--gut);
		max-height: calc(100svh - var(--cab) - 6rem); overflow-y: auto;
		flex-direction: column; align-items: stretch; gap: 1.25rem; padding: 1rem;
		background: #fff; border: 1px solid var(--linea); border-radius: var(--r-xl); box-shadow: var(--sombra-2);
		visibility: hidden; opacity: 0; translate: 0 -.5rem; pointer-events: auto;
		transition: opacity .22s var(--ease), translate .22s var(--ease), visibility 0s .22s;
	}
	.admin-bar .mpd-nav { top: calc(var(--cab) + var(--wp-admin--admin-bar--height, 46px)); }
	.mpd-cab.is-open .mpd-nav { visibility: visible; opacity: 1; translate: 0 0; transition-delay: 0s; }
	.mpd-nav__lista { flex-direction: column; gap: .15rem; }
	.mpd-nav__lista > li { flex-wrap: wrap; }
	.mpd-nav__lista > li > a { flex: 1; padding: .9rem 1rem; font-size: 1.2rem; font-weight: 600; border-radius: var(--r-m); }
	.mpd-nav__lista .sub-menu { position: static; display: none; width: 100%; opacity: 1; visibility: visible; translate: none; border: 0; box-shadow: none; padding: 0 0 .5rem .5rem; min-width: 0; }
	.mpd-nav__lista .sub-menu::before { display: none; }
	.mpd-nav__lista li.is-open > .sub-menu { display: block; }
	.mpd-sub-btn { display: block; width: 3rem; height: 3rem; border-radius: 50% !important; cursor: pointer; position: relative; }
	.mpd-sub-btn::before, .mpd-sub-btn::after { content: ""; position: absolute; left: 50%; top: 50%; width: 13px; height: 2px; margin: -1px 0 0 -6.5px; background: currentColor; transition: transform .2s var(--ease); }
	.mpd-sub-btn::after { transform: rotate(90deg); }
	.mpd-sub-btn[aria-expanded="true"]::after { transform: rotate(0); }
	.mpd-nav__contacto { flex-direction: column; align-items: stretch; gap: .75rem; padding: .5rem; border-top: 1px solid var(--linea); }
	.mpd-nav__contacto .mpd-tel { font-size: 1.25rem; padding: .5rem; }
	.mpd-nav__contacto .mpd-tel__k { display: block; font-size: .8rem; font-weight: 450; color: var(--tinta-3); }
	html.mpd-menu-abierto { overflow: hidden; }
}

/* 8 · Barra flotante de contacto en móvil ---------------------------------------------------------- */
.mpd-barra { display: none; }
@media (max-width: 700px) {
	.mpd-barra {
		display: grid; grid-template-columns: 1fr 1fr 1.4fr; gap: .25rem;
		position: fixed; z-index: 48; left: .75rem; right: .75rem; bottom: calc(.75rem + env(safe-area-inset-bottom, 0px));
		padding: .3rem; border-radius: 999px;
		background: rgba(255, 255, 255, .88); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
		border: 1px solid var(--linea); box-shadow: var(--sombra-2);
	}
	.mpd-barra a {
		display: flex; align-items: center; justify-content: center; min-height: 3rem; border-radius: 999px;
		color: var(--tinta); text-decoration: none; font-weight: 600; font-size: .92rem;
	}
	.mpd-barra .mpd-barra__caso { background: var(--verde); }
	body.mpd { padding-bottom: calc(5rem + env(safe-area-inset-bottom, 0px)); }
}

/* 9 · Portada ------------------------------------------------------------------------------------- */

/* 9.1 Hero: texto + panel azul con la foto recortada en forma de diente */
.mpd .entry-content > .mpd-hero { padding: clamp(2rem, 4vw, 3.5rem) 0 0; }
.mpd-hero__grid { display: grid; gap: clamp(2rem, 4vw, 3.5rem); align-items: center; }
.mpd-hero h1 { margin-bottom: .45em; }
.mpd-hero .mpd-entrada { margin-bottom: 2rem; max-width: 33rem; }
.mpd-hero__panel {
	position: relative; isolation: isolate; border-radius: var(--r-xl); overflow: hidden;
	min-height: clamp(26rem, 38vw, 38rem); display: grid; place-items: center; padding: 2.5rem 1.5rem 5.5rem;
	background:
		radial-gradient(70% 60% at 85% 10%, rgba(162, 198, 74, .35), transparent 60%),
		radial-gradient(60% 60% at 10% 100%, rgba(255, 255, 255, .12), transparent 70%),
		linear-gradient(150deg, var(--azul) 0%, var(--azul-osc) 100%);
	box-shadow: var(--sombra-2);
}
/* Silueta del diente de fondo, muy sutil */
.mpd-hero__panel::before {
	content: ""; position: absolute; z-index: -1; width: 130%; aspect-ratio: 568 / 764; left: 45%; top: 50%; translate: -50% -50%;
	background: rgba(255, 255, 255, .05); -webkit-mask: var(--diente) center / contain no-repeat; mask: var(--diente) center / contain no-repeat;
}
.mpd-hero__panel .mpd-diente { width: min(72%, 21rem); }
.mpd-hero__panel .mpd-diente img { object-position: 50% 50%; scale: 1.55; transform-origin: 52% 70%; }
.mpd-flota {
	position: absolute; z-index: 2; padding: .9rem 1.1rem; border-radius: var(--r-m);
	background: rgba(255, 255, 255, .9); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	box-shadow: var(--sombra-2); color: var(--tinta); line-height: 1.25; font-size: .85rem; max-width: 13rem;
}
.mpd .mpd-flota p { margin: 0 !important; }
.mpd-flota strong { display: block; font-size: 1.6rem; font-weight: 650; letter-spacing: -.04em; line-height: 1; margin-bottom: .2rem; color: var(--azul); }
.mpd-flota--1 { left: 1.25rem; bottom: 1.25rem; }
.mpd-flota--2 { right: 1.25rem; top: 1.25rem; }
.mpd-flota--2 strong { color: var(--verde-osc); }
@media (min-width: 1000px) {
	.mpd-hero__grid { grid-template-columns: 1.05fr 1fr; }
	.mpd-flota--1 { left: 1.75rem; bottom: 1.75rem; }
	.mpd-flota--2 { right: 1.75rem; top: 1.75rem; }
}

/* Datos bajo el hero */
.mpd-hero__datos { list-style: none !important; padding: 0 !important; margin: 2.75rem 0 0 !important; display: flex; flex-wrap: wrap; gap: .6rem; }
.mpd-hero__datos li {
	margin: 0 !important; display: inline-flex; align-items: center; gap: .55rem; font-size: .9rem; color: var(--tinta-2);
	background: var(--blanco); border: 1px solid var(--linea); padding: .45rem .9rem .45rem .5rem; border-radius: 999px;
}
.mpd-hero__datos li::before { content: "✓"; display: grid; place-items: center; width: 1.4rem; height: 1.4rem; border-radius: 50%; background: var(--verde-cl); color: var(--verde-osc); font-size: .75rem; font-weight: 700; }
.mpd-hero__datos strong { color: var(--tinta); font-weight: 600; }

/* 9.2 Cinta de marcas en movimiento (se pausa al pasar el ratón; quieta con "reducir movimiento") */
.mpd-cinta { overflow: hidden; padding-block: clamp(2.5rem, 5vw, 4rem) 0; }
.mpd .mpd-cinta h2.mpd-h-peq { text-align: center; }
.mpd-marcas { display: grid; grid-template-columns: repeat(auto-fill, minmax(7rem, 1fr)); gap: 1.5rem 2.5rem; align-items: center; margin-top: 1.5rem !important; }
.mpd-marcas figure { margin: 0 !important; }
.mpd-marcas img { width: 100%; max-height: 3rem; object-fit: contain; filter: grayscale(1) contrast(1.1); mix-blend-mode: multiply; opacity: .6; transition: opacity .2s, filter .2s; }
.mpd-marcas figure:hover img { opacity: 1; filter: none; }
.mpd-anim-cinta .mpd-marcas { display: flex; flex-wrap: nowrap; width: max-content; gap: 3.5rem; }
/* La cinta animada es su propia capa: el fundido de los logos necesita un fondo opaco dentro de ella */
.mpd-cinta .mpd-marcas { background: var(--fondo); }
/* Desvanecido de los bordes con degradados por encima (una máscara aislaría el fundido de los logos) */
.mpd-cinta { position: relative; }
.mpd-cinta::before, .mpd-cinta::after { content: ""; position: absolute; z-index: 2; bottom: 0; width: 10vw; height: 5rem; pointer-events: none; }
.mpd-cinta::before { left: 0; background: linear-gradient(90deg, var(--fondo), transparent); }
.mpd-cinta::after { right: 0; background: linear-gradient(-90deg, var(--fondo), transparent); }
.mpd-anim-cinta .mpd-marcas figure { flex: none; width: 8rem; }
.mpd .mpd-cinta h2.mpd-h-peq, .mpd h2.mpd-h-peq { font-size: .95rem; font-weight: 550; letter-spacing: 0; color: var(--tinta-3); margin-bottom: 0; }

/* 9.3 Servicios en mosaico (las "filas" se convierten en tarjetas) */
.mpd-indice { display: grid; gap: 1rem; grid-template-columns: 1fr; }
.mpd-fila {
	position: relative; display: flex; flex-direction: column; gap: .35rem;
	background: var(--blanco); border-radius: var(--r-xl); padding: .75rem .75rem 1.5rem; box-shadow: var(--sombra);
	transition: translate .35s var(--ease), box-shadow .35s var(--ease);
}
.mpd-fila:hover { translate: 0 -4px; box-shadow: var(--sombra-2); }
.mpd-fila figure { order: -1; margin: 0 0 1rem !important; border-radius: calc(var(--r-xl) - .5rem); overflow: hidden; aspect-ratio: 16 / 10; background: #0d0f10; }
.mpd-fila figure img { width: 100%; height: 100%; object-fit: cover; transition: scale .7s var(--ease); }
.mpd-fila:hover figure img { scale: 1.05; }
.mpd-fila h3 { margin: 0 .75rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; font-size: clamp(1.35rem, 1.1rem + .8vw, 1.85rem); }
.mpd .mpd-fila h3 a { color: var(--tinta); text-decoration: none !important; }
.mpd-fila h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.mpd-fila h3::after {
	content: "↗"; flex: none; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%;
	background: var(--fondo); color: var(--tinta); font-size: 1rem; transition: background-color .3s, color .3s, rotate .3s var(--ease);
}
.mpd-fila:hover h3::after { background: var(--verde); rotate: 45deg; }
.mpd-fila p { margin: 0 .75rem !important; color: var(--tinta-2); font-size: .97rem; }
@media (min-width: 700px) { .mpd-indice { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) {
	.mpd-indice { grid-template-columns: repeat(6, 1fr); }
	.mpd-fila { grid-column: span 2; }
	.mpd-fila:nth-child(1), .mpd-fila:nth-child(2) { grid-column: span 3; }
	.mpd-fila:nth-child(1) figure, .mpd-fila:nth-child(2) figure { aspect-ratio: 16 / 9; }
}
/* Ortodoncia, en verde claro */
.mpd-fila:nth-child(4) { background: var(--verde-cl); }
.mpd-fila:nth-child(4) h3::after { background: rgba(255, 255, 255, .7); }

/* 9.4 Proceso en tarjetas numeradas sobre el panel azul */
.mpd-proceso__visor { display: none; }
.mpd-proceso__grid { display: block; }
.mpd-pasos { display: grid; gap: 1rem; counter-reset: paso; }
.mpd-paso {
	counter-increment: paso; position: relative; margin: 0 !important;
	background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); border-radius: var(--r-l);
	padding: 1.4rem; display: flex; flex-direction: column;
}
.mpd-paso::before {
	content: counter(paso); display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%;
	background: var(--verde); color: var(--tinta); font-weight: 650; margin-bottom: 1.25rem;
}
.mpd-paso h3 { font-size: 1.35rem; }
.mpd-paso p { color: #c5d6e6; font-size: .95rem; }
.mpd-paso figure { order: -1; margin: 0 0 1.25rem !important; border-radius: var(--r-m); overflow: hidden; aspect-ratio: 16 / 10; }
.mpd-paso figure img { width: 100%; height: 100%; object-fit: cover; }
.mpd-paso::before { order: -2; }
@media (min-width: 700px) { .mpd-pasos { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .mpd-pasos { grid-template-columns: repeat(4, 1fr); } }

/* 9.5 Galería en mosaico */
.mpd-galeria { display: grid; gap: 1rem; grid-template-columns: repeat(2, 1fr); }
.mpd-galeria .mpd-pieza { margin: 0 !important; display: flex; flex-direction: column; background: var(--blanco); border-radius: var(--r-l); padding: .6rem .6rem 1rem; box-shadow: var(--sombra); }
.mpd-pieza img { aspect-ratio: 4 / 3; object-fit: cover; background: #0d0f10; border-radius: calc(var(--r-l) - .4rem); }
.mpd-pieza figcaption { margin: .85rem .5rem 0; font-size: .88rem; line-height: 1.4; color: var(--tinta-3); text-align: left; }
.mpd-pieza figcaption strong { display: block; color: var(--tinta); font-size: 1rem; font-weight: 600; }
.mpd-pieza--grande { grid-column: 1 / -1; }
@media (min-width: 900px) {
	.mpd-galeria { grid-template-columns: repeat(12, 1fr); }
	.mpd-pieza { grid-column: span 4; }
	.mpd-pieza--grande { grid-column: span 8; grid-row: span 2; }
	.mpd-pieza--grande img { aspect-ratio: auto; flex: 1 1 0; min-height: 0; height: auto; }
	.mpd-pieza--ancha { grid-column: span 6; }
}

/* 9.6 Ortodoncia: fotos recortadas en forma de diente */
.mpd-orto__grid { display: grid; gap: 3rem; align-items: center; }
.mpd-mosaico { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(.75rem, 2vw, 1.5rem); align-items: end; filter: drop-shadow(0 14px 22px rgba(15, 34, 51, .16)); }
.mpd .entry-content > .mpd-orto.mpd-sec--suave { background: var(--verde-cl); box-shadow: none; }
.mpd-mosaico figure { margin: 0 !important; }
.mpd-mosaico figure:nth-child(n+4) { display: none; }
.mpd-mosaico figure:nth-child(2) { translate: 0 -12%; }
.mpd-mosaico img { width: 100%; height: 100% !important; object-fit: cover; }
.mpd-mosaico figure, .mpd-diente, .mpd-cierre figure {
	aspect-ratio: 568 / 764; overflow: hidden; background: #fff;
	-webkit-mask: var(--diente) center / 100% 100% no-repeat; mask: var(--diente) center / 100% 100% no-repeat;
}
.mpd-diente img { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 1000px) { .mpd-orto__grid { grid-template-columns: 5fr 6fr; gap: 5rem; } }

/* 9.7 Equipo y opiniones */
.mpd-equipo__grid { display: grid; gap: 2.5rem; }
.mpd-personas { list-style: none !important; padding: 0 !important; margin: 0 !important; display: grid; gap: .75rem; }
.mpd-personas li {
	margin: 0 !important; display: grid; grid-template-columns: auto 1fr; gap: .1rem 1rem; align-items: center;
	background: var(--blanco); border-radius: var(--r-l); padding: 1rem 1.25rem; box-shadow: var(--sombra);
}
.mpd-personas li::before {
	content: ""; grid-row: span 2; width: 3rem; height: 3rem; border-radius: 50%;
	background: linear-gradient(135deg, var(--azul), var(--azul-osc));
	box-shadow: inset 0 0 0 3px rgba(255, 255, 255, .25);
}
.mpd-personas li:nth-child(2n)::before { background: linear-gradient(135deg, var(--verde-vivo), var(--verde)); }
.mpd-personas strong { font-size: 1.15rem; font-weight: 600; letter-spacing: -.02em; }
.mpd-personas span { color: var(--tinta-3); font-size: .9rem; }
@media (min-width: 1000px) { .mpd-equipo__grid { grid-template-columns: 5fr 6fr; gap: 5rem; align-items: center; } }

.mpd-opiniones { display: grid; gap: 1rem; margin-top: clamp(2.5rem, 5vw, 4rem); }
.mpd-opinion {
	margin: 0 !important; padding: clamp(1.5rem, 3vw, 2.25rem) !important; border: 0 !important;
	background: var(--blanco); border-radius: var(--r-xl); box-shadow: var(--sombra); position: relative;
}
.mpd-opinion::before { content: "“"; position: absolute; top: .6rem; right: 1.5rem; font-size: 5rem; line-height: 1; color: var(--verde-cl); font-weight: 700; }
.mpd-opinion p { font-size: clamp(1.2rem, 1rem + .8vw, 1.6rem); line-height: 1.35; font-weight: 500; letter-spacing: -.02em; color: var(--tinta); font-style: normal; position: relative; }
.mpd-opinion cite { display: block; margin-top: 1.25rem; font-style: normal; font-size: .92rem; color: var(--tinta-3); }
.mpd-opinion cite strong { color: var(--tinta); }
@media (min-width: 900px) { .mpd-opiniones { grid-template-columns: 1fr 1fr; } }
.mpd-opiniones--solo { margin-top: 0; }

/* 9.8 Cierre: panel azul con la corona recortada en forma de diente */
.mpd-cierre__grid { display: grid; gap: 2.5rem; align-items: center; }
.mpd-cierre h2 { max-width: 13ch; }
.mpd-cierre figure { width: min(100%, 17rem); justify-self: center; background: #0d0f10; margin: 0 !important; }
.mpd-cierre figure img { width: 100%; height: 100%; object-fit: cover; }
.mpd-cierre .wp-block-buttons { margin-top: 2rem; }
@media (min-width: 900px) { .mpd-cierre__grid { grid-template-columns: 1.5fr 1fr; } .mpd-cierre figure { justify-self: end; } }

/* 10 · Componentes de páginas interiores ------------------------------------------------------------ */
.mpd .entry-content > .mpd-cabpag { padding: clamp(2rem, 4vw, 3.5rem) 0 clamp(1rem, 2vw, 2rem); }
.mpd-cabpag__grid { display: grid; gap: 2rem; align-items: center; }
.mpd-cabpag h1 { max-width: 15ch; font-size: clamp(2.4rem, 1.4rem + 3.6vw, 4.6rem); }
.mpd-cabpag figure { border-radius: var(--r-xl); overflow: hidden; background: #0d0f10; box-shadow: var(--sombra-2); }
.mpd-cabpag figure img { aspect-ratio: 4 / 3; object-fit: cover; }
@media (min-width: 1000px) { .mpd-cabpag__grid { grid-template-columns: 1.15fr 1fr; gap: 4rem; } }

.mpd-dos { display: grid; gap: 2rem; }
@media (min-width: 900px) { .mpd-dos { grid-template-columns: 1fr 1fr; gap: 3rem; } .mpd-dos--5-7 { grid-template-columns: 5fr 7fr; } }
/* Dentro de secciones normales, las columnas de "dos" son tarjetas */
.mpd-sec:not(.mpd-sec--suave):not(.mpd-sec--azul) .mpd-dos > .wp-block-group {
	background: var(--blanco); border-radius: var(--r-xl); padding: clamp(1.5rem, 3vw, 2.5rem); box-shadow: var(--sombra);
}

.mpd-ficha { display: grid; gap: .25rem; }
.mpd-ficha__fila { display: grid; gap: .25rem 1.5rem; padding: 1rem 0; border-bottom: 1px dashed var(--linea); }
.mpd-ficha__fila:last-child { border-bottom: 0; }
.mpd-ficha__fila h3 { margin: 0; font-size: 1.1rem; display: flex; align-items: center; gap: .6rem; }
.mpd-ficha__fila h3::before { content: ""; flex: none; width: .55rem; height: .55rem; border-radius: 50%; background: var(--verde); }
.mpd-ficha__fila p { margin: 0 0 0 1.15rem !important; color: var(--tinta-2); font-size: .97rem; }
@media (min-width: 800px) { .mpd-ficha__fila { grid-template-columns: 5fr 7fr; align-items: baseline; } .mpd-ficha__fila p { margin-left: 0 !important; } }

.mpd-lista-check { list-style: none !important; padding: 0 !important; display: grid; gap: .6rem; }
.mpd-lista-check li { position: relative; padding: .2rem 0 .2rem 2.3rem; margin: 0 !important; }
.mpd-lista-check li::before {
	content: "✓"; position: absolute; left: 0; top: .1rem; display: grid; place-items: center; width: 1.55rem; height: 1.55rem; border-radius: 50%;
	background: var(--verde-cl); color: var(--verde-osc); font-size: .8rem; font-weight: 700;
}
.mpd-sec--azul .mpd-lista-check li::before { background: rgba(162, 198, 74, .2); color: var(--verde-vivo); }

.mpd-tira { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; align-self: start; align-items: start; }
.mpd-tira figure { margin: 0 !important; border-radius: var(--r-m); overflow: hidden; background: #0d0f10; }
.mpd-tira img { aspect-ratio: 1; object-fit: cover; }
@media (max-width: 600px) { .mpd-tira { grid-template-columns: 1fr 1fr; } .mpd-tira figure:nth-child(3) { display: none; } }

/* Tablas de plazos y garantía */
.mpd-tablas { display: grid; gap: 1rem; align-items: start; }
@media (min-width: 1000px) { .mpd-tablas { grid-template-columns: repeat(3, 1fr); } }
.mpd .mpd-tabla { background: var(--blanco); border-radius: var(--r-l); padding: .5rem 1.25rem 1rem; box-shadow: var(--sombra); margin: 0 0 1rem !important; overflow-x: auto; }
.mpd-sec--suave .mpd-tabla { background: var(--fondo); box-shadow: none; }
.mpd .mpd-tabla table { border-collapse: collapse; width: 100%; border: 0; margin: 0; font-variant-numeric: tabular-nums; }
.mpd .mpd-tabla :is(th, td) { border: 0; border-bottom: 1px solid var(--linea); padding: .8rem .75rem .8rem 0; text-align: left; font-size: .95rem; }
.mpd .mpd-tabla tr:last-child td { border-bottom: 0; }
.mpd .mpd-tabla thead th { font-weight: 650; font-size: 1.02rem; padding-top: 1rem; color: var(--azul); border-bottom: 2px solid var(--azul-cl); }
.mpd .mpd-tabla :is(td, th):last-child { text-align: right; white-space: nowrap; padding-right: 0; }
.mpd .mpd-tabla td:last-child { font-weight: 600; }

/* Tecnología */
.mpd-tec { align-items: center; margin-bottom: 1rem; background: var(--blanco); border-radius: var(--r-xl); padding: clamp(1rem, 2vw, 1.5rem); box-shadow: var(--sombra); }
.mpd .mpd-sec .mpd-tec > .wp-block-group { background: none !important; box-shadow: none !important; padding: clamp(.5rem, 2vw, 1.5rem) !important; }
.mpd-tec figure img { aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--r-l); background: #0d0f10; }
.mpd-tec h3 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2.1rem); }
.mpd-tec p { color: var(--tinta-2); }

/* Preguntas frecuentes */
.mpd .wp-block-details { background: var(--blanco); border-radius: var(--r-l); box-shadow: var(--sombra); padding: 0 1.4rem; margin: 0 0 .75rem !important; }
.mpd-sec--suave .wp-block-details { background: var(--fondo); box-shadow: none; }
.mpd .wp-block-details summary { list-style: none; cursor: pointer; position: relative; padding: 1.2rem 2.75rem 1.2rem 0; font-size: 1.1rem; font-weight: 600; }
.mpd .wp-block-details summary::-webkit-details-marker { display: none; }
.mpd .wp-block-details summary::after {
	content: "+"; position: absolute; right: 0; top: 50%; translate: 0 -50%; display: grid; place-items: center; width: 2rem; height: 2rem;
	border-radius: 50%; background: var(--azul-cl); color: var(--azul); font-size: 1.2rem; transition: rotate .25s var(--ease);
}
.mpd .wp-block-details[open] summary::after { rotate: 45deg; }
.mpd .wp-block-details > :not(summary) { padding-bottom: 1.25rem; color: var(--tinta-2); }

/* Legales y contacto */
.mpd .entry-content > .mpd-legal { width: min(100% - 2 * var(--gut), 54rem); margin: 1rem auto var(--sec); background: var(--blanco); border-radius: var(--r-xl); padding: clamp(1.5rem, 4vw, 3rem) 0; box-shadow: var(--sombra); }
.mpd-legal > .mpd-in { width: min(100% - 2 * clamp(1.25rem, 4vw, 3rem), 46rem); }
.mpd-legal h2.mpd-h-legal { font-size: 1.3rem; margin-top: 2.25rem; letter-spacing: -.02em; }
.mpd-legal h2.mpd-h-legal:first-child { margin-top: 0; }
.mpd-legal p { color: var(--tinta-2); }

.mpd-contacto__datos h3 { font-size: .8rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-3); margin: 1.75rem 0 .35rem; }
.mpd-contacto__datos h3:first-child { margin-top: 0; }
.mpd-contacto__datos p { font-size: 1.12rem; line-height: 1.5; }
@media (min-width: 900px) { .mpd-enviar__guia, .mpd-contacto__datos { position: sticky; top: calc(var(--cab) + 1.5rem); align-self: start; } }

/* 404 */
.mpd-404 { min-height: 50vh; }
.mpd-404__enlaces { list-style: none; padding: 0; margin: 2rem 0 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.mpd-404__enlaces a { display: inline-block; padding: .75rem 1.2rem; border-radius: 999px; background: var(--blanco); border: 1px solid var(--linea); color: var(--tinta); text-decoration: none; font-weight: 600; }
.mpd-404__enlaces a:hover { background: var(--azul-cl); border-color: var(--azul-cl); color: var(--azul); }

/* 11 · Formularios ---------------------------------------------------------------------------------- */
.mpd-form form { display: grid; gap: 1.25rem; }
@media (min-width: 700px) { .mpd-form form { grid-template-columns: 1fr 1fr; } }
.mpd-campo { display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.mpd-campo--ancho, .mpd-form__pie { grid-column: 1 / -1; }
.mpd-campo > label, .mpd-campo legend { font-weight: 600; font-size: .93rem; padding: 0; }
.mpd-req { color: var(--error); }
.mpd-opc { font-weight: 400; color: var(--tinta-3); font-size: .85rem; }
.mpd .mpd-form :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) {
	width: 100%; font: inherit; font-size: 1rem; color: var(--tinta);
	padding: .85rem 1rem; border: 1px solid var(--linea); border-radius: var(--r-m); background: var(--fondo);
	transition: border-color .15s var(--ease), background-color .15s var(--ease), box-shadow .15s var(--ease); box-shadow: none;
}
.mpd .mpd-form select { height: auto; min-height: 3.2rem; line-height: 1.4; }
.mpd .mpd-form textarea { resize: vertical; min-height: 8rem; }
.mpd .mpd-form :is(input, select, textarea):hover { border-color: var(--gris); }
.mpd .mpd-form :is(input, select, textarea):focus { background: #fff; border-color: var(--azul); outline: 0; box-shadow: 0 0 0 4px rgba(2, 87, 146, .15); }
.mpd .mpd-form input[type="file"] { font: inherit; font-size: .95rem; padding: 1.1rem; border: 2px dashed var(--linea); border-radius: var(--r-m); background: var(--azul-50); width: 100%; cursor: pointer; }
.mpd .mpd-form input[type="file"]::file-selector-button { font: inherit; font-weight: 600; margin-right: 1rem; padding: .55rem 1rem; border: 0; border-radius: 999px; background: var(--azul); color: #fff; cursor: pointer; }
.mpd-form fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: .5rem; }
.mpd-radio, .mpd-check { display: flex; gap: .7rem; align-items: flex-start; font-weight: 400 !important; cursor: pointer; line-height: 1.45; }
.mpd-radio { background: var(--fondo); border: 1px solid var(--linea); border-radius: var(--r-m); padding: .8rem 1rem; }
.mpd-radio:has(input:checked) { border-color: var(--verde); background: var(--verde-cl); }
.mpd-radio input, .mpd-check input { width: 1.15rem; height: 1.15rem; margin-top: .15rem; accent-color: var(--azul); flex: none; }
.mpd-ayuda { font-size: .85rem; color: var(--tinta-3); margin: 0 !important; }
.mpd-error { font-size: .88rem; color: var(--error); margin: 0 !important; font-weight: 500; }
.mpd .mpd-campo--error :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) { border-color: var(--error); background: #fdf5f4; }
.mpd-form__err-resumen { border-radius: var(--r-m); padding: 1rem 1.2rem; background: #fdecea; color: #7a1b13; margin-bottom: 1.25rem; }
.mpd-form__ok { padding: 2rem; border-radius: var(--r-l); background: var(--verde-cl); }
.mpd-form__ok-t { font-size: 1.6rem; font-weight: 650; letter-spacing: -.03em; margin-bottom: .4rem !important; }
.mpd .mpd-form__err-resumen:focus, .mpd .mpd-form__ok:focus { outline: 3px solid var(--azul); outline-offset: 3px; }
.mpd-form__pie { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; padding-top: .5rem; }
.mpd-form__alt { margin: 0 !important; color: var(--tinta-3); font-size: .95rem; }
.mpd-trampa { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* 12 · Pie ------------------------------------------------------------------------------------------- */
.mpd-pie {
	margin-top: calc(var(--sec) * .5); background: var(--azul-900); color: #a9bccd; font-size: .95rem;
	border-radius: var(--r-xl) var(--r-xl) 0 0; padding-top: clamp(3.5rem, 6vw, 5rem); position: relative; overflow: hidden; isolation: isolate;
}
.mpd-pie::before {
	content: ""; position: absolute; z-index: -1; right: -4rem; bottom: -6rem; width: 26rem; aspect-ratio: 568 / 764;
	background: rgba(255, 255, 255, .035); -webkit-mask: var(--diente) center / contain no-repeat; mask: var(--diente) center / contain no-repeat;
}
.mpd-pie a { color: #eef3f8; text-decoration: none; transition: color .2s; }
.mpd-pie a:hover { color: var(--verde-vivo); }
.mpd-pie__in { width: min(100% - 2 * var(--gut), var(--w)); margin-inline: auto; display: grid; gap: 2.5rem 3rem; }
@media (min-width: 900px) { .mpd-pie__in { grid-template-columns: 4fr 2fr 2fr 3fr; } }
.mpd-pie__marca img { width: 190px; margin-bottom: 1.25rem; }
.mpd-pie__marca p { max-width: 24rem; }
.mpd-pie__acred { font-size: .85rem; color: #7f96ab; margin-top: 1rem; }
.mpd-pie__t { font-size: .78rem !important; font-weight: 600 !important; letter-spacing: .1em !important; text-transform: uppercase; color: #7f96ab !important; margin-bottom: 1rem !important; }
.mpd-pie ul { list-style: none; margin: 0; padding: 0; }
.mpd-pie li { margin: 0 0 .55rem; }
.mpd-pie address { font-style: normal; margin-bottom: 1rem; }
.mpd-horario { margin: 1rem 0 0; display: grid; gap: .5rem; }
.mpd-horario dt { color: #7f96ab; font-size: .85rem; }
.mpd-horario dd { margin: 0; color: #eef3f8; font-variant-numeric: tabular-nums; }
.mpd-pie__legal {
	width: min(100% - 2 * var(--gut), var(--w)); margin: clamp(3rem, 5vw, 4rem) auto 0; padding-block: 1.5rem;
	border-top: 1px solid rgba(255, 255, 255, .1); display: flex; flex-wrap: wrap; gap: .75rem 2rem; align-items: center; font-size: .85rem; color: #7f96ab;
}
.mpd-pie__legal p { margin: 0; }
.mpd-pie__menu { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.mpd-pie__menu li { margin: 0; }
.mpd-pie__credito { margin-left: auto !important; }

/* 13 · Movimiento ----------------------------------------------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
	@view-transition { navigation: auto; }
	::view-transition-old(root), ::view-transition-new(root) { animation-duration: 280ms; animation-timing-function: var(--ease); }
	html { scroll-behavior: smooth; }

	.mpd-hero__grid > :first-child > * { animation: mpd-sube .8s var(--ease) both; }
	.mpd-hero__grid > :first-child > :nth-child(2) { animation-delay: .07s; }
	.mpd-hero__grid > :first-child > :nth-child(3) { animation-delay: .14s; }
	.mpd-hero__grid > :first-child > :nth-child(4) { animation-delay: .21s; }
	.mpd-hero__grid > :first-child > :nth-child(5) { animation-delay: .28s; }
	.mpd-hero__panel { animation: mpd-panel 1s var(--ease) both; }
	.mpd-hero__panel .mpd-diente { animation: mpd-diente 1.2s .15s var(--ease) both; }
	.mpd-flota--1 { animation: mpd-sube .8s .5s var(--ease) both, mpd-flotar 6s 1.3s ease-in-out infinite; }
	.mpd-flota--2 { animation: mpd-sube .8s .65s var(--ease) both, mpd-flotar 7s 1.5s ease-in-out infinite reverse; }

	.mpd-anim .mpd-r { transition: opacity .75s var(--ease), translate .75s var(--ease); }
	.mpd-anim .mpd-r:not(.is-in) { opacity: 0; translate: 0 1.5rem; }
	.mpd-anim .mpd-fila.mpd-r:nth-child(2), .mpd-anim .mpd-pieza.mpd-r:nth-child(2) { transition-delay: .06s; }
	.mpd-anim .mpd-fila.mpd-r:nth-child(3), .mpd-anim .mpd-pieza.mpd-r:nth-child(3) { transition-delay: .12s; }
	.mpd-anim .mpd-fila.mpd-r:nth-child(4), .mpd-anim .mpd-pieza.mpd-r:nth-child(4) { transition-delay: .18s; }
	.mpd-anim .mpd-fila.mpd-r:nth-child(5), .mpd-anim .mpd-pieza.mpd-r:nth-child(5) { transition-delay: .24s; }

	.mpd-anim .mpd-cortina { transition: scale .9s var(--ease), opacity .9s var(--ease); }
	.mpd-anim .mpd-cortina:not(.is-in) { scale: .85; opacity: 0; }

	.mpd-anim-cinta .mpd-marcas { animation: mpd-cinta 45s linear infinite; }
	.mpd-anim-cinta .mpd-cinta:hover .mpd-marcas { animation-play-state: paused; }
}
@keyframes mpd-sube { from { opacity: 0; translate: 0 1.25rem; } }
@keyframes mpd-panel { from { opacity: 0; scale: .96; } }
@keyframes mpd-diente { from { opacity: 0; translate: 0 2rem; scale: .9; } }
@keyframes mpd-flotar { 50% { translate: 0 -.5rem; } }
@keyframes mpd-cinta { to { translate: -50% 0; } }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* 14 · Utilidades ------------------------------------------------------------------------------------ */
.mpd-pendiente { background: #fff1c2; color: #5c4300; padding: .05em .4em; border-radius: .35rem; font-size: .9em; font-weight: 500; white-space: nowrap; }
.mpd-sec--azul .mpd-pendiente { background: rgba(255, 225, 120, .2); color: #ffe08a; }
.mpd-mt { margin-top: clamp(2rem, 4vw, 3rem) !important; }
.screen-reader-text:not(:focus) { clip: rect(1px, 1px, 1px, 1px); position: absolute !important; height: 1px; width: 1px; overflow: hidden; }

/* Botón secundario (píldora blanca) para "Solicitar presupuesto" */
.mpd .mpd-btn--sec { background: var(--blanco); color: var(--tinta); border: 1px solid var(--linea); box-shadow: none; }
.mpd .mpd-btn--sec::after { display: none; }
.mpd .mpd-btn--sec:hover { background: var(--azul-cl); border-color: var(--azul-cl); color: var(--azul); box-shadow: none; }
/* Cabecera: en pantallas medianas se oculta el teléfono para que quepan los dos botones */
@media (min-width: 1151px) and (max-width: 1380px) { .mpd-nav__contacto .mpd-tel { display: none; } .mpd-nav__lista a { padding-inline: .7rem; } }
.mpd .mpd-cierre__tel { margin-top: 1.25rem !important; color: #c5d6e6; }
