	/* Dots: 8px squares with orange outline; active filled */
.project-gallery-carousel .slick-dots {
  position: absolute;
  left: 50%;
  bottom: 120px;
  transform: translateX(-50%);
  margin: 0; padding: 0;
  list-style: none;
  display: flex; gap: 8px;
  z-index: 20; width: auto;
}
.project-gallery-carousel .slick-dots li { margin: 0; padding: 0; width: 8px; height: 8px; }
.project-gallery-carousel .slick-dots li button {
  width: 8px; height: 8px; padding: 0;
  border: 1px solid #f37c2c;
  background: transparent;
  border-radius: 0;
  cursor: pointer; line-height: 0; font-size: 0;
  transition: none; /* no delayed fill */
}
.project-gallery-carousel .slick-dots li button::before { content: none !important; }
.project-gallery-carousel .slick-dots li.slick-active button,
.project-gallery-carousel .slick-dots li.slick-active-early button { background: #f37c2c; }

	
/* Arrows (custom SVGs) */
.project-gallery-carousel .custom-arrow,
.asc-gallery .custom-arrow {
  background: none; border: none; padding: 0;
  position: absolute; top: 50%; z-index: 10;
  transform: translateY(-50%);
  cursor: pointer; width: 25px; height: 25px;
}
.project-gallery-carousel .custom-prev,
.asc-gallery .custom-prev svg,
.asc-gallery .custom-prev { left: 0; }
.project-gallery-carousel .custom-next,
.asc-gallery .custom-next svg,
.asc-gallery .custom-next { right: 0; }
.project-gallery-carousel .custom-arrow svg,
.asc-gallery .custom-arrow svg {
  width: 100%; height: 100%; fill: #f37c2c;
  transition: fill 0.3s ease;
}
.project-gallery-carousel .custom-arrow:hover svg,
.asc-gallery .custom-arrow:hover svg { fill: #d8651c; }
.project-gallery-carousel .slick-prev::before,
.project-gallery-carousel .slick-next::before,
.asc-gallery .slick-prev::before,
.asc-gallery .slick-next::before { display: none; width: 25px; height: 25px; }


@media (min-width: 769px) {

	/* Scope */
	.project-gallery-carousel { overflow: hidden; }
	
	/* Fade in after Slick initializes */
	.project-gallery-carousel .slides-slick { opacity: 0; transition: opacity .5s .3s ease; }
	.project-gallery-carousel .slick-slider.slick-initialized { background:none; opacity:1; position:relative; top:0; }
	
	/* Slide spacing (6px total gap) */
	.project-gallery-carousel .slick-slide {
  	margin: 0 3px !important;
  	outline: none !important;
  	position: relative;
	}
	
	/* Horizontal list & side peeks on larger screens */
	.project-gallery-carousel .slick-slider .slick-list {
  	height: 100% !important;
	}
	.project-gallery-carousel .slick-slider:not(.slick-vertical) .slick-list {
  	padding: 0 18vw !important; /* gutters to reveal side slides */
	}
	
	/* Hover helper (optional) */
	.project-gallery-carousel .slick-slide:hover .slider-social-cont { display: block; }
	
	/* Images (landscape behavior) */
	.project-gallery-carousel .slick-slider:not(.slick-vertical) img {
  	width: auto;
  	height: calc( 100vh - 60px);
  	display: block;
  	object-fit: contain;
  	margin: 0 auto;
	}
	

	/* Optional index overlay */
	.project-gallery-carousel .slider-img-number {
  	color: rgba(255,255,255,.64);
  	font-size: 11px; letter-spacing: 2px;
  	padding: 0 11px; text-align: center;
  	opacity: 0; position: absolute; left:0; bottom:1em; width:100%;
	}
	.project-gallery-carousel .slick-active .slider-img-number { opacity: 1; }
	
	/* Grayscale treatment like the reference */
	.project-gallery-carousel .slides-slick img {
  	filter: grayscale(100%);
  	opacity: .5 !important;
  	transition: all .8s ease-in-out;
  	padding: 0;
	}
	.project-gallery-carousel .slides-slick .slick-current img {
  	filter: grayscale(0%);
  	opacity: 1 !important;
	}

	
	/* Elementor gallery item width */
	.project-gallery-carousel .elementor-image-gallery .gallery-item { width: auto; max-width: 100% !important; }

}

/* ===== Mobile: single slide, full-screen ===== */
@media (max-width: 768px) {
	
	.project-gallery-carousel .slick-slide {
		height: calc( 100vh - 60px);
	}
	
	.project-gallery-carousel .gallery-icon {
		height: calc( 100vh - 60px);
		object-fit: cover !important;
	}
	
	.project-gallery-carousel img {
		object-fit: cover !important;
		height: calc( 100vh - 60px) !important;
	}
/*
  .project-gallery-carousel,
  .project-gallery-carousel .slick-slider,
  .project-gallery-carousel .slick-list,
  .project-gallery-carousel .slick-track,
  .project-gallery-carousel .slick-slide {
	width: 100vw !important;
	height: 100vh !important;
  }

  .project-gallery-carousel .slick-slide {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
  }

  .project-gallery-carousel .slick-slide img {
	width: 100vw;
	height: 100vh;
	object-fit: cover;
	display: block;
  }


  .project-gallery-carousel .custom-prev { left: 12px; }
  .project-gallery-carousel .custom-next { right: 12px; }
  .project-gallery-carousel .slick-dots { bottom: 24px; }
  */
} 


/* Let slides size themselves by image width */
.page-carousel .swiper-wrapper > .swiper-slide { width: auto !important; }

/* Optional: avoid jumpiness */
.page-carousel .elementor-swiper { overflow: hidden; }

.single-project div.elementor-location-header {
	margin-bottom: 60px;
}

.asc-gallery .asc-gallery__item{

}

.asc-gallery__item img{ 
	max-height: 375px;
	width: auto;
	padding: 0 10px;
	filter: grayscale(100%);
	opacity: 0.5 !important;
	transition: 0.8s ease-in-out;
}

.single-project .asc-gallery .asc-gallery__item img{ 
max-height: calc(100vh - 60px);	
padding: 0 1.5px;
}



.asc-gallery .asc-gallery__item.slick-active img{ 
	opacity: 1 !important;
	filter: none;
}

/* Hide the gallery until Slick is ready (no layout shift since space is preserved) */
.asc-gallery {
  opacity: 0;
  visibility: hidden;
}

/* Reveal smoothly once initialized */
.asc-gallery.is-ready {
  opacity: 1;
  visibility: visible;
  transition: opacity .25s ease;
}

body:not(.single-project) ul.slick-dots {
	display: none;
}