/* Neuradev Product Sliders — por Neuradev Software. Los valores vienen del panel "Neuradev Sliders" (variables CSS). Funciona sin JS (scroll nativo). */
.nmps {
	--nmps-main: #0a2f7a;
	--nmps-accent: #fdb913;
	--nmps-green: #1e7e34;
	--nmps-card-bg: #f8f8f8;
	--nmps-border: #e3e3e3;
	--nmps-arrow: #777777;
	--nmps-radius: 4px;
	--nmps-gap: 25px;
	--nmps-title-size: 20px;
	--nmps-name-size: 10px;
	--nmps-price-size: 13px;
	--nmps-old-size: 9px;
	--nmps-btn-size: 10px;
	--nmps-font: Verdana, Tahoma, Arial, sans-serif;
	--nmps-title-font: "Arial Black", Arial, Helvetica, sans-serif;
	--nmps-visible: var(--nmps-desktop, 5);
	max-width: var(--nmps-max, 1000px);
	margin: 30px auto 60px;
	width: 100%;
	box-sizing: border-box;
}
.nmps *, .nmps *::before, .nmps *::after { box-sizing: border-box; }

.nmps-title {
	margin: 0;
	text-align: center;
	text-transform: uppercase;
	font-family: var(--nmps-title-font);
	font-weight: 900;
	font-size: var(--nmps-title-size);
	letter-spacing: .5px;
	line-height: 1.3;
	color: var(--nmps-main);
}
.nmps-line {
	display: block;
	width: 60px;
	height: 3px;
	margin: 8px auto 28px;
	background: var(--nmps-green);
}

.nmps-wrap { position: relative; padding: 0 38px; }

.nmps-track {
	display: flex;
	gap: var(--nmps-gap);
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding: 2px;
}
.nmps-track::-webkit-scrollbar { display: none; }

.nmps-card {
	flex: 0 0 calc((100% - (var(--nmps-visible) - 1) * var(--nmps-gap)) / var(--nmps-visible));
	min-width: 0;
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	background: var(--nmps-card-bg);
	border: 1px solid var(--nmps-border);
	border-radius: var(--nmps-radius);
	overflow: hidden;
}

.nmps-img { display: block; background: #fff; line-height: 0; }
.nmps-img img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: #fff;
	margin: 0;
}

.nmps-body { display: flex; flex-direction: column; flex: 1; padding: 6px; }
.nmps-name {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: calc(3 * 1.9em);
	font-family: var(--nmps-font);
	font-size: var(--nmps-name-size);
	font-weight: 700;
	line-height: 1.9;
	text-align: justify;
	text-decoration: none;
	color: var(--nmps-main);
}
.nmps-prices {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 4px;
	margin: 6px 0;
}
.nmps-price,
.nmps-price .amount,
.nmps-price bdi {
	font-size: var(--nmps-price-size);
	font-weight: 700;
	color: var(--nmps-main);
	text-decoration: underline;
}
.nmps-price ins { background: none; text-decoration: none; }
.nmps-price del { display: none; }
.nmps-old, .nmps-old .amount, .nmps-old bdi {
	font-size: var(--nmps-old-size);
	font-weight: 400;
	color: #777;
	text-decoration: line-through;
}

.nmps .nmps-btn,
.nmps a.nmps-btn.button {
	display: block;
	margin: auto 0 0;
	padding: 7px 4px;
	border: 0;
	border-radius: 2px;
	background: var(--nmps-main);
	color: var(--nmps-accent);
	font-family: var(--nmps-font);
	font-size: var(--nmps-btn-size);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .3px;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: filter .2s;
}
.nmps .nmps-btn:hover { filter: brightness(.78); color: var(--nmps-accent); background: var(--nmps-main); }
.nmps .nmps-btn.loading { opacity: .6; pointer-events: none; }
.nmps .nmps-btn.added { background: var(--nmps-green); color: #fff; }
.nmps .added_to_cart { display: none !important; }

/* Flechas */
/* ===== Tipos de tarjeta ===== */
/* Centrada */
.nmps--centered .nmps-track { padding: 6px 6px 16px; }
.nmps--centered .nmps-card { background: #fff; border-color: transparent; border-radius: 10px; box-shadow: 0 2px 10px rgba(0,0,0,.14); }
.nmps--centered .nmps-body { padding: 10px 8px; text-align: center; }
.nmps--centered .nmps-name { text-align: center; }
.nmps--centered .nmps-prices { flex-direction: column; align-items: center; gap: 2px; }
.nmps.nmps--centered a.nmps-btn.button { border-radius: 999px; }

/* Horizontal */
.nmps--horizontal .nmps-card { flex-direction: row; }
.nmps--horizontal .nmps-img { flex: 0 0 44%; align-self: center; }
.nmps--horizontal .nmps-body { justify-content: space-between; padding: 10px; }
.nmps--horizontal .nmps-name { min-height: 0; -webkit-line-clamp: 4; text-align: left; }

/* Minimalista */
.nmps--minimal .nmps-card { background: transparent; border: 0; border-radius: 0; overflow: visible; }
.nmps--minimal .nmps-img { border: 1px solid var(--nmps-border); border-radius: var(--nmps-radius); overflow: hidden; }
.nmps--minimal .nmps-body { padding: 8px 0 0; text-align: center; }
.nmps--minimal .nmps-name { text-align: center; min-height: 0; -webkit-line-clamp: 2; }
.nmps--minimal .nmps-prices { justify-content: center; gap: 8px; }
.nmps.nmps--minimal a.nmps-btn.button { background: transparent; color: var(--nmps-main); border: 1.5px solid var(--nmps-main); filter: none; }
.nmps.nmps--minimal a.nmps-btn.button:hover { background: var(--nmps-main); color: var(--nmps-accent); filter: none; }
.nmps.nmps--minimal a.nmps-btn.button.added { background: var(--nmps-green); color: #fff; border-color: var(--nmps-green); }

/* Oscura */
.nmps--dark .nmps-card { background: var(--nmps-main); border-color: var(--nmps-main); }
.nmps--dark .nmps-name { color: #fff; }
.nmps--dark .nmps-price, .nmps--dark .nmps-price .amount, .nmps--dark .nmps-price bdi { color: var(--nmps-accent); }
.nmps--dark .nmps-old, .nmps--dark .nmps-old .amount, .nmps--dark .nmps-old bdi { color: rgba(255,255,255,.65); }
.nmps.nmps--dark a.nmps-btn.button { background: var(--nmps-accent); color: var(--nmps-main); }
.nmps.nmps--dark a.nmps-btn.button:hover { background: var(--nmps-accent); color: var(--nmps-main); filter: brightness(.88); }
.nmps.nmps--dark a.nmps-btn.button.added { background: var(--nmps-green); color: #fff; }

/* Solo el icono: se anulan los estilos de botón del tema (borde, fondo, sombra, relleno) */
.nmps .nmps-arrow,
.nmps .nmps-arrow:hover,
.nmps .nmps-arrow:focus,
.nmps .nmps-arrow:focus-visible,
.nmps .nmps-arrow:active,
.nmps .nmps-arrow[disabled] {
	-webkit-appearance: none !important;
	appearance: none !important;
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	background-image: none !important;
	border-radius: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	min-width: 0 !important;
	text-transform: none !important;
	-webkit-tap-highlight-color: transparent;
}
.nmps .nmps-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 34px;
	height: 44px;
	color: var(--nmps-arrow);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity .2s, color .2s;
}
.nmps .nmps-arrow svg { display: block; fill: none; pointer-events: none; }
.nmps .nmps-arrow:hover { color: var(--nmps-main); }
.nmps .nmps-prev { left: 0; }
.nmps .nmps-next { right: 0; }
.nmps .nmps-arrow[disabled] { opacity: .35; cursor: default; pointer-events: none; }
.nmps.nmps-no-overflow .nmps-arrow,
.nmps:not(.nmps-ready) .nmps-arrow { display: none; }
.nmps.nmps-no-overflow .nmps-wrap { padding: 0; }
