/**
 * Kamakshi Krafts Bespoke Luxury Stylesheet
 *
 * Implements modern CSS grid architectures, glassmorphic headers, off-canvas drawers,
 * mobile thumb navigations, and breathing WhatsApp conversion indicators.
 *
 * @package KamakshiKrafts
 * @since 1.0.0
 */

/* ==========================================================================
   0. Brand Variables & Core Tokens
   ========================================================================== */
:root {
	--terracotta: #E65A28;
	--gold: #D4AF37;
	--cream: #FDFBF7;
	--charcoal: #111111;
	--muted-clay: #8E723D;
	--warm-border: #EAE3D2;
	--white: #FFFFFF;
	--shadow: 0 10px 35px rgba(0, 0, 0, 0.04);
	--shadow-hover: 0 20px 45px rgba(0, 0, 0, 0.08);
	--transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

/* ==========================================================================
   1. Reset & Typography Foundations
   ========================================================================== */
*, *::before, *::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	padding: 0;
	background-color: var(--cream);
	color: var(--charcoal);
	font-family: 'Poppins', 'Helvetica Neue', sans-serif;
	font-size: 15px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Cinzel', Georgia, serif;
	font-weight: 700;
	color: var(--charcoal);
	margin-top: 0;
	letter-spacing: 0.5px;
}

a {
	color: var(--terracotta);
	text-decoration: none;
	transition: var(--transition);
}

a:hover {
	color: var(--gold);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

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

.kamakshi-section {
	padding: 80px 0;
}

.alt-bg {
	background-color: #F8F4EA;
	border-top: 1px solid var(--warm-border);
	border-bottom: 1px solid var(--warm-border);
}

/* ==========================================================================
   2. Announcement Bar & Sticky Frosted Header
   ========================================================================== */
.kamakshi-announcement-bar {
	background-color: var(--terracotta);
	color: var(--white);
	text-align: center;
	padding: 8px 0;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	border-bottom: 1px solid rgba(255,255,255,0.1);
}

.kamakshi-announcement-bar p {
	margin: 0;
}

.kamakshi-site-header {
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	background-color: rgba(253, 251, 247, 0.9);
	backdrop-filter: blur(15px);
	-webkit-backdrop-filter: blur(15px);
	border-bottom: 1px solid var(--warm-border);
	transition: var(--transition);
}

.header-inner-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 85px;
}

.site-branding .site-title-link {
	display: flex;
	flex-direction: column;
	text-decoration: none;
}

.site-branding .brand-title {
	font-family: 'Cinzel', serif;
	font-size: 20px;
	font-weight: 700;
	color: var(--charcoal);
	letter-spacing: 1px;
	text-transform: uppercase;
	line-height: 1.1;
}

.site-branding .brand-tagline {
	font-size: 8px;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--muted-clay);
	margin-top: 2px;
}

/* Desktop Main Menu Styles */
.main-navigation {
	display: block;
}

.main-navigation ul {
	display: flex;
	list-style: none;
	padding: 0;
	margin: 0;
	gap: 30px;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	color: var(--charcoal);
	font-weight: 500;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	padding: 8px 0;
	border-bottom: 2px solid transparent;
}

.main-navigation a:hover,
.main-navigation li.current-menu-item > a {
	color: var(--terracotta);
	border-bottom-color: var(--terracotta);
}

/* Header Utilities */
.header-action-hub {
	display: flex;
	align-items: center;
	gap: 20px;
}

.header-action-item {
	position: relative;
	color: var(--charcoal);
	cursor: pointer;
	transition: var(--transition);
	display: flex;
	align-items: center;
}

.header-action-item:hover {
	color: var(--terracotta);
}

.action-count-bubble {
	position: absolute;
	top: -8px;
	right: -8px;
	background-color: var(--terracotta);
	color: var(--white);
	font-size: 9px;
	font-weight: 700;
	border-radius: 50%;
	width: 16px;
	height: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Interactive Search Panel overlay */
.header-search-trigger {
	position: relative;
}

.search-drop-panel {
	position: absolute;
	top: 100%;
	right: 0;
	width: 320px;
	background-color: var(--white);
	border: 1px solid var(--warm-border);
	padding: 15px;
	display: none;
	box-shadow: var(--shadow);
	margin-top: 15px;
}

.header-search-trigger:hover .search-drop-panel,
.search-drop-panel.active {
	display: block;
}

.search-drop-panel input[type="search"] {
	width: 100%;
	padding: 10px;
	border: 1px solid var(--warm-border);
	outline: none;
	font-size: 13px;
	margin-bottom: 8px;
	background: var(--cream);
}

.search-submit-btn {
	width: 100%;
	background: var(--charcoal);
	color: var(--white);
	border: none;
	padding: 8px;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 11px;
	cursor: pointer;
}

/* ==========================================================================
   3. Traditional Hero, Promo Cards & Art Categories
   ========================================================================== */
.kamakshi-hero-banner {
	position: relative;
	min-height: 70vh;
	display: flex;
	align-items: center;
	background: linear-gradient(135deg, #1e1107 0%, #301704 100%);
	color: var(--white);
	padding: 80px 0;
	border-bottom: 2px solid var(--gold);
}

.hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: radial-gradient(circle, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.4) 100%);
}

.hero-content-inner {
	position: relative;
	z-index: 10;
	max-width: 750px;
}

.hero-sub {
	color: var(--gold);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 3px;
	display: block;
	margin-bottom: 15px;
}

.hero-title {
	font-size: 48px;
	line-height: 1.15;
	color: var(--white);
	margin-bottom: 20px;
	text-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

.hero-desc {
	font-size: 16px;
	color: #e5dec9;
	margin-bottom: 35px;
	line-height: 1.7;
}

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

.btn {
	display: inline-block;
	padding: 14px 32px;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	text-decoration: none;
	border-radius: 0;
	transition: var(--transition);
	cursor: pointer;
}

.btn-primary {
	background-color: var(--terracotta);
	color: var(--white);
	border: 1px solid var(--terracotta);
	box-shadow: 0 4px 15px rgba(230, 90, 40, 0.2);
}

.btn-primary:hover {
	background-color: var(--white);
	color: var(--terracotta);
}

.btn-secondary {
	background-color: transparent;
	color: var(--white);
	border: 1px solid var(--gold);
}

.btn-secondary:hover {
	background-color: var(--gold);
	color: var(--charcoal);
}

/* Promo Grid Column Cards */
.promo-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 30px;
}

.promo-card {
	background-color: var(--white);
	border: 1px solid var(--warm-border);
	padding: 40px;
	position: relative;
	box-shadow: var(--shadow);
	transition: var(--transition);
}

.promo-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--shadow-hover);
}

.promo-card.highlight-card {
	border-color: var(--gold);
	background-color: #FAF6ED;
}

.promo-badge {
	color: var(--muted-clay);
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	display: block;
	margin-bottom: 12px;
}

.promo-card h3 {
	font-size: 22px;
	margin-bottom: 15px;
	line-height: 1.3;
}

.promo-card p {
	color: #5a554a;
	font-size: 14px;
	margin-bottom: 25px;
	line-height: 1.6;
}

.promo-link {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--terracotta);
	letter-spacing: 1px;
}

/* Category grid display */
.section-header {
	text-align: center;
	margin-bottom: 50px;
}

.section-sub {
	color: var(--terracotta);
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2.5px;
	display: block;
	margin-bottom: 10px;
}

.section-title {
	font-size: 32px;
	margin-bottom: 15px;
}

.traditional-divider {
	width: 100px;
	height: 3px;
	background-color: var(--gold);
	margin: 0 auto;
	position: relative;
}

.traditional-divider::after {
	content: '';
	position: absolute;
	width: 8px;
	height: 8px;
	background-color: var(--terracotta);
	transform: rotate(45deg);
	top: -2.5px;
	left: calc(50% - 4px);
}

.categories-flex-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 20px;
}

.category-block-item {
	position: relative;
	height: 300px;
	background: linear-gradient(135deg, #1a0f07 0%, #2f1704 100%);
	display: flex;
	align-items: flex-end;
	padding: 30px;
	border: 1px solid var(--warm-border);
	overflow: hidden;
}

.category-block-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.1) 100%);
	transition: var(--transition);
}

.category-block-item:hover .category-block-overlay {
	background: linear-gradient(to top, rgba(230, 90, 40, 0.7) 0%, rgba(0,0,0,0.3) 100%);
}

.category-block-text {
	position: relative;
	z-index: 10;
	color: var(--white);
}

.category-block-text h3 {
	color: var(--white);
	font-size: 20px;
	margin-bottom: 5px;
}

.category-block-text span {
	font-size: 11px;
	text-transform: uppercase;
	color: var(--gold);
	letter-spacing: 1px;
}

/* ==========================================================================
   4. Showcase Product Gallery Grid Cards
   ========================================================================== */
.products-showcase-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 30px;
}

.product-gallery-card {
	background-color: var(--white);
	border: 1px solid var(--warm-border);
	transition: var(--transition);
	display: flex;
	flex-direction: column;
}

.product-gallery-card:hover {
	box-shadow: var(--shadow);
	transform: translateY(-3px);
}

.product-image-container {
	position: relative;
	background-color: #f6f3ea;
	overflow: hidden;
	height: 320px;
}

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

.product-gallery-card:hover .product-image-container img {
	transform: scale(1.05);
}

.sale-badge-pill {
	position: absolute;
	top: 15px;
	left: 15px;
	background-color: var(--terracotta);
	color: var(--white);
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
	padding: 4px 10px;
	letter-spacing: 1px;
	z-index: 10;
}

.product-hover-actions {
	position: absolute;
	bottom: -50px;
	left: 0;
	width: 100%;
	display: flex;
	gap: 2px;
	transition: var(--transition);
	z-index: 15;
}

.product-gallery-card:hover .product-hover-actions {
	bottom: 0;
}

.action-btn {
	flex: 1;
	background-color: rgba(17, 17, 17, 0.9);
	color: var(--white);
	border: none;
	padding: 12px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	cursor: pointer;
	transition: var(--transition);
	font-family: 'Poppins', sans-serif;
}

.action-btn:hover {
	background-color: var(--terracotta);
}

.product-card-details {
	padding: 20px;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}

.product-card-title {
	font-size: 15px;
	margin: 0;
	font-weight: 600;
}

.product-card-title a {
	color: var(--charcoal);
	text-decoration: none;
}

.product-card-title a:hover {
	color: var(--terracotta);
}

.product-price {
	font-size: 14px;
	color: var(--terracotta);
	font-weight: 600;
}

.product-price del {
	color: #aaa;
	font-size: 12px;
	margin-right: 5px;
}

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

.product-bottom-cta {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-top: 10px;
}

.btn-card-action {
	background-color: var(--charcoal);
	color: var(--white);
	border: none;
	padding: 8px 18px;
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: var(--transition);
}

.btn-card-action:hover {
	background-color: var(--terracotta);
}

.btn-whatsapp-inquiry {
	color: #27ae60;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: var(--transition);
}

.btn-whatsapp-inquiry:hover {
	color: var(--gold);
}

.placeholder-art-box {
	width: 100%;
	height: 100%;
	background: radial-gradient(circle, #e5dec9 0%, #dcd3b8 100%);
}

/* ==========================================================================
   5. Gifting Form, FAQs & Patrons Reviews
   ========================================================================== */
.bulk-gifts-row-wrap {
	display: flex;
	gap: 50px;
	align-items: center;
	flex-wrap: wrap;
}

.bulk-text-column {
	flex: 1.2;
	min-width: 320px;
}

.bulk-sub {
	color: var(--gold);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 3px;
	display: block;
	margin-bottom: 12px;
}

.bulk-text-column h2 {
	font-size: 36px;
	margin-bottom: 20px;
}

.bulk-text-column p {
	color: #5a554a;
	line-height: 1.7;
	margin-bottom: 30px;
}

.bulk-features-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.bulk-features-list li::before {
	content: '✓';
	color: var(--gold);
	font-weight: bold;
	margin-right: 10px;
}

.bulk-form-column {
	flex: 1;
	min-width: 320px;
}

.bulk-form-card {
	background-color: var(--white);
	border: 1px solid var(--warm-border);
	padding: 35px;
	box-shadow: var(--shadow);
}

.bulk-form-card h3 {
	font-size: 22px;
	margin-bottom: 8px;
	color: var(--terracotta);
}

.bulk-form-card p {
	font-size: 13px;
	color: #5a554a;
	margin-bottom: 25px;
}

.kamakshi-native-form .form-group {
	margin-bottom: 20px;
}

.kamakshi-native-form label {
	display: block;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--charcoal);
	margin-bottom: 6px;
	letter-spacing: 0.5px;
}

.kamakshi-native-form .form-control {
	width: 100%;
	padding: 12px 15px;
	border: 1px solid var(--warm-border);
	outline: none;
	font-size: 13px;
	background-color: var(--cream);
	font-family: 'Poppins', sans-serif;
}

.btn-block {
	width: 100%;
}

/* Testimonials citations carousel */
.testimonials-slider-container {
	max-width: 750px;
	margin: 0 auto;
	text-align: center;
	position: relative;
	padding: 10px 0;
}

.testimonial-slide {
	display: none;
}

.testimonial-slide.active {
	display: block;
}

.slide-rating {
	color: var(--gold);
	font-size: 18px;
	margin-bottom: 15px;
}

.slide-quote {
	font-family: 'Cinzel', serif;
	font-size: 20px;
	font-style: italic;
	line-height: 1.6;
	color: var(--charcoal);
	margin: 0 0 25px 0;
}

.slide-author {
	font-size: 13px;
	color: #5a554a;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.slider-dot-indicators {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 30px;
}

.slider-dot-indicators .dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: var(--warm-border);
	cursor: pointer;
}

.slider-dot-indicators .dot.active {
	background-color: var(--terracotta);
}

/* FAQ Collapsibles */
.faq-narrow-wrap {
	max-width: 750px;
}

.faq-accordion-group {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.faq-item {
	background-color: var(--white);
	border: 1px solid var(--warm-border);
}

.faq-toggle-btn {
	width: 100%;
	padding: 20px;
	background: none;
	border: none;
	outline: none;
	text-align: left;
	font-family: 'Cinzel', serif;
	font-size: 15px;
	font-weight: 600;
	color: var(--charcoal);
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
}

.faq-icon-arrow {
	font-size: 18px;
	color: var(--gold);
	font-weight: bold;
}

.faq-panel {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-out;
}

.faq-panel p {
	padding: 0 20px 20px 20px;
	margin: 0;
	color: #5a554a;
	font-size: 13.5px;
	line-height: 1.6;
}

.faq-item.active .faq-panel {
	max-height: 200px;
}

.faq-item.active .faq-icon-arrow {
	content: '-';
}

/* Social Grid mockup */
.social-feed-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 15px;
}

.social-item-mock {
	height: 220px;
	background: radial-gradient(circle, #e5dec9 0%, #c4b998 100%);
	position: relative;
	cursor: pointer;
}

.social-item-mock.img-2 { background: radial-gradient(circle, #ecdcc4 0%, #ccb899 100%); }
.social-item-mock.img-3 { background: radial-gradient(circle, #d2dfca 0%, #b2bfaa 100%); }
.social-item-mock.img-4 { background: radial-gradient(circle, #ebdfdb 0%, #cbbfa9 100%); }

.insta-hover-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(230, 90, 40, 0.85);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: var(--transition);
}

.social-item-mock:hover .insta-hover-overlay {
	opacity: 1;
}

.insta-hover-overlay span {
	color: var(--white);
	font-weight: 700;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 2px;
	border: 1px solid var(--white);
	padding: 8px 18px;
}

/* Newsletter Subscription */
.subscriber-narrow-wrap {
	max-width: 650px;
}

.newsletter-card-inner {
	text-align: center;
	border: 1px solid var(--gold);
	padding: 50px 40px;
	background-color: var(--white);
	box-shadow: var(--shadow);
}

.newsletter-card-inner h2 {
	font-size: 28px;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.newsletter-card-inner p {
	color: #5a554a;
	font-size: 13.5px;
	line-height: 1.6;
	margin-bottom: 30px;
}

.newsletter-subscription-form-native {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.newsletter-input {
	flex: 1;
	min-width: 250px;
	padding: 14px;
	border: 1px solid var(--warm-border);
	outline: none;
	font-size: 13px;
	background-color: var(--cream);
}

.newsletter-btn-submit {
	background-color: var(--charcoal);
	color: var(--white);
	border: none;
	padding: 14px 30px;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 12px;
	cursor: pointer;
	transition: var(--transition);
}

.newsletter-btn-submit:hover {
	background-color: var(--terracotta);
}

/* ==========================================================================
   6. Premium Multi-Column Footer Layout
   ========================================================================== */
.kamakshi-site-footer {
	background-color: var(--charcoal);
	color: #b5b0a3;
	border-top: 3px solid var(--gold);
}

.footer-grid-wrap {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
	gap: 40px;
	padding: 80px 0 50px 0;
}

.footer-column h4 {
	color: var(--white);
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 25px;
	letter-spacing: 1.5px;
	position: relative;
	padding-bottom: 10px;
}

.footer-column h4::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 30px;
	height: 2px;
	background-color: var(--gold);
}

.footer-column p {
	font-size: 13px;
	line-height: 1.8;
}

.showroom-contacts {
	list-style: none;
	padding: 0;
	margin: 20px 0 0 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.showroom-contacts li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
}

.showroom-contacts a {
	color: #b5b0a3;
	text-decoration: none;
}

.showroom-contacts a:hover {
	color: var(--gold);
}

.footer-column ul:not(.showroom-contacts) {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.footer-column ul:not(.showroom-contacts) a {
	color: #b5b0a3;
	font-size: 13px;
	text-decoration: none;
	transition: var(--transition);
}

.footer-column ul:not(.showroom-contacts) a:hover {
	color: var(--gold);
	padding-left: 5px;
}

.footer-credits-bar {
	border-top: 1px solid #222;
	padding: 25px 0;
	font-size: 12px;
}

.credits-inner-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px;
}

.copyright-notice {
	margin: 0;
}

.payment-badges-row {
	margin: 0;
	font-weight: 600;
	color: var(--gold);
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* ==========================================================================
   7. Slide-Out Off-Canvas WooCommerce Mini Cart Drawer
   ========================================================================== */
.mini-cart-drawer-panel {
	position: fixed;
	top: 0;
	right: -420px;
	width: 420px;
	height: 100vh;
	background-color: var(--white);
	z-index: 9999;
	box-shadow: -10px 0 35px rgba(0,0,0,0.1);
	transition: right 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	display: flex;
	flex-direction: column;
}

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

.mini-cart-drawer-header {
	padding: 25px;
	border-bottom: 1px solid var(--warm-border);
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.mini-cart-drawer-header h4 {
	margin: 0;
	font-size: 18px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.drawer-close-btn {
	background: none;
	border: none;
	outline: none;
	font-size: 28px;
	cursor: pointer;
	color: var(--charcoal);
	transition: var(--transition);
	line-height: 1;
}

.drawer-close-btn:hover {
	color: var(--terracotta);
}

.mini-cart-drawer-body {
	padding: 25px;
	flex: 1;
	overflow-y: auto;
}

.mini-cart-dimmer-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0,0,0,0.5);
	z-index: 9998;
	opacity: 0;
	visibility: hidden;
	transition: var(--transition);
}

.mini-cart-dimmer-overlay.active {
	opacity: 1;
	visibility: visible;
}

/* Quick View Async Modal styling */
.kamakshi-quickview-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0,0,0,0.6);
	z-index: 10000;
	display: none;
	align-items: center;
	justify-content: center;
}

.kamakshi-quickview-overlay.active {
	display: flex;
}

.quickview-modal-card {
	background-color: var(--white);
	width: 90%;
	max-width: 850px;
	max-height: 90vh;
	padding: 40px;
	box-shadow: 0 20px 60px rgba(0,0,0,0.35);
	position: relative;
	overflow-y: auto;
}

/* ==========================================================================
   8. Mobile-first Thumb Bottom Navigation Bar
   ========================================================================== */
.mobile-bottom-actions-nav {
	display: none; /* Hidden on desktop */
}

/* Floating WhatsApp Indicators */
.kamakshi-whatsapp-floating-badge {
	position: fixed;
	bottom: 30px;
	right: 30px;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background-color: #27ae60;
	color: var(--white);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 999;
	box-shadow: 0 4px 15px rgba(39, 174, 96, 0.4);
	transition: var(--transition);
}

.kamakshi-whatsapp-floating-badge:hover {
	transform: scale(1.08);
	background-color: #2ecc71;
}

.glowing-ring {
	position: absolute;
	width: 100%;
	height: 100%;
	border: 2px solid #27ae60;
	border-radius: 50%;
	animation: breathe 2s infinite ease-in-out;
}

@keyframes breathe {
	0% { transform: scale(1); opacity: 0.9; }
	50% { transform: scale(1.25); opacity: 0; }
	100% { transform: scale(1); opacity: 0; }
}

/* ==========================================================================
   9. Media Queries & Mobile Optimizations
   ========================================================================== */
@media (max-width: 1024px) {
	.footer-grid-wrap {
		grid-template-columns: 1fr 1fr;
		gap: 30px;
	}
}

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

	.header-inner-wrap {
		height: 70px;
	}

	.main-navigation {
		display: none; /* Hide primary desktop menu */
	}

	.hero-title {
		font-size: 32px;
	}

	.hero-desc {
		font-size: 14px;
	}

	.bulk-gifts-row-wrap {
		gap: 30px;
	}

	.quickview-modal-card {
		padding: 20px;
	}

	/* Show Mobile Sticky bottom thumb navigation */
	body {
		padding-bottom: 60px; /* Spacer so content isn't blocked by thumb nav */
	}

	.mobile-bottom-actions-nav {
		display: flex;
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 60px;
		background-color: var(--white);
		border-top: 1px solid var(--warm-border);
		box-shadow: 0 -4px 15px rgba(0,0,0,0.05);
		z-index: 999;
		justify-content: space-around;
		align-items: center;
	}

	.mobile-bottom-nav-item {
		display: flex;
		flex-direction: column;
		align-items: center;
		color: var(--charcoal);
		font-size: 10px;
		font-weight: 500;
		text-transform: uppercase;
		text-decoration: none;
		position: relative;
	}

	.mobile-bottom-nav-item svg {
		margin-bottom: 2px;
		color: #5a554a;
	}

	.mobile-bottom-nav-item:hover svg,
	.mobile-bottom-nav-item:hover span {
		color: var(--terracotta);
	}

	.mobile-bottom-nav-item .nav-count {
		position: absolute;
		top: -4px;
		right: 4px;
		background-color: var(--terracotta);
		color: var(--white);
		font-size: 8px;
		border-radius: 50%;
		width: 14px;
		height: 14px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: 700;
	}

	/* Move floating WhatsApp higher so it doesn't overlap the bottom thumb nav */
	.kamakshi-whatsapp-floating-badge {
		bottom: 75px;
		right: 20px;
		width: 50px;
		height: 50px;
	}

	.footer-grid-wrap {
		grid-template-columns: 1fr;
		padding: 50px 0;
	}

	.mini-cart-drawer-panel {
		width: 100vw;
		right: -100vw;
	}
}

/* ==========================================================================
   10. Mobile Side Navigation Drawer Styles
   ========================================================================== */
.mobile-side-nav-drawer {
	position: fixed;
	top: 0;
	left: -320px;
	width: 320px;
	height: 100vh;
	background-color: var(--cream);
	z-index: 9999;
	box-shadow: 10px 0 35px rgba(0,0,0,0.1);
	transition: left 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	display: flex;
	flex-direction: column;
	border-right: 1px solid var(--warm-border);
}

.mobile-side-nav-drawer.active {
	left: 0;
}

.drawer-header-bar {
	padding: 20px 25px;
	border-bottom: 1px solid var(--warm-border);
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: var(--white);
}

.drawer-header-bar .drawer-title {
	margin: 0;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: var(--charcoal);
	font-family: 'Cinzel', serif;
	font-weight: 700;
}

.drawer-body-wrap {
	padding: 25px;
	flex: 1;
	overflow-y: auto;
}

#mobile-menu-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

#mobile-menu-list li {
	position: relative;
}

#mobile-menu-list a {
	color: var(--charcoal);
	font-family: 'Poppins', sans-serif;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	display: block;
	padding: 5px 0;
	border-bottom: 1px solid transparent;
	transition: var(--transition);
}

#mobile-menu-list a:hover {
	color: var(--terracotta);
	padding-left: 5px;
}

#mobile-menu-list .sub-menu {
	list-style: none;
	padding-left: 15px;
	margin-top: 10px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

#mobile-menu-list .sub-menu a {
	font-size: 11px;
	color: #5a554a;
	font-weight: 500;
}

.mobile-nav-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0,0,0,0.5);
	z-index: 9998;
	opacity: 0;
	visibility: hidden;
	transition: var(--transition);
}

.mobile-nav-overlay.active {
	opacity: 1;
	visibility: visible;
}

