/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Description: Astra Child Theme
Author: Brainstorm Force
Author URI: https://wpastra.com/
Template: astra
Version: 1.1.0
Text Domain: astra-child
*/

/* ==========================================================================
   Primary Header Bar: Clean White Background
   ========================================================================== */
.ast-primary-header-bar,
.ast-primary-header-bar .site-primary-header-wrap,
.ast-main-header-wrap .main-header-bar,
.ast-mobile-header-wrap .ast-primary-header-bar {
	background-color: #ffffff !important;
	background-image: none !important;
}

/* ==========================================================================
   Header Grid Layout: Wide Search Bar Expansion
   ========================================================================== */

/* Let left (logo) & right (cart/account) take auto width, and center (search) take all remaining space */
.ast-primary-header-bar .ast-builder-grid-row.ast-grid-center-col-layout {
	grid-template-columns: auto 1fr auto !important;
	column-gap: 28px !important;
	align-items: center !important;
}

.ast-primary-header-bar .site-header-primary-section-left.site-header-section {
	flex: 0 0 auto !important;
	width: auto !important;
}

.ast-primary-header-bar .site-header-primary-section-right.site-header-section {
	flex: 0 0 auto !important;
	width: auto !important;
}

.ast-primary-header-bar .site-header-primary-section-center.ast-grid-section-center {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 12px !important;
}

/* Search element container - spacious modern eCommerce width */
.ast-builder-layout-element.ast-header-search {
	width: 100% !important;
	max-width: 720px !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
}

.ast-search-menu-icon.getspark-header-search-wrap {
	width: 100% !important;
	display: block !important;
	position: static !important;
}

.getspark-search-form {
	width: 100% !important;
	position: relative !important;
	margin: 0 !important;
	padding: 0 !important;
}

.getspark-search-bar-inner {
	display: flex !important;
	align-items: stretch !important;
	background: #ffffff !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 6px !important;
	height: 44px !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.getspark-search-bar-inner:hover {
	border-color: #94a3b8 !important;
}

.getspark-search-bar-inner:focus-within {
	border-color: #2874f0 !important;
	box-shadow: 0 0 0 2px rgba(40, 116, 240, 0.2) !important;
}

.getspark-search-icon-left {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding-left: 14px !important;
	padding-right: 10px !important;
	flex-shrink: 0 !important;
	line-height: 1 !important;
}

.getspark-search-icon-left svg {
	display: block !important;
}

/* High specificity reset to override Astra global input styling */
.getspark-search-bar-inner input.getspark-search-field[type="search"],
.getspark-search-bar-inner input.getspark-search-field {
	flex: 1 1 auto !important;
	width: 100% !important;
	height: 100% !important;
	border: none !important;
	outline: none !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 12px 0 0 !important;
	margin: 0 !important;
	font-size: 14px !important;
	line-height: 42px !important;
	color: #1e293b !important;
	font-family: inherit !important;
	box-sizing: border-box !important;
}

.getspark-search-bar-inner input.getspark-search-field:focus {
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}

.getspark-search-bar-inner input.getspark-search-field::placeholder {
	color: #94a3b8 !important;
	opacity: 1 !important;
	font-size: 13.5px !important;
}

.getspark-search-submit-btn.search-submit {
	flex-shrink: 0 !important;
	height: 100% !important;
	width: 52px !important;
	min-width: 52px !important;
	background-color: #2874f0 !important;
	border: none !important;
	border-radius: 0 5px 5px 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	transition: background-color 0.2s ease !important;
}

.getspark-search-submit-btn.search-submit:hover {
	background-color: #1260d8 !important;
}

.getspark-search-submit-btn svg {
	display: block !important;
}

/* Hide Astra default search trigger icons */
.getspark-header-search-wrap .ast-search-icon,
.getspark-header-search-wrap .slide-search.astra-search-icon {
	display: none !important;
}

/* Live Search Results Dropdown */
.getspark-search-form .ast-live-search-results {
	position: absolute !important;
	top: calc(100% + 6px) !important;
	left: 0 !important;
	right: 0 !important;
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 8px !important;
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.12), 0 8px 10px -6px rgba(0, 0, 0, 0.08) !important;
	z-index: 99999 !important;
	max-height: 400px !important;
	overflow-y: auto !important;
}

/* Responsive adjustments */
@media (max-width: 921px) {
	.ast-primary-header-bar .ast-builder-grid-row.ast-grid-center-col-layout {
		grid-template-columns: 1fr !important;
		row-gap: 12px !important;
	}
	.ast-primary-header-bar .site-header-primary-section-center.ast-grid-section-center {
		flex: 1 1 auto !important;
		margin: 6px 0 !important;
		padding: 0 !important;
		max-width: 100% !important;
	}
	.getspark-search-bar-inner {
		height: 40px !important;
	}
	.getspark-search-bar-inner input.getspark-search-field::placeholder {
		font-size: 13px !important;
	}
	.getspark-search-submit-btn.search-submit {
		width: 44px !important;
		min-width: 44px !important;
	}
}
/* ==========================================================================
   Above Header: Contact Info Widget (Matching Left Side Text & Icons)
   ========================================================================== */
.site-header-above-section-right {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
}

.site-header-above-section-right .header-widget-area,
.site-header-above-section-right .header-widget-area-inner,
.site-header-above-section-right .widget,
.site-header-above-section-right .widget_block {
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	align-items: center !important;
}

.spark-contact-info {
	display: flex !important;
	align-items: center !important;
	gap: 15px !important;
	color: #ffffff !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.spark-contact-link {
	display: inline-flex !important;
	align-items: center !important;
	color: #ffffff !important;
	text-decoration: none !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	transition: color 0.2s ease, opacity 0.2s ease !important;
}

.spark-contact-link i {
	font-size: 14px !important;
	margin-right: 8px !important;
	color: #ffffff !important;
	line-height: 1 !important;
	transition: color 0.2s ease !important;
}

.spark-contact-link:hover,
.spark-contact-link:hover i {
	color: #0197FD !important;
}

.spark-contact-separator {
	color: rgba(255, 255, 255, 0.6) !important;
	margin: 0 !important;
	font-size: 13px !important;
	line-height: 1 !important;
	font-weight: 400 !important;
}

@media (max-width: 768px) {
	.spark-contact-info {
		gap: 10px !important;
		font-size: 12px !important;
	}
	.spark-contact-link {
		font-size: 12px !important;
	}
	.spark-contact-link i {
		font-size: 13px !important;
		margin-right: 6px !important;
	}
}
/* ==========================================================================
   Spark Sleek Hero Banner Carousel
   ========================================================================== */
.spark-hero-banner {
	position: relative;
	width: 100%;
	overflow: hidden;
	background-color: #0b132b;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
	line-height: 0;
}

.spark-hero-banner.alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.spark-carousel-viewport {
	width: 100%;
	overflow: hidden;
	position: relative;
	touch-action: pan-y;
}

.spark-carousel-track {
	display: flex;
	width: 100%;
	transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

.spark-carousel-slide {
	flex: 0 0 100%;
	width: 100%;
	position: relative;
	user-select: none;
	-webkit-user-select: none;
}

.spark-carousel-slide img {
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 1920 / 681;
	object-fit: cover;
	pointer-events: none;
}

/* Navigation Arrows */
.spark-carousel-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: rgba(15, 23, 42, 0.45);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.25);
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 20;
	opacity: 0;
	transition: opacity 0.3s ease, background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
	padding: 0;
}

.spark-prev-btn {
	left: 20px;
}

.spark-next-btn {
	right: 20px;
}

.spark-hero-banner:hover .spark-carousel-btn {
	opacity: 1;
}

.spark-carousel-btn:hover {
	background: rgba(40, 116, 240, 0.85);
	border-color: rgba(255, 255, 255, 0.6);
	transform: translateY(-50%) scale(1.08);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
}

.spark-carousel-btn:active {
	transform: translateY(-50%) scale(0.96);
}

/* Indicators */
.spark-carousel-indicators {
	position: absolute;
	bottom: 18px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	gap: 8px;
	z-index: 20;
	padding: 6px 12px;
	background: rgba(0, 0, 0, 0.28);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	border-radius: 20px;
	border: 1px solid rgba(255, 255, 255, 0.15);
}

.spark-indicator {
	width: 10px;
	height: 10px;
	border-radius: 5px;
	background: rgba(255, 255, 255, 0.45);
	border: none;
	padding: 0;
	cursor: pointer;
	transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.spark-indicator:hover {
	background: rgba(255, 255, 255, 0.85);
}

.spark-indicator.active {
	width: 28px;
	background: #2874f0;
	box-shadow: 0 0 10px rgba(40, 116, 240, 0.7);
}

@media (max-width: 768px) {
	.spark-carousel-btn {
		opacity: 1 !important;
		width: 36px;
		height: 36px;
	}
	.spark-prev-btn { left: 8px; }
	.spark-next-btn { right: 8px; }
	.spark-carousel-indicators {
		bottom: 8px;
		padding: 4px 8px;
		gap: 6px;
	}
	.spark-indicator {
		width: 8px;
		height: 8px;
	}
	.spark-indicator.active {
		width: 20px;
	}
}
/* Ensure Home Page Banner sits flush below menu with no scrollbar overflow */
html, body {
	overflow-x: hidden;
}

.home .site-content {
	padding-top: 0 !important;
}

.home #primary {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.home .entry-content {
	margin-top: 0 !important;
}
/* ==========================================================================
   Category Carousel: Sleek, Modern, Uncropped Images & Compact Grey Shadow
   ========================================================================== */
.spark-carousel-wrapper {
	position: relative !important;
	max-width: 1400px !important;
	margin: 32px auto 40px auto !important;
	padding: 0 44px !important;
	font-family: inherit !important;
}

.spark-cat-track {
	display: flex !important;
	gap: 24px !important;
	overflow-x: auto !important;
	scroll-snap-type: x mandatory !important;
	scroll-behavior: smooth !important;
	-ms-overflow-style: none !important;
	scrollbar-width: none !important;
	padding: 12px 4px 16px 4px !important;
}

.spark-cat-track::-webkit-scrollbar {
	display: none !important;
}

.spark-cat-item {
	flex: 0 0 calc(16.666% - 20px) !important;
	scroll-snap-align: start !important;
	text-decoration: none !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	outline: none !important;
}

/* Sleek Circle Card & Grey Shadow (No cropping!) */
.spark-cat-img-wrapper {
	position: relative !important;
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	border-radius: 50% !important;
	overflow: hidden !important;
	background-color: #ffffff !important;
	border: 1px solid #e5e7eb !important;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05) !important; /* Compact, subtle grey shadow */
	padding: 16px !important; /* Generous breathing room so full products never clip */
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.4, 1), box-shadow 0.3s ease, border-color 0.3s ease !important;
}

/* Remove shiny flash overlay */
.spark-cat-img-wrapper::after {
	display: none !important;
}

/* Contained Product Images - 100% Uncropped */
.spark-cat-img-wrapper img {
	max-width: 100% !important;
	max-height: 100% !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important; /* Full product clearly visible without clipping */
	display: block !important;
	margin: 0 auto !important;
	transition: transform 0.35s ease !important;
	filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.04)) !important;
}

/* Modern Hover States */
.spark-cat-item:hover .spark-cat-img-wrapper {
	transform: translateY(-4px) !important;
	border-color: #cbd5e1 !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.09) !important; /* Clean compact grey shadow */
}

.spark-cat-item:hover .spark-cat-img-wrapper img {
	transform: scale(1.06) !important;
}

/* Sleek Category Title */
.spark-cat-title {
	margin-top: 14px !important;
	font-size: 0.84rem !important;
	font-weight: 500 !important;
	color: #1e293b !important;
	text-align: center !important;
	text-transform: capitalize !important;
	line-height: 1.35 !important;
	transition: color 0.25s ease !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	min-height: 2.3em !important;
	padding: 0 4px !important;
}

.spark-cat-item:hover .spark-cat-title {
	color: #0066cc !important;
}

/* Navigation Arrows with Compact Grey Shadow */
.spark-arrow {
	position: absolute !important;
	top: 42% !important;
	transform: translateY(-50%) !important;
	width: 38px !important;
	height: 38px !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	color: #334155 !important;
	font-size: 0.85rem !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	z-index: 10 !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important; /* Small grey shadow */
	transition: all 0.25s ease !important;
}

.spark-arrow:hover {
	background: #ffffff !important;
	color: #0066cc !important;
	border-color: #94a3b8 !important;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12) !important;
	transform: translateY(-50%) scale(1.06) !important;
}

.spark-arrow-left { left: 0 !important; }
.spark-arrow-right { right: 0 !important; }

/* Responsive Layouts */
@media (max-width: 1200px) {
	.spark-cat-item { flex: 0 0 calc(20% - 19.2px) !important; }
}

@media (max-width: 992px) {
	.spark-cat-item { flex: 0 0 calc(25% - 18px) !important; }
	.spark-carousel-wrapper { padding: 0 36px !important; }
}

@media (max-width: 768px) {
	.spark-cat-item { flex: 0 0 calc(33.333% - 16px) !important; }
	.spark-cat-img-wrapper { padding: 12px !important; }
	.spark-arrow { width: 34px !important; height: 34px !important; font-size: 0.8rem !important; }
	.spark-carousel-wrapper { padding: 0 20px !important; margin: 24px auto !important; }
	.spark-arrow-left { left: -4px !important; }
	.spark-arrow-right { right: -4px !important; }
}

@media (max-width: 500px) {
	.spark-cat-item { flex: 0 0 calc(50% - 12px) !important; }
	.spark-cat-title { font-size: 0.78rem !important; }
	.spark-cat-img-wrapper { padding: 10px !important; }
}
/* ==========================================================================
   Modern eCommerce Footer (5-Column Layout, Gateways, Socials, Sleek Finish)
   ========================================================================== */
.spark-modern-footer {
	background-color: #ffffff !important;
	color: #334155 !important;
	border-top: 1px solid #f1f5f9 !important;
	padding: 56px 0 28px 0 !important;
	font-family: inherit !important;
	clear: both !important;
}

.spark-footer-container {
	max-width: 1240px !important;
	margin: 0 auto !important;
	padding: 0 24px !important;
	box-sizing: border-box !important;
}

/* 5-Column Grid */
.spark-footer-grid {
	display: grid !important;
	grid-template-columns: 1.4fr 1fr 1fr 1fr 1.4fr !important;
	gap: 40px !important;
	align-items: start !important;
}

/* Column 1: Brand & Social */
.spark-footer-brand-wrap {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
}

.spark-footer-logo-link {
	display: inline-block !important;
	text-decoration: none !important;
	margin-bottom: 12px !important;
}

.spark-footer-logo {
	max-width: 145px !important;
	height: auto !important;
	display: block !important;
}

.spark-footer-tagline {
	font-size: 13.5px !important;
	line-height: 1.45 !important;
	color: #64748b !important;
	margin: 0 0 20px 0 !important;
	font-weight: 400 !important;
}

/* Social Media Icons */
.spark-footer-social {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
}

.spark-social-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #0f172a !important;
	transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1) !important;
	text-decoration: none !important;
	opacity: 0.9 !important;
}

.spark-social-btn:hover {
	color: #0066cc !important;
	transform: translateY(-2px) !important;
	opacity: 1 !important;
}

/* Headings for Columns 2, 3, 4, 5 */
.spark-footer-title {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin: 0 0 16px 0 !important;
	letter-spacing: -0.2px !important;
	text-transform: capitalize !important;
	line-height: 1.3 !important;
}

/* Menus & Link Lists */
.spark-footer-links-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.spark-footer-links-list li {
	margin: 0 0 10px 0 !important;
	padding: 0 !important;
	line-height: 1.4 !important;
}

.spark-footer-links-list li a {
	color: #475569 !important;
	font-size: 13.5px !important;
	text-decoration: none !important;
	font-weight: 400 !important;
	transition: color 0.2s ease, transform 0.2s ease !important;
	display: inline-block !important;
}

.spark-footer-links-list li a:hover {
	color: #0066cc !important;
	transform: translateX(2px) !important;
}

/* Column 5: Payment Gateways */
.spark-footer-pay-sub {
	font-size: 13.5px !important;
	color: #64748b !important;
	margin: 0 0 16px 0 !important;
	font-weight: 400 !important;
}

.spark-payment-badges {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
}

.spark-pay-badge {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 4px 6px !important;
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 5px !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
	cursor: default !important;
}

.spark-pay-badge:hover {
	transform: translateY(-2px) !important;
	border-color: #cbd5e1 !important;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.08) !important;
}

.spark-pay-badge svg {
	display: block !important;
	height: 24px !important;
	width: auto !important;
}

/* Subtle Divider Line */
.spark-footer-divider {
	border: 0 !important;
	border-top: 1px solid #f1f5f9 !important;
	margin: 44px 0 24px 0 !important;
}

/* Bottom Bar / Copyright */
.spark-footer-bottom {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
}

.spark-footer-copyright {
	color: #64748b !important;
	font-size: 13px !important;
	margin: 0 !important;
	font-weight: 400 !important;
	text-align: left !important;
}

/* Responsive Breakpoints */
@media (max-width: 1024px) {
	.spark-footer-grid {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 32px !important;
	}
	.spark-footer-col-brand {
		grid-column: span 3 !important;
		margin-bottom: 8px !important;
	}
	.spark-footer-col-payment {
		grid-column: span 3 !important;
		margin-top: 12px !important;
	}
}

@media (max-width: 640px) {
	.spark-footer-grid {
		grid-template-columns: 1fr !important;
		gap: 28px !important;
	}
	.spark-footer-col-brand,
	.spark-footer-col-payment {
		grid-column: span 1 !important;
		margin: 0 !important;
	}
	.spark-modern-footer {
		padding: 40px 0 24px 0 !important;
	}
	.spark-footer-divider {
		margin: 32px 0 20px 0 !important;
	}
}
/* ==========================================================================
   Section 1: Trending Products (Attachment 1 Layout)
   ========================================================================== */
.spark-trending-section {
	max-width: 1400px !important;
	margin: 44px auto 36px auto !important;
	padding: 0 44px !important;
	box-sizing: border-box !important;
	font-family: inherit !important;
}

.spark-section-header {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-bottom: 22px !important;
}

.spark-section-heading {
	font-size: 1.45rem !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin: 0 !important;
	font-family: 'Montserrat', sans-serif !important;
	letter-spacing: -0.3px !important;
}

.spark-view-all-link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	color: #0066cc !important;
	font-size: 0.92rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
}

.spark-view-all-link:hover {
	color: #004da3 !important;
	transform: translateX(3px) !important;
}

/* Products Grid */
.spark-products-grid {
	display: grid !important;
	grid-template-columns: repeat(5, 1fr) !important;
	gap: 20px !important;
	align-items: stretch !important;
}

/* Product Card */
.spark-product-card {
	position: relative !important;
	background: #ffffff !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 12px !important;
	padding: 16px 14px 18px 14px !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
	transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.4, 1), box-shadow 0.25s ease, border-color 0.25s ease !important;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03) !important;
}

.spark-product-card:hover {
	transform: translateY(-4px) !important;
	border-color: #cbd5e1 !important;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.07) !important;
}

/* Wishlist Button */
.spark-wishlist-btn {
	position: absolute !important;
	top: 12px !important;
	right: 12px !important;
	width: 32px !important;
	height: 32px !important;
	border-radius: 50% !important;
	background: transparent !important;
	border: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #94a3b8 !important;
	cursor: pointer !important;
	z-index: 2 !important;
	transition: all 0.2s ease !important;
	padding: 0 !important;
}

.spark-wishlist-btn:hover {
	color: #ef4444 !important;
	transform: scale(1.12) !important;
}

.spark-wishlist-btn.active {
	color: #ef4444 !important;
}

.spark-wishlist-btn.active svg {
	fill: #ef4444 !important;
	stroke: #ef4444 !important;
}

/* Product Card Link */
.spark-product-card-link {
	text-decoration: none !important;
	color: inherit !important;
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
}

/* Product Image */
.spark-product-img-wrap {
	width: 100% !important;
	height: 160px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 8px !important;
	box-sizing: border-box !important;
	margin-bottom: 12px !important;
}

.spark-product-img-wrap img {
	max-width: 100% !important;
	max-height: 100% !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
	display: block !important;
	margin: 0 auto !important;
	transition: transform 0.3s ease !important;
}

.spark-product-card:hover .spark-product-img-wrap img {
	transform: scale(1.05) !important;
}

/* Product Info */
.spark-product-info {
	display: flex !important;
	flex-direction: column !important;
	flex-grow: 1 !important;
}

.spark-product-title {
	font-size: 0.92rem !important;
	font-weight: 600 !important;
	color: #0f172a !important;
	margin: 0 0 4px 0 !important;
	line-height: 1.35 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	min-height: 2.5em !important;
	transition: color 0.2s ease !important;
}

.spark-product-card:hover .spark-product-title {
	color: #0066cc !important;
}

.spark-product-sub {
	font-size: 0.78rem !important;
	color: #64748b !important;
	margin: 0 0 8px 0 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	line-height: 1.3 !important;
}

.spark-product-price {
	font-size: 1rem !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin-bottom: 8px !important;
	font-family: 'Montserrat', sans-serif !important;
}

.spark-product-rating {
	display: flex !important;
	align-items: center !important;
	gap: 5px !important;
	font-size: 0.8rem !important;
	margin-top: auto !important;
}

.spark-stars {
	color: #f59e0b !important;
	letter-spacing: 1px !important;
	font-size: 0.85rem !important;
}

.spark-rating-count {
	color: #64748b !important;
	font-size: 0.78rem !important;
	font-weight: 500 !important;
}

/* ==========================================================================
   Section 2: Features & VIP Newsletter Banner (Attachment 2 Layout)
   ========================================================================== */
.spark-features-newsletter-wrap {
	max-width: 1400px !important;
	margin: 40px auto 60px auto !important;
	padding: 0 44px !important;
	box-sizing: border-box !important;
	font-family: inherit !important;
}

/* Features Bar */
.spark-features-bar {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 28px !important;
	padding: 28px 10px 36px 10px !important;
	margin-bottom: 32px !important;
	border-top: 1px solid #f1f5f9 !important;
	border-bottom: 1px solid #f1f5f9 !important;
	align-items: center !important;
}

.spark-feature-item {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
}

.spark-feature-icon-wrap {
	width: 52px !important;
	height: 52px !important;
	border-radius: 50% !important;
	background: #e0f2fe !important;
	color: #0284c7 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	transition: transform 0.25s ease, background 0.25s ease !important;
}

.spark-feature-item:hover .spark-feature-icon-wrap {
	transform: scale(1.08) !important;
	background: #bae6fd !important;
}

.spark-feature-text {
	display: flex !important;
	flex-direction: column !important;
}

.spark-feature-title {
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin: 0 0 3px 0 !important;
	letter-spacing: -0.2px !important;
}

.spark-feature-sub {
	font-size: 0.8rem !important;
	color: #64748b !important;
	margin: 0 !important;
	line-height: 1.35 !important;
}

/* Newsletter Banner */
.spark-newsletter-banner {
	background: #0b1329 !important;
	border-radius: 14px !important;
	padding: 34px 44px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 32px !important;
	box-shadow: 0 10px 30px rgba(11, 19, 41, 0.12) !important;
	box-sizing: border-box !important;
}

.spark-newsletter-content {
	max-width: 360px !important;
}

.spark-newsletter-heading {
	font-size: 1.55rem !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	margin: 0 0 6px 0 !important;
	font-family: 'Montserrat', sans-serif !important;
	letter-spacing: -0.3px !important;
}

.spark-plus-highlight {
	color: #38bdf8 !important;
}

.spark-newsletter-desc {
	font-size: 0.84rem !important;
	color: #94a3b8 !important;
	margin: 0 !important;
	line-height: 1.45 !important;
}

/* Form */
.spark-newsletter-form {
	display: flex !important;
	align-items: center !important;
	background: #ffffff !important;
	border-radius: 8px !important;
	padding: 4px !important;
	max-width: 440px !important;
	flex-grow: 1 !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
	box-sizing: border-box !important;
}

.spark-newsletter-input {
	flex: 1 !important;
	border: none !important;
	outline: none !important;
	background: transparent !important;
	padding: 10px 16px !important;
	font-size: 0.88rem !important;
	color: #1e293b !important;
	min-width: 0 !important;
	box-shadow: none !important;
}

.spark-newsletter-submit {
	background: #0066cc !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 6px !important;
	padding: 11px 24px !important;
	font-size: 0.88rem !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: background 0.2s ease, transform 0.15s ease !important;
	white-space: nowrap !important;
	line-height: 1.2 !important;
}

.spark-newsletter-submit:hover {
	background: #0052a3 !important;
}

/* Decorative Note on Right */
.spark-newsletter-decorative {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	flex-shrink: 0 !important;
}

.spark-paper-plane-icon {
	color: #38bdf8 !important;
	display: flex !important;
	align-items: center !important;
}

.spark-newsletter-note {
	display: flex !important;
	flex-direction: column !important;
	font-family: 'Segoe Script', 'Caveat', cursive, sans-serif !important;
	font-size: 0.98rem !important;
	line-height: 1.25 !important;
	color: #93c5fd !important;
	transform: rotate(-3deg) !important;
	font-style: italic !important;
}

/* ==========================================================================
   Responsive Breakpoints
   ========================================================================== */
@media (max-width: 1200px) {
	.spark-products-grid { grid-template-columns: repeat(4, 1fr) !important; }
	.spark-trending-section, .spark-features-newsletter-wrap { padding: 0 32px !important; }
}

@media (max-width: 992px) {
	.spark-products-grid { grid-template-columns: repeat(3, 1fr) !important; }
	.spark-features-bar { grid-template-columns: repeat(2, 1fr) !important; gap: 24px !important; }
	.spark-newsletter-banner {
		flex-direction: column !important;
		text-align: center !important;
		padding: 32px 24px !important;
		gap: 24px !important;
	}
	.spark-newsletter-content { max-width: 100% !important; }
	.spark-newsletter-form { width: 100% !important; max-width: 480px !important; }
}

@media (max-width: 768px) {
	.spark-products-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }
	.spark-product-img-wrap { height: 135px !important; }
	.spark-product-card { padding: 12px 10px 14px 10px !important; border-radius: 10px !important; }
	.spark-trending-section, .spark-features-newsletter-wrap { padding: 0 20px !important; margin: 32px auto !important; }
	.spark-section-heading { font-size: 1.25rem !important; }
}

@media (max-width: 576px) {
	.spark-features-bar { grid-template-columns: 1fr !important; gap: 18px !important; padding: 20px 0 !important; }
	.spark-newsletter-form {
		flex-direction: column !important;
		background: transparent !important;
		box-shadow: none !important;
		padding: 0 !important;
		gap: 10px !important;
	}
	.spark-newsletter-input {
		width: 100% !important;
		background: #ffffff !important;
		border-radius: 6px !important;
		padding: 12px 16px !important;
	}
	.spark-newsletter-submit {
		width: 100% !important;
		padding: 12px !important;
	}
}

/* ==========================================================================
   Spark Trending Products & Features Banner (Sleek, Modern, No Underline)
   ========================================================================== */

/* Universal Link Reset - Absolutely NO Underlines */
.spark-trending-section a,
.spark-trending-section a:hover,
.spark-trending-section a:focus,
.spark-trending-section a:active,
.spark-trending-section a:visited,
.spark-product-card a,
.spark-product-card a:hover,
.spark-product-card a:focus,
.spark-product-card a:active,
.spark-product-card a:visited,
.spark-product-card-link,
.spark-product-card-link:hover,
.spark-product-card-link:focus,
.spark-product-card-link:active,
.spark-product-title,
.spark-product-title:hover,
.spark-product-sub,
.spark-product-sub:hover,
.spark-product-price,
.spark-product-rating,
.spark-view-all-link,
.spark-view-all-link:hover,
.entry-content .spark-trending-section a,
.entry-content .spark-trending-section a:hover,
.ast-container .spark-trending-section a,
.ast-container .spark-trending-section a:hover {
	text-decoration: none !important;
	text-decoration-line: none !important;
	border-bottom: none !important;
	border: none !important;
	box-shadow: none !important;
	background-image: none !important;
	outline: none !important;
}

/* Section Wrapper */
.spark-trending-section {
	max-width: 1320px !important;
	margin: 40px auto 36px auto !important;
	padding: 0 24px !important;
	box-sizing: border-box !important;
	font-family: inherit !important;
	clear: both !important;
}

/* Header */
.spark-section-header {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-bottom: 22px !important;
}

.spark-section-heading {
	font-size: 1.5rem !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin: 0 !important;
	font-family: 'Montserrat', sans-serif !important;
	letter-spacing: -0.3px !important;
	line-height: 1.2 !important;
}

.spark-view-all-link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	color: var(--ast-global-color-0, #0066cc) !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	transition: all 0.2s ease !important;
}

.spark-view-all-link:hover {
	color: #004da3 !important;
	transform: translateX(3px) !important;
}

/* Grid Layout */
.spark-products-grid {
	display: grid !important;
	grid-template-columns: repeat(5, 1fr) !important;
	gap: 20px !important;
	align-items: stretch !important;
}

/* Modern Sleek Product Card */
.spark-product-card {
	position: relative !important;
	background: #ffffff !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 12px !important;
	padding: 16px 14px 18px 14px !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
	transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.4, 1), box-shadow 0.28s ease, border-color 0.28s ease !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
}

.spark-product-card:hover {
	transform: translateY(-5px) !important;
	border-color: #cbd5e1 !important;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08) !important;
}

/* Wishlist Button - Sleek Heart Icon */
.spark-wishlist-btn {
	position: absolute !important;
	top: 14px !important;
	right: 14px !important;
	width: 28px !important;
	height: 28px !important;
	background: transparent !important;
	border: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #94a3b8 !important;
	cursor: pointer !important;
	z-index: 5 !important;
	transition: all 0.2s ease !important;
	padding: 0 !important;
	box-shadow: none !important;
	outline: none !important;
}

.spark-wishlist-btn svg {
	width: 20px !important;
	height: 20px !important;
	stroke: currentColor !important;
	fill: transparent !important;
	transition: all 0.2s ease !important;
}

.spark-wishlist-btn:hover {
	color: #ef4444 !important;
	transform: scale(1.15) !important;
}

.spark-wishlist-btn:hover svg {
	stroke: #ef4444 !important;
}

.spark-wishlist-btn.active {
	color: #ef4444 !important;
}

.spark-wishlist-btn.active svg {
	fill: #ef4444 !important;
	stroke: #ef4444 !important;
}

/* Link Wrapper inside Card */
.spark-product-card-link {
	display: flex !important;
	flex-direction: column !important;
	flex-grow: 1 !important;
	text-decoration: none !important;
	color: inherit !important;
}

/* Image Wrapper */
.spark-product-img-wrap {
	height: 160px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-bottom: 14px !important;
	padding: 8px !important;
	box-sizing: border-box !important;
}

.spark-product-img-wrap img {
	max-height: 100% !important;
	max-width: 100% !important;
	object-fit: contain !important;
	display: block !important;
	margin: 0 auto !important;
	transition: transform 0.25s ease !important;
}

.spark-product-card:hover .spark-product-img-wrap img {
	transform: scale(1.05) !important;
}

/* Product Info */
.spark-product-info {
	display: flex !important;
	flex-direction: column !important;
	flex-grow: 1 !important;
}

.spark-product-title {
	font-family: 'Montserrat', sans-serif !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	color: #0f172a !important;
	line-height: 1.35 !important;
	margin: 0 0 4px 0 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	height: 2.7em !important;
	text-decoration: none !important;
}

.spark-product-sub {
	font-size: 0.8rem !important;
	color: #64748b !important;
	margin: 0 0 10px 0 !important;
	line-height: 1.3 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

/* Price */
.spark-product-price,
.spark-product-price * {
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	border: none !important;
}

.spark-product-price {
	margin: 0 0 8px 0 !important;
}

.spark-product-price del,
.spark-product-price del * {
	font-size: 0.88rem !important;
	font-weight: 400 !important;
	color: #94a3b8 !important;
	text-decoration: line-through !important;
	margin-right: 6px !important;
}

.spark-product-price ins,
.spark-product-price ins * {
	text-decoration: none !important;
	color: #0f172a !important;
	font-weight: 700 !important;
}

/* Rating */
.spark-product-rating {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	margin-top: auto !important;
}

.spark-stars {
	color: #f59e0b !important;
	letter-spacing: 2px !important;
	font-size: 0.88rem !important;
	line-height: 1 !important;
}

.spark-rating-count {
	font-size: 0.78rem !important;
	color: #64748b !important;
	font-weight: 500 !important;
}

/* ==========================================================================
   Features & VIP Newsletter Bar
   ========================================================================== */
.spark-features-newsletter-wrap {
	max-width: 1320px !important;
	margin: 36px auto 48px auto !important;
	padding: 0 24px !important;
	box-sizing: border-box !important;
	font-family: inherit !important;
	clear: both !important;
}

/* Features Grid */
.spark-features-bar {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 24px !important;
	padding: 36px 0 32px 0 !important;
	border-bottom: 1px solid #f1f5f9 !important;
	margin-bottom: 36px !important;
	align-items: center !important;
}

.spark-feature-item {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
}

.spark-feature-icon-wrap {
	width: 52px !important;
	height: 52px !important;
	min-width: 52px !important;
	border-radius: 50% !important;
	background: #e0f2fe !important;
	color: #0284c7 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: transform 0.2s ease, background 0.2s ease !important;
}

.spark-feature-item:hover .spark-feature-icon-wrap {
	background: #bae6fd !important;
	transform: scale(1.05) !important;
}

.spark-feature-text {
	display: flex !important;
	flex-direction: column !important;
}

.spark-feature-title {
	font-size: 0.98rem !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin: 0 0 3px 0 !important;
	line-height: 1.3 !important;
	font-family: 'Montserrat', sans-serif !important;
}

.spark-feature-sub {
	font-size: 0.82rem !important;
	color: #64748b !important;
	margin: 0 !important;
	line-height: 1.3 !important;
}

/* Newsletter Banner */
.spark-newsletter-banner {
	background: #0b1120 !important;
	border-radius: 14px !important;
	padding: 32px 44px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 32px !important;
	box-shadow: 0 12px 32px rgba(11, 19, 41, 0.14) !important;
	box-sizing: border-box !important;
}

.spark-newsletter-content {
	max-width: 380px !important;
}

.spark-newsletter-heading {
	font-size: 1.6rem !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	margin: 0 0 6px 0 !important;
	font-family: 'Montserrat', sans-serif !important;
	letter-spacing: -0.3px !important;
}

.spark-plus-highlight {
	color: #38bdf8 !important;
}

.spark-newsletter-desc {
	font-size: 0.86rem !important;
	color: #94a3b8 !important;
	margin: 0 !important;
	line-height: 1.45 !important;
}

/* Newsletter Form */
.spark-newsletter-form {
	display: flex !important;
	align-items: center !important;
	background: #ffffff !important;
	border-radius: 8px !important;
	padding: 4px !important;
	max-width: 440px !important;
	flex-grow: 1 !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
	box-sizing: border-box !important;
}

.spark-newsletter-input {
	flex: 1 !important;
	border: none !important;
	outline: none !important;
	background: transparent !important;
	padding: 11px 16px !important;
	font-size: 0.88rem !important;
	color: #1e293b !important;
	min-width: 0 !important;
	box-shadow: none !important;
}

.spark-newsletter-submit {
	background: var(--ast-global-color-0, #0066cc) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 6px !important;
	padding: 12px 24px !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: background 0.2s ease, transform 0.15s ease !important;
	white-space: nowrap !important;
	line-height: 1.2 !important;
}

.spark-newsletter-submit:hover {
	background: #0052a3 !important;
}

/* Decorative Note on Right */
.spark-newsletter-decorative {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	flex-shrink: 0 !important;
}

.spark-paper-plane-icon {
	color: #38bdf8 !important;
	display: flex !important;
	align-items: center !important;
}

.spark-newsletter-note {
	display: flex !important;
	flex-direction: column !important;
	font-family: 'Segoe Script', 'Caveat', cursive, sans-serif !important;
	font-size: 1rem !important;
	line-height: 1.25 !important;
	color: #93c5fd !important;
	transform: rotate(-3deg) !important;
	font-style: italic !important;
}

/* ==========================================================================
   Responsive Breakpoints
   ========================================================================== */
@media (max-width: 1200px) {
	.spark-products-grid { grid-template-columns: repeat(4, 1fr) !important; gap: 16px !important; }
	.spark-trending-section, .spark-features-newsletter-wrap { padding: 0 20px !important; }
}

@media (max-width: 992px) {
	.spark-products-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 16px !important; }
	.spark-features-bar { grid-template-columns: repeat(2, 1fr) !important; gap: 24px !important; }
	.spark-newsletter-banner {
		flex-direction: column !important;
		text-align: center !important;
		padding: 32px 24px !important;
		gap: 24px !important;
	}
	.spark-newsletter-content { max-width: 100% !important; }
	.spark-newsletter-form { width: 100% !important; max-width: 480px !important; }
}

@media (max-width: 768px) {
	.spark-products-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
	.spark-product-img-wrap { height: 135px !important; }
	.spark-product-card { padding: 12px 10px 14px 10px !important; border-radius: 10px !important; }
	.spark-trending-section, .spark-features-newsletter-wrap { padding: 0 16px !important; margin: 28px auto !important; }
	.spark-section-heading { font-size: 1.25rem !important; }
	.spark-product-title { font-size: 0.88rem !important; }
	.spark-product-price, .spark-product-price * { font-size: 0.95rem !important; }
}

@media (max-width: 576px) {
	.spark-features-bar { grid-template-columns: 1fr !important; gap: 18px !important; padding: 20px 0 !important; }
	.spark-newsletter-form {
		flex-direction: column !important;
		background: transparent !important;
		box-shadow: none !important;
		padding: 0 !important;
		gap: 10px !important;
	}
	.spark-newsletter-input {
		width: 100% !important;
		background: #ffffff !important;
		border-radius: 6px !important;
		padding: 12px 16px !important;
	}
	.spark-newsletter-submit {
		width: 100% !important;
		padding: 12px !important;
	}
}

/* Promo Service Banners Row (Moved below Trending Products) */
.spark-promo-banners-row {
	max-width: 1320px !important;
	margin: 36px auto !important;
	padding: 0 24px !important;
	box-sizing: border-box !important;
	display: flex !important;
	gap: 20px !important;
	align-items: stretch !important;
	clear: both !important;
}

.spark-promo-banners-row figure {
	flex: 1 1 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
	border-radius: 12px !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.spark-promo-banners-row figure:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.1) !important;
}

.spark-promo-banners-row img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	border-radius: 12px !important;
}

@media (max-width: 900px) {
	.spark-promo-banners-row {
		padding: 0 20px !important;
		gap: 14px !important;
	}
}

@media (max-width: 768px) {
	.spark-promo-banners-row {
		flex-direction: column !important;
		padding: 0 16px !important;
		margin: 24px auto !important;
		gap: 14px !important;
	}
	.spark-promo-banners-row figure {
		width: 100% !important;
	}
}