/**
 * Mini Meditec Custom Product Page Styles
 *
 * @package MinimeditecProductPage
 */

.mmpp-wrap {
	/* Design Tokens */
	--gold:          #C9A84C;
	--gold-light:    #E8C96A;
	--gold-dark:     #9E7A2E;
	--dark:          #1A0A00;
	--dark-2:        #2A1500;
	--dark-3:        #3A2010;
	--mid:           #5A3A1A;
	--cream:         #F5EDD8;
	--cream-light:   #FBF6EC;
	--text-on-dark:  #E8D5B0;
	--text-muted-dk: #A8896A;
	--white:         #FEFAF3;

	font-family: 'Lato', sans-serif;
	background-color: var(--cream-light);
	color: var(--dark-3);
	margin: 0;
	padding: 0;
}

.mmpp-wrap * {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

/* Announcement Bar */
.mmpp-announcement {
	background-color: var(--gold);
	color: var(--dark);
	padding: 8px 16px;
	font-weight: 700;
	letter-spacing: .1em;
	font-size: 12px;
	text-align: center;
	text-transform: uppercase;
}

/* Breadcrumb */
.mmpp-breadcrumb {
	background-color: transparent;
	padding: 15px 2rem 5px;
	font-size: 12px;
	color: var(--text-muted-dk);
	max-width: 1300px;
	margin: 0 auto;
}

.mmpp-breadcrumb a {
	color: var(--text-muted-dk);
	text-decoration: none;
	transition: color 0.2s ease;
}

.mmpp-breadcrumb a:hover {
	color: var(--gold-light);
}

.mmpp-breadcrumb .woocommerce-breadcrumb-separator,
.mmpp-breadcrumb span {
	color: var(--gold);
	padding: 0 6px;
}

/* Product Hero Section */
.mmpp-product-hero {
	max-width: 1300px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 35% 1fr;
	gap: 4rem;
	padding: 2.5rem 2rem 4rem;
	align-items: start;
}

/* Gallery Column */
.mmpp-gallery {
	display: flex !important;
	flex-direction: column !important;
	background: var(--white) !important;
	border: 1px solid #E0D0B0 !important;
	border-radius: 4px !important;
	overflow: hidden !important;
	position: relative !important;
	max-width: 440px !important;
	width: 100% !important;
}

.mmpp-main-image {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	aspect-ratio: 1 !important;
	overflow: hidden !important;
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
}

.mmpp-main-image figure {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mmpp-main-image img {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	transition: transform 0.4s ease, filter 0.4s ease;
}

.mmpp-main-image:hover img {
	transform: scale(1.04);
}

.mmpp-main-image.mmpp-out-of-stock img {
	opacity: 0.55;
	filter: grayscale(85%) blur(1px);
}

.mmpp-main-image.mmpp-out-of-stock::after {
	content: 'OUT OF STOCK';
	position: absolute;
	background: rgba(26, 10, 0, 0.9);
	color: var(--gold);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .15em;
	padding: 10px 20px;
	border-radius: 2px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
	border: 1px solid var(--gold);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.mmpp-badge {
	position: absolute;
	top: 15px;
	left: 15px;
	background-color: var(--gold);
	color: var(--dark);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	padding: 4px 10px;
	border-radius: 2px;
	text-transform: uppercase;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
	z-index: 5;
}

/* Floating Gallery Actions (Share & Wishlist) */
.mmpp-gallery-actions {
	position: absolute;
	top: 15px;
	right: 15px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	z-index: 10;
}

.mmpp-action-btn,
.woocommerce div.product .mmpp-action-btn,
.woocommerce div.product .mmpp-gallery-actions button.mmpp-action-btn {
	width: 36px !important;
	height: 36px !important;
	border-radius: 4px !important;
	background: var(--white) !important;
	background-color: var(--white) !important;
	border: 1px solid #E0D0B0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	transition: all 0.2s ease, transform 0.2s ease !important;
	color: var(--mid) !important;
	outline: none !important;
	box-shadow: none !important;
	text-shadow: none !important;
	margin: 0 !important;
	line-height: normal !important;
	padding: 0 !important;
}

.mmpp-action-btn:hover,
.woocommerce div.product .mmpp-gallery-actions button.mmpp-action-btn:hover {
	background: var(--cream) !important;
	background-color: var(--cream) !important;
	color: var(--gold-dark) !important;
	border-color: var(--gold) !important;
	transform: scale(1.05) !important;
}

/* Thumbnails Row Container */
.mmpp-thumbs-row-container {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 16px !important;
	padding: 12px 16px !important;
	border-top: 1px solid rgba(224, 208, 176, 0.3) !important;
	background: transparent !important;
	width: 100% !important;
	overflow: visible !important; /* Allow hover translations to raise without clipping */
}

/* Thumbnail Strip Wrapper */
.mmpp-thumb-strip {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: 8px !important;
	overflow-x: auto !important;
	overflow-y: visible !important; /* Allow thumbnails to translate upward */
	scrollbar-width: none !important;
	-ms-overflow-style: none !important;
	scroll-behavior: smooth !important;
	max-width: calc(100% - 100px) !important;
	padding: 10px 0 !important; /* Padding creates space for translateY(-5px) upward shift */
	height: 84px !important; /* Safe height to enclose 60px thumbnail + 20px padding */
	align-items: center !important;
}

.mmpp-thumb-strip::-webkit-scrollbar {
	display: none !important;
}

/* Thumbnail Items */
.mmpp-thumb,
.woocommerce div.product .mmpp-thumb,
.woocommerce div.product .mmpp-thumbs-row-container .mmpp-thumb {
	width: 60px !important;
	height: 60px !important;
	min-width: 60px !important;
	min-height: 60px !important;
	border-radius: 4px !important;
	background: var(--white) !important;
	border: 1px solid rgba(0, 0, 0, 0.08) !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 4px !important;
	outline: none !important;
	box-shadow: none !important;
	overflow: hidden !important;
	transition: border-color 0.25s ease, transform 0.25s ease !important;
	margin: 0 !important;
	flex-shrink: 0 !important;
	aspect-ratio: 1 !important;
	align-self: center !important;
	transform: translateY(0) !important;
}

.mmpp-thumb:hover,
.woocommerce div.product .mmpp-thumbs-row-container .mmpp-thumb:hover {
	border-color: var(--gold) !important;
	transform: translateY(-5px) !important; /* Move up slightly on hover */
}

.mmpp-thumb--active,
.woocommerce div.product .mmpp-thumbs-row-container .mmpp-thumb--active,
.woocommerce div.product .mmpp-thumbs-row-container .mmpp-thumb.mmpp-thumb--active {
	border: 2px solid var(--gold) !important;
	box-shadow: none !important;
	transform: translateY(-5px) !important; /* Keep raised when active */
}

.mmpp-thumb img,
.woocommerce div.product .mmpp-thumb img {
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 0 !important;
	border-radius: 2px !important;
}

/* Navigation Arrow Buttons */
.mmpp-nav-arrow,
.woocommerce div.product .mmpp-nav-arrow,
.woocommerce div.product .mmpp-thumbs-row-container button.mmpp-nav-arrow {
	width: 36px !important;
	height: 36px !important;
	min-width: 36px !important;
	min-height: 36px !important;
	border-radius: 50% !important;
	background: var(--white) !important;
	border: 1px solid rgba(0, 0, 0, 0.08) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	color: var(--dark-2) !important;
	outline: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.mmpp-nav-arrow:hover,
.woocommerce div.product .mmpp-thumbs-row-container button.mmpp-nav-arrow:hover {
	background-color: var(--cream) !important;
	color: var(--gold-dark) !important;
	border-color: var(--gold) !important;
}

/* Info Column */
.mmpp-info {
	display: flex;
	flex-direction: column;
}

.mmpp-category-tag {
	font-size: 11px;
	letter-spacing: .15em;
	color: var(--gold-dark);
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.mmpp-category-tag a {
	color: var(--gold-dark);
	text-decoration: none;
}

.mmpp-category-tag a:hover {
	color: var(--gold);
}

.mmpp-product-title {
	font-family: 'Playfair Display', serif;
	font-size: clamp(26px, 4.5vw, 36px);
	font-weight: 600;
	line-height: 1.25;
	color: var(--dark);
	margin-bottom: 8px;
}

/* Splitting text animations container styling */
.mmpp-product-title .word {
	display: inline-block;
	white-space: nowrap;
}

.mmpp-product-title .char {
	display: inline-block;
}

.mmpp-meta-row {
	font-size: 12px;
	color: #887055;
	margin-bottom: 1.5rem;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 12px;
	align-items: center;
}

.mmpp-meta-separator {
	color: #D4BC90;
}

.mmpp-meta-cat a {
	color: #887055;
	text-decoration: none;
}

.mmpp-meta-cat a:hover {
	color: var(--gold);
}

.mmpp-brand-label {
	font-size: 12px;
	font-weight: 700;
	color: var(--text-muted-dk);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 6px;
}

.mmpp-price-rating-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1.5rem;
	gap: 1rem;
	flex-wrap: wrap;
}

.mmpp-price-wrap {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.mmpp-price-wrap .price {
	font-family: 'Playfair Display', serif;
	font-size: clamp(24px, 3.5vw, 32px);
	font-weight: 700;
	color: var(--dark-2);
}

.mmpp-price-wrap ins {
	text-decoration: none;
	color: var(--dark-2);
}

.mmpp-price-wrap del {
	color: var(--text-muted-dk);
	font-size: 0.72em;
	margin-right: 6px;
}

.mmpp-stats-wrap {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--text-muted-dk);
}

.mmpp-stats-divider {
	color: #D4BC90;
}

.mmpp-rating-wrap {
	display: flex;
	align-items: center;
	gap: 4px;
}

.mmpp-rating-star {
	color: var(--gold);
	font-size: 14px;
}

.mmpp-rating-value {
	font-weight: 700;
	color: var(--dark-2);
}

.mmpp-description-summary {
	margin-bottom: 1.75rem;
}

.mmpp-desc-title {
	font-size: 14px;
	font-weight: 700;
	color: var(--dark);
	margin-bottom: 6px;
	display: block;
}

.mmpp-desc-text {
	font-size: 14px;
	line-height: 1.6;
	color: var(--dark-3);
}

.mmpp-see-more {
	color: var(--gold-dark);
	text-decoration: none;
	font-weight: 700;
	transition: color 0.2s ease;
}

.mmpp-see-more:hover {
	color: var(--gold);
}

.mmpp-stock-status {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 5px 12px;
	border-radius: 20px;
	background: var(--cream);
	color: var(--mid);
}

.mmpp-stock-status.in-stock {
	border: 1px solid var(--gold-light);
	background-color: var(--white);
	color: var(--gold-dark);
}

.mmpp-stock-status.out-of-stock {
	border: 1px solid var(--text-muted-dk);
	background-color: var(--cream);
	color: var(--dark-3);
}

/* Swatch Picker Styles */
.mmpp-swatch-section {
	margin-bottom: 1.75rem;
}

.mmpp-swatch-label {
	font-size: 12px;
	letter-spacing: .1em;
	color: var(--mid);
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.mmpp-selected-color-label {
	color: var(--gold-dark);
	font-weight: 700;
	text-transform: none;
	margin-left: 6px;
	font-size: 12px;
}

.mmpp-swatches-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.mmpp-swatch,
.woocommerce div.product form.cart .mmpp-swatch,
.woocommerce div.product form.cart button.mmpp-swatch {
	display: inline-flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 6px !important;
	cursor: pointer !important;
	background: none !important;
	background-color: transparent !important;
	border: none !important;
	padding: 4px !important;
	outline: none !important;
	box-shadow: none !important;
	text-shadow: none !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	line-height: normal !important;
	border-radius: 0 !important;
	margin: 0 !important;
	transition: transform 0.2s ease !important;
}

.mmpp-swatch:hover,
.mmpp-swatch:focus,
.mmpp-swatch:active,
.mmpp-swatch--active,
.woocommerce div.product form.cart button.mmpp-swatch:hover,
.woocommerce div.product form.cart button.mmpp-swatch:focus,
.woocommerce div.product form.cart button.mmpp-swatch:active {
	background: none !important;
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
	color: inherit !important;
	outline: none !important;
}

.mmpp-swatch__dot {
	width: 44px !important;
	height: 26px !important;
	border-radius: 4px !important;
	background-color: var(--swatch-color) !important;
	border: 1px solid rgba(0, 0, 0, 0.15) !important;
	box-shadow: inset 0 1px 3px rgba(0,0,0,0.15) !important;
	transition: all 0.2s ease !important;
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.mmpp-swatch:hover .mmpp-swatch__dot {
	transform: scale(1.04) !important;
}

.mmpp-swatch--active .mmpp-swatch__dot {
	outline: 2px solid var(--gold) !important;
	outline-offset: 2px !important;
	transform: scale(1.02) !important;
}

.mmpp-swatch__label {
	font-size: 10px !important;
	color: #887055 !important;
	letter-spacing: .05em !important;
	white-space: nowrap !important;
	font-weight: 700 !important;
	background: none !important;
	border: none !important;
	padding: 0 !important;
	margin-top: 4px !important;
	text-transform: capitalize !important;
}

/* Custom Size / Other Attribute Buttons Picker */
.mmpp-attribute-section {
	margin-bottom: 1.75rem;
}

.mmpp-attribute-header {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
	flex-wrap: wrap;
	gap: 6px;
	width: 100%;
}

.mmpp-attribute-label {
	font-size: 12px;
	letter-spacing: .1em;
	color: var(--mid);
	font-weight: 700;
	text-transform: uppercase;
}

.mmpp-selected-attribute-value {
	color: var(--gold-dark);
	font-weight: 700;
	margin-left: 6px;
	font-size: 12px;
	text-transform: capitalize;
}

.mmpp-size-chart-link {
	font-size: 11px;
	color: var(--text-muted-dk);
	text-decoration: underline;
	font-weight: 700;
	margin-left: auto;
	transition: color 0.2s ease;
}

.mmpp-size-chart-link:hover {
	color: var(--gold);
}

.mmpp-attribute-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.mmpp-attr-button,
.woocommerce div.product form.cart .mmpp-attr-button,
.woocommerce div.product form.cart button.mmpp-attr-button {
	background-color: var(--white) !important;
	border: 1px solid #D4BC90 !important;
	border-radius: 4px !important;
	padding: 8px 18px !important;
	font-family: 'Lato', sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: var(--dark-2) !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	min-width: 48px !important;
	text-align: center !important;
	outline: none !important;
	box-shadow: none !important;
	text-shadow: none !important;
	height: auto !important;
	line-height: normal !important;
	display: inline-block !important;
	margin: 0 !important;
}

.mmpp-attr-button:hover,
.woocommerce div.product form.cart button.mmpp-attr-button:hover {
	border-color: var(--gold) !important;
	background-color: var(--cream) !important;
	color: var(--dark-2) !important;
}

.mmpp-attr-button--active,
.woocommerce div.product form.cart button.mmpp-attr-button--active {
	background-color: var(--cream) !important;
	border-color: var(--gold) !important;
	box-shadow: 0 0 0 1px var(--gold) !important;
	color: var(--dark-2) !important;
}

/* Fallback selects (WooCommerce default templates) */
.mmpp-wc-fallbacks .variations select {
	width: 100%;
	max-width: 320px;
	background: var(--white);
	border: 1px solid #D4BC90;
	border-radius: 3px;
	padding: 11px 14px;
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	color: var(--dark-2);
	cursor: pointer;
	outline: none;
}

/* Action Row (Add to Cart + Checkout) */
.mmpp-action-row {
	display: flex;
	gap: 12px;
	align-items: center;
	margin-top: 1.5rem;
	margin-bottom: 1rem;
}

.mmpp-qty {
	display: none !important; /* Hide quantity input to match layouts exactly */
}

.woocommerce div.product form.cart .mmpp-btn-add,
.woocommerce div.product form.cart button.mmpp-btn-add,
.mmpp-btn-add {
	flex: 1 !important;
	background-color: var(--dark) !important;
	color: var(--gold) !important;
	border: 1px solid var(--gold) !important;
	height: 48px !important;
	font-family: 'Lato', sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	border-radius: 4px !important;
	transition: all 0.25s ease !important;
	outline: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-decoration: none !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

.woocommerce div.product form.cart .mmpp-btn-add:hover,
.woocommerce div.product form.cart button.mmpp-btn-add:hover,
.mmpp-btn-add:hover {
	background-color: var(--dark-2) !important;
	color: var(--gold-light) !important;
	border-color: var(--gold-light) !important;
	box-shadow: 0 4px 12px rgba(26, 10, 0, 0.15) !important;
}

.woocommerce div.product form.cart .mmpp-btn-add:disabled,
.woocommerce div.product form.cart button.mmpp-btn-add:disabled,
.mmpp-btn-add:disabled,
.mmpp-btn-add.disabled {
	background-color: var(--cream) !important;
	color: var(--text-muted-dk) !important;
	border-color: #D4BC90 !important;
	cursor: not-allowed !important;
}

.woocommerce div.product form.cart .mmpp-btn-add--success,
.woocommerce div.product form.cart button.mmpp-btn-add--success,
.mmpp-btn-add--success {
	background-color: var(--gold-dark) !important;
	color: var(--cream-light) !important;
	border-color: var(--gold-dark) !important;
}

.woocommerce div.product form.cart .mmpp-btn-checkout,
.woocommerce div.product form.cart button.mmpp-btn-checkout,
.mmpp-btn-checkout {
	flex: 1 !important;
	background-color: var(--white) !important;
	color: var(--dark) !important;
	border: 1px solid var(--gold) !important;
	height: 48px !important;
	font-family: 'Lato', sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	border-radius: 4px !important;
	transition: all 0.25s ease !important;
	outline: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-decoration: none !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

.woocommerce div.product form.cart .mmpp-btn-checkout:hover,
.woocommerce div.product form.cart button.mmpp-btn-checkout:hover,
.mmpp-btn-checkout:hover {
	background-color: var(--cream) !important;
	color: var(--dark-2) !important;
	border-color: var(--gold-dark) !important;
	box-shadow: 0 4px 12px rgba(26, 10, 0, 0.05) !important;
}

.woocommerce div.product form.cart .mmpp-btn-checkout:focus,
.woocommerce div.product form.cart button.mmpp-btn-checkout:focus,
.mmpp-btn-checkout:focus,
.woocommerce div.product form.cart .mmpp-btn-checkout:active,
.woocommerce div.product form.cart button.mmpp-btn-checkout:active,
.mmpp-btn-checkout:active {
	background-color: var(--cream) !important;
	color: var(--dark-2) !important;
	border-color: var(--gold-dark) !important;
}

.mmpp-t-c-row {
	margin-bottom: 2rem;
}

.mmpp-tc-link {
	font-size: 12px;
	color: var(--text-muted-dk);
	text-decoration: underline;
	transition: color 0.2s ease;
}

.mmpp-tc-link:hover {
	color: var(--gold);
}

/* YITH Wishlist shortcode adjustment in floating container */
.mmpp-gallery-actions .yith-wcwl-add-to-wishlist {
	margin-top: 0 !important;
}

.mmpp-gallery-actions .yith-wcwl-add-button > a,
.mmpp-gallery-actions .yith-wcwl-wishlistaddedback > a,
.mmpp-gallery-actions .yith-wcwl-wishlistexistsdelete > a {
	background: var(--white);
	border: 1px solid #E0D0B0;
	border-radius: 4px;
	width: 36px;
	height: 36px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	transition: all 0.25s ease;
	color: var(--mid);
	font-size: 0 !important; /* Hide text */
}

.mmpp-gallery-actions .yith-wcwl-add-button > a::before {
	content: '❤';
	font-size: 16px;
}

.mmpp-gallery-actions .yith-wcwl-add-button > a:hover {
	background-color: var(--cream);
	color: var(--gold-dark);
	border-color: var(--gold);
}

/* Out of Stock Notify Me Section */
.mmpp-out-of-stock-notice {
	background-color: var(--cream);
	border: 1px solid #E0D0B0;
	padding: 1.25rem;
	border-radius: 4px;
	margin-bottom: 2rem;
}

.mmpp-out-of-stock-title {
	font-size: 12px;
	font-weight: 700;
	color: var(--dark);
	letter-spacing: .08em;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.mmpp-notify-me {
	display: flex;
	gap: 10px;
}

.mmpp-notify-email {
	flex: 1;
	padding: 10px 14px;
	border: 1px solid #D4BC90;
	border-radius: 3px;
	background-color: var(--white);
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	color: var(--dark-2);
}

.mmpp-notify-email:focus {
	border-color: var(--gold);
	outline: none;
}

.mmpp-btn-notify {
	background-color: var(--dark);
	color: var(--gold);
	border: 1px solid var(--gold);
	padding: 10px 18px;
	font-family: 'Lato', sans-serif;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
	border-radius: 3px;
	transition: all 0.2s ease;
}

.mmpp-btn-notify:hover {
	background-color: var(--dark-2);
	color: var(--gold-light);
}

/* Trust Strip */
.mmpp-trust-strip {
	display: flex;
	gap: 1.25rem 2rem;
	flex-wrap: wrap;
	padding: 1.25rem 0;
	border-top: 1px solid #E0D0B0;
	border-bottom: 1px solid #E0D0B0;
	margin-bottom: 2rem;
}

.mmpp-trust-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 11px;
	color: var(--mid);
	letter-spacing: .04em;
	font-weight: 700;
}

.mmpp-trust-item svg {
	width: 18px;
	height: 18px;
	stroke: var(--gold);
	fill: none;
	flex-shrink: 0;
}

/* Product Tags */
.mmpp-tags {
	font-size: 12px;
	color: var(--text-muted-dk);
}

.mmpp-tag-label {
	font-weight: 700;
	color: var(--mid);
}

.mmpp-tags a {
	color: var(--text-muted-dk);
	text-decoration: none;
	transition: color 0.2s ease;
}

.mmpp-tags a:hover {
	color: var(--gold);
}

/* Product Detail Tabs Section */
.mmpp-tabs-section {
	max-width: 1300px;
	margin: 0 auto;
	padding: 0 2rem 4rem;
}

.mmpp-tab-nav {
	display: flex;
	position: relative;
	border-bottom: 2px solid #E0D0B0;
	gap: 10px;
}

.mmpp-tab-indicator {
	position: absolute;
	bottom: -2px;
	height: 2px;
	background-color: var(--gold);
	transition: none; /* Managed by GSAP */
	pointer-events: none;
}

.mmpp-tab-btn,
.woocommerce div.product .mmpp-tab-btn,
.woocommerce div.product .mmpp-tab-nav button.mmpp-tab-btn {
	background: none !important;
	background-color: transparent !important;
	border: none !important;
	padding: 12px 24px !important;
	font-family: 'Lato', sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .08em !important;
	color: #887055 !important;
	cursor: pointer !important;
	outline: none !important;
	text-transform: uppercase !important;
	transition: color 0.3s ease !important;
	box-shadow: none !important;
	text-shadow: none !important;
	margin: 0 !important;
	border-radius: 0 !important;
	width: auto !important;
	height: auto !important;
	line-height: normal !important;
	display: inline-block !important;
}

.mmpp-tab-btn:hover,
.woocommerce div.product .mmpp-tab-nav button.mmpp-tab-btn:hover {
	color: var(--dark) !important;
	background: none !important;
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.mmpp-tab-btn--active,
.woocommerce div.product .mmpp-tab-nav button.mmpp-tab-btn--active,
.woocommerce div.product .mmpp-tab-nav button.mmpp-tab-btn.mmpp-tab-btn--active {
	color: var(--dark) !important;
	background: none !important;
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.mmpp-tab-panels {
	position: relative;
}

.mmpp-tab-panel {
	padding: 2.5rem 0;
	display: none;
}

.mmpp-tab-panel--active {
	display: block;
}

.mmpp-tab-panel p {
	font-size: 15px;
	line-height: 1.85;
	color: var(--dark-3);
	margin-bottom: 1.25rem;
	font-weight: 400;
}

/* Specifications Table */
.mmpp-specs-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 0.5rem;
}

.mmpp-specs-table tr {
	border-bottom: 1px solid #E8DCC8;
	transition: background-color 0.2s ease;
}

.mmpp-specs-table tr:hover {
	background-color: rgba(254, 250, 243, 0.4);
}

.mmpp-specs-table td {
	padding: 12px 14px;
	font-size: 14px;
	color: var(--dark-3);
}

.mmpp-specs-table td:first-child {
	color: #887055;
	font-weight: 700;
	letter-spacing: .05em;
	width: 35%;
	text-transform: uppercase;
	font-size: 12px;
}

/* Related Products Section */
.mmpp-related-section {
	background-color: var(--cream-light);
	border-top: 1px solid #E0D0B0;
	padding: 4rem 2rem;
}

.mmpp-related-inner {
	max-width: 1300px;
	margin: 0 auto;
}

.mmpp-related-heading {
	font-family: 'Playfair Display', serif;
	font-size: clamp(22px, 3.5vw, 28px);
	color: var(--dark);
	margin-bottom: 2.5rem;
	font-weight: 500;
	letter-spacing: .02em;
	text-align: center;
}

.mmpp-related-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.mmpp-rel-card {
	background-color: var(--white);
	border: 1px solid #E0D0B0;
	border-radius: 4px;
	overflow: hidden;
	cursor: pointer;
	transition: border-color 0.25s, transform 0.25s, box-shadow 0.25s;
	display: flex;
	flex-direction: column;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}

.mmpp-rel-card:hover {
	transform: translateY(-4px);
	border-color: var(--gold);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
}

.mmpp-rel-img {
	background-color: var(--white);
	aspect-ratio: 1.1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border-bottom: 1px solid #EAE6DF;
	overflow: hidden;
}

.mmpp-rel-img img {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	transition: transform 0.4s ease;
}

.mmpp-rel-card:hover .mmpp-rel-img img {
	transform: scale(1.04);
}

.mmpp-rel-info {
	padding: 16px;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mmpp-rel-name {
	font-size: 13px;
	color: var(--dark);
	font-weight: 700;
	line-height: 1.45;
	min-height: 38px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.mmpp-rel-price {
	font-family: 'Playfair Display', serif;
	font-size: 15px;
	color: var(--gold-dark);
	font-weight: 700;
}

.mmpp-rel-price del {
	color: var(--text-muted-dk);
	font-size: 0.8em;
	margin-right: 4px;
}

.mmpp-rel-price ins {
	text-decoration: none;
}

.mmpp-rel-action a.button {
	display: block;
	text-align: center;
	width: 100%;
	background-color: var(--dark);
	border: none;
	color: var(--gold);
	padding: 12px 8px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
	border-radius: 0;
	border-top: 1px solid var(--gold);
}

.mmpp-rel-action a.button:hover {
	background-color: var(--dark-2);
	color: var(--gold-light);
}

/* Responsive Styles */
@media (max-width: 992px) {
	.mmpp-related-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	.mmpp-product-hero {
		grid-template-columns: 1fr;
		gap: 2.5rem;
		padding: 2rem 1.5rem 3rem;
	}
	.mmpp-related-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.mmpp-trust-strip {
		flex-direction: column;
		gap: 0.85rem;
		align-items: flex-start;
	}
	.mmpp-action-row {
		flex-wrap: wrap;
	}
	.mmpp-btn-add {
		flex: 1 0 100%;
		order: 3;
	}
	.mmpp-tabs-section {
		padding: 0 1.5rem 3rem;
	}
}

@media (max-width: 480px) {
	.mmpp-related-grid {
		grid-template-columns: 1fr;
	}
	.mmpp-swatches-wrap {
		gap: 8px;
	}
	.mmpp-swatch__dot {
		width: 32px;
		height: 32px;
	}
	.mmpp-tab-btn {
		padding: 10px 14px;
		font-size: 11px;
	}
}

/* Page Canvas Overrides */
.woocommerce div.product {
	background: transparent;
}
.single-product .site-main {
	background: var(--cream-light);
}

/* Inline Error Notice styling (Permanently Hidden) */
.mmpp-inline-error,
.mmpp-inline-error::before {
	display: none !important;
}

/* WooCommerce Global Notices Styling */
.woocommerce-notices-wrapper {
	max-width: 1300px !important;
	margin: 20px auto 0 !important;
	padding: 0 2rem !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-error li,
.woocommerce div.product .woocommerce-message,
.woocommerce div.product .woocommerce-info,
.woocommerce div.product .woocommerce-error {
	background-color: var(--white) !important;
	border: 1px solid #E0D0B0 !important;
	border-radius: 4px !important;
	padding: 16px 48px 16px 24px !important; /* Leave space for close button on the right */
	margin: 0 0 20px 0 !important;
	font-family: 'Lato', sans-serif !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	color: var(--dark-2) !important;
	list-style: none !important;
	display: block !important; /* Block layout so inline text and links flow naturally */
	position: relative !important;
	box-sizing: border-box !important;
	box-shadow: 0 4px 12px rgba(27, 10, 0, 0.03) !important;
}

/* Success Notice */
.woocommerce-message,
.woocommerce div.product .woocommerce-message {
	border-left: 4px solid var(--gold) !important;
	background-color: rgba(254, 250, 243, 0.9) !important;
}

/* Info Notice */
.woocommerce-info,
.woocommerce div.product .woocommerce-info {
	border-left: 4px solid #887055 !important;
	background-color: rgba(254, 250, 243, 0.9) !important;
}

/* Error Notice */
.woocommerce-error,
.woocommerce-error li,
.woocommerce div.product .woocommerce-error {
	border-left: 4px solid #D9534F !important;
	background-color: #FFFDFD !important;
	border-color: #F5D2D2 !important;
}

/* Links inside notices */
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
	color: var(--gold-dark) !important;
	text-decoration: underline !important;
	font-weight: 700 !important;
	transition: color 0.2s ease !important;
}

.woocommerce-message a:hover,
.woocommerce-info a:hover,
.woocommerce-error a:hover {
	color: var(--gold) !important;
	text-decoration: none !important;
}

/* Action button inside notice (e.g., View Cart, Restore Item) */
.woocommerce-message a.button,
.woocommerce-info a.button,
.woocommerce-error a.button,
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
	background: none !important;
	background-color: transparent !important;
	border: 1px solid #E0D0B0 !important;
	padding: 5px 12px !important;
	border-radius: 4px !important;
	text-transform: uppercase !important;
	font-size: 11px !important;
	letter-spacing: .08em !important;
	text-decoration: none !important;
	display: inline-block !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	font-family: 'Lato', sans-serif !important;
	font-weight: 700 !important;
	color: #887055 !important;
	margin: 0 4px !important;
	vertical-align: middle !important;
}

.woocommerce-message a.button:hover,
.woocommerce-info a.button:hover,
.woocommerce-error a.button:hover,
.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover {
	background-color: var(--cream) !important;
	border-color: var(--gold) !important;
	color: var(--gold-dark) !important;
}

/* Float standard Forward action buttons (like View Cart) to the right side */
.woocommerce-message a.button.wc-forward,
.woocommerce-info a.button.wc-forward {
	float: right !important;
	margin: -4px 0 0 16px !important;
}

/* Notice Close / Dismiss Button */
.mmpp-notice-close {
	position: absolute !important;
	top: 50% !important;
	right: 16px !important;
	transform: translateY(-50%) !important;
	background: none !important;
	background-color: transparent !important;
	border: none !important;
	font-size: 22px !important;
	line-height: 1 !important;
	color: #887055 !important;
	cursor: pointer !important;
	padding: 4px !important;
	margin: 0 !important;
	opacity: 0.55 !important;
	transition: opacity 0.2s ease, color 0.2s ease !important;
	outline: none !important;
	box-shadow: none !important;
}

.mmpp-notice-close:hover {
	opacity: 1 !important;
	color: var(--gold) !important;
}

/* Premium Select Dropdown Styling Fallback */
.woocommerce div.product form.cart .variations select,
.woocommerce-page div.product form.cart .variations select,
.woocommerce div.product form.cart select,
select.mmpp-native-select-styled {
	width: 100% !important;
	height: 48px !important;
	border: 1px solid #E0D0B0 !important;
	background-color: var(--white) !important;
	border-radius: 4px !important;
	padding: 0 16px !important;
	font-family: 'Lato', sans-serif !important;
	font-size: 14px !important;
	color: var(--dark) !important;
	outline: none !important;
	cursor: pointer !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23887055' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: right 16px center !important;
	background-size: 16px !important;
	transition: border-color 0.2s ease !important;
	margin-bottom: 12px !important;
}

.woocommerce div.product form.cart .variations select:focus,
select.mmpp-native-select-styled:focus {
	border-color: var(--gold) !important;
}

.woocommerce div.product form.cart .variations td.label {
	font-family: 'Outfit', sans-serif !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	font-size: 12px !important;
	letter-spacing: .08em !important;
	color: var(--dark) !important;
	padding: 10px 16px 10px 0 !important;
	vertical-align: middle !important;
}

.woocommerce div.product form.cart .variations td.value {
	padding: 8px 0 !important;
	vertical-align: middle !important;
}

.woocommerce div.product form.cart .variations {
	width: 100% !important;
	margin-bottom: 20px !important;
	border: none !important;
}

/* Validation Error Highlighting */
.mmpp-swatch-section.mmpp-validation-error,
.mmpp-attribute-section.mmpp-validation-error {
	border: 1px solid rgba(217, 83, 79, 0.45) !important;
	background-color: rgba(217, 83, 79, 0.04) !important;
	border-radius: 6px !important;
	padding: 12px 14px !important;
	margin-left: -14px !important;
	margin-right: -14px !important;
	box-shadow: 0 0 10px rgba(217, 83, 79, 0.1) !important;
	transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

/* Custom Shop Page Layout and Styling */
.mmpp-shop-wrap {
	/* Design Tokens */
	--gold:               #C9A84C;
	--gold-light:         #E8C96A;
	--gold-dark:          #9E7A2E;
	--dark:               #1A0A00;
	--dark-2:             #2A1500;
	--dark-3:             #3A2010;
	--mid:                #5A3A1A;
	--cream:              #F5EDD8;
	--cream-light:        #FBF6EC;
	--text-on-dark:       #E8D5B0;
	--text-muted-dk:      #A8896A;
	--white:              #FEFAF3;
	--card-border:        #E0D0B0;

	font-family: 'Lato', sans-serif;
	background-color: var(--cream-light);
	color: var(--dark-3);
	margin: 0;
	padding: 0;
	min-height: auto !important; /* Fix massive height gap */
}

.mmpp-shop-wrap * {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

/* Force standard system font stacks on currency symbols to prevent Unicode garbling */
.woocommerce-Price-currencySymbol {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif !important;
	font-weight: 500 !important;
	margin-right: 2px !important;
}

.mmpp-shop-header {
	background-color: #1B0C05;
	padding: 60px 2rem 70px;
	text-align: center;
	position: relative;
	border-bottom: 3px solid #D4AF37;
	overflow: hidden;
}

#mmpp-ecg-canvas-container {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	pointer-events: none;
}

#mmpp-ecg-canvas-container canvas {
	display: block;
	width: 100% !important;
	height: 100% !important;
	pointer-events: none;
	will-change: transform;
}

.mmpp-shop-title .char {
	display: inline-block;
	will-change: color, text-shadow;
	transition: color 0.3s ease, text-shadow 0.3s ease;
}

.mmpp-shop-header-inner {
	position: relative !important;
	z-index: 2 !important;
	pointer-events: none;
}

.mmpp-shop-header-inner * {
	pointer-events: auto;
}

.mmpp-shop-header .mmpp-breadcrumb {
	padding: 0 0 15px;
	color: var(--text-on-dark);
	max-width: 700px;
	margin: 0 auto;
	text-align: center;
}

.mmpp-shop-header .mmpp-breadcrumb a {
	color: var(--text-on-dark);
	text-decoration: none;
	transition: color 0.2s ease;
}

.mmpp-shop-header .mmpp-breadcrumb a:hover {
	color: var(--gold-light);
}

.mmpp-shop-header .mmpp-breadcrumb span,
.mmpp-shop-header .mmpp-breadcrumb .woocommerce-breadcrumb-separator {
	color: var(--gold-light);
}

.mmpp-shop-header::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 120px;
	height: 4px;
	background-color: #D4AF37;
}

.mmpp-shop-title {
	font-family: 'Lato', sans-serif;
	font-size: 38px;
	font-weight: 700;
	color: var(--cream);
	letter-spacing: 0.03em;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.mmpp-shop-description {
	color: var(--text-on-dark);
	font-size: 15px;
	max-width: 700px;
	margin: 0 auto;
	line-height: 1.6;
}

.mmpp-shop-container {
	max-width: 1300px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 3rem;
	padding: 3rem 2rem 5rem;
}

@media (max-width: 991px) {
	.mmpp-shop-container {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
}

/* Sidebar Accordions */
.mmpp-shop-sidebar {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

@media (min-width: 992px) {
	.mmpp-shop-sidebar {
		position: sticky;
		top: 100px; /* Offset for admin bar and sticky navigation header */
		align-self: start;
		max-height: calc(100vh - 130px);
		overflow-y: auto;
		padding-right: 6px;
		scrollbar-width: none; /* Hide scrollbar for Firefox */
		-ms-overflow-style: none; /* Hide scrollbar for IE/Edge */
	}

	.mmpp-shop-sidebar::-webkit-scrollbar {
		display: none; /* Hide scrollbar for Chrome/Safari/Opera */
	}
}

.mmpp-shop-sidebar {
	display: flex;
	flex-direction: column;
	background-color: #ffffff;
	border-radius: 16px;
	box-shadow: 0 2px 8px rgba(20, 18, 10, 0.06), 0 1px 2px rgba(20, 18, 10, 0.04);
	padding: 10px 0;
	gap: 0;
}

.mmpp-sidebar-widget {
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	margin-bottom: 0 !important;
	overflow: visible !important;
}

.mmpp-sidebar-widget:not(:last-child) {
	border-bottom: 1px solid #F0EDE5 !important;
}

.mmpp-widget-header {
	background-color: transparent !important;
	padding: 24px 28px 14px 28px !important;
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	user-select: none;
	transition: color 0.25s ease;
	border-bottom: none !important;
}

.mmpp-widget-header:hover .mmpp-widget-title {
	color: #D4AF37 !important;
}

.mmpp-widget-header:hover .mmpp-accordion-icon {
	color: #D4AF37 !important;
}

	padding: 0;
	min-height: auto !important; /* Fix massive height gap */
}

.mmpp-shop-wrap * {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

/* Force standard system font stacks on currency symbols to prevent Unicode garbling */
.woocommerce-Price-currencySymbol {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif !important;
	font-weight: 500 !important;
	margin-right: 2px !important;
}

.mmpp-shop-header {
	background-color: #1B0C05;
	padding: 60px 2rem 70px;
	text-align: center;
	position: relative;
	border-bottom: 3px solid #D4AF37;
	overflow: hidden;
}

#mmpp-ecg-canvas-container {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	pointer-events: none;
}

#mmpp-ecg-canvas-container canvas {
	display: block;
	width: 100% !important;
	height: 100% !important;
	pointer-events: none;
	will-change: transform;
}

.mmpp-shop-title .char {
	display: inline-block;
	will-change: color, text-shadow;
	transition: color 0.3s ease, text-shadow 0.3s ease;
}

.mmpp-shop-header-inner {
	position: relative !important;
	z-index: 2 !important;
	pointer-events: none;
}

.mmpp-shop-header-inner * {
	pointer-events: auto;
}

.mmpp-shop-header .mmpp-breadcrumb {
	padding: 0 0 15px;
	color: var(--text-on-dark);
	max-width: 700px;
	margin: 0 auto;
	text-align: center;
}

.mmpp-shop-header .mmpp-breadcrumb a {
	color: var(--text-on-dark);
	text-decoration: none;
	transition: color 0.2s ease;
}

.mmpp-shop-header .mmpp-breadcrumb a:hover {
	color: var(--gold-light);
}

.mmpp-shop-header .mmpp-breadcrumb span,
.mmpp-shop-header .mmpp-breadcrumb .woocommerce-breadcrumb-separator {
	color: var(--gold-light);
}

.mmpp-shop-header::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 120px;
	height: 4px;
	background-color: #D4AF37;
}

.mmpp-shop-title {
	font-family: 'Lato', sans-serif;
	font-size: 38px;
	font-weight: 700;
	color: var(--cream);
	letter-spacing: 0.03em;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.mmpp-shop-description {
	color: var(--text-on-dark);
	font-size: 15px;
	max-width: 700px;
	margin: 0 auto;
	line-height: 1.6;
}

.mmpp-shop-container {
	max-width: 1300px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 3rem;
	padding: 3rem 2rem 5rem;
}

@media (max-width: 991px) {
	.mmpp-shop-container {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
}

/* Sidebar Accordions */
.mmpp-shop-sidebar {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

@media (min-width: 992px) {
	.mmpp-shop-sidebar {
		position: sticky;
		top: 100px; /* Offset for admin bar and sticky navigation header */
		align-self: start;
		max-height: calc(100vh - 130px);
		overflow-y: auto;
		padding-right: 6px;
		scrollbar-width: none; /* Hide scrollbar for Firefox */
		-ms-overflow-style: none; /* Hide scrollbar for IE/Edge */
	}

	.mmpp-shop-sidebar::-webkit-scrollbar {
		display: none; /* Hide scrollbar for Chrome/Safari/Opera */
	}
}

.mmpp-shop-sidebar {
	display: flex;
	flex-direction: column;
	background-color: #ffffff;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(20, 18, 10, 0.06), 0 1px 2px rgba(20, 18, 10, 0.04);
	padding: 10px 0;
	gap: 0;
}

.mmpp-sidebar-widget {
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	margin-bottom: 0 !important;
	overflow: visible !important;
}

.mmpp-sidebar-widget:not(:last-child) {
	border-bottom: 1px solid #F0EDE5 !important;
}

.mmpp-widget-header {
	background-color: transparent !important;
	padding: 24px 28px 14px 28px !important;
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	user-select: none;
	transition: color 0.25s ease;
	border-bottom: none !important;
}

.mmpp-widget-header:hover .mmpp-widget-title {
	color: #D4AF37 !important;
}

.mmpp-widget-header:hover .mmpp-accordion-icon {
	color: #D4AF37 !important;
}

.mmpp-widget-title {
	font-family: 'Lato', sans-serif;
	font-size: 13px;
	font-weight: 700;
	color: #1B0C05;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	border: none;
	padding: 0;
	margin: 0;
}

.mmpp-accordion-icon {
	color: var(--mid);
	display: flex;
	align-items: center;
	transition: transform 0.3s ease;
}

.mmpp-widget-content {
	padding: 0 28px 24px 28px !important;
	background-color: transparent !important;
	display: block !important;
	height: auto !important;
	overflow: visible !important;
}

/* Closed Accordion State */
.mmpp-accordion-closed .mmpp-widget-content {
	display: none !important;
}

.mmpp-accordion-closed .mmpp-accordion-icon {
	transform: rotate(-90deg);
}

/* In-widget list searching */
.mmpp-widget-search-wrap {
	position: relative;
	margin-bottom: 16px;
}

.mmpp-widget-search-input {
	width: 100%;
	height: 38px;
	padding: 0 35px 0 14px;
	border: 1px solid #EAE6DF;
	border-radius: 4px;
	font-size: 12px;
	background: #FDFCFB;
	color: var(--dark);
	outline: none;
	transition: all 0.2s ease;
}

.mmpp-widget-search-input:focus {
	border-color: #D4AF37;
	background: #ffffff;
	box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.12);
}

.mmpp-widget-search-icon {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--text-muted-dk);
	display: flex;
	align-items: center;
	pointer-events: none;
}

/* Search widget standard search box */
.mmpp-search-input-wrap {
	position: relative;
	display: flex;
	align-items: center;
}

.mmpp-search-field {
	display: block !important;
	width: 100% !important;
	height: 44px !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	border: 1px solid #EAE6DF !important;
	border-radius: 6px !important;
	padding: 0 45px 0 16px !important;
	background: #FDFCFB !important;
	color: var(--dark) !important;
	font-family: 'Lato', sans-serif !important;
	font-size: 14px !important;
	outline: none !important;
	transition: all 0.2s ease !important;
}

.mmpp-search-field:focus {
	border-color: #D4AF37 !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.12) !important;
}

.mmpp-search-submit {
	position: absolute;
	right: 14px;
	background: none;
	border: none;
	cursor: pointer;
	color: var(--mid);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color 0.2s ease;
}

.mmpp-search-submit:hover {
	color: #D4AF37;
}

/* Category lists with custom checkboxes */
.mmpp-shop-cat-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
	max-height: 220px;
	overflow-y: auto;
	padding-right: 4px;
}

/* Scrollbar for widgets lists */
.mmpp-shop-cat-list::-webkit-scrollbar {
	width: 4px;
}
.mmpp-shop-cat-list::-webkit-scrollbar-track {
	background: rgba(0, 0, 0, 0.05);
}
.mmpp-shop-cat-list::-webkit-scrollbar-thumb {
	background: var(--gold-light);
	border-radius: 2px;
}

.mmpp-cat-item a {
	display: flex;
	align-items: center;
	color: var(--dark-3);
	text-decoration: none;
	font-size: 13px;
	font-weight: 500;
	padding: 10px 8px;
	border-radius: 6px;
	gap: 12px;
	transition: all 0.2s ease;
}

.mmpp-cat-item a:hover {
	background-color: var(--cream);
	color: var(--dark);
}

/* Restyled Checkboxes */
.mmpp-checkbox-box {
	display: inline-block;
	width: 18px;
	height: 18px;
	border: 1.5px solid #D4AF37;
	border-radius: 3px;
	background-color: #ffffff;
	position: relative;
	flex-shrink: 0;
	transition: all 0.2s ease;
}

.mmpp-checkbox-box.checked {
	background-color: #D4AF37;
	border-color: #D4AF37;
}

.mmpp-checkbox-box.checked::after {
	content: '';
	position: absolute;
	left: 5px;
	top: 2px;
	width: 4px;
	height: 8px;
	border: solid #ffffff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.mmpp-cat-name {
	flex-grow: 1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Restyled Category Counts Badges */
.mmpp-cat-count {
	font-size: 11px;
	background: #F3F0E7;
	color: #8C8A82;
	padding: 2px 8px;
	border-radius: 999px;
	font-weight: 500;
	transition: all 0.2s ease;
}

.mmpp-cat-item a:hover .mmpp-cat-count {
	background: #ffffff;
}

/* Price inputs & slider */
.mmpp-price-inputs {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 28px;
}

.mmpp-price-input-field {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.mmpp-price-input-field span {
	font-size: 11px;
	color: var(--text-muted-dk);
	text-transform: uppercase;
	font-weight: 700;
}

.mmpp-price-field-input {
	width: 100%;
	height: 40px;
	border: 1px solid #EAE6DF;
	border-radius: 4px;
	padding: 0 12px;
	font-size: 13px;
	color: var(--dark-3);
	background: #FDFCFB;
	outline: none;
	transition: all 0.2s ease;
}

.mmpp-price-field-input:focus {
	border-color: #D4AF37;
	background: #ffffff;
	box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.12);
}

.mmpp-price-separator {
	color: var(--text-muted-dk);
	font-size: 12px;
	padding-top: 15px;
}

/* Accent CTAs */
.mmpp-filter-submit-btn {
	width: 100%;
	height: 40px;
	background-color: #D4AF37;
	border: none;
	border-radius: 6px;
	color: #ffffff;
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	cursor: pointer;
	transition: all 0.2s ease;
	margin-top: 18px;
	box-shadow: 0 4px 12px rgba(212, 175, 55, 0.18);
}

.mmpp-filter-submit-btn:hover {
	background-color: #c09b2e;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(212, 175, 55, 0.28);
}

.mmpp-price-action-row {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 18px;
}

.mmpp-price-action-row .mmpp-filter-submit-btn {
	margin-top: 0 !important;
	flex: 1;
}

.mmpp-reset-price-link {
	font-size: 11px;
	font-weight: 700;
	color: var(--mid);
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: color 0.2s ease;
	white-space: nowrap;
}

.mmpp-reset-price-link:hover {
	color: #D4AF37;
	text-decoration: underline;
}

/* Reset widgets */
.mmpp-reset-widget {
	padding: 16px 28px !important;
	background: transparent;
	border: none;
	box-shadow: none;
}

.mmpp-reset-filters-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 42px;
	border: 1px solid #F0EDE5;
	background: #ffffff;
	color: #8C8A82;
	text-decoration: none;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: all 0.25s ease;
	box-shadow: none;
}

.mmpp-reset-filters-btn:hover {
	background: #F7F4EE;
	color: #1B0C05;
	border-color: #D4AF37;
	transform: translateY(-2px);
}

/* Dual Range Slider styling */
.mmpp-dual-range-slider {
	position: relative;
	height: 6px;
	margin: 20px 5px 30px;
}

.mmpp-slider-track {
	position: absolute;
	height: 100%;
	width: 100%;
	background-color: #F0EDE5;
	border-radius: 3px;
	top: 0;
	left: 0;
}

.mmpp-range-thumb {
	position: absolute;
	width: 100%;
	height: 6px;
	background: none;
	pointer-events: none;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	top: 0;
	left: 0;
}

/* Styling range inputs with white border + shadow */
.mmpp-range-thumb::-webkit-slider-thumb {
	height: 18px;
	width: 18px;
	border-radius: 50%;
	background: #D4AF37;
	border: 2px solid #ffffff;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
	pointer-events: auto;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	transition: transform 0.15s ease, background-color 0.15s ease;
}

.mmpp-range-thumb::-moz-range-thumb {
	height: 14px;
	width: 14px;
	border-radius: 50%;
	background: #D4AF37;
	border: 2px solid #ffffff;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
	pointer-events: auto;
	cursor: pointer;
	transition: transform 0.15s ease, background-color 0.15s ease;
}

.mmpp-range-thumb::-webkit-slider-thumb:hover {
	transform: scale(1.2);
	background: #c09b2e;
}

.mmpp-range-thumb::-moz-range-thumb:hover {
	transform: scale(1.2);
	background: #c09b2e;
}

/* Main shop area controls bar */
.mmpp-shop-controls-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 2.8rem;
	padding-bottom: 14px;
	border-bottom: 1px solid #F0EDE5;
}

.mmpp-results-count {
	font-size: 14px;
	color: var(--text-muted-dk);
	font-weight: 500;
}

.mmpp-sorting-wrap {
	display: flex;
	align-items: center;
}

.mmpp-custom-select-container {
	position: relative;
	width: 220px;
}

/* Restyled Sort Dropdown */
.mmpp-sorting-select {
	width: 100%;
	height: 42px;
	border: none !important;
	background-color: #ffffff;
	border-radius: 8px !important;
	padding: 0 35px 0 16px;
	font-family: 'Lato', sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: var(--dark-3);
	outline: none;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	box-shadow: 0 2px 8px rgba(20, 18, 10, 0.06), 0 1px 2px rgba(20, 18, 10, 0.04);
	transition: all 0.25s ease;
}

.mmpp-sorting-select:focus {
	box-shadow: 0 4px 12px rgba(20, 18, 10, 0.10);
}

.mmpp-select-arrow {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	color: var(--mid);
	display: flex;
	align-items: center;
}

/* Product grid gaps reduced for a tighter layout */
.mmpp-product-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
	gap: 1.5rem;
	margin-bottom: 3.0rem;
}

/* Medshop-Style Borderless Product Card - Redesigned */
.mmpp-shop-card {
	background: #ffffff !important;
	border: none !important;
	border-radius: 8px !important;
	box-shadow: 0 2px 8px rgba(20, 18, 10, 0.06), 0 1px 2px rgba(20, 18, 10, 0.04) !important;
	overflow: hidden !important;
	display: flex;
	flex-direction: column;
	position: relative;
	transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease !important;
	padding: 0 !important;
}

.mmpp-shop-card:hover {
	transform: translateY(-5px) !important;
	box-shadow: 0 12px 24px rgba(20, 18, 10, 0.10), 0 4px 8px rgba(20, 18, 10, 0.06) !important;
}

/* Dedicated Square Image container with Off-White background & no borders */
.mmpp-card-image-container {
	position: relative;
	width: 100%;
	aspect-ratio: 1;
	overflow: hidden;
	background: #F7F4EE !important;
	border: none !important;
	border-radius: 8px 8px 0 0 !important;
	transition: background-color 0.35s ease;
}

.mmpp-shop-card:hover .mmpp-card-image-container {
	background: #f2ede2 !important;
	box-shadow: none !important;
	border-color: transparent !important;
}

.mmpp-card-image-inner {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px !important;
}

.mmpp-card-image-inner img {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	transition: opacity 0.5s ease, transform 0.5s ease;
}

.mmpp-card-image-inner .mmpp-secondary-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 20px !important;
	opacity: 0;
	pointer-events: none;
}

/* Hover swap (Only if card has a secondary gallery image) */
.mmpp-shop-card.mmpp-has-hover-image:hover .mmpp-primary-img {
	opacity: 0;
	transform: scale(1.04);
}

.mmpp-shop-card.mmpp-has-hover-image:hover .mmpp-secondary-img {
	opacity: 1;
	transform: scale(1.04);
	pointer-events: auto;
}

/* Fallback zoom if card does NOT have a gallery hover image */
.mmpp-shop-card:not(.mmpp-has-hover-image):hover .mmpp-primary-img {
	transform: scale(1.03);
}

/* Card Badges */
.mmpp-card-badges {
	position: absolute;
	top: 12px;
	left: 12px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	pointer-events: none;
	z-index: 5;
}

.mmpp-card-badge {
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase;
	padding: 4px 10px !important;
	border-radius: 999px !important;
	color: #ffffff !important;
	border: none !important;
}

/* Solid rounded pill sale badge */
.mmpp-badge-sale {
	background-color: #D4AF37 !important;
}

/* Solid rounded pill sold out badge */
.mmpp-badge-out {
	background-color: #1B0C05 !important;
}

/* Floating Rating Badge Overlay on Image Box bottom-left */
.mmpp-card-rating-badge {
	position: absolute;
	bottom: 12px;
	left: 12px;
	background-color: rgba(255, 255, 255, 0.95);
	border: none !important;
	border-radius: 4px;
	padding: 4px 10px;
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	font-weight: 700;
	color: var(--dark-2);
	z-index: 5;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.mmpp-badge-star {
	color: #f59e0b; /* Orange rating star */
}

/* Out of Stock visual changes */
.mmpp-card-out-of-stock .mmpp-card-image-inner img {
	filter: grayscale(30%) opacity(0.88);
}

/* Card Details (Generous whitespace padding) */
.mmpp-card-details {
	padding: 20px 20px 18px 20px !important;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

/* Muted upper-case small brand name */
.mmpp-card-brand {
	font-size: 10px !important;
	font-weight: 600 !important;
	color: #8C8A82 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	margin-bottom: 8px !important;
	display: block;
}

/* Medium weight sentence-case title */
.mmpp-card-title {
	font-family: 'Lato', sans-serif;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.45;
	margin-bottom: 8px;
	height: 44px !important;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	word-break: break-word;
	overflow-wrap: break-word;
}

.mmpp-card-title a {
	color: var(--dark-2);
	text-decoration: none;
	font-weight: 500 !important;
	transition: color 0.2s ease;
}

.mmpp-card-title a:hover {
	color: #D4AF37 !important;
}

/* Price row bold styling */
.mmpp-card-price-row {
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin-top: auto;
	padding-top: 4px;
}

.mmpp-price-prefix {
	font-size: 12px;
	color: var(--text-muted-dk);
	font-weight: 500;
}

.mmpp-price-val {
	font-size: 15px;
	font-weight: 700 !important;
	color: var(--dark-2);
}

/* Strike-through price: muted, smaller size */
.mmpp-price-val del {
	color: #8C8A82 !important;
	font-size: 12px !important;
	margin-right: 4px;
	font-weight: 400 !important;
	text-decoration: line-through !important;
}

.mmpp-price-val del .woocommerce-Price-amount {
	color: #8C8A82 !important;
	font-size: 12px !important;
	font-weight: 400 !important;
}

.mmpp-price-val ins {
	text-decoration: none !important;
	color: #D4AF37 !important;
	font-weight: 700 !important;
}

.mmpp-price-val ins .woocommerce-Price-amount {
	color: #D4AF37 !important;
	font-weight: 700 !important;
}

/* Options / Variations count Available label */
.mmpp-card-options-available {
	font-size: 11px;
	color: var(--text-muted-dk);
	font-weight: 500;
	margin-top: 6px;
	display: block;
}

/* Pagination container */
.mmpp-shop-pagination {
	display: flex;
	justify-content: center;
	margin-top: 2.8rem;
}

.mmpp-shop-pagination ul {
	display: flex;
	list-style: none;
	gap: 8px;
	padding: 0;
}

.mmpp-shop-pagination li span,
.mmpp-shop-pagination li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: none !important;
	background: #ffffff !important;
	border-radius: 6px !important;
	box-shadow: 0 2px 6px rgba(20, 18, 10, 0.05) !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	color: #8C8A82 !important;
	transition: all 0.25s ease;
}

.mmpp-shop-pagination li a:hover {
	background-color: #F7F4EE !important;
	color: #1B0C05 !important;
	box-shadow: 0 4px 12px rgba(20, 18, 10, 0.10) !important;
}

.mmpp-shop-pagination li span.current {
	background-color: #D4AF37 !important;
	color: #ffffff !important;
	box-shadow: 0 4px 12px rgba(212, 175, 55, 0.2) !important;
}

/* No products found */
.mmpp-no-products-found {
	text-align: center;
	padding: 60px 20px;
	background: #ffffff;
	border: none !important;
	border-radius: 8px !important;
	box-shadow: 0 2px 8px rgba(20, 18, 10, 0.06), 0 1px 2px rgba(20, 18, 10, 0.04) !important;
}

.mmpp-no-products-found p {
	font-size: 15px;
	color: var(--text-muted-dk);
	margin-bottom: 20px;
}

.mmpp-no-products-found .mmpp-reset-filters-btn {
	display: inline-flex;
	width: auto;
	padding: 0 24px;
}

/* Responsive Shop Archive Header */
@media (max-width: 768px) {
	.mmpp-shop-header {
		padding: 40px 1rem 45px !important;
	}
	
	.mmpp-shop-title {
		font-size: 24px !important;
		line-height: 1.3 !important;
		word-wrap: break-word !important;
		overflow-wrap: break-word !important;
		word-break: normal !important;
	}
	
	.mmpp-shop-description {
		font-size: 13px !important;
		line-height: 1.5 !important;
		padding: 0 10px !important;
	}
}

/* Card Action Buttons Row Styles */
.mmpp-card-actions-row {
	display: flex;
	gap: 8px;
	margin-top: 14px;
	width: 100%;
}

.mmpp-card-actions-row .added_to_cart {
	display: none !important; /* Hide WooCommerce default view cart text links */
}

/* Buy Now, Select Options, Read More Primary CTAs - Red/Chocolate Brand Theme */
.mmpp-btn-buy-now,
.mmpp-btn-select-options,
.mmpp-btn-read-more {
	flex: 1;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: #521f12 !important;
	color: #ffffff !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border-radius: 6px !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
	box-shadow: 0 2px 6px rgba(82, 31, 18, 0.15);
	border: none !important;
	cursor: pointer;
}

.mmpp-btn-buy-now:hover,
.mmpp-btn-select-options:hover,
.mmpp-btn-read-more:hover {
	background-color: #D4AF37 !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 10px rgba(212, 175, 55, 0.25);
}

/* AJAX Add to Cart Icon Button - Red/Chocolate Brand Theme */
.mmpp-btn-add-cart {
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1.5px solid #521f12 !important;
	color: #521f12 !important;
	border-radius: 6px !important;
	background-color: #ffffff !important;
	transition: all 0.22s ease !important;
	cursor: pointer;
	text-decoration: none !important;
	flex-shrink: 0;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden;
}

.mmpp-btn-icon-wrap {
	position: relative;
	width: 16px;
	height: 16px;
	display: block;
}

/* Base icon state */
.mmpp-btn-icon-wrap svg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	fill: none;
	stroke-width: 2;
	transition: opacity 0.2s ease, transform 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.mmpp-icon-cart {
	opacity: 1;
	transform: scale(1);
	stroke: #521f12 !important;
}

/* Plus icon (Hover state) */
.mmpp-icon-plus {
	opacity: 0;
	transform: scale(0.5) rotate(-90deg);
	stroke: #521f12 !important;
}

/* Checkmark icon (Success state) */
.mmpp-icon-checkmark {
	opacity: 0;
	transform: scale(0.5);
	stroke: #521f12 !important;
}

/* Hover State - Show Plus Icon */
.mmpp-btn-add-cart:hover {
	background-color: #F7F4EE !important;
	border-color: #D4AF37 !important;
	transform: translateY(-1px) !important;
}

.mmpp-btn-add-cart:hover .mmpp-icon-cart {
	opacity: 0;
	transform: scale(0.5);
}

.mmpp-btn-add-cart:hover .mmpp-icon-plus {
	opacity: 1;
	transform: scale(1) rotate(0deg);
	stroke: #D4AF37 !important;
}

/* AJAX Loading State */
.mmpp-btn-add-cart.loading {
	opacity: 0.7;
	background-color: #F7F4EE !important;
}

/* AJAX Success Added State (Fill with brand oxblood, show Checkmark) */
.mmpp-btn-add-cart.added {
	background-color: #521f12 !important;
	border-color: #521f12 !important;
}

.mmpp-btn-add-cart.added .mmpp-icon-cart,
.mmpp-btn-add-cart.added .mmpp-icon-plus {
	opacity: 0 !important;
	transform: scale(0.5) !important;
}

.mmpp-btn-add-cart.added .mmpp-icon-checkmark {
	opacity: 1 !important;
	transform: scale(1) !important;
	stroke: #ffffff !important; /* White checkmark on oxblood background! */
}

/* Floating Cart Trigger Button - Oxblood Theme (Enlarged and Repositioned) */
.mmpp-floating-cart-btn {
	position: fixed;
	bottom: 24px;
	right: 24px;
	width: 68px;
	height: 68px;
	border-radius: 50%;
	background-color: #521f12 !important;
	color: #ffffff !important;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid #ffffff !important; /* Thick white border for high visibility over photos */
	box-shadow: 0 4px 18px rgba(82, 31, 18, 0.35);
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	z-index: 99990;
	cursor: pointer;
	text-decoration: none !important;
	animation: mmpp-pulse-glow 2s infinite;
}

@keyframes mmpp-pulse-glow {
	0% {
		box-shadow: 0 0 0 0 rgba(82, 31, 18, 0.6);
	}
	70% {
		box-shadow: 0 0 0 16px rgba(82, 31, 18, 0);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(82, 31, 18, 0);
	}
}

.mmpp-floating-cart-btn svg {
	stroke: #ffffff !important;
	width: 26px;
	height: 26px;
}

.mmpp-floating-cart-btn:hover {
	background-color: #D4AF37 !important;
	box-shadow: 0 6px 22px rgba(212, 175, 55, 0.45);
	transform: scale(1.06);
	animation-play-state: paused; /* Pause pulsing on hover */
}

/* Floating Cart Count Badge (Enlarged) */
.mmpp-floating-cart-count-wrap {
	position: absolute;
	top: -2px;
	right: -2px;
	background-color: #D4AF37;
	color: #1B0C05;
	font-size: 12px;
	font-weight: 800;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 2px solid #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Slide-out Cart Drawer */
.mmpp-cart-drawer {
	position: fixed;
	top: 0;
	right: -400px;
	width: 400px;
	height: 100vh;
	background-color: #ffffff;
	z-index: 99999;
	box-shadow: -4px 0 24px rgba(20, 18, 10, 0.15);
	display: flex;
	flex-direction: column;
	transition: right 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.mmpp-cart-drawer.mmpp-active {
	right: 0;
}

@media (max-width: 480px) {
	.mmpp-cart-drawer {
		width: 100%;
		right: -100%;
	}
}

/* Cart Drawer Header */
.mmpp-cart-drawer-header {
	padding: 24px 28px;
	border-bottom: 1px solid #F0EDE5;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-shrink: 0;
}

.mmpp-cart-drawer-header h3 {
	font-family: 'Lato', sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: #521f12;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin: 0;
}

.mmpp-cart-drawer-close {
	background: none;
	border: none;
	font-size: 28px;
	color: #8C8A82;
	cursor: pointer;
	transition: color 0.2s ease;
	line-height: 1;
	padding: 0;
}

.mmpp-cart-drawer-close:hover {
	color: #521f12;
}

/* Cart Drawer Content */
.mmpp-cart-drawer-content {
	flex-grow: 1;
	overflow-y: auto;
	padding: 24px 28px;
}

.mmpp-cart-drawer-content::-webkit-scrollbar {
	width: 5px;
}
.mmpp-cart-drawer-content::-webkit-scrollbar-track {
	background: rgba(0, 0, 0, 0.03);
}
.mmpp-cart-drawer-content::-webkit-scrollbar-thumb {
	background: #D4AF37;
	border-radius: 3px;
}

/* Drawer Dark Overlay */
.mmpp-cart-drawer-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(27, 12, 5, 0.5);
	z-index: 99998;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.35s ease;
	backdrop-filter: blur(2px);
}

.mmpp-cart-drawer-overlay.mmpp-active {
	opacity: 1;
	pointer-events: auto;
}

body.mmpp-cart-open {
	overflow: hidden !important; /* Stop body scrolling when drawer is open */
}

/* WooCommerce Mini-Cart Styling Inside Drawer */
.mmpp-cart-drawer-content ul.woocommerce-mini-cart {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.mmpp-cart-drawer-content li.woocommerce-mini-cart-item {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	padding-bottom: 18px;
	border-bottom: 1px solid #F0EDE5;
}

.mmpp-cart-drawer-content .woocommerce-mini-cart-item .remove_from_cart_button {
	position: absolute;
	top: 0;
	right: 0;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #8C8A82 !important;
	text-decoration: none !important;
	font-size: 16px;
	transition: all 0.2s ease;
	z-index: 10;
}

.mmpp-cart-drawer-content .woocommerce-mini-cart-item .remove_from_cart_button:hover {
	background-color: #F7F4EE;
	color: #521f12 !important;
}

.mmpp-cart-drawer-content .woocommerce-mini-cart-item a:not(.remove) {
	display: flex;
	align-items: center;
	gap: 14px;
	text-decoration: none !important;
	color: #1B0C05 !important;
	font-size: 13px;
	font-weight: 600;
	font-family: 'Lato', sans-serif;
	width: calc(100% - 24px);
	transition: color 0.2s ease;
}

.mmpp-cart-drawer-content .woocommerce-mini-cart-item a:not(.remove):hover {
	color: #D4AF37 !important;
}

.mmpp-cart-drawer-content .woocommerce-mini-cart-item img {
	width: 60px;
	height: 60px;
	object-fit: contain;
	background: #F7F4EE;
	border-radius: 6px;
	padding: 6px;
	flex-shrink: 0;
}

.mmpp-cart-drawer-content .woocommerce-mini-cart-item .quantity {
	display: block;
	font-size: 12px;
	color: #8C8A82;
	font-weight: 500;
	margin-top: 4px;
}

.mmpp-cart-drawer-content .woocommerce-mini-cart-item .quantity .woocommerce-Price-amount {
	color: #521f12;
	font-weight: 700;
}

/* Subtotal row */
.mmpp-cart-drawer-content p.woocommerce-mini-cart__total {
	margin-top: 24px;
	padding-top: 18px;
	border-top: 2px solid #521f12;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: 'Lato', sans-serif;
}

.mmpp-cart-drawer-content p.woocommerce-mini-cart__total strong {
	font-size: 13px;
	color: #8C8A82;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-weight: 700;
}

.mmpp-cart-drawer-content p.woocommerce-mini-cart__total .woocommerce-Price-amount {
	font-size: 16px;
	font-weight: 800;
	color: #521f12;
}

/* Checkout / Cart Buttons in Drawer */
.mmpp-cart-drawer-content p.woocommerce-mini-cart__buttons {
	margin-top: 24px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 0;
	border: none;
}

.mmpp-cart-drawer-content p.woocommerce-mini-cart__buttons a.button {
	width: 100% !important;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 6px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	text-decoration: none !important;
	transition: all 0.25s ease !important;
}

.mmpp-cart-drawer-content p.woocommerce-mini-cart__buttons a.button.checkout {
	background-color: #521f12 !important;
	color: #ffffff !important;
	box-shadow: 0 4px 12px rgba(82, 31, 18, 0.18) !important;
	border: none !important;
}

.mmpp-cart-drawer-content p.woocommerce-mini-cart__buttons a.button.checkout:hover {
	background-color: #D4AF37 !important;
	color: #ffffff !important;
	box-shadow: 0 6px 16px rgba(212, 175, 55, 0.28) !important;
	transform: translateY(-1px);
}

.mmpp-cart-drawer-content p.woocommerce-mini-cart__buttons a.button:not(.checkout) {
	background-color: #ffffff !important;
	color: #8C8A82 !important;
	border: 1.5px solid #F0EDE5 !important;
}

.mmpp-cart-drawer-content p.woocommerce-mini-cart__buttons a.button:not(.checkout):hover {
	background-color: #F7F4EE !important;
	color: #1B0C05 !important;
	border-color: #521f12 !important;
	transform: translateY(-1px);
}

/* Empty Cart View */
.mmpp-cart-drawer-content p.woocommerce-mini-cart__empty-message {
	text-align: center;
	color: #8C8A82;
	font-size: 14px;
	padding: 40px 0;
	margin: 0;
}

/* Theme Wrapper Alignment Overrides for Single Product Page */
.single-product .site-content,
.single-product #content,
.single-product .content-area,
.single-product #primary,
.single-product .site-main,
.single-product main,
.single-product .post-wrap,
.single-product .entry-content {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Pull the custom product page container upwards */
.single-product .mmpp-wrap {
	margin-top: -28px !important;
	padding-top: 0 !important;
}

/* Space out breadcrumbs to offset the negative container margin and prevent touching the header */
.single-product .mmpp-breadcrumb {
	padding-top: 36px !important;
	padding-bottom: 16px !important;
	padding-left: 2rem !important;
	padding-right: 2rem !important;
}

/* Vertical Centering & Balanced Padding for Theme Header (Single and Archive Shop Pages) */
.single-product .site-header,
.archive-product .site-header,
.tax-product_cat .site-header,
.tax-product_tag .site-header,
.single-product #masthead,
.archive-product #masthead,
.tax-product_cat #masthead,
.tax-product_tag #masthead,
.single-product .header-inner,
.archive-product .header-inner,
.single-product .header-container,
.archive-product .header-container,
.single-product .header-row,
.archive-product .header-row,
.single-product .main-header-bar,
.archive-product .main-header-bar,
.single-product .header-wrap,
.archive-product .header-wrap {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding-top: 20px !important;
	padding-bottom: 20px !important;
	height: auto !important;
	min-height: auto !important;
	margin-bottom: 0 !important;
}

/* Reset margin/padding on inner columns to align them exactly to center */
.single-product .site-header > div,
.archive-product .site-header > div,
.single-product #masthead > div,
.archive-product #masthead > div,
.single-product .header-column,
.archive-product .header-column,
.single-product .header-col,
.archive-product .header-col,
.single-product .site-branding,
.archive-product .site-branding,
.single-product .site-navigation,
.archive-product .site-navigation,
.single-product .main-navigation,
.archive-product .main-navigation,
.single-product .header-search,
.archive-product .header-search,
.single-product .search-form,
.archive-product .search-form {
	display: flex !important;
	align-items: center !important;
	align-content: center !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	float: none !important; /* Reset legacy floats if any */
}

/* Fallback inline alignment for nested inline items */
.single-product .site-header *,
.archive-product .site-header *,
.single-product #masthead *,
.archive-product #masthead * {
	vertical-align: middle !important;
}

/* Responsive Floating Cart Positioning to avoid overlap with bottom navigation bar */
@media (max-width: 768px) {
	.mmpp-floating-cart-btn {
		bottom: 95px !important;
		right: 20px !important;
	}
}
