#gallery-section {
	background:rgb(249, 249, 249);
	padding-top:100px;
}
#gallery-section>h2, #swiper-header {
	display:block;
	text-align:center;
	font-size:32px;
	font-weight:400;
	color:rgb(1,152,117);
}

#gallery-nav {
	display:flex;
	justify-content:center;
	gap:80px;
}
.gallery-menu {
	position:relative;
}
.gallery-menu-item, #gallery-menu-pantarei {
	position:relative;
	border:1px solid rgb(1,152,117);
	background:#FFFFFF;
	border-radius:4px;
	color:rgb(1,152,117);
	font-size:13px;
	font-weight:700px;
	height:31px;
	cursor:pointer;
	width:137px;
	display:flex;
	justify-content:center;
	align-items:center;
	transition: all 0.2s ease-in-out 0.1s;
}
.gallery-menu-item:hover, .gallery-selected {
	background:rgb(1,152,117);
	color:#FFFFFF;
}
.gallery-active {
	transform:rotate(180deg);
}

.gallery-submenu {
	display:flex;
	position:absolute;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:10px;
	transition: max-height 0.4s ease-in-out;
	max-height:0;
	overflow:hidden;
}
.gallery-submenu.gallery-open {
	max-height:200px;
	padding:10px 0 0 0;
}
.gallery-container {
	padding-top:80px;
	display:none;
}
.gallery-title {
	color:rgb(1,152,117);
	text-align:center;
	margin-bottom:30px;
}
.gallery-pics {
	display:grid;
	width: 100%;
	grid-template-columns: repeat(6, 1fr); 
	grid-auto-flow: dense; 
	gap: 15px;
	max-width: 1200px;
	margin: 0 auto;
}
.gallery-immagini-container {
	display:flex;
	aspect-ratio: 2 / 1;
	overflow: hidden;
}

.gallery-immagini-content {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 300ms ease-in-out;
}

.gallery-immagini-content:hover {
	transform: scale(1.1);
	cursor:pointer;
}

.type-1 {
  grid-column: span 2;
  grid-row: span 1;
}

/* TIPO 2: 2 righe x 2 colonne */
.type-2 {
  grid-column: span 4;
  grid-row: span 2;
}

.type-3 {
  grid-column: span 6;
  grid-row: span 3;
}

.type-4 {
	grid-column: span 3;
	grid-row: span 2;
}
.gallery-visible {
	display:block!important;
}
.swiper-button-prev {
	left: 20px !important;
	position: fixed; /* Oppure absolute se il parent è largo 100% */
	top: 50%;
	transform: translateY(-50%);
	z-index: 999;
	color:rgb(1,152,117)!important;
}

/* Posiziona la freccia destra sul bordo destro dello schermo */
.swiper-button-next {
	right: 20px !important;
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	z-index: 999;
	color:rgb(1,152,117)!important;
}

/* Definiamo l'altezza dello slider */
.swiper {
	height: 500px!important;
	width: 100%!important;
	margin:0px auto!important;
	overflow:hidden;
	position:relative;
}

.swiper-slide {
	display: flex!important;
	justify-content: center!important;
	align-items: center!important;
	width:100%!important;
	flex-shrink:0;
}

.swiper-slide img {
	max-height: 100%!important;
	max-width: 100%!important;
	width:auto!important;
	height:auto!important;
	object-fit: contain!important;
	cursor:zoom-in;
}

@media (max-width: 800px) {
	#gallery-section>h2 {
		font-size:30px;
	}
	#gallery-nav {
		gap:40px;
	}
	.gallery-menu-item, #gallery-menu-pantarei {
		font-size:20px;
		height:40px;
		width:170px;
	}
	.gallery-submenu.gallery-open {
		max-height:300px;
		padding:10px 0 0 0;
	}
	.swiper-button-prev, .swiper-button-next {	
		top:60%!important;
	}
	/*
	.swiper {
		height:1200px!important;
	}
	#swiper-header {
		font-size:70px;
	}
	.gallery-title {
		font-size:25px;
	}
		*/
}