/**

 * Product Sheet Gallery — 1:1 carousel for sheet hero (height-capped).

 *

 * @package PasionGift_App

 */



.pg-product-sheet-gallery {

	flex-shrink: 0;

	background-color: var(--pg-color-surface);

}



.pg-product-sheet-gallery__viewport {

	overflow-x: auto;

	overflow-y: hidden;

	scroll-snap-type: x mandatory;

	scroll-behavior: smooth;

	-webkit-overflow-scrolling: touch;

	scrollbar-width: none;

	touch-action: pan-x pinch-zoom;

	width: min(100%, min(42dvh, 18rem));

	max-height: min(42dvh, 18rem);

	aspect-ratio: 1 / 1;

	margin-inline: auto;

	background-color: var(--pg-color-interactive-bg);

}



.pg-product-sheet-layout--gallery-expanded .pg-product-sheet-gallery__viewport,
.pg-product-sheet-layout--gallery-collapsed .pg-product-sheet-gallery__viewport {

	transition:
		max-height var(--pg-transition-overlay) var(--pg-transition-ease),
		width var(--pg-transition-overlay) var(--pg-transition-ease),
		min-height var(--pg-transition-overlay) var(--pg-transition-ease);

}



.pg-product-sheet-layout--gallery-collapsed .pg-product-sheet-gallery__viewport {

	width: 100%;

	max-height: 4rem;

	min-height: 4rem;

	height: 4rem;

	aspect-ratio: auto;

}



.pg-product-sheet-layout--gallery-collapsed .pg-product-sheet-gallery__slide {

	height: 4rem;

}



.pg-product-sheet-layout--gallery-collapsed .pg-product-sheet-gallery__image {

	height: 4rem;

}



.pg-product-sheet-layout--gallery-collapsed .pg-product-sheet-gallery__dots {

	opacity: 0;

	visibility: hidden;

	height: 0;

	padding: 0;

	margin: 0;

	overflow: hidden;

	pointer-events: none;

}



.pg-product-sheet-gallery__viewport::-webkit-scrollbar {

	display: none;

}



.pg-product-sheet-gallery__viewport:focus-visible {

	outline: 2px solid var(--pg-color-accent);

	outline-offset: -2px;

}



.pg-product-sheet-gallery__track {

	display: flex;

	margin: 0;

	padding: 0;

	list-style: none;

	min-height: 100%;

}



.pg-product-sheet-gallery__slide {

	flex: 0 0 100%;

	width: 100%;

	scroll-snap-align: start;

	scroll-snap-stop: always;

}



.pg-product-sheet-gallery__image {

	display: block;

	width: 100%;

	height: 100%;

	object-fit: cover;

}



.pg-product-sheet-gallery__dots {

	display: flex;

	align-items: center;

	justify-content: center;

	gap: 0.375rem;

	padding: 0.625rem calc(1rem + var(--pg-safe-right)) 0.5rem calc(1rem + var(--pg-safe-left));

}



.pg-product-sheet-gallery__dot {

	width: 0.375rem;

	height: 0.375rem;

	padding: 0;

	border: 0;

	border-radius: 999px;

	background-color: var(--pg-color-border);

	cursor: pointer;

	transition: background-color var(--pg-transition-fast, 120ms) ease, transform var(--pg-transition-fast, 120ms) ease;

}



.pg-product-sheet-gallery__dot.is-active,

.pg-product-sheet-gallery__dot[aria-selected='true'] {

	background-color: var(--pg-color-accent);

	transform: scale(1.15);

}



.pg-product-sheet-gallery__dot:focus-visible {

	outline: 2px solid var(--pg-color-accent);

	outline-offset: 2px;

}



@media (min-width: 768px) {

	.pg-product-sheet-gallery__viewport {

		width: 100%;

		max-height: min(38dvh, 16rem);

	}

}



@media (max-width: 359px) {

	.pg-product-sheet-gallery__dots {

		padding-inline: calc(0.875rem + var(--pg-safe-left)) calc(0.875rem + var(--pg-safe-right));

	}

}



@media (prefers-reduced-motion: reduce) {

	.pg-product-sheet-gallery__viewport {

		scroll-behavior: auto;

	}



	.pg-product-sheet-gallery__dot {

		transition: none;

	}



	.pg-product-sheet-layout--gallery-expanded .pg-product-sheet-gallery__viewport,
	.pg-product-sheet-layout--gallery-collapsed .pg-product-sheet-gallery__viewport {

		transition: none;

	}

}


