/**
 * Product Page Styles
 * Ładuje się TYLKO na pojedynczej stronie produktu
 */

/* Hide Storefront sticky add-to-cart bar */
.storefront-sticky-add-to-cart {
	display: none !important;
}

/* ========================================
   PRODUCT PAGE LAYOUT
   ======================================== */

.single-product #content {
	max-width: 1380px;
	margin: 0 auto;
	padding: 2rem 16px;
	overflow: visible;
}

.single-product #page,
.single-product .site,
.single-product .site-content,
.single-product #primary,
.single-product .content-area,
.single-product .site-main {
	overflow: visible !important;
	overflow-x: visible !important;
	overflow-y: visible !important;
}

.single-product .recently-viewed-section {
	max-width: 100%;
	overflow-x: hidden;
}

.single-product .col-full {
	padding: 0 !important;
}

.storefront-breadcrumb {
	margin-bottom: 2rem;
	font-size: 0.875rem;
}

.storefront-product-pagination {
	display: none;
}
/* ========================================
   CUSTOM RATING (ABOVE TITLE)
   ======================================== */

.custom-product-rating {
	display: flex;
	align-items: center;
	gap: 5px;
	margin-bottom: 1rem;
}

.custom-product-rating .rating-stars {
	display: flex;
	gap: 2px;
	line-height: 1;
}

.custom-product-rating .star {
	font-size: 18px;
	line-height: 1;
}

.custom-product-rating .star.filled {
	color: #d5a676;
}

.custom-product-rating .star.empty {
	color: #d1d5db;
}

.custom-product-rating .average-rating {
	font-size: 12px;
	font-weight: 300;
	color: #000;
}

.custom-product-rating .reviews-link {
	font-size: 12px;
	color: #666;
	transition: color 0.3s ease;
	cursor: pointer;
	pointer-events: auto;
	font-weight: 300;
}

.custom-product-rating .reviews-link:hover {
	color: var(--theme-accent);
	text-decoration: underline;
}

/* ========================================
   PRODUCT TITLE & META
   ======================================== */

.product_title.entry-title {
	font-size: 24px;
	font-weight: 400;
	letter-spacing: -0.05em;
	margin-top: 0;
	position: relative;
}

/* Single Product Title (ACF custom name) */
.single-product-title {
	font-size: 32px;
	font-weight: 400;
	letter-spacing: -0.05em;
	margin-top: 0;
	margin-bottom: 0;
	max-width: 85%;
	font-family: 'Playfair Display', serif;
}

.single-product-subtitle {
	font-size: 14px;
	font-weight: 300;
	color: #a2775a;
	margin: 4px 0 0 0;
	line-height: 1.4;
	max-width: 85%;
}

@media (max-width: 639px) {
	.single-product-title,
	.single-product-subtitle {
		max-width: none;
		width: 100%;
	}

	.single-product .newsletter-discount-section {
		display: none !important;
	}
}

.jetlagz-omnibus-price-slot {
	margin-top: 12px;
}

.jetlagz-omnibus-price-slot:empty {
	display: none;
}

.jetlagz-omnibus-price-notice {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: baseline;
	color: #111111;
	font-size: 10px;
	line-height: 1.5;
	font-weight: 300;
}

.jetlagz-omnibus-price-label {
	color: #4b5563;
}

.jetlagz-omnibus-price-value {
	font-weight: 600;
	color: #111111;
}

.jetlagz-omnibus-price-context {
	width: 100%;
	font-size: 11px;
	color: #6b7280;
}

/* ========================================
   BENEFITS SECTION (AFTER TITLE)
   ======================================== */

.product-benefits {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin: 1.25rem 0;
	padding: 1rem 0;
	border-top: 1px solid #e5e7eb;
	border-bottom: 1px solid #e5e7eb;
}

.product-benefits .benefit-item {
	display: flex;
	align-items: center;
	gap: 0.8rem;
}

.product-benefits .benefit-icon {
	width: 12px;
	height: 12px;
	flex-shrink: 0;
}

.product-benefits .benefit-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.product-benefits .benefit-title {
	font-size: 12px;
	font-weight: 300;
	color: black;
	line-height: 1.4;
}

/* Mobile: Stack benefits if needed */
@media (max-width: 639px) {
	.product-benefits {
		flex-direction: column;
		gap: 0.75rem;
	}
}

.woocommerce-product-rating {
	display: none;
}

.woocommerce-product-rating .star-rating {
	font-size: 1rem;
}

.woocommerce-product-rating .woocommerce-review-link {
	font-size: 0.875rem;
	color: #666;
	text-decoration: none;
}

.woocommerce-product-rating .woocommerce-review-link:hover {
	color: var(--theme-accent);
}

/* ========================================
   PRICE
   ======================================== */

.summary .price {
	font-size: 16px !important;
	margin-bottom: 1.5rem;
	margin-top: 5px !important;
	color: black !important;
	font-weight: 400 !important;
}

.summary .price del {
	opacity: 0.5;
	font-size: 1.25rem;
	margin-right: 0.5rem;
}

.summary .price ins {
	text-decoration: none;
}

.jetlagz-available-coupon-notice {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	margin-top: 12px;
	margin-bottom: 0;
	font-size: 13px;
	line-height: 1.4;
	color: #185b63;
}

.jetlagz-available-coupon-summary {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	align-items: baseline;
	background-color: #0d8d2d;
	color: white;
	padding: 6px 12px;
}

.jetlagz-available-coupon-codes {
	color: white;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: 500;
}

.jetlagz-available-coupon-price {
	font-weight: 600;
	font-size: 16px;
}

.jetlagz-available-coupon-with-code {
	font-weight: 300;
}

.woocommerce-Price-amount.amount {
	font-weight: 500;
}

.jetlagz-apply-coupon-button {
	margin-top: 10px;
	padding: 10px 18px;
	border: 1px solid #185b63;
	background: transparent;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: #185b63;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		border-color 0.2s ease,
		opacity 0.2s ease;
	cursor: pointer;
}

.jetlagz-apply-coupon-button-label {
	display: inline-block;
}

.jetlagz-apply-coupon-check {
	display: none;
	font-size: 12px;
	line-height: 1;
	font-weight: 700;
}

.jetlagz-apply-coupon-button:hover {
	background: #185b63;
	color: #fff;
}

.jetlagz-apply-coupon-button.is-loading {
	opacity: 0.6;
	cursor: wait;
}

.jetlagz-apply-coupon-button.is-applied {
	background: #1f8f47;
	border-color: #1f8f47;
	color: #fff;
}

.jetlagz-apply-coupon-button.is-applied .jetlagz-apply-coupon-check {
	display: inline-block;
}

/* ========================================
   PRODUCT GALLERY
   ======================================== */

.woocommerce-product-gallery {
	margin-bottom: 2rem;
}

/* Flexbox layout for gallery (thumbnails + main image) only from 640px+ */
@media (min-width: 640px) {
	.woocommerce-product-gallery__wrapper {
		flex: 1;
	}
}

.woocommerce-product-gallery__wrapper {
	margin: 0;
	overflow: hidden;
	position: relative;
}

.woocommerce-product-gallery .flex-viewport {
	overflow: hidden !important;
}

.woocommerce-product-gallery
	.woocommerce-product-gallery__wrapper
	> .flex-viewport
	> .woocommerce-product-gallery__image {
	overflow: hidden;
}

.product_meta {
	display: none;
}

.woocommerce-product-gallery__image {
	margin: 0;
	width: 100%;
	height: 100%;
}

.woocommerce-product-gallery__image img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
	object-position: center;
	margin-right: 5px !important;
}

/* Miniatury po lewej stronie */
.flex-control-nav.flex-control-thumbs {
	display: flex !important;
	flex-direction: row !important;
	gap: 5px;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	order: -1;
}

/* Tablet (640px-1023px) - thumbnails in row below main image */
@media (max-width: 1023px) {
	.flex-control-nav.flex-control-thumbs {
		flex-direction: row !important;
		width: 100% !important;
		order: 1 !important;
		margin-top: 10px !important;
		overflow-x: auto;
		gap: 8px;
		flex-wrap: nowrap !important;
	}

	.flex-control-nav.flex-control-thumbs li {
		flex: 1 1 0 !important;
		min-width: 0 !important;
		width: auto !important;
		max-width: none !important;
	}

	.flex-control-nav.flex-control-thumbs li img {
		aspect-ratio: 3/4 !important;
		object-fit: cover !important;
		width: 100% !important;
	}
}

.flex-control-nav.flex-control-thumbs li {
	display: block !important;
	margin: 0 !important;
	list-style: none;
}

.flex-control-nav.flex-control-thumbs li img {
	width: 100% !important;
	height: auto !important;
	display: block;
	cursor: pointer;
	opacity: 1;
	transition: opacity 0.3s ease;
}

.flex-control-nav.flex-control-thumbs li img:hover,
.flex-control-nav.flex-control-thumbs li img.flex-active {
	opacity: 1;
}

.woocommerce-product-gallery__trigger {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 10;
	background: white;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* ========================================
   VARIATION SWATCHES (BUTTONS)
   ======================================== */

.variations_form .variations td.value {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.variation-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-top: 0.5rem;
}

.variation-button {
	padding: 3px 5px;
	background: #f2f2f2;
	color: #868686;
	font-size: 12px;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	cursor: pointer;
	border-radius: 0;
	border: 1px solid #f2f2f2;
}

.variation-button:hover:not(.disabled) {
	border-color: #000;
}

.variation-button.selected {
	border-color: #000;
	color: #000;
}

.variation-button.disabled {
	opacity: 0.5;
	cursor: not-allowed;
	position: relative;
}

.variation-button.disabled::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 10%;
	right: 10%;
	height: 1px;
	background: #999;
	transform: rotate(-45deg);
}

/* Color Swatch Buttons */
.variation-color-button {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 1rem;
}

.variation-color-button .color-swatch {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 2px solid #ddd;
	display: block;
	transition: border-color 0.3s ease;
}

.variation-color-button:hover:not(.disabled) .color-swatch {
	border-color: #000;
}

.variation-color-button.selected .color-swatch {
	border-color: #000;
	box-shadow:
		0 0 0 2px white,
		0 0 0 4px #000;
}

.variation-color-button .color-name {
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* ========================================
   STOCK AVAILABILITY DROPDOWN
   ======================================== */

.stock-availability-wrapper {
	position: relative;
	display: inline-block;
}

.stock-availability-dropdown {
	position: absolute;
	top: 100%;
	right: 0;
	z-index: 9999;
	background: white;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	padding: 16px;
	width: 380px;
	max-width: calc(100vw - 32px);
	transform: translateY(8px);
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
	pointer-events: none;
}

.cf7-form-wrapper .wpcf7-form-control {
	width: 100%;
	border-radius: 5px;
}

.cf7-form-wrapper input[type='submit'] {
	background-color: #000;
	color: white !important;
}

.stock-availability-dropdown.show {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.stock-availability-dropdown::before {
	content: '';
	position: absolute;
	top: -6px;
	right: 16px;
	width: 12px;
	height: 12px;
	background: white;
	border: 1px solid #e5e5e5;
	border-right: none;
	border-bottom: none;
	transform: rotate(45deg);
	z-index: -1;
}

.stock-availability-content {
	font-size: 14px;
	line-height: 1.5;
	color: #333;
}

.stock-availability-content h4 {
	margin: 0 0 8px 0;
	font-size: 16px;
	font-weight: 600;
	color: #000;
}

.stock-availability-content p {
	margin: 0 0 12px 0;
	color: #666;
}

.stock-availability-form {
	display: flex;
	gap: 8px;
	margin-top: 12px;
}

.stock-availability-form input[type='email'] {
	flex: 1;
	padding: 8px 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 14px;
	outline: none;
	transition: border-color 0.3s ease;
}

.stock-availability-form input[type='email']:focus {
	border-color: #007cba;
}

.stock-availability-form button {
	padding: 8px 16px;
	background: #000;
	color: white;
	border: none;
	border-radius: 4px;
	font-size: 14px;
	cursor: pointer;
	transition: background-color 0.3s ease;
	white-space: nowrap;
}

.stock-availability-form button:hover {
	background: #333;
}

.stock-availability-trigger {
	cursor: pointer;
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	transition: color 0.3s ease;
}

.stock-availability-trigger:hover {
	text-decoration: underline;
}

.stock-availability-trigger .icon {
	font-size: 12px;
	transition: transform 0.3s ease;
}

.stock-availability-trigger.active .icon {
	transform: rotate(180deg);
}

/* Mobile responsive */
@media (max-width: 768px) {
	.stock-availability-dropdown {
		right: -16px;
		width: calc(100vw - 32px);
	}

	.stock-availability-dropdown::before {
		right: 32px;
	}

	.stock-availability-form {
		flex-direction: column;
		gap: 12px;
	}

	.stock-availability-form button {
		width: 100%;
	}
}

.variation-color-button.selected {
	background: #f9f9f9;
	border-color: #000;
	color: #000;
}

/* Hide original select */
.variations_form .variations select {
	display: none !important;
}

/* ========================================
   SHIPPING COUNTDOWN TIMER
   ======================================== */

.shipping-countdown .countdown-text {
	margin: 0;
	font-size: 10px;
	font-weight: 300;
	color: #000000c9;
}

.countdown-time {
	font-weight: 500;
}

/* ========================================
   PRODUCT FEATURES SECTION
   ======================================== */

.product-features-section {
	padding: 2rem 0;
}

.feature-icon {
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.product-banner-payment-wrapper .info-payments,
.product-banner-payment-wrapper .info-delivery {
	display: none;
}

.feature-icon img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.feature-content {
	flex: 1;
}

.feature-title {
	font-size: 12px;
	font-weight: 300;
	color: #111827;
	text-transform: uppercase !important;
}

/* ========================================
   PRODUCT VIDEOS SECTION
   ======================================== */

.product-videos-section {
	padding-bottom: 30px;
}

.product-videos-swiper {
	position: relative;
	overflow: visible;
	width: 100%;
}

.product-videos-swiper .swiper-wrapper {
	display: flex;
	width: 100%;
	transition-property: transform;
	box-sizing: content-box;
}

.product-videos-swiper .swiper-slide {
	flex-shrink: 0;
	width: 100%;
	height: auto;
	box-sizing: border-box;
	position: relative;
}

.swiper-slide.swiper-slide-visible,
.swiper-slide.swiper-slide-prev {
	opacity: 0;
}

.swiper-slide.swiper-slide-visible.swiper-slide-fully-visible,
.swiper-slide.swiper-slide-visible.swiper-slide-active {
	opacity: 1;
}

.media-wrapper {
	width: 100%;
	/* max-width: 200px; */
	aspect-ratio: 6 / 10;
	background-color: #f3f4f6;
	border-radius: 5px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
@media (max-width: 639px) {
	.media-wrapper {
		max-width: max-content;
		height: 100%;
	}
}

.custom-video-container {
	position: relative;
	width: 100%;
	height: 100%;
}

.media-wrapper video,
.media-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.media-size-badge {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 30px;
	height: 30px;
	background-color: rgba(255, 255, 255, 1);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 10px;
	font-weight: 300;
	color: #000;
	text-transform: uppercase;
	z-index: 10;
}

.video-play-button {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	z-index: 10;
	transition: opacity 0.3s ease;
}

.video-play-button:hover {
	opacity: 0.8;
}

.video-play-button.playing {
	opacity: 0;
}

.video-play-button.playing:hover {
	opacity: 0.8;
}

.video-play-button svg {
	display: block;
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
}

/* ========================================
   CROSSSELL PRODUCTS (AFTER VIDEOS)
   ======================================== */

.crosssell-products-section {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid #e5e7eb;
}

.crosssell-title {
	font-size: 1.25rem;
	font-weight: 600;
	margin-bottom: 1rem;
	color: #111;
}

.crosssell-products-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.crosssell-product-item {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	transition: border-color 0.2s;
}

.crosssell-product-image {
	flex-shrink: 0;
	width: 20%;
	height: auto;
	overflow: hidden;
}

.crosssell-product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.crosssell-product-info {
	flex: 1;
	min-width: 0;
}

.crosssell-product-title {
	display: block;
	font-family: 'Playfair Display', serif;
	font-size: 1.2rem;
	font-weight: 500;
	color: #111;
	text-decoration: none;
	letter-spacing: -0.05em;
	margin-bottom: 0.25rem;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.crosssell-product-title:hover {
	text-decoration: underline;
}

.crosssell-product-rating {
	margin-bottom: 0.2rem;
	line-height: 1;
}

.crosssell-product-rating .rating-stars {
	display: flex;
	gap: 2px;
	line-height: 1;
}

.crosssell-product-rating .star {
	font-size: 14px;
	line-height: 1;
}

.crosssell-product-rating .star.filled {
	color: #d5a676;
}

.crosssell-product-rating .star.empty {
	color: #d1d5db;
}

.crosssell-product-price {
	font-size: 0.875rem;
	font-weight: 300;
	color: #111;
}

.crosssell-add-to-cart {
	flex-shrink: 0;
	padding: 0.5rem 1rem;
	background: #000;
	color: #fff;
	font-size: 0.875rem;
	font-weight: 500;
	cursor: pointer;
	transition: background 0.2s;
	min-width: 70px;
	border: 2px solid #000;
}

.crosssell-add-to-cart:hover {
	background: transparent;
	color: #000;
	border: 2px solid #000;
}

.crosssell-add-to-cart.loading {
	opacity: 0.6;
	cursor: wait;
}

.crosssell-add-to-cart.added {
	background: #000;
}

/* ==== PRODUCT DESCRIPTION ACCORDION ==== */
.product-description-section {
	margin-top: 2rem;
}

.product-description-title {
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: 1.5rem;
	color: #111;
}

.product-description-accordion {
	display: flex;
	flex-direction: column;
}

.accordion-item {
	border-bottom: 1px solid #e5e7eb;
	overflow: hidden;
	transition: all 0.2s;
}

.accordion-item.active {
	border-color: #000;
}

.accordion-header {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1rem 1.25rem 1rem 0;
	background: #fff;
	border: none;
	cursor: pointer;
	text-align: left;
	transition: background 0.2s;
}

.accordion-header:hover {
	background: transparent;
}

.accordion-title {
	font-size: 1rem;
	font-weight: 600;
	color: #111;
}

.accordion-icon {
	flex-shrink: 0;
	transition: transform 0.3s;
	color: #666;
}

.accordion-item.active .accordion-icon {
	transform: rotate(180deg);
	color: #000;
}

.accordion-content {
	display: none;
	background: #fff;
}

.accordion-content-inner {
	padding: 1rem 1.25rem 1.5rem 0;
	color: #374151;
	line-height: 1.7;
}

.accordion-content-inner h1,
.accordion-content-inner h2,
.accordion-content-inner h3,
.accordion-content-inner h4 {
	margin-top: 1rem;
	margin-bottom: 0.75rem;
	font-weight: 600;
	color: #111;
}

.accordion-content-inner p {
	margin-bottom: 0.75rem;
}

.accordion-content-inner ul,
.accordion-content-inner ol {
	margin-left: 1.5rem;
	margin-bottom: 0.75rem;
}

.accordion-content-inner li {
	margin-bottom: 0.5rem;
}

.accordion-content-inner a {
	color: #2563eb;
	text-decoration: underline;
}

.accordion-content-inner a:hover {
	color: #1d4ed8;
}

.custom-video-container button:hover {
	background-color: transparent;
}

.product-videos-swiper .swiper-button-prev,
.product-videos-swiper .swiper-button-next {
	width: 20px;
	height: 20px;
	background-color: white;
	border-radius: 50%;
}

.product-videos-swiper .swiper-button-prev::after,
.product-videos-swiper .swiper-button-next::after {
	font-size: 10px;
	color: #000;
	font-weight: bold;
}

/* ========================================
   PAYMENT ICONS SECTION
   ======================================== */

.payment-icons-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
}

.payment-icon-item {
	flex-shrink: 0;
}

.payment-icon-item img {
	height: 20px;
	width: auto;
	object-fit: contain;
	filter: grayscale(100%);
	opacity: 0.7;
	transition: all 0.3s ease;
}

.payment-icon-item img:hover {
	filter: grayscale(0%);
	opacity: 1;
}

/* ========================================
   SIZE GUIDE
   ======================================== */

.size-guide-wrapper {
	margin-top: 1rem;
	margin-bottom: 1.5rem;
}

.size-guide-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0;
	font-size: 10px;
	color: black;
	cursor: pointer;
	transition: color 0.3s ease;
}

.size-guide-toggle:hover {
	color: #000;
}

.size-guide-toggle::before {
	content: '';
	display: inline-block;
	transition: transform 0.3s ease;
	background-image: url('../../images/ruler.svg');
	width: 25px;
	height: 25px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	margin-right: 8px;
	vertical-align: middle;
	/* Fallback jeśli SVG nie zadziała */
	background-color: #ddd;
	border-radius: 2px;
}

.size-guide-content {
	margin-top: 1rem;
	padding: 1.5rem;
	background: #f9f9f9;
	border: 1px solid #e5e5e5;
	border-radius: 4px;
}

.size-guide-content table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 1rem;
}

.size-guide-content table th,
.size-guide-content table td {
	padding: 0.75rem;
	text-align: left;
	border: 1px solid #ddd;
}

.size-guide-content table th {
	background: #f5f5f5;
	font-weight: 600;
}

.size-guide-content p {
	margin-bottom: 0.75rem;
	line-height: 1.6;
}

/* ========================================
   ADD TO CART FORM
   ======================================== */

.cart {
	margin-bottom: 2rem;
}

.cart .quantity {
	margin-right: 1rem;
}

.cart .quantity input.qty {
	width: 80px;
	height: 48px;
	text-align: center;
	border: 1px solid #ddd;
	font-size: 1rem;
}

/* ========================================
   PRODUCT META
   ======================================== */

.product_meta {
	padding-top: 1.5rem;
	border-top: 1px solid #eee;
	margin-top: 1.5rem;
	font-size: 0.875rem;
}

.product_meta > span {
	display: block;
	margin-bottom: 0.5rem;
}

.product_meta a {
	color: #666;
	text-decoration: none;
}

.product_meta a:hover {
	color: var(--theme-accent);
}

/* ========================================
   TABS (DESCRIPTION, REVIEWS)
   ======================================== */

.woocommerce-tabs {
	margin-top: 3rem;
	margin-bottom: 3rem;
}

.woocommerce-tabs .tabs {
	display: flex;
	border-bottom: 2px solid #eee;
	list-style: none;
	padding: 0;
	margin: 0 0 2rem 0;
	gap: 2rem;
}

.woocommerce-tabs .tabs li {
	margin: 0;
}

.woocommerce-tabs .tabs li a {
	display: block;
	padding: 1rem 0;
	text-decoration: none;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: #666;
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	transition: all 0.3s ease;
}

.woocommerce-tabs .tabs li.active a,
.woocommerce-tabs .tabs li a:hover {
	color: #000;
	border-bottom-color: var(--theme-accent);
}

.woocommerce-tabs .panel {
	padding: 0;
}

/* ========================================
   RELATED PRODUCTS
   ======================================== */

.related-products-section {
	margin-top: 4rem;
}

.related-products-section h2 {
	font-size: 32px;
	font-weight: 400;
	letter-spacing: -0.05em;
}

/* Hide default related products if any */
.related.products {
	display: none;
}

/* ========================================
   RESPONSIVE
   ======================================== */

@media (max-width: 767px) {
	.product_title.entry-title {
		font-size: 1.75rem;
	}

	.summary .price {
		font-size: 1.5rem;
	}
}

table.variations {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

table.variations .variation-color-button {
	border: none;
	background-color: white;
	padding: 3px;
}

table.variations .variation-color-button .color-swatch {
	border: none;
	box-shadow:
		0 0 0 2px white,
		0 0 0 4px #bababa;
}

span.color-name {
	display: none;
}

.variation-color-button.selected .color-swatch {
	box-shadow:
		0 0 0 2px white,
		0 0 0 4px #000 !important;
}

.variation-color-button.selected,
button.selected,
a:focus {
	outline: none !important;
}

.reset_variations {
	margin-left: 0 !important;
	padding-top: 5px;
	font-size: 10px;
}

.variations label {
	font-size: 10px;
	font-weight: 300;
}

.size-guide-wrapper {
	margin-top: 0;
}

.woocommerce-variation-add-to-cart {
	padding-top: 0 !important;
}

.quantity .input-text {
	height: 40px !important;
	width: 50px !important;
}

#newsletter-close-btn {
	z-index: 100;
}

/* .recently-viewed-section,
.ratings-reviews-section{
	position: relative;
	z-index: -1 !important;
} */

button.single_add_to_cart_button,
button.universal-one-click-btn {
	height: 48px !important;
	background-color: #000000 !important;
	font-size: 14px !important;
	border-radius: 0 !important;
	font-weight: 300 !important;
	color: white !important;
	text-transform: uppercase !important;
	padding: 9px 30px !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	justify-content: center !important;
	width: 100% !important;
	margin-top: 10px !important;
	letter-spacing: 0.05em !important;
}

button.single_add_to_cart_button::after {
	content: '';
	display: inline-block;
	width: 18px;
	height: 18px;
	background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="2"%3E%3Cpath stroke-linecap="round" stroke-linejoin="round" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"/%3E%3C/svg%3E');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

button.single_add_to_cart_button.jetlagz-coupon-add-to-cart-pulse {
	animation: jetlagzAddToCartCouponPulse 0.8s ease-in-out 2;
}

@keyframes jetlagzAddToCartCouponPulse {
	0%,
	100% {
		transform: scale(1);
		box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
	}
	50% {
		transform: scale(1.02);
		box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.08);
	}
}

.summary button.disabled {
	opacity: 1 !important;
}

.universal-one-click-wrapper {
	display: none !important;
}

.single-product div.product form.cart {
	margin-bottom: 0 !important;
}

/* Tablet (768-1023px) - force default WooCommerce layout */
@media (min-width: 768px) and (max-width: 1023px) {
	.single-product div.product .woocommerce-product-gallery {
		width: 100% !important;
		display: block !important;
	}

	.single-product div.product .summary {
		width: 100% !important;
		display: block !important;
	}

	/* Force default WooCommerce gallery wrapper */
	.woocommerce-product-gallery__wrapper {
		display: block !important;
	}
}

/* Desktop only (1024px+) - custom grid layout */
@media (min-width: 1024px) {
	.product-main-wrapper {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 2%;
		width: 100%;
		margin-bottom: 3rem;
	}

	.product-main-wrapper > .woocommerce-product-gallery {
		width: 46%;
		flex-shrink: 0;
	}

	.product-main-wrapper > .summary.entry-summary {
		width: 42%;
		flex-shrink: 0;
	}

	.product-main-wrapper.is-sticky-summary > .summary.entry-summary,
	.product-main-wrapper.is-sticky-gallery > .woocommerce-product-gallery {
		position: sticky;
		top: 20px;
		align-self: flex-start;
	}

	.single-product div.product .woocommerce-product-gallery {
		width: 46%;
	}

	.single-product div.product .summary {
		width: 42%;
	}
	/* 
	button.single_add_to_cart_button,
	button.universal-one-click-btn {
		width: auto !important;
	} */
}

@media (max-width: 1023px) {
	.product-main-wrapper {
		display: block !important;
	}

	.product-main-wrapper > .woocommerce-product-gallery,
	.product-main-wrapper > .summary.entry-summary {
		width: 100% !important;
	}

	.product-main-wrapper.is-sticky-summary > .summary.entry-summary,
	.product-main-wrapper.is-sticky-gallery > .woocommerce-product-gallery {
		position: static;
		top: auto;
	}
}

/* Mobile - no custom modifications, use default WooCommerce gallery */

/* Custom Product Gallery Layout for Desktop (1024px+) - Grid without slider */
@media (min-width: 1024px) {
	/* Reserve space for gallery to prevent layout shift */
	.woocommerce-product-gallery {
		min-height: 1000px !important;
	}

	/* Wrapper for gallery + summary only - enables sticky without breaking layout */
	.single-product div.product > .woocommerce-product-gallery,
	.single-product div.product > .summary {
		display: inline-block;
		vertical-align: top;
	}

	/* CRITICAL: Override FlexSlider inline styles with extreme specificity */
	.woocommerce div.product div.images .flex-viewport,
	.woocommerce-product-gallery .flex-viewport,
	div.flex-viewport {
		overflow: visible !important;
		max-height: none !important;
		height: auto !important;
		transition: none !important;
		transform: none !important;
	}

	.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
	.woocommerce-product-gallery__wrapper,
	div.woocommerce-product-gallery__wrapper {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 2px !important;
		width: 100% !important;
		transform: none !important;
		transition: none !important;
	}

	/* First image - full width on top */
	.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child {
		grid-column: 1 / -1 !important;
		width: 100% !important;
	}

	/* All images visible */
	.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
		display: block !important;
		opacity: 1 !important;
		position: relative !important;
		width: 100% !important;
		margin: 0 !important;
		aspect-ratio: 3/4 !important;
		min-height: 200px !important;
		background: #f5f5f5 !important;
	}

	/* First image gets different aspect ratio for full width */
	.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child {
		aspect-ratio: 3/4 !important;
		min-height: 400px !important;
	}

	.woocommerce-product-gallery__image img {
		width: 100% !important;
		height: 100% !important;
		display: block !important;
		object-fit: cover !important;
	}

	/* Hide slider controls */
	.woocommerce-product-gallery .flex-control-nav,
	.woocommerce-product-gallery .flex-direction-nav {
		display: none !important;
	}
}

/* Hide quantity selector - user can change in cart */
.single-product div.product form.cart .quantity {
	display: none !important;
}

.single-product div.product p.price {
	margin-bottom: 10px !important;
}

.woocommerce-tabs .tabs {
	display: block;
}

.entry-content p {
	font-weight: 300;
	color: black;
}

.woocommerce-tabs ul.tabs {
	border-top: none;
	border-bottom: none;
}

.woocommerce-tabs .tabs li.active a,
.woocommerce-tabs .tabs li a:hover {
	border-bottom-color: #000;
}

.product-videos-swiper .swiper-button-next {
	right: 32px !important;
	top: 50% !important;
}

.product-videos-swiper .swiper-button-prev {
	left: 5px;
	top: 50% !important;
}

/* Gallery slider opacity - only for mobile and tablet (default WooCommerce slider) */
@media (max-width: 1023px) {
	.woocommerce-product-gallery__image {
		opacity: 0 !important;
	}

	.woocommerce-product-gallery__image.flex-active-slide {
		opacity: 1 !important;
	}
}

.pswp__caption__center {
	display: none;
}

/* ========================================
   PRODUCT REVIEWS SECTION
   ======================================== */

/* Enable smooth scrolling for anchor links */
html {
	scroll-behavior: smooth;
}

.product-reviews-section {
	margin-top: 3rem;
	padding: 2rem;
	background: #f9fafb;
	border-radius: 12px;
	scroll-margin-top: 100px; /* Offset for fixed headers */
}

.product-reviews-title {
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: 1.5rem;
	color: #111827;
}

/* Hide the review submission form (customers can't add reviews) */
#respond,
#review_form_wrapper,
.comment-respond,
.product-reviews-section .comment-form {
	display: none !important;
}

/* ========================================
   RATINGS & REVIEWS SECTION - Modern Design
   ======================================== */

.ratings-reviews-section {
	padding: 4rem 0;
	margin-top: 3rem;
	opacity: 0;
	visibility: hidden;
	transition:
		opacity 0.3s ease,
		visibility 0.3s ease;
}

.ratings-reviews-section.loaded {
	opacity: 1;
	visibility: visible;
}

.reviews-container {
	margin: 0 auto;
}

@media (min-width: 640px) {
	.reviews-container {
		display: flex;
		gap: 1rem;
		justify-content: space-between;
		flex-wrap: wrap;
	}
}

/* ========================================
   LEFT COLUMN - RATING SUMMARY
   ======================================== */

.reviews-summary {
	background: white;
	height: fit-content;
	position: sticky;
	top: 100px;
}

.overall-rating {
	text-align: center;
	padding-bottom: 2rem;
	margin-bottom: 2rem;
}

.score-number {
	font-size: 72px;
	font-weight: 700;
	line-height: 1;
	color: #111827;
	letter-spacing: -0.02em;
}

@media (min-width: 1280px) {
	.score-number {
		font-size: 180px;
	}

	.reviews-container {
		gap: 4rem;
	}
}

.score-max {
	font-size: 32px;
	color: #9ca3af;
	font-weight: 400;
	margin-left: 0.25rem;
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-end;
}

.rating-subtitle {
	font-size: 14px;
	color: #6b7280;
	font-weight: 500;
	text-align: left;
	display: flex;
	align-items: flex-end;
	padding-bottom: 5px;
	padding-left: 5px;
}

/* Rating Breakdown */
.rating-breakdown {
	display: flex;
	flex-direction: column;
	gap: 3px;
	width: 100%;
}

.rating-bar-item {
	display: grid;
	grid-template-columns: 60px 1fr 40px;
	align-items: center;
	gap: 1rem;
	cursor: pointer;
	padding: 5px 10px;
	border-radius: 4px;
	transition: background-color 0.2s ease;
}

.rating-bar-item.active {
	background: #fef3c7;
}

.rating-stars {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 14px;
}

.rating-stars .star {
	color: #fbbf24;
	font-size: 16px;
}

.rating-stars .rating-number {
	color: #111827;
	font-weight: 600;
	font-size: 14px;
}

.rating-bar {
	height: 8px !important;
	background: #e5e7eb;
	border-radius: 999px;
	overflow: hidden;
	position: relative;
	min-width: 100px;
}

.rating-breakdown .rating-bar-fill,
.rating-bar-fill {
	height: 8px !important;
	min-height: 8px !important;
	background: linear-gradient(90deg, #fbbf24 0%, #f59e0b 100%) !important;
	background-color: #fbbf24 !important;
	border-radius: 999px;
	transition: width 0.3s ease;
	display: block !important;
	position: absolute;
	top: 0;
	left: 0;
}

.rating-count {
	color: #6b7280;
	font-weight: 500;
	text-align: right;
}

/* ========================================
   RIGHT COLUMN - REVIEWS LIST
   ======================================== */

.reviews-list-container {
	min-width: 0;
	width: 100%;
}

.reviews-controls {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 2rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid #e5e7eb;
}

.reviews-filter {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.reviews-filter label {
	font-size: 14px;
	color: #6b7280;
	font-weight: 500;
}

.reviews-sort-select {
	padding: 0.625rem 2.5rem 0.625rem 1rem;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	font-size: 14px;
	color: #111827;
	background: white;
	cursor: pointer;
	transition: all 0.2s ease;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='https://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
}

.reviews-sort-select:hover {
	border-color: #9ca3af;
}

/* Review Cards */
.reviews-swiper {
	position: relative;
	overflow: hidden;
	width: 100%;
}

.reviews-swiper .swiper-wrapper {
	display: flex;
	width: auto;
}

.reviews-swiper .swiper-slide {
	height: auto;
	display: flex;
	flex-shrink: 0;
	box-sizing: border-box;
	width: 100% !important;
	min-width: 100% !important;
}

.review-card {
	background: white;
	padding: 2rem;
	border-radius: 12px;
	box-shadow: 0 1px 8px rgba(0, 0, 0, 0.04);
	transition: all 0.2s ease;
	border: 1px solid #f3f4f6;
	width: 100%;
	display: flex;
	flex-direction: column;
}

.review-card:hover {
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
	border-color: #e5e7eb;
}

.review-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 1rem;
}

.review-author-info {
	display: flex;
	gap: 1rem;
	align-items: center;
}

.review-avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid #f3f4f6;
}

.review-author-details {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
}

.review-author-name {
	font-size: 16px;
	font-weight: 600;
	color: #111827;
	margin: 0;
	line-height: 1.2;
}

.review-rating {
	display: flex;
	gap: 3px;
	font-size: 14px;
}

.review-rating .star.filled {
	color: #d5a676;
}

.review-rating .star.empty {
	color: #e5e7eb;
}

.review-date {
	font-size: 13px;
	color: #9ca3af;
	font-weight: 500;
}

.review-content {
	position: relative;
}

.review-content p {
	font-size: 15px;
	line-height: 1.7;
	color: #374151;
	margin: 0;
}

.review-content.has-read-more p {
	max-height: 4.5em;
	overflow: hidden;
	position: relative;
}

.review-content.has-read-more.expanded p {
	max-height: none;
}

.review-content.has-read-more:not(.expanded) p::after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 1.5em;
	background: linear-gradient(to bottom, transparent, white);
	pointer-events: none;
}

.read-more-toggle {
	color: #111827;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	margin-top: 0.5rem;
	display: inline-block;
	transition: color 0.2s ease;
}

/* Review Images */
.review-images {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 1rem;
}

.review-image-link {
	display: block;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid #e5e7eb;
	transition: all 0.2s ease;
	max-width: 120px;
}

.review-image-link:hover {
	border-color: #111827;
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.yith-wcwl-add-to-wishlist-button {
	padding-left: 0 !important;
	padding-top: 0 !important;
}

.crosssell-add-to-cart {
}

.feature-title strong {
	font-weight: 600 !important;
}

.review-image {
	width: 100%;
	height: 120px;
	object-fit: cover;
	display: block;
}

.read-more-toggle:hover {
	color: #000;
}

/* Load More Button */
.reviews-load-more {
	text-align: center;
	margin-top: 2.5rem;
}

.load-more-btn {
	padding: 1rem 2.5rem;
	background: white;
	border: 2px solid #111827;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 600;
	color: #111827;
	cursor: pointer;
	transition: all 0.2s ease;
}

.load-more-btn:hover:not(:disabled) {
	background: #111827;
	color: white;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.load-more-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* Reviews Swiper Navigation */
.reviews-swiper .reviews-slider-prev,
.reviews-swiper .reviews-slider-next {
	position: absolute;
	width: 44px;
	height: 44px;
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 10;
	transition: all 0.2s ease;
	bottom: 0 !important;
	top: auto !important;
	padding-top: 20px;
}

.reviews-slider-prev {
	right: 130px;
	left: auto;
}

.reviews-slider-next {
	right: 0;
	left: auto;
}

.reviews-slider-prev::after,
.reviews-slider-next::after {
	font-family: 'swiper-icons';
	font-size: 20px;
	font-weight: 900;
	color: black;
}

.reviews-slider-prev.swiper-button-disabled,
.reviews-slider-next.swiper-button-disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

.reviews-slider-pagination {
	margin-top: 2rem;
	position: relative;
	text-align: center;
}

.reviews-slider-pagination .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background: #d1d5db;
	opacity: 1;
	transition: all 0.2s ease;
}

.reviews-slider-pagination .swiper-pagination-bullet-active {
	background: #111827;
	width: 24px;
	border-radius: 5px;
}

/* No Reviews State */
.no-reviews {
	text-align: center;
	padding: 4rem 2rem;
	background: white;
	border-radius: 12px;
	box-shadow: 0 1px 8px rgba(0, 0, 0, 0.04);
}

.no-reviews p {
	font-size: 16px;
	color: #6b7280;
	margin: 0;
}

/* ========================================
   SKELETON LOADER
   ======================================== */

.review-skeleton {
	background: white;
	padding: 2rem;
	border-radius: 12px;
	box-shadow: 0 1px 8px rgba(0, 0, 0, 0.04);
	border: 1px solid #f3f4f6;
	margin-bottom: 1.5rem;
}

.skeleton-header {
	display: flex;
	gap: 1rem;
	margin-bottom: 1rem;
}

.skeleton-avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: linear-gradient(90deg, #f3f4f6 25%, #e5e7eb 50%, #f3f4f6 75%);
	background-size: 200% 100%;
	animation: skeleton-loading 1.5s ease-in-out infinite;
}

.skeleton-author {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.skeleton-line {
	height: 16px;
	background: linear-gradient(90deg, #f3f4f6 25%, #e5e7eb 50%, #f3f4f6 75%);
	background-size: 200% 100%;
	animation: skeleton-loading 1.5s ease-in-out infinite;
	border-radius: 4px;
}

.skeleton-line.short {
	width: 120px;
}

.skeleton-line.medium {
	width: 80px;
}

.skeleton-content {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

@keyframes skeleton-loading {
	0% {
		background-position: 200% 0;
	}
	100% {
		background-position: -200% 0;
	}
}

/* ========================================
   RESPONSIVE - MOBILE & TABLET
   ======================================== */

@media (max-width: 1023px) {
	.ratings-reviews-section {
		position: static !important;
		top: auto !important;
		transform: none !important;
	}

	.reviews-container {
		display: block !important;
	}

	.reviews-summary {
		position: static !important;
		top: auto !important;
		margin-bottom: 2rem;
		width: 100% !important;
		max-width: 100% !important;
	}

	.reviews-list {
		width: 100% !important;
	}
}

.yith-add-to-wishlist-button-block {
	position: absolute;
	right: 0;
	top: 0;
	margin-top: 0 !important;
}

.single-product div.product form.cart {
	padding-bottom: 0 !important;
}

@media (max-width: 768px) {
	.ratings-reviews-section {
		padding: 2.5rem 0;
	}

	.score-number {
		font-size: 56px;
	}

	.score-max {
		font-size: 24px;
	}

	.rating-bar-item {
		grid-template-columns: 55px 1fr 35px;
		gap: 0.75rem;
	}

	.review-card {
		padding: 1.5rem;
	}

	.review-header {
		flex-direction: column;
		gap: 1rem;
	}

	.review-date {
		align-self: flex-start;
	}

	.load-more-btn {
		width: 100%;
		padding: 1rem;
	}

	/* Reviews Swiper responsive */

	.reviews-slider-prev,
	.reviews-slider-next {
		width: 36px;
		height: 36px;
	}

	.reviews-slider-prev::after,
	.reviews-slider-next::after {
		font-size: 16px;
	}
}

@media (max-width: 480px) {
	.reviews-controls {
		flex-direction: column;
		align-items: stretch;
		gap: 1rem;
	}

	.reviews-filter {
		flex-direction: column;
		align-items: stretch;
	}

	.reviews-sort-select {
		width: 100%;
	}

	.rating-bar-item {
		grid-template-columns: 50px 1fr 30px;
		gap: 0.5rem;
	}

	.rating-stars .star {
		font-size: 12px;
	}

	.rating-stars .rating-number {
		font-size: 12px;
	}

	/* Hide arrows on small screens, keep only pagination */

	.reviews-slider-prev,
	.reviews-slider-next {
		display: none;
	}

	.reviews-swiper .swiper-slide {
		width: 100% !important;
		margin-right: 0 !important;
		flex-shrink: 0;
	}

	.reviews-swiper {
		width: 100% !important;
		overflow: hidden;
	}
}

.reviews-swiper .swiper-wrapper {
	margin-left: 0 !important;
}

/* ========================================
   ACCESSIBILITY
   ======================================== */

.rating-bar-item:focus-visible {
	outline: 2px solid #111827;
	outline-offset: 2px;
}

.reviews-sort-select:focus-visible {
	outline: 2px solid #111827;
	outline-offset: 2px;
}

.load-more-btn:focus-visible {
	outline: 2px solid #111827;
	outline-offset: 4px;
}

/* Screen reader only text */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0;
}

/* ========================================
   OLD REVIEWS SECTION - HIDDEN
   ======================================== */

/* Hide the review submission form (customers can't add reviews) */
#respond,
#review_form_wrapper,
.comment-respond,
.product-reviews-section .comment-form {
	display: none !important;
}

/* Style existing reviews */
.product-reviews-section .commentlist {
	list-style: none;
	padding: 0;
	margin: 0;
}

.product-reviews-section .comment,
.product-reviews-section .review {
	padding: 1.5rem;
	background: white;
	border-radius: 8px;
	margin-bottom: 1rem;
	border: 1px solid #e5e7eb;
}

.product-reviews-section .comment_container {
	display: flex;
	gap: 1rem;
}

.product-reviews-section .comment-text {
	flex: 1;
}

.product-reviews-section .star-rating {
	margin-bottom: 0.5rem;
}

.product-reviews-section .meta {
	font-size: 0.875rem;
	color: #6b7280;
	margin-bottom: 0.5rem;
}

.product-reviews-section .meta strong {
	color: #111827;
	font-weight: 600;
}

.product-reviews-section .description {
	color: #374151;
	line-height: 1.6;
}

.woocommerce-Reviews-title {
	display: none;
}

.comment_container img.avatar {
	display: none;
}

.newsletter-button-container {
	cursor: pointer !important;
}

.review-avatar {
	display: none;
}

.summary.entry-summary {
	position: relative;
}

.summary.entry-summary .storefront-wc-brands-single-product {
	position: absolute;
	right: 0;
	top: 0;
	pointer-events: none;
}

.summary.entry-summary .storefront-wc-brands-single-product a,
.summary.entry-summary .storefront-wc-brands-single-product img {
	pointer-events: auto;
}

.yith-add-to-wishlist-button-block.yith-add-to-wishlist-button-block--single,
.button.single_add_to_cart_button {
	/* margin-top: 10px !important; */
	/* margin-bottom: 10px !important; */
}

.yith-add-to-wishlist-button-block.yith-add-to-wishlist-button-block--single {
	margin-left: 10px;
}

@media (min-width: 640px) {
	.woocommerce-variation-add-to-cart {
		display: flex;
		align-items: center;
	}
}

/* ========================================
   RECENTLY VIEWED PRODUCTS SECTION
   ======================================== */

.recently-viewed-section h2 {
	color: #1f2937;
	font-weight: 600;
	line-height: 1.2;
}

.recently-viewed-section .slider-navigation {
	display: flex;
	gap: 8px;
}

.recently-viewed-section .slider-nav-btn {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid #d1d5db;
	background: white;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
	cursor: pointer;
	color: #6b7280;
}

.recently-viewed-section .slider-nav-btn:hover {
	background: #f3f4f6;
	border-color: #9ca3af;
	color: #374151;
}

.recently-viewed-section .slider-nav-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.recently-viewed-section .slider-nav-btn svg {
	width: 20px;
	height: 20px;
}

.recently-viewed-section .products-slider-wrapper {
	margin-top: 0;
}

.recently-viewed-section .swiper-slide {
	height: auto;
}

@media (max-width: 768px) {
	.recently-viewed-section .slider-navigation {
		display: none;
	}

	.recently-viewed-section h2 {
		font-size: 1.5rem;
		margin-bottom: 1.5rem;
	}
}

.reviews-swiper .reviews-slider-next {
	right: 35px !important;
}

.reviews-swiper .reviews-slider-prev {
	right: 70px !important;
}

.yith-wcwl-add-to-wishlist-button__label {
	display: none !important;
}

.storefront-wc-brands-single-product {
	display: none !important;
}

/* ========================================
   VARIATION REQUIRED MESSAGE
   ======================================== */

/* Make variations table position relative when message is shown */
table.variations.has-required-message,
.variations.has-required-message {
	position: relative;
}

.variation-required-message {
	position: absolute;
	top: -25px;
	left: 50px;
	right: 0;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	background: white;
	border: 1px solid #d6d6d6;
	border-radius: 8px;
	opacity: 0;
	transform: translateY(10px);
	transition: all 0.3s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	z-index: 100;
	width: fit-content;
}

.variation-required-message.visible {
	opacity: 1;
	transform: translateY(0);
	animation: messagePulse 0.6s ease-in-out 3;
}

.variation-required-message .message-text {
	font-size: 14px;
	font-weight: 300;
	color: #856404;
}

/* Pulse animation for the message */
@keyframes messagePulse {
	0%,
	100% {
		box-shadow: 0 2px 8px rgba(255, 193, 7, 0.2);
		transform: translateY(0) scale(1);
	}
	50% {
		box-shadow: 0 4px 20px rgba(255, 193, 7, 0.5);
		transform: translateY(0) scale(1.02);
	}
}

/* Bounce animation for the icon */
@keyframes iconBounce {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-3px);
	}
}

/* ========================================
   SALE & DISCOUNT BADGES (single product)
   ======================================== */

/* Ensure gallery is positioned so badges can be anchored */
.woocommerce-product-gallery {
	position: relative;
}

/* Base style for the WooCommerce sale flash badge */
.single-product .woocommerce-product-gallery .onsale {
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
	right: auto;
	margin: 0;
	background-color: #dc2626;
	color: #fff;
	padding: 0.25rem 0.5rem;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	border-radius: 0;
	min-height: auto;
	line-height: 1.4;
	z-index: 10;
}

/* Discount percentage badge — sits directly below the SALE badge */
.single-product .woocommerce-product-gallery .onsale.discount-badge {
	top: calc(0.5rem + 1.4em + 0.5rem + 2px);
	background-color: #000;
}
