/* Global Styles */
:root {
	--royal-gold: #D4AF37;
	--deep-bronze: #8C6A25;
	--warm-beige: #F7E5B7;
	--ivory-white: #FDFBF6;
	--charcoal-black: #1C1C1C;
	--golden-shadow: #B8860B;
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: var(--font-family, 'Roboto', sans-serif);
}

html {
	-webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
}

/* Respect OS setting; also avoids extra work on some devices */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

/* Scroll Animations */
.animate-on-scroll {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.animate-on-scroll.animate-in {
	opacity: 1;
	transform: translateY(0);
}

/* Fade In Up Animation */
.fade-in-up {
	opacity: 0;
	transform: translateY(40px);
	transition: opacity 1s ease-out, transform 1s ease-out;
}

.fade-in-up.animate-in {
	opacity: 1;
	transform: translateY(0);
}

/* Fade In Left */
.fade-in-left {
	opacity: 0;
	transform: translateX(-40px);
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fade-in-left.animate-in {
	opacity: 1;
	transform: translateX(0);
}

/* Fade In Right */
.fade-in-right {
	opacity: 0;
	transform: translateX(40px);
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fade-in-right.animate-in {
	opacity: 1;
	transform: translateX(0);
}

/* Scale In Animation */
.scale-in {
	opacity: 0;
	transform: scale(0.9);
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.scale-in.animate-in {
	opacity: 1;
	transform: scale(1);
}

@media (prefers-reduced-motion: reduce) {
	.animate-on-scroll,
	.fade-in-up,
	.fade-in-left,
	.fade-in-right,
	.scale-in,
	.stagger-item {
		transition: none !important;
		transform: none !important;
		opacity: 1 !important;
	}
}

/* Stagger Animation for Grid Items */
.stagger-item {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1), transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

.stagger-item.animate-in {
	opacity: 1;
	transform: translateY(0);
}

/* Add delay classes for stagger effect */
.stagger-item:nth-child(1) { transition-delay: 0s; }
.stagger-item:nth-child(2) { transition-delay: 0.08s; }
.stagger-item:nth-child(3) { transition-delay: 0.16s; }
.stagger-item:nth-child(4) { transition-delay: 0.24s; }
.stagger-item:nth-child(5) { transition-delay: 0.32s; }
.stagger-item:nth-child(6) { transition-delay: 0.40s; }
.stagger-item:nth-child(7) { transition-delay: 0.48s; }
.stagger-item:nth-child(8) { transition-delay: 0.56s; }

/* Logo Styles */
.logo{
	border-radius: 5px;
	cursor: pointer;
}

body {
	background-color: var(--primary-background-color);
	color: var(--primary-text-color);
	line-height: 1.6;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* While scrolling: reduce expensive paints (blur/shadows/animations). */
body.is-scrolling .add-to-fav-overlay,
body.is-scrolling .add-to-cart-overlay,
body.is-scrolling .product-badge,
body.is-scrolling .discount-badge,
body.is-scrolling .out-of-stock-badge,
body.is-scrolling .quick-card-v2-badge,
body.is-scrolling .quick-card-v3-badge,
body.is-scrolling .oc3-card__badge,
body.is-scrolling .oc3-card__fav,
body.is-scrolling .oc3-card__cart-btn,
body.is-scrolling .oc2-card__cart-fab,
body.is-scrolling .bundle-badge,
body.is-scrolling .bundle-v1-badge {
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
	box-shadow: none !important;
	animation: none !important;
}

body.is-scrolling .bundle-v2-icon,
body.is-scrolling .bundle-v3-icon,
body.is-scrolling .bundle-v1-icon {
	animation: none !important;
	filter: none !important;
}

body.is-scrolling .product-card,
body.is-scrolling .quick-card-v2,
body.is-scrolling .quick-card-v3,
body.is-scrolling .bundle-v1-card-inner,
body.is-scrolling .bundle-card-inner,
body.is-scrolling .oc2-card__inner,
body.is-scrolling .oc3-card__visual {
	box-shadow: none !important;
}

a {
	text-decoration: none;
	color: inherit;
}

.container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

/* Hero styles moved to hero-v1.css */

.btn {
	display: inline-block;
	padding: 12px 30px;
	border-radius: 30px;
	font-weight: 600;
	transition: background-color 0.3s, color 0.3s, transform 0.3s;
	cursor: pointer;
}

/* Header & Navigation - Styles moved to navbar-v1.css */


.cart-count {
	position: absolute;
	top: -10px;
	right: -10px;
	background-color: var(--primary-button-background-color);
	color: var(--primary-button-text-color);
	border-radius: 50%;
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: bold;
}

.favorite-count {
	position: absolute;
	top: -10px;
	right: -10px;
	background-color: var(--primary-button-background-color);
	color: var(--primary-button-text-color);
	border-radius: 50%;
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: bold;
}

/* Mobile Menu Toggle - Styles moved to navbar-v1.css */

/* Cart Side Panel */
.cart-panel {
	position: fixed;
	top: 0;
	right: -400px;
	width: 400px;
	height: 100vh;
	background-color: var(--primary-background-color);
	box-shadow: -5px 0 15px rgba(0, 0, 0, 0.1);
	transition: right 0.3s ease;
	z-index: 1001;
	padding: 30px;
	overflow-y: auto;
}

.cart-panel.active {
	right: 0;
}

.cart-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 30px;
	padding-bottom: 15px;
	border-bottom: 1px solid var(--primary-brand-color);
}

.cart-header h3 {
	font-size: 24px;
	color: var(--primary-title-color);
}

.close-cart {
	font-size: 24px;
	cursor: pointer;
	transition: color 0.3s;
	color: var(--primary-brand-color);
}

.close-cart:hover {
	color: var(--secondary-brand-color);
}

.cart-items {
	margin-bottom: 30px;
}

.cart-item {
	display: flex;
	padding-bottom: 20px;
}

.cart-item-img {
	width: 80px;
	height: 80px;
	margin-right: 15px;
}

.cart-item-img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.cart-item-details {
	flex: 1;
}

.cart-item-title {
	font-weight: 600;
	margin-bottom: 5px;
}

.cart-item-price {
	color: var(--original-price-color);
	margin-bottom: 10px;
}

.cart-item-remove {
	color: var(--secondary-title-color);
	font-size: 14px;
	cursor: pointer;
	transition: color 0.3s;
}

.cart-item-remove:hover {
	color: var(--primary-title-color);
}

.cart-total {
	display: flex;
	justify-content: space-between;
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 30px;
	color: var(--primary-text-color);
}

.checkout-btn {
	display: block;
	width: 100%;
	padding: 15px;
	background-color: var(--primary-button-background-color);
	color: var(--primary-button-text-color);
	border: none;
	border-radius: 5px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.3s;
	text-align: center;
}

.checkout-btn:hover {
	background-color: var(--primary-button-hover-background-color);
	color: var(--primary-button-hover-text-color);
}

/* Overlay - Styles moved to navbar-v1.css */

/* Hero styles moved to hero-v1.css */

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

.view-all a{
	padding: 12px 30px;
	font-weight: 600;
	color: var(--ivory-white);
	cursor: pointer;
	transition: color 0.3s;
	background-color: var(--royal-gold);
	border: none;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.view-all:hover a{
	background-color: var(--golden-shadow);
}

.browse-btn p{
	font-size: 18px;
	color: var(--primary-title-color);
	text-align: center;
	margin-bottom: 20px;
}

.size{
	font-size: 14px;
	color: var(--primary-title-color);
}

/* Filter section: filter_section-v1.css | v2.css | v3.css (theme key: filter_section, variant v1/v2/v3) */

.for-mobile-show{
	display: none;
}

.for-mobile-hide{
	display: block;
}

@media (max-width: 768px) {
	/* Navbar mobile styles moved to navbar-v1.css */

	.cart-panel {
		width: 90%;
		right: -100%;
	}

	.for-mobile-show{
		display: block;
	}

	.for-mobile-hide{
		display: none;
	}

}

@media (max-width: 576px) {
	.product-grid {
		grid-template-columns: 1fr 1fr;
	}

	.for-mobile-show{
		display: block;
	}
	.for-mobile-hide{
		display: none;
	}

}

/* Products Section */
.products {
	padding: 30px 0;
}

.section-title {
	text-align: center;
	margin-bottom: 40px;
}

.products .section-title p{
	margin-top: 10px;
	color: var(--primary-text-color);
}

.section-title h2 {
	font-size: 36px;
	color: var(--primary-title-color);
	position: relative;
	display: inline-block;
	padding-bottom: 10px;
}

.section-title h2::after {
	content: '';
	position: absolute;
	width: 50%;
	height: 3px;
	background-color: var(--primary-brand-color);
	bottom: 0;
	left: 25%;
}

.product-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	margin-bottom: 40px;
}

.product-card {
	background-color: var(--product-card-background-color);
	border-radius: 10px;
	overflow: hidden;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;
	transition: transform 0.3s, box-shadow 0.3s;
	position: relative;
}

@media (hover: hover) and (pointer: fine) {
	.product-card:hover {
		transform: translateY(-10px);
		box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
	}
}

.product-badge {
	position: absolute;
	top: 10px;
	right: 10px;
	background-color: var(--tag-badge-background-color);
	color: var(--tag-badge-text-color);
	padding: 5px 10px;
	border-radius: 20px;
	font-size: 10px;
	font-weight: bold;
	z-index: 5;
}
.out-of-stock-badge {
	position: absolute;
	top: 10px;
	right: 10px;
	background-color: var(--out-of-stock-badge-background-color);
	color: var(--out-of-stock-badge-text-color);
	padding: 5px 10px;
	border-radius: 20px;
	font-size: 10px;
	font-weight: bold;
	z-index: 5;
}

.discount-badge {
	position: absolute;
	top: 10px;
	right: 10px;
	background-color: var(--discount-badge-background-color);
	color: var(--discount-badge-text-color);
	padding: 5px 10px;
	border-radius: 20px;
	font-size: 10px;
	font-weight: bold;
	z-index: 5;
}

.product-img {
	height: 300px;
	overflow: visible;
	position: relative;
	display: flex;
	flex-direction: column;
}

.product-img a {
	flex: 1;
	overflow: hidden;
	display: block;
	position: relative;
	z-index: 1;
}

.product-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s;
}

@media (hover: hover) and (pointer: fine) {
	.product-card:hover .product-img img {
		transform: scale(1.1);
	}
}

/* Favorite Button Overlay - Top Left */
.add-to-fav-overlay {
	position: absolute;
	top: 10px;
	left: 10px;
	width: 45px;
	height: 45px;
	background: var(--primary-background-color);
	border: 2px solid var(--primary-brand-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 10;
	transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

@media (hover: hover) and (pointer: fine) {
	.add-to-fav-overlay {
		backdrop-filter: blur(10px);
	}
}

.add-to-fav-overlay i {
	font-size: 20px;
	color: var(--heart-icon-empty-color);
	transition: color 0.3s ease, transform 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
	.add-to-fav-overlay:hover {
		background: var(--primary-background-color);
		transform: scale(1.1);
	}
}

@media (hover: hover) and (pointer: fine) {
	.add-to-fav-overlay:hover i {
		color: var(--heart-icon-filled-color);
		transform: scale(1.1);
	}
}

.add-to-fav-overlay.favorited {
	background: var(--primary-background-color);
	border-color: var(--primary-brand-color);
}

.add-to-fav-overlay.favorited i {
	color: var(--heart-icon-filled-color);
}

.add-to-fav-overlay.favorited:hover {
	background: var(--primary-background-color);
	border-color: var(--primary-brand-color);
}

/* Add to Cart Button Overlay - Premium Design */
.add-to-cart-overlay {
	position: relative;
	bottom: auto;
	left: 0;
	right: 0;
	width: 100%;
	padding: 10px 15px;
	background: var(--primary-button-background-color);
	background-size: 200% 100%;
	color: var(--primary-button-text-color);
	border: none;
	cursor: pointer;
	font-size: 12px;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	opacity: 1;
	transform: translateY(0);
	transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), background-position 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
	z-index: 100;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	font-family: var(--font-family, 'Roboto', sans-serif);
	overflow: hidden;
	margin-top: auto;
}

@media (hover: hover) and (pointer: fine) {
	.add-to-cart-overlay {
		backdrop-filter: blur(10px);
	}
}

/* Animated gradient background */
.add-to-cart-overlay::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, 
		transparent 0%, 
		rgba(255, 255, 255, 0.3) 50%,
		transparent 100%);
	transform: translateX(-100%);
	transition: transform 0.6s ease;
	z-index: -1;
}

@media (hover: hover) and (pointer: fine) {
	.add-to-cart-overlay:hover::after {
		transform: translateX(100%);
	}
}

/* Sparkle effect */
.add-to-cart-overlay::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.6);
	transform: translate(-50%, -50%);
	transition: width 0.6s ease, height 0.6s ease;
	z-index: -1;
}

@media (hover: hover) and (pointer: fine) {
	.add-to-cart-overlay:hover::before {
		width: 300px;
		height: 300px;
		opacity: 0;
	}
}

.add-to-cart-overlay i {
	font-size: 16px;
	transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55), filter 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
	color: var(--primary-button-text-color);
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}

.add-to-cart-overlay span {
	position: relative;
	transition: letter-spacing 0.3s ease, text-shadow 0.3s ease;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
	font-weight: 900;
	color: var(--primary-button-text-color);
}

@media (hover: hover) and (pointer: fine) {
	.add-to-cart-overlay:hover {
		background-position: 100% 0;
		transform: translateY(-4px) scale(1.02);
	}
}

@media (hover: hover) and (pointer: fine) {
	.add-to-cart-overlay:hover i {
		transform: rotate(360deg) scale(1.3);
		filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
	}
}

@media (hover: hover) and (pointer: fine) {
	.add-to-cart-overlay:hover span {
		letter-spacing: 3px;
		text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	}
}

.add-to-cart-overlay:active {
	transform: translateY(-2px) scale(0.98);
	transition: transform 0.1s ease;
}

/* Pulse animation for extra attention */
@keyframes cart-pulse {
	0%, 100% {
		box-shadow: 
			0 -8px 25px rgba(212, 175, 55, 0.4),
			inset 0 1px 0 rgba(255, 255, 255, 0.3);
	}
	50% {
		box-shadow: 
			0 -12px 35px rgba(212, 175, 55, 0.6),
			inset 0 1px 0 rgba(255, 255, 255, 0.4);
	}
}

@media (hover: hover) and (pointer: fine) {
	.product-card:hover .add-to-cart-overlay {
		animation: cart-pulse 2s ease-in-out infinite;
	}
}

.product-info {
	padding: 20px;
	text-align: center;
}

.product-info h3 {
	font-size: 20px;
	margin-bottom: 10px;
	color: var(--product-card-text-color);
}

.product-info p {
	color: var(--product-card-text-color);
	margin-bottom: 15px;
	font-size: 14px;
}

.product-card-short-description {
	color: var(--product-card-text-color);
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 1.4;
	opacity: 0.85;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.product-price {
	font-size: 22px;
	font-weight: bold;
	color: var(--original-price-color);
	margin-bottom: 15px;
}

.product-actions {
	display: flex;
	justify-content: center;
	gap: 10px;
}

.product-actions button {
	padding: 8px 15px;
	border: none;
	border-radius: 5px;
	cursor: pointer;
	transition: background-color 0.3s, color 0.3s, transform 0.3s;
	font-weight: 500;
}

.add-to-cart {
	background-color: var(--primary-button-background-color);
	color: var(--primary-button-text-color);
	font-size: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.add-to-cart:hover {
	background-color: var(--primary-button-hover-background-color);
}

.add-to-fav {
	background-color: transparent;
	border: 1px solid var(--deep-bronze);
	color: var(--deep-bronze);
	font-size: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.add-to-fav.favorited {
	color: var(--royal-gold);
	border-color: var(--royal-gold);
}

.add-to-fav:hover {
	background-color: var(--warm-beige);
}

/* Pagination */
.pagination {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

.pagination-list {
	display: flex;
	list-style: none;
	gap: 10px;
}

.pagination-item a,
.pagination-item span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: var(--secondary-button-background-color);
	color: var(--secondary-button-text-color);
	font-weight: 500;
	transition: background-color 0.3s, color 0.3s;
}

.pagination-item a:hover,
.pagination-item.active a {
	background-color: var(--primary-button-hover-background-color);
	color: var(--primary-button-hover-text-color);
}

.pagination-item.disabled .pagination-link,
.pagination-link.disabled {
	opacity: 0.4;
	cursor: not-allowed;
	pointer-events: none;
	background-color: var(--primary-button-background-color);
	color: var(--primary-button-text-color);
}

.pagination-item.disabled .pagination-link:hover {
	background-color: var(--primary-button-background-color);
	color: var(--primary-button-text-color);
}

/* Simple pagination (prev | Page N | next): page label is text, not a number in a circle */
.pagination-list--simple {
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.pagination-list--simple .pagination-item--page-label .pagination-link {
	width: auto;
	min-width: 0;
	height: auto;
	min-height: 40px;
	padding: 8px 16px;
	border-radius: 999px;
	white-space: nowrap;
}

.pagination-list--simple .pagination-item--page-label.active .pagination-link {
	background-color: var(--primary-button-hover-background-color);
	color: var(--primary-button-hover-text-color);
}

.pagination-list--simple .pagination-item:not(.pagination-item--page-label) .pagination-link {
	width: 40px;
	height: 40px;
	padding: 0;
	border-radius: 50%;
	flex-shrink: 0;
}

.no-products {
	padding: 20px;
	text-align: center;
	color: var(--primary-brand-color);
	font-size: 16px;
	grid-column: span 4;
}

.discounted-price {
	text-decoration: line-through;
	color: var(--discount-price-color);
	font-size: 14px;
	font-weight: 500;
}

/* Toast Notification Styles */
.toast-container {
	position: fixed;
	bottom: 30px;
	left: 30px;
	z-index: 9999;
}

.toast {
	padding: 15px 25px;
	background-color: var(--primary-brand-color);
	color: var(--primary-text-color);
	border-radius: 5px;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 15px;
	transform: translateX(-150%);
	transition: transform 0.3s ease-out;
}

.toast.show {
	transform: translateX(0);
}

.toast i {
	font-size: 20px;
}

.toast.success {
	background-color: #128C7E;
	color: #ffffff;
}

.toast.error {
	background-color: #ff6b6b;
	color: white;
}

/* Cart Icon Pulse Animation */
@keyframes cartPulse {
	0% {
		transform: scale(1);
	}
	25% {
		transform: scale(1.2);
	}
	50% {
		transform: scale(1);
	}
	75% {
		transform: scale(1.15);
	}
	100% {
		transform: scale(1);
	}
}

.cart-pulse {
	animation: cartPulse 0.6s ease-in-out;
}

#cart-icon {
	transition: transform 0.3s ease;
	cursor: pointer;
}

/* Floating Cart Widget - Styles moved to floating_cart-v1.css */

.text-danger {
	color: red;
}

.cart-item-size{
	margin-bottom: 10px;
	font-size: 14px;
	color: var(--primary-text-color);
}

.cart-item-quantity{
	margin-bottom: 10px;
	font-size: 14px;
	color: var(--primary-text-color);
	display: flex;
	align-items: center;
	gap: 10px;
}

.cart-item-quantity .quantity-btn{
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1px solid var(--primary-brand-color);
	color: var(--primary-text-color);
	cursor: pointer;
	transition: background-color 0.3s, color 0.3s, border-color 0.3s;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
}

.cart-item-priceAfterDiscount{
	text-decoration: line-through;
	color: var(--discount-price-color);
	font-size: 14px;
}

.cart-item-price-container{
	display: flex;
	align-items: center;
	gap: 10px;
}

.cart-item-quantity .quantity-btn:hover{
	background-color: var(--primary-button-hover-background-color);
	color: var(--primary-button-hover-text-color);
}

.cart-item-quantity .quantity-btn.plus:hover{
	background-color: var(--primary-button-hover-background-color);
	color: var(--primary-button-hover-text-color);
}

.cart-item-quantity .quantity-btn.minus:hover{
	background-color: var(--primary-button-hover-background-color);
	color: var(--primary-button-hover-text-color);
}

.cart-item-quantity .quantity-btn.plus:hover{
	background-color: var(--primary-button-hover-background-color);
	color: var(--primary-button-hover-text-color);
}

.cart-item-quantity .quantity-input{
	width: 50px;
	height: 30px;
	border-radius: 5px;
	border: 1px solid var(--primary-brand-color);
	color: var(--primary-text-color);
	text-align: center;
	font-size: 14px;
	font-weight: 500;
	transition: border-color 0.3s, box-shadow 0.3s;
}

.cart-item-quantity .quantity-input:focus{
	outline: none;
	border-color: var(--primary-brand-color);
}

.cart-item-quantity .quantity-input:focus{
	outline: none;
	border-color: var(--primary-brand-color);
}

/* Error Page Styles */
.error-page {
	padding: 80px 0;
	text-align: center;
}

.error-content {
	max-width: 600px;
	margin: 0 auto;
	padding: 40px;
	background-color: var(--primary-background-color);
	border-radius: 10px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.error-icon {
	font-size: 80px;
	color: var(--primary-brand-color);
	margin-bottom: 20px;
}

.error-page h1 {
	font-size: 120px;
	color: var(--primary-brand-color);
	margin: 0;
	line-height: 1;
	font-weight: 700;
}

.error-page h2 {
	font-size: 32px;
	color: var(--primary-title-color);
	margin-bottom: 20px;
}

.error-page p {
	font-size: 18px;
	color: var(--primary-text-color);
	margin-bottom: 30px;
}

.error-actions {
	margin-top: 30px;
}

.return-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 25px;
	background-color: var(--primary-button-background-color);
	color: var(--primary-button-text-color);
	border-radius: 5px;
	font-weight: 600;
	transition: background-color 0.3s, color 0.3s;
}

.return-btn:hover {
	background-color: var(--primary-button-hover-background-color);
	color: var(--primary-button-hover-text-color);
}

/* Responsive Design */
@media (max-width: 992px) {
	.product-grid {
		grid-template-columns: 1fr 1fr;
	}

	.product-img {
		height: 200px;
	}

	.for-mobile-show{
		display: block;
	}

	.for-mobile-hide{
		display: none;
	}

	.product-info h3 {
		font-size: 14px;
	}

	.size {
		font-size: 12px;
	}

	.product-price {
		font-size: 14px;
	}

	.discounted-price {
		font-size: 11px;
	}

	/* Hero styles moved to hero-v1.css */

	/* Mobile overlay button adjustments */
	.add-to-fav-overlay {
		width: 38px;
		height: 38px;
		top: 8px;
		left: 8px;
	}

	.add-to-fav-overlay i {
		font-size: 16px;
	}

	.add-to-cart-overlay {
		padding: 10px 10px;
		font-size: 11px;
		letter-spacing: 1.5px;
		gap: 0;
	}

	.add-to-cart-overlay i {
		font-size: 18px;
	}

	.add-to-cart-overlay span {
		display: none;
	}

	.add-to-cart-overlay:hover i {
		transform: rotate(360deg) scale(1.2);
	}
}

@media (max-width: 768px) {
	.menu-toggle {
		display: block;
	}

	.toast-container {
		bottom: 20px;
		right: 20px;
		left: 20px;
	}

	.toast {
		width: calc(100% - 40px);
	}

	/* Floating Cart Widget - Mobile - Styles moved to floating_cart-v1.css */
	/* Navbar mobile styles moved to navbar-v1.css */

	/* Hero styles moved to hero-v1.css */

	.cart-panel {
		width: 90%;
		right: -100%;
	}

	.product-card{
		box-shadow: none;
	}
}

/* Luxury Chat Widget */
  .luxury-chat {
	position: fixed;
	bottom: 60px;
	right: 30px;
	z-index: 9999;
	font-family: var(--font-family, 'Roboto', sans-serif);
  }

  .chat-toggle {
	width: 60px;
	height: 60px;
	background: linear-gradient(135deg, var(--royal-gold), var(--deep-bronze));
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 10px 25px rgba(140, 106, 37, 0.3);
	transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
	position: relative;
  }

  .chat-toggle i {
	color: var(--ivory-white);
	font-size: 24px;
  }

  .chat-toggle:hover {
	transform: scale(1.1) rotate(10deg);
	box-shadow: 0 15px 30px rgba(140, 106, 37, 0.4);
  }

  /* Push chat up when fixed action bar is visible */
  .luxury-chat.push-up {
	bottom: 120px;
	transition: bottom 0.3s ease;
  }

  .pulse-dot {
	position: absolute;
	top: 5px;
	right: 5px;
	width: 12px;
	height: 12px;
	background-color: #ff4d4d;
	border-radius: 50%;
	border: 2px solid var(--ivory-white);
	animation: pulse 2s infinite;
  }

  @keyframes pulse {
	0% { transform: scale(1); }
	50% { transform: scale(1.2); }
	100% { transform: scale(1); }
  }

  .chat-container {
	position: absolute;
	bottom: 80px;
	right: 0;
	width: 380px;
	background-color: var(--ivory-white);
	border-radius: 15px;
	box-shadow: 0 15px 40px rgba(28, 28, 28, 0.15);
	overflow: hidden;
	transform: translateY(20px);
	opacity: 0;
	visibility: hidden;
	transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), visibility 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
	border: 1px solid rgba(212, 175, 55, 0.2);
  }

  .luxury-chat.active .chat-container {
	transform: translateY(0);
	opacity: 1;
	visibility: visible;
  }

  .chat-header {
	background: linear-gradient(to right, var(--royal-gold), var(--deep-bronze));
	color: var(--ivory-white);
	padding: 18px 20px;
	display: flex;
	align-items: center;
	gap: 12px;
  }

  .perfume-icon {
	width: 36px;
	height: 36px;
	background-color: rgba(255, 255, 255, 0.2);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
  }

  .chat-header h4 {
	font-size: 16px;
	font-weight: 600;
	margin: 0;
	flex-grow: 1;
	letter-spacing: 0.5px;
  }

  .chat-actions {
	display: flex;
	gap: 15px;
  }

  .chat-actions i {
	cursor: pointer;
	transition: color 0.3s, opacity 0.3s;
	font-size: 14px;
	opacity: 0.8;
  }

  .chat-actions i:hover {
	opacity: 1;
	transform: scale(1.1);
  }

  .chat-body {
	height: 350px;
	padding: 20px;
	overflow-y: auto;
	background-color: var(--ivory-white);
  }

  .welcome-message {
	text-align: center;
	margin-bottom: 25px;
	padding-bottom: 25px;
	border-bottom: 1px dashed rgba(140, 106, 37, 0.2);
  }

  .perfume-bottle {
	width: 50px;
	height: 50px;
	margin: 0 auto 15px;
	background: linear-gradient(135deg, rgba(212, 175, 55, 0.1), rgba(140, 106, 37, 0.1));
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--deep-bronze);
	font-size: 20px;
  }

  .welcome-message p {
	font-size: 15px;
	color: var(--deep-bronze);
	margin: 0;
	line-height: 1.5;
  }

  .welcome-message p span {
	font-size: 13px;
	color: var(--charcoal-black);
	opacity: 0.7;
	display: block;
	margin-top: 5px;
  }

  .message-container {
	display: flex;
	flex-direction: column;
	gap: 15px;
  }

  .message {
	display: flex;
	gap: 10px;
	max-width: 85%;
  }

  .message.bot {
	align-self: flex-start;
  }

  .message.user {
	align-self: flex-end;
	flex-direction: row-reverse;
  }

  .avatar {
	width: 32px;
	height: 32px;
	background: linear-gradient(135deg, var(--royal-gold), var(--deep-bronze));
	color: var(--ivory-white);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: bold;
	flex-shrink: 0;
	margin-top: 5px;
  }

  .bubble {
	padding: 12px 15px;
	border-radius: 18px;
	position: relative;
	font-size: 14px;
	line-height: 1.4;
	width: 100%;
	overflow-x: hidden;
	text-wrap: auto;
  }

  .message.bot .bubble {
	background-color: rgba(212, 175, 55, 0.1);
	color: var(--charcoal-black);
	border-top-left-radius: 5px;
  }

  .message.user .bubble {
	background: linear-gradient(135deg, var(--royal-gold), var(--deep-bronze));
	color: var(--ivory-white);
	border-top-right-radius: 5px;
  }

  .time {
	display: block;
	font-size: 10px;
	opacity: 0.7;
	margin-top: 5px;
	text-align: right;
  }

  .chat-footer {
	padding: 15px 20px;
	background-color: var(--ivory-white);
	border-top: 1px solid rgba(140, 106, 37, 0.1);
  }

  .input-container {
	position: relative;
	display: flex;
	align-items: center;
  }

  .input-container textarea {
	width: 100%;
	padding: 12px 50px 12px 15px;
	border: 1px solid rgba(140, 106, 37, 0.3);
	border-radius: 30px;
	font-size: 14px;
	outline: none;
	transition: border-color 0.3s, box-shadow 0.3s;
	background-color: rgba(247, 229, 183, 0.2);
	white-space: pre-wrap;
	overflow-wrap: break-word;
	height: auto;
	min-height: 45px;
	max-height: 100px;
	overflow-y: auto;
  }

  .input-container textarea:focus {
	border-color: var(--royal-gold);
	box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.2);
  }

  .pulse-hide{
	display: none;
  }

  .input-actions {
	position: absolute;
	right: 5px;
	display: flex;
	align-items: center;
	gap: 5px;
  }

  .input-actions i {
	color: var(--ivory-white);
	cursor: pointer;
	padding: 5px;
	opacity: 0.7;
	transition: opacity 0.3s, color 0.3s;
  }

  .input-actions i:hover {
	opacity: 1;
	color: var(--ivory-white);
  }

  .send-btn {
	width: 32px;
	height: 32px;
	border: none;
	background: linear-gradient(135deg, var(--royal-gold), var(--deep-bronze));
	color: var(--ivory-white);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: transform 0.3s;
  }

  .send-btn:hover {
	transform: scale(1.1);
  }

  .disclaimer {
	font-size: 11px;
	text-align: center;
	margin-top: 10px;
	color: var(--deep-bronze);
	opacity: 0.7;
  }

/* Responsive adjustments */
@media (max-width: 480px) {
    .luxury-chat {
        bottom: 50px;
        right: 20px;
    }

    .chat-container {
        width: 320px;
    }

    .luxury-chat.push-up {
        bottom: 110px;
    }
}

  .announcement-container {
	background-color: var(--announcement-bar-background-color);
	color: var(--announcement-bar-text-color);
	padding: 8px 0;
	overflow: hidden;
	position: fixed;
	width: 100%;
	z-index: 1000;
	top: 0;
	left: 0;
	right: 0;
}

.announcement-wrapper {
	display: flex;
	animation: scroll-announcement 20s linear infinite;
	white-space: nowrap;
	width: 100%;
}

.announcement-item {
	display: inline-flex;
	align-items: center;
	padding: 0 30px;
	font-size: 14px;
	font-weight: bolder;
}

.announcement-item i {
	margin-right: 8px;
	font-size: 14px;
}

@keyframes scroll-announcement {
	0% {
		transform: translateX(100%);
	}

	100% {
		transform: translateX(-100%);
	}
}

/* Pause animation on hover */
.announcement-container:hover .announcement-wrapper {
	animation-play-state: paused;
}

/* Responsive adjustments */
@media (max-width: 768px) {
	.announcement-item {
		padding: 0 15px;
		font-size: 12px;
	}

	.announcement-item i {
		font-size: 12px;
	}
}

.whatsapp-circle {
  position: fixed;
  bottom: 10px;
  right: 10px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: linear-gradient(135deg, #25D366, #128C7E);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: 0 10px 25px rgba(18, 140, 126, 0.35);
  z-index: 998;
  transition: transform 0.25s ease, box-shadow 0.25s ease, opacity 0.2s ease;
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

.whatsapp-circle i {
  font-size: 28px;
}

.whatsapp-circle:hover {
  transform: scale(1.08);
  box-shadow: 0 14px 30px rgba(18, 140, 126, 0.45);
}


.whatsapp-circle.push-up-65 {
	bottom: 65px !important;
	transition: bottom 0.3s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

/* Push WhatsApp up when fixed action bar is visible */
.whatsapp-circle.push-up {
  bottom: 95px !important;
  transition: bottom 0.3s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

/* Push floating cart widget up when fixed action bar is visible - Styles moved to floating_cart-v1.css */

/* Scroll to Top Bar - Styles moved to back_to_top-v1.css */

/* Mobile Bottom Navigation - Styles moved to mobile_bottom_nav-v1.css */

/* Responsive for scroll top bar */
@media (max-width: 768px) {
  /* Scroll top bar styles moved to back_to_top-v1.css */
  
  /* Mobile bottom nav styles moved to mobile_bottom_nav-v1.css */
  
  /* Adjust WhatsApp and floating cart widget position for mobile bottom nav */
  .whatsapp-circle {
    bottom: 65px;
  }
  
  /* Floating cart widget styles moved to floating_cart-v1.css */
  
  .whatsapp-circle.push-up {
    bottom: 105px !important;
  }
}

@media (max-width: 480px) {
  .whatsapp-circle {
    bottom: 65px;
    width: 56px;
    height: 56px;
  }

  .whatsapp-circle i {
    font-size: 26px;
  }

  .whatsapp-circle.push-up {
    bottom: 105px !important;
  }

  /* Floating cart push-up styles moved to floating_cart-v1.css */

  /* Hero styles moved to hero-v1.css */
}

/* Categories styles moved to categories-v1.css */

/* Section Header with View All Button */
.section-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 50px;
	flex-wrap: wrap;
	gap: 20px;
}

.section-header .section-title {
	text-align: left;
	margin-bottom: 0;
}

/* View All Button - Desktop (beside title) */
.view-all-desktop {
	display: inline-flex;
}

/* View All Button - Mobile (below products) - Hidden on desktop */
.view-all-mobile {
	display: none !important;
}

.view-all-container {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

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

.btn-primary:hover{
	background: var(--primary-button-hover-background-color);
	color: var(--primary-button-hover-text-color);
}

.view-all-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 28px;
	background: linear-gradient(135deg, var(--primary-brand-color), var(--secondary-brand-color));
	color: var(--primary-button-text-color);
	text-decoration: none;
	border-radius: 30px;
	font-weight: 600;
	font-size: 15px;
	transition: transform 0.3s ease, background-color 0.3s ease, color 0.3s ease;
	letter-spacing: 0.5px;
}

.view-all-btn:hover {
	transform: translateY(-2px);
}

.view-all-btn i {
	transition: transform 0.3s ease;
	font-size: 14px;
}

.view-all-btn:hover i {
	transform: translateX(4px);
}

/* New Arrivals Section */
.new-arrivals-section {
	padding: 70px 0;
	background: var(--primary-background-color);
}

.new-arrivals-section .section-title h2 {
	font-size: 38px;
	color: var(--primary-title-color);
	margin-bottom: 12px;
	font-weight: 700;
	letter-spacing: 0.5px;
}

.new-arrivals-section .section-title h2::after {
	content: '';
	display: block;
	width: 60px;
	height: 3px;
	background: var(--primary-brand-color);
	margin: 15px auto 0;
}

.new-arrivals-section .section-title p {
	font-size: 16px;
	color: var(--primary-text-color);
	opacity: 0.7;
	margin-top: 10px;
}

.new-arrivals-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 25px;
}

.new-product-card {
	position: relative;
	transition: transform 0.3s ease;
}

.new-product-card:hover {
	transform: translateY(-5px);
}

.new-product-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.new-product-image {
	position: relative;
	width: 100%;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 12px;
	margin-bottom: 15px;
}

.new-product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.new-product-card:hover .new-product-image img {
	transform: scale(1.1);
}

.new-badge {
	position: absolute;
	top: 15px;
	right: 5px;
	background: var(--tag-badge-background-color);
	color: var(--tag-badge-text-color);
	padding: 6px 16px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	z-index: 2;
}

.new-product-info {
	text-align: center;
	padding: 0 10px;
}

.new-product-name {
	font-size: 18px;
	font-weight: 600;
	color: var(--primary-text-color);
	margin-bottom: 8px;
	transition: color 0.3s ease;
}

.new-product-card:hover .new-product-name {
	color: var(--primary-brand-color);
}

.new-product-category {
	font-size: 14px;
	color: var(--secondary-text-color);
	opacity: 0.6;
	margin-bottom: 10px;
}

.new-product-short-description {
	font-size: 13px;
	color: var(--primary-text-color);
	opacity: 0.75;
	margin-bottom: 10px;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.new-product-price {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
}

.new-product-price .price {
	font-size: 20px;
	font-weight: 700;
	color: var(--original-price-color);
}

.new-product-price .price-original {
	font-size: 16px;
	font-weight: 500;
	color: var(--discount-price-color);
	opacity: 0.5;
	text-decoration: line-through;
}

.new-product-price .price-discounted {
	font-size: 20px;
	font-weight: 700;
	color: var(--original-price-color);
}

/* Responsive Design for New Arrivals */
@media (max-width: 992px) {
	.new-arrivals-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	.new-arrivals-section {
		padding: 60px 0;
	}

	.new-arrivals-section .section-title h2 {
		font-size: 32px;
	}

	/* Hide desktop button, show mobile button */
	.view-all-desktop {
		display: none !important;
	}

	.view-all-mobile {
		display: flex !important;
	}

	/* Center section title on mobile */
	.section-header {
		justify-content: center;
	}

	.section-header .section-title {
		text-align: center;
		width: 100%;
	}
}

@media (max-width: 576px) {
	.new-arrivals-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}

	.new-arrivals-section {
		padding: 50px 0;
	}

	.new-arrivals-section .section-title h2 {
		font-size: 28px;
	}

	.new-product-name {
		font-size: 16px;
	}

	.new-product-category {
		font-size: 13px;
	}

	.new-product-price .price {
		font-size: 18px;
	}

	.new-product-price .price-original {
		font-size: 14px;
	}

	.new-product-price .price-discounted {
		font-size: 18px;
	}

	.new-badge {
		padding: 5px 12px;
		font-size: 11px;
		top: 10px;
		right: 10px;
	}
}

/* Best Sellers Section */
.best-sellers-section {
	padding: 70px 0;
	background: linear-gradient(135deg, var(--primary-background-color) 0%, var(--secondary-background-color) 100%);
}

.best-sellers-section .section-title h2 {
	font-size: 38px;
	color: var(--primary-title-color);
	margin-bottom: 12px;
	font-weight: 700;
	letter-spacing: 0.5px;
}

.best-sellers-section .section-title h2::after {
	content: '';
	display: block;
	width: 60px;
	height: 3px;
	background: var(--primary-brand-color);
	margin: 15px auto 0;
}

.best-sellers-section .section-title p {
	font-size: 16px;
	color: var(--primary-text-color);
	opacity: 0.7;
	margin-top: 10px;
}

.best-sellers-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 25px;
}

.best-seller-card {
	position: relative;
	transition: transform 0.3s ease;
}

.best-seller-card:hover {
	transform: translateY(-5px);
}

.best-seller-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.best-seller-image {
	position: relative;
	width: 100%;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 12px;
	margin-bottom: 15px;
	background: var(--primary-background-color);
}

.best-seller-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.best-seller-card:hover .best-seller-image img {
	transform: scale(1.1);
}

.best-seller-badge {
	position: absolute;
	top: 15px;
	right: 5px;
	background: var(--tag-badge-background-color);
	color: var(--tag-badge-text-color);
	padding: 6px 16px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	z-index: 2;
}

.best-seller-info {
	text-align: center;
	padding: 0 10px;
}

.best-seller-name {
	font-size: 18px;
	font-weight: 600;
	color: var(--primary-text-color);
	margin-bottom: 8px;
	transition: color 0.3s ease;
}

.best-seller-card:hover .best-seller-name {
	color: var(--primary-brand-color);
}

.best-seller-category {
	font-size: 14px;
	color: var(--secondary-text-color);
	opacity: 0.6;
	margin-bottom: 10px;
}

.best-seller-short-description {
	font-size: 13px;
	color: var(--primary-text-color);
	opacity: 0.75;
	margin-bottom: 10px;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.best-seller-price {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
	color: var(--original-price-color);
}

.best-seller-price .price {
	font-size: 20px;
	font-weight: 700;
	color: var(--original-price-color);
}

.best-seller-price .price-original {
	font-size: 16px;
	font-weight: 500;
	color: var(--discount-price-color);
	opacity: 0.5;
	text-decoration: line-through;
}

.best-seller-price .price-discounted {
	font-size: 20px;
	font-weight: 700;
	color: var(--original-price-color);
}

/* Responsive Design for Best Sellers */
@media (max-width: 992px) {
	.best-sellers-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	.best-sellers-section {
		padding: 60px 0;
	}

	.best-sellers-section .section-title h2 {
		font-size: 32px;
	}
}

@media (max-width: 576px) {
	.best-sellers-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}

	.best-sellers-section {
		padding: 50px 0;
	}

	.best-sellers-section .section-title h2 {
		font-size: 28px;
	}

	.best-seller-name {
		font-size: 16px;
	}

	.best-seller-category {
		font-size: 13px;
	}

	.best-seller-price .price {
		font-size: 18px;
	}

	.best-seller-price .price-original {
		font-size: 14px;
	}

	.best-seller-price .price-discounted {
		font-size: 18px;
	}

	.best-seller-badge {
		padding: 5px 12px;
		font-size: 11px;
		top: 10px;
		right: 10px;
	}
}

/* Best Offers Section */
.best-offers-section {
	padding: 70px 0;
	background: linear-gradient(135deg,var(--secondary-background-color) 0%, var(--primary-background-color) 100%);
}

.best-offers-section .section-title h2 {
	font-size: 38px;
	color: var(--primary-title-color);
	margin-bottom: 12px;
	font-weight: 700;
	letter-spacing: 0.5px;
}

.best-offers-section .section-title h2::after {
	content: '';
	display: block;
	width: 60px;
	height: 3px;
	background: var(--primary-brand-color);
	margin: 15px auto 0;
}

.best-offers-section .section-title p {
	font-size: 16px;
	color: var(--primary-text-color);
	opacity: 0.7;
	margin-top: 10px;
}

.best-offers-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 25px;
}

.best-offer-card {
	position: relative;
	transition: transform 0.3s ease;
}

.best-offer-card:hover {
	transform: translateY(-5px);
}

.best-offer-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.best-offer-image {
	position: relative;
	width: 100%;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 12px;
	margin-bottom: 15px;
}

.best-offer-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.best-offer-card:hover .best-offer-image img {
	transform: scale(1.1);
}

.best-offer-badge {
	position: absolute;
	top: 15px;
	right: 5px;
	background: var(--discount-badge-background-color);
	color: var(--discount-badge-text-color);
	padding: 8px 18px;
	border-radius: 20px;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	z-index: 2;
}

.best-offer-info {
	text-align: center;
	padding: 0 10px;
}

.best-offer-name {
	font-size: 18px;
	font-weight: 600;
	color: var(--primary-text-color);
	margin-bottom: 8px;
	transition: color 0.3s ease;
}

.best-offer-card:hover .best-offer-name {
	color: var(--primary-brand-color);
}

.best-offer-category {
	font-size: 14px;
	color: var(--secondary-text-color);
	opacity: 0.6;
	margin-bottom: 10px;
}

.best-offer-short-description {
	font-size: 13px;
	color: var(--primary-text-color);
	opacity: 0.75;
	margin-bottom: 10px;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.best-offer-price {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
}

.best-offer-price .price-original {
	font-size: 16px;
	font-weight: 500;
	opacity: 0.5;
	color: var(--discount-price-color);
	text-decoration: line-through;
}

.best-offer-price .price-discounted {
	font-size: 20px;
	font-weight: 700;
	color: var(--original-price-color);
}

/* Responsive Design for Best Offers */
@media (max-width: 992px) {
	.best-offers-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	.best-offers-section {
		padding: 60px 0;
	}

	.best-offers-section .section-title h2 {
		font-size: 32px;
	}
}

@media (max-width: 576px) {
	.best-offers-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}

	.best-offers-section {
		padding: 50px 0;
	}

	.best-offers-section .section-title h2 {
		font-size: 28px;
	}

	.best-offer-name {
		font-size: 16px;
	}

	.best-offer-category {
		font-size: 13px;
	}

	.best-offer-price .price-original {
		font-size: 14px;
	}

	.best-offer-price .price-discounted {
		font-size: 18px;
	}

	.best-offer-badge {
		padding: 6px 14px;
		font-size: 11px;
		top: 10px;
		right: 10px;
	}
}

/* Infinite Scroll Loading Indicator */
.loading-indicator {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 40px 20px;
	gap: 15px;
}

.loading-indicator i {
	font-size: 40px;
	color: var(--primary-brand-color);
	animation: spin 1s linear infinite;
}

.loading-indicator p {
	font-size: 16px;
	color: var(--primary-text-color);
	opacity: 0.7;
	margin: 0;
}

.end-of-products {
	text-align: center;
	padding: 40px 20px;
	margin-top: 20px;
}

.end-of-products p {
	font-size: 16px;
	color: var(--primary-text-color);
	opacity: 0.6;
	margin: 0;
	font-style: italic;
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

/* Categories responsive styles moved to categories-v1.css */

/* Page Loader Styles - Elegant & Luxurious */
.page-loader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--primary-background-color) 0%, var(--secondary-background-color) 100%);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s ease, visibility 0.4s ease;
}

@media (hover: hover) and (pointer: fine) {
	.page-loader {
		backdrop-filter: blur(10px);
	}
}

.page-loader.active {
	opacity: 1;
	visibility: visible;
}

.loader-spinner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 30px;
}

/* Elegant perfume bottle inspired spinner */
.spinner-ring {
	position: absolute;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	border: 2px solid transparent;
	border-top: 2px solid var(--primary-brand-color);
	border-right: 2px solid var(--primary-brand-color);
	animation: elegant-spin 1.8s cubic-bezier(0.4, 0, 0.2, 1) infinite;
	box-shadow: 0 0 20px rgba(212, 175, 55, 0.3);
}

.spinner-ring:nth-child(2) {
	width: 75px;
	height: 75px;
	border-top: 2px solid var(--primary-brand-color);
	border-right: 2px solid var(--primary-brand-color);
	animation: elegant-spin-reverse 1.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
	box-shadow: 0 0 15px rgba(140, 106, 37, 0.2);
}

.spinner-ring:nth-child(3) {
	width: 50px;
	height: 50px;
	border-top: 2px solid var(--primary-brand-color);
	border-right: 2px solid var(--primary-brand-color);
	animation: elegant-spin 1.2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
	box-shadow: 0 0 10px rgba(184, 134, 11, 0.2);
}

/* Center decorative dot */
.spinner-ring::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 8px;
	height: 8px;
	background: var(--primary-brand-color);
	border-radius: 50%;
	box-shadow: 0 0 10px var(--primary-brand-color);
	animation: pulse-dot 1.5s ease-in-out infinite;
}

.loader-text {
	margin-top: 120px;
	font-size: 18px;
	font-weight: 600;
	color: var(--primary-text-color);
	letter-spacing: 3px;
	text-transform: uppercase;
	font-family: var(--font-family, 'Roboto', sans-serif);
	animation: fade-in-out 2s ease-in-out infinite;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Elegant spinning animation */
@keyframes elegant-spin {
	0% {
		transform: rotate(0deg);
		opacity: 1;
	}
	50% {
		opacity: 0.7;
	}
	100% {
		transform: rotate(360deg);
		opacity: 1;
	}
}

@keyframes elegant-spin-reverse {
	0% {
		transform: rotate(360deg);
		opacity: 1;
	}
	50% {
		opacity: 0.7;
	}
	100% {
		transform: rotate(0deg);
		opacity: 1;
	}
}

@keyframes pulse-dot {
	0%, 100% {
		transform: translate(-50%, -50%) scale(1);
		opacity: 1;
	}
	50% {
		transform: translate(-50%, -50%) scale(1.5);
		opacity: 0.5;
	}
}

@keyframes fade-in-out {
	0%, 100% {
		opacity: 0.5;
		transform: translateY(0);
	}
	50% {
		opacity: 1;
		transform: translateY(-3px);
	}
}

/* Responsive adjustments for page loader */
@media (max-width: 768px) {
	.spinner-ring {
		width: 80px;
		height: 80px;
	}

	.spinner-ring:nth-child(2) {
		width: 60px;
		height: 60px;
	}

	.spinner-ring:nth-child(3) {
		width: 40px;
		height: 40px;
	}

	.spinner-ring::before {
		width: 6px;
		height: 6px;
	}

	.loader-text {
		margin-top: 100px;
		font-size: 16px;
		letter-spacing: 2px;
	}
}

/* Exclusive Bundles Section */
.bundles-section {
	padding: 50px 0;
	background: linear-gradient(135deg, var(--tertiary-background-color) 0%, var(--tertiary-background-color) 100%);
	position: relative;
	overflow: hidden;
}

.bundles-section::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: 
		radial-gradient(circle at 20% 50%, rgba(212, 175, 55, 0.1) 0%, transparent 50%),
		radial-gradient(circle at 80% 50%, rgba(212, 175, 55, 0.08) 0%, transparent 50%);
	pointer-events: none;
}

.bundles-section .container {
	position: relative;
	z-index: 1;
}

.bundles-title-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	margin-bottom: 10px;
}

.bundles-icon {
	font-size: 28px;
	animation: float 3s ease-in-out infinite;
}

@keyframes float {
	0%, 100% {
		transform: translateY(0px);
	}
	50% {
		transform: translateY(-10px);
	}
}

.bundles-section .section-title h2 {
	font-size: 32px;
	color: var(--primary-title-color);
	margin-bottom: 0;
	font-weight: 700;
	letter-spacing: 1px;
	text-shadow: 0 2px 10px rgba(212, 175, 55, 0.3);
}

.bundles-section .section-title p {
	font-size: 14px;
	color: var(--secondary-text-color);
	opacity: 0.9;
	margin-top: 6px;
	font-style: italic;
}

.bundles-view-all {
	background: linear-gradient(135deg, var(--primary-brand-color), var(--secondary-brand-color));
	color: var(--primary-button-text-color);
	border: none;
	font-weight: 600;
}

.bundles-view-all:hover {
	background: linear-gradient(135deg, var(--primary-brand-color), var(--secondary-brand-color));
	transform: translateX(5px);
}

.bundles-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	margin-top: 30px;
}

.bundle-card {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.bundle-card.animate-in {
	opacity: 1;
	transform: translateY(0);
}

.bundle-card-inner {
	background: linear-gradient(145deg, var(--primary-background-color), var(--primary-background-color));
	border-radius: 14px;
	overflow: hidden;
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
}

.bundle-card-inner::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, rgba(212, 175, 55, 0.05) 0%, transparent 50%);
	opacity: 0;
	transition: opacity 0.4s ease;
	pointer-events: none;
	z-index: 1;
}

.bundle-card:hover .bundle-card-inner {
	transform: translateY(-8px);
	box-shadow: 
		0 20px 60px rgba(0, 0, 0, 0.6),
		0 0 0 2px var(--primary-brand-color),
		0 0 30px var(--secondary-brand-color);
}

.bundle-card:hover .bundle-card-inner::before {
	opacity: 1;
}

.bundle-image-wrapper {
	position: relative;
	width: 100%;
	height: 160px;
	overflow: hidden;
	background: linear-gradient(135deg, #1a1a1a, #2d2d2d);
}

.bundle-image-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.bundle-card:hover .bundle-image-wrapper img {
	transform: scale(1.15) rotate(2deg);
}

.bundle-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 15px;
	z-index: 2;
}

.bundle-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--tag-badge-background-color);
	color: var(--tag-badge-text-color);
	padding: 6px 14px;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	align-self: flex-start;
}

@media (hover: hover) and (pointer: fine) {
	.bundle-badge {
		backdrop-filter: blur(10px);
	}
}

.bundle-badge i {
	font-size: 13px;
}

.bundle-discount {
	display: flex;
	flex-direction: column;
	align-items: center;
	background: var(--discount-badge-background-color);
	color: var(--discount-badge-text-color);
	padding: 10px 15px;
	border-radius: 12px;
	align-self: flex-end;
	min-width: 70px;
}

.discount-value {
	font-size: 22px;
	font-weight: 800;
	line-height: 1;
	margin-bottom: 3px;
}

.discount-text {
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.bundle-shine {
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: linear-gradient(
		45deg,
		transparent 30%,
		rgba(255, 255, 255, 0.1) 50%,
		transparent 70%
	);
	transform: translateX(-100%);
	transition: transform 0.8s ease;
}

.bundle-card:hover .bundle-shine {
	transform: translateX(100%);
}

.bundle-content {
	padding: 14px;
	position: relative;
	z-index: 2;
}

.bundle-name {
	font-size: 18px;
	color: var(--primary-title-color);
	margin-bottom: 8px;
	font-weight: 700;
	line-height: 1.3;
	transition: color 0.3s ease;
}

.bundle-card:hover .bundle-name {
	color: var(--primary-brand-color);
}

.bundle-description {
	font-size: 12px;
	color: var(--secondary-text-color);
	line-height: 1.5;
	margin-bottom: 12px;
	min-height: 32px;
}

.bundle-products-preview {
	background: var(--secondary-background-color);
	border-radius: 8px;
	padding: 10px;
	margin-bottom: 12px;
	border: 1px solid var(--primary-brand-color);
}

.bundle-includes {
	display: block;
	font-size: 10px;
	color: var(--primary-title-color);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 8px;
}

.bundle-products-list {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.bundle-product-item,
.bundle-product-more {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	color: var(--secondary-text-color);
	line-height: 1.3;
}

.bundle-product-item i {
	color: var(--primary-title-color);
	font-size: 10px;
	flex-shrink: 0;
}

.bundle-product-more {
	color: var(--primary-brand-color);
	font-weight: 600;
	font-style: italic;
}

.bundle-product-more i {
	color: var(--primary-brand-color);
}

.bundle-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 12px;
	border-top: 1px solid var(--primary-brand-color);
}

.bundle-price {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.price-original {
	font-size: 12px;
	color: var(--discount-price-color);
	text-decoration: line-through;
	font-weight: 500;
}

.price-final {
	font-size: 20px;
	color: var(--original-price-color);
	font-weight: 800;
	text-shadow: 0 2px 8px rgba(212, 175, 55, 0.3);
}

.price-single {
	font-size: 20px;
	color: var(--original-price-color);
	font-weight: 800;
	text-shadow: 0 2px 8px rgba(212, 175, 55, 0.3);
}

.bundle-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--primary-button-background-color);
	color: var(--primary-button-text-color);
	padding: 8px 16px;
	border-radius: 20px;
	text-decoration: none;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.bundle-btn:hover {
	background: var(--primary-button-hover-background-color);
	color: var(--primary-button-hover-text-color);
	transform: translateX(5px);
}

.bundle-btn i {
	transition: transform 0.3s ease;
}

.bundle-btn:hover i {
	transform: translateX(5px);
}

/* Responsive Design */
@media (max-width: 1024px) {
	.bundles-grid {
		gap: 30px;
	}

	.bundle-image-wrapper {
		height: 250px;
	}

	.bundle-name {
		font-size: 22px;
	}
}

@media (max-width: 768px) {
	.bundles-section {
		padding: 60px 0;
	}

	.bundles-section .section-title h2 {
		font-size: 32px;
	}

	.bundles-icon {
		font-size: 32px;
	}

	.bundles-grid {
		grid-template-columns: 1fr;
		gap: 25px;
	}

	.bundle-image-wrapper {
		height: 220px;
	}

	.bundle-name {
		font-size: 20px;
	}

	.bundle-content {
		padding: 20px;
	}

	.bundle-footer {
		flex-direction: column;
		gap: 15px;
		align-items: stretch;
	}

	.bundle-btn {
		width: 100%;
		justify-content: center;
	}

	.price-final,
	.price-single {
		font-size: 24px;
	}
}

@media (max-width: 480px) {
	.bundles-section {
		padding: 50px 0;
	}

	.bundles-section .section-title h2 {
		font-size: 28px;
	}

	.bundles-title-wrapper {
		gap: 10px;
	}

	.bundles-icon {
		font-size: 28px;
	}

	.bundle-image-wrapper {
		height: 200px;
	}

	.bundle-name {
		font-size: 18px;
	}

	.bundle-description {
		font-size: 13px;
	}

	.bundle-products-preview {
		padding: 15px;
	}

	.bundle-product-item,
	.bundle-product-more {
		font-size: 12px;
	}

	.discount-value {
		font-size: 24px;
	}

	.bundle-badge {
		padding: 8px 16px;
		font-size: 11px;
	}
}
