/*
Theme Name: MPI Coating
Theme URI: https://www.mpicoating.es/
Description: Tema de MPI Coating, basado en Twenty Twenty-Five. Diseño industrial negro y dorado con catálogo de productos y fichas técnicas.
Author: MPI Coating
Template: twentytwentyfive
Version: 1.0.7
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: mpi-coating
*/

/* ---------- Base ---------- */
:root {
	--mpi-oro: var(--wp--preset--color--accent-1);
	--mpi-negro: var(--wp--preset--color--contrast);
	--mpi-grafito: var(--wp--preset--color--accent-3);
	--mpi-gris: var(--wp--preset--color--accent-4);
	--mpi-hueso: var(--wp--preset--color--accent-5);
	--mpi-linea: var(--wp--preset--color--accent-6);
	--mpi-radio: 6px;
	--mpi-sombra: 0 10px 30px -12px rgba(20, 20, 20, .22);
}
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { -webkit-font-smoothing: antialiased; }
:where(.wp-site-blocks) > main { margin-block-start: 0; }
::selection { background: var(--mpi-oro); color: var(--mpi-negro); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid var(--mpi-oro); outline-offset: 2px; }

.mpi-eyebrow {
	display: inline-flex; align-items: center; gap: .6rem;
	font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--mpi-oro);
	margin: 0 0 1rem;
}
.mpi-eyebrow::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.mpi-lead { font-size: var(--wp--preset--font-size--large); color: var(--mpi-gris); line-height: 1.55; }

.wp-element-button.mpi-boton-secundario,
.is-style-outline > .wp-block-button__link {
	background: transparent; color: inherit; border: 2px solid currentColor; padding-top: calc(.85rem - 2px); padding-bottom: calc(.85rem - 2px);
}
.wp-element-button.mpi-boton-secundario:hover,
.is-style-outline > .wp-block-button__link:hover { background: var(--mpi-negro); color: #fff; border-color: var(--mpi-negro); }
.mpi-oscuro .is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--mpi-negro); border-color: #fff; }

/* ---------- Cabecera ---------- */
header.wp-block-template-part {
	position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 50;
	background: rgba(255, 255, 255, .96); backdrop-filter: saturate(160%) blur(8px);
	border-bottom: 1px solid var(--mpi-linea);
}
.mpi-cabecera { padding-block: 14px; }
.mpi-logo { display: block; line-height: 0; }
.mpi-logo img { height: 46px; width: auto; }
.mpi-nav { font-size: .95rem; font-weight: 600; gap: 1.6rem; }
.mpi-nav .wp-block-navigation-item__content { padding-block: .4rem; }
.mpi-nav .wp-block-navigation-item__content:hover { color: var(--mpi-oro); }
.mpi-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--mpi-linea) !important; border-radius: var(--mpi-radio); box-shadow: var(--mpi-sombra);
	padding: .5rem 0; min-width: 250px !important; font-weight: 500;
}
.mpi-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .45rem 1.1rem; }
.mpi-cabecera .wp-block-button__link { padding: .7rem 1.2rem; }
@media (max-width: 781px) {
	.mpi-logo img { height: 38px; }
	.mpi-cabecera .mpi-cabecera__cta { display: none !important; }
}

/* ---------- Pie ---------- */
.mpi-pie { background: var(--mpi-negro); color: #bdbdb8; font-size: .95rem; }
.mpi-pie a { color: #fff; text-decoration: none; }
.mpi-pie a:hover { color: var(--mpi-oro); }
.mpi-pie h2 { color: var(--mpi-oro); font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 1rem; }
.mpi-pie ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.mpi-pie .mpi-logo img { filter: brightness(0) invert(1); height: 42px; }
.mpi-pie__legal { border-top: 1px solid rgba(255, 255, 255, .12); font-size: .82rem; color: #8d8d88; }

/* ---------- Portada ---------- */
.mpi-hero {
	position: relative; overflow: hidden; color: #fff; background-color: var(--mpi-negro);
	background-image:
		radial-gradient(1200px 500px at 85% 20%, rgba(207, 160, 45, .16), transparent 60%),
		repeating-linear-gradient(115deg, transparent 0 46px, rgba(255, 255, 255, .025) 46px 47px);
}
.mpi-hero::after {
	content: ""; position: absolute; right: -8%; bottom: -40%; width: 46%; aspect-ratio: 1;
	border: 2px solid rgba(207, 160, 45, .35); transform: rotate(45deg); pointer-events: none;
}
.mpi-hero h1 { color: #fff; font-size: clamp(2.3rem, 1.4rem + 3.4vw, 4.1rem); line-height: 1.04; letter-spacing: -.03em; }
.mpi-hero h1 em { font-style: normal; color: var(--mpi-oro); }
.mpi-hero .mpi-lead { color: #c9c9c4; max-width: 34rem; }
.mpi-hero .is-style-outline > .wp-block-button__link { color: #fff; }

.mpi-cifras { display: flex; flex-wrap: wrap; gap: 2.5rem; margin: 2.75rem 0 0; padding-top: 1.75rem; border-top: 1px solid rgba(255, 255, 255, .14); }
.mpi-cifras div { display: flex; flex-direction: column-reverse; }
.mpi-cifras dd { margin: 0; font-size: 2.4rem; font-weight: 800; color: var(--mpi-oro); line-height: 1; letter-spacing: -.02em; }
.mpi-cifras dt { margin-top: .45rem; font-size: .8rem; text-transform: uppercase; letter-spacing: .12em; color: #a5a5a0; }

/* Abanico de muestras de color */
.mpi-abanico { position: relative; height: 440px; max-width: 460px; margin-inline: auto; }
.mpi-muestra {
	position: absolute; left: 50%; bottom: 0; width: 132px; height: 380px; margin-left: -66px;
	border-radius: 10px; transform-origin: 50% 92%; box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .6);
	display: flex; flex-direction: column; justify-content: flex-end; padding: 14px;
	font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	animation: mpi-abrir 1.1s cubic-bezier(.2, .8, .2, 1) both;
}
.mpi-muestra span { background: rgba(255, 255, 255, .92); color: var(--mpi-negro); padding: 6px 8px; border-radius: 4px; }
.mpi-muestra:nth-child(1) { background: #3a3a3a; --r: -36deg; }
.mpi-muestra:nth-child(2) { background: #8b2e22; --r: -18deg; animation-delay: .05s; }
.mpi-muestra:nth-child(3) { background: #5f6b62; --r: 0deg; animation-delay: .1s; }
.mpi-muestra:nth-child(4) { background: #e9e5da; --r: 18deg; animation-delay: .15s; }
.mpi-muestra:nth-child(5) { background: var(--mpi-oro); --r: 36deg; animation-delay: .2s; }
.mpi-muestra { transform: rotate(var(--r)); }
@keyframes mpi-abrir { from { transform: rotate(0deg); opacity: 0; } to { transform: rotate(var(--r)); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .mpi-muestra { animation: none; } }
@media (max-width: 781px) { .mpi-abanico { height: 300px; transform: scale(.72); transform-origin: 50% 100%; margin-top: -60px; } .mpi-hero::after { display: none; } }

/* Valores */
.mpi-valores { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--mpi-linea); border: 1px solid var(--mpi-linea); border-radius: var(--mpi-radio); overflow: hidden; }
.mpi-valor { background: #fff; padding: 1.6rem; }
.mpi-valor h3 { font-size: 1.1rem; margin: 0 0 .4rem; display: flex; gap: .6rem; align-items: baseline; }
.mpi-valor h3::before { content: ""; width: 10px; height: 10px; background: var(--mpi-oro); transform: rotate(45deg); flex: none; }
.mpi-valor p { margin: 0; color: var(--mpi-gris); font-size: .95rem; }
@media (max-width: 600px) { .mpi-valores { grid-template-columns: 1fr; } }

.mpi-banda-oro { background: var(--mpi-oro); color: var(--mpi-negro); }
.mpi-banda-oro .wp-block-button__link { background: var(--mpi-negro); color: #fff; }
.mpi-banda-oro .wp-block-button__link:hover { background: #fff; color: var(--mpi-negro); }
.mpi-banda-oro .is-style-outline > .wp-block-button__link { background: transparent; color: var(--mpi-negro); }
.mpi-oscuro { background: var(--mpi-grafito); color: #e6e6e1; }
.mpi-oscuro h2, .mpi-oscuro h3 { color: #fff; }

/* ---------- Cabeceras de página ---------- */
.mpi-cabecera-pagina { background: var(--mpi-hueso); border-bottom: 1px solid var(--mpi-linea); }
.mpi-cabecera-pagina h1 { font-size: clamp(2rem, 1.4rem + 2.4vw, 3.2rem); letter-spacing: -.025em; margin-top: .4rem; }
.mpi-cabecera-pagina .wp-block-term-description, .mpi-cabecera-pagina .mpi-lead { max-width: 46rem; color: var(--mpi-gris); font-size: 1.1rem; }

.mpi-migas { font-size: .85rem; color: var(--mpi-gris); display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.mpi-migas a { color: inherit; text-decoration: none; }
.mpi-migas a:hover { color: var(--mpi-negro); text-decoration: underline; }
.mpi-migas [aria-current] { color: var(--mpi-negro); font-weight: 600; }
.mpi-migas__sep { color: var(--mpi-linea); }

/* ---------- Familias ---------- */
.mpi-familias { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; }
.mpi-familia {
	display: flex; flex-direction: column; gap: .5rem; padding: 1.5rem; min-height: 210px;
	background: #fff; border: 1px solid var(--mpi-linea); border-radius: var(--mpi-radio);
	color: inherit; text-decoration: none; position: relative; overflow: hidden;
	transition: border-color .2s, transform .2s, box-shadow .2s;
}
.mpi-familia::after { content: ""; position: absolute; left: 0; bottom: 0; height: 3px; width: 0; background: var(--mpi-oro); transition: width .3s; }
.mpi-familia:hover { border-color: var(--mpi-negro); transform: translateY(-3px); box-shadow: var(--mpi-sombra); }
.mpi-familia:hover::after { width: 100%; }
.mpi-familia__num { font-size: .8rem; font-weight: 700; color: var(--mpi-oro); letter-spacing: .1em; }
.mpi-familia__nombre { font-size: 1.3rem; font-weight: 700; letter-spacing: -.01em; line-height: 1.2; }
.mpi-familia__desc { color: var(--mpi-gris); font-size: .92rem; line-height: 1.5; }
.mpi-familia__pie { margin-top: auto; display: flex; justify-content: space-between; font-size: .85rem; font-weight: 600; padding-top: .8rem; }

.mpi-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.mpi-chip {
	display: inline-flex; align-items: center; gap: .5rem; padding: .5rem .95rem; border-radius: 999px;
	border: 1px solid var(--mpi-linea); background: #fff; color: inherit; text-decoration: none; font-size: .9rem; font-weight: 600;
}
.mpi-chip:hover { border-color: var(--mpi-negro); }
.mpi-chip.is-activa { background: var(--mpi-negro); border-color: var(--mpi-negro); color: #fff; }
.mpi-chip__n { font-size: .75rem; color: var(--mpi-gris); font-weight: 700; }
.mpi-chip.is-activa .mpi-chip__n { color: var(--mpi-oro); }

/* ---------- Tarjetas de producto ---------- */
.mpi-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 20px; }
.mpi-card {
	display: flex; flex-direction: column; background: #fff; border: 1px solid var(--mpi-linea); border-radius: var(--mpi-radio);
	overflow: hidden; color: inherit; text-decoration: none; transition: border-color .2s, transform .2s, box-shadow .2s;
}
.mpi-card[hidden] { display: none; }
.mpi-card:hover { border-color: var(--mpi-negro); transform: translateY(-3px); box-shadow: var(--mpi-sombra); }
.mpi-card__img { aspect-ratio: 4 / 3; background: var(--mpi-hueso); overflow: hidden; }
.mpi-card__img .mpi-img { width: 100%; height: 100%; object-fit: cover; }
.mpi-card__cuerpo { padding: 1.1rem 1.15rem 1.15rem; display: flex; flex-direction: column; gap: .35rem; flex: 1; }
.mpi-card__sub { font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: var(--mpi-gris); font-weight: 600; line-height: 1.35; }
.mpi-card__titulo { font-size: 1.02rem; margin: 0; line-height: 1.3; letter-spacing: 0; }
.mpi-card__pie { margin-top: auto; padding-top: .8rem; display: flex; justify-content: space-between; align-items: center; gap: .5rem; font-size: .82rem; font-weight: 700; }
.mpi-card__ver { margin-left: auto; }
.mpi-card:hover .mpi-card__ver { color: var(--mpi-oro); }
.mpi-etiqueta { font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; padding: .25rem .5rem; border-radius: 3px; background: #f6edd3; color: #6d5413; }

.mpi-img--vacia { display: grid; place-items: center; width: 100%; height: 100%; color: #cfc8b8; background: linear-gradient(135deg, var(--mpi-hueso), #ece8de); }
.mpi-icono-bote { width: 64px; height: 64px; }

/* Buscador */
.mpi-buscador { margin-bottom: 2rem; }
.mpi-buscador__campo {
	width: 100%; max-width: 560px; font: inherit; font-size: 1rem; padding: .9rem 1rem .9rem 2.9rem;
	border: 1px solid var(--mpi-linea); border-radius: var(--mpi-radio); background: #fff no-repeat 1rem 50% / 18px
	url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235c5c5c' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
}
.mpi-buscador__campo:focus { border-color: var(--mpi-negro); outline: none; box-shadow: 0 0 0 3px rgba(207, 160, 45, .35); }
.mpi-buscador__vacio { color: var(--mpi-gris); }

.mpi-grupo { margin-top: 3.5rem; }
.mpi-grupo[hidden] { display: none; }
.mpi-grupo:first-of-type { margin-top: 0; }
.mpi-grupo__cabecera { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; border-bottom: 2px solid var(--mpi-negro); padding-bottom: .7rem; margin-bottom: 1.4rem; }
.mpi-grupo__titulo { font-size: var(--wp--preset--font-size--x-large); margin: 0; }
.mpi-grupo__enlace { font-weight: 700; font-size: .9rem; text-decoration: none; color: inherit; }
.mpi-grupo__enlace:hover { color: var(--mpi-oro); }

/* ---------- Ficha de producto ---------- */
.mpi-producto__imagen { aspect-ratio: 1; border-radius: var(--mpi-radio); overflow: hidden; background: var(--mpi-hueso); border: 1px solid var(--mpi-linea); }
.mpi-producto__imagen .mpi-img { width: 100%; height: 100%; object-fit: cover; }
.mpi-producto__imagen .mpi-icono-bote { width: 120px; height: 120px; }
.mpi-sobretitulo { font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--mpi-oro); text-decoration: none; }
.mpi-sobretitulo:hover { text-decoration: underline; }
.mpi-producto h1 { font-size: clamp(1.9rem, 1.3rem + 2vw, 2.8rem); letter-spacing: -.02em; margin: .5rem 0 .3rem; }
.mpi-subtitulo { font-size: 1.15rem; color: var(--mpi-gris); margin: 0 0 1.4rem; }

.mpi-datos { margin: 1.6rem 0; border-top: 1px solid var(--mpi-linea); }
.mpi-datos__fila { display: grid; grid-template-columns: 130px 1fr; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--mpi-linea); }
.mpi-datos dt { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--mpi-gris); padding-top: .2rem; }
.mpi-datos dd { margin: 0; font-weight: 500; }
.mpi-pastillas { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.mpi-pastillas li { background: var(--mpi-hueso); border: 1px solid var(--mpi-linea); border-radius: 4px; padding: .2rem .6rem; font-size: .88rem; }
@media (max-width: 600px) { .mpi-datos__fila { grid-template-columns: 1fr; gap: .3rem; } }

.mpi-botones { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }

.mpi-ficha { background: #fff; border: 1px solid var(--mpi-linea); border-radius: var(--mpi-radio); padding: clamp(1.25rem, 3vw, 2.25rem); }
.mpi-ficha__cabecera { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.mpi-ficha__titulo { font-size: var(--wp--preset--font-size--x-large); margin: 0; }
.mpi-ficha__ayuda { margin: .3rem 0 0; color: var(--mpi-gris); font-size: .9rem; }
.mpi-ficha__libro { background: var(--mpi-hueso); border-radius: var(--mpi-radio); padding: 1rem 0; }
.mpi-ficha--vacia { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; flex-wrap: wrap; border-style: dashed; }
.mpi-ficha--vacia p { margin: .4rem 0 0; color: var(--mpi-gris); }

.mpi-video__marco { aspect-ratio: 16 / 9; }
.mpi-video__marco iframe, .mpi-video__marco video { width: 100%; height: 100%; }
.mpi-relacionados { margin-top: 1rem; }

/* ---------- Listado de fichas ---------- */
.mpi-ficha-lista { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--mpi-linea); }
.mpi-ficha-fila { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .9rem .25rem; border: 0; border-bottom: 1px solid var(--mpi-linea); border-radius: 0; flex-direction: row; transform: none !important; box-shadow: none !important; }
.mpi-ficha-fila:hover { background: var(--mpi-hueso); }
.mpi-ficha-fila__nombre a { font-weight: 700; text-decoration: none; color: inherit; }
.mpi-ficha-fila__nombre small { display: block; color: var(--mpi-gris); font-size: .85rem; }
.mpi-ficha-fila__acciones { display: flex; gap: 1.2rem; font-size: .88rem; font-weight: 700; white-space: nowrap; }
.mpi-ficha-fila__acciones a { color: inherit; }
.mpi-ficha-fila__acciones a:last-child { color: #8a6a17; }
.mpi-fichas .mpi-grupo__titulo { font-size: var(--wp--preset--font-size--large); margin: 0 0 .8rem; }
@media (max-width: 600px) { .mpi-ficha-fila { flex-direction: column; align-items: flex-start; } }

/* ---------- Contacto ---------- */
.mpi-datos-contacto { display: grid; gap: 1rem; }
.mpi-dato { padding: 1.25rem 1.4rem; border: 1px solid var(--mpi-linea); border-radius: var(--mpi-radio); background: #fff; }
.mpi-dato h3 { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--mpi-gris); margin: 0 0 .35rem; }
.mpi-dato p { margin: 0; font-weight: 600; }
.mpi-formulario { background: #fff; border: 1px solid var(--mpi-linea); border-radius: var(--mpi-radio); padding: clamp(1.25rem, 3vw, 2.25rem); }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea {
	width: 100%; font: inherit; padding: .85rem 1rem; border: 1px solid var(--mpi-linea); border-radius: var(--mpi-radio); background: var(--mpi-hueso);
}
.wpcf7 input:focus, .wpcf7 textarea:focus { border-color: var(--mpi-negro); background: #fff; outline: none; box-shadow: 0 0 0 3px rgba(207, 160, 45, .35); }
.wpcf7 textarea { min-height: 160px; }
.wpcf7 p { margin: 0 0 1rem; }
.wpcf7 input[type="submit"] {
	background: var(--mpi-oro); color: var(--mpi-negro); border: 0; border-radius: 4px; font: inherit; font-weight: 700; padding: .9rem 1.8rem; cursor: pointer;
}
.wpcf7 input[type="submit"]:hover { background: var(--mpi-negro); color: #fff; }

/* Portfolio */
.mpi-proyectos .wp-block-post { border: 1px solid var(--mpi-linea); border-radius: var(--mpi-radio); overflow: hidden; background: #fff; }
.mpi-proyectos .wp-block-post-featured-image { margin: 0; aspect-ratio: 4 / 3; background: var(--mpi-hueso); }
.mpi-proyectos .wp-block-post-featured-image img { height: 100%; object-fit: cover; }
.mpi-proyectos .wp-block-post-title { padding: 1rem 1.15rem 1.2rem; margin: 0; font-size: 1.02rem; }
.mpi-proyectos .wp-block-post-title a { text-decoration: none; }

/* ---------- Retoques 1.0.2 ---------- */
.mpi-etiqueta, .mpi-card__ver { white-space: nowrap; }
.mpi-ficha__libro .df-bg { background-color: transparent !important; }
.mpi-pie__legal a { color: #b5b5b0; }
.mpi-pie__legal a:hover { color: var(--mpi-oro); }
.mpi-pie__enlaces { display: flex; flex-wrap: wrap; gap: 1.25rem; margin: 0; }

/* ---------- Imágenes 1.0.3 ---------- */
.mpi-familia.tiene-imagen { padding-top: 0; }
.mpi-familia__img { display: block; margin: 0 -1.5rem .5rem; aspect-ratio: 16 / 7; overflow: hidden; background: var(--mpi-hueso); }
.mpi-familia__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.mpi-familia:hover .mpi-familia__img img { transform: scale(1.05); }
.mpi-cabecera-pagina { position: relative; overflow: hidden; }
.mpi-familia-fondo { position: absolute !important; inset: 0; max-width: none !important; margin: 0 !important; background-size: cover; background-position: center; z-index: 0; }
.mpi-familia-fondo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,20,20,.94) 0%, rgba(20,20,20,.78) 45%, rgba(20,20,20,.35) 100%); }
.mpi-cabecera-pagina > :not(.mpi-familia-fondo) { position: relative; z-index: 1; }
.mpi-cabecera-pagina:has(.mpi-familia-fondo) { color: #fff; border-bottom: 0; padding-bottom: clamp(3rem, 7vw, 5.5rem) !important; }
.mpi-cabecera-pagina:has(.mpi-familia-fondo) h1,
.mpi-cabecera-pagina:has(.mpi-familia-fondo) .wp-block-term-description { color: #fff; }
.mpi-cabecera-pagina:has(.mpi-familia-fondo) .wp-block-term-description { color: #d9d9d4; }
.mpi-cabecera-pagina:has(.mpi-familia-fondo) .mpi-migas, .mpi-cabecera-pagina:has(.mpi-familia-fondo) .mpi-migas [aria-current] { color: #d9d9d4; }
.mpi-cabecera-pagina:has(.mpi-familia-fondo) .mpi-migas a:hover { color: #fff; }
.mpi-foto img { border-radius: var(--mpi-radio); display: block; width: 100%; height: auto; }
.mpi-mapa { display: block; margin-top: .25rem; }
.mpi-mapa img { width: 100%; height: auto; display: block; border-radius: var(--mpi-radio); border: 1px solid var(--mpi-linea); }
.mpi-galeria { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; margin-top: 1.5rem; }
.mpi-galeria img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; display: block; }

/* ---------- Ilustraciones 1.0.4 ---------- */
.mpi-img--ilus { width: 100%; height: 100%; display: block; background: radial-gradient(120% 90% at 50% 15%, #FFFFFF 0%, #F3F0E9 55%, #E7E2D6 100%); }
.mpi-ilus { width: 100%; height: 100%; display: block; }
.mpi-card .mpi-ilus { transition: transform .35s ease; }
.mpi-card:hover .mpi-ilus { transform: translateY(-4px) scale(1.02); }
.mpi-producto__imagen .mpi-img--ilus { padding: 6%; }


/* ===== 1.0.5 · Termoplástico preformado, Línea Road, avisos ===== */

/* Barra superior de aviso */
.mpi-aviso { display: flex; justify-content: center; align-items: center; gap: .75rem; flex-wrap: wrap; padding: .55rem 1rem; background: var(--mpi-negro); color: #f1efe8; font-size: .88rem; text-decoration: none; text-align: center; line-height: 1.35; }
.mpi-aviso:hover { color: #fff; }
.mpi-aviso:hover .mpi-aviso__ir { text-decoration: underline; }
.mpi-aviso__tag { background: var(--mpi-oro); color: var(--mpi-negro); font-weight: 800; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; padding: .2rem .55rem; border-radius: 3px; }
.mpi-aviso__ir { color: var(--mpi-oro); font-weight: 700; white-space: nowrap; }
@media (max-width: 700px) { .mpi-aviso__mas { display: none; } .mpi-aviso { font-size: .82rem; gap: .5rem; } }

/* Enlace destacado del menú */
.mpi-nav .mpi-nav-destacado > a, .mpi-nav .mpi-nav-destacado .wp-block-navigation-item__content { color: var(--mpi-oro) !important; font-weight: 800; }
.mpi-nav .mpi-nav-destacado .wp-block-navigation-item__label::before { content: "★ "; font-size: .8em; }

/* Banner del termoplástico */
.mpi-termo-banner { position: relative; overflow: hidden; background-color: var(--mpi-negro); color: #fff; isolation: isolate; }
.mpi-termo-banner::before { content: ""; position: absolute; inset: 0; z-index: -2; background-image: var(--mpi-termo-foto); background-size: cover; background-repeat: no-repeat; background-position: 38% 60%; }
.mpi-termo-banner::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(20,20,20,.98) 0%, rgba(20,20,20,.92) 34%, rgba(20,20,20,.35) 62%, rgba(20,20,20,0) 85%); }
.mpi-termo-banner__dentro { max-width: var(--wp--style--global--wide-size, 1240px); margin: 0 auto; padding: clamp(3rem, 7vw, 5.5rem) clamp(1.25rem, 4vw, 2rem); }
.mpi-termo-banner__dentro > * { max-width: 600px; }
.mpi-termo-banner__sello { margin: 0 0 1.1rem; }
.mpi-termo-banner__sello span { display: inline-block; background: var(--mpi-oro); color: var(--mpi-negro); font-weight: 800; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; padding: .45rem .8rem; border-radius: 3px; }
.mpi-termo-banner__titulo { color: #fff !important; font-size: clamp(2.3rem, 1.4rem + 3.6vw, 4.2rem); line-height: 1.02; letter-spacing: -.03em; text-transform: uppercase; font-weight: 800; margin: 0 0 1.4rem; }
.mpi-termo-banner__titulo em { font-style: normal; color: var(--mpi-oro); display: block; }
.mpi-termo-banner__claves { list-style: none; padding: 0; margin: 0 0 2rem; display: grid; gap: .55rem; font-size: clamp(1rem, .95rem + .3vw, 1.15rem); font-weight: 600; }
.mpi-termo-banner__claves li { display: flex; gap: .7rem; align-items: baseline; }
.mpi-termo-banner__claves li::before { content: ""; width: 9px; height: 9px; background: var(--mpi-oro); transform: rotate(45deg) translateY(-1px); flex: none; }
.mpi-termo-banner__botones { display: flex; flex-wrap: wrap; gap: .75rem; }
.mpi-termo-banner__botones .wp-element-button:hover { background: #fff; color: var(--mpi-negro); }
.wp-element-button.mpi-boton-claro { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.75); padding-top: calc(.85rem - 2px); padding-bottom: calc(.85rem - 2px); }
.wp-element-button.mpi-boton-claro:hover { background: #fff; color: var(--mpi-negro); border-color: #fff; }
.mpi-termo-banner__zona { margin: 1.6rem 0 0; font-size: .9rem; color: #cfcdc5; }
.mpi-termo-banner__zona strong { color: #fff; }
.mpi-termo-banner--pagina .mpi-termo-banner__dentro { padding-top: clamp(3.5rem, 9vw, 7rem); padding-bottom: clamp(3.5rem, 9vw, 7rem); }
@media (max-width: 780px) {
	.mpi-termo-banner::before { background-position: 45% 60%; }
	.mpi-termo-banner::after { background: linear-gradient(180deg, rgba(20,20,20,.9) 0%, rgba(20,20,20,.86) 100%); }
}

/* Página del termoplástico */
.mpi-pagina-termo .entry-content > .alignfull:first-child, .mpi-pagina-termo .wp-block-post-content > :first-child { margin-top: 0; }
.mpi-pagina-termo .wp-block-post-content > * + * { margin-block-start: 0; }
.mpi-termo-cifras { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1px; margin: 0; background: var(--mpi-linea); border: 1px solid var(--mpi-linea); border-radius: var(--mpi-radio); overflow: hidden; }
.mpi-termo-cifras > div { background: #fff; padding: 1.5rem 1.3rem; display: flex; flex-direction: column-reverse; gap: .35rem; }
.mpi-termo-cifras dd { margin: 0; font-size: clamp(2.2rem, 1.6rem + 2vw, 3rem); font-weight: 800; line-height: 1; letter-spacing: -.03em; color: var(--mpi-negro); }
.mpi-termo-cifras dd small { font-size: .38em; font-weight: 700; letter-spacing: 0; margin-left: .25rem; color: var(--mpi-oro); text-transform: uppercase; }
.mpi-termo-cifras dt { font-size: .88rem; color: var(--mpi-gris); }
.mpi-ventajas { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.mpi-ventaja { background: #fff; border: 1px solid var(--mpi-linea); border-radius: var(--mpi-radio); padding: 1.6rem; border-top: 3px solid var(--mpi-oro); }
.mpi-ventaja__n { font-size: .8rem; font-weight: 800; color: var(--mpi-oro); letter-spacing: .1em; }
.mpi-ventaja h3 { font-size: 1.15rem; margin: .4rem 0 .5rem; }
.mpi-ventaja p { margin: 0; color: var(--mpi-gris); font-size: .95rem; }
@media (max-width: 900px) { .mpi-ventajas { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 600px) { .mpi-ventajas { grid-template-columns: 1fr; } }
.mpi-usos { margin-top: 2.5rem; }
.mpi-usos h3 { font-size: 1rem; text-transform: uppercase; letter-spacing: .1em; margin: 0 0 .9rem; }
.mpi-usos .mpi-pastillas { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0; }
.mpi-usos .mpi-pastillas li { background: #fff; border: 1px solid var(--mpi-linea); border-radius: 999px; padding: .4rem .9rem; font-size: .9rem; font-weight: 600; }
.mpi-pasos { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 22px; counter-reset: paso; }
.mpi-paso { counter-increment: paso; background: #fff; border: 1px solid var(--mpi-linea); border-radius: var(--mpi-radio); overflow: hidden; display: flex; flex-direction: column; }
.mpi-paso img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.mpi-paso > div { padding: 1.2rem 1.3rem 1.4rem; position: relative; }
.mpi-paso h3 { font-size: 1.1rem; margin: 0 0 .4rem; display: flex; align-items: center; gap: .6rem; }
.mpi-paso h3::before { content: counter(paso); display: inline-grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--mpi-oro); color: var(--mpi-negro); font-size: .9rem; font-weight: 800; flex: none; }
.mpi-paso p { margin: 0; color: var(--mpi-gris); font-size: .93rem; }
.mpi-aviso-formacion { margin-top: 2rem; padding: 1.1rem 1.4rem; background: var(--mpi-hueso); border-left: 4px solid var(--mpi-oro); border-radius: 4px; }
.mpi-aviso-formacion a { font-weight: 700; color: inherit; }
.mpi-pagina-termo .mpi-ficha { margin-top: 2.5rem; }
.mpi-datos--termo { margin-top: 0; background: #fff; border: 1px solid var(--mpi-linea); border-radius: var(--mpi-radio); padding: 0 1.4rem; }
.mpi-datos--termo .mpi-datos__fila { grid-template-columns: 220px 1fr; }
.mpi-datos--termo .mpi-datos__fila:last-child { border-bottom: 0; }
@media (max-width: 600px) { .mpi-datos--termo .mpi-datos__fila { grid-template-columns: 1fr; } }
.mpi-oscuro .mpi-video__marco { border-radius: var(--mpi-radio); overflow: hidden; box-shadow: 0 20px 50px rgba(0,0,0,.35); }

/* Subfamilias (Línea Road) */
.mpi-subfamilias { margin-bottom: clamp(2.5rem, 5vw, 3.5rem); }
.mpi-subfamilias .mpi-grupo__titulo { margin: 0 0 1.2rem; }
.mpi-familias--sub .mpi-familia { min-height: 170px; border-left: 4px solid var(--mpi-oro); }
.mpi-familia--sub .mpi-familia__num { text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; }

/* Formulario: aceptación de privacidad */
.wpcf7 .mpi-acepto { font-size: .92rem; }
.wpcf7 .mpi-acepto .wpcf7-list-item { margin: 0; }
.wpcf7 .mpi-acepto label { display: inline-flex; gap: .5rem; align-items: flex-start; }
.wpcf7 .mpi-acepto input[type="checkbox"] { width: 18px; height: 18px; margin-top: .15rem; accent-color: var(--mpi-oro); }


/* Comparativa de sistemas (termoplástico) */
.mpi-tabla-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--mpi-linea); border-radius: var(--mpi-radio); background: #fff; }
.mpi-comparativa { width: 100%; min-width: 820px; border-collapse: collapse; font-size: .92rem; }
.mpi-comparativa th, .mpi-comparativa td { padding: .8rem 1rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--mpi-linea); }
.mpi-comparativa thead th { background: var(--mpi-negro); color: #fff; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
.mpi-comparativa tbody th { font-weight: 700; color: var(--mpi-negro); white-space: nowrap; background: var(--mpi-hueso); }
.mpi-comparativa td { color: var(--mpi-gris); }
.mpi-comparativa .es-mpi { background: #fbf4df; color: var(--mpi-negro); font-weight: 700; border-left: 3px solid var(--mpi-oro); border-right: 3px solid var(--mpi-oro); }
.mpi-comparativa thead .es-mpi { background: var(--mpi-oro); color: var(--mpi-negro); }
.mpi-comparativa tbody tr:last-child > * { border-bottom: 0; }
.mpi-comparativa-pie { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; margin-top: 1.2rem; }
.mpi-normas { margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.mpi-normas span { border: 1px solid var(--mpi-negro); border-radius: 999px; padding: .25rem .75rem; font-size: .82rem; font-weight: 700; }
.mpi-nota { margin: 0; font-size: .82rem; color: var(--mpi-gris); max-width: 34rem; }
#comparativa .mpi-ficha { margin-top: 2.5rem; }

/* Mapa de zona comercial */
.mpi-mapa-zona-wrap { margin: 0; }
.mpi-mapa-zona { display: block; width: 100%; height: auto; border-radius: var(--mpi-radio); border: 1px solid var(--mpi-linea); }
.mpi-datos-contacto + .mpi-mapa-zona-wrap, .wp-block-column > .mpi-mapa-zona-wrap { margin-top: 1.5rem; }

/* Menú móvil: el desenfoque de la cabecera hacía que el panel del menú quedara atrapado en 100 px */
@media (max-width: 781px) {
	header.wp-block-template-part { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; background: #fff !important; }
}
header.wp-block-template-part:has(.is-menu-open) { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
.wp-block-navigation__responsive-container.is-menu-open { position: fixed !important; inset: 0 !important; height: 100vh !important; height: 100dvh !important; overflow-y: auto !important; background: #fff !important; color: var(--mpi-negro) !important; padding: 1.25rem 1.5rem 2rem !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3rem !important; align-items: flex-start !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start !important; gap: .9rem !important; width: 100%; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; align-items: flex-start !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.15rem; font-weight: 700; padding: .35rem 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { padding: .4rem 0 .4rem 1rem !important; border-left: 2px solid var(--mpi-oro); gap: .2rem !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1rem; font-weight: 500; padding: .3rem 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon { display: none !important; }

.wp-block-navigation__responsive-container.is-menu-open { box-sizing: border-box !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child { order: 99; border-top: 1px solid var(--mpi-linea); padding-top: 1rem; margin-top: .4rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { position: static !important; display: grid !important; grid-template-columns: 1fr 1fr; column-gap: 1rem; width: 100% !important; min-width: 0 !important; border: 0 !important; border-left: 0 !important; box-shadow: none !important; background: transparent !important; padding: .3rem 0 0 !important; opacity: 1 !important; visibility: visible !important; height: auto !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: .95rem; color: var(--mpi-gris) !important; }
.wp-block-navigation__responsive-container.is-menu-open .mpi-nav-destacado .wp-block-navigation-item__content { color: var(--mpi-oro) !important; }
