/*
 * Luster Negin — WooCommerce single-product gallery enhancement.
 * Keeps WooCommerce's native FlexSlider/lightbox markup as the source of truth.
 */

.ln-product-detail .woocommerce div.product div.images {
	--ln-gallery-radius: 26px;
	position: relative;
	min-width: 0;
	padding: 18px;
	border: 1px solid #e7dcc7;
	border-radius: calc(var(--ln-gallery-radius) + 8px);
	background:
		radial-gradient(120px 120px at 14% 10%, rgba(214, 184, 120, .24), transparent 65%),
		radial-gradient(180px 140px at 86% 18%, rgba(255, 255, 255, .75), transparent 70%),
		linear-gradient(180deg, #fefcf7 0%, #f7f1e5 100%);
	box-shadow: 0 20px 46px rgba(12, 34, 30, .08);
	overflow: visible;
}

.ln-product-detail .woocommerce div.product div.images::before,
.ln-product-detail .woocommerce div.product div.images::after {
	content: '';
	position: absolute;
	pointer-events: none;
}

.ln-product-detail .woocommerce div.product div.images::before {
	inset: 10px;
	border: 1px solid rgba(197, 164, 96, .32);
	border-radius: calc(var(--ln-gallery-radius) + 2px);
}

.ln-product-detail .woocommerce div.product div.images::after {
	top: 26px;
	right: 34px;
	width: 68px;
	height: 2px;
	border-radius: 999px;
	background: linear-gradient(90deg, rgba(201, 163, 92, 0), rgba(201, 163, 92, .95), rgba(201, 163, 92, 0));
	opacity: .9;
}

.ln-product-detail .woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
.ln-product-detail .woocommerce div.product div.images .woocommerce-product-gallery__image,
.ln-product-detail .woocommerce div.product div.images .woocommerce-product-gallery__image a {
	min-width: 0;
}

.ln-product-detail .woocommerce div.product div.images .flex-viewport {
	position: relative;
	border: 1px solid rgba(210, 191, 150, .42);
	border-radius: var(--ln-gallery-radius);
	background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(251, 248, 241, .96));
	box-shadow:
		0 18px 44px rgba(8, 42, 37, .11),
		inset 0 0 0 1px rgba(255, 255, 255, .65);
	overflow: hidden;
}

.ln-product-detail .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
	margin: 0;
	border-radius: var(--ln-gallery-radius);
}

.ln-product-detail .woocommerce div.product div.images .woocommerce-product-gallery__image {
	background:
		radial-gradient(320px 200px at 50% 18%, rgba(255,255,255,.86), transparent 72%),
		linear-gradient(180deg, #fffdf8, #f9f5ec);
}

.ln-product-detail .woocommerce div.product div.images .woocommerce-product-gallery__image a {
	display: block;
}

.ln-product-detail .woocommerce div.product div.images img {
	transition: opacity .22s ease, transform .35s ease, filter .25s ease;
}

.ln-product-detail .woocommerce div.product div.images:hover .woocommerce-product-gallery__wrapper > div:first-child img {
	transform: scale(1.02);
	filter: saturate(1.03);
}

.ln-product-detail .woocommerce div.product .woocommerce-product-gallery__trigger {
	top: 18px;
	left: 18px;
	right: auto;
	z-index: 12;
	width: 46px;
	height: 46px;
	border: 1px solid rgba(255, 255, 255, .56);
	border-radius: 16px;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 10px 28px rgba(8, 42, 37, .12);
	backdrop-filter: blur(10px);
}

.ln-product-detail .woocommerce div.product .woocommerce-product-gallery__trigger::before,
.ln-product-detail .woocommerce div.product .woocommerce-product-gallery__trigger::after {
	border-color: #8d7238;
}

.ln-product-gallery__nav {
	position: absolute;
	top: 50%;
	z-index: 11;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 1px solid rgba(196, 165, 98, .44);
	border-radius: 18px;
	background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(249, 244, 233, .94));
	box-shadow: 0 12px 30px rgba(4, 29, 25, .15);
	color: #284941;
	cursor: pointer;
	transform: translateY(-50%);
	transition: transform .18s ease, background .18s ease, box-shadow .18s ease, color .18s ease;
	backdrop-filter: blur(10px);
}

.ln-product-gallery__nav:hover {
	background: linear-gradient(180deg, #fffefc, #f8f1e1);
	box-shadow: 0 16px 34px rgba(4, 29, 25, .21);
	color: #9c7430;
	transform: translateY(-50%) scale(1.03);
}

.ln-product-gallery__nav:focus-visible {
	outline: 3px solid rgba(201, 163, 92, .55);
	outline-offset: 3px;
}

.ln-product-gallery__nav svg {
	width: 22px;
	height: 22px;
}

.ln-product-gallery__nav--prev {
	left: 18px;
}

.ln-product-gallery__nav--next {
	right: 18px;
}

.ln-product-gallery__counter {
	position: absolute;
	left: 50%;
	bottom: 18px;
	z-index: 10;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 84px;
	height: 34px;
	padding: 0 15px;
	border: 1px solid rgba(255, 255, 255, .54);
	border-radius: 999px;
	background: rgba(17, 52, 46, .78);
	box-shadow: 0 8px 20px rgba(4, 29, 25, .18);
	color: #fffaf0;
	font-size: 13px;
	font-weight: 800;
	direction: ltr;
	letter-spacing: .02em;
	transform: translateX(-50%);
	backdrop-filter: blur(8px);
}

/* Use only the main image area with navigation controls for a cleaner gallery. */
.ln-product-detail .woocommerce div.product div.images .flex-control-nav.flex-control-thumbs,
.ln-product-detail .woocommerce div.product div.images .flex-control-thumbs {
	display: none !important;
}

/* Match the four existing product-detail skins. */
.ln-product-layout--luxury .woocommerce div.product div.images,
.ln-product-layout--spotlight .woocommerce div.product div.images {
	--ln-gallery-radius: 28px;
}

.ln-product-layout--minimal .woocommerce div.product div.images {
	--ln-gallery-radius: 12px;
}

.ln-product-layout--minimal .ln-product-gallery__nav {
	border-radius: 12px;
}

.ln-product-layout--editorial .woocommerce div.product div.images {
	--ln-gallery-radius: 6px;
}

.ln-product-layout--editorial .ln-product-gallery__nav,
.ln-product-layout--editorial .ln-product-gallery__counter,
.ln-product-layout--editorial .woocommerce div.product .woocommerce-product-gallery__trigger {
	border-radius: 0;
}

@media (max-width: 700px) {
	.ln-product-detail .woocommerce div.product div.images {
		padding: 12px;
		border-radius: 24px;
	}

	.ln-product-detail .woocommerce div.product div.images::before {
		inset: 7px;
	}

	.ln-product-detail .woocommerce div.product div.images::after {
		top: 20px;
		right: 24px;
		width: 52px;
	}

	.ln-product-detail .woocommerce div.product .woocommerce-product-gallery__trigger {
		top: 14px;
		left: 14px;
		width: 40px;
		height: 40px;
		border-radius: 14px;
	}

	.ln-product-gallery__nav {
		width: 42px;
		height: 42px;
		border-radius: 15px;
	}

	.ln-product-gallery__nav--prev {
		left: 12px;
	}

	.ln-product-gallery__nav--next {
		right: 12px;
	}

	.ln-product-gallery__counter {
		bottom: 12px;
		height: 30px;
		min-width: 72px;
		font-size: 12px;
	}
}

@media (max-width: 430px) {
	.ln-product-detail .woocommerce div.product div.images {
		padding: 10px;
	}

	.ln-product-gallery__nav {
		width: 38px;
		height: 38px;
		border-radius: 13px;
	}

	.ln-product-gallery__nav svg {
		width: 18px;
		height: 18px;
	}

	.ln-product-gallery__nav--prev {
		left: 10px;
	}

	.ln-product-gallery__nav--next {
		right: 10px;
	}

	.ln-product-gallery__counter {
		padding: 0 12px;
	}
}

@media (hover: none) {
	.ln-product-detail .woocommerce div.product div.images:hover .woocommerce-product-gallery__wrapper > div:first-child img {
		transform: none;
		filter: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ln-product-detail .woocommerce div.product div.images img,
	.ln-product-gallery__nav {
		transition: none;
	}
}
