/**
 * Instagram Gallery shortcode (reels): 3 per row on desktop, swipe strip on mobile.
 */

.instagram-gallery-feed {
	--qligg-spacing: 10px !important;
	--qligg-aspect-ratio: 9 / 16 !important;
	--pame-reel-width: 100%;
	position: relative;
	z-index: 1;
	clear: both;
	width: 100%;
	max-width: min(960px, 100%);
	margin: 0 auto 2rem;
	overflow: visible;
}

.instagram-gallery-feed .instagram-gallery-list,
.instagram-gallery-feed .swiper-wrapper,
.instagram-gallery-feed .insta-gallery-slider,
.instagram-gallery-feed .swiper-container {
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	position: relative !important;
}

.instagram-gallery-feed .instagram-gallery-item,
.instagram-gallery-feed .swiper-slide {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
	height: auto !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.instagram-gallery-feed .instagram-gallery-item__wrap,
.instagram-gallery-feed .instagram-gallery-item__media-wrap,
.instagram-gallery-feed .instagram-gallery-square .instagram-gallery-item__media-wrap {
	position: relative !important;
	width: var(--pame-reel-width) !important;
	height: auto !important;
	padding-top: 0 !important;
	aspect-ratio: 9 / 16;
	overflow: hidden !important;
}

.instagram-gallery-feed .instagram-gallery-item__media,
.instagram-gallery-feed .instagram-gallery-item__image,
.instagram-gallery-feed .instagram-gallery-item img,
.instagram-gallery-feed .instagram-gallery-image img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
	object-position: center;
	display: block !important;
}

/* Desktop: 6 reels in a 3×2 grid (compact tiles) */
@media (min-width: 922px) {
	.instagram-gallery-feed {
		--pame-reel-width: 100%;
		--pame-reel-gap: 12px;
	}

	.instagram-gallery-feed .instagram-gallery-list,
	.instagram-gallery-feed .swiper-wrapper,
	.instagram-gallery-feed .insta-gallery-slider {
		display: grid !important;
		grid-template-columns: repeat(3, auto) !important;
		justify-content: center !important;
		align-content: start;
		column-gap: var(--pame-reel-gap) !important;
		row-gap: var(--pame-reel-gap) !important;
		gap: var(--pame-reel-gap) !important;
		width: 100% !important;
		overflow: visible !important;
		transform: none !important;
	}

	.instagram-gallery-feed .instagram-gallery-item,
	.instagram-gallery-feed .swiper-slide {
		width: clamp(150px, 11vw, 190px) !important;
		max-width: none !important;
		justify-self: auto;
		flex: none !important;
	}

	.instagram-gallery-feed .swiper-button-next,
	.instagram-gallery-feed .swiper-button-prev,
	.instagram-gallery-feed .swiper-pagination {
		display: none !important;
	}
}

/* Mobile: native horizontal scroll (no Swiper transform lock) */
@media (max-width: 921px) {
	.instagram-gallery-feed {
		--pame-reel-width: 100%;
		overflow: hidden;
		margin-bottom: 1.5rem;
		padding: 0 4px;
	}

	.instagram-gallery-feed .swiper-container {
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		touch-action: pan-x;
		overscroll-behavior-x: contain;
	}

	.instagram-gallery-feed .swiper-container::-webkit-scrollbar {
		display: none;
	}

	.instagram-gallery-feed .instagram-gallery-list,
	.instagram-gallery-feed .swiper-wrapper,
	.instagram-gallery-feed .insta-gallery-slider {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: flex-start;
		gap: 10px !important;
		width: max-content !important;
		min-width: min(100%, 100vw);
		transform: none !important;
		transition: none !important;
		will-change: auto !important;
		touch-action: pan-x;
	}

	/* Feed without Swiper wrapper: list is the scroll container. */
	.instagram-gallery-feed:not(:has(.swiper-container)) .instagram-gallery-list {
		overflow-x: auto !important;
		overflow-y: hidden !important;
		width: 100% !important;
		max-width: 100%;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.instagram-gallery-feed:not(:has(.swiper-container)) .instagram-gallery-list::-webkit-scrollbar {
		display: none;
	}

	.instagram-gallery-feed .instagram-gallery-item,
	.instagram-gallery-feed .swiper-slide {
		flex: 0 0 auto !important;
		width: clamp(108px, 36vw, 148px) !important;
		max-width: 148px !important;
		scroll-snap-align: start;
		touch-action: pan-x;
	}

	.instagram-gallery-feed .instagram-gallery-item__wrap,
	.instagram-gallery-feed .instagram-gallery-item__media-wrap {
		width: 100% !important;
		max-height: 260px;
	}

	.elementor-widget-shortcode:has(.instagram-gallery-feed),
	.elementor-element:has(.instagram-gallery-feed) {
		margin-bottom: clamp(32px, 14vw, 140px) !important;
	}

	.elementor-location-footer {
		margin-top: 0 !important;
	}

	.elementor-location-footer .elementor-widget-image .elementor-widget-container {
		margin-top: 0 !important;
		transform: none !important;
	}
}

.elementor-widget-shortcode:has(.instagram-gallery-feed),
.elementor-element:has(.instagram-gallery-feed) {
	overflow: visible !important;
}

.elementor-location-footer,
footer.site-footer,
.hfe-footer {
	position: relative;
	z-index: 2;
	isolation: isolate;
}
