/* Carrusel MM (sustituto de Glider): viewport + track flex */
.mm-carousel-viewport {
	overflow: hidden;
	width: 100%;
	position: relative;
	cursor: grab;
}

.mm-carousel-viewport:active {
	cursor: grabbing;
}

.mm-carousel-track {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	will-change: transform;
	transition: transform 0.35s ease;
}

/* Puntos (testimonios) — compatibles con estilos que usaban .glider-dot */
.mm-carousel-dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	margin: 0 5px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.25);
	cursor: pointer;
	vertical-align: middle;
}

.mm-carousel-dot.active,
.mm-carousel-dot:hover {
	background: var(--tp-maqu-primary, #1a56b0);
}

.dots-testimonios {
	text-align: center;
	margin-top: 1rem;
}

/* Anuncio: galería Bootstrap + miniaturas */
.anuncio-carousel-main .carousel-item img {
	max-height: 70vh;
	object-fit: contain;
	background: #f5f5f5;
}

.anuncio-carousel-control {
	width: 2.5rem;
	height: 2.5rem;
	opacity: 0.85;
}

.anuncio-carousel-thumb {
	opacity: 0.65;
	transition: opacity 0.15s ease, box-shadow 0.15s ease;
}

.anuncio-carousel-thumb.active,
.anuncio-carousel-thumb:hover {
	opacity: 1;
	box-shadow: 0 0 0 2px var(--tp-maqu-primary, #1a56b0);
}

/* Anuncio: carrusel productos relacionados (flechas sobre el bloque) */
.mm-carousel-rel-wrap {
	position: relative;
	padding-left: 2.25rem;
	padding-right: 2.25rem;
}

.mm-carousel-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 2rem;
	height: 2rem;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.95);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
	color: var(--tp-maqu-primary, #1a56b0);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.mm-carousel-nav:disabled {
	opacity: 0.35;
	cursor: default;
}

.mm-carousel-prev-rel {
	left: 0;
}

.mm-carousel-next-rel {
	right: 0;
}
