/* =========================================================================
   Monarca Suministros — hoja de estilos principal
   ========================================================================= */

:root {
	--azul:          #27488c;
	--azul-oscuro:   #1b3466;
	--azul-barra:    #284c96;
	--azul-suave:    #eaeff8;
	--oro:           #c69842;
	--oro-claro:     #d8ad5f;
	--oro-oscuro:    #a97e2e;
	--tinta:         #23303f;
	--gris:          #58627a;
	--gris-claro:    #f4f6fa;
	--linea:         #dfe5f0;
	--blanco:        #fff;

	--fuente-titulo: "Oswald", "Arial Narrow", sans-serif;
	--fuente-marca:  "Playfair Display", Georgia, "Times New Roman", serif;
	--fuente-texto:  "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

	--ancho: 1240px;
	--radio: 18px;
	--sombra: 0 2px 14px rgba(39, 72, 140, .09);
	--sombra-alta: 0 10px 30px rgba(39, 72, 140, .16);
}

*, *::before, *::after { box-sizing: border-box; }

body {
	margin: 0;
	font-family: var(--fuente-texto);
	font-size: 17px;
	line-height: 1.65;
	color: var(--tinta);
	background: var(--blanco);
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--azul); text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover { color: var(--oro-oscuro); }

h1, h2, h3, h4 {
	font-family: var(--fuente-titulo);
	font-weight: 600;
	letter-spacing: .01em;
	color: var(--azul);
	line-height: 1.15;
	margin: 0 0 .5em;
}

.mn-contenedor {
	width: 100%;
	max-width: var(--ancho);
	margin-inline: auto;
	padding-inline: 24px;
}

.mn-saltar {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--azul);
	color: #fff;
	padding: 12px 20px;
	z-index: 999;
}
.mn-saltar:focus { left: 8px; top: 8px; color: #fff; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden; clip-path: inset(50%);
	white-space: nowrap;
}

:focus-visible { outline: 3px solid var(--oro); outline-offset: 2px; }

/* -------------------------------------------------------------------------
   Cabecera
   ---------------------------------------------------------------------- */

.mn-barra-superior { height: 10px; background: var(--azul-barra); }

.mn-cabecera {
	background: var(--blanco);
	border-bottom: 1px solid var(--linea);
	position: sticky;
	top: 0;
	z-index: 60;
}

.mn-cabecera__int {
	display: flex;
	align-items: center;
	gap: 28px;
	min-height: 92px;
}

.mn-logo {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	flex-shrink: 0;
}
.mn-logo__corona { width: 86px; height: auto; }
.mn-logo__texto { display: flex; flex-direction: column; line-height: 1; }
.mn-logo__nombre {
	font-family: var(--fuente-marca);
	font-size: 36px;
	font-weight: 500;
	color: var(--azul);
	letter-spacing: .01em;
}
.mn-logo__lema {
	font-size: 11.5px;
	font-weight: 600;
	color: var(--gris);
	letter-spacing: .06em;
	margin-top: 4px;
}
.mn-logo img.custom-logo { max-height: 62px; width: auto; }

.mn-nav { margin-inline: auto; }
.mn-nav__lista {
	display: flex;
	align-items: center;
	gap: 30px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.mn-nav__lista a {
	font-family: var(--fuente-titulo);
	font-size: 16px;
	font-weight: 500;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--azul);
	text-decoration: none;
	padding: 8px 2px;
	display: block;
	position: relative;
}
.mn-nav__lista a::after {
	content: "";
	position: absolute;
	left: 0; right: 100%; bottom: 2px;
	height: 2px;
	background: var(--oro);
	transition: right .25s ease;
}
.mn-nav__lista a:hover::after,
.mn-nav__lista .current-menu-item > a::after { right: 0; }

/* Submenús */
.mn-nav__lista li { position: relative; }
.mn-nav__lista .sub-menu {
	position: absolute;
	top: 100%; left: 0;
	min-width: 250px;
	background: #fff;
	border: 1px solid var(--linea);
	border-radius: 12px;
	box-shadow: var(--sombra-alta);
	list-style: none;
	margin: 0; padding: 8px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: .2s ease;
	z-index: 10;
}
.mn-nav__lista li:hover > .sub-menu,
.mn-nav__lista li:focus-within > .sub-menu {
	opacity: 1; visibility: visible; transform: translateY(0);
}
.mn-nav__lista .sub-menu a {
	text-transform: none;
	font-family: var(--fuente-texto);
	font-size: 15px;
	padding: 9px 12px;
	border-radius: 8px;
}
.mn-nav__lista .sub-menu a:hover { background: var(--azul-suave); }
.mn-nav__lista .sub-menu a::after { display: none; }

.mn-cabecera__acciones {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-shrink: 0;
}

.mn-buscador {
	display: flex;
	align-items: center;
	border: 2px solid var(--oro);
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
	height: 44px;
}
.mn-buscador__campo {
	border: 0;
	padding: 0 12px;
	font: inherit;
	font-size: 15px;
	width: 190px;
	background: transparent;
	color: var(--tinta);
}
.mn-buscador__campo:focus { outline: none; }
.mn-buscador__btn {
	border: 0;
	background: transparent;
	color: var(--azul);
	width: 44px; height: 40px;
	cursor: pointer;
	display: grid;
	place-items: center;
	padding: 0;
}
.mn-buscador__btn svg { width: 21px; height: 21px; }
.mn-buscador__btn:hover { color: var(--oro-oscuro); }

.mn-hamburguesa {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 6px;
	width: 46px; height: 44px;
	border: 0;
	background: transparent;
	cursor: pointer;
	padding: 0 4px;
}
.mn-hamburguesa span {
	display: block;
	height: 4px;
	border-radius: 2px;
	background: var(--azul);
	transition: .25s ease;
}
.mn-hamburguesa[aria-expanded="true"] span:nth-child(1) { transform: translateY(10px) rotate(45deg); }
.mn-hamburguesa[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.mn-hamburguesa[aria-expanded="true"] span:nth-child(3) { transform: translateY(-10px) rotate(-45deg); }

/* -------------------------------------------------------------------------
   Botones
   ---------------------------------------------------------------------- */

.mn-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	font-family: var(--fuente-texto);
	font-size: 17px;
	font-weight: 700;
	text-decoration: none;
	padding: 13px 26px;
	border-radius: 999px;
	border: 2px solid transparent;
	cursor: pointer;
	transition: .2s ease;
	line-height: 1.2;
}

.mn-btn--hero {
	background: var(--oro);
	color: var(--azul-oscuro);
	border-color: var(--oro-oscuro);
	font-size: 20px;
	padding: 14px 30px;
	box-shadow: 0 3px 0 var(--oro-oscuro);
}
.mn-btn--hero:hover {
	background: var(--oro-claro);
	color: var(--azul-oscuro);
	transform: translateY(-2px);
	box-shadow: 0 5px 0 var(--oro-oscuro);
}
.mn-btn__flecha { width: 40px; height: 16px; flex-shrink: 0; }

.mn-btn--wa {
	background: var(--azul);
	color: #fff;
	border-color: var(--azul);
}
.mn-btn--wa:hover { background: var(--azul-oscuro); color: #fff; }
.mn-ico { width: 20px; height: 20px; flex-shrink: 0; }

.mn-btn--linea {
	background: transparent;
	color: var(--azul);
	border-color: var(--oro);
}
.mn-btn--linea:hover { background: var(--oro); color: var(--azul-oscuro); }

.mn-btn--sm { font-size: 15px; padding: 9px 20px; gap: 8px; }

/* -------------------------------------------------------------------------
   Hero
   ---------------------------------------------------------------------- */

.mn-hero {
	position: relative;
	background-image: linear-gradient(90deg, rgba(255,255,255,.82), rgba(255,255,255,.45) 60%, rgba(255,255,255,.25)), var(--hero);
	background-size: cover;
	background-position: center;
	min-height: 400px;
	display: flex;
	align-items: center;
}
.mn-hero--sin-imagen {
	background-image: linear-gradient(120deg, var(--azul-suave), #fbf6ec 70%);
}
.mn-hero__int { padding-block: 54px; }
.mn-hero__titulo {
	font-size: clamp(34px, 5.1vw, 66px);
	font-weight: 700;
	text-transform: uppercase;
	color: var(--oro);
	max-width: 17ch;
	margin-bottom: .25em;
	text-shadow: 0 1px 2px rgba(255,255,255,.55);
}
.mn-hero__sub {
	font-size: clamp(16px, 1.5vw, 19px);
	font-weight: 700;
	color: var(--azul);
	max-width: 62ch;
	margin: 0 0 28px;
}

/* -------------------------------------------------------------------------
   Títulos de sección
   ---------------------------------------------------------------------- */

.mn-titulo-seccion {
	font-size: clamp(24px, 2.6vw, 34px);
	font-weight: 600;
	text-transform: uppercase;
	text-align: center;
	color: var(--azul);
	margin-bottom: 40px;
	letter-spacing: .03em;
}
.mn-titulo-seccion--izq { text-align: left; }

/* -------------------------------------------------------------------------
   Carrusel de categorías
   ---------------------------------------------------------------------- */

.mn-cats { padding-block: 64px; }

.mn-carrusel {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
}

.mn-carrusel__pista {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 3 * 24px) / 4);
	gap: 24px;
	list-style: none;
	margin: 0;
	padding: 6px 4px 14px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	flex: 1;
	/* Centra las tarjetas cuando no llenan el ancho (p. ej. 3 categorías). */
	justify-content: center;
}
.mn-carrusel__pista::-webkit-scrollbar { display: none; }
.mn-carrusel__item { scroll-snap-align: start; }

.mn-carrusel__flecha {
	flex-shrink: 0;
	width: 56px; height: 56px;
	border-radius: 50%;
	border: 2px solid var(--oro);
	background: #fff;
	color: var(--azul);
	cursor: pointer;
	display: grid;
	place-items: center;
	transition: .2s ease;
}
.mn-carrusel__flecha svg { width: 24px; height: 24px; }
.mn-carrusel__flecha:hover { background: var(--oro); color: var(--azul-oscuro); }
.mn-carrusel__flecha[disabled] { opacity: .3; cursor: default; }

.mn-tarjeta-cat {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #fff;
	border: 2px solid var(--azul);
	border-radius: var(--radio);
	padding: 14px 14px 20px;
	text-decoration: none;
	transition: .22s ease;
}
.mn-tarjeta-cat:hover {
	transform: translateY(-4px);
	box-shadow: var(--sombra-alta);
	border-color: var(--oro);
}
.mn-tarjeta-cat__foto {
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: 10px;
	overflow: hidden;
	background: var(--gris-claro);
	margin-bottom: 16px;
}
.mn-tarjeta-cat__foto img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.mn-tarjeta-cat__vacia {
	display: block; width: 100%; height: 100%;
	background: linear-gradient(135deg, var(--azul-suave), #fbf6ec);
}
.mn-tarjeta-cat__nombre {
	font-family: var(--fuente-titulo);
	font-size: 19px;
	font-weight: 600;
	text-transform: uppercase;
	text-align: center;
	color: var(--azul);
	line-height: 1.2;
	margin-top: auto;
}
.mn-tarjeta-cat__num {
	display: block;
	text-align: center;
	font-size: 13.5px;
	color: var(--gris);
	margin-top: 6px;
}

/* -------------------------------------------------------------------------
   Nosotros / CTA
   ---------------------------------------------------------------------- */

.mn-nosotros { padding-block: 64px; background: var(--gris-claro); }
.mn-nosotros__int {
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	gap: 48px;
	align-items: start;
}
.mn-nosotros__texto p { margin: 0 0 18px; color: var(--gris); }

.mn-ventajas { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.mn-ventajas li {
	background: #fff;
	border-left: 4px solid var(--oro);
	border-radius: 10px;
	padding: 16px 20px;
	font-size: 15.5px;
	color: var(--gris);
	box-shadow: var(--sombra);
}
.mn-ventajas strong {
	display: block;
	font-family: var(--fuente-titulo);
	font-size: 17px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--azul);
	margin-bottom: 2px;
}

.mn-cta { padding-block: 60px; background: var(--azul); text-align: center; }
.mn-cta__titulo { color: #fff; font-size: clamp(24px, 3vw, 36px); text-transform: uppercase; }
.mn-cta__texto { color: #d5deef; max-width: 60ch; margin: 0 auto 26px; }

/* -------------------------------------------------------------------------
   Pie
   ---------------------------------------------------------------------- */

.mn-pie { background: var(--azul-oscuro); color: #c9d4ea; margin-top: 64px; }
.mn-pie__rejilla {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 40px;
	padding-block: 56px;
}
.mn-pie__corona { width: 72px; margin-bottom: 10px; }
.mn-pie__nombre { font-family: var(--fuente-marca); font-size: 30px; color: #fff; margin: 0; line-height: 1; }
.mn-pie__lema { font-size: 11.5px; font-weight: 600; letter-spacing: .06em; color: var(--oro-claro); margin: 6px 0 14px; }
.mn-pie__texto { font-size: 15px; font-style: normal; line-height: 1.7; margin: 0; }
.mn-pie__titulo {
	font-size: 17px;
	text-transform: uppercase;
	color: var(--oro-claro);
	letter-spacing: .05em;
	margin-bottom: 14px;
}
.mn-pie__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; font-size: 15px; }
.mn-pie__lista a { color: #c9d4ea; text-decoration: none; }
.mn-pie__lista a:hover { color: #fff; text-decoration: underline; }

.mn-pie__legal { border-top: 1px solid rgba(255,255,255,.14); padding-block: 18px; font-size: 13.5px; }
.mn-pie__legal .mn-contenedor {
	display: flex; flex-wrap: wrap; gap: 12px 26px;
	align-items: center; justify-content: space-between;
}
.mn-pie__legal p { margin: 0; }
.mn-pie__legal-menu { list-style: none; display: flex; gap: 20px; margin: 0; padding: 0; }
.mn-pie__legal-menu a { color: #c9d4ea; text-decoration: none; }

/* -------------------------------------------------------------------------
   Botón flotante de WhatsApp
   ---------------------------------------------------------------------- */

.mn-flotante {
	position: fixed;
	right: 22px; bottom: 22px;
	width: 58px; height: 58px;
	border-radius: 50%;
	background: #25d366;
	color: #fff;
	display: grid;
	place-items: center;
	box-shadow: 0 5px 18px rgba(0,0,0,.28);
	z-index: 80;
	transition: transform .2s ease;
}
.mn-flotante svg { width: 30px; height: 30px; }
.mn-flotante:hover { transform: scale(1.08); color: #fff; }

/* -------------------------------------------------------------------------
   Responsive
   ---------------------------------------------------------------------- */

@media (max-width: 1080px) {
	.mn-carrusel__pista { grid-auto-columns: calc((100% - 2 * 24px) / 3); }
	.mn-buscador__campo { width: 130px; }
	.mn-nav__lista { gap: 20px; }
	.mn-nav__lista a { font-size: 15px; }
}

@media (max-width: 900px) {
	.mn-hamburguesa { display: flex; }
	.mn-nav {
		position: absolute;
		top: 100%; left: 0; right: 0;
		background: #fff;
		border-bottom: 1px solid var(--linea);
		box-shadow: var(--sombra-alta);
		padding: 12px 24px 20px;
		display: none;
	}
	.mn-nav.esta-abierto { display: block; }
	.mn-nav__lista { flex-direction: column; align-items: stretch; gap: 0; }
	.mn-nav__lista > li { border-bottom: 1px solid var(--linea); }
	.mn-nav__lista > li:last-child { border-bottom: 0; }
	.mn-nav__lista a { padding: 14px 2px; font-size: 17px; }
	.mn-nav__lista a::after { display: none; }
	.mn-nav__lista .sub-menu {
		position: static; opacity: 1; visibility: visible; transform: none;
		box-shadow: none; border: 0; border-radius: 0;
		padding: 0 0 8px 14px; min-width: 0;
	}
	.mn-cabecera__int { min-height: 78px; gap: 14px; }
	.mn-nosotros__int { grid-template-columns: 1fr; gap: 32px; }
	.mn-pie__rejilla { grid-template-columns: 1fr 1fr; gap: 32px; }
	.mn-carrusel__pista { grid-auto-columns: calc((100% - 24px) / 2); }
	.mn-carrusel__flecha { width: 46px; height: 46px; }
}

@media (max-width: 620px) {
	body { font-size: 16px; }
	.mn-logo__corona { width: 62px; }
	.mn-logo__nombre { font-size: 26px; }
	.mn-logo__lema { font-size: 10px; }
	.mn-buscador { display: none; }
	.mn-hero { min-height: 380px; }
	.mn-hero__int { padding-block: 44px; }
	.mn-carrusel__pista { grid-auto-columns: 78%; }
	.mn-carrusel__flecha { display: none; }
	.mn-pie__rejilla { grid-template-columns: 1fr; }
	.mn-cats, .mn-nosotros { padding-block: 44px; }
}

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

/* =========================================================================
   WooCommerce — catálogo
   ========================================================================= */

.mn-principal > .woocommerce-notices-wrapper { max-width: var(--ancho); margin-inline: auto; padding-inline: 24px; }

.mn-catalogo { padding-block: 36px 20px; }
.mn-catalogo__cab {
	background: var(--gris-claro);
	border-bottom: 1px solid var(--linea);
	padding-block: 28px;
	margin-bottom: 36px;
}
.mn-catalogo__titulo { font-size: clamp(26px, 3.4vw, 40px); text-transform: uppercase; margin: 0 0 6px; }
.mn-catalogo__desc { color: var(--gris); margin: 0; max-width: 70ch; }

.mn-migas { font-size: 14px; color: var(--gris); margin-bottom: 10px; }
.mn-migas a { color: var(--azul); text-decoration: none; }
.mn-migas a:hover { text-decoration: underline; }
.mn-miga-sep { margin-inline: 8px; color: var(--oro); }

.mn-catalogo__cuerpo { display: grid; grid-template-columns: 268px 1fr; gap: 40px; align-items: start; }

.mn-filtros {
	background: #fff;
	border: 1px solid var(--linea);
	border-radius: var(--radio);
	padding: 20px;
	box-shadow: var(--sombra);
	position: sticky;
	top: 110px;
}
.mn-filtros__titulo {
	font-size: 16px; text-transform: uppercase; letter-spacing: .05em;
	margin-bottom: 12px; padding-bottom: 10px; border-bottom: 2px solid var(--oro);
}
.mn-filtros__lista { list-style: none; margin: 0 0 22px; padding: 0; font-size: 15px; }
.mn-filtros__lista li { margin-bottom: 2px; }
.mn-filtros__lista a {
	display: flex; justify-content: space-between; gap: 10px;
	text-decoration: none; color: var(--tinta);
	padding: 7px 10px; border-radius: 8px;
}
.mn-filtros__lista a:hover { background: var(--azul-suave); color: var(--azul); }
.mn-filtros__lista .esta-activo > a { background: var(--azul); color: #fff; font-weight: 700; }
.mn-filtros__lista .esta-activo > a .mn-filtros__num { color: #dbe4f5; }
.mn-filtros__num { color: var(--gris); font-size: 13px; }
.mn-filtros__lista .sub-menu, .mn-filtros__hijos {
	list-style: none; margin: 4px 0 4px 12px; padding: 0 0 0 10px;
	border-left: 2px solid var(--linea);
}

.woocommerce-result-count { color: var(--gris); font-size: 15px; margin: 0; }
.woocommerce-ordering select {
	font: inherit; font-size: 15px; padding: 9px 12px;
	border: 2px solid var(--linea); border-radius: 8px; background: #fff; color: var(--tinta);
}
.mn-catalogo__barra {
	display: flex; flex-wrap: wrap; gap: 14px;
	align-items: center; justify-content: space-between; margin-bottom: 24px;
}

.woocommerce ul.products, ul.products {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px;
}
.woocommerce ul.products::before, .woocommerce ul.products::after,
ul.products::before, ul.products::after { display: none; content: none; }
.woocommerce ul.products li.product, ul.products li.product {
	display: flex; flex-direction: column;
	background: #fff; border: 1px solid var(--linea); border-radius: var(--radio);
	padding: 16px; text-align: center; transition: .22s ease; width: auto; margin: 0; float: none;
}
.woocommerce ul.products li.product:hover, ul.products li.product:hover { border-color: var(--oro); box-shadow: var(--sombra-alta); transform: translateY(-3px); }
.woocommerce ul.products li.product a, ul.products li.product a { text-decoration: none; }
.woocommerce ul.products li.product img, ul.products li.product img {
	aspect-ratio: 1; object-fit: contain; width: 100%; margin-bottom: 14px;
	background: var(--gris-claro); border-radius: 10px; padding: 10px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--fuente-texto); font-size: 15.5px; font-weight: 700;
	color: var(--azul); line-height: 1.4; margin: 0 0 12px; text-transform: none;
}
.woocommerce ul.products li.product .mn-btn,
ul.products li.product .mn-btn { margin-top: auto; align-self: center; }

.woocommerce-pagination ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 44px 0 0; padding: 0; border: 0; }
.woocommerce-pagination li { border: 0; margin: 0; }
.woocommerce-pagination a, .woocommerce-pagination span {
	display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px;
	border: 2px solid var(--linea); border-radius: 10px; text-decoration: none;
	color: var(--azul); font-weight: 700;
}
.woocommerce-pagination a:hover { border-color: var(--oro); background: var(--oro); color: var(--azul-oscuro); }
.woocommerce-pagination .current { background: var(--azul); border-color: var(--azul); color: #fff; }

/* Ficha de producto ---------------------------------------------------- */

.mn-producto { padding-block: 28px 10px; }
.single-product div.product { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.single-product div.product .woocommerce-product-gallery { width: 100%; margin: 0; }
.single-product div.product .woocommerce-product-gallery__image img {
	border: 1px solid var(--linea); border-radius: var(--radio); background: #fff;
}
.single-product div.product .flex-control-thumbs {
	list-style: none; display: grid; grid-template-columns: repeat(5, 1fr);
	gap: 10px; margin: 12px 0 0; padding: 0;
}
.single-product div.product .flex-control-thumbs img { border: 1px solid var(--linea); border-radius: 8px; cursor: pointer; }
.single-product div.product .flex-control-thumbs .flex-active { outline: 2px solid var(--oro); border-radius: 8px; }

.single-product .product_title { font-size: clamp(24px, 3vw, 36px); text-transform: uppercase; margin-bottom: 14px; }
.single-product .woocommerce-product-details__short-description { color: var(--gris); font-size: 16.5px; }
.mn-ficha-meta { list-style: none; margin: 20px 0; padding: 0; display: grid; gap: 8px; font-size: 15px; }
.mn-ficha-meta li { display: flex; gap: 10px; padding: 9px 0; border-bottom: 1px dashed var(--linea); }
.mn-ficha-meta strong { color: var(--azul); min-width: 120px; }

.mn-cotizar {
	margin-top: 26px; padding: 22px;
	background: var(--gris-claro); border: 1px solid var(--linea);
	border-radius: var(--radio);
	display: flex; flex-wrap: wrap; gap: 12px;
}
.mn-cotizar .mn-btn { flex: 1 1 auto; }
.mn-cotizar__nota { flex: 1 0 100%; margin: 4px 0 0; font-size: 14px; color: var(--gris); text-align: center; }

.woocommerce-tabs { grid-column: 1 / -1; margin-top: 20px; }
.woocommerce-tabs ul.tabs {
	list-style: none; display: flex; flex-wrap: wrap; gap: 6px;
	margin: 0 0 -1px; padding: 0; border-bottom: 1px solid var(--linea);
}
.woocommerce-tabs ul.tabs li a {
	display: block; padding: 12px 22px; text-decoration: none; font-weight: 700;
	color: var(--gris); border: 1px solid transparent; border-radius: 10px 10px 0 0;
}
.woocommerce-tabs ul.tabs li.active a { color: var(--azul); background: #fff; border-color: var(--linea); border-bottom-color: #fff; }
.woocommerce-tabs .panel { border: 1px solid var(--linea); border-top: 0; border-radius: 0 0 var(--radio) var(--radio); padding: 26px; }
.woocommerce-tabs .panel h2 { display: none; }

.related.products, .up-sells { grid-column: 1 / -1; margin-top: 56px; }
.related.products > h2, .up-sells > h2 {
	font-size: clamp(22px, 2.4vw, 30px); text-transform: uppercase; text-align: center; margin-bottom: 30px;
}

.mn-sin-resultados { text-align: center; padding: 60px 20px; }
.mn-sin-resultados h1 { text-transform: uppercase; }

/* Contenido genérico de páginas ---------------------------------------- */

.mn-pagina { padding-block: 44px; }
.mn-pagina__cab { margin-bottom: 28px; }
.mn-pagina__titulo { font-size: clamp(28px, 3.6vw, 44px); text-transform: uppercase; }
.mn-contenido { max-width: 78ch; }
.mn-contenido h2 { margin-top: 1.6em; }
.mn-contenido ul, .mn-contenido ol { padding-left: 1.3em; }
.mn-contenido li { margin-bottom: .4em; }
.mn-contenido img { border-radius: 12px; }

@media (max-width: 1080px) {
	.woocommerce ul.products, ul.products { grid-template-columns: repeat(2, 1fr); }
	.mn-catalogo__cuerpo { grid-template-columns: 1fr; }
	.mn-filtros { position: static; }
}
@media (max-width: 900px) {
	.single-product div.product { grid-template-columns: 1fr; gap: 30px; }
}
@media (max-width: 620px) {
	.woocommerce ul.products, ul.products { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	.woocommerce ul.products li.product, ul.products li.product { padding: 10px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px; }
	.mn-cotizar { padding: 16px; }
}

/* Marcas ---------------------------------------------------------------- */

.mn-marcas {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 18px;
}
.mn-marca {
	display: flex; flex-direction: column; justify-content: center; align-items: center;
	min-height: 118px; padding: 20px 16px; text-align: center; text-decoration: none;
	background: #fff; border: 2px solid var(--linea); border-radius: var(--radio);
	transition: .2s ease;
}
.mn-marca:hover { border-color: var(--oro); box-shadow: var(--sombra-alta); transform: translateY(-3px); }
.mn-marca__nombre {
	font-family: var(--fuente-titulo); font-size: 21px; font-weight: 600;
	text-transform: uppercase; color: var(--azul); line-height: 1.2;
}
.mn-marca__num { font-size: 13.5px; color: var(--gris); margin-top: 6px; }

/* Contacto -------------------------------------------------------------- */

.mn-contacto { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: start; }
.mn-contacto__bloque { margin-bottom: 26px; }
.mn-contacto__bloque h2 {
	font-size: 18px; text-transform: uppercase; letter-spacing: .04em;
	margin-bottom: 8px; padding-bottom: 8px; border-bottom: 2px solid var(--oro);
}
.mn-contacto__bloque p, .mn-contacto__bloque address { margin: 0; font-style: normal; color: var(--gris); }
.mn-contacto__bloque a { font-weight: 700; }
@media (max-width: 900px) { .mn-contacto { grid-template-columns: 1fr; gap: 28px; } }

/* Lupa de la galería: WooCommerce la inserta como enlace suelto. */
.woocommerce-product-gallery__trigger {
	position: absolute; top: 14px; right: 14px; z-index: 5;
	width: 42px; height: 42px; border-radius: 50%;
	background: #fff; border: 1px solid var(--linea); box-shadow: var(--sombra);
	display: grid; place-items: center; text-decoration: none; font-size: 18px;
}
.woocommerce-product-gallery { position: relative; }
.woocommerce-product-gallery__trigger:hover { border-color: var(--oro); }

/* Contador y orden en la misma línea. */
.mn-catalogo__barra .woocommerce-ordering { margin: 0; }
.mn-catalogo__barra form { margin: 0; }

/* =========================================================================
   Portada — secciones adicionales
   ========================================================================= */

.mn-seccion__intro {
	text-align: center;
	color: var(--gris);
	max-width: 62ch;
	margin: -26px auto 36px;
}

/* Sectores -------------------------------------------------------------- */

.mn-sectores { padding-block: 64px; background: var(--gris-claro); }
.mn-sectores__rejilla {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(7, 1fr); gap: 16px;
}
.mn-sector {
	display: flex; flex-direction: column; align-items: center; gap: 8px;
	height: 100%; padding: 22px 12px; text-align: center; text-decoration: none;
	background: #fff; border: 2px solid var(--linea); border-radius: var(--radio);
	transition: .2s ease;
}
.mn-sector:hover { border-color: var(--oro); transform: translateY(-3px); box-shadow: var(--sombra-alta); }
.mn-sector__icono { width: 42px; height: 42px; color: var(--azul); }
.mn-sector:hover .mn-sector__icono { color: var(--oro-oscuro); }
.mn-sector__nombre {
	font-family: var(--fuente-titulo); font-size: 15.5px; font-weight: 600;
	text-transform: uppercase; color: var(--azul); line-height: 1.2;
}
.mn-sector__num { font-size: 12.5px; color: var(--gris); }

/* Todo el catálogo ------------------------------------------------------ */

.mn-subcats { padding-block: 64px; }
.mn-subcats__grupo { margin-bottom: 34px; }
.mn-subcats__grupo:last-child { margin-bottom: 0; }
.mn-subcats__raiz {
	font-size: 19px; text-transform: uppercase; letter-spacing: .04em;
	margin-bottom: 14px; padding-bottom: 10px; border-bottom: 2px solid var(--oro);
}
.mn-subcats__raiz a { color: var(--azul); text-decoration: none; }
.mn-subcats__raiz a:hover { color: var(--oro-oscuro); }
.mn-subcats__lista {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px;
}
.mn-subcats__lista a {
	display: flex; justify-content: space-between; gap: 10px; align-items: baseline;
	padding: 10px 14px; border-radius: 9px; text-decoration: none;
	color: var(--tinta); font-size: 15.5px; background: var(--gris-claro);
	transition: .18s ease;
}
.mn-subcats__lista a:hover { background: var(--azul); color: #fff; }
.mn-subcats__num { font-size: 13px; color: var(--gris); }
.mn-subcats__lista a:hover .mn-subcats__num { color: #cfdaf0; }

/* Destacados ------------------------------------------------------------ */

.mn-destacados { padding-block: 64px; background: var(--gris-claro); }
.mn-destacados .products { grid-template-columns: repeat(4, 1fr); }
.mn-destacados__pie { text-align: center; margin: 34px 0 0; }

/* Marcas en portada ----------------------------------------------------- */

.mn-marcas-home { padding-block: 64px; }
.mn-marcas-home__lista {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-wrap: wrap; justify-content: center; gap: 12px;
}
.mn-marcas-home__lista a {
	display: block; padding: 12px 22px; text-decoration: none;
	font-family: var(--fuente-titulo); font-size: 17px; font-weight: 500;
	text-transform: uppercase; letter-spacing: .03em; color: var(--azul);
	border: 2px solid var(--linea); border-radius: 999px; transition: .18s ease;
}
.mn-marcas-home__lista a:hover { border-color: var(--oro); background: var(--oro); color: var(--azul-oscuro); }

/* Cifras ---------------------------------------------------------------- */

.mn-cifras { padding-block: 46px; background: var(--azul-oscuro); }
.mn-cifras__rejilla {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; text-align: center;
}
.mn-cifra__num {
	display: block; font-family: var(--fuente-titulo); font-size: clamp(28px, 3.4vw, 44px);
	font-weight: 700; color: var(--oro-claro); line-height: 1.1;
}
.mn-cifra__texto { display: block; font-size: 14.5px; color: #c9d4ea; margin-top: 6px; }

/* CTA doble ------------------------------------------------------------- */

.mn-cta__botones { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }
.mn-btn--claro { background: #fff; color: var(--azul); border-color: #fff; }
.mn-btn--claro:hover { background: var(--azul-suave); color: var(--azul-oscuro); }

@media (max-width: 1080px) {
	.mn-sectores__rejilla { grid-template-columns: repeat(4, 1fr); }
	.mn-destacados .products { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
	.mn-cifras__rejilla { grid-template-columns: repeat(2, 1fr); gap: 30px; }
	.mn-destacados .products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
	.mn-sectores__rejilla { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.mn-sectores, .mn-subcats, .mn-destacados, .mn-marcas-home { padding-block: 44px; }
	.mn-subcats__lista { grid-template-columns: 1fr; }
}

/* Documentación técnica del producto ------------------------------------ */

.mn-docs { margin-top: 22px; }
.mn-docs__titulo {
	font-size: 17px; text-transform: uppercase; letter-spacing: .04em;
	margin-bottom: 12px; padding-bottom: 9px; border-bottom: 2px solid var(--oro);
}
.mn-docs__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.mn-doc {
	display: flex; align-items: center; gap: 14px;
	padding: 13px 16px; text-decoration: none;
	background: #fff; border: 1px solid var(--linea); border-radius: 12px;
	transition: .18s ease;
}
.mn-doc:hover { border-color: var(--oro); box-shadow: var(--sombra); transform: translateY(-1px); }
.mn-doc__icono { width: 26px; height: 26px; color: var(--oro-oscuro); flex-shrink: 0; }
.mn-doc__etiqueta { font-weight: 700; color: var(--azul); font-size: 15.5px; }

/* Los hijos de una cuadrícula tienen min-width:auto y no encogen por debajo de
   su contenido: una palabra larga (LOGÍSTICA Y TRANSPORTE) desbordaba la
   pantalla en móvil. */
.mn-sectores__rejilla > li,
.mn-subcats__lista > li,
.mn-carrusel__item,
.woocommerce ul.products > li.product,
ul.products > li.product,
.mn-marcas > li,
.mn-cifras__rejilla > div { min-width: 0; }

.mn-sector__nombre,
.mn-subcats__lista a span,
.mn-marca__nombre,
.mn-tarjeta-cat__nombre { overflow-wrap: anywhere; }

/* Red de seguridad: nada debe provocar barra horizontal en el documento. */
html, body { max-width: 100%; overflow-x: clip; }
