/* MP Dental Clásica — el diseño de la web antigua (Elementor) escrito a mano.
   Puntos de corte de Elementor: tableta ≤ 1024 px, móvil ≤ 767 px. Contenedor de 1200 px con columnas de 10 px de margen interior. */

:root {
	--azul: #003d81;
	--verde: #89aa3f;
	--azul-caja: #114f78;
	--azul-medio: #288fd7;
	--azul-claro: #2d9cdb;
	--azul-titulo: #435589;
	--fondo-gris: #f2f7f8;
	--fondo-nosotros: #f2f6fb;
	--pie-oscuro: #171b40;
	--texto: #333;
	--degradado: linear-gradient(to right, #003d81 0%, #89aa3f 90%);
	--mont: 'Montserrat', sans-serif;
}

/* ---------- Base (la del tema Hello Elementor) ---------- */
*, ::after, ::before { box-sizing: border-box; }
html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
body {
	margin: 0; background: #fff; color: var(--texto); font-size: 1rem; line-height: 1.5;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
	-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6 { margin-block: .5rem 1rem; font-family: inherit; font-weight: 500; line-height: 1.2; color: inherit; }
p { margin-block: 0 .9rem; }
a { color: #c36; text-decoration: none; background-color: transparent; }
a:active, a:hover { color: #336; }
img { border-style: none; height: auto; max-width: 100%; vertical-align: middle; }
ul { margin: 0; padding: 0; list-style: none; }
button { font: inherit; }
table { border-collapse: collapse; border-spacing: 0; width: 100%; font-size: .9em; margin-block-end: 15px; }
:focus-visible { outline: 2px solid var(--azul-medio); outline-offset: 2px; }

.mpdc-oculto, .mpd-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.mpdc-saltar { position: absolute; left: -9999px; top: 0; z-index: 1000; background: #fff; color: var(--azul); padding: 10px 16px; }
.mpdc-saltar:focus { left: 10px; top: 10px; }
.mpdc-ico { width: 1em; height: 1em; fill: currentColor; display: inline-block; vertical-align: middle; }

.mpdc-main { overflow-x: clip; }
.mpdc-cont { max-width: 1200px; margin-inline: auto; display: flex; flex-wrap: wrap; position: relative; }
.mpdc-cont > * { padding: 10px; }

/* Separador con degradado (clase «separador» de la web antigua). */
.mpdc-sep { padding-block: 15px; display: flex; }
.mpdc-sep span { display: block; border-top: 4px solid transparent; border-image: var(--degradado) 1; width: 25%; }
.mpdc-sep--hero { padding: 45px 0; justify-content: center; }
.mpdc-sep--seccion { padding: 15px 0 30px; justify-content: center; width: 100%; }
.mpdc-sep--seccion span { border-top-width: 2px; }
.mpdc-sep--100 span { width: 100px; border-top-width: 3px; }
.mpdc-sep--centro { justify-content: center; }
.mpdc-sep--cta { justify-content: center; }
.mpdc-sep--cta span { border-top-width: 3px; }

/* Entradas animadas (como las de Elementor), solo si el usuario no pide reducir el movimiento. */
@media (prefers-reduced-motion: no-preference) {
	.mpdc-js [data-anima] { opacity: 0; }
	.mpdc-js [data-anima].mpdc-visto { opacity: 1; animation: 1.25s both; }
	.mpdc-js [data-anima="izq"].mpdc-visto { animation-name: mpdcIzq; }
	.mpdc-js [data-anima="der"].mpdc-visto { animation-name: mpdcDer; }
	.mpdc-js [data-anima="arriba"].mpdc-visto { animation-name: mpdcArriba; }
	.mpdc-js [data-anima="girar"].mpdc-visto { animation-name: mpdcGirar; }
}
@keyframes mpdcIzq { from { opacity: 0; transform: translate3d(-100%, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes mpdcDer { from { opacity: 0; transform: translate3d(100%, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes mpdcArriba { from { opacity: 0; transform: translate3d(0, 100%, 0); } to { opacity: 1; transform: none; } }
@keyframes mpdcGirar { from { opacity: 0; transform-origin: left bottom; transform: rotate(-45deg); } to { opacity: 1; transform-origin: left bottom; transform: none; } }

/* ---------- Cabecera ---------- */
.mpdc-cab { background: #fff; position: relative; z-index: 50; }
.mpdc-cab__logo { margin-top: 10px; text-align: center; line-height: 0; }
.mpdc-cab__logo img { width: 300px; }
.mpdc-nav { padding: 10px; display: flex; justify-content: center; }
.mpdc-menu { display: flex; justify-content: center; flex-wrap: wrap; }
.mpdc-menu__item { position: relative; }
.mpdc-menu__item > a {
	display: flex; align-items: center; padding: 10px 15px; color: #383838;
	font: 500 15px/19px var(--mont); text-transform: uppercase;
}
.mpdc-menu__item > a[aria-current] { color: #3b60aa; }
.mpdc-menu__flecha { width: 10px; height: 14px; margin-left: 10px; }
.mpdc-menu__desplegar { display: none; }
.mpdc-sub {
	position: absolute; top: 100%; left: 0; width: 250px; background: var(--azul-medio); z-index: 60;
	visibility: hidden; opacity: 0; transition: opacity .2s, visibility .2s;
}
.mpdc-menu__item--hijos:hover > .mpdc-sub, .mpdc-menu__item--hijos:focus-within > .mpdc-sub, .mpdc-menu__item--hijos > a:focus ~ .mpdc-sub, .mpdc-sub.mpdc-abierto { visibility: visible; opacity: 1; }
.mpdc-sub a { display: block; padding: 5px 10px; color: #fff; font: 400 16px/24px var(--mont); }
.mpdc-sub a:hover, .mpdc-sub a:focus-visible { background: var(--verde); color: #fff; }
.mpdc-nav__boton { display: none; }

/* ---------- Cabecera de página (foto) ---------- */
.mpdc-hero {
	position: relative; display: flex; align-items: center; min-height: 500px; background: #000 var(--hero) top center / cover no-repeat;
}
.mpdc-hero::before { content: ""; position: absolute; inset: 0; background: #000; opacity: .5; }
.mpdc-hero__cont { position: relative; width: 100%; padding: 10px; text-align: center; color: #fff; }
.mpdc-hero__tit { display: block; margin: 0 0 20px; font: 800 60px/1.4 var(--mont); color: #fff; }
.mpdc-hero__sub { margin: 0; font: 500 36px/1 var(--mont); color: #fff; }
.mpdc-hero__cont > :last-child { margin-bottom: 0; }
.mpdc-hero__sub + .mpdc-sep { margin-top: 20px; }
.mpdc-hero--inicio { background-size: contain; background-position: center; }
.mpdc-hero--nosotros::before { opacity: .4; }
.mpdc-hero--contacto { background-position: center; min-height: 400px; }

/* ---------- Inicio ---------- */
.mpdc-logos { margin-top: 50px; }
.mpdc-logos .mpdc-cont { display: block; padding: 10px; }
.mpdc-logos .mpdc-cont > * { padding: 0; }
.mpdc-logos__fila { display: grid; grid-template-columns: repeat(8, 1fr); gap: 30px; align-items: start; }
.mpdc-logos__fila + .mpdc-logos__fila { margin-top: 20px; }
.mpdc-logos__fila img { width: 100%; }

.mpdc-smiles { margin-top: 50px; }
.mpdc-smiles .mpdc-cont > * { width: 100%; }
.mpdc-smiles__tit { margin: 8px 0 16px; text-align: center; font: 400 60px/1.2 'Kalam', cursive; color: var(--azul); }
.mpdc-smiles__txt { position: relative; display: inline-block; }
.mpdc-smiles__txt svg { position: absolute; left: 50%; top: 50%; width: calc(100% + 20px); height: calc(100% + 20px); transform: translate(-50%, -50%); overflow: visible; z-index: -1; }
.mpdc-smiles__txt svg path { fill: none; stroke: var(--verde); stroke-width: 9; stroke-dasharray: 1500 1500; }
@media (prefers-reduced-motion: no-preference) {
	.mpdc-smiles__txt svg path { animation: mpdcSubraya 9s infinite; }
}
@keyframes mpdcSubraya {
	0% { stroke-dasharray: 0 1500; opacity: 1; }
	15%, 85% { stroke-dasharray: 1500 1500; opacity: 1; }
	92% { stroke-dasharray: 1500 1500; opacity: 0; }
	100% { stroke-dasharray: 0 1500; opacity: 0; }
}

.mpdc-valores { padding: 30px 0; }
.mpdc-valores .mpdc-cont > * { width: 33.333%; }
.mpdc-valor__caja { padding: 30px; border-radius: 100px; background: var(--azul-caja); text-align: center; color: #fff; }
.mpdc-valor--estrecho .mpdc-valor__caja { padding: 20px; }
.mpdc-valor__ico { display: block; height: 67px; margin-bottom: 30px; font-size: 60px; line-height: 0; color: #fff; transition: color .3s; }
.mpdc-valor__caja:hover .mpdc-valor__ico { color: #88aa39; }
.mpdc-valor__tit { margin: 0 0 15px; font: 500 18px/1.2 var(--mont); letter-spacing: 1px; color: #fff; }
.mpdc-valor__caja p { margin: 0; font: 300 14px/1.5 var(--mont); }

.mpdc-experiencia { padding: 50px; }
.mpdc-experiencia .mpdc-cont { align-items: flex-start; }
.mpdc-experiencia__izq { width: 35%; padding: 0 30px 0 0 !important; }
.mpdc-experiencia__der { width: 65%; padding: 0 0 0 30px !important; }
.mpdc-tit32 { margin: 0 0 20px; font: 500 32px/1 var(--mont); color: #000; }
.mpdc-tit50 { width: 100%; margin: 0 0 15px; padding: 0; text-align: center; font: 500 50px/1 var(--mont); color: #000; }
.mpdc-experiencia__lema { margin: 20px 0 .9rem; font: 300 16px/1.743em var(--mont); color: #383838; text-align: justify; }
.mpdc-experiencia__der p { margin: 0 0 20px; font: 300 14px/2em var(--mont); text-align: justify; }
.mpdc-experiencia .mpdc-sep { padding-block: 15px; }

.mpdc-areas { background: var(--fondo-gris); padding: 71px 0 70px; }
.mpdc-areas .mpdc-cont, .mpdc-tecno .mpdc-cont, .mpdc-videos .mpdc-cont { display: block; padding: 10px; }
.mpdc-areas .mpdc-cont > :not(.mpdc-sep), .mpdc-tecno .mpdc-cont > :not(.mpdc-sep), .mpdc-videos .mpdc-cont > :not(.mpdc-sep) { padding: 0; }
.mpdc-areas .mpdc-sep--seccion { padding: 15px 0 30px; }
.mpdc-areas__cols { display: flex; width: 100%; }
.mpdc-areas__col { width: 33.333%; padding: 0 20px 0 0; }
.mpdc-area img { width: 100%; display: block; margin-bottom: 20px; }
.mpdc-area__tit { margin: 0 0 20px; text-align: center; font: 600 20px/1 var(--mont); color: #000; }
.mpdc-area p { margin: 0 0 20px; text-align: center; font: 300 14px/2em var(--mont); }
.mpdc-area p.mpdc-p { margin-bottom: calc(20px + .9rem); }
.mpdc-area:last-child p { margin-bottom: 0; }
.mpdc-area:last-child p.mpdc-p { margin-bottom: .9rem; }

.mpdc-tecno { margin: 70px 0 71px; }
.mpdc-tecno .mpdc-tit50 { margin-bottom: 35px; }
.mpdc-tecno .mpdc-sep--seccion { padding: 15px 0 30px; margin-bottom: 20px; }
.mpdc-tecno__fila { display: flex; width: 100%; }
.mpdc-tecno__fila > div { width: 50%; padding: 10px; }
.mpdc-tecno__img { text-align: center; }
.mpdc-tecno__fila > .mpdc-tecno__txt { background: var(--fondo-gris); display: flex; flex-direction: column; justify-content: center; padding: 60px; }
.mpdc-tecno__tit { margin: 0 0 20px; font: 500 32px/1 var(--mont); color: #333; }
.mpdc-tecno__txt p { margin: 0 0 .9rem; font: 400 16px/1.5 var(--mont); color: #72777d; text-align: justify; }
.mpdc-tecno__fila--inv .mpdc-tecno__img { order: 2; }

.mpdc-videos { background: var(--fondo-gris); padding: 60px 0; }
.mpdc-videos .mpdc-tit32 { text-align: center; margin-bottom: 20px; }
.mpdc-videos .mpdc-sep { margin-bottom: 20px; }
.mpdc-videos__dos { display: flex; align-items: center; }
.mpdc-videos__dos > div { width: 50%; padding: 10px; }
.mpdc-video video { display: block; width: 100%; aspect-ratio: 16 / 9; background: #000; }
.mpdc-video--43 video { aspect-ratio: 4 / 3; }

.mpdc-cta { position: relative; padding: 122px 0 120px; background: var(--fondo) center / cover no-repeat fixed; overflow: hidden; }
.mpdc-cta::before { content: ""; position: absolute; inset: 0; background: #000; opacity: .5; }
.mpdc-cta__cont { position: relative; padding: 10px; text-align: center; }
.mpdc-cta__frase { margin: 0 0 19px; padding: 0 18%; font: 400 30px/1.45em var(--mont); letter-spacing: -.9px; color: #fff; }
.mpdc-cta__dudas { margin: 19px 0 0; font: 400 42px/1 'Rubik', sans-serif; color: #fff; text-transform: capitalize; }
.mpdc-boton {
	display: inline-block; margin-top: 49px; padding: 20px 50px; border-radius: 5px; color: #fff;
	font: 500 16px/1 var(--mont); text-transform: uppercase; transition: background-color .3s;
}
.mpdc-boton--verde { background: var(--verde); }
.mpdc-boton--verde:hover, .mpdc-boton--verde:focus-visible { background: var(--azul); color: #fff; }

.mpdc-presupuesto { background: var(--fondo-gris); padding: 60px 0; }
.mpdc-presupuesto .mpdc-cont { align-items: center; }
.mpdc-presupuesto__izq { width: 35%; }
.mpdc-presupuesto__der { width: 65%; padding: 10px 10px 0 0 !important; }
.mpdc-presupuesto__izq p { margin: 20px 0 0; padding-right: 45px; font: 300 16px/1.743em var(--mont); color: #000; }

/* Formulario (el de mpdental-core con el aspecto del de Elementor). */
.mpd-form form { display: flex; flex-direction: column; gap: 30px; }
.mpd-trampa { position: absolute !important; left: -9999px; }
.mpd-campo { margin: 0; }
.mpd-campo input[type=text], .mpd-campo input[type=tel], .mpd-campo input[type=email], .mpd-campo textarea {
	width: 100%; padding: 5px 14px; min-height: 40px; border: 1px solid #69727d; border-radius: 3px; background: transparent;
	font: 400 15px/1.4 var(--mont); color: #000; vertical-align: middle;
}
.mpd-campo textarea { padding: 5px 14px; resize: vertical; }
.mpd-campo ::placeholder { color: #7a7a7a; opacity: 1; }
.mpd-campo--error input, .mpd-campo--error textarea { border-color: #d11400; }
.mpd-error { margin: 6px 0 0; color: #d11400; font: 400 14px/1.3 var(--mont); }
.mpd-campo--check { font: 300 13px/1.5 var(--mont); color: #333; }
.mpd-check { display: flex; gap: 8px; align-items: flex-start; }
.mpd-check input { margin-top: 3px; }
.mpd-check a { color: var(--azul); text-decoration: underline; }
.mpd-form__pie .mpd-btn {
	width: 100%; min-height: 40px; padding: 12px 24px; border: 0; border-radius: 3px; background: var(--azul); color: #fff;
	font: 400 15px/1 var(--mont); cursor: pointer; transition: background-color .3s;
}
.mpd-form__pie .mpd-btn:hover, .mpd-form__pie .mpd-btn:focus-visible { background: var(--verde); }
.mpd-form__ok, .mpd-form__err-resumen { margin-bottom: 20px; font: 400 18px/1.4 var(--mont); }
.mpd-form__ok { color: #4caf50; }
.mpd-form__err-resumen { color: #d11400; font-size: 15px; }

/* ---------- Pie ---------- */
.mpdc-pie { background: var(--azul); padding: 74px 0 63px; color: #fff; }
.mpdc-pie__cont { max-width: 1200px; margin: 0 auto; display: flex; }
.mpdc-pie__col { padding: 2px 0 0 8px; }
.mpdc-pie__col--horario { width: 30%; padding: 9px 0 0 4px; }
.mpdc-pie__col--enlaces { width: 15%; }
.mpdc-pie__col--servicios { width: 25%; }
.mpdc-pie__col--contacto { width: 30%; }
.mpdc-pie__tit { margin: 0 0 20px; font: 400 20px/1 var(--mont); color: #fff; }
.mpdc-pie__horario { margin: 0 0 24px; font: 400 15px/1.7em var(--mont); letter-spacing: -.5px; }
.mpdc-social { display: inline-flex; padding: .8em; border-radius: 50%; background: var(--verde); color: #fff; font-size: 12px; transition: background-color .3s, color .3s; }
.mpdc-social:hover, .mpdc-social:focus-visible { background: #fff; color: var(--verde); }
.mpdc-pie__dos { display: flex; margin: 0 -10px; }
.mpdc-pie__dos > ul { width: 50%; padding: 10px; }
.mpdc-lista li { padding-block: 5px; }
.mpdc-lista li:first-child { padding-top: 0; }
.mpdc-lista li:last-child { padding-bottom: 0; }
.mpdc-lista a, .mpdc-lista__sin { display: flex; align-items: center; color: #fff; font: 400 15px/1.5 'Source Sans Pro', sans-serif; transition: color .3s; }
.mpdc-lista a:hover, .mpdc-lista a:focus-visible { color: var(--verde); }
.mpdc-lista__ico { display: flex; flex: 0 0 auto; color: var(--verde); font-size: 10px; transition: color .3s; }
.mpdc-lista a:hover .mpdc-lista__ico { color: #fff; }
.mpdc-lista__txt { padding-left: 20px; }
.mpdc-lista--contacto .mpdc-lista__ico { font-size: 25px; }
.mpdc-copy { background: var(--pie-oscuro); padding: 12px 15px; text-align: center; font: 500 13px/16px var(--mont); letter-spacing: .65px; color: #b8b8b8; }
.mpdc-copy p { margin: 0; }
.mpdc-copy__legal { margin-top: 4px !important; font-size: 11px; }
.mpdc-copy a { color: #b8b8b8; }
.mpdc-copy a:hover { color: #fff; }

/* ---------- Botón flotante (el «+» de la web antigua) ---------- */
.mpdc-flotante { position: fixed; right: 72px; bottom: 45px; z-index: 90; display: flex; flex-direction: column; align-items: flex-end; }
.mpdc-flotante__boton {
	width: 56px; height: 56px; border: 0; border-radius: 50%; background: var(--verde); color: #fff; cursor: pointer;
	display: flex; align-items: center; justify-content: center; font-size: 22px; box-shadow: 0 3px 8px rgba(0, 0, 0, .25);
	transition: transform .25s;
}
.mpdc-flotante[data-abierto="true"] .mpdc-flotante__boton { transform: rotate(45deg); }
.mpdc-flotante__lista { display: flex; flex-direction: column; gap: 12px; margin-bottom: 12px; margin-right: 8px; }
.mpdc-flotante:not([data-abierto="true"]) .mpdc-flotante__lista { display: none; }
.mpdc-flotante__lista a { display: flex; align-items: center; gap: 10px; color: #fff; }
.mpdc-flotante__etq { background: #333; color: #fff; font: 400 13px/1 'Roboto', sans-serif; padding: 5px 15px; border-radius: 3px; }
.mpdc-flotante__ico { width: 42px; height: 42px; border-radius: 50%; background: #48a4dc; display: flex; align-items: center; justify-content: center; font-size: 16px; box-shadow: 0 2px 6px rgba(0, 0, 0, .2); }
.mpdc-flotante__lista a:hover .mpdc-flotante__ico { background: #f08419; }

/* ---------- Tableta ---------- */
@media (max-width: 1024px) {
	.mpdc-hero--inicio, .mpdc-hero--garantia { min-height: 400px; }
	.mpdc-hero__tit { font-size: 40px; }
	.mpdc-hero__sub { font-size: 32px; }
	.mpdc-sep--hero { padding: 25px 0; }
	.mpdc-logos { margin-top: 30px; }
	.mpdc-logos__fila { grid-template-columns: repeat(4, 1fr); }
	.mpdc-valores { padding: 30px 20px; }
	.mpdc-experiencia { padding: 50px 0; }
	.mpdc-experiencia__izq { padding: 0 20px 20px !important; }
	.mpdc-areas { padding: 25px 0; }
	.mpdc-areas__col { padding: 0; margin: 15px; }
	.mpdc-area__tit { font-size: 32px; }
	.mpdc-area p { font-size: 16px; }
	.mpdc-tecno { margin: 30px 0; }
	.mpdc-tecno__fila > .mpdc-tecno__txt { padding: 30px; }
	.mpdc-videos, .mpdc-presupuesto { padding: 50px 15px; }
	.mpdc-cta__frase { padding: 0 12%; }
	.mpdc-pie { padding: 30px 0; }
	.mpdc-pie__col { padding: 30px 0 0 10px; }
	.mpdc-pie__col--horario, .mpdc-pie__col--enlaces { padding-top: 10px; }
}

/* ---------- Móvil ---------- */
@media (max-width: 767px) {
	.mpdc-nav { padding: 0 0 0 10px; display: block; }
	.mpdc-nav__boton {
		display: flex; align-items: center; justify-content: center; margin: 0 auto; width: 100%; height: 75px; padding: 0;
		border: 0; background: none; color: #000; font-size: 20px; cursor: pointer;
	}
	.mpdc-nav__cerrar { display: none; }
	.mpdc-nav__boton[aria-expanded="true"] .mpdc-nav__abrir { display: none; }
	.mpdc-nav__boton[aria-expanded="true"] .mpdc-nav__cerrar { display: inline-block; }
	.mpdc-menu { display: none; flex-direction: column; background: #fff; box-shadow: 0 6px 12px rgba(0, 0, 0, .12); }
	.mpdc-menu.mpdc-abierto { display: flex; }
	.mpdc-menu__item { display: flex; flex-wrap: wrap; border-top: 1px solid #eee; }
	.mpdc-menu__item > a { flex: 1; padding: 12px 20px; }
	.mpdc-menu__flecha { display: none; }
	.mpdc-menu__desplegar { display: flex; align-items: center; justify-content: center; width: 52px; border: 0; background: none; color: #383838; cursor: pointer; }
	.mpdc-menu__desplegar[aria-expanded="true"] svg { transform: rotate(180deg); }
	.mpdc-sub { position: static; width: 100%; visibility: visible; opacity: 1; display: none; }
	.mpdc-sub.mpdc-abierto { display: block; }
	.mpdc-menu__item--hijos:hover > .mpdc-sub { display: none; }
	.mpdc-menu__item--hijos > .mpdc-sub.mpdc-abierto { display: block; }

	.mpdc-hero { min-height: 300px; }
	.mpdc-hero__tit { font-size: 25px; }
	.mpdc-hero__sub { font-size: 22px; padding: 0 20px; }
	.mpdc-hero--inicio .mpdc-hero__tit { font-size: 40px; }
	.mpdc-hero--inicio .mpdc-hero__sub { font-size: 32px; padding: 0; }
	.mpdc-hero--inicio { background-size: cover; }
	.mpdc-logos__fila { grid-template-columns: repeat(2, 1fr); }
	.mpdc-smiles__tit { font-size: 40px; }
	.mpdc-valores { padding: 0 20px; }
	.mpdc-valores .mpdc-cont > * { width: 100%; }
	.mpdc-valor__caja, .mpdc-valor--estrecho .mpdc-valor__caja { padding: 35px 15px; }
	.mpdc-experiencia { padding: 30px 10px; }
	.mpdc-experiencia__izq, .mpdc-experiencia__der { width: 100%; padding: 20px 20px 0 !important; }
	.mpdc-tit50 { font-size: 25px; }
	.mpdc-areas__cols, .mpdc-tecno__fila, .mpdc-videos__dos, .mpdc-presupuesto .mpdc-cont, .mpdc-pie__cont { flex-direction: column; }
	.mpdc-areas__col { width: auto; }
	.mpdc-tecno__fila > div, .mpdc-videos__dos > div { width: 100%; }
	.mpdc-tecno__fila--inv .mpdc-tecno__img { order: 0; }
	.mpdc-videos, .mpdc-presupuesto { padding: 30px 20px; }
	.mpdc-videos__dos > div { padding: 0 0 30px; }
	.mpdc-cta { padding: 100px 0; background-attachment: scroll; }
	.mpdc-cta__frase { padding: 0; font-size: 22px; }
	.mpdc-cta__dudas { font-size: 20px; }
	.mpdc-presupuesto__izq, .mpdc-presupuesto__der { width: 100%; }
	.mpdc-presupuesto__der { padding: 35px 15px !important; }
	.mpdc-presupuesto__izq p { padding-right: 0; }
	.mpdc-pie__col, .mpdc-pie__col--horario, .mpdc-pie__col--enlaces, .mpdc-pie__col--servicios, .mpdc-pie__col--contacto { width: 100%; padding: 30px 20px 0; }
	.mpdc-pie__col--horario { padding-top: 10px; }
	.mpdc-pie__dos { flex-direction: column; margin: 0; }
	.mpdc-pie__dos > ul { width: 100%; padding: 10px; }
	.mpdc-flotante { right: 16px; bottom: 16px; }
}

/* ---------- Páginas de texto (aviso legal, privacidad, cookies) y 404 ---------- */
.mpdc-hero--texto { min-height: 300px; }
.mpdc-hero--texto .mpdc-hero__tit { font-size: 44px; margin: 0; }
.mpdc-texto { max-width: 860px; margin: 0 auto; padding: 50px 20px 60px; font: 300 16px/1.75 var(--mont); color: #383838; }
.mpdc-texto h2, .mpdc-texto h3 { font-family: var(--mont); color: #000; margin-top: 2rem; }
.mpdc-texto a { color: var(--azul); text-decoration: underline; }
.mpdc-texto ul { list-style: disc; padding-left: 1.4em; margin-bottom: .9rem; }
.mpdc-texto--centro { text-align: center; }
@media (max-width: 767px) {
	.mpdc-hero--texto .mpdc-hero__tit { font-size: 28px; }
}

/* Visor de fotos */
.mpdc-visor { position: fixed; inset: 0; z-index: 200; background: rgba(0, 0, 0, .9); display: flex; align-items: center; justify-content: center; }
.mpdc-visor[hidden] { display: none; }
.mpdc-visor img { max-width: 92vw; max-height: 88vh; }
.mpdc-visor button { position: absolute; border: 0; background: none; color: #fff; font: 300 48px/1 sans-serif; cursor: pointer; padding: 10px 18px; }
.mpdc-visor__cerrar { top: 10px; right: 10px; }
.mpdc-visor__ant { left: 10px; top: 50%; transform: translateY(-50%); }
.mpdc-visor__sig { right: 10px; top: 50%; transform: translateY(-50%); }

/* ---------- Bloques comunes de las páginas interiores ---------- */
.mpdc-intro { padding: 30px 0; }
.mpdc-intro .mpdc-cont > div, .mpdc-garantia .mpdc-cont > div, .mpdc-plazos .mpdc-cont > div, .mpdc-opiniones .mpdc-cont > div { width: 100%; }
.mpdc-tit45 { margin: 0; text-align: center; font: 400 45px/1 var(--mont); letter-spacing: .2px; color: #3b3d42; }
.mpdc-sep--intro { justify-content: center; margin: 21px 0; }
.mpdc-intro__txt { padding: 0 5%; text-align: center; font: 300 16px/30px var(--mont); color: #3b3d42; }

.mpdc-franja { margin-top: 30px; padding: 80px 0; background: var(--azul-medio); }
.mpdc-franja .mpdc-cont { padding: 10px; }
.mpdc-franja .mpdc-cont > * { width: 100%; padding: 0; }
.mpdc-franja h3 { margin: 0 0 16px; text-align: center; font-size: 28px; font-weight: 400; line-height: 1; color: #fff; }

.mpdc-opiniones { padding: 30px 0; }
.mpdc-opiniones .mpdc-cont > div { padding: 10px 0 0; }
.mpdc-opiniones__tit { margin: 0 0 20px; padding: 0 15px; text-align: center; font: 400 32px/1 var(--mont); letter-spacing: .3px; color: #3b3d42; }
.mpdc-opiniones__sub { margin: 0 0 calc(20px + .9rem); padding: 0 15px; text-align: center; font: 300 18px/1.5 'Roboto', sans-serif; color: #3b3d42; }
.mpdc-carrusel { position: relative; overflow: hidden; background: var(--fondo-nosotros); }
.mpdc-carrusel__pista { display: flex; transition: transform .5s ease; }
.mpdc-opinion { flex: 0 0 100%; margin: 0; padding: 20px 50px 60px; text-align: center; color: #333; }
.mpdc-opinion blockquote { margin: 0 0 25px; font: italic 400 20.8px/1.5 var(--mont); }
.mpdc-opinion figcaption { font: 400 14px/1.5 var(--mont); }
.mpdc-opinion strong { display: block; font-weight: 700; }
.mpdc-carrusel__ant, .mpdc-carrusel__sig { position: absolute; top: 50%; transform: translateY(-50%); border: 0; background: none; color: rgba(238, 238, 238, .9); font-size: 20px; cursor: pointer; padding: 10px; }
.mpdc-carrusel__ant { left: 0; }
.mpdc-carrusel__sig { right: 0; }
.mpdc-carrusel__ant:hover, .mpdc-carrusel__sig:hover { color: #999; }
.mpdc-carrusel__puntos { position: absolute; left: 0; right: 0; bottom: 12px; display: flex; justify-content: center; }
.mpdc-carrusel__puntos button { width: 6px; height: 6px; margin: 0 6px; padding: 0; border: 0; border-radius: 50%; background: #000; opacity: .2; cursor: pointer; }
.mpdc-carrusel__puntos button[aria-current="true"] { opacity: 1; }

/* Garantía y plazos: tablas */
.mpdc-garantia, .mpdc-plazos { background: var(--fondo-gris); padding: 30px 0; }
.mpdc-garantia .mpdc-sep--intro, .mpdc-plazos .mpdc-sep--intro { margin: 20px 0; }
.mpdc-tabla { margin: 0 0 20px; font-size: .9em; line-height: 1.5; table-layout: fixed; }
.mpdc-tabla th, .mpdc-tabla td { width: 50%; padding: 5px; border: 0; text-align: center; vertical-align: middle; }
.mpdc-tabla th { border-top: 1px solid rgba(128, 128, 128, .5); background: var(--azul); color: #fff; font-weight: 700; }
.mpdc-tabla th.mpdc-tabla__th--verde { background: var(--verde); }
.mpdc-tabla th button { width: 100%; padding: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; display: flex; align-items: center; justify-content: center; position: relative; }
.mpdc-tabla th button svg { position: absolute; right: 0; width: 8px; height: 12px; }
.mpdc-tabla tbody tr:nth-child(odd) td { background: rgba(128, 128, 128, .07); }
.mpdc-tabla td { color: #333; }
.mpdc-tabla td a { display: block; margin: -5px; padding: 5px; color: inherit; }
.mpdc-plazos .mpdc-cont > div { display: flex; flex-direction: column; }
.mpdc-tabla--sep { margin-top: 40px; }
.mpdc-tabla--sep-abajo { margin-bottom: 60px; }
.mpdc-garantia__nota { margin: 0 0 calc(20px + .9rem); font: 300 14px/30px var(--mont); color: #000; }
.mpdc-exclusiones li { display: flex; align-items: center; font: 400 14px/2em var(--mont); color: #000; }
.mpdc-exclusiones svg { width: 12px; height: 12px; margin-right: 3px; color: var(--azul); flex: 0 0 auto; }
.mpdc-exclusiones span { padding-left: 5px; }
.mpdc-plazos__nota { margin: 0; font: 300 14px/1.5 var(--mont); color: #000; }

/* Áreas */
.mpdc-servicios-tit { padding: 30px 0; }
.mpdc-servicios-tit .mpdc-cont > * { width: 100%; }
.mpdc-servicios-tit h2 { margin: 0; text-align: center; font: 600 42px/1 var(--mont); color: var(--azul-titulo); }
.mpdc-area-fila { padding: 40px 0; scroll-margin-top: 20px; }
.mpdc-area-fila--gris { background: var(--fondo-gris); }
.mpdc-area-fila__cont { max-width: 1200px; margin: 0 auto; display: flex; }
.mpdc-area-fila__img { width: 42%; padding: 0 15px; }
.mpdc-area-fila__img img { display: block; }
.mpdc-area-fila--inv .mpdc-area-fila__img { order: 2; text-align: right; }
.mpdc-area-fila--inv .mpdc-area-fila__img img { margin-left: auto; }
.mpdc-area-fila__txt { width: 58%; padding: 0 20px; display: flex; flex-direction: column; justify-content: center; }
.mpdc-area-fila__tit { margin: 0; font: 700 26px/1.192em var(--mont); color: var(--azul-titulo); text-transform: capitalize; }
.mpdc-sep--area { padding: 20px 0; }
.mpdc-area-fila__sub { margin: 0 0 20px; font: 400 20px/1.3em var(--mont); color: var(--azul-claro); }
.mpdc-area-fila__p { font: 400 15px/1.5333em var(--mont); color: #848eab; }

/* Franja «Llámanos» */
.mpdc-llamanos { margin: 30px 0; padding: 50px 0 45px; background: var(--azul-claro); }
.mpdc-llamanos__cont { max-width: 1200px; margin: 0 auto; padding: 0 15px; text-align: center; color: #fff; font-family: 'Archivo', sans-serif; }
.mpdc-llamanos h3, .mpdc-llamanos h4 { margin: 0; color: #fff; font-family: inherit; }
.mpdc-llamanos__tit { margin-bottom: 7px !important; text-transform: capitalize; font-size: 26px; font-weight: 700; line-height: 1.19em; }
.mpdc-llamanos__sub { margin: -2px 0 5px !important; font-size: 20px; font-weight: 400; line-height: 1.3em; }
.mpdc-llamanos__tel { margin-bottom: 7px !important; font-size: 34px; font-weight: 700; line-height: 1.176em; }
.mpdc-llamanos a { color: #fff; }
.mpdc-llamanos a:hover { color: #fff; text-decoration: underline; }

/* Galerías de trabajos */
.mpdc-galeria-sec { padding: 77px 0; }
.mpdc-galeria { max-width: 1140px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; }
.mpdc-galeria a { position: relative; display: block; height: 255px; overflow: hidden; }
.mpdc-galeria img { width: 100%; height: 100%; object-fit: cover; }
.mpdc-galeria__mas {
	position: absolute; left: 50%; top: 50%; width: 42px; height: 42px; margin: -21px 0 0 -21px; border-radius: 50%; background: #00b4ff; color: #fff;
	display: flex; align-items: center; justify-content: center; font-size: 16px; opacity: 0; transition: opacity .3s;
}
.mpdc-galeria a:hover .mpdc-galeria__mas, .mpdc-galeria a:focus-visible .mpdc-galeria__mas { opacity: 1; }

/* Contacto */
.mpdc-contacto { padding: 0 0 80px; }
.mpdc-contacto__cont { max-width: 1200px; margin: 0 auto; display: flex; }
.mpdc-contacto__mapa { width: 50%; padding: 25px; }
.mpdc-contacto__mapa iframe { display: block; width: 100%; height: 630px; border: 0; filter: brightness(103%) contrast(104%) saturate(85%); }
.mpdc-mapa { height: 630px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 30px; text-align: center;
	background: #aadaff linear-gradient(135deg, rgba(255, 255, 255, .35) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .35) 50%, rgba(255, 255, 255, .35) 75%, transparent 75%) 0 0 / 60px 60px;
	font: 400 15px/1.5 var(--mont); color: #1e1d24; }
.mpdc-mapa p { margin: 0; }
.mpdc-mapa svg { display: block; margin: 0 auto 10px; font-size: 34px; color: var(--azul); }
.mpdc-mapa__boton { padding: 14px 34px; border: 0; border-radius: 3px; background: var(--azul); color: #fff; font: 500 15px/1 var(--mont); cursor: pointer; transition: background-color .3s; }
.mpdc-mapa__boton:hover, .mpdc-mapa__boton:focus-visible { background: var(--verde); }
.mpdc-mapa__aviso { max-width: 360px; font-size: 13px; }
.mpdc-mapa__aviso a { color: var(--azul); text-decoration: underline; }
.mpdc-contacto__form { width: 50%; padding: 10px; display: flex; flex-direction: column; justify-content: center; }
.mpdc-contacto .mpd-form form { gap: 20px; }
.mpdc-datos { background: var(--fondo-gris); padding: 30px 0; }
.mpdc-datos .mpdc-cont > * { width: 33.333%; }
.mpdc-datos .mpdc-cont > :first-child { padding: 10px 10px 10px 0; }
.mpdc-dato { display: flex; align-items: flex-start; }
.mpdc-dato > * { padding: 0; }
.mpdc-dato { padding-inline: 16px !important; }
.mpdc-dato__ico { flex: 0 0 auto; display: inline-flex; padding: 30px; margin-right: 30px; border-radius: 50%; background: var(--azul); color: #fff; font-size: 60px; transition: background-color .3s; }
.mpdc-dato:hover .mpdc-dato__ico { background: var(--azul-medio); }
.mpdc-dato__tit { margin: 8px 0 16px; font: 500 18px/1.2 var(--mont); letter-spacing: 1px; color: #1e1d24; }
.mpdc-dato__tit a, .mpdc-dato p a { color: inherit; }
.mpdc-dato p { margin: 0; font: 300 14px/1.5 var(--mont); color: #1e1d24; overflow-wrap: anywhere; }
.mpdc-dato > div { min-width: 0; }

@media (max-width: 1024px) {
	.mpdc-tit45 { font-size: 40px; }
	.mpdc-intro__txt { text-align: justify; }
	.mpdc-sep--intro { padding: 25px 0; }
	.mpdc-area-fila__img { text-align: center; }
	.mpdc-area-fila__img img { margin: 0 auto !important; }
	.mpdc-area-fila__txt { padding: 3% 10% 0; }
	.mpdc-galeria { grid-template-columns: repeat(2, 1fr); }
	.mpdc-garantia, .mpdc-plazos { padding: 30px 20px; }
	.mpdc-dato__ico { font-size: 40px; margin-right: 10px; }
	.mpdc-dato__tit { letter-spacing: 0; }
}
@media (max-width: 767px) {
	.mpdc-tit45 { font-size: 25px; }
	.mpdc-intro .mpdc-cont > div, .mpdc-opiniones .mpdc-cont > div { padding: 0 20px; }
	.mpdc-intro__txt { padding: 0; }
	.mpdc-sep--intro { padding: 15px 0; }
	.mpdc-hero--nosotros { min-height: 280px; background-position: bottom right; }
	.mpdc-hero--garantia { min-height: 243px; }
	.mpdc-hero--contacto { min-height: 300px; background-position: center right; }
	.mpdc-franja { margin-top: 10px; }
	.mpdc-franja .mpdc-cont > * { padding: 0 10px; }
	.mpdc-opinion { padding: 20px 30px 60px; }
	.mpdc-opinion blockquote { font-size: 16px; }
	.mpdc-area-fila { padding: 30px 0 0; }
	.mpdc-area-fila__cont { flex-direction: column; }
	.mpdc-area-fila__img, .mpdc-area-fila__txt { width: 100%; padding: 0 20px; }
	.mpdc-area-fila--inv .mpdc-area-fila__img { order: 0; }
	.mpdc-area-fila__img img { margin-bottom: 25px !important; }
	.mpdc-area-fila__txt { padding-bottom: 20px; }
	.mpdc-llamanos__tel { font-size: 28px; }
	.mpdc-galeria { grid-template-columns: 1fr; gap: 30px; padding: 0 20px; }
	.mpdc-contacto { padding: 0 20px; }
	.mpdc-contacto__cont { flex-direction: column-reverse; }
	.mpdc-contacto__mapa, .mpdc-contacto__form { width: 100%; }
	.mpdc-contacto__mapa { padding: 25px 0; }
	.mpdc-contacto__mapa iframe, .mpdc-mapa { height: 300px; }
	.mpdc-datos .mpdc-cont > *, .mpdc-datos .mpdc-cont > :first-child { width: 100%; }
	.mpdc-dato { flex-direction: column; align-items: center; text-align: center; padding: 35px 15px !important; }
	.mpdc-dato__ico { margin: 0 0 15px; font-size: 65px; }
}
