/* ==========================================================================
   Holystic — WooCommerce Styles v2
   Product page (Pinterest landing), Shop grid, Cart & Checkout
   ========================================================================== */

/* ---------- Shop / Archive Grid ---------- */
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	padding: 0;
	margin: 0;
}

.woocommerce ul.products li.product {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0;
	list-style: none;
	background: var(--h-gradient-card);
	border: 1px solid var(--h-border);
	border-radius: 16px;
	overflow: hidden;
	transition: all var(--h-transition);
	position: relative;
}

.woocommerce ul.products li.product:hover {
	border-color: rgba(212, 168, 83, 0.3);
	box-shadow: 0 0 30px var(--h-purple-glow);
	transform: translateY(-6px);
}

.woocommerce ul.products li.product a img {
	width: 100%;
	height: 300px;
	object-fit: cover;
	transition: transform var(--h-transition-slow);
}

.woocommerce ul.products li.product:hover a img {
	transform: scale(1.05);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
	font-family: var(--h-font-heading) !important;
	font-size: 1rem !important;
	color: var(--h-text-primary) !important;
	padding: 0.75rem 1.25rem 0.25rem !important;
	letter-spacing: 0.02em;
}

.woocommerce ul.products li.product .price {
	color: var(--h-gold) !important;
	font-family: var(--h-font-body);
	font-size: 1.05rem !important;
	font-weight: 600;
	padding: 0 1.25rem 0.75rem;
}

.woocommerce ul.products li.product .price del {
	color: var(--h-text-muted) !important;
	opacity: 0.7;
}

.woocommerce ul.products li.product .price ins {
	color: var(--h-gold) !important;
	text-decoration: none;
	font-weight: 700;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button {
	display: block !important;
	margin: 0 1.25rem 1.25rem !important;
	padding: 0.75rem 1.5rem !important;
	background: var(--h-gradient-cta) !important;
	background-size: 200% 200% !important;
	color: #fff !important;
	border: none !important;
	border-radius: 50px !important;
	font-weight: 600 !important;
	font-size: 0.85rem !important;
	text-align: center !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	transition: all var(--h-transition) !important;
	cursor: pointer;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.add_to_cart_button:hover {
	background-position: 100% 50% !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 20px rgba(247, 163, 37, 0.3);
}

/* Sale badge */
.woocommerce span.onsale,
.sale-badge {
	position: absolute !important;
	top: 1rem;
	left: 1rem;
	z-index: 10;
	padding: 0.3rem 0.85rem;
	background: linear-gradient(135deg, var(--h-rose-deep), var(--h-rose)) !important;
	color: #fff !important;
	font-family: var(--h-font-accent);
	font-size: 0.65rem !important;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	border-radius: 50px !important;
	min-height: auto !important;
	min-width: auto !important;
	line-height: 1.4 !important;
	box-shadow: 0 2px 12px rgba(232, 160, 180, 0.25);
}

/* Out of stock badge overlay */
.woocommerce ul.products li.product.outofstock .woocommerce-loop-product__link::after {
	content: 'Sold Out';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: rgba(10, 8, 18, 0.85);
	color: var(--h-rose);
	font-family: var(--h-font-accent);
	font-size: 0.7rem;
	letter-spacing: 2px;
	text-transform: uppercase;
	padding: 0.5rem 1.5rem;
	border: 1px solid var(--h-rose);
	border-radius: 50px;
	z-index: 5;
}

.woocommerce ul.products li.product.outofstock .woocommerce-loop-product__link {
	position: relative;
}

.woocommerce ul.products li.product.outofstock .woocommerce-loop-product__link img {
	opacity: 0.5;
}

/* Star rating */
.woocommerce .star-rating {
	color: var(--h-gold) !important;
}

/* Result count & ordering */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	color: var(--h-text-secondary);
	margin-bottom: 1.5rem !important;
}

.woocommerce .woocommerce-ordering select {
	background: var(--h-bg-card);
	color: var(--h-text-primary);
	border: 1px solid var(--h-border);
	border-radius: 8px;
	padding: 0.5rem 1rem;
	font-family: var(--h-font-body);
}

/* ==================================================================
   SINGLE PRODUCT — Pinterest Landing Page v2
   ================================================================== */

.holystic-product-landing {
	padding-top: 0;
}

/* Breadcrumb */
.product-breadcrumb {
	padding: 1.25rem 0;
	font-size: 0.82rem;
	color: var(--h-text-muted);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
}

.product-breadcrumb a {
	color: var(--h-text-secondary);
	transition: color var(--h-transition);
}

.product-breadcrumb a:hover {
	color: var(--h-orange);
}

.product-breadcrumb .sep {
	margin: 0 0.4rem;
	opacity: 0.4;
}

.product-breadcrumb .current {
	color: var(--h-text-primary);
	font-weight: 500;
}

/* --- Product hero grid --- */
.product-hero {
	padding-bottom: 2rem;
}

.product-hero-grid {
	display: grid;
	grid-template-columns: 55% 1fr;
	gap: 3rem;
	align-items: start;
}

/* --- Gallery --- */
.product-gallery-wrapper {
	position: sticky;
	top: 100px;
}

.gallery-main {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	background: var(--h-bg-card);
	border: 1px solid rgba(212, 168, 83, 0.2);
	aspect-ratio: 1 / 1;
	box-shadow: 0 0 40px rgba(212, 168, 83, 0.08);
	transition: box-shadow 0.3s ease;
}

.gallery-main:hover {
	box-shadow: 0 0 50px rgba(212, 168, 83, 0.15);
}

.gallery-main img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: opacity 0.3s ease;
}

/* Gallery nav arrows */
.gallery-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(13, 11, 26, 0.7);
	backdrop-filter: blur(8px);
	border: 1px solid var(--h-border);
	color: var(--h-text-primary);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	opacity: 0;
	transition: all var(--h-transition);
	z-index: 5;
}

.gallery-main:hover .gallery-nav {
	opacity: 1;
}

.gallery-nav:hover {
	background: rgba(212, 168, 83, 0.3);
	border-color: var(--h-gold);
}

.gallery-prev { left: 0.75rem; }
.gallery-next { right: 0.75rem; }

.gallery-counter {
	position: absolute;
	bottom: 0.75rem;
	right: 0.75rem;
	background: rgba(13, 11, 26, 0.7);
	backdrop-filter: blur(8px);
	padding: 0.25rem 0.75rem;
	border-radius: 20px;
	font-size: 0.75rem;
	color: var(--h-text-secondary);
	border: 1px solid var(--h-border);
	z-index: 5;
}

/* Thumbnail strip */
.gallery-thumbs {
	display: flex;
	gap: 0.6rem;
	margin-top: 0.75rem;
	overflow-x: auto;
	padding-bottom: 0.25rem;
	scrollbar-width: thin;
	scrollbar-color: var(--h-border) transparent;
}

.thumb-btn {
	width: 68px;
	height: 68px;
	min-width: 68px;
	border-radius: 12px;
	overflow: hidden;
	border: 2px solid transparent;
	background: var(--h-bg-card);
	cursor: pointer;
	transition: all var(--h-transition);
	padding: 0;
}

.thumb-btn img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.thumb-btn.active,
.thumb-btn:hover {
	border-color: var(--h-gold);
	box-shadow: 0 0 12px rgba(212, 168, 83, 0.25);
}

/* --- Product info --- */
.product-info {
	padding: 0.5rem 0;
}

.product-category-label {
	font-family: var(--h-font-accent);
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--h-gold);
	margin-bottom: 0.5rem;
	font-weight: 400;
}

.product-category-label a {
	color: var(--h-gold);
	text-decoration: none;
}

.product-title {
	font-family: var(--h-font-display);
	font-size: clamp(1.5rem, 3vw, 2.4rem);
	font-weight: 400;
	color: var(--h-text-primary);
	line-height: 1.3;
	margin-bottom: 0.75rem;
	letter-spacing: 0.01em;
}

/* Meta row (rating + sku) */
.product-meta-row {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1rem;
	flex-wrap: wrap;
}

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

.product-rating .star {
	font-size: 1rem;
	color: var(--h-text-muted);
}

.product-rating .star.filled {
	color: var(--h-gold);
}

.product-rating .rating-count {
	margin-left: 0.35rem;
	font-size: 0.8rem;
	color: var(--h-text-muted);
}

.product-sku {
	font-size: 0.75rem;
	color: var(--h-text-muted);
	padding: 0.2rem 0.6rem;
	background: rgba(123, 47, 242, 0.08);
	border-radius: 4px;
}

/* Price */
.product-price-block {
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--h-border);
}

.product-price-block .price,
.product-price-block .woocommerce-Price-amount {
	font-family: var(--h-font-heading);
	font-size: 1.8rem !important;
	font-weight: 700;
	color: var(--h-gold) !important;
}

.product-price-block del .woocommerce-Price-amount {
	color: var(--h-text-muted) !important;
	font-size: 1.2rem !important;
}

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

/* Short description */
.product-short-desc {
	color: var(--h-text-secondary);
	font-size: 0.95rem;
	line-height: 1.7;
	margin-bottom: 1.25rem;
}

.product-short-desc p {
	margin-bottom: 0.4rem;
}

/* Compact spiritual benefits in sidebar */
.product-benefits-compact {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1.25rem;
}

.benefit-compact {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.4rem 0.85rem;
	background: rgba(123, 47, 242, 0.08);
	border: 1px solid rgba(123, 47, 242, 0.15);
	border-radius: 50px;
	font-size: 0.78rem;
	color: var(--h-text-secondary);
	font-weight: 500;
}

.bc-icon {
	font-size: 0.9rem;
}

/* Add to cart */
.product-add-to-cart .single_add_to_cart_button,
.product-add-to-cart .button {
	display: block;
	width: 100%;
	padding: 1rem 2rem !important;
	background: var(--h-gradient-cta) !important;
	background-size: 200% 200% !important;
	color: #fff !important;
	border: none !important;
	border-radius: 50px !important;
	font-family: var(--h-font-accent) !important;
	font-size: 0.85rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 2px !important;
	cursor: pointer;
	transition: all var(--h-transition) !important;
	box-shadow: 0 4px 25px rgba(212, 168, 83, 0.25);
	position: relative;
	overflow: hidden;
}

.product-add-to-cart .single_add_to_cart_button::after,
.product-add-to-cart .button::after {
	content: '';
	position: absolute;
	top: -50%;
	left: -60%;
	width: 40%;
	height: 200%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
	transform: skewX(-25deg);
	transition: left 0.6s ease;
}

.product-add-to-cart .single_add_to_cart_button:hover::after,
.product-add-to-cart .button:hover::after {
	left: 120%;
}

@keyframes ctaShimmer {
	0%, 100% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
}

.product-add-to-cart .single_add_to_cart_button {
	animation: ctaShimmer 3s infinite ease-in-out;
}

.product-add-to-cart .single_add_to_cart_button:hover,
.product-add-to-cart .button:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 40px rgba(212, 168, 83, 0.35) !important;
}

.product-add-to-cart .quantity {
	margin-bottom: 0.75rem;
}

.product-add-to-cart .quantity .qty {
	width: 80px;
	padding: 0.65rem;
	background: var(--h-bg-card);
	border: 1px solid var(--h-border);
	border-radius: 12px;
	color: var(--h-text-primary);
	font-size: 1rem;
	text-align: center;
	font-family: var(--h-font-body);
}

.product-add-to-cart .quantity .qty:focus {
	border-color: var(--h-gold);
	outline: none;
}

/* Sticky Add to Cart Bar */
.sticky-add-to-cart {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 999;
	background: rgba(10, 8, 18, 0.95);
	backdrop-filter: blur(20px);
	border-top: 1px solid var(--h-border);
	padding: 0.75rem 1.5rem;
	transform: translateY(100%);
	transition: transform 0.3s ease;
}

.sticky-add-to-cart.visible {
	transform: translateY(0);
}

.sticky-add-to-cart-inner {
	max-width: var(--h-container);
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.sticky-product-name {
	font-family: var(--h-font-heading);
	color: var(--h-text-primary);
	font-size: 0.95rem;
}

.sticky-product-price {
	color: var(--h-gold);
	font-family: var(--h-font-heading);
	font-weight: 700;
	font-size: 1.1rem;
}

.sticky-add-to-cart .btn-primary {
	padding: 0.65rem 1.5rem;
	font-size: 0.75rem;
}

/* Trust badges */
.holystic-trust-badges {
	display: flex;
	gap: 1rem;
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--h-border);
}

.trust-badge {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--h-text-secondary);
	font-size: 0.78rem;
	font-weight: 500;
}

.trust-badge svg {
	color: var(--h-teal);
	flex-shrink: 0;
}

/* Payment icons */
.product-payment-icons {
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid var(--h-border);
	text-align: center;
}

.pi-label {
	display: block;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--h-text-muted);
	margin-bottom: 0.5rem;
	font-weight: 600;
}

.pi-icons {
	display: flex;
	justify-content: center;
	gap: 0.75rem;
}

.pi-icon {
	font-size: 1.2rem;
	opacity: 0.6;
}

/* Share buttons */
.product-share {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1rem;
	padding-top: 0.75rem;
}

.share-label {
	font-size: 0.8rem;
	color: var(--h-text-muted);
	font-weight: 500;
}

.share-btn {
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid var(--h-border);
	background: transparent;
	color: var(--h-text-secondary);
	cursor: pointer;
	transition: all var(--h-transition);
}

.share-btn:hover {
	border-color: var(--h-purple);
	color: var(--h-purple-light);
	background: rgba(123, 47, 242, 0.1);
}

.share-pinterest:hover { color: #E60023; border-color: #E60023; }
.share-facebook:hover  { color: #1877F2; border-color: #1877F2; }

/* ==================================================================
   PRODUCT TABS
   ================================================================== */

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

.product-tabs {
	background: var(--h-bg-card);
	border: 1px solid var(--h-border);
	border-radius: 20px;
	overflow: hidden;
}

.tabs-nav {
	display: flex;
	border-bottom: 1px solid var(--h-border);
	overflow-x: auto;
}

.tab-btn {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 1rem 1.5rem;
	background: transparent;
	border: none;
	color: var(--h-text-muted);
	font-family: var(--h-font-body);
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	transition: all var(--h-transition);
	border-bottom: 2px solid transparent;
	white-space: nowrap;
}

.tab-btn:hover {
	color: var(--h-text-primary);
	background: rgba(123, 47, 242, 0.04);
}

.tab-btn.active {
	color: var(--h-orange);
	border-bottom-color: var(--h-orange);
	background: rgba(247, 163, 37, 0.04);
}

.tab-btn svg {
	opacity: 0.6;
}

.tab-btn.active svg {
	opacity: 1;
}

.tabs-content {
	padding: 2rem;
}

.tab-panel {
	display: none;
}

.tab-panel.active {
	display: block;
}

/* --- Description content --- */
.description-content {
	color: var(--h-text-secondary);
	line-height: 1.8;
	font-size: 0.95rem;
	max-width: 100%;
	overflow: hidden;
}

.description-content p {
	margin-bottom: 1rem;
}

.description-content h1,
.description-content h2,
.description-content h3,
.description-content h4 {
	font-family: var(--h-font-heading);
	color: var(--h-text-primary);
	margin: 1.5rem 0 0.75rem;
}

.description-content ul,
.description-content ol {
	padding-left: 1.5rem;
	margin-bottom: 1rem;
}

.description-content li {
	margin-bottom: 0.35rem;
}

/* ★★★ CRITICAL: Description images — compact thumbnail grid ★★★ */

/* Wrap all paragraphs containing images into a grid */
.description-gallery-mode {
	display: flex;
	flex-direction: column;
}

/* Paragraphs with images → grid thumbnails */
.description-gallery-mode > p:has(> img),
.description-gallery-mode > .wp-block-image,
.description-gallery-mode > figure {
	display: inline;
}

/* Container for all images — JS wraps them */
.desc-image-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.75rem;
	margin: 1.5rem 0;
}

.desc-image-grid .desc-thumb {
	position: relative;
	border-radius: 12px;
	overflow: hidden;
	cursor: zoom-in;
	aspect-ratio: 1;
	border: 1px solid var(--h-border);
	transition: all var(--h-transition);
}

.desc-image-grid .desc-thumb:hover {
	border-color: var(--h-border-hover);
	transform: scale(1.03);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.desc-image-grid .desc-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	display: block !important;
	border-radius: 0 !important;
}

.desc-image-grid .desc-thumb .zoom-hint {
	position: absolute;
	bottom: 0.5rem;
	right: 0.5rem;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.6);
	border-radius: 6px;
	color: #fff;
	opacity: 0;
	transition: opacity var(--h-transition);
}

.desc-image-grid .desc-thumb:hover .zoom-hint {
	opacity: 1;
}

/* Lightbox overlay */
.holystic-lightbox {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10000;
	background: rgba(0, 0, 0, 0.92);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
	cursor: zoom-out;
}

.holystic-lightbox.active {
	opacity: 1;
	pointer-events: auto;
}

.holystic-lightbox img {
	max-width: 90vw;
	max-height: 90vh;
	object-fit: contain;
	border-radius: 12px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

.holystic-lightbox .lb-close {
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 50%;
	color: #fff;
	font-size: 1.5rem;
	cursor: pointer;
	transition: all var(--h-transition);
}

.holystic-lightbox .lb-close:hover {
	background: rgba(255, 255, 255, 0.2);
}

.holystic-lightbox .lb-prev,
.holystic-lightbox .lb-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	transition: all var(--h-transition);
}

.holystic-lightbox .lb-prev { left: 1.5rem; }
.holystic-lightbox .lb-next { right: 1.5rem; }

.holystic-lightbox .lb-prev:hover,
.holystic-lightbox .lb-next:hover {
	background: rgba(255, 255, 255, 0.2);
}

.holystic-lightbox .lb-counter {
	position: absolute;
	bottom: 1.5rem;
	left: 50%;
	transform: translateX(-50%);
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.85rem;
}

/* Fallback: any images NOT wrapped by JS */
.description-content img {
	max-width: 100%;
	height: auto !important;
	border-radius: 12px;
	margin: 0.75rem 0;
	display: block;
}

.description-content .wp-block-image,
.description-content figure {
	margin: 0.75rem 0;
	max-width: 100%;
}

.description-content .wp-block-gallery,
.description-content .gallery {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.75rem;
	margin: 1rem 0;
}

.description-content .wp-block-gallery img,
.description-content .gallery img {
	width: 100%;
	height: 180px;
	object-fit: cover;
	border-radius: 12px;
}

/* Hide text-only empty paragraphs generated by WP around images */
.description-gallery-mode > p:empty {
	display: none;
}

/* Additional info table */
.additional-info-table {
	width: 100%;
	border-collapse: collapse;
}

.additional-info-table th,
.additional-info-table td {
	padding: 0.85rem 1rem;
	border-bottom: 1px solid var(--h-border);
	text-align: left;
}

.additional-info-table th {
	font-family: var(--h-font-heading);
	font-size: 0.85rem;
	color: var(--h-text-primary);
	width: 35%;
	font-weight: 600;
}

.additional-info-table td {
	color: var(--h-text-secondary);
	font-size: 0.9rem;
}

.additional-info-table tr:last-child th,
.additional-info-table tr:last-child td {
	border-bottom: none;
}

/* No reviews text */
.no-reviews {
	color: var(--h-text-muted);
	font-style: italic;
}

/* WooCommerce tabs fallback override */
.woocommerce-tabs,
.woocommerce div.product .woocommerce-tabs {
	padding: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: none !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
	margin: 0 !important;
	padding: 0 !important;
}

/* ==================================================================
   SPIRITUAL BENEFITS (full-width section)
   ================================================================== */

.product-spiritual-section {
	padding: 4rem 0;
	background: linear-gradient(180deg, transparent, rgba(123, 47, 242, 0.03) 30%, rgba(123, 47, 242, 0.06) 50%, rgba(123, 47, 242, 0.03) 70%, transparent);
}

.spiritual-benefits-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

.benefit-card {
	background: var(--h-gradient-card);
	border: 1px solid var(--h-border);
	border-radius: 20px;
	padding: 2.5rem 2rem;
	text-align: center;
	transition: all var(--h-transition);
	position: relative;
	overflow: hidden;
}

.benefit-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 3px;
	background: var(--h-gradient-cta);
	border-radius: 0 0 3px 3px;
	opacity: 0;
	transition: opacity var(--h-transition);
}

.benefit-card:hover {
	border-color: var(--h-border-hover);
	box-shadow: var(--h-shadow-glow);
	transform: translateY(-5px);
}

.benefit-card:hover::before {
	opacity: 1;
}

.benefit-icon-wrap {
	width: 60px;
	height: 60px;
	margin: 0 auto 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(123, 47, 242, 0.1);
	border: 1px solid rgba(123, 47, 242, 0.2);
}

.benefit-icon {
	font-size: 1.6rem;
}

.benefit-card h4 {
	font-family: var(--h-font-heading);
	font-size: 1.05rem;
	color: var(--h-text-primary);
	margin-bottom: 0.5rem;
}

.benefit-card p {
	color: var(--h-text-secondary);
	font-size: 0.85rem;
	line-height: 1.7;
}

/* Related products */
.related-products-section {
	padding: 4rem 0 5rem;
	background: rgba(20, 16, 40, 0.5);
}

/* WooCommerce review form styling */
.product-tabs-section #reviews #respond,
.product-tabs-section #reviews .comment-respond {
	background: transparent;
}

.product-tabs-section #reviews #respond input,
.product-tabs-section #reviews #respond textarea {
	background: var(--h-bg-primary) !important;
	border: 1px solid var(--h-border) !important;
	border-radius: 12px !important;
	color: var(--h-text-primary) !important;
	padding: 0.75rem 1rem !important;
	font-family: var(--h-font-body) !important;
}

.product-tabs-section #reviews #respond input:focus,
.product-tabs-section #reviews #respond textarea:focus {
	border-color: var(--h-purple) !important;
	outline: none;
}

.product-tabs-section #reviews .comment-text {
	color: var(--h-text-secondary);
}

.product-tabs-section .woocommerce-Reviews-title {
	font-family: var(--h-font-heading);
	color: var(--h-text-primary);
	font-size: 1.3rem;
	margin-bottom: 1rem;
}

/* ---------- Cart Page ---------- */
.woocommerce-cart .woocommerce {
	padding: 2rem 0;
}

.woocommerce table.shop_table {
	background: var(--h-bg-card) !important;
	border: 1px solid var(--h-border) !important;
	border-radius: 16px !important;
	overflow: hidden;
	border-collapse: collapse;
}

.woocommerce table.shop_table th {
	background: var(--h-bg-surface) !important;
	color: var(--h-text-primary) !important;
	font-family: var(--h-font-heading);
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 1rem 1.25rem !important;
	border-color: var(--h-border) !important;
}

.woocommerce table.shop_table td {
	color: var(--h-text-secondary) !important;
	padding: 1rem 1.25rem !important;
	border-color: var(--h-border) !important;
	background: transparent !important;
}

.woocommerce table.shop_table td.product-name a {
	color: var(--h-text-primary);
	font-weight: 500;
}

.woocommerce table.shop_table .product-thumbnail img {
	border-radius: 8px;
	width: 60px;
}

.woocommerce .quantity .qty {
	background: var(--h-bg-card) !important;
	border: 1px solid var(--h-border) !important;
	color: var(--h-text-primary) !important;
	border-radius: 8px;
	padding: 0.5rem;
	width: 60px;
}

.woocommerce .cart_totals {
	background: var(--h-bg-card);
	border: 1px solid var(--h-border);
	border-radius: 16px;
	padding: 2rem;
}

.woocommerce .cart_totals h2 {
	font-family: var(--h-font-heading);
	color: var(--h-text-primary);
	font-size: 1.3rem;
	margin-bottom: 1rem;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce a.button.checkout {
	display: block !important;
	padding: 1rem 2rem !important;
	background: var(--h-gradient-cta) !important;
	background-size: 200% 200% !important;
	color: #fff !important;
	border: none !important;
	border-radius: 50px !important;
	font-family: var(--h-font-accent) !important;
	font-weight: 600 !important;
	font-size: 0.85rem !important;
	text-transform: uppercase !important;
	letter-spacing: 2px !important;
	text-align: center !important;
	transition: all var(--h-transition) !important;
	box-shadow: 0 4px 25px rgba(212, 168, 83, 0.25);
}

.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 40px rgba(212, 168, 83, 0.35) !important;
}

/* ---------- Checkout Page ---------- */
.holystic-checkout-progress {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	padding: 2rem 0 3rem;
	max-width: 500px;
	margin: 0 auto;
}

.progress-step {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
}

.step-circle {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 0.9rem;
	background: var(--h-bg-card);
	color: var(--h-text-muted);
	border: 2px solid var(--h-border);
	transition: all var(--h-transition);
}

.progress-step.active .step-circle {
	background: var(--h-gradient-cta);
	border-color: var(--h-gold);
	color: #fff;
	box-shadow: 0 0 20px rgba(212, 168, 83, 0.3);
}

.progress-step span {
	font-size: 0.75rem;
	color: var(--h-text-muted);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.progress-step.active span {
	color: var(--h-gold);
}

.progress-line {
	flex: 1;
	height: 2px;
	background: var(--h-border);
	margin: 0 0.5rem;
	margin-bottom: 1.5rem;
}

/* Checkout form */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout h3#order_review_heading {
	font-family: var(--h-font-heading) !important;
	font-size: 1.3rem;
	color: var(--h-text-primary);
	margin-bottom: 1.5rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--h-border);
}

.woocommerce-checkout .form-row label {
	color: var(--h-text-secondary);
	font-size: 0.85rem;
	font-weight: 500;
	margin-bottom: 0.35rem;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection {
	background: var(--h-bg-card) !important;
	border: 1px solid var(--h-border) !important;
	border-radius: 12px !important;
	color: var(--h-text-primary) !important;
	padding: 0.85rem 1rem !important;
	font-family: var(--h-font-body) !important;
	font-size: 0.95rem !important;
	transition: border-color var(--h-transition) !important;
	width: 100%;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus {
	border-color: var(--h-gold) !important;
	outline: none !important;
	box-shadow: 0 0 15px rgba(212, 168, 83, 0.15) !important;
}

.woocommerce-checkout .form-row input.input-text::placeholder {
	color: var(--h-text-muted);
}

/* Order review table */
.woocommerce-checkout-review-order-table {
	background: var(--h-bg-card) !important;
	border: 1px solid var(--h-border) !important;
	border-radius: 16px !important;
	overflow: hidden;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: 1rem 1.25rem !important;
	border-color: var(--h-border) !important;
}

.woocommerce-checkout-review-order-table th {
	color: var(--h-text-primary) !important;
	font-family: var(--h-font-heading);
	background: var(--h-bg-surface) !important;
}

.woocommerce-checkout-review-order-table td {
	color: var(--h-text-secondary) !important;
}

.woocommerce-checkout-review-order-table .order-total td {
	color: var(--h-gold) !important;
	font-weight: 700 !important;
	font-size: 1.2rem !important;
}

.woocommerce #place_order {
	display: block !important;
	width: 100% !important;
	padding: 1.1rem 2rem !important;
	background: var(--h-gradient-cta) !important;
	background-size: 200% 200% !important;
	color: #fff !important;
	border: none !important;
	border-radius: 50px !important;
	font-family: var(--h-font-accent) !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 2px !important;
	cursor: pointer !important;
	transition: all var(--h-transition) !important;
	box-shadow: 0 4px 25px rgba(212, 168, 83, 0.25);
	margin-top: 1rem;
	position: relative;
	overflow: hidden;
}

.woocommerce #place_order:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 40px rgba(212, 168, 83, 0.35) !important;
}

/* Checkout trust seals */
.holystic-checkout-trust {
	display: flex;
	justify-content: center;
	gap: 2rem;
	padding: 2rem 0;
	margin-top: 1rem;
	border-top: 1px solid var(--h-border);
}

.trust-seal {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--h-text-muted);
	font-size: 0.8rem;
	font-weight: 500;
}

.trust-seal svg {
	color: var(--h-teal);
}

/* Payment methods */
.woocommerce-checkout #payment {
	background: var(--h-bg-card) !important;
	border: 1px solid var(--h-border) !important;
	border-radius: 16px !important;
	padding: 1.5rem !important;
}

.woocommerce-checkout #payment ul.payment_methods {
	list-style: none;
	padding: 0 !important;
	border: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
	padding: 1rem !important;
	border-bottom: 1px solid var(--h-border);
	background: transparent !important;
}

.woocommerce-checkout #payment ul.payment_methods li:last-child {
	border-bottom: none;
}

.woocommerce-checkout #payment ul.payment_methods li label {
	color: var(--h-text-primary);
	font-weight: 500;
}

.woocommerce-checkout #payment .payment_box {
	background: var(--h-bg-surface) !important;
	border-radius: 8px;
	padding: 1rem !important;
	margin-top: 0.5rem;
	color: var(--h-text-secondary);
}

/* Notices */
.woocommerce-message,
.woocommerce-info {
	background: var(--h-bg-card) !important;
	border: 1px solid var(--h-border) !important;
	border-radius: 12px !important;
	color: var(--h-text-primary) !important;
	border-top-color: var(--h-teal) !important;
}

.woocommerce-error {
	background: var(--h-bg-card) !important;
	border: 1px solid rgba(255, 107, 138, 0.3) !important;
	border-radius: 12px !important;
	color: var(--h-coral) !important;
}

/* Coupon */
.woocommerce .coupon .input-text {
	background: var(--h-bg-card) !important;
	border: 1px solid var(--h-border) !important;
	border-radius: 12px !important;
	color: var(--h-text-primary) !important;
	padding: 0.7rem 1rem !important;
}

.woocommerce .coupon .button,
.woocommerce button.button {
	background: var(--h-purple) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 50px !important;
	padding: 0.7rem 1.5rem !important;
	font-weight: 600 !important;
	transition: all var(--h-transition) !important;
	cursor: pointer;
}

.woocommerce .coupon .button:hover,
.woocommerce button.button:hover {
	background: var(--h-purple-light) !important;
}

/* General buttons */
.woocommerce a.button,
.woocommerce input.button,
.woocommerce button.button.alt {
	background: var(--h-gradient-cta) !important;
	background-size: 200% 200% !important;
	color: #fff !important;
	border: none !important;
	border-radius: 50px !important;
	font-weight: 600 !important;
	transition: all var(--h-transition) !important;
}

.woocommerce a.button:hover,
.woocommerce input.button:hover,
.woocommerce button.button.alt:hover {
	background-position: 100% 50% !important;
}

/* My Account */
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: var(--h-bg-card);
	border: 1px solid var(--h-border);
	border-radius: 16px;
	overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 1rem 1.5rem;
	color: var(--h-text-secondary);
	border-bottom: 1px solid var(--h-border);
	transition: all var(--h-transition);
	font-size: 0.9rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	background: rgba(212, 168, 83, 0.1);
	color: var(--h-gold);
	border-left: 3px solid var(--h-gold);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	background: rgba(91, 63, 160, 0.1);
	color: var(--h-text-primary);
}

.woocommerce-account .woocommerce-MyAccount-content {
	background: var(--h-bg-card);
	border: 1px solid var(--h-border);
	border-radius: 16px;
	padding: 2rem;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-family: var(--h-font-heading);
	color: var(--h-text-primary);
}

.woocommerce-account .woocommerce-MyAccount-content a {
	color: var(--h-gold);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button,
.woocommerce-account .woocommerce-MyAccount-content .button {
	background: var(--h-gradient-cta) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 50px !important;
	padding: 0.65rem 1.5rem !important;
	font-family: var(--h-font-accent) !important;
	font-size: 0.75rem !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	transition: all var(--h-transition) !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button:hover,
.woocommerce-account .woocommerce-MyAccount-content .button:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 25px rgba(212, 168, 83, 0.3) !important;
}

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

@media (max-width: 992px) {
	.product-hero-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.product-gallery-wrapper {
		position: static;
	}

	.gallery-main {
		aspect-ratio: auto;
	}

	.spiritual-benefits-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.holystic-trust-badges {
		flex-wrap: wrap;
		gap: 0.75rem;
	}

	.holystic-checkout-trust {
		flex-direction: column;
		align-items: center;
		gap: 1rem;
	}

	.tabs-nav {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.tab-btn {
		flex: none;
		padding: 0.85rem 1.25rem;
		font-size: 0.85rem;
	}
}

@media (max-width: 768px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 1rem;
	}

	.woocommerce ul.products li.product a img {
		height: 200px;
	}

	.spiritual-benefits-grid {
		grid-template-columns: 1fr;
	}

	.tabs-content {
		padding: 1.25rem;
	}

	.desc-image-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.holystic-checkout-progress {
		gap: 0.5rem;
	}

	.step-circle {
		width: 35px;
		height: 35px;
		font-size: 0.8rem;
	}

	.progress-step span {
		font-size: 0.65rem;
	}

	.product-benefits-compact {
		gap: 0.35rem;
	}

	.benefit-compact {
		font-size: 0.72rem;
		padding: 0.3rem 0.6rem;
	}
}

@media (max-width: 480px) {
	.woocommerce ul.products {
		grid-template-columns: 1fr !important;
	}

	.product-title {
		font-size: 1.4rem;
	}

	.product-price-block .price,
	.product-price-block .woocommerce-Price-amount {
		font-size: 1.4rem !important;
	}

	.gallery-thumbs {
		gap: 0.4rem;
	}

	.thumb-btn {
		width: 55px;
		height: 55px;
		min-width: 55px;
	}
}

/* ==================================================================
   SHOP TOOLBAR
   ================================================================== */
.shop-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 2rem;
	padding: 1rem 1.5rem;
	background: var(--h-bg-card);
	border: 1px solid var(--h-border);
	border-radius: 12px;
}

.shop-toolbar .woocommerce-result-count {
	margin: 0 !important;
	color: var(--h-text-secondary);
	font-size: 0.9rem;
}

.shop-toolbar .woocommerce-ordering {
	margin: 0 !important;
}

/* Product card badge (% off) */
.product-card-badge {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 10;
	padding: 0.3rem 0.75rem;
	background: var(--h-coral);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	border-radius: 50px;
}

.product-card-inner {
	position: relative;
}

/* Star rating in loop */
.woocommerce ul.products li.product .star-rating {
	margin: 0 1.25rem 0.4rem;
	font-size: 0.85rem;
}

/* ==================================================================
   PRODUCT PAGE v3 — Organized structure per screenshots
   ================================================================== */

/* Category label */
.product-category-label {
	font-size: 0.82rem;
	color: var(--h-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: 0.5rem;
}

.product-category-label a {
	color: var(--h-text-secondary);
	transition: color var(--h-transition);
}

.product-category-label a:hover {
	color: var(--h-orange);
}

/* Title + stock badge */
.product-title-row {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-bottom: 0.75rem;
}

.stock-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0.75rem;
	border-radius: 50px;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	white-space: nowrap;
	margin-top: 0.35rem;
}

.stock-badge.in-stock {
	background: rgba(76, 175, 80, 0.15);
	color: #66bb6a;
	border: 1px solid rgba(76, 175, 80, 0.3);
}

.stock-badge.out-of-stock {
	background: rgba(239, 83, 80, 0.15);
	color: #ef5350;
	border: 1px solid rgba(239, 83, 80, 0.3);
}

/* Rating */
.product-rating {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	margin-bottom: 0.75rem;
}

.product-rating .star {
	font-size: 1rem;
	color: var(--h-text-muted);
}

.product-rating .star.filled {
	color: var(--h-gold);
}

.product-rating .rating-text {
	font-size: 0.82rem;
	color: var(--h-text-secondary);
	margin-left: 0.25rem;
}

/* Short description */
.product-short-desc {
	margin-bottom: 1.25rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--h-border);
	color: var(--h-text-secondary);
	font-size: 0.92rem;
	line-height: 1.7;
}

.product-short-desc p {
	margin: 0;
}

/* Product Meta Info */
.product-meta-info {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--h-border);
}

.product-meta-info .meta-row {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.65rem;
	font-size: 0.85rem;
}

.product-meta-info .meta-label {
	color: var(--h-text-muted);
	font-weight: 600;
	min-width: 50px;
}

.product-meta-info .meta-value {
	color: var(--h-text-secondary);
}

.product-meta-info .meta-value a {
	color: var(--h-text-secondary);
	transition: color var(--h-transition);
}

.product-meta-info .meta-value a:hover {
	color: var(--h-orange);
}

.meta-share-icons {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.share-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(123, 47, 242, 0.1);
	border: 1px solid var(--h-border);
	color: var(--h-text-secondary);
	cursor: pointer;
	transition: all var(--h-transition);
}

.share-icon:hover {
	background: rgba(123, 47, 242, 0.2);
	color: var(--h-text-primary);
	border-color: var(--h-purple);
}

.share-icon.copied {
	background: rgba(76, 175, 80, 0.2);
	border-color: #66bb6a;
}

/* ==================================================================
   RELATED PRODUCTS CAROUSEL
   ================================================================== */
.related-products-section {
	padding: 4rem 0;
}

.related-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 2rem;
}

.related-header .section-title {
	margin-top: 0.25rem;
}

.related-nav {
	display: flex;
	gap: 0.5rem;
}

.related-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--h-bg-card);
	border: 1px solid var(--h-border);
	color: var(--h-text-secondary);
	cursor: pointer;
	transition: all var(--h-transition);
}

.related-arrow:hover {
	background: rgba(123, 47, 242, 0.2);
	border-color: var(--h-purple);
	color: var(--h-text-primary);
}

.related-products-carousel .related.products {
	overflow-x: auto;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
}

.related-products-carousel .related.products > h2 {
	display: none; /* Hide default WC "Related products" heading */
}

.related-products-carousel ul.products {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 1.5rem;
	overflow-x: auto;
	scroll-behavior: smooth;
	padding-bottom: 1rem;
}

.related-products-carousel ul.products li.product {
	min-width: 260px;
	max-width: 280px;
	flex-shrink: 0;
}

.related-more {
	text-align: center;
	margin-top: 2rem;
}

.btn-outline {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 2rem;
	border: 1px solid var(--h-border);
	border-radius: 50px;
	color: var(--h-text-secondary);
	font-family: var(--h-font-body);
	font-size: 0.9rem;
	font-weight: 500;
	background: transparent;
	cursor: pointer;
	transition: all var(--h-transition);
}

.btn-outline:hover {
	border-color: var(--h-purple);
	color: var(--h-text-primary);
	background: rgba(123, 47, 242, 0.08);
}

/* ==================================================================
   TRUST FOOTER BADGES
   ================================================================== */
.product-trust-footer {
	padding: 3rem 0 4rem;
	border-top: 1px solid var(--h-border);
}

.trust-footer-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

.trust-footer-item {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 1.5rem;
	background: var(--h-bg-card);
	border: 1px solid var(--h-border);
	border-radius: 16px;
	transition: all var(--h-transition);
}

.trust-footer-item:hover {
	border-color: var(--h-border-hover);
}

.trust-footer-item .tfi-icon {
	flex-shrink: 0;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: rgba(123, 47, 242, 0.1);
	color: var(--h-purple-light);
}

.trust-footer-item strong {
	display: block;
	color: var(--h-text-primary);
	font-family: var(--h-font-heading);
	font-size: 0.92rem;
	margin-bottom: 0.2rem;
}

.trust-footer-item span {
	color: var(--h-text-muted);
	font-size: 0.82rem;
}

/* ==================================================================
   PAGE TEMPLATES — About, Contact, FAQ
   ================================================================== */

/* About page */
.holystic-about-page {
	max-width: 900px;
	margin: 0 auto;
	padding: 2rem 0 4rem;
}

.about-hero-image {
	margin-bottom: 2rem;
	border-radius: 20px;
	overflow: hidden;
}

.about-hero-image img {
	width: 100%;
	height: auto;
	display: block;
}

.about-content {
	color: var(--h-text-secondary);
	font-size: 1rem;
	line-height: 1.8;
	margin-bottom: 3rem;
}

.about-content h2,
.about-content h3 {
	color: var(--h-text-primary);
	font-family: var(--h-font-heading);
	margin-top: 2rem;
}

.about-values-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

.about-value-card {
	background: var(--h-bg-card);
	border: 1px solid var(--h-border);
	border-radius: 16px;
	padding: 2rem 1.5rem;
	text-align: center;
	transition: all var(--h-transition);
}

.about-value-card:hover {
	border-color: var(--h-border-hover);
	transform: translateY(-3px);
}

.about-value-card .avc-icon {
	font-size: 2rem;
	margin-bottom: 0.75rem;
}

.about-value-card h3 {
	font-family: var(--h-font-heading);
	color: var(--h-text-primary);
	font-size: 1rem;
	margin-bottom: 0.5rem;
}

.about-value-card p {
	color: var(--h-text-muted);
	font-size: 0.88rem;
	line-height: 1.6;
}

/* Contact page */
.holystic-contact-page {
	padding: 2rem 0 4rem;
}

.contact-grid {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 3rem;
	align-items: start;
}

.contact-info-col h2 {
	font-family: var(--h-font-heading);
	color: var(--h-text-primary);
	margin-bottom: 0.75rem;
}

.contact-info-col > p {
	color: var(--h-text-secondary);
	font-size: 0.92rem;
	line-height: 1.7;
	margin-bottom: 2rem;
}

.contact-info-items {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.contact-info-item {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}

.contact-info-item .cii-icon {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: rgba(123, 47, 242, 0.1);
	color: var(--h-purple-light);
}

.contact-info-item strong {
	display: block;
	color: var(--h-text-primary);
	font-size: 0.92rem;
	margin-bottom: 0.15rem;
}

.contact-info-item span {
	color: var(--h-text-muted);
	font-size: 0.85rem;
}

.contact-form-col {
	background: var(--h-bg-card);
	border: 1px solid var(--h-border);
	border-radius: 20px;
	padding: 2rem;
}

.contact-form-col input[type="text"],
.contact-form-col input[type="email"],
.contact-form-col textarea {
	width: 100%;
	background: var(--h-bg-secondary);
	border: 1px solid var(--h-border);
	border-radius: 10px;
	padding: 0.85rem 1rem;
	color: var(--h-text-primary);
	font-family: var(--h-font-body);
	font-size: 0.9rem;
	margin-bottom: 1rem;
	transition: border-color var(--h-transition);
}

.contact-form-col input:focus,
.contact-form-col textarea:focus {
	outline: none;
	border-color: var(--h-purple);
}

.contact-form-col input[type="submit"],
.contact-form-col button[type="submit"] {
	background: var(--h-gradient-cta);
	background-size: 200% 200%;
	color: #fff;
	border: none;
	border-radius: 50px;
	padding: 0.85rem 2rem;
	font-weight: 600;
	font-size: 0.92rem;
	cursor: pointer;
	transition: all var(--h-transition);
}

.contact-form-col input[type="submit"]:hover,
.contact-form-col button[type="submit"]:hover {
	background-position: 100% 50%;
	transform: translateY(-1px);
	box-shadow: 0 4px 20px rgba(247, 163, 37, 0.3);
}

/* FAQ page */
.holystic-faq-page {
	max-width: 800px;
	margin: 0 auto;
	padding: 2rem 0 4rem;
}

.holystic-faq-page .faq-content {
	color: var(--h-text-secondary);
	line-height: 1.8;
}

.holystic-faq-page h2,
.holystic-faq-page h3 {
	color: var(--h-text-primary);
	font-family: var(--h-font-heading);
	margin-top: 2rem;
}

/* ==================================================================
   BLOG TEMPLATES — Single post + Archive improvements
   ================================================================== */

/* Post navigation */
.post-nav-links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid var(--h-border);
}

.post-nav-link {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	padding: 1.25rem;
	background: var(--h-bg-card);
	border: 1px solid var(--h-border);
	border-radius: 12px;
	transition: all var(--h-transition);
}

.post-nav-link:hover {
	border-color: var(--h-border-hover);
}

.post-nav-link .nav-direction {
	font-size: 0.78rem;
	color: var(--h-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.post-nav-link .nav-title {
	font-family: var(--h-font-heading);
	color: var(--h-text-primary);
	font-size: 0.92rem;
}

.post-nav-link.next-link {
	text-align: right;
}

/* Comments */
.holystic-comments {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid var(--h-border);
}

.holystic-comments .comments-title {
	font-family: var(--h-font-heading);
	color: var(--h-text-primary);
	font-size: 1.3rem;
	margin-bottom: 1.5rem;
}

.holystic-comments .comment-list {
	list-style: none;
	padding: 0;
}

.holystic-comments .comment-list li.comment {
	padding: 1.5rem;
	margin-bottom: 1rem;
	background: var(--h-bg-card);
	border: 1px solid var(--h-border);
	border-radius: 12px;
}

.holystic-comments .comment-author {
	color: var(--h-text-primary);
	font-weight: 600;
}

.holystic-comments .comment-content {
	color: var(--h-text-secondary);
	line-height: 1.7;
}

.holystic-comments .comment-respond label {
	color: var(--h-text-secondary);
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.88rem;
}

.holystic-comments .comment-respond input[type="text"],
.holystic-comments .comment-respond input[type="email"],
.holystic-comments .comment-respond input[type="url"],
.holystic-comments .comment-respond textarea {
	width: 100%;
	background: var(--h-bg-secondary);
	border: 1px solid var(--h-border);
	border-radius: 10px;
	padding: 0.85rem 1rem;
	color: var(--h-text-primary);
	font-family: var(--h-font-body);
	font-size: 0.9rem;
	margin-bottom: 1rem;
	transition: border-color var(--h-transition);
}

.holystic-comments .comment-respond input:focus,
.holystic-comments .comment-respond textarea:focus {
	outline: none;
	border-color: var(--h-purple);
}

.holystic-comments .submit-comment,
.holystic-comments #submit {
	background: var(--h-gradient-cta);
	background-size: 200% 200%;
	color: #fff;
	border: none;
	border-radius: 50px;
	padding: 0.85rem 2rem;
	font-weight: 600;
	cursor: pointer;
	transition: all var(--h-transition);
}

.holystic-comments .submit-comment:hover,
.holystic-comments #submit:hover {
	background-position: 100% 50%;
	transform: translateY(-1px);
	box-shadow: 0 4px 20px rgba(247, 163, 37, 0.3);
}

/* ==================================================================
   WC CART PAGE STYLES
   ================================================================== */
.woocommerce-cart .woocommerce table.shop_table {
	background: var(--h-bg-card);
	border: 1px solid var(--h-border);
	border-radius: 16px;
	overflow: hidden;
	border-collapse: separate;
}

.woocommerce-cart .woocommerce table.shop_table th {
	background: var(--h-bg-secondary);
	color: var(--h-text-primary);
	font-family: var(--h-font-heading);
	font-size: 0.82rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 1rem 1.25rem;
	border-bottom: 1px solid var(--h-border);
}

.woocommerce-cart .woocommerce table.shop_table td {
	background: transparent;
	color: var(--h-text-secondary);
	padding: 1rem 1.25rem;
	border-bottom: 1px solid var(--h-border);
	vertical-align: middle;
}

.woocommerce-cart .product-name a {
	color: var(--h-text-primary);
	font-weight: 500;
	transition: color var(--h-transition);
}

.woocommerce-cart .product-name a:hover {
	color: var(--h-orange);
}

.woocommerce-cart .product-thumbnail img {
	border-radius: 8px;
	width: 70px;
	height: 70px;
	object-fit: cover;
}

.woocommerce-cart .quantity .qty {
	background: var(--h-bg-secondary);
	border: 1px solid var(--h-border);
	color: var(--h-text-primary);
	border-radius: 8px;
	padding: 0.4rem 0.6rem;
	width: 60px;
	text-align: center;
	font-family: var(--h-font-body);
}

.woocommerce-cart .coupon .input-text {
	background: var(--h-bg-secondary) !important;
	border: 1px solid var(--h-border) !important;
	color: var(--h-text-primary) !important;
	border-radius: 8px !important;
	padding: 0.6rem 1rem !important;
	font-family: var(--h-font-body);
}

.woocommerce-cart .actions .button,
.woocommerce-cart .cart_totals .checkout-button {
	background: var(--h-gradient-cta) !important;
	background-size: 200% 200% !important;
	color: #fff !important;
	border: none !important;
	border-radius: 50px !important;
	padding: 0.75rem 2rem !important;
	font-weight: 600 !important;
	transition: all var(--h-transition) !important;
	cursor: pointer !important;
}

.woocommerce-cart .actions .button:hover,
.woocommerce-cart .cart_totals .checkout-button:hover {
	background-position: 100% 50% !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 20px rgba(247, 163, 37, 0.3);
}

.woocommerce-cart .cart_totals {
	background: var(--h-bg-card);
	border: 1px solid var(--h-border);
	border-radius: 16px;
	padding: 1.5rem;
}

.woocommerce-cart .cart_totals h2 {
	font-family: var(--h-font-heading);
	color: var(--h-text-primary);
	font-size: 1.1rem;
	margin-bottom: 1rem;
}

.woocommerce-cart .cart_totals table {
	border: none;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
	background: transparent;
	color: var(--h-text-secondary);
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--h-border);
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
	color: var(--h-text-primary);
	font-weight: 600;
	font-size: 1.1rem;
}

/* ==================================================================
   WC CHECKOUT PAGE STYLES
   ================================================================== */
.holystic-checkout .woocommerce form.checkout {
	color: var(--h-text-secondary);
}

.holystic-checkout .woocommerce-billing-fields h3,
.holystic-checkout .woocommerce-shipping-fields h3,
.holystic-checkout .woocommerce-additional-fields h3,
.holystic-checkout #order_review_heading {
	font-family: var(--h-font-heading);
	color: var(--h-text-primary);
	font-size: 1.15rem;
	margin-bottom: 1.25rem;
}

.holystic-checkout .woocommerce form .form-row label {
	color: var(--h-text-secondary);
	font-size: 0.88rem;
}

.holystic-checkout .woocommerce form .form-row input.input-text,
.holystic-checkout .woocommerce form .form-row textarea,
.holystic-checkout .woocommerce form .form-row select {
	background: var(--h-bg-secondary) !important;
	border: 1px solid var(--h-border) !important;
	color: var(--h-text-primary) !important;
	border-radius: 10px !important;
	padding: 0.85rem 1rem !important;
	font-family: var(--h-font-body);
	transition: border-color var(--h-transition);
}

.holystic-checkout .woocommerce form .form-row input.input-text:focus,
.holystic-checkout .woocommerce form .form-row textarea:focus,
.holystic-checkout .woocommerce form .form-row select:focus {
	border-color: var(--h-purple) !important;
	outline: none;
}

.holystic-checkout .woocommerce #order_review {
	background: var(--h-bg-card);
	border: 1px solid var(--h-border);
	border-radius: 16px;
	padding: 1.5rem;
}

.holystic-checkout .woocommerce table.shop_table {
	background: transparent;
	border: none;
}

.holystic-checkout .woocommerce table.shop_table th {
	color: var(--h-text-primary);
	font-family: var(--h-font-heading);
	font-size: 0.82rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.holystic-checkout .woocommerce table.shop_table td {
	color: var(--h-text-secondary);
}

.holystic-checkout .woocommerce #place_order {
	background: var(--h-gradient-cta) !important;
	background-size: 200% 200% !important;
	color: #fff !important;
	border: none !important;
	border-radius: 50px !important;
	padding: 1rem 2.5rem !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	width: 100% !important;
	transition: all var(--h-transition) !important;
}

.holystic-checkout .woocommerce #place_order:hover {
	background-position: 100% 50% !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 20px rgba(247, 163, 37, 0.3);
}

/* ==================================================================
   WC MY ACCOUNT PAGE STYLES
   ================================================================== */
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: var(--h-bg-card);
	border: 1px solid var(--h-border);
	border-radius: 16px;
	padding: 1rem 0;
	overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	border-bottom: 1px solid var(--h-border);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
	border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 0.85rem 1.5rem;
	color: var(--h-text-secondary);
	font-size: 0.92rem;
	transition: all var(--h-transition);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	color: var(--h-orange);
	background: rgba(247, 163, 37, 0.05);
}

.woocommerce-account .woocommerce-MyAccount-content {
	background: var(--h-bg-card);
	border: 1px solid var(--h-border);
	border-radius: 16px;
	padding: 2rem;
	color: var(--h-text-secondary);
}

.woocommerce-account .woocommerce-MyAccount-content a {
	color: var(--h-orange);
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	color: var(--h-text-primary);
	font-family: var(--h-font-heading);
}

/* WC Forms (Login, Register) */
.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register {
	background: var(--h-bg-card);
	border: 1px solid var(--h-border);
	border-radius: 16px;
	padding: 2rem;
}

/* ==================================================================
   RESPONSIVE — New sections
   ================================================================== */
@media (max-width: 992px) {
	.trust-footer-grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.about-values-grid {
		grid-template-columns: 1fr;
	}

	.contact-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.related-products-carousel ul.products li.product {
		min-width: 220px;
	}
}

@media (max-width: 768px) {
	.shop-toolbar {
		flex-direction: column;
		gap: 0.75rem;
		text-align: center;
	}

	.post-nav-links {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.post-nav-link.next-link {
		text-align: left;
	}

	.related-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 1rem;
	}

	.product-title-row {
		flex-direction: column;
		gap: 0.5rem;
	}
}
