.m2mlc-buscador,
.m2mlc-card,
.m2mlc-grid,
.m2mlc-detalle {
	--m2mlc-primario: #101828;
	--m2mlc-primario-suave: #1d2b45;
	--m2mlc-acento: #ff6a3d;
	--m2mlc-fondo: #f7f8fa;
	--m2mlc-borde: #e4e7ec;
	--m2mlc-texto: #1d2433;
	--m2mlc-texto-suave: #667085;
	box-sizing: border-box;
}

.m2mlc-buscador *,
.m2mlc-card *,
.m2mlc-grid *,
.m2mlc-detalle * {
	box-sizing: border-box;
}

.m2mlc-buscador {
	background:
		radial-gradient(circle at 88% -15%, rgba(255, 106, 61, 0.35), transparent 45%),
		radial-gradient(circle at -8% 115%, rgba(59, 130, 246, 0.25), transparent 45%),
		repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.035) 0 2px, transparent 2px 26px),
		linear-gradient(135deg, var(--m2mlc-primario), var(--m2mlc-primario-suave));
	border-radius: 16px;
	padding: 32px;
	color: #fff;
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.14);
	box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.55);
}

.m2mlc-buscador__titulo {
	margin: 0 0 20px;
	font-size: 1.5rem;
	font-weight: 700;
	color: #fff;
}

.m2mlc-buscador__form {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 14px;
	align-items: end;
}

.m2mlc-buscador__campo--texto {
	grid-column: 1 / -1;
}

.m2mlc-buscador__campo--rango {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.m2mlc-buscador__campo label {
	display: block;
	font-size: 0.8rem;
	margin-bottom: 6px;
	color: #d0d5dd;
}

.m2mlc-buscador__campo input,
.m2mlc-buscador__campo select {
	width: 100%;
	padding: 10px 12px;
	border-radius: 8px;
	border: 1px solid transparent;
	font-size: 0.95rem;
	background: #fff;
	color: var(--m2mlc-texto);
}

.m2mlc-buscador__campo select:disabled {
	color: #98a2b3;
}

.m2mlc-buscador__boton {
	background: var(--m2mlc-acento);
	color: #fff;
	border: none;
	padding: 12px 20px;
	border-radius: 8px;
	font-weight: 700;
	font-size: 0.95rem;
	cursor: pointer;
	transition: filter 0.15s ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.m2mlc-buscador__boton:hover,
.m2mlc-buscador__boton:focus-visible {
	filter: brightness(1.08);
}

.m2mlc-buscador__boton:disabled {
	opacity: 0.7;
	cursor: progress;
}

.m2mlc-buscador__resultados {
	margin-top: 28px;
}

.m2mlc-buscador__resultados[aria-busy='true'] {
	opacity: 0.6;
}

.m2mlc-total {
	color: var(--m2mlc-texto-suave);
	font-size: 0.85rem;
	margin: 0 0 12px;
}

.m2mlc-cargar-mas-wrap {
	display: flex;
	justify-content: center;
	margin-top: 24px;
}

.m2mlc-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 20px;
}

.m2mlc-card {
	background: #ffffff;
	border: 1px solid var(--m2mlc-borde);
	border-radius: 8px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
	overflow: hidden;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.m2mlc-card:hover {
	box-shadow: 0 8px 20px rgba(16, 24, 40, 0.08);
	transform: translateY(-2px);
}

.m2mlc-card__enlace {
	display: block;
	color: inherit;
	text-decoration: none;
}

.m2mlc-card__imagen {
	position: relative;
	height: 200px;
	background: var(--m2mlc-fondo);
	display: flex;
	align-items: center;
	justify-content: center;
}

.m2mlc-card__imagen img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.m2mlc-card__placeholder {
	font-size: 2.5rem;
}

.m2mlc-badge {
	position: absolute;
	top: 10px;
	right: 10px;
	background: var(--m2mlc-acento);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	padding: 4px 8px;
	border-radius: 999px;
}

.m2mlc-card__cuerpo {
	padding: 16px;
	text-align: left;
}

.m2mlc-card__categoria {
	display: block;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--m2mlc-acento);
	font-weight: 700;
}

.m2mlc-card__titulo {
	margin: 6px 0 4px;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--m2mlc-texto);
}

.m2mlc-card__compat,
.m2mlc-card__parte,
.m2mlc-card__stock {
	margin: 0 0 4px;
	font-size: 0.85rem;
	color: var(--m2mlc-texto-suave);
}

.m2mlc-card__precio {
	margin: 10px 0 0;
	font-weight: 700;
	font-size: 1.1rem;
	color: var(--m2mlc-primario);
}

.m2mlc-card__boton {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 12px;
	padding: 9px 16px;
	background: var(--m2mlc-acento);
	color: #fff;
	font-weight: 700;
	font-size: 0.85rem;
	border-radius: 8px;
	transition: filter 0.15s ease;
}

.m2mlc-card:hover .m2mlc-card__boton {
	filter: brightness(1.08);
}

.m2mlc-sin-resultados {
	text-align: center;
	padding: 40px 20px;
	color: var(--m2mlc-texto-suave);
}

.m2mlc-card__whatsapp {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0 16px 16px;
	padding: 10px 16px;
	background: #25d366;
	color: #fff;
	font-weight: 700;
	font-size: 0.85rem;
	text-decoration: none;
	border-radius: 8px;
	transition: filter 0.15s ease;
}

.m2mlc-card__whatsapp:hover,
.m2mlc-card__whatsapp:focus-visible {
	filter: brightness(1.08);
	color: #fff;
}

.m2mlc-whatsapp-flotante {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 999;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 20px;
	background: #25d366;
	color: #fff;
	font-weight: 700;
	font-size: 0.95rem;
	text-decoration: none;
	border-radius: 999px;
	box-shadow: 0 10px 25px -8px rgba(0, 0, 0, 0.45);
	transition: transform 0.15s ease, filter 0.15s ease;
}

.m2mlc-whatsapp-flotante::before {
	content: '';
	width: 20px;
	height: 20px;
	background: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.33 4.95L2.05 22l5.25-1.38a9.9 9.9 0 0 0 4.74 1.21h.01c5.46 0 9.91-4.45 9.91-9.91 0-2.65-1.03-5.14-2.9-7.01A9.82 9.82 0 0 0 12.04 2zm0 1.67c2.21 0 4.29.86 5.85 2.42a8.23 8.23 0 0 1 2.43 5.82c0 4.55-3.7 8.25-8.25 8.25a8.3 8.3 0 0 1-4.2-1.15l-.3-.18-3.12.82.83-3.04-.2-.31a8.22 8.22 0 0 1-1.26-4.4c0-4.55 3.7-8.23 8.22-8.23zm-4.54 4.7c-.15 0-.4.06-.6.3-.21.23-.8.78-.8 1.9s.82 2.2.93 2.36c.12.15 1.58 2.5 3.9 3.42 1.93.76 2.32.6 2.74.57.42-.04 1.36-.56 1.55-1.1.2-.54.2-1 .14-1.1-.06-.1-.22-.16-.46-.28-.24-.12-1.4-.7-1.62-.78-.22-.08-.37-.12-.53.12-.16.24-.6.78-.74.94-.14.16-.27.18-.5.06-.24-.12-1-.37-1.92-1.18-.7-.63-1.18-1.4-1.32-1.64-.14-.24-.01-.37.1-.49.1-.1.24-.27.36-.4.12-.14.16-.24.24-.4.08-.16.04-.3-.02-.42-.06-.12-.53-1.3-.74-1.78-.19-.46-.39-.4-.53-.4z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.33 4.95L2.05 22l5.25-1.38a9.9 9.9 0 0 0 4.74 1.21h.01c5.46 0 9.91-4.45 9.91-9.91 0-2.65-1.03-5.14-2.9-7.01A9.82 9.82 0 0 0 12.04 2zm0 1.67c2.21 0 4.29.86 5.85 2.42a8.23 8.23 0 0 1 2.43 5.82c0 4.55-3.7 8.25-8.25 8.25a8.3 8.3 0 0 1-4.2-1.15l-.3-.18-3.12.82.83-3.04-.2-.31a8.22 8.22 0 0 1-1.26-4.4c0-4.55 3.7-8.23 8.22-8.23zm-4.54 4.7c-.15 0-.4.06-.6.3-.21.23-.8.78-.8 1.9s.82 2.2.93 2.36c.12.15 1.58 2.5 3.9 3.42 1.93.76 2.32.6 2.74.57.42-.04 1.36-.56 1.55-1.1.2-.54.2-1 .14-1.1-.06-.1-.22-.16-.46-.28-.24-.12-1.4-.7-1.62-.78-.22-.08-.37-.12-.53.12-.16.24-.6.78-.74.94-.14.16-.27.18-.5.06-.24-.12-1-.37-1.92-1.18-.7-.63-1.18-1.4-1.32-1.64-.14-.24-.01-.37.1-.49.1-.1.24-.27.36-.4.12-.14.16-.24.24-.4.08-.16.04-.3-.02-.42-.06-.12-.53-1.3-.74-1.78-.19-.46-.39-.4-.53-.4z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.m2mlc-whatsapp-flotante:hover,
.m2mlc-whatsapp-flotante:focus-visible {
	transform: translateY(-2px);
	filter: brightness(1.05);
	color: #fff;
}

.m2mlc-detalle-pagina {
	padding: 32px 20px 64px;
}

.m2mlc-detalle {
	max-width: 1100px;
	margin: 0 auto;
	color: var(--m2mlc-texto);
	font-family: inherit;
}

.m2mlc-detalle__migas {
	font-size: 0.85rem;
	color: var(--m2mlc-texto-suave);
	margin-bottom: 20px;
}

.m2mlc-detalle__migas a {
	color: var(--m2mlc-texto-suave);
	text-decoration: none;
}

.m2mlc-detalle__migas a:hover {
	text-decoration: underline;
}

.m2mlc-detalle__migas span[aria-hidden] {
	margin: 0 6px;
}

.m2mlc-detalle__grid {
	display: grid;
	grid-template-columns: minmax(280px, 45%) 1fr;
	gap: 40px;
	align-items: start;
}

.m2mlc-detalle__imagen {
	position: relative;
	aspect-ratio: 4 / 3;
	background: #ffffff;
	border: 1px solid var(--m2mlc-borde);
	border-radius: 8px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.m2mlc-detalle__imagen img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.m2mlc-detalle__imagen .m2mlc-card__placeholder {
	font-size: 4rem;
}

.m2mlc-detalle__info h1 {
	margin: 8px 0 16px;
	font-size: 1.6rem;
	line-height: 1.3;
	color: var(--m2mlc-primario);
}

.m2mlc-detalle__precio {
	font-size: 2rem;
	font-weight: 700;
	color: var(--m2mlc-acento);
	margin: 0 0 20px;
}

.m2mlc-detalle__ficha {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 0.95rem;
}

.m2mlc-detalle__ficha strong {
	color: var(--m2mlc-texto);
}

.m2mlc-detalle__whatsapp {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	margin: 0;
	padding: 15px;
	border-radius: 6px;
	font-size: 1.15rem;
	font-weight: 700;
	text-align: center;
}

.m2mlc-detalle__whatsapp-icono {
	width: 22px;
	height: 22px;
	flex-shrink: 0;
}

.m2mlc-detalle__confianza {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin-top: 14px;
	color: #4b5563;
	font-size: 0.85rem;
}

.m2mlc-relacionados {
	margin-top: 56px;
	padding-top: 40px;
	border-top: 1px solid var(--m2mlc-borde);
}

.m2mlc-relacionados h2 {
	font-size: 1.3rem;
	color: var(--m2mlc-primario);
	margin: 0 0 20px;
}

.m2mlc-relacionados__cta {
	display: flex;
	justify-content: center;
	margin-top: 32px;
}

.m2mlc-relacionados__boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--m2mlc-acento);
	color: #fff;
	font-weight: 700;
	font-size: 0.95rem;
	text-decoration: none;
	padding: 14px 28px;
	border-radius: 8px;
	transition: filter 0.15s ease;
}

.m2mlc-relacionados__boton:hover,
.m2mlc-relacionados__boton:focus-visible {
	filter: brightness(1.08);
	color: #fff;
}

@media (max-width: 760px) {
	.m2mlc-detalle__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.m2mlc-buscador {
		padding: 20px;
		border-radius: 0;
	}

	.m2mlc-whatsapp-flotante span {
		display: none;
	}

	.m2mlc-detalle-pagina {
		padding: 20px 16px 48px;
	}
}
