.woocommerce-Tabs-panel--description h2 {
	font-size: 28px;
	font-weight: 900;
	line-height: 2em;
}

.woocommerce-Tabs-panel--description h3 {
	font-size: 24px;
	font-weight: 800;
}

.woocommerce-Tabs-panel--description strong {
	font-size: 13px;
	font-weight: 500;
}

/**
 * WooCommerce Single Product Styles - ProTech Design
 * 
 * @package HelloElementor
 */

/* ============================================
   CSS Variables & Root Styles
   ============================================ */
:root {
	--primary-color: #13369D;
	--background-light: #FFFFFF;
	--background-dark: #111521;
	--secondary-bg: #F0F4FF;
	--text-primary: #1A1A1A;
	--text-secondary: #666666;
	--accent-star: #FFD700;
	--accent-success: #28A745;

	/* Gray Scale */
	--gray-50: #F9FAFB;
	--gray-100: #F3F4F6;
	--gray-200: #E5E7EB;
	--gray-300: #D1D5DB;
	--gray-400: #9CA3AF;
	--gray-500: #6B7280;
	--gray-600: #4B5563;
	--gray-700: #374151;
	--gray-800: #1F2937;
	--gray-900: #111827;

	/* Spacing */
	--spacing-1: 0.25rem;
	--spacing-2: 0.5rem;
	--spacing-3: 0.75rem;
	--spacing-4: 1rem;
	--spacing-6: 1.5rem;
	--spacing-8: 2rem;
	--spacing-10: 2.5rem;
	--spacing-12: 3rem;
	--spacing-16: 4rem;

	/* Border Radius */
	--radius-sm: 0.25rem;
	--radius-md: 0.5rem;
	--radius-lg: 0.75rem;
	--radius-xl: 1rem;
	--radius-full: 9999px;

	/* Font Family */
	--font-display: "IRANYekan", "Tahoma", "Arial", sans-serif;
}

/* ============================================
   Reset & Base Styles
   ============================================ */
.woocommerce-page.single-product {
	direction: rtl;
	font-family: var(--font-display);
}

.woocommerce-page.single-product *,
.woocommerce-page.single-product *::before,
.woocommerce-page.single-product *::after {
	font-family: var(--font-display);
	box-sizing: border-box;
}

/* ============================================
   Material Icons
   ============================================ */
.material-symbols-outlined {
	font-variation-settings:
		'FILL' 0,
		'wght' 400,
		'GRAD' 0,
		'opsz' 24;
	font-feature-settings: 'liga';
	font-family: 'Material Symbols Outlined' !important;
	font-weight: normal !important;
	font-style: normal !important;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	display: inline-block;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	-webkit-font-feature-settings: 'liga';
	-webkit-font-smoothing: antialiased;
}

/* ============================================
   Layout Container
   ============================================ */
.woocommerce-page.single-product .site-main {
	max-width: 100%;
	padding: 0;
	margin: 0;
}

.woocommerce-product-page-wrapper {
	position: relative;
	min-height: 100vh;
	width: 100%;
	overflow-x: hidden;
}

.layout-content-container {
	margin-left: auto;
	margin-right: auto;
	max-width: 80rem;
	/* 1280px */
	padding: 2rem 1rem;
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

@media (min-width: 640px) {
	.layout-content-container {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
}

@media (min-width: 1024px) {
	.layout-content-container {
		padding-left: 2.5rem;
		padding-right: 2.5rem;
	}
}

/* ============================================
   Breadcrumb
   ============================================ */
.woocommerce-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 0;
	padding: 0;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.5;
}

.woocommerce-breadcrumb a {
	color: var(--text-secondary);
	text-decoration: none;
	transition: color 0.15s ease;
}

.woocommerce-breadcrumb a:hover {
	color: var(--primary-color);
}

.woocommerce-breadcrumb .separator {
	color: var(--text-secondary);
	margin: 0 0.25rem;
}

.woocommerce-breadcrumb .current {
	color: var(--text-primary);
}

/* ============================================
   Main Product Grid Layout
   ============================================ */
.single-product-main-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}

@media (min-width: 1024px) {
	.single-product-main-grid {
		grid-template-columns: repeat(10, minmax(0, 1fr));
		gap: 3rem;
	}
}

.single-product-content {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

@media (min-width: 1024px) {
	.single-product-content {
		grid-column: span 7 / span 7;
	}
}

.single-product-sidebar {
	display: block;
}

@media (min-width: 1024px) {
	.single-product-sidebar {
		grid-column: span 3 / span 3;
		position: relative;
	}

	/* استیکی کردن خود باکس سایدبار روی دسکتاپ (داخل ستون) */
	.single-product-sidebar .sidebar-wrapper {
		position: sticky;
		top: 0;
		/* دقیقاً به بالای ستون/ویوپورت می‌چسبد */
	}
}

/* ============================================
   Product Features Section
   ============================================ */
.product-features-section {
	background-color: transparent;
}

.product-features-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
}

@media (min-width: 640px) {
	.product-features-grid {
		gap: 1.25rem;
	}
}

.product-feature-card {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 0.75rem;
	padding: 0.75rem;
	border-radius: 0.75rem;
	background-color: transparent;
	justify-content: center;
	text-align: center;
}

@media (min-width: 640px) {
	.product-feature-card {
		flex-direction: row;
		justify-content: flex-start;
		text-align: right;
	}
}

.product-feature-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 0.75rem;
	background-color: var(--secondary-bg);
	color: var(--primary-color);
	flex-shrink: 0;
}

.product-feature-icon .material-symbols-outlined {
	font-size: 1.75rem;
}

.product-feature-text h4 {
	font-size: 0.95rem;
	font-weight: 700;
	margin: 0;
	color: var(--text-primary);
}

.product-feature-text p {
	font-size: 0.8rem;
	color: var(--text-secondary);
	margin: 0.2rem 0 0;
	display: none;
}

@media (min-width: 640px) {
	.product-feature-text p {
		display: block;
	}
}

/* ============================================
   Product Data Tabs (Description / Specs / Reviews)
   ============================================ */
.woocommerce-tabs {
	margin-top: 0px;
}

.woocommerce-tabs ul.wc-tabs {
	display: flex;
	gap: 2rem;
	border-bottom: 1px solid var(--gray-200);
	margin: 0;
	padding: 0;
	list-style: none;
}

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

.woocommerce-tabs ul.wc-tabs li a {
	display: inline-block;
	padding: 1rem 0.25rem;
	border-bottom: 2px solid transparent;
	font-weight: 600;
	font-size: 1rem;
	color: var(--text-secondary);
	text-decoration: none;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.woocommerce-tabs ul.wc-tabs li.active a {
	color: var(--primary-color);
	border-color: var(--primary-color);
}

.woocommerce-tabs ul.wc-tabs li a:hover {
	color: #111827;
	border-color: var(--gray-300);
}

.woocommerce-Tabs-panel {
	padding-top: 2rem;
}

/* ============================================
   Product Description Typography (Content Tab)
   ============================================ */
.woocommerce-Tabs-panel--description {
	line-height: 3.5em;
	background-color: #ffffff;
	border-radius: 1rem;
	border: 1px solid rgba(148, 163, 184, 0.35);
	padding: 1.75rem 1.75rem 2rem;
	margin-top: 1.5rem;
}

.woocommerce-Tabs-panel--description img {
	border-radius: 40px;
}

.woocommerce-Tabs-panel--description p {
	font-size: 14px;
	font-weight: 400;
	line-height: 2.4em;
}

.woocommerce-Tabs-panel--description a {
	color: #b79191;
}





.woocommerce-Tabs-panel--description li {
	font-size: 16px;
	line-height: 2.5em;
}

/* Collapsible tabs (specs & description) */
.woocommerce-Tabs-panel--additional_information,
.woocommerce-Tabs-panel--description {
	position: relative;
}

.tab-collapsible-inner {
	position: relative;
	transition: max-height 0.3s ease;
}

.is-collapsed .tab-collapsible-inner::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 96px;
	background: linear-gradient(to top, #ffffff, rgba(255, 255, 255, 0));
	pointer-events: none;
}

.tab-toggle-more {
	margin: 1.5rem auto 0;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.5rem 1rem;
	border-radius: 999px;
	border: 1px solid rgba(59, 130, 246, 0.25);
	background-color: rgba(59, 130, 246, 0.04);
	color: var(--primary-color);
	font-size: 0.85rem;
	font-weight: 600;
	cursor: pointer;
}

.tab-toggle-more .tab-toggle-icon {
	font-size: 18px;
}

/* Related products by price */
.related-products-section {
	margin-top: 0px;
}

.related-by-price-wrapper {
	border-radius: 1rem;
	border: 1px solid rgba(148, 163, 184, 0.35);
	padding: 1.75rem 1.75rem 2rem;
	background-color: #ffffff;
}

.related-by-price-title {
	font-size: 1.3rem;
	font-weight: 800;
	margin: 0 0 1rem;
}

.related-by-price-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 1rem;
	align-items: stretch;
}

.related-by-price-card {
	border-radius: 0.75rem;
	border: 1px solid rgba(148, 163, 184, 0.35);
	background-color: #ffffff;
	padding: 0.9rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	height: 100%;
	box-shadow: 0 10px 25px rgba(15, 23, 42, 0.05);
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.related-by-price-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.related-by-price-card.is-current {
	border-color: var(--primary-color);
	background-color: rgba(59, 130, 246, 0.04);
}

.related-by-price-image-link img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0.5rem;
	object-fit: cover;
}

.related-by-price-name-container {
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
	max-height: 1.5em;
	/* Fixed height for one line */
	overflow: hidden;
	transition: max-height 0.5s ease-in-out, margin-bottom 0.5s ease-in-out;
}

.related-by-price-name {
	font-size: 0.95rem;
	font-weight: 600;
	margin: 0;
	line-height: 1.5;
	text-align: center;
	color: #000000;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	display: block;
	transition: white-space 0.3s ease-in-out;
}

.related-by-price-name a {
	color: #000000;
	text-decoration: none;
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	transition: color 0.2s ease-in-out, white-space 0.3s ease-in-out;
}

.related-by-price-name a:hover {
	color: var(--primary-color);
}

/* Show full title on card hover with smooth animation */
.related-by-price-card:hover .related-by-price-name-container {
	max-height: 6em;
	/* Allow up to 4 lines */
	margin-bottom: 0.5rem;
	overflow: visible;
}

.related-by-price-card:hover .related-by-price-name,
.related-by-price-card:hover .related-by-price-name a {
	white-space: normal;
	overflow: visible;
	text-overflow: clip;
}

.related-by-price-meta {
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--text-primary);
	text-align: center;
}

.related-by-price-price-row {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 0.4rem;
	margin-top: 0.35rem;
}

.related-by-price-regular {
	font-size: 0.8rem;
	color: var(--text-secondary);
	text-decoration: line-through;
	opacity: 0.85;
}

.related-by-price-discount-badge {
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 2px 8px;
	border-radius: 999px;
	background-color: rgba(220, 38, 38, 0.95);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 600;
}

.related-by-price-image-link {
	position: relative;
	display: block;
}

.related-by-price-current-pill {
	position: absolute;
	bottom: 0.5rem;
	right: 0.5rem;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 2px 10px;
	border-radius: 999px;
	background-color: rgba(59, 130, 246, 0.95);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 600;
}

.related-by-price-add-to-cart {
	margin-top: 0;
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	padding: 0.5rem 0.9rem;
	border-radius: 999px;
	background-color: var(--primary-color);
	color: #fff;
	font-size: 0.85rem;
	font-weight: 600;
	border: none;
	cursor: pointer;
	transition: background-color 0.18s ease, transform 0.12s ease;
}

.related-by-price-add-to-cart:hover {
	background-color: #1d4ed8;
	transform: translateY(-1px);
}

.related-by-price-add-to-cart .material-symbols-outlined {
	font-size: 18px;
}

.related-by-price-footer {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-top: auto;
}

/* Currency symbol styling inside related product price */
.related-by-price-meta .woocommerce-Price-currencySymbol {
	display: inline !important;
	font-size: 0.8em;
	margin-left: 0.15rem;
}

/* Force SVG size to 16px in related product cards to override inline styles */
.related-by-price-price-row svg {
	width: 16px !important;
	height: 16px !important;
}

.related-by-price-meta .woocommerce-Price-amount,
.related-by-price-meta .woocommerce-Price-amount bdi {
	font-weight: 700;
}

.related-by-price-current-label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 2px 10px;
	border-radius: 999px;
	background-color: rgba(59, 130, 246, 0.07);
	color: var(--primary-color);
	font-size: 0.75rem;
	font-weight: 600;
	margin-top: 0.25rem;
}

.related-products-loading {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--text-secondary);
	font-size: 0.9rem;
}

/* Mobile carousel behavior for related products */
@media (max-width: 768px) {
	.related-by-price-wrapper {
		overflow: hidden;
	}

	.related-by-price-grid {
		display: flex;
		overflow-x: auto;
		gap: 1rem;
		scroll-snap-type: x mandatory;
		padding-left: 1rem;
		padding-right: 1rem;
		padding-bottom: 0.75rem;
		-webkit-overflow-scrolling: touch;
		scroll-padding-left: 1rem;
		scroll-padding-right: 1rem;
	}

	.related-by-price-card {
		flex: 0 0 calc(85% - 0.5rem);
		min-width: calc(85% - 0.5rem);
		scroll-snap-align: center;
	}

	.related-by-price-card.is-current {
		scroll-margin-left: 1rem;
		scroll-margin-right: 1rem;
	}

	.related-by-price-grid::-webkit-scrollbar {
		display: none;
	}
}

/* Hide default "added_to_cart wc-forward" view-cart link on product pages */
.single-product .added_to_cart.wc-forward {
	display: none !important;
}

/* ============================================
   Reviews Tab Styling
   ============================================ */
.woocommerce-Tabs-panel--reviews {
	margin-top: 1.5rem;
	padding: 1.5rem 1.5rem 2rem;
	border-radius: 1rem;
	border: 1px solid rgba(148, 163, 184, 0.35);
	background-color: #ffffff;
}

.woocommerce-Tabs-panel--reviews #reviews #comments h2 {
	font-size: 1.2rem;
	font-weight: 700;
	margin-bottom: 1rem;
}

.woocommerce-Tabs-panel--reviews #reviews ol.commentlist {
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.woocommerce-Tabs-panel--reviews #reviews li {
	padding: 1rem 1.25rem;
	border-radius: 0.75rem;
	border: 1px solid rgba(148, 163, 184, 0.25);
	background-color: #f9fafb;
}

.woocommerce-Tabs-panel--reviews #reply-title {
	font-size: 1.1rem;
	font-weight: 700;
	margin-top: 2rem;
	margin-bottom: 0.75rem;
}

.woocommerce-Tabs-panel--reviews #review_form_wrapper {
	margin-top: 1.5rem;
}

.woocommerce-Tabs-panel--reviews #review_form #respond input[type="text"],
.woocommerce-Tabs-panel--reviews #review_form #respond input[type="email"],
.woocommerce-Tabs-panel--reviews #review_form #respond textarea {
	width: 100%;
	border-radius: 0.75rem;
	border: 1px solid rgba(148, 163, 184, 0.7);
	padding: 0.6rem 0.75rem;
	font-size: 0.9rem;
}

.woocommerce-Tabs-panel--reviews #review_form #respond input[type="submit"] {
	border-radius: 999px;
	padding: 0.6rem 1.8rem;
	background-color: var(--primary-color);
	color: #ffffff;
	font-weight: 600;
	border: none;
	cursor: pointer;
}

.woocommerce-Tabs-panel--reviews #review_form #respond input[type="submit"]:hover {
	background-color: #1f3fb0;
}

@media (max-width: 768px) {
	.woocommerce-Tabs-panel--description {
		line-height: 3em;
	}

	.woocommerce-Tabs-panel--description h2 {
		font-size: 18px;
		line-height: 2.2em;
	}

	.woocommerce-Tabs-panel--description h3 {
		font-size: 14px;
		line-height: 2.6em;
	}

	.woocommerce-Tabs-panel--description strong {
		font-size: 13px;
	}

	.woocommerce-Tabs-panel--description p {
		font-size: 13px;
		line-height: 3em;
	}

	.woocommerce-Tabs-panel--description ol {
		padding-left: 15px;
	}

	.woocommerce-Tabs-panel--description ul {
		padding-left: 15px;
	}

	.woocommerce-Tabs-panel--description li {
		font-size: 13px;
		line-height: 2em;
	}
}

/* Hide default H2 headings inside tabs (additional info / description) */
.woocommerce-Tabs-panel--additional_information>h2:first-child,
.woocommerce-Tabs-panel--description>h2:first-child {
	display: none;
	margin: 0;
}

/* Specs table → cards style */
.woocommerce table.shop_attributes {
	border-top: none;
}

.woocommerce-Tabs-panel .shop_attributes {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	margin: 0;
}

.woocommerce-Tabs-panel .shop_attributes tr {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem;
	border-radius: var(--radius-lg);
	background-color: var(--gray-50);
	margin-bottom: 0.75rem;
	border: 0 !important;
}

.woocommerce-Tabs-panel .shop_attributes th,
.woocommerce-Tabs-panel .shop_attributes td {
	padding: 0;
	background: transparent;
	border: 0 !important;
}

.woocommerce-Tabs-panel .shop_attributes th {
	color: var(--text-secondary);
	font-weight: 500;
	text-align: right;
	flex: 0 0 30%;
	white-space: nowrap;
}

.woocommerce-Tabs-panel .shop_attributes td {
	color: var(--text-primary);
	font-weight: 600;
	text-align: left;
	flex: 1 1 auto;
}

.woocommerce-Tabs-panel .shop_attributes th p,
.woocommerce-Tabs-panel .shop_attributes td p {
	margin: 0;
}

/* ============================================
   Product Specs Groups (Custom Attributes Tab)
   ============================================ */
.product-specs-groups {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.product-spec-group-header {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.product-spec-group-icon {
	font-size: 2rem;
	color: var(--primary-color);
}

.product-spec-group-icon-svg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.product-spec-group-icon-svg svg {
	width: 2rem;
	height: 2rem;
	fill: var(--primary-color);
}


.product-spec-group-title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--text-primary);
	margin: 0;
}

.product-spec-group-body {
	display: flex;
	flex-direction: column;
	border-radius: var(--radius-lg);
	border: 1px solid rgba(148, 163, 184, 0.35);
	overflow: hidden;
	background-color: #ffffff;
}

.product-spec-row {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	padding: 0.75rem 1rem;
	background-color: #ffffff;
	border-bottom: 1px solid rgba(148, 163, 184, 0.25);
}

.product-spec-row:last-child {
	border-bottom: none;
}

.product-spec-label {
	flex: 0 0 23%;
	color: var(--primary-color);
	font-weight: 600;
	font-size: 0.85rem;
	white-space: nowrap;
	background-color: rgba(59, 130, 246, 0.07);
	padding: 0.75rem 1rem;
	margin: -0.75rem -1rem -0.75rem 0;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.product-spec-value {
	flex: 1 1 auto;
	color: var(--text-primary);
	font-weight: 400;
	font-size: 13px;
	text-align: right;
	padding-right: 12px;
}

.spec-value-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 2px 12px;
	border-radius: 999px;
	font-weight: 600;
	font-size: 13px;
}

.spec-value-pill .material-symbols-outlined {
	font-size: 1.1rem;
}

.spec-value-pill.is-available {
	background-color: #dcfce7;
	color: #15803d;
}

.spec-value-pill.is-unavailable {
	background-color: #fee2e2;
	color: #b91c1c;
}

@media (max-width: 640px) {
	.product-spec-row {
		flex-direction: row;
		align-items: stretch;
		gap: 0;
	}

	.product-spec-label {
		flex: 0 0 38%;
		margin: -0.75rem -18px -0.75rem -0.5rem;
	}

	.product-spec-value {
		text-align: right;
		padding-right: 24px;
		width: 100%;
	}
}

/* ============================================
   Utility Classes - Layout
   ============================================ */
.flex {
	display: flex;
}

.grid {
	display: grid;
}

.hidden {
	display: none;
}

.block {
	display: block;
}

.inline-flex {
	display: inline-flex;
}

.flex-col {
	flex-direction: column;
}

.flex-wrap {
	flex-wrap: wrap;
}

.items-center {
	align-items: center;
}

.items-start {
	align-items: flex-start;
}

.justify-center {
	justify-content: center;
}

.justify-between {
	justify-content: space-between;
}

.justify-end {
	justify-content: flex-end;
}

.gap-2 {
	gap: 0.5rem;
}

.gap-3 {
	gap: 0.75rem;
}

.gap-4 {
	gap: 1rem;
}

.gap-6 {
	gap: 12px;
}

.gap-8 {
	gap: 2rem;
}

.gap-12 {
	gap: 3rem;
}

.w-full {
	width: 100%;
}

.h-full {
	height: 100%;
}

.min-h-screen {
	min-height: 100vh;
}

.flex-1 {
	flex: 1 1 0%;
}

.relative {
	position: relative;
}

.absolute {
	position: absolute;
}

.fixed {
	position: fixed;
}

.sticky {
	position: sticky;
}

.top-0 {
	top: 0;
}

.bottom-0 {
	bottom: 0;
}

.left-0 {
	left: 0;
}

.right-0 {
	right: 0;
}

.z-40 {
	z-index: 40;
}

.z-50 {
	z-index: 50;
}

.overflow-hidden {
	overflow: hidden;
}

.overflow-x-hidden {
	overflow-x: hidden;
}

/* ============================================
   Utility Classes - Spacing
   ============================================ */
.p-4 {
	padding: 1rem;
}

.p-6 {
	padding: 1.5rem;
}

.p-8 {
	padding: 2rem;
}

.px-4 {
	padding-left: 1rem;
	padding-right: 1rem;
}

.px-5 {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.px-6 {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.px-10 {
	padding-left: 2.5rem;
	padding-right: 2.5rem;
}

.py-4 {
	padding-top: 1rem;
	padding-bottom: 1rem;
}

.py-6 {
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}

.py-8 {
	padding-top: 2rem;
	padding-bottom: 2rem;
}

.pt-4 {
	padding-top: 1rem;
}

.pt-8 {
	padding-top: 2rem;
}

.pt-16 {
	padding-top: 4rem;
}

.mt-8 {
	margin-top: 2rem;
}

.mt-16 {
	margin-top: 4rem;
}

.mb-6 {
	margin-bottom: 1.5rem;
}

.mb-8 {
	margin-bottom: 2rem;
}

/* ============================================
   Utility Classes - Typography
   ============================================ */
.text-xs {
	font-size: 0.75rem;
	line-height: 1rem;
}

.text-sm {
	font-size: 0.875rem;
	line-height: 1.25rem;
}

.text-base {
	font-size: 1rem;
	line-height: 1.5rem;
}

.text-lg {
	font-size: 1.125rem;
	line-height: 1.75rem;
}

.text-xl {
	font-size: 1.25rem;
	line-height: 1.75rem;
}

.text-2xl {
	font-size: 1.5rem;
	line-height: 2rem;
}

.text-3xl {
	font-size: 1.875rem;
	line-height: 2.25rem;
}

.text-4xl {
	font-size: 2.25rem;
	line-height: 2.5rem;
}

.font-medium {
	font-weight: 500;
}

.font-semibold {
	font-weight: 600;
}

.font-bold {
	font-weight: 700;
}

.font-black {
	font-weight: 900;
}

.leading-tight {
	line-height: 1.25;
}

.leading-normal {
	line-height: 1.5;
}

.tracking-tight {
	letter-spacing: -0.025em;
}

.tracking-widest {
	letter-spacing: 0.1em;
}

.uppercase {
	text-transform: uppercase;
}

.underline {
	text-decoration: underline;
}

.line-through {
	text-decoration: line-through;
}

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}

.whitespace-nowrap {
	white-space: nowrap;
}

/* ============================================
   Utility Classes - Colors
   ============================================ */
.text-primary {
	color: var(--primary-color);
}

.text-text-primary {
	color: var(--text-primary);
}

.text-text-secondary {
	color: var(--text-secondary);
}

.text-white {
	color: #FFFFFF;
}

.text-accent-star {
	color: var(--accent-star);
}

.text-accent-success {
	color: var(--accent-success);
}

.bg-green-100 {
	background-color: #dcfce7;
}

.dark .dark\:bg-green-900\/50 {
	background-color: rgba(20, 83, 45, 0.5);
}

/* Product Title and Stock Status */
.woocommerce div.product h1.product_title,
.woocommerce div.product .product_title {
	display: inline-block;
	font-size: 1rem;
	/* text-xl */
	font-weight: 900;
	/* font-black */
	line-height: 1.2;
	letter-spacing: -0.015em;
}

@media (min-width: 1024px) {

	.woocommerce div.product h1.product_title,
	.woocommerce div.product .product_title {
		font-size: 1.5rem;
		/* lg:text-2xl */
	}
}

.woocommerce div.product h1.product_title+*,
.woocommerce div.product .product_title+* {
	margin-top: 0;
}

/* Stock status inline with title - width fits content */
.woocommerce div.product h1.product_title~span.text-accent-success,
.woocommerce div.product .product_title~span.text-accent-success {
	margin-right: 0.5rem;
	vertical-align: middle;
	width: auto;
	display: inline-block;
}

.text-gray-200 {
	color: var(--gray-200);
}

.text-gray-300 {
	color: var(--gray-300);
}

.text-gray-400 {
	color: var(--gray-400);
}

.bg-primary {
	background-color: var(--primary-color);
}

.bg-background-light {
	background-color: var(--background-light);
}

.bg-background-dark {
	background-color: var(--background-dark);
}

.bg-secondary-bg {
	background-color: var(--secondary-bg);
}

.bg-gray-50 {
	background-color: var(--gray-50);
}

.bg-gray-100 {
	background-color: var(--gray-100);
}

.bg-gray-200 {
	background-color: var(--gray-200);
}

.bg-gray-700 {
	background-color: var(--gray-700);
}

.bg-gray-800 {
	background-color: var(--gray-800);
}

.bg-green-100 {
	background-color: #D1FAE5;
}

/* Dark mode for stock status */
.dark .bg-green-900\/50 {
	background-color: rgba(20, 83, 45, 0.5);
}

.bg-background-light\/90 {
	background-color: rgba(255, 255, 255, 0.9);
}

.bg-primary\/5 {
	background-color: rgba(19, 54, 157, 0.05);
}

.bg-primary\/10 {
	background-color: rgba(19, 54, 157, 0.1);
}

.bg-primary\/20 {
	background-color: rgba(19, 54, 157, 0.2);
}

/* ============================================
   Utility Classes - Borders
   ============================================ */
.border {
	border-width: 1px;
	border-style: solid;
}

.border-2 {
	border-width: 2px;
	border-style: solid;
}

.border-t {
	border-top-width: 1px;
	border-top-style: solid;
}

.border-b {
	border-bottom-width: 1px;
	border-bottom-style: solid;
}

.border-y {
	border-top-width: 1px;
	border-bottom-width: 1px;
	border-top-style: solid;
	border-bottom-style: solid;
}

.border-b-2 {
	border-bottom-width: 2px;
	border-bottom-style: solid;
}

.border-gray-200 {
	border-color: var(--gray-200);
}

.border-gray-700 {
	border-color: var(--gray-700);
}

.border-gray-800 {
	border-color: var(--gray-800);
}

.border-primary {
	border-color: var(--primary-color);
}

.border-transparent {
	border-color: transparent;
}

.border-primary\/20 {
	border-color: rgba(19, 54, 157, 0.2);
}

.rounded {
	border-radius: var(--radius-sm);
}

.rounded-lg {
	border-radius: var(--radius-md);
}

.rounded-xl {
	border-radius: var(--radius-lg);
}

.rounded-full {
	border-radius: var(--radius-full);
}

/* ============================================
   Utility Classes - Effects
   ============================================ */
.shadow-lg {
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.shadow-primary\/20 {
	box-shadow: 0 10px 15px -3px rgba(19, 54, 157, 0.2), 0 4px 6px -2px rgba(19, 54, 157, 0.1);
}

.opacity-70 {
	opacity: 0.7;
}

.opacity-100 {
	opacity: 1;
}

.backdrop-blur-sm {
	backdrop-filter: blur(4px);
}

/* ============================================
   Utility Classes - Transitions
   ============================================ */
.transition-colors {
	transition-property: color, background-color, border-color;
	transition-duration: 150ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.transition-opacity {
	transition-property: opacity;
	transition-duration: 150ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.transition-all {
	transition-property: all;
	transition-duration: 150ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.transition-transform {
	transition-property: transform;
	transition-duration: 150ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

/* ============================================
   Utility Classes - Hover States
   ============================================ */
.hover\:text-primary:hover {
	color: var(--primary-color);
}

.hover\:bg-primary:hover {
	background-color: var(--primary-color);
}

.hover\:bg-primary\/90:hover {
	background-color: rgba(19, 54, 157, 0.9);
}

.hover\:bg-primary\/20:hover {
	background-color: rgba(19, 54, 157, 0.2);
}

.hover\:opacity-100:hover {
	opacity: 1;
}

.hover\:underline:hover {
	text-decoration: underline;
}

/* ============================================
   Grid System
   ============================================ */
.grid-cols-1 {
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.grid-cols-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-cols-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (min-width: 768px) {
	.md\:grid-cols-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.md\:gap-12 {
		gap: 3rem;
	}
}

@media (min-width: 1024px) {
	.lg\:hidden {
		display: none;
	}

	.lg\:block {
		display: block;
	}
}

.scroll-mt-20 {
	scroll-margin-top: 5rem;
}

/* ============================================
   Product Gallery Styles
   ============================================ */
.product-gallery-wrapper {
	position: relative;
}

/* Main Image */
.product-main-image-wrapper {
	position: relative;
	width: 100%;
}

.product-main-image {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	border-radius: var(--radius-lg);
	border: 1px solid var(--gray-200);
	cursor: pointer;
	transition: transform 0.3s ease;
}

.product-main-image:hover {
	transform: scale(1.02);
}

/* Sale Badge */
.onsale-badge {
	position: absolute;
	top: 1rem;
	right: 1rem;
	background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
	color: #ffffff;
	padding: 0.5rem;
	border-radius: 50%;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	box-shadow: 0 4px 12px rgba(220, 38, 38, 0.4), 0 2px 4px rgba(0, 0, 0, 0.1);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.2);
	z-index: 20;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	width: 2.5rem;
	height: 2.5rem;
	min-width: 2.5rem;
	min-height: 2.5rem;
}

/* Thumbnails Grid */
.product-thumbnails {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(60px, 1fr));
	gap: 0.75rem;
	margin-top: 1rem;
}

.product-thumbnail-item {
	width: 100%;
	aspect-ratio: 1 / 1;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	border-radius: var(--radius-md);
	border: 2px solid var(--gray-200);
	cursor: pointer;
	transition: opacity 0.3s ease, border-color 0.3s ease;
	opacity: 0.7;
}

.product-thumbnail-item:hover {
	opacity: 1;
}

.product-thumbnail-item.active,
.product-thumbnail-item.border-primary {
	border-color: var(--primary-color);
	opacity: 1;
}

/* Remaining Count Thumbnail */
.product-thumbnail-remaining {
	position: relative;
	overflow: hidden;
	border-radius: var(--radius-md);
	box-shadow: none;
	border: 1px solid rgba(255, 255, 255, 0.2);
	display: flex;
	align-items: center;
	justify-content: center;
}

.product-thumbnail-remaining::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.2));
	opacity: 0.9;
}

.product-thumbnail-remaining-dots {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.25em;
	color: rgba(55, 65, 81, 0.9);
}

/* Video Thumbnail */
.product-video-thumbnail {
	background-color: var(--gray-100);
	display: flex;
	align-items: center;
	justify-content: center;
}

.product-video-thumbnail .material-symbols-outlined {
	font-size: 2.5rem;
	color: var(--text-secondary);
}

.product-video-thumbnail:hover .material-symbols-outlined {
	color: var(--primary-color);
}

/* Hide default WooCommerce gallery */
.woocommerce-product-gallery {
	display: none !important;
}

/* ============================================
   Lightbox Styles - Gallery Lightbox
   ============================================ */
.product-gallery-lightbox {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.75);
	/* Lighter background */
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 20px;
	opacity: 0;
	transition: opacity 0.3s ease;
	backdrop-filter: blur(5px);
	/* Added blur to background */
}

.product-gallery-lightbox.active {
	opacity: 1;
}

.lightbox-container {
	position: relative;
	width: 100%;
	height: 100%;
	max-width: 1200px;
	/* Limit max width */
	max-height: 90vh;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: default;
}

.lightbox-image-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.lightbox-image {
	max-width: 100%;
	max-height: 80vh;
	/* Reduced height to make room for counter */
	object-fit: contain;
	border-radius: 8px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
	transition: opacity 0.3s ease;
	pointer-events: none;
}

.lightbox-close {
	position: absolute;
	top: 20px;
	right: 20px;
	color: #fff;
	font-size: 2.5rem;
	font-weight: 300;
	cursor: pointer;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.3);
	/* Darker button bg for contrast */
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 50%;
	transition: all 0.3s ease;
	line-height: 1;
	z-index: 100;
	font-family: Arial, sans-serif;
	backdrop-filter: blur(10px);
}

.lightbox-close:hover {
	background: rgba(255, 255, 255, 0.2);
	transform: scale(1.1);
}

.lightbox-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	color: #fff;
	cursor: pointer;
	width: 64px;
	/* Larger button */
	height: 64px;
	/* Larger button */
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.3);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 50%;
	transition: all 0.3s ease;
	z-index: 100;
	backdrop-filter: blur(10px);
	user-select: none;
	padding: 0;
	font-size: 0;
}

.lightbox-nav::before {
	content: '';
	width: 0;
	height: 0;
	display: block;
	transition: all 0.3s ease;
}

.lightbox-nav:hover {
	background: rgba(255, 255, 255, 0.2);
	border-color: rgba(255, 255, 255, 0.4);
	transform: translateY(-50%) scale(1.1);
}

.lightbox-prev {
	right: 30px;
	/* Moved slightly inward */
}

.lightbox-prev::before {
	border-top: 4px solid #fff;
	/* Thicker arrow */
	border-right: 4px solid #fff;
	/* Thicker arrow */
	width: 18px;
	/* Larger arrow */
	height: 18px;
	/* Larger arrow */
	transform: rotate(45deg);
	margin-right: 4px;
}

.lightbox-next {
	left: 30px;
	/* Moved slightly inward */
}

.lightbox-next::before {
	border-top: 4px solid #fff;
	/* Thicker arrow */
	border-right: 4px solid #fff;
	/* Thicker arrow */
	width: 18px;
	/* Larger arrow */
	height: 18px;
	/* Larger arrow */
	transform: rotate(225deg);
	margin-left: 4px;
}

.lightbox-counter {
	position: fixed;
	/* Fixed to screen bottom */
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%);
	color: #fff;
	font-size: 1rem;
	font-weight: 500;
	background: rgba(0, 0, 0, 0.5);
	padding: 8px 24px;
	border-radius: 30px;
	z-index: 100;
	font-family: var(--font-display);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.1);
}



/* Legacy support */
.product-image-lightbox {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.85);
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 20px;
	animation: fadeIn 0.3s ease;
}

.product-image-lightbox img {
	max-width: 90%;
	max-height: 90%;
	object-fit: contain;
	border-radius: 8px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
	pointer-events: none;
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

/* Responsive Lightbox */
@media (max-width: 768px) {
	.lightbox-image {
		max-height: 80vh;
	}

	.lightbox-nav {
		width: 48px;
		height: 48px;
	}

	.lightbox-nav::before {
		width: 12px;
		height: 12px;
		border-width: 2.5px;
	}

	.lightbox-prev {
		right: 10px;
	}

	.lightbox-next {
		left: 10px;
	}

	.lightbox-close {
		top: 10px;
		right: 10px;
		width: 44px;
		height: 44px;
		font-size: 2rem;
	}

	.lightbox-counter {
		bottom: 30px;
		font-size: 0.85rem;
		padding: 8px 16px;
	}
}

/* Responsive Gallery */
@media (max-width: 768px) {
	.product-thumbnails {
		grid-template-columns: repeat(auto-fit, minmax(50px, 1fr));
		gap: 0.5rem;
	}

	.product-main-image {
		border-radius: var(--radius-md);
	}
}

/* Margin utilities */
.m-0 {
	margin: 0 !important;
}


/* Product Info Styles */
.single-product-header {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.product-title-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 0.75rem;
}

.product-title {
	font-size: 1.5rem;
	font-weight: 900;
	letter-spacing: -0.025em;
	line-height: 1.2;
}

@media (min-width: 1024px) {
	.product-title {
		font-size: 20px;
        line-height: 1.7em;
	}
}

.product-rating-stock-wrapper {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.product-rating-stars {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.product-rating-stars .material-symbols-outlined {
	font-size: 1.25rem !important;
	color: var(--accent-star);
}

.product-rating-stars .star-filled {
	font-variation-settings: 'FILL' 1;
}

.product-rating-link {
	font-size: 0.875rem;
	color: var(--text-secondary);
	text-decoration: none;
}

.product-rating-link:hover {
	text-decoration: underline;
}

.product-meta-separator {
	width: 0.25rem;
	height: 0.25rem;
	border-radius: 9999px;
	background-color: var(--gray-400);
}

.product-stock-status {
	font-size: 0.875rem;
	font-weight: 600;
	padding: 0.125rem 0.75rem;
	border-radius: 9999px;
	margin: 0 !important;
}

.product-stock-status.in-stock {
	color: var(--accent-success);
	background-color: #DCFCE7;
	/* green-100 */
}

.product-stock-status.out-of-stock {
	color: #EF4444;
	/* red-500 */
	background-color: #FEE2E2;
	/* red-100 */
}

.product-short-description {
	color: var(--text-secondary);
	font-size: 1rem;
	line-height: 1.5;
	padding-top: 0.35rem;
	padding-bottom: 0.35rem;
}

.product-short-description ul {
	margin: 0.25rem 0 0;
	padding-right: 1.25rem;
	line-height: 2.4;
}

.product-short-description>*:first-child {
	margin-top: 0;
}

.product-short-description>*:last-child {
	margin-bottom: 0;
}

.product-meta-wrapper {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.product-meta-item {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	align-items: flex-start;
}

.product-meta-label {
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--text-secondary);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin: 0;
}

.product-meta-links {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--primary-color);
	margin-top: 0.15rem;
}

.product-meta-links a {
	color: inherit;
	text-decoration: none;
}

.product-meta-links a:hover {
	text-decoration: underline;
}

.product-meta-icon {
	font-size: 1.25rem !important;
	color: var(--primary-color);
	margin-left: 0.25rem;
}

/* Product Tags Styles */
.product-tags a {
	background-color: var(--gray-100);
	color: var(--text-secondary);
	padding: 3px 9px;
	border-radius: 4px;
	font-size: 12px;
	transition: all 0.2s ease;
	display: inline-block;
}

.product-tags a:hover {
	background-color: var(--gray-200);
	color: var(--text-primary);
	text-decoration: none;
}

.product-tags a.is-hidden {
	display: none;
}

.product-tags.is-expanded a.is-hidden {
	display: inline-block;
}

.product-tags-more {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 25px;
	height: 24px;
	border: none;
	border-radius: 4px;
	background-color: var(--gray-100);
	color: var(--text-secondary);
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	position: relative;
	padding: 0;
}

.product-tags-more:hover {
	background-color: var(--gray-200);
	color: var(--text-primary);
}

.product-tags-more::after {
	content: attr(data-tooltip);
	position: absolute;
	bottom: calc(100% + 0.35rem);
	background-color: rgba(17, 17, 17, 0.85);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 500;
	padding: 4px 8px;
	border-radius: 6px;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transform: translateY(4px);
	transition: opacity 0.15s ease, transform 0.15s ease;
	pointer-events: none;
	z-index: 5;
}

.product-tags-more:hover::after,
.product-tags-more:focus-visible::after {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Sidebar Styles */
.sidebar-wrapper {
	display: flex;
	flex-direction: column;
	gap: 15px;
	border-radius: 0.75rem;
	border: 1px solid var(--gray-200);
	background-color: var(--background-light);
	padding: 1.5rem;
}

.sidebar-price-section {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.price-display {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	text-align: left;
}

.price-current {
	font-size: 1.875rem;
	font-weight: 700;
	color: var(--primary-color);
	margin: 0;
}

.price-regular {
	font-size: 0.9rem;
	font-weight: 500;
	color: #6b6b6b;
	text-decoration: line-through;
	margin: 0;
}

.price-top-row {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	justify-content: flex-start;
	direction: ltr;
	/* عدد سمت راست، بج قرمز سمت چپ قیمت قبلی */
}

.price-discount-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1rem;
	padding: 1px 12px 0 12px;
	border-radius: 999px;
	background-color: #dc2626;
	color: #fff;
	font-size: 11px;
	font-weight: 500;
}

.price-regular-wrapper {
	position: relative;
}

/* مخفی‌کردن سمبل واحد پول برای قیمت قبل تخفیف داخل سایدبار */
.sidebar-price-section .price-regular-wrapper .woocommerce-Price-currencySymbol {
	display: none;
}

/* اطمینان از نمایش واحد پول برای قیمت فعلی در سایدبار */
.sidebar-price-section .price-current .woocommerce-Price-currencySymbol {
	display: inline !important;
}

.price-update-date {
	font-size: 0.75rem;
	color: var(--text-secondary);
	text-align: right;
	margin: 0;
}


/* Sidebar Color Selection */
.sidebar-color-section {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.color-label {
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--text-primary);
	margin: 0;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.color-selected-name {
	font-weight: 700;
}

.color-swatches {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
}

.color-swatch {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: none;
	cursor: pointer;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	padding: 0;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
	/* سایه خیلی ملایم برای دیده شدن رنگ‌های روشن */
}

.color-swatch:hover {
	transform: scale(1.1);
}

.color-swatch.is-selected {
	/* افکت حلقه دور رنگ: 3 پیکسل فاصله سفید + 2 پیکسل حلقه آبی */
	box-shadow: 0 0 0 3px var(--background-light), 0 0 0 5px var(--primary-color);
	transform: scale(1.05);
	/* کمی بزرگتر برای تاکید */
}

/* Dark mode adjustments */
@media (prefers-color-scheme: dark) {
	.color-swatch.is-selected {
		box-shadow: 0 0 0 4px #ffffff, 0 0 0 5px var(--primary-color);
	}
}

/* Sidebar Add to Cart Button */
.sidebar-wrapper .cart {
	display: flex;
	gap: 1rem;
	flex-direction: column;
}

/* کل سکشن فرم و دکمهٔ پیش‌فرض ووکامرس را در سایدبار مخفی می‌کنیم؛
   فقط از دکمهٔ AJAX سفارشی استفاده می‌کنیم. خود فرم هنوز در DOM هست
   و برای ارسال داده‌های محصول توسط AJAX استفاده می‌شود. */
.sidebar-wrapper .sidebar-add-to-cart-original {
	display: none !important;
}

/* فرم اصلی ووکامرس داخل سایدبار را از دید کاربر پنهان می‌کنیم
   (فقط برای داده‌ها استفاده می‌شود، نه برای UI) */
.sidebar-wrapper .sidebar-add-to-cart-original {
	display: block;
}

/* استایل دکمه افزودن به سبد خرید غیرفعال */
.sidebar-ajax-add-to-cart.disabled,
.sidebar-ajax-add-to-cart:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	pointer-events: none;
	background-color: var(--gray-400) !important;
}

.sidebar-ajax-add-to-cart.disabled:hover,
.sidebar-ajax-add-to-cart:disabled:hover {
	background-color: var(--gray-400) !important;
	transform: none;
}

.woocommerce-page.single-product .single_add_to_cart_button.button.alt {
	font-weight: 300;
	font-size: 14px;
	padding: 6px 12px 10px 12px;
}

.woocommerce-page.single-product .single_add_to_cart_button.button.alt:hover {
	background-color: #1845c5 !important;
	/* کمی روشن‌تر از رنگ اصلی */
}

.sidebar-wrapper .single_add_to_cart_button {
	width: 100%;
	background-color: var(--primary-color) !important;
	color: #ffffff !important;
	font-weight: 300;
	border-radius: 9999px;
	padding: 12px 24px;
	transition: all 0.2s ease;
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	/* متن و آیکون به صورت گروهی وسط دکمه */
	gap: 8px;
	font-size: 0.95rem;
	line-height: 1.2;
	/* کمی بیشتر برای مرکز شدن بهتر متن */
	cursor: pointer;
}

/* Add shopping cart icon inside the button (right side in RTL) */
.sidebar-wrapper .single_add_to_cart_button::before {
	content: "add_shopping_cart";
	font-family: 'Material Symbols Outlined' !important;
	font-variation-settings:
		'FILL' 0,
		'wght' 400,
		'GRAD' 0,
		'opsz' 48;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.1rem;
	transform: translateY(5px);
	/* کمی پایین‌تر برای تراز بهتر با متن */
}

/* پیام وضعیت افزودن به سبد خرید زیر دکمه */
.sidebar-add-to-cart-status {
	margin-top: 0px;
	font-size: 0.85rem;
	line-height: 1.6;
	padding: 10px 12px;
	border-radius: 10px;
	border: 1px solid transparent;
	display: flex;
	align-items: center;
	gap: 8px;
	background-color: #f3f4ff;
	color: #1d4ed8;
}

.sidebar-add-to-cart-status-icon {
	font-family: 'Material Symbols Outlined';
	font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
	font-weight: 400;
	font-style: normal;
	font-feature-settings: 'liga';
	-webkit-font-feature-settings: 'liga';
	font-size: 18px;
	display: inline-flex;
	align-items: center;
}

.sidebar-add-to-cart-status.is-success {
	border-color: #22c55e;
	background-color: #ecfdf3;
	color: #15803d;
}

.sidebar-add-to-cart-status.is-error {
	border-color: #fca5a5;
	background-color: #fef2f2;
	color: #b91c1c;
}

/* مخفی کردن بلوک وارییشن پیش‌فرض ووکامرس (قیمت و موجودی)
   داخل فرم variations_form.cart و نگه داشتن فقط بخش افزودن به سبد خرید */
.sidebar-wrapper .variations_form.cart .woocommerce-variation.single_variation,
.sidebar-wrapper .variations_form.cart .single_variation {
	display: block !important;
}

/* مخفی کردن کل ردیف انتخاب ویژگی‌ها (جدول .variations) در سایدبار،
   چون انتخاب رنگ را با سواچ‌ها انجام می‌دهیم */
.sidebar-wrapper .variations_form.cart .variations {
	display: block !important;
}

/* Quantity Input Styling */
.sidebar-wrapper .quantity {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.sidebar-wrapper .quantity .qty {
	width: 100%;
	max-width: 100px;
	text-align: center;
	border: 1px solid var(--gray-200);
	border-radius: 0.5rem;
	padding: 0.5rem;
	font-weight: 500;
	color: var(--text-primary);
}


/* Sidebar Stock Status */
.sidebar-stock-section {
	border-top: 1px solid var(--gray-200);
	padding-top: 1rem;
}

.stock-status-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.75rem 1rem;
	border-radius: 0.5rem;
	background-color: #fff;
	border: 1px solid #e2e8f0;
}

.stock-status-box.out-of-stock {
	background-color: #fff1f2;
	border-color: #ffe4e6;
}

.stock-label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.stock-label .material-symbols-outlined {
	color: #1e3a8a;
	/* Dark Blue Icon */
	font-size: 1.5rem;
}

.stock-label p {
	font-size: 0.875rem;
	font-weight: 600;
	color: #1e3a8a;
	/* Dark Blue Text */
	margin: 0;
}


/* Out of stock styles */
.stock-status-box.out-of-stock .stock-label .material-symbols-outlined,
.stock-status-box.out-of-stock .stock-label p {
	color: #e11d48;
	/* Red for out of stock */
}

/* Sidebar Share Buttons */
.sidebar-share-section {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding-top: 1rem;
	border-top: 1px solid var(--gray-200);
}

.share-label {
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--text-secondary);
	margin: 0;
}

.share-buttons {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.share-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 9999px;
	background-color: var(--gray-100);
	color: var(--text-secondary);
	transition: all 0.2s ease;
	border: none;
	cursor: pointer;
}

.share-button:hover {
	background-color: var(--primary-color);
	color: white;
}

.share-button .material-symbols-outlined {
	font-size: 1.25rem;
}

/* Rotating Messages Styles */
.rotating-messages-container {
	height: 1.5rem;
	overflow: hidden;
	position: relative;
	flex: 1;
}

.rotating-messages-wrapper {
	display: flex;
	flex-direction: column;
	transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.rotating-message {
	height: 1.5rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	white-space: nowrap;
}

.rotating-message .material-symbols-outlined {
	font-size: 1.125rem;
	color: #13369D;
}

.rotating-message p {
	font-size: 0.75rem;
	font-weight: 700;
	color: #000000;
	margin: 0;
}

/* Hide Quantity Controls */
.sidebar-wrapper .quantity,
.sidebar-wrapper .quantity-with-buttons {
	display: none !important;
}

/* Product Meta Styling Updates - Only for Brand and Category */
.product-meta-item:not(:has(.product-tags)) {
	display: flex !important;
	align-items: center !important;
	flex-direction: row !important;
	gap: 8px !important;
	margin-bottom: 8px !important;
}

.product-meta-item:not(:has(.product-tags)) .product-meta-label {
	font-size: 16px !important;
	font-weight: 500 !important;
	margin: 0 !important;
	width: auto !important;
	color: var(--text-primary) !important;
}

.product-meta-item:not(:has(.product-tags)) .product-meta-links,
.product-meta-item:not(:has(.product-tags)) .product-meta-links a {
	font-size: 13px !important;
	color: var(--text-secondary) !important;
	display: inline-flex !important;
	align-items: center !important;
}

/* Remove bottom border from short description */
.product-short-description {
	border-bottom: none !important;
}


/* Remove border-b utility class border */
.border-b {
	border-bottom-width: 0px;
	border-bottom-style: solid;
}


/* Update py-4 utility class padding */
.py-4 {
	padding-top: 1rem;
	padding-bottom: 0px;
}

/* مخفی کردن بخش stock-quantity */
.stock-quantity,
p.stock-quantity,
.sidebar-stock-section .stock-quantity {
	display: none !important;
}