/**
 * Vivaia Photo Flipbook Widget - Frontend Styles
 *
 * @package Vivaia_Photo_Flipbook_Widget
 */

/* Main Wrapper */
.vivaia-photo-flipbook-wrapper {
	position: relative;
	width: 100%;
	margin-top: 100px;
}

/* Desktop/Tablet Version */
.sale-book-pc {
	display: block;
	position: relative;
	width: 100%;
}

.sale-book-m {
	display: none;
}

/* Book Container */
.sale-book-container {
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	height: 600px;
	user-select: none;
	perspective: 2000px;
}

/* Pages */
.sale-book-container .page {
	position: absolute;
	width: 48%;
	height: 95%;
	top: 2.5%;
	background: #fff;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
	transform-style: preserve-3d;
	transition: transform 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.sale-book-container .page .front,
.sale-book-container .page .back {
	position: absolute;
	width: 100%;
	height: 100%;
	backface-visibility: hidden;
	overflow: hidden;
}

.sale-book-container .page .front {
	transform: rotateY(0deg);
}

.sale-book-container .page .back {
	transform: rotateY(180deg);
}

.sale-book-container .page img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

/* Static left page - shows Page 1 front_image, never flips */
.sale-book-container .page.static-left {
	left: 1%;
	right: auto;
	transform-origin: right center;
	z-index: 1 !important;
}

.sale-book-container .page.static-left.flipped {
	transform: rotateY(-180deg);
	opacity: 0;
}

/* All flippable pages start stacked on the right */
.sale-book-container .page:not(.static-left) {
	right: 1%;
	transform-origin: left center;
	/* z-index set by JavaScript for proper stacking */
}

/* Flipped pages go to the left side (z-index set by JS maintains order) */
.sale-book-container .page.flipped {
	transform: rotateY(-180deg);
}

/* Navigation Buttons - Desktop: positioned on sides of flipbook */
.sale-book-pc .sale-book-btns {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	pointer-events: none;
	z-index: 20;
}

.sale-book-pc .sale-book-btns .prev-btn,
.sale-book-pc .sale-book-btns .next-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
	transition: transform 0.3s ease, opacity 0.3s ease;
	pointer-events: auto;
}

.sale-book-pc .sale-book-btns .prev-btn {
	left: -80px;
}

.sale-book-pc .sale-book-btns .next-btn {
	right: -80px;
}

.sale-book-pc .sale-book-btns .prev-btn:hover,
.sale-book-pc .sale-book-btns .next-btn:hover {
	transform: translateY(-50%) scale(1.1);
}

.sale-book-pc .sale-book-btns .prev-btn.disabled,
.sale-book-pc .sale-book-btns .next-btn.disabled {
	opacity: 0.3;
	cursor: not-allowed;
	pointer-events: none;
}

.sale-book-pc .sale-book-btns img {
	display: block;
	max-width: 60px;
	height: auto;
}

/* Navigation Buttons - Mobile: below flipbook with more spacing */
.sale-book-m .sale-book-btns {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 30px;
	position: relative;
	z-index: 20;
	padding: 0 20px;
}

.sale-book-m .sale-book-btns .prev-btn,
.sale-book-m .sale-book-btns .next-btn {
	cursor: pointer;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.sale-book-m .sale-book-btns .prev-btn:hover,
.sale-book-m .sale-book-btns .next-btn:hover {
	transform: scale(1.1);
}

.sale-book-m .sale-book-btns .prev-btn.disabled,
.sale-book-m .sale-book-btns .next-btn.disabled {
	opacity: 0.3;
	cursor: not-allowed;
	pointer-events: none;
}

.sale-book-m .sale-book-btns img {
	display: block;
	max-width: 40px;
	height: auto;
}

/* Background Image */
.bg-image {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.bg-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Mobile Version */
.sale-book-m .sale-book-container-swiper {
	position: relative;
	width: 100%;
	max-width: 500px;
	margin: 0 auto;
	overflow: visible;
	user-select: none;
}

.sale-book-m .swiper-wrapper {
	display: flex;
	transition-property: transform;
}

.sale-book-m .swiper-slide {
	flex-shrink: 0;
	width: 100%;
	height: auto;
	position: relative;
	transition-property: transform, opacity;
}

.sale-book-m .swiper-slide img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.sale-book-m .next-src {
	display: none;
}

.sale-book-m .next-src img {
	display: block;
	width: 100%;
	height: auto;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

/* Swiper Fade Effect */
.swiper-fade .swiper-slide {
	pointer-events: none;
	transition-property: opacity;
}

.swiper-fade .swiper-slide-active {
	pointer-events: auto;
}

/* Responsive Styles */
@media (max-width: 1024px) {
	.sale-book-container {
		height: 500px;
	}

	/* Adjust arrow positioning for tablets */
	.sale-book-pc .sale-book-btns .prev-btn {
		left: -60px;
	}

	.sale-book-pc .sale-book-btns .next-btn {
		right: -60px;
	}

	.sale-book-pc .sale-book-btns img {
		max-width: 50px;
	}
}

@media (max-width: 768px) {
	/* Hide desktop, show mobile */
	.sale-book-pc {
		display: none;
	}

	.sale-book-m {
		display: block;
		position: relative;
	}

	.vivaia-photo-flipbook-wrapper {
		margin-top: 60px;
	}

	.sale-book-btns img {
		max-width: 40px;
	}

	.sale-book-btns {
		gap: 20px;
		margin-top: 30px;
	}
}

@media (max-width: 480px) {
	.vivaia-photo-flipbook-wrapper {
		margin-top: 40px;
	}

	.sale-book-btns img {
		max-width: 30px;
	}
}

/* Loading State */
.vivaia-photo-flipbook-wrapper.loading {
	opacity: 0.5;
	pointer-events: none;
}

/* Smooth Transitions */
.vivaia-photo-flipbook-wrapper * {
	box-sizing: border-box;
}
