/* ===================== Galería de producto con Splide ============================ */
/* Reemplaza a img.producto-principal: el contenedor hereda su posición
   (float, márgenes, tamaños) y cada imagen su aspecto. Usa splide.min.css. */
.galeria-splide-cont{
	float: right;
	position: relative;
	width: 425px;
	margin-left: 40px;
	margin-bottom: 20px;
}
/* Splide fija el ancho de cada slide en px; sin esto la columna del producto
   no puede encogerse dentro de .dsc-body (flex) y se desborda entre 769 y 959px */
.producto-contenedor{
	min-width: 0;
}
.galeria-principal .splide__track{
	border-radius: 5px;
	background-color: rgb(242, 242, 242);
}
.galeria-principal .splide__slide img{
	display: block;
	width: 100%;
	max-width: 100%;
	height: 425px;
	padding: 35px;
	box-sizing: border-box;
	object-fit: contain;
}

/* Imagen completa (sin fondo transparente): llena el recuadro, recortando
   los bordes si no tiene la misma proporción. Uso: <img class="img-completa"> */
.galeria-principal .splide__slide img.img-completa,
.galeria-miniaturas .splide__slide.img-completa{
	padding: 0;
}
.galeria-principal .splide__slide img.img-completa,
.galeria-miniaturas .splide__slide.img-completa img{
	object-fit: cover;
}

/* Flechas: círculos blancos con el mismo blur que el menú móvil (#navMain).
   En desktop aparecen al pasar el mouse (splide.min.css las oculta desde 835px). */
.galeria-principal .splide__arrow{
	/* width: 36px; height: 36px; */
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.5);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	box-shadow: 0px 0px 6px 1px rgba(0, 0, 0, 0.15);
	opacity: 1;
}
.galeria-principal .splide__arrow svg{
	/* width: 16px; height: 16px; */
	width: 13px;
	height: 13px;
	fill: rgb(49, 49, 49);
}
.galeria-principal .splide__arrow--prev{ left: 10px; }
.galeria-principal .splide__arrow--next{ right: 10px; }
.galeria-principal:hover .splide__arrows{
	display: block;
}

/* Puntos (solo móvil): tamaño y estilo de splide.min.css, como en el banner
   del index; solo el activo cambia a verde */
.galeria-principal .splide__pagination{
	display: none;
	bottom: auto;
	margin-top: 7px;
}
/*
.galeria-principal .splide__pagination__page{
	width: 8px;
	height: 8px;
	background: rgb(200, 200, 200);
	opacity: 1;
}
*/
.galeria-principal .splide__pagination__page.is-active{
	background: #007731;
	/* transform: scale(1.25); */
}

/* Thumbnails (solo desktop) */
.galeria-miniaturas{
	margin-top: 10px;
}
.galeria-miniaturas .splide__slide{
	padding: 6px;
	box-sizing: border-box;
	border-radius: 5px;
	background-color: rgb(242, 242, 242);
	cursor: pointer;
	transition: border-color 0.3s;
}
.galeria-miniaturas.splide--nav>.splide__track>.splide__list>.splide__slide{
	border: 2px solid transparent;
}
.galeria-miniaturas.splide--nav>.splide__track>.splide__list>.splide__slide.is-active{
	border-color: #007731;
}
.galeria-miniaturas .splide__slide img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Con una sola imagen no hacen falta controles */
.galeria-unica .galeria-miniaturas,
.galeria-unica .splide__arrows,
.galeria-unica .splide__pagination{
	display: none !important;
}

/* Responsive: mismos cortes que img.producto-principal en layout.css */
@media only screen and (max-width: 1269px){
	.galeria-splide-cont{ width: 380px; }
	.galeria-principal .splide__slide img{ height: 380px; }
}
@media only screen and (max-width: 959px){
	.galeria-splide-cont{
		width: 100%;
		margin-left: 0;
		margin-bottom: 30px;
	}
	.galeria-principal .splide__slide img{ height: 370px; }
}
@media only screen and (max-width: 768px){
	.galeria-splide-cont{
		float: none;
		margin: 0 0 25px 0;
		padding-bottom: 15px;
	}
	.galeria-miniaturas{ display: none; }
	.galeria-principal .splide__pagination{ display: inline-flex; }
}
@media only screen and (max-width: 479px){
	.galeria-principal .splide__slide img{
		padding: 30px;
		height: 300px;
	}
}
@media only screen and (max-width: 424px){
	.galeria-splide-cont{
		width: 100vw;
		margin: 0 calc(50% - 50vw) 20px;
	}
	.galeria-principal .splide__track{ border-radius: 0; }
	.galeria-principal .splide__slide img{
		padding: 28px 25px 25px;
		height: 313px;
	}
}
@media only screen and (max-width: 350px){
	.galeria-principal .splide__slide img{ height: 308px; }
}
