/**
 * PWP Frontend Stylesheet
 *
 * Implements the premium layout structure, color systems, interactive components,
 * responsive grids, and visual animations.
 */

/* 1. Base Variables & Body Overrides */
.pwp-premium-active {
	background-color: #f8fafc;
	/* Sleek grayish-blue body backdrop */
}

/* 2. Grid & Structure Reset */
body.pwp-premium-active .site-header,
body.pwp-premium-active #masthead,
body.pwp-premium-active .main-header-bar,
body.pwp-premium-active .ast-theme-header-sidebar {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

body.pwp-premium-active .site-content,
body.pwp-premium-active #content,
body.pwp-premium-active .content-area,
body.pwp-premium-active #primary,
body.pwp-premium-active #main,
body.pwp-premium-active .main-content-inner {
	padding-top: 20px !important;
	/* Exactly ~1cm or less on desktop */
	margin-top: 0 !important;
}

.pwp-premium-active div.product {
	display: block !important;
	width: 100% !important;
	max-width: 1600px !important;
	margin: 0 auto 40px auto !important;
	padding: 0 20px !important;
}

.pwp-product-layout-wrapper {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 48px;
	align-items: start;
	margin-bottom: 48px;
}

@media (max-width: 991px) {
	.pwp-product-layout-wrapper {
		grid-template-columns: 1fr;
		gap: 32px;
	}
}

/* Clear WooCommerce floats */
.pwp-premium-active div.product .woocommerce-product-gallery,
.pwp-premium-active div.product .summary {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

.pwp-specs-view-desktop {
	margin-top: 25px !important;
}


/* 3. Product Gallery Styles */
.pwp-premium-active .woocommerce-product-gallery {
	background: #ffffff;
	border: 1px solid #f1f5f9;
	border-radius: 16px;
	padding: 20px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
}

.pwp-premium-active .woocommerce-product-gallery__image img {
	border-radius: 12px;
	width: 100% !important;
}

.pwp-premium-active .woocommerce-product-gallery .flex-control-thumbs {
	display: flex;
	gap: 12px;
	margin-top: 16px;
	padding: 0;
	list-style: none;
}

.pwp-premium-active .woocommerce-product-gallery .flex-control-thumbs li {
	width: 80px;
	margin: 0;
}

.pwp-premium-active .woocommerce-product-gallery .flex-control-thumbs img {
	border: 2px solid #e2e8f0;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.2s ease;
}

.pwp-premium-active .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.pwp-premium-active .woocommerce-product-gallery .flex-control-thumbs img:hover {
	border-color: var(--pwp-primary-color);
	transform: scale(1.05);
}

/* 4. Product Details Summary Card */
.pwp-premium-active div.product .summary {
	background: var(--pwp-bg-color);
	border: 1px solid #f1f5f9;
	border-radius: 16px;
	padding: 36px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03);
	display: flex;
	flex-direction: column;
	gap: 20px;
}

@media (min-width: 992px) {
	.pwp-premium-active div.product .summary {
		position: sticky;
		top: 40px;
		height: fit-content;
	}
}

/* Typography & Content Spacing */
.pwp-premium-active .woocommerce-breadcrumb {
	font-size: 12px;
	font-weight: 500;
	color: #94a3b8;
	margin-bottom: -10px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.pwp-premium-active .product_title {
	font-size: 32px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	color: #0f172a !important;
	margin: 0 !important;
	letter-spacing: -0.5px;
}

/* Ratings */
.pwp-premium-active .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: #64748b;
	margin-bottom: -5px;
}

.pwp-premium-active .woocommerce-product-rating .star-rating {
	float: none;
	margin: 0;
	color: #eab308;
	/* Premium gold */
	font-size: 14px;
}

/* Price */
.pwp-premium-active p.price,
.pwp-premium-active span.price {
	font-size: 28px !important;
	font-weight: 800 !important;
	color: var(--pwp-primary-color) !important;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 !important;
}

.pwp-premium-active p.price del,
.pwp-premium-active span.price del {
	font-size: 18px !important;
	color: #94a3b8 !important;
	font-weight: 500 !important;
}

.pwp-premium-active p.price ins,
.pwp-premium-active span.price ins {
	text-decoration: none !important;
	background: transparent !important;
	color: var(--pwp-primary-color) !important;
}

/* Add Sale Badge next to price */
.pwp-premium-active p.price::after {
	display: none;
	/* Hide default WC badges if styled this way */
}

/* Excerpt */
.pwp-premium-active .woocommerce-product-details__short-description {
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--pwp-text-color);
	border-bottom: 1px solid #f1f5f9;
	padding-bottom: 16px;
	margin: 0;
}

/* 5. Live Visitor Counter */
.pwp-visitor-counter {
	display: flex;
	align-items: center;
	gap: 10px;
	background: rgba(var(--pwp-accent-rgb), 0.07);
	border: 1px solid rgba(var(--pwp-accent-rgb), 0.18);
	padding: 10px 14px;
	border-radius: 8px;
	margin: 0;
}

.pwp-pulse-dot {
	width: 8px;
	height: 8px;
	background: var(--pwp-accent-color);
	border-radius: 50%;
	display: inline-block;
	box-shadow: 0 0 0 0 rgba(var(--pwp-accent-rgb), 0.7);
	animation: pwp-pulse 1.8s infinite;
	flex-shrink: 0;
}

.pwp-visitor-text {
	font-size: 13px;
	font-weight: 600;
	color: #1e293b;
}

.pwp-visitor-count-number {
	color: var(--pwp-accent-color);
	font-weight: 700;
}

@keyframes pwp-pulse {
	0% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(var(--pwp-accent-rgb), 0.7);
	}

	70% {
		transform: scale(1);
		box-shadow: 0 0 0 8px rgba(var(--pwp-accent-rgb), 0);
	}

	100% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(var(--pwp-accent-rgb), 0);
	}
}

/* 6. Sale Countdown Timer */
.pwp-countdown-wrapper {
	background: #0f172a;
	/* Sleek Dark Urgency Background */
	color: #ffffff;
	border-radius: 12px;
	padding: 16px 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
}

.pwp-countdown-title {
	font-size: 12.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #94a3b8;
	text-align: center;
}

.pwp-countdown-clock {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
}

.pwp-time-block {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 48px;
}

.pwp-time-val {
	font-size: 20px;
	font-weight: 800;
	color: #ffffff;
	background: rgba(255, 255, 255, 0.1);
	padding: 4px 8px;
	border-radius: 6px;
	width: 100%;
	text-align: center;
	border: 1px solid rgba(255, 255, 255, 0.15);
	font-variant-numeric: tabular-nums;
}

.pwp-time-lbl {
	font-size: 10px;
	color: #64748b;
	text-transform: uppercase;
	font-weight: 600;
	margin-top: 4px;
}

.pwp-time-separator {
	font-size: 20px;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.3);
	margin-top: -16px;
}

/* 7. Variations & Add to Cart Forms */
.pwp-premium-active form.cart {
	margin: 10px 0 0 0 !important;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* Variations styling */
.pwp-premium-active form.cart table.variations {
	width: 100% !important;
	border: none !important;
	margin-bottom: 0 !important;
}

.pwp-premium-active form.cart table.variations td {
	border: none !important;
	padding: 6px 0 !important;
	background: transparent !important;
}

.pwp-premium-active form.cart table.variations td.label {
	width: 80px;
	font-weight: 700;
	color: #334155;
	font-size: 13px;
	vertical-align: middle;
}

.pwp-premium-active form.cart table.variations td.value select {
	width: 100% !important;
	border: 1px solid #cbd5e1 !important;
	background-color: #ffffff !important;
	border-radius: 8px !important;
	padding: 10px 14px !important;
	font-size: 13.5px !important;
	color: #334155 !important;
	outline: none !important;
	transition: all 0.2s ease !important;
}

.pwp-premium-active form.cart table.variations td.value select:focus {
	border-color: var(--pwp-primary-color) !important;
	box-shadow: 0 0 0 3px rgba(var(--pwp-primary-rgb), 0.1) !important;
}

/* Hide Quantity Selector Rule */
body.pwp-hide-quantity-active .quantity,
body.pwp-hide-quantity-active .qty,
body.pwp-hide-quantity-active .qty-wrapper,
body.pwp-hide-quantity-active .qty-input,
body.pwp-hide-quantity-active .quantity-input,
body.pwp-hide-quantity-active div[class*="quantity"],
body.pwp-hide-quantity-active div[class*="qty"],
body.pwp-hide-quantity-active td[class*="quantity"],
body.pwp-hide-quantity-active td[class*="qty"],
body.pwp-hide-quantity-active span[class*="quantity"],
body.pwp-hide-quantity-active span[class*="qty"],
body.pwp-hide-quantity-active .woocommerce-variation-add-to-cart,
body.pwp-hide-quantity-active .variations_button,
body.pwp-hide-quantity-active .single_variation_wrap .variations_button,
body.pwp-hide-quantity-active .pwp-quantity-wrapper,
body.pwp-hide-quantity-active .pwp-qty-btn,
body.pwp-hide-quantity-active input.qty,
body.pwp-hide-quantity-active .pwp-sticky-cart-qty {
	display: none !important;
}

/* Custom Quantity Selector Layout */
.pwp-quantity-wrapper {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
}

.pwp-premium-active .quantity {
	display: inline-flex !important;
	align-items: center;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	background: #ffffff;
	overflow: hidden;
	height: 48px;
}

/* Hide Theme Default Spans/Buttons/Anchors inside Quantity Input */
.pwp-premium-active .quantity button:not(.pwp-qty-btn),
.pwp-premium-active .quantity input[type="button"]:not(.pwp-qty-btn),
.pwp-premium-active .quantity a:not(.pwp-qty-btn),
.pwp-premium-active .quantity span:not(.pwp-qty-btn):not(.screen-reader-text) {
	display: none !important;
}

.pwp-qty-btn {
	background: #f8fafc;
	border: none;
	width: 40px;
	height: 100%;
	font-size: 16px;
	font-weight: 600;
	color: #64748b;
	cursor: pointer;
	transition: background 0.2s ease;
	outline: none;
}

.pwp-qty-btn:hover {
	background: #f1f5f9;
	color: #0f172a;
}

.pwp-premium-active .quantity input.qty {
	width: 44px !important;
	height: 100% !important;
	border: none !important;
	text-align: center !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	-moz-appearance: textfield;
	appearance: textfield;
}

.pwp-premium-active .quantity input.qty::-webkit-outer-spin-button,
.pwp-premium-active .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Button & Form Alignment */
.pwp-cart-actions-row {
	display: flex;
	gap: 12px;
	width: 100%;
	margin-top: 5px;
}

.pwp-premium-active .single_add_to_cart_button {
	flex: 1;
	height: 48px;
	background: linear-gradient(135deg, var(--pwp-primary-color) 0%, rgba(var(--pwp-primary-rgb), 0.82) 100%) !important;
	color: #ffffff !important;
	border-radius: 50px !important;
	font-weight: 800 !important;
	font-size: 15px !important;
	padding: 0 28px !important;
	border: none !important;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(var(--pwp-primary-rgb), 0.3) !important;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	letter-spacing: 0.8px;
	text-transform: uppercase !important;
}

.pwp-premium-active .single_add_to_cart_button:hover {
	filter: brightness(1.08) !important;
	transform: translateY(-2px) scale(1.01);
	box-shadow: 0 8px 24px rgba(var(--pwp-primary-rgb), 0.45) !important;
}

.pwp-premium-active .single_add_to_cart_button:active {
	transform: translateY(0) scale(1);
}

.pwp-premium-active .single_add_to_cart_button.disabled,
.pwp-premium-active .single_add_to_cart_button:disabled {
	background: #cbd5e1 !important;
	color: #94a3b8 !important;
	box-shadow: none !important;
	cursor: not-allowed;
	transform: none !important;
}

.pwp-btn-icon {
	width: 18px;
	height: 18px;
	stroke-width: 2.5;
	flex-shrink: 0;
}

/* 8. Trust Badges */
.pwp-trust-badges-wrapper {
	border-top: 1px solid #f1f5f9;
	padding-top: 20px;
	margin-top: 10px;
}

.pwp-trust-title {
	font-size: 12px;
	font-weight: 700;
	color: #94a3b8;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	text-align: center;
	margin: 0 0 16px 0;
}

.pwp-trust-badges-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}

.pwp-trust-badge-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	border-radius: 8px;
	border: 1px dashed #e2e8f0;
	background: #fafafa;
}

.pwp-trust-badge-icon {
	color: var(--pwp-primary-color);
	display: flex;
	align-items: center;
}

.pwp-trust-badge-icon svg {
	width: 20px;
	height: 20px;
}

.pwp-trust-badge-label {
	font-size: 11.5px;
	font-weight: 600;
	color: #475569;
}

/* Meta Data (SKU, Categories) */
.pwp-premium-active .product_meta {
	font-size: 12px;
	color: #94a3b8;
	border-top: 1px solid #f1f5f9;
	padding-top: 14px;
	margin-top: 10px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.pwp-premium-active .product_meta a {
	color: #64748b;
	text-decoration: none;
}

.pwp-premium-active .product_meta a:hover {
	color: var(--pwp-primary-color);
}

/* 9. Accordion Tabs Replacement */
.pwp-accordions-active .woocommerce-tabs {
	display: none !important;
	/* Hide default tabs entirely */
}

.pwp-product-accordions {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	margin: 40px auto;
	max-width: 1200px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
}

.pwp-accordion-item {
	border-bottom: 1px solid #e2e8f0;
}

.pwp-accordion-item:last-child {
	border-bottom: none;
}

.pwp-accordion-header {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px 24px;
	background: #ffffff;
	border: none;
	cursor: pointer;
	outline: none;
	transition: background 0.2s ease;
}

.pwp-accordion-header:hover {
	background: #f8fafc;
}

.pwp-accordion-title {
	font-size: 15px;
	font-weight: 700;
	color: #0f172a;
	display: flex;
	align-items: center;
	gap: 10px;
}

.pwp-accordion-icon {
	color: #94a3b8;
	transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	font-size: 18px;
	font-weight: 500;
}

.pwp-accordion-item.active .pwp-accordion-header {
	background: #f8fafc;
}

.pwp-accordion-item.active .pwp-accordion-icon {
	transform: rotate(180deg);
	color: var(--pwp-primary-color);
}

.pwp-accordion-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	background: #ffffff;
}

.pwp-accordion-inner {
	padding: 24px 24px 36px 24px !important;
	/* Extra bottom padding to keep a clear 1cm gap after description end */
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--pwp-text-color);
}

/* Hide only the first redundant WooCommerce section title in each accordion panel */
.pwp-accordion-inner>h2:first-of-type,
.pwp-accordion-inner>h3:first-of-type {
	display: none !important;
}

/* Preserve Formatting for Product Description & Panel Content */
.pwp-accordion-inner p {
	margin-top: 0 !important;
	margin-bottom: 16px !important;
	line-height: 1.6 !important;
}

.pwp-accordion-inner ul {
	list-style-type: disc !important;
	padding-left: 20px !important;
	margin: 12px 0 16px 0 !important;
}

.pwp-accordion-inner ol {
	list-style-type: decimal !important;
	padding-left: 20px !important;
	margin: 12px 0 16px 0 !important;
}

.pwp-accordion-inner li {
	margin-bottom: 6px !important;
	display: list-item !important;
	list-style: inherit !important;
}

.pwp-accordion-inner h1,
.pwp-accordion-inner h2,
.pwp-accordion-inner h3,
.pwp-accordion-inner h4,
.pwp-accordion-inner h5,
.pwp-accordion-inner h6 {
	color: #0f172a !important;
	font-weight: 700 !important;
	margin-top: 24px !important;
	margin-bottom: 12px !important;
	display: block !important;
}

.pwp-accordion-inner h1 {
	font-size: 22px !important;
}

.pwp-accordion-inner h2 {
	font-size: 20px !important;
}

.pwp-accordion-inner h3 {
	font-size: 18px !important;
}

.pwp-accordion-inner h4 {
	font-size: 16px !important;
}

.pwp-accordion-inner table {
	width: 100% !important;
	border-collapse: collapse !important;
	margin: 16px 0 !important;
}

.pwp-accordion-inner th,
.pwp-accordion-inner td {
	border: 1px solid #e2e8f0 !important;
	padding: 10px 14px !important;
	text-align: left !important;
}

.pwp-accordion-inner th {
	background-color: #f8fafc !important;
	font-weight: 600 !important;
}

.pwp-accordion-inner blockquote {
	border-left: 4px solid var(--pwp-primary-color) !important;
	padding-left: 16px !important;
	margin: 16px 0 !important;
	color: #64748b !important;
	font-style: italic !important;
}

.pwp-accordion-inner a {
	color: var(--pwp-primary-color) !important;
	text-decoration: underline !important;
}

.pwp-accordion-inner a:hover {
	color: var(--pwp-accent-color) !important;
}

.pwp-accordion-inner img {
	max-width: 100% !important;
	height: auto !important;
	border-radius: 8px !important;
	margin: 16px 0 !important;
}

/* 10. Sticky Add to Cart Bar */
.pwp-sticky-cart-bar {
	position: fixed;
	left: 0;
	right: 0;
	background: #ffffff;
	box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08);
	padding: 12px 24px;
	z-index: 9999;
	transform: translateY(110%);
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	border-top: 1px solid #e2e8f0;
}

.pwp-sticky-cart-bar.pwp-position-top {
	top: 0;
	bottom: auto;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	transform: translateY(-110%);
	border-top: none;
	border-bottom: 1px solid #e2e8f0;
}

.pwp-sticky-cart-bar.pwp-visible {
	transform: translateY(0);
}

.pwp-sticky-container {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
}

.pwp-sticky-product-info {
	display: flex;
	align-items: center;
	gap: 12px;
}

.pwp-sticky-thumb {
	width: 48px;
	height: 48px;
	border-radius: 6px;
	object-fit: cover;
	border: 1px solid #e2e8f0;
}

.pwp-sticky-meta {
	display: flex;
	flex-direction: column;
}

.pwp-sticky-title {
	font-weight: 700;
	font-size: 14.5px;
	color: #0f172a;
}

.pwp-sticky-price {
	font-size: 13.5px;
	font-weight: 600;
	color: var(--pwp-primary-color);
}

.pwp-sticky-action-row {
	display: flex;
	align-items: center;
	gap: 12px;
}

.pwp-sticky-quantity {
	display: flex;
	align-items: center;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	height: 38px;
	overflow: hidden;
}

.pwp-sticky-quantity .pwp-qty-btn {
	width: 32px;
	font-size: 14px;
}

.pwp-sticky-qty-input {
	width: 36px;
	height: 100%;
	border: none;
	text-align: center;
	font-size: 13px;
	font-weight: 700;
	background: transparent;
	padding: 0;
	-moz-appearance: textfield;
	appearance: textfield;
}

.pwp-sticky-qty-input::-webkit-outer-spin-button,
.pwp-sticky-qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.pwp-sticky-submit-btn {
	background: var(--pwp-primary-color);
	color: #ffffff;
	border: none;
	border-radius: 50px;
	font-weight: 800;
	font-size: 13.5px;
	height: 38px;
	padding: 0 24px;
	cursor: pointer;
	box-shadow: 0 4px 10px rgba(var(--pwp-primary-rgb), 0.2);
	transition: all 0.2s ease;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

.pwp-sticky-submit-btn:hover {
	filter: brightness(1.08) !important;
	box-shadow: 0 4px 14px rgba(var(--pwp-primary-rgb), 0.35);
}

@media (max-width: 767px) {
	.pwp-sticky-product-info {
		display: none;
		/* Hide product details on tiny mobile screens in sticky bar for space */
	}

	.pwp-sticky-container {
		justify-content: center;
	}

	.pwp-sticky-action-row {
		width: 100%;
	}

	.pwp-sticky-submit-btn {
		flex: 1;
	}
}

/* 11. Stock Urgency Progress Bar */
.pwp-stock-urgency-wrapper {
	background: #fff5f5;
	/* Light Red urgency card backdrop */
	border: 1px solid #fed7d7;
	border-radius: 8px;
	padding: 12px 16px;
	margin: 0;
	box-shadow: 0 2px 8px rgba(197, 48, 48, 0.03);
}

.pwp-stock-text {
	font-size: 13px;
	font-weight: 700;
	color: #c53030;
	margin-bottom: 8px;
	display: flex;
	align-items: center;
}

.pwp-stock-number {
	background: #c53030;
	color: #ffffff;
	padding: 1px 6px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 800;
	display: inline-block;
	margin: 0 4px;
	font-variant-numeric: tabular-nums;
}

.pwp-stock-progress-bg {
	width: 100%;
	height: 6px;
	background: #fee2e2;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
}

.pwp-stock-progress-bar {
	height: 100%;
	background: linear-gradient(90deg, #f66, #c53030);
	border-radius: 10px;
	transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	overflow: hidden;
}

.pwp-stock-progress-bar::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(90deg,
			rgba(255, 255, 255, 0) 0%,
			rgba(255, 255, 255, 0.3) 50%,
			rgba(255, 255, 255, 0) 100%);
	animation: pwp-bar-shimmer 1.5s infinite;
}

@keyframes pwp-bar-shimmer {
	0% {
		transform: translateX(-100%);
	}

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

/* 12. Glassmorphism Card Style */
.pwp-glassmorphism-active div.product .summary {
	background: rgba(255, 255, 255, 0.45) !important;
	backdrop-filter: blur(20px) saturate(180%) !important;
	-webkit-backdrop-filter: blur(20px) saturate(180%) !important;
	border: 1px solid rgba(255, 255, 255, 0.6) !important;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05) !important;
}

/* 13. Add to Cart Pulse Animations */
.pwp-btn-pulse-active .single_add_to_cart_button,
.pwp-btn-pulse-active .pwp-sticky-submit-btn {
	animation: pwp-btn-pulse-anim 2.5s infinite ease-in-out;
}

.pwp-btn-pulse-active .single_add_to_cart_button:hover,
.pwp-btn-pulse-active .pwp-sticky-submit-btn:hover {
	animation-play-state: paused;
}

@keyframes pwp-btn-pulse-anim {
	0% {
		box-shadow: 0 4px 14px rgba(var(--pwp-primary-rgb), 0.3);
		transform: scale(1);
	}

	50% {
		box-shadow: 0 4px 24px rgba(var(--pwp-primary-rgb), 0.55);
		transform: scale(1.015);
	}

	100% {
		box-shadow: 0 4px 14px rgba(var(--pwp-primary-rgb), 0.3);
		transform: scale(1);
	}
}

/* 14. Hide Quantity Option */
.pwp-hide-quantity-active .quantity {
	display: none !important;
}

/* 15. Shimmer Swipe Animation */
.pwp-btn-shimmer-active .single_add_to_cart_button,
.pwp-btn-shimmer-active .pwp-sticky-submit-btn {
	position: relative;
	overflow: hidden !important;
}

.pwp-btn-shimmer-active .single_add_to_cart_button::before,
.pwp-btn-shimmer-active .pwp-sticky-submit-btn::before {
	content: '';
	position: absolute;
	top: 0;
	left: -150%;
	width: 50%;
	height: 100%;
	background: linear-gradient(90deg,
			rgba(255, 255, 255, 0) 0%,
			rgba(255, 255, 255, 0.38) 50%,
			rgba(255, 255, 255, 0) 100%);
	transform: skewX(-25deg);
	animation: pwp-btn-shimmer-anim 3.5s infinite ease-in-out;
}

@keyframes pwp-btn-shimmer-anim {
	0% {
		left: -150%;
	}

	30% {
		left: 150%;
	}

	100% {
		left: 150%;
	}
}

/* 16. Demo Button & Specifications Card styling */
.pwp-premium-active .pwp-demo-btn {
	flex: 1;
	min-width: 150px;
	height: 48px;
	border: 2px solid var(--pwp-primary-color) !important;
	background: transparent !important;
	color: var(--pwp-primary-color) !important;
	border-radius: 50px !important;
	font-weight: 800 !important;
	font-size: 15px !important;
	padding: 0 24px !important;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-decoration: none !important;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
	box-sizing: border-box !important;
	letter-spacing: 0.8px;
	text-transform: uppercase !important;
}

.pwp-premium-active .pwp-demo-btn:hover {
	background: var(--pwp-primary-color) !important;
	color: #ffffff !important;
	transform: translateY(-2px) scale(1.01);
	box-shadow: 0 8px 24px rgba(var(--pwp-primary-rgb), 0.3) !important;
}

.pwp-premium-active .pwp-demo-btn:active {
	transform: translateY(0) scale(1);
}

.pwp-specs-card {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 12px !important;
	padding: 20px !important;
	margin: 25px 0 !important;
	backdrop-filter: blur(10px) !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02) !important;
	color: #334155 !important;
}

.pwp-glassmorphism-active .pwp-specs-card {
	background: rgba(255, 255, 255, 0.85) !important;
	border-color: rgba(226, 232, 240, 0.8) !important;
	box-shadow: 0 8px 32px rgba(31, 38, 135, 0.04) !important;
}

.pwp-specs-title {
	margin: 0 0 15px 0 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	text-transform: uppercase !important;
	letter-spacing: 0.8px !important;
	border-bottom: 1px solid #e2e8f0 !important;
	padding-bottom: 10px !important;
}

.pwp-glassmorphism-active .pwp-specs-title {
	color: #0f172a !important;
	border-color: rgba(0, 0, 0, 0.08) !important;
}

.pwp-specs-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 15px;
}

@media (max-width: 480px) {
	.pwp-specs-grid {
		grid-template-columns: 1fr;
	}
}

.pwp-spec-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 4px 0;
}

.pwp-spec-icon-wrapper {
	width: 36px;
	height: 36px;
	border-radius: 8px;
	background: rgba(var(--pwp-primary-rgb), 0.08);
	color: var(--pwp-primary-color);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.pwp-glassmorphism-active .pwp-spec-icon-wrapper {
	background: rgba(var(--pwp-primary-rgb), 0.12) !important;
	color: var(--pwp-primary-color) !important;
}

.pwp-spec-icon-wrapper svg {
	width: 18px !important;
	height: 18px !important;
	max-width: 18px !important;
	max-height: 18px !important;
	stroke: currentColor !important;
	fill: none !important;
	stroke-width: 2.2px !important;
}

.pwp-spec-meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.pwp-spec-label {
	font-size: 11px !important;
	font-weight: 500 !important;
	color: #64748b !important;
	text-transform: uppercase !important;
	letter-spacing: 0.3px !important;
	margin: 0 !important;
	line-height: 1.2 !important;
}

/* Inherited color for glassmorphism labels */
.pwp-glassmorphism-active .pwp-spec-label {
	color: #64748b !important;
}

.pwp-spec-val {
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: #1e293b !important;
	margin: 0 !important;
	line-height: 1.2 !important;
}

/* Inherited color for glassmorphism values */
.pwp-glassmorphism-active .pwp-spec-val {
	color: #1e293b !important;
}

/* 17. Full Width Buttons Layout option */
.pwp-btn-full-width form.cart {
	flex-direction: column !important;
	align-items: stretch !important;
}

.pwp-btn-full-width form.cart .quantity {
	margin-bottom: 5px !important;
}

.pwp-btn-full-width .single_add_to_cart_button {
	width: 100% !important;
	flex: none !important;
}

.pwp-btn-full-width .pwp-demo-btn {
	width: 100% !important;
	flex: none !important;
	margin-top: 5px !important;
}

/* 18. Viewport Visibility for Product Specifications Card */
@media (min-width: 769px) {
	.pwp-specs-view-desktop {
		display: block !important;
	}

	.pwp-specs-view-mobile {
		display: none !important;
	}
}

@media (max-width: 768px) {
	.pwp-specs-view-desktop {
		display: none !important;
	}

	.pwp-specs-view-mobile {
		display: block !important;
	}
}

/* ==========================================
   19. Premium Product Category/Shop Grid
   ========================================== */
body.pwp-premium-active ul.products {
	display: grid !important;
	grid-template-columns: repeat(var(--pwp-loop-columns, 4), 1fr) !important;
	gap: 30px !important;
	margin: 40px 0 !important;
	padding: 0 !important;
}

body.pwp-premium-active ul.products::before,
body.pwp-premium-active ul.products::after {
	display: none !important;
	/* Remove float clearing divs that disrupt grids */
}

body.pwp-premium-active ul.products li.product {
	background: #ffffff !important;
	border: 1px solid #f1f5f9 !important;
	border-radius: 16px !important;
	padding: 20px !important;
	margin: 0 !important;
	width: 100% !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	justify-content: space-between !important;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02) !important;
	overflow: hidden !important;
	position: relative !important;
}

body.pwp-premium-active ul.products li.product:hover {
	transform: translateY(-6px) !important;
	box-shadow: 0 12px 30px rgba(var(--pwp-primary-rgb), 0.08) !important;
	border-color: rgba(var(--pwp-primary-rgb), 0.15) !important;
}

body.pwp-premium-active ul.products li.product .pwp-loop-card-img-link {
	display: block !important;
	height: auto !important;
	background: transparent !important;
	border-radius: 0 !important;
	overflow: hidden !important;
	margin-bottom: 15px !important;
	text-decoration: none !important;
}

body.pwp-premium-active ul.products li.product .pwp-loop-card-title-link {
	display: block !important;
	text-decoration: none !important;
	margin-bottom: 8px !important;
}

body.pwp-premium-active ul.products li.product a.pwp-loop-card-img-link img {
	width: 100% !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: none !important;
	object-fit: contain !important;
	border-radius: 12px !important;
	margin: 0 !important;
	transition: transform 0.5s ease !important;
}

body.pwp-premium-active ul.products li.product:hover a.pwp-loop-card-img-link img {
	transform: scale(1.03) !important;
}

body.pwp-premium-active ul.products li.product .pwp-custom-loop-title {
	font-family: var(--pwp-font-family), sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin: 0 0 8px 0 !important;
	line-height: 1.4 !important;
	text-align: center !important;
	min-height: 44px !important;
	/* height for 2 lines of text */
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

body.pwp-premium-active ul.products li.product .price {
	font-size: 15px !important;
	font-weight: 800 !important;
	color: var(--pwp-primary-color) !important;
	margin: 0 0 15px 0 !important;
	text-align: center !important;
	display: block !important;
}

body.pwp-premium-active ul.products li.product .price del {
	color: #94a3b8 !important;
	font-weight: 500 !important;
	font-size: 13px !important;
	margin-right: 5px !important;
}

body.pwp-premium-active ul.products li.product .price ins {
	text-decoration: none !important;
	background: transparent !important;
}

/* Loop Card Buttons Layout */
.pwp-loop-buttons-wrapper {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 8px !important;
	margin-top: auto !important;
}

.pwp-loop-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 10px 12px !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.8px !important;
	border-radius: 50px !important;
	text-decoration: none !important;
	transition: all 0.25s ease !important;
	cursor: pointer !important;
	box-sizing: border-box !important;
}

/* View Button */
.pwp-loop-btn-view {
	background: #f1f5f9 !important;
	color: #334155 !important;
	border: 1px solid #e2e8f0 !important;
}

.pwp-loop-btn-view:hover {
	background: #e2e8f0 !important;
	color: #0f172a !important;
	transform: translateY(-1px) !important;
}

/* Buy Now Button */
.pwp-loop-btn-buy {
	background: var(--pwp-primary-color) !important;
	color: #ffffff !important;
	border: 1px solid var(--pwp-primary-color) !important;
	box-shadow: 0 4px 12px rgba(var(--pwp-primary-rgb), 0.2) !important;
}

.pwp-loop-btn-buy:hover {
	background: var(--pwp-accent-color) !important;
	border-color: var(--pwp-accent-color) !important;
	box-shadow: 0 6px 18px rgba(var(--pwp-primary-rgb), 0.3) !important;
	transform: translateY(-1px) !important;
}

.pwp-loop-btn-buy .pwp-btn-icon {
	width: 12px !important;
	height: 12px !important;
	margin-right: 4px !important;
	stroke-width: 2.5px !important;
}

/* Hide theme-specific duplicate loop components during page load, preserving our restructured layout */
body.pwp-premium-active ul.products li.product>a:not(.pwp-loop-card-img-link):not(.pwp-loop-card-title-link),
body.pwp-premium-active ul.products li.product .ast-loop-product__meta,
body.pwp-premium-active ul.products li.product .add_to_cart_button,
body.pwp-premium-active ul.products li.product .added_to_cart,
body.pwp-premium-active ul.products li.product .woocommerce-placeholder,
body.pwp-premium-active ul.products li.product .product_meta {
	display: none !important;
}

/* ==========================================
   20. Premium Category Header Card
   ========================================== */
.pwp-category-header-card {
	background: #ffffff !important;
	border: 1px solid #f1f5f9 !important;
	border-radius: 16px !important;
	padding: 24px !important;
	margin-bottom: 30px !important;
	display: flex !important;
	align-items: center !important;
	gap: 24px !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02) !important;
	box-sizing: border-box !important;
	width: 100% !important;
}

.pwp-category-header-card.pwp-no-thumb {
	padding: 30px 24px !important;
}

.pwp-cat-thumbnail {
	width: 120px !important;
	height: 120px !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	flex-shrink: 0 !important;
}

.pwp-cat-thumbnail img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.pwp-cat-content {
	flex-grow: 1 !important;
}

.pwp-cat-title {
	font-family: var(--pwp-font-family), sans-serif !important;
	font-size: 28px !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	margin: 0 0 10px 0 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.5px !important;
}

.pwp-cat-description {
	font-family: var(--pwp-font-family), sans-serif !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	color: #475569 !important;
	margin: 0 !important;
}

.pwp-cat-description p {
	margin: 0 0 10px 0 !important;
}

.pwp-cat-description p:last-child {
	margin: 0 !important;
}

@media (max-width: 600px) {
	.pwp-category-header-card {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 16px !important;
		padding: 20px !important;
	}

	.pwp-cat-thumbnail {
		width: 80px !important;
		height: 80px !important;
	}

	.pwp-cat-title {
		font-size: 22px !important;
	}
}

/* Hide default shop/category page titles and descriptions on product archives */
body.pwp-premium-active.archive.tax-product_cat .woocommerce-products-header__title,
body.pwp-premium-active.archive.tax-product_cat .page-title,
body.pwp-premium-active.archive.tax-product_cat .term-description,
body.pwp-premium-active.archive.tax-product_cat .woocommerce-archive-description,
body.pwp-premium-active.archive.post-type-archive-product .woocommerce-products-header__title,
body.pwp-premium-active.archive.post-type-archive-product .page-title,
body.pwp-premium-active.archive.post-type-archive-product .woocommerce-archive-description {
	display: none !important;
}

/* ==========================================
   21. Responsive & Mobile Optimization Overrides
   ========================================== */
@media (max-width: 1024px) {
	body.pwp-premium-active ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 24px !important;
	}
}

@media (max-width: 768px) {

	/* 0px Left/Right Padding, Reduced Top Spacing, and Full-Width on Page Containers */
	body.pwp-premium-active .site-header,
	body.pwp-premium-active #masthead,
	body.pwp-premium-active .main-header-bar,
	body.pwp-premium-active .ast-theme-header-sidebar {
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}

	body.pwp-premium-active div.product,
	body.pwp-premium-active .container,
	body.pwp-premium-active .site-content,
	body.pwp-premium-active .ast-container,
	body.pwp-premium-active .site-main,
	body.pwp-premium-active #primary,
	body.pwp-premium-active .content-area,
	body.pwp-premium-active .pwp-product-layout-wrapper,
	body.pwp-premium-active #page,
	body.pwp-premium-active #main,
	body.pwp-premium-active #content,
	body.pwp-premium-active .main-content-inner {
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-top: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-top: 10px !important;
		/* Exactly ~0.3cm - 0.5cm gap under header */
		box-sizing: border-box !important;
	}

	body.pwp-premium-active div.product {
		margin-top: 0 !important;
	}

	body.pwp-premium-active .woocommerce-products-header,
	body.pwp-premium-active .pwp-category-header-card {
		margin-top: 0 !important;
		margin-bottom: 12px !important;
	}

	.ast-separate-container .site-content {
		padding-top: 10px !important;
	}

	/* Category Header Card Left Alignment - Column Stack on Mobile */
	.pwp-category-header-card {
		flex-direction: column !important;
		align-items: flex-start !important;
		text-align: left !important;
		gap: 16px !important;
		padding: 20px !important;
	}

	.pwp-cat-thumbnail {
		margin: 0 !important;
		width: 80px !important;
		height: 80px !important;
	}

	/* Shop & Category Loop Grid to 1 Column */
	body.pwp-premium-active ul.products {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
		padding: 0 8px !important;
	}

	body.pwp-premium-active ul.products li.product {
		width: 100% !important;
		margin-bottom: 20px !important;
	}

	/* Related & Upsells Products Grid to 1 Column */
	body.pwp-premium-active .related.products ul.products,
	body.pwp-premium-active .upsells.products ul.products {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
		padding: 0 8px !important;
	}

	/* Single Product Page Summary Padding & Layout */
	.pwp-premium-active div.product .summary {
		padding: 24px 20px !important;
		gap: 16px !important;
		text-align: left !important;
		/* Left-align elements inside summary */
		border-radius: 0 !important;
		border-left: none !important;
		border-right: none !important;
	}

	.pwp-premium-active .woocommerce-product-gallery {
		padding: 15px !important;
		border-radius: 0 !important;
		border-left: none !important;
		border-right: none !important;
	}

	.pwp-product-accordions {
		border-radius: 0 !important;
		border-left: none !important;
		border-right: none !important;
		margin: 20px 0 !important;
	}

	/* Title & Price sizes & alignment */
	.pwp-premium-active div.product .summary .product_title {
		font-size: 24px !important;
		line-height: 1.3 !important;
		text-align: left !important;
	}

	.pwp-premium-active div.product .summary .price {
		font-size: 22px !important;
		text-align: left !important;
		display: block !important;
	}

	/* Visitor Counter & Stock Bar Alignment */
	.pwp-visitor-counter {
		justify-content: flex-start !important;
		text-align: left !important;
	}

	.pwp-stock-text {
		justify-content: flex-start !important;
	}

	/* Countdown Timer Alignment */
	.pwp-countdown-wrapper {
		text-align: left !important;
	}

	.pwp-timer-grid {
		justify-content: flex-start !important;
	}

	/* Specifications Card Mobile Centering */
	.pwp-specs-title {
		text-align: left !important;
	}

	.pwp-spec-item {
		justify-content: flex-start !important;
		text-align: left !important;
		flex-direction: row !important;
		gap: 12px !important;
	}

	/* Trust Badges mobile centering */
	.pwp-trust-title {
		text-align: left !important;
	}

	.pwp-trust-badge-item {
		justify-content: flex-start !important;
		text-align: left !important;
		flex-direction: row !important;
		gap: 10px !important;
	}

	/* Stack Quantity Selector and Add to Cart Button Vertically */
	body.pwp-premium-active form.cart {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 12px !important;
		width: 100% !important;
	}

	body.pwp-premium-active form.cart .quantity {
		width: 100% !important;
		margin: 0 !important;
		display: flex !important;
		justify-content: flex-start !important;
	}

	body.pwp-premium-active form.cart .quantity input.qty {
		width: 100% !important;
		max-width: 100% !important;
		height: 48px !important;
		border-radius: 50px !important;
	}

	body.pwp-premium-active form.cart .single_add_to_cart_button {
		width: 100% !important;
		height: 50px !important;
		margin: 0 !important;
		border-radius: 50px !important;
		font-size: 15px !important;
	}

	/* Demo button stacking */
	body.pwp-premium-active form.cart .pwp-demo-btn {
		width: 100% !important;
		margin: 8px 0 0 0 !important;
		border-radius: 50px !important;
		height: 50px !important;
	}
}

@media (max-width: 480px) {
	.pwp-trust-badges-grid {
		grid-template-columns: 1fr !important;
	}
}

/* Widescreen Full-Width Container layout for Shop, Category and Single Product Pages */
body.pwp-premium-active,
body.pwp-premium-active #page,
body.pwp-premium-active #main,
body.pwp-premium-active #content,
body.pwp-premium-active .container,
body.pwp-premium-active .site-content,
body.pwp-premium-active .ast-container,
body.pwp-premium-active .site-main,
body.pwp-premium-active #primary,
body.pwp-premium-active .content-area,
body.pwp-premium-active .main-content-area,
body.pwp-premium-active .ast-row,
body.pwp-premium-active .row {
	max-width: 1780px !important;
	width: 96% !important;
	margin: 0 auto !important;
	box-sizing: border-box !important;
}

/* Force image container on single page to contain image without cropping */
.pwp-premium-active .woocommerce-product-gallery__image img {
	max-height: 550px !important;
	object-fit: contain !important;
	border-radius: 12px !important;
}

/* Enforce Hiding the Quantity Selector Globally and on Mobile Viewports */
body.pwp-hide-quantity-active .quantity,
body.pwp-hide-quantity-active .qty,
body.pwp-hide-quantity-active .qty-wrapper,
body.pwp-hide-quantity-active .qty-input,
body.pwp-hide-quantity-active .quantity-input,
body.pwp-hide-quantity-active div[class*="quantity"],
body.pwp-hide-quantity-active div[class*="qty"],
body.pwp-hide-quantity-active td[class*="quantity"],
body.pwp-hide-quantity-active td[class*="qty"],
body.pwp-hide-quantity-active span[class*="quantity"],
body.pwp-hide-quantity-active span[class*="qty"],
body.pwp-hide-quantity-active .woocommerce-variation-add-to-cart,
body.pwp-hide-quantity-active .variations_button,
body.pwp-hide-quantity-active .single_variation_wrap .variations_button,
body.pwp-hide-quantity-active .pwp-quantity-wrapper,
body.pwp-hide-quantity-active .pwp-qty-btn,
body.pwp-hide-quantity-active input.qty,
body.pwp-hide-quantity-active .pwp-sticky-cart-qty,
body.pwp-premium-active.pwp-hide-quantity-active form.cart .quantity,
body.pwp-premium-active.pwp-hide-quantity-active form.cart .quantity input.qty {
	display: none !important;
}