.visit-section {
	padding: 0 0 64px 0;
}

.visit-eyebrow {
	margin: 0 0 8px 0;
}

.visit-title {
	line-height: 1.1;
	margin: 0 0 20px 0;
}

.visit-gallery {
	display: block;
}

.visit-gallery .carousel,
.visit-gallery .carousel .carousel-inner,
.visit-gallery .carousel .carousel-item,
.visit-gallery .carousel img {
	height: 100%;
}

.visit-gallery #visitCarouselMain {
	height: 470px;
}

/* Carrusel continuo */
.visit-continuous {
	height: 470px;
	border-radius: 14px;
	overflow: hidden;
	position: relative;
}

.visit-track {
	display: flex;
	width: max-content;
	gap: 0;
	animation: visit-scroll 22s linear infinite;
}

.visit-slide {
	flex: 0 0 auto;
	width: min(800px, 100vw);
	height: 470px;
}

.visit-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

@keyframes visit-scroll {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

.visit-card {
	background: var(--color-primary);
	border: none;
	border-radius: 14px;
	margin-bottom: 20px;
}

.visit-card .card-title {
	color: var(--color-white) !important;
	margin: 0 0 12px 0;
}

.visit-map iframe {
	width: 100%;
	height: 180px;
	border: 0;
	border-radius: 10px;
}

@media (max-width: 992px) {
	.visit-gallery #visitCarouselMain { height: 280px; }
	.visit-continuous { height: 280px; }
	.visit-slide { height: 280px; width: 100%; }
}

/* Ajustes extra para móviles pequeños */
@media (max-width: 576px) {
	.visit-continuous {
		height: 200px;             /* más compacta en móvil */
		border-radius: 12px;
	}
	.visit-slide {
		width: 22%;
		height: 240px;
	}
	.visit-slide img {
		object-fit: cover;         /* recorte elegante, sin deformar */
		object-position: center 38%;
		background-color: transparent;
	}
	/* un poco más rápido en móvil para mantener fluidez visual */
	.visit-track { animation-duration: 18s; }
}


