/*
Theme Name: The Elegant Print Theme
Description: Minimalist AJAX WooCommerce Theme mimicking Savoy
*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Roboto:wght@300;400;500;600;700&display=swap');

:root {
	--nm-font-primary: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	--nm-font-slider: 'Roboto', sans-serif;
	--nm-color-primary: #282828;
	--nm-color-secondary: #606060;
	--nm-color-text: #777777;
	--nm-bg-light: #f5f5f5;
	--nm-border-color: #eaeaea;
}

/* Dark Mode Variables */
body.nm-mode-dark {
	--nm-color-primary: #ffffff;
	--nm-color-secondary: #aaaaaa;
	--nm-color-text: #e0e0e0;
	--nm-bg-light: #1a1a1a;
	--nm-border-color: #333333;
	background-color: #121212 !important;
	color: var(--nm-color-text) !important;
}
body.nm-mode-dark .nm-top-bar,
body.nm-mode-dark .nm-header,
body.nm-mode-dark footer.nm-footer {
	background-color: var(--nm-bg-light) !important;
	border-color: var(--nm-border-color) !important;
}
body.nm-mode-dark h1, body.nm-mode-dark h2, body.nm-mode-dark h3, body.nm-mode-dark h4, body.nm-mode-dark h5, body.nm-mode-dark h6,
body.nm-mode-dark .nm-logo-text {
	color: var(--nm-color-primary) !important;
}
body.nm-mode-dark a { color: var(--nm-color-text); }
body.nm-mode-dark a:hover { color: var(--nm-color-primary); }

/* Fix product tabs hardcoded black color in dark mode */
body.nm-mode-dark .woocommerce div.product .woocommerce-tabs .panel *,
body.nm-mode-dark .nm-product-tabs-wrapper .woocommerce-Tabs-panel *,
body.nm-mode-dark .nm-product-tabs-wrapper .woocommerce-Tabs-panel p,
body.nm-mode-dark .nm-product-tabs-wrapper .woocommerce-Tabs-panel li,
body.nm-mode-dark .nm-product-tabs-wrapper .woocommerce-Tabs-panel span,
body.nm-mode-dark .nm-product-tabs-wrapper .woocommerce-Tabs-panel strong,
body.nm-mode-dark .nm-product-tabs-wrapper .woocommerce-Tabs-panel th,
body.nm-mode-dark .nm-product-tabs-wrapper .woocommerce-Tabs-panel td,
body.nm-mode-dark .summary.entry-summary *,
body.nm-mode-dark .nm-product-summary-col * {
	color: var(--nm-color-text) !important;
}
body.nm-mode-dark .summary.entry-summary h1.product_title {
	color: var(--nm-color-primary) !important;
}
body.nm-mode-dark svg { stroke: var(--nm-color-primary); }
body.nm-mode-dark .nm-footer-bar { background-color: #0a0a0a !important; }
body.nm-mode-dark .nm-mobile-menu { background-color: #1a1a1a !important; }
body.nm-mode-dark .nm-search-overlay { background-color: rgba(0,0,0,0.95) !important; }
body.nm-mode-dark input, body.nm-mode-dark textarea, body.nm-mode-dark select { background-color: #222 !important; color: #fff !important; border-color: #444 !important; }
body.nm-mode-dark .nm-countdown-timer { background-color: #222 !important; border: 1px solid #444 !important; }
body.nm-mode-dark .woocommerce ul.products li.product, body.nm-mode-dark ul.products li.product { background-color: transparent !important; }

/* Dark Mode Single Product page overrides */
body.nm-mode-dark .woocommerce div.product .product_title {
	color: var(--nm-color-primary) !important;
}
body.nm-mode-dark .woocommerce div.product .woocommerce-product-details__short-description,
body.nm-mode-dark .woocommerce div.product .woocommerce-product-details__short-description p {
	color: var(--nm-color-text) !important;
}
body.nm-mode-dark .woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: var(--nm-color-text) !important;
	opacity: 0.6;
}
body.nm-mode-dark .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
body.nm-mode-dark .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--nm-color-primary) !important;
	border-bottom-color: var(--nm-color-primary) !important;
	opacity: 1 !important;
}
body.nm-mode-dark .woocommerce div.product .woocommerce-tabs .panel,
body.nm-mode-dark .woocommerce div.product .woocommerce-tabs .panel strong,
body.nm-mode-dark .woocommerce div.product .woocommerce-tabs .panel th,
body.nm-mode-dark .woocommerce div.nm-product-tabs-wrapper .woocommerce-Tabs-panel *,
body.nm-mode-dark .nm-product-tabs-wrapper .woocommerce-Tabs-panel p,
body.nm-mode-dark .nm-product-tabs-wrapper .woocommerce-Tabs-panel li,
body.nm-mode-dark .nm-product-tabs-wrapper .woocommerce-Tabs-panel span,
body.nm-mode-dark .nm-product-tabs-wrapper .woocommerce-Tabs-panel strong,
body.nm-mode-dark .nm-product-tabs-wrapper .woocommerce-Tabs-panel th,
body.nm-mode-dark .nm-product-tabs-wrapper .woocommerce-Tabs-panel td {
	color: var(--nm-color-text) !important;
}

/* Buttons & Forms Layout */
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 15px; margin-bottom: 30px; align-items: center; }
.woocommerce div.product form.cart .quantity input.qty { 
	width: 60px; height: 46px; border: 1px solid var(--nm-border-color); 
	border-radius: 4px; text-align: center; color: var(--nm-color-primary); font-size: 15px;
}
.woocommerce div.product form.cart .button { 
	background: var(--nm-color-primary); color: #fff; border: none; height: 46px; padding: 0 30px;
	border-radius: 4px; font-size: 15px; font-weight: 500; cursor: pointer; transition: background 0.3s;
}
.woocommerce div.product form.cart .button:hover { background: #444; }

/* Active Buttons in Dark Mode */
body.nm-mode-dark .woocommerce div.product form.cart .single_add_to_cart_button:not(.disabled) {
	background-color: transparent !important;
	color: #ffffff !important;
	border: 1px solid #ffffff !important;
}
body.nm-mode-dark .woocommerce div.product form.cart .single_add_to_cart_button:not(.disabled):hover {
	background-color: #ffffff !important;
	color: #121212 !important;
}

body.nm-mode-dark .woocommerce div.product form.cart .ep-buy-now-btn:not(.disabled) {
	background-color: #ffffff !important;
	color: #121212 !important;
	border: 1px solid #ffffff !important;
}
body.nm-mode-dark .woocommerce div.product form.cart .ep-buy-now-btn:not(.disabled):hover {
	background-color: #eaeaea !important;
	color: #121212 !important;
	border-color: #eaeaea !important;
}

/* Disabled state in Dark Mode */
body.nm-mode-dark .woocommerce div.product form.cart .button.disabled,
body.nm-mode-dark .woocommerce div.product form.cart .button:disabled,
body.nm-mode-dark .woocommerce div.product form.cart .button.wc-variation-is-unavailable,
body.nm-mode-dark .woocommerce div.product form.cart .ep-buy-now-btn.disabled,
body.nm-mode-dark .woocommerce div.product form.cart .ep-buy-now-btn:disabled {
	background-color: #222222 !important;
	color: #666666 !important;
	border: 1px solid #333333 !important;
	cursor: not-allowed !important;
	opacity: 1 !important;
}

/* Active Buttons in Light Mode */
.woocommerce div.product form.cart .single_add_to_cart_button:not(.disabled) {
	background-color: var(--nm-color-primary) !important;
	color: #ffffff !important;
	border: 1px solid var(--nm-color-primary) !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button:not(.disabled):hover {
	background-color: #444444 !important;
	border-color: #444444 !important;
}

.woocommerce div.product form.cart .ep-buy-now-btn:not(.disabled) {
	background-color: var(--nm-color-primary) !important;
	color: #ffffff !important;
	border: 1px solid var(--nm-color-primary) !important;
}
.woocommerce div.product form.cart .ep-buy-now-btn:not(.disabled):hover {
	background-color: #444444 !important;
	border-color: #444444 !important;
}

/* Disabled state in Light Mode */
.woocommerce div.product form.cart .button.disabled,
.woocommerce div.product form.cart .button:disabled,
.woocommerce div.product form.cart .button.wc-variation-is-unavailable,
.woocommerce div.product form.cart .ep-buy-now-btn.disabled,
.woocommerce div.product form.cart .ep-buy-now-btn:disabled {
	background-color: #f5f5f5 !important;
	color: #b0b0b0 !important;
	border: 1px solid #e0e0e0 !important;
	cursor: not-allowed !important;
	opacity: 1 !important;
}

/* Variations & Swatches */
.cfvsw-swatches-option,
.variable-item,
.swatch,
.swatch-control,
.attribute-swatch,
.rtwpvs-swatch,
.vi-wpvs-option,
[class*="swatch-option"] {
	background-color: #ffffff !important;
	color: #121212 !important;
	border: 1px solid #eaeaea !important;
	padding: 8px 16px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	border-radius: 4px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	margin: 4px !important;
	min-width: 45px !important;
	height: 40px !important;
	text-align: center !important;
}

/* Hover State - Light Mode (Labels only to avoid overriding color/image background) */
.cfvsw-label-option:hover,
.variable-item:hover,
.swatch:hover,
[class*="swatch-option"].cfvsw-label-option:hover {
	background-color: #121212 !important;
	color: #ffffff !important;
	border-color: #121212 !important;
}

/* Selected State - Light Mode (All options get double outline, labels get filled background) */
.cfvsw-swatches-option.cfvsw-selected-swatch,
.cfvsw-swatches-option.selected,
.variable-item.selected,
.swatch.selected,
[class*="swatch-option"].selected,
[class*="swatch-option"].cfvsw-selected-swatch {
	border-color: #121212 !important;
	box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #121212 !important;
}

.cfvsw-label-option.cfvsw-selected-swatch,
.cfvsw-label-option.selected,
.variable-item.selected,
.swatch.selected,
[class*="swatch-option"].cfvsw-label-option.cfvsw-selected-swatch,
[class*="swatch-option"].cfvsw-label-option.selected {
	background-color: #121212 !important;
	color: #ffffff !important;
}

.cfvsw-swatches-option.cfvsw-selected-swatch *,
.cfvsw-swatches-option.selected *,
.variable-item.selected *,
.swatch.selected * {
	color: #ffffff !important;
}

/* Dark Mode Swatches overrides */
body.nm-mode-dark .cfvsw-swatches-option,
body.nm-mode-dark .variable-item,
body.nm-mode-dark .swatch,
body.nm-mode-dark [class*="swatch-option"] {
	background-color: #1e1e1e !important;
	color: #ffffff !important;
	border-color: #333333 !important;
}

/* Hover State - Dark Mode */
body.nm-mode-dark .cfvsw-label-option:hover,
body.nm-mode-dark .variable-item:hover,
body.nm-mode-dark .swatch:hover,
body.nm-mode-dark [class*="swatch-option"].cfvsw-label-option:hover {
	background-color: #ffffff !important;
	color: #121212 !important;
	border-color: #ffffff !important;
}

/* Selected State - Dark Mode */
body.nm-mode-dark .cfvsw-swatches-option.cfvsw-selected-swatch,
body.nm-mode-dark .cfvsw-swatches-option.selected,
body.nm-mode-dark .variable-item.selected,
body.nm-mode-dark .swatch.selected,
body.nm-mode-dark [class*="swatch-option"].selected,
body.nm-mode-dark [class*="swatch-option"].cfvsw-selected-swatch {
	border-color: #ffffff !important;
	box-shadow: 0 0 0 2px #121212, 0 0 0 4px #ffffff !important;
}

body.nm-mode-dark .cfvsw-label-option.cfvsw-selected-swatch,
body.nm-mode-dark .cfvsw-label-option.selected,
body.nm-mode-dark .variable-item.selected,
body.nm-mode-dark .swatch.selected,
body.nm-mode-dark [class*="swatch-option"].cfvsw-label-option.cfvsw-selected-swatch,
body.nm-mode-dark [class*="swatch-option"].cfvsw-label-option.selected {
	background-color: #ffffff !important;
	color: #121212 !important;
}

body.nm-mode-dark .cfvsw-swatches-option.cfvsw-selected-swatch *,
body.nm-mode-dark .cfvsw-swatches-option.selected *,
body.nm-mode-dark .variable-item.selected *,
body.nm-mode-dark .swatch.selected * {
	color: #121212 !important;
}


/* Reset & Basics */
* { box-sizing: border-box; }
body {
	margin: 0; padding: 0;
	font-family: var(--nm-font-primary);
	color: var(--nm-color-text);
	background-color: #ffffff;
	font-size: 15px; line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
a { color: var(--nm-color-text); text-decoration: none; transition: color 0.3s ease; }
a:hover { color: var(--nm-color-primary); }
img { max-width: 100%; height: auto; display: block; }
ul { list-style: none; margin: 0; padding: 0; }

/* Layout / Grid */
.nm-row {
	max-width: 1200px; margin: 0 auto; padding: 0 20px;
	display: flex; flex-wrap: wrap; width: 100%;
}
.col-xs-12 { width: 100%; }
.col-xs-8 { width: 66.666666%; }
.col-xs-6 { width: 50%; }
.col-xs-4 { width: 33.333333%; }
.col-xs-3 { width: 25%; }
.col-xs-2 { width: 16.666666%; }

@media (min-width: 768px) {
	.col-md-8 { width: 66.666666%; }
	.col-md-6 { width: 50%; }
	.col-md-4 { width: 33.333333%; }
	.col-md-3 { width: 25%; }
	.col-md-2 { width: 16.666666%; }
}

/* Top Bar */
.nm-top-bar {
	background-color: var(--nm-bg-light);
	min-height: 37px; font-size: 13px;
	display: flex; align-items: center;
	text-align: center; color: #666;
}
.nm-top-bar-text { text-align: center; width: 100%; padding: 8px 0; }
.nm-top-bar-text p { margin: 0; }

/* Header */
.nm-header {
	background-color: #ffffff; position: sticky; top: 0; z-index: 100;
	padding: 15px 0; border-bottom: 1px solid rgba(0,0,0,0.05);
}
.nm-header-layout { align-items: center; justify-content: space-between; }

/* Left Nav & Hamburger */
.nm-header-left { display: flex; align-items: center; gap: 20px; }
.nm-mobile-menu-toggle {
	color: var(--nm-color-primary); display: flex; align-items: center; cursor: pointer;
}
.nm-main-menu { display: none; }
@media (min-width: 992px) {
	.nm-main-menu { display: flex; align-items: center; }
	.nm-main-menu .nm-menu { display: flex; gap: 25px; align-items: center; margin: 0; padding: 0; }
}

/* Logo */
.nm-header-logo { text-align: center; display: flex; justify-content: center; }
.nm-logo { max-height: 40px; }

/* Right Nav */
.nm-header-right { display: flex; justify-content: flex-end; }
.nm-right-menu .nm-menu { display: flex; gap: 20px; align-items: center; }
.nm-menu li a {
	font-size: 15px; color: var(--nm-color-secondary); font-weight: 400; display: flex; align-items: center; gap: 5px;
	white-space: nowrap;
}
.nm-menu li a:hover { color: var(--nm-color-primary); }

.desktop-only { display: none; }
@media (min-width: 992px) {
	.desktop-only { display: block; }
}

/* Cart Icon */
.nm-menu-cart .cart-contents { position: relative; }
.nm-menu-cart .cart-count {
	position: absolute; top: -5px; right: -8px;
	background: transparent; color: #d8a25c; font-size: 14px;
	font-weight: 500;
}

/* Mobile Off-Canvas Menu */
.nm-mobile-menu {
	position: fixed; top: 0; left: -320px; width: 320px; height: 100vh;
	background-color: #fff; z-index: 1001; overflow-y: auto;
	transition: left 0.3s ease; padding: 30px; box-shadow: 2px 0 10px rgba(0,0,0,0.05);
}
.nm-mobile-menu.active { left: 0; }

.nm-mobile-menu-overlay {
	position: fixed; top: 0; left: 0; width: 100%; height: 100vh;
	background: rgba(0,0,0,0.4); z-index: 1000; opacity: 0; visibility: hidden;
	transition: all 0.3s ease;
}
.nm-mobile-menu-overlay.active { opacity: 1; visibility: visible; }

.nm-mobile-menu-top {
	display: flex; justify-content: space-between; align-items: center;
	border-bottom: 1px solid var(--nm-border-color); padding-bottom: 20px; margin-bottom: 20px;
}
.nm-mobile-menu-signin { font-size: 16px; color: var(--nm-color-primary); font-weight: 500; }
.nm-mobile-menu-close { color: var(--nm-color-primary); cursor: pointer; }

.nm-mobile-nav { display: flex; flex-direction: column; gap: 15px; margin-bottom: 30px; }
.nm-mobile-nav li a {
	font-size: 18px; color: var(--nm-color-primary); display: flex; justify-content: space-between;
}

.nm-mobile-secondary-nav { display: flex; flex-direction: column; gap: 12px; margin-bottom: 40px; }
.nm-mobile-secondary-nav li a { font-size: 14px; color: var(--nm-color-secondary); }

.nm-mobile-menu-social { display: flex; gap: 15px; }
.nm-mobile-menu-social a { color: var(--nm-color-primary); }

/* Search Overlay */
.nm-search-overlay {
	position: fixed; top: 0; left: 0; width: 100%; height: 100%;
	background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
	display: flex; align-items: flex-start; justify-content: center;
	opacity: 0; visibility: hidden; transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); z-index: 1005;
	padding-top: 15vh;
}
.nm-search-overlay.active { opacity: 1; visibility: visible; }
.nm-search-overlay-inner { 
	width: 100%; max-width: 800px; padding: 0 40px; position: relative; 
	transform: translateY(-20px) scale(0.98); opacity: 0; transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
}
.nm-search-overlay.active .nm-search-overlay-inner { transform: translateY(0) scale(1); opacity: 1; }

.nm-search-overlay .search-form { display: flex; width: 100%; border-bottom: 2px solid var(--nm-color-primary); position: relative; z-index: 2; }
.nm-search-overlay input[type="search"] {
	flex: 1; border: none; background: transparent; font-size: 42px; font-weight: 300;
	padding: 15px 0; outline: none; color: var(--nm-color-primary); letter-spacing: -1px;
}
.nm-search-overlay input[type="search"]::placeholder { color: rgba(0,0,0,0.2); }
.nm-search-overlay .search-submit { background: none; border: none; cursor: pointer; color: var(--nm-color-primary); transition: transform 0.3s; }
.nm-search-overlay .search-submit:hover { transform: scale(1.1); }
.nm-search-close { position: absolute; top: -60px; right: 40px; color: var(--nm-color-primary); transition: transform 0.3s; }
.nm-search-close:hover { transform: rotate(90deg); }

/* Live Search Results */
.nm-search-results { width: 100%; text-align: left; }
.nm-search-results-list { list-style: none; padding: 0; margin: 0; }
.nm-search-results-list li { border-bottom: 1px solid rgba(0,0,0,0.05); transition: background 0.3s; }
.nm-search-results-list li:last-child { border-bottom: none; }
.nm-search-results-list li a { 
	display: flex; align-items: center; padding: 15px 0; text-decoration: none;
}
.nm-search-results-list li a:hover { background: rgba(0,0,0,0.02); padding-left: 10px; padding-right: 10px; border-radius: 4px; margin: 0 -10px; }
.nm-sr-thumb { width: 60px; height: 60px; flex-shrink: 0; margin-right: 20px; overflow: hidden; border-radius: 4px; background: #f5f5f5; }
.nm-sr-thumb img { width: 100%; height: 100%; object-fit: cover; }
.nm-sr-info { display: flex; flex-direction: column; }
.nm-sr-title { font-size: 16px; font-weight: 500; color: var(--nm-color-primary); margin-bottom: 5px; }
.nm-sr-price { font-size: 14px; color: var(--nm-color-secondary); }
.nm-sr-price del { opacity: 0.5; margin-right: 5px; }
.nm-sr-view-all { 
	display: inline-block; margin-top: 20px; font-size: 14px; font-weight: 600; 
	color: var(--nm-color-primary); border-bottom: 1px solid var(--nm-color-primary); padding-bottom: 2px;
}
.nm-sr-no-results { padding: 30px 0; color: var(--nm-color-secondary); font-size: 16px; text-align: center; }
.spin { animation: nm-spin 1s linear infinite; }
@keyframes nm-spin { 100% { transform: rotate(360deg); } }

/* Main Content Wrapper */
.nm-main { min-height: 60vh; padding: 40px 0; }

/* Products Grid & Shop Header */
.nm-shop-header {
	display: flex; justify-content: space-between; align-items: center;
	margin-bottom: 40px; border-bottom: 1px solid var(--nm-border-color); padding-bottom: 20px;
}
.nm-shop-categories-list { display: flex; align-items: center; flex-wrap: wrap; list-style: none; padding: 0; margin: 0; }
.nm-shop-categories-list li { display: flex; align-items: center; }
.nm-shop-categories-list li::after { content: '/'; color: #ccc; margin: 0 12px; font-weight: 300; font-size: 14px; }
.nm-shop-categories-list li:last-child::after { display: none; }
.nm-shop-categories-list li a { color: var(--nm-color-secondary); font-size: 15px; transition: color 0.3s ease; }
.nm-shop-categories-list li a.active, .nm-shop-categories-list li a:hover { color: var(--nm-color-primary); font-weight: 500; }
.nm-filter-btn { display: flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 400; color: var(--nm-color-secondary); transition: color 0.3s ease; }
.nm-filter-btn:hover { color: var(--nm-color-primary); }

.woocommerce ul.products:not(.elementor-grid), ul.products:not(.elementor-grid) { display: flex; flex-wrap: wrap; margin: 0 -15px !important; }
.woocommerce ul.products:not(.elementor-grid)::before, .woocommerce ul.products:not(.elementor-grid)::after, ul.products:not(.elementor-grid)::before, ul.products:not(.elementor-grid)::after { display: none !important; }
.woocommerce ul.products:not(.elementor-grid) li.product, ul.products:not(.elementor-grid) li.product { 
	width: 50% !important; flex: 0 0 50% !important; max-width: 50% !important;
	margin: 0 !important; padding: 0 15px 40px !important; 
	text-align: left; position: relative; float: none !important;
}
@media (min-width: 768px) {
	.woocommerce ul.products.columns-2:not(.elementor-grid) li.product, ul.products.columns-2:not(.elementor-grid) li.product { width: 50% !important; flex: 0 0 50% !important; max-width: 50% !important; }
	.woocommerce ul.products.columns-3:not(.elementor-grid) li.product, ul.products.columns-3:not(.elementor-grid) li.product { width: 33.333333% !important; flex: 0 0 33.333333% !important; max-width: 33.333333% !important; }
	.woocommerce ul.products.columns-4:not(.elementor-grid) li.product, ul.products.columns-4:not(.elementor-grid) li.product { width: 25% !important; flex: 0 0 25% !important; max-width: 25% !important; }
	.woocommerce ul.products.columns-5:not(.elementor-grid) li.product, ul.products.columns-5:not(.elementor-grid) li.product { width: 20% !important; flex: 0 0 20% !important; max-width: 20% !important; }
	.woocommerce ul.products.columns-6:not(.elementor-grid) li.product, ul.products.columns-6:not(.elementor-grid) li.product { width: 16.666666% !important; flex: 0 0 16.666666% !important; max-width: 16.666666% !important; }
}

.nm-shop-loop-thumbnail { 
	position: relative; overflow: hidden; margin-bottom: 15px; 
	background-color: #f5f5f5; border-radius: 2px;
	aspect-ratio: 1 / 1;
	display: flex; align-items: center; justify-content: center;
}
.nm-shop-loop-thumbnail img { width: 100%; transition: transform 0.5s ease; display: block; mix-blend-mode: multiply; border-radius: 0 !important; }
.nm-shop-loop-thumbnail:hover img { transform: scale(1.03); }

/* Add to Cart Button */
.woocommerce ul.products li.product .button, ul.products li.product .button {
	position: absolute !important; bottom: 15px !important; left: 15px !important; right: auto !important;
	background: #fff !important; color: var(--nm-color-primary) !important; padding: 8px 15px !important;
	border-radius: 2px !important; font-size: 13px !important; font-weight: 500 !important;
	box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important; opacity: 0 !important; transform: translateY(10px) !important;
	transition: all 0.3s ease !important; display: flex !important; align-items: center !important; gap: 5px !important;
	white-space: nowrap !important; text-decoration: none !important;
}
.nm-shop-loop-thumbnail:hover .button { opacity: 1 !important; transform: translateY(0) !important; }
.woocommerce ul.products li.product .button:hover, ul.products li.product .button:hover { background: var(--nm-color-primary) !important; color: #fff !important; }

/* Dark Mode Add to Cart Button overrides */
body.nm-mode-dark .woocommerce ul.products li.product .button, 
body.nm-mode-dark ul.products li.product .button {
	background: #ffffff !important;
	color: #121212 !important;
}
body.nm-mode-dark .woocommerce ul.products li.product .button:hover,
body.nm-mode-dark ul.products li.product .button:hover {
	background: var(--nm-color-secondary) !important;
	color: #ffffff !important;
}

/* Badges */
.woocommerce div.product {
	position: relative;
}
.woocommerce div.product span.onsale,
.woocommerce ul.products li.product span.onsale,
ul.products li.product span.onsale,
.nm-label-itsnew {
	position: absolute !important;
	top: 15px !important;
	left: 15px !important;
	right: auto !important;
	bottom: auto !important;
	background-color: #d8a25c !important; /* Elegant gold background */
	color: #ffffff !important;            /* White text */
	font-size: 12px !important;
	font-weight: 600 !important;
	padding: 4px 12px !important;
	border-radius: 20px !important;
	min-height: auto !important;
	min-width: auto !important;
	line-height: 1.4 !important;
	box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
	z-index: 10 !important;
	width: auto !important;
	height: auto !important;
}

/* Product Details */
.nm-shop-loop-details { position: relative; padding-top: 5px; }

.nm-product-title-wrap { margin-bottom: 5px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, ul.products li.product .woocommerce-loop-product__title { 
	font-size: 15px; font-weight: 400; color: var(--nm-color-secondary); margin: 0 0 5px; line-height: 1.4; 
}
.woocommerce ul.products li.product a .woocommerce-loop-product__title:hover, ul.products li.product a .woocommerce-loop-product__title:hover { color: var(--nm-color-primary); }

@media (max-width: 767px) {
	.ep-title-desktop { display: none !important; }
	.ep-title-mobile { display: inline !important; }
}

/* Wishlist Icon on Image Override */
.nm-wishlist-icon { 
	position: absolute; top: 15px; right: 15px; z-index: 10;
	cursor: pointer;
	opacity: 0; transform: translateY(10px); transition: all 0.3s ease;
}
.nm-shop-loop-thumbnail:hover .nm-wishlist-icon { opacity: 1; transform: translateY(0); }
.nm-wishlist-icon .yith-wcwl-add-to-wishlist { margin: 0; }
.nm-wishlist-icon .yith-wcwl-add-to-wishlist a { 
	display: flex !important; align-items: center; justify-content: center; 
	width: 36px; height: 36px; border-radius: 50%;
	text-decoration: none !important; 
}
.nm-wishlist-icon .yith-wcwl-add-to-wishlist a span { display: none !important; }
.nm-wishlist-icon .yith-wcwl-add-to-wishlist a i { margin: 0 !important; transition: all 0.3s; }
.nm-wishlist-icon .yith-wcwl-add-text, .nm-wishlist-icon .feedback, .nm-wishlist-icon .separator { display: none !important; }

@media (max-width: 767px) {
	.nm-wishlist-icon, .woocommerce ul.products li.product .button, ul.products li.product .button { opacity: 1 !important; transform: translateY(0) !important; }
}

.woocommerce ul.products li.product .price, ul.products li.product .price { font-size: 14px; color: var(--nm-color-primary); font-weight: 500; }
.woocommerce ul.products li.product .price del, ul.products li.product .price del { color: #999; font-weight: 400; margin-right: 5px; }

/* Load More / Pagination */
.woocommerce-pagination { text-align: center; margin-top: 20px; border-top: 1px solid var(--nm-border-color); padding-top: 30px; }
.woocommerce-pagination ul { display: inline-flex; gap: 10px; }
.woocommerce-pagination ul li a, .woocommerce-pagination ul li span {
	display: inline-block; padding: 10px 20px; color: var(--nm-color-secondary);
	font-weight: 500; transition: color 0.3s;
}
.woocommerce-pagination ul li span.current { color: var(--nm-color-primary); }

/* Footer */
.nm-footer { background-color: transparent; }
.nm-footer-widgets { background-color: #000000; color: #ffffff; padding: 60px 0 30px; font-size: 14px; }
.nm-footer-col { margin-bottom: 30px; }
.nm-widget-title { color: #ffffff; font-size: 18px; font-weight: 600; margin-bottom: 25px; }

.nm-footer-contact { list-style: none; padding: 0; margin: 0; }
.nm-footer-contact li { display: flex; align-items: flex-start; gap: 15px; margin-bottom: 20px; }
.nm-contact-icon { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; }
.nm-contact-icon svg { width: 36px; height: 36px; }
.nm-contact-text { color: #dddddd; line-height: 1.5; padding-top: 5px; }

.nm-footer-links { list-style: none; padding: 0; margin: 0; }
.nm-footer-links li { margin-bottom: 15px; position: relative; }
.nm-footer-links-bulleted li { padding-left: 15px; }
.nm-footer-links-bulleted li::before { content: ''; position: absolute; left: 0; top: 9px; width: 6px; height: 6px; background-color: #ffffff; border-radius: 50%; }
.nm-footer-links li a { color: #dddddd; transition: color 0.3s; font-size: 14px; }
.nm-footer-links li a:hover { color: #ffffff; }

.nm-footer-text p { color: #dddddd; line-height: 1.6; margin-bottom: 0; font-size: 14px; }

.nm-footer-bottom-black { margin-top: 40px; align-items: center; }
.payment-icons-box { 
	background: #ffffff; padding: 10px 15px; border-radius: 8px;
	display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.payment-icons-box img { height: 20px; width: auto; border-radius: 2px; }

.nm-social-icons { display: flex; justify-content: flex-end; gap: 10px; list-style: none; padding: 0; margin: 0; }
.nm-social-icons li a.social-btn {
	display: flex; align-items: center; justify-content: center;
	width: 36px; height: 36px; color: #ffffff; border-radius: 50%;
	transition: opacity 0.3s;
}
.nm-social-icons li a.social-btn:hover { opacity: 0.8; }
.btn-facebook { background-color: #3b5998; }
.btn-tiktok { background-color: #000000; }
.btn-instagram { background-color: #e1306c; }
.btn-linkedin { background-color: #0077b5; }
.btn-twitter { background-color: #000000; } /* X logo usually black */
.btn-youtube { background-color: #ff0000; }
.btn-pinterest { background-color: #bd081c; }

.nm-footer-bar { background-color: #ffffff; padding: 20px 0; border-top: 1px solid var(--nm-border-color); }
.nm-footer-bar .align-items-center { align-items: center; }
.nm-footer-logo { display: flex; align-items: center; }
.nm-footer-copyright { text-align: center; color: #777777; font-size: 14px; }
.nm-footer-rewards { display: flex; justify-content: flex-end; }

@media (max-width: 767px) {
	.nm-footer-widgets { padding: 40px 0 10px; }
	.nm-footer-col { margin-bottom: 25px; padding-bottom: 25px; border-bottom: 1px solid #222222; }
	.nm-footer-col:last-of-type { border-bottom: none; margin-bottom: 15px; padding-bottom: 0; }
	.nm-widget-title { margin-bottom: 15px; font-size: 17px; }
	.nm-footer-contact li { margin-bottom: 15px; }
	.nm-footer-links li { margin-bottom: 12px; }
	
	.nm-footer-payments { text-align: center; margin-bottom: 25px; }
	.payment-icons-box { justify-content: center; }
	.nm-footer-social-wrapper { text-align: center; }
	.nm-social-icons { justify-content: center; }
	
	.nm-footer-logo, .nm-footer-copyright, .nm-footer-rewards { text-align: center; justify-content: center; margin-bottom: 15px; }
}

/* Home Slider */
.nm-home-slider { width: 100%; height: auto; position: relative; }

.nm-slide {
	position: relative; display: block;
}
.nm-slide-bg-img {
    width: 100%; height: auto; display: block; object-fit: cover;
}
.nm-slide::before {
	content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
	background: rgba(0,0,0,0.15); /* Subtle Overlay */
    pointer-events: none;
    z-index: 5;
}
.nm-slide-content { 
	position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    z-index: 10; margin: 0;
    display: flex; align-items: center; justify-content: flex-start; text-align: left;
	opacity: 0; transform: translateY(30px); transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.3s;
}
.swiper-slide-active .nm-slide-content { opacity: 1; transform: translateY(0); }

.nm-slide-title { 
	font-family: var(--nm-font-slider);
	font-size: 43px; 
	font-weight: 600; 
	color: rgb(0, 0, 0);
	margin-bottom: 15px; 
	line-height: 52px; 
	letter-spacing: -0.5px; 
	text-transform: none; 
}
@media (max-width: 767px) { .nm-slide-title { font-size: 32px; line-height: 40px; } }

.nm-slide-subtitle { 
	font-family: var(--nm-font-slider);
	font-size: 18px; 
	font-weight: 400; 
	color: rgba(0, 0, 0, 0.7);
	margin-bottom: 30px; 
	line-height: 1.5;
	max-width: 600px;
}
.nm-slide-btn {
	display: inline-flex; align-items: center; justify-content: center;
	background: #000; color: #fff; padding: 15px 40px;
	border-radius: 4px; font-weight: 600; font-size: 15px; font-family: var(--nm-font-slider);
	transition: all 0.3s ease; text-transform: uppercase; letter-spacing: 1px;
}
.nm-slide-btn:hover { background: #333; color: #fff; transform: translateY(-2px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); }

/* Swiper Controls Savoy Style */
.swiper-button-next, .swiper-button-prev { color: rgba(255,255,255,0.6) !important; transition: color 0.3s; }
.swiper-button-next:hover, .swiper-button-prev:hover { color: #fff !important; }
.swiper-button-prev { left: 30px !important; }
.swiper-button-next { right: 30px !important; }
.swiper-button-next::after, .swiper-button-prev::after { font-size: 36px !important; font-weight: 200; }

.swiper-pagination { text-align: left !important; padding-left: 40px; padding-bottom: 20px; }
.swiper-pagination-bullet { background: transparent !important; opacity: 1 !important; border: 2px solid rgba(255,255,255,0.5) !important; width: 10px !important; height: 10px !important; transition: all 0.3s; }
.swiper-pagination-bullet-active { border-color: #d8a25c !important; }
@media (max-width: 767px) { .swiper-pagination { text-align: center !important; padding-left: 0; } }
@media (max-width: 767px) {
	.nm-slide-title { font-size: 32px; line-height: 40px; margin-bottom: 10px; }
	.nm-slide-subtitle { font-size: 15px; margin-bottom: 20px; color: rgba(0,0,0,0.8); }
	.swiper-button-next::after, .swiper-button-prev::after { font-size: 22px !important; }
	.swiper-button-prev { left: 10px !important; }
	.swiper-button-next { right: 10px !important; }
	.nm-slide-btn { padding: 12px 28px; font-size: 13px; }
}

/* Single Product Page */
.woocommerce div.product { display: flex; flex-wrap: wrap; margin-bottom: 60px; }
.woocommerce div.product div.images { width: 50%; padding-right: 40px; margin-bottom: 30px; }
.woocommerce div.product div.summary { width: 50%; padding-left: 20px; }

.woocommerce div.product .product_title { font-family: 'Poppins', sans-serif; font-size: 28px; color: #000; font-weight: 600; line-height: 1.3; margin-bottom: 15px; }
.woocommerce div.product p.price { font-size: 22px; color: var(--nm-color-primary); margin-bottom: 25px; font-weight: 500; }
.woocommerce div.product .woocommerce-product-details__short-description { font-family: 'Poppins', sans-serif; color: #000; font-size: 15px; line-height: 1.8; margin-bottom: 30px; }
.woocommerce div.product .woocommerce-product-details__short-description p { margin-bottom: 15px; color: #000; }

.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 15px; margin-bottom: 30px; }
.woocommerce div.product form.cart .quantity input.qty { 
	width: 60px; height: 46px; border: 1px solid var(--nm-border-color); 
	border-radius: 4px; text-align: center; color: var(--nm-color-primary); font-size: 15px;
}
.woocommerce div.product form.cart .button { 
	background: var(--nm-color-primary); color: #fff; border: none; height: 46px; padding: 0 30px;
	border-radius: 4px; font-size: 15px; font-weight: 500; cursor: pointer; transition: background 0.3s;
}
.woocommerce div.product form.cart .button:hover { background: #444; }

.woocommerce div.product table.variations { border: none; width: 100%; margin-bottom: 20px; }
.woocommerce div.product table.variations td { padding: 10px 0; border: none; }
.woocommerce div.product table.variations td.label { width: 100px; color: var(--nm-color-primary); font-weight: 500; }
.woocommerce div.product table.variations select { 
	width: 100%; max-width: 300px; padding: 10px; border: 1px solid var(--nm-border-color);
	border-radius: 4px; color: var(--nm-color-secondary);
}
.woocommerce div.product .product_meta { font-size: 13px; color: #999; margin-top: 30px; border-top: 1px solid var(--nm-border-color); padding-top: 20px; }
.woocommerce div.product .product_meta span { display: block; margin-bottom: 5px; }

@media (max-width: 767px) {
	.woocommerce div.product div.images { 
		width: 100%; 
		padding: 30px; 
		margin-bottom: 30px;
		background-color: #f7f9fa; 
		border-radius: 20px;
		text-align: center;
	}
	.woocommerce div.product div.images img {
		max-width: 80%;
		margin: 0 auto;
		border-radius: 10px;
		box-shadow: 0 10px 40px rgba(0,0,0,0.06);
	}
	.woocommerce div.product div.summary { width: 100%; padding-left: 0; }
	
	/* Mobile Cart Buttons layout */
	.woocommerce div.product form.cart {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		gap: 10px !important;
		width: 100% !important;
	}
	.woocommerce div.product form.cart .quantity {
		width: 70px !important;
		margin: 0 !important;
	}
	.woocommerce div.product form.cart .quantity input.qty {
		width: 100% !important;
	}
	.woocommerce div.product form.cart .single_add_to_cart_button {
		flex: 1 !important;
		min-width: 150px !important;
		margin: 0 !important;
	}
	.woocommerce div.product form.cart .ep-buy-now-btn {
		width: 100% !important;
		margin: 0 !important;
		margin-left: 0 !important;
	}
}

/* Cart Page */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	background-color: #3196cc !important; color: #fff !important;
	padding: 15px 30px !important; border-radius: 4px !important; font-size: 16px !important;
	font-weight: 500 !important; display: block !important; text-align: center !important;
	transition: opacity 0.3s ease !important; border: none !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { 
	opacity: 0.85 !important;
	background-color: #3196cc !important;
	color: #fff !important;
}

body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link) {
    min-height: 3em;
    background-color: #3196cc !important;
    color: white !important;
    border: none !important;
}
body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link):hover {
    opacity: 0.85;
}

/* Wishlist Add to Cart Button */
.wishlist_table .product-add-to-cart a {
    display: table !important;
    margin: 0 auto 5px !important;
    text-align: center !important;
    color: white !important;
    background-color: #3196cc !important;
    padding: 10px 20px !important;
    border-radius: 4px !important;
    transition: opacity 0.3s ease !important;
}
.wishlist_table .product-add-to-cart a:hover {
    opacity: 0.85 !important;
    color: white !important;
}

/* Product Tabs */
.woocommerce div.product .woocommerce-tabs {
	width: 100%; margin-top: 60px; padding-top: 40px;
	border-top: 1px solid var(--nm-border-color);
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex; justify-content: flex-start; gap: 40px;
	border: none; padding: 0; margin: 0 0 40px; list-style: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent; border: none; border-radius: 0;
	margin: 0; padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-family: 'Poppins', sans-serif;
	color: #000; font-size: 18px; font-weight: 500;
	padding: 10px 0; border-bottom: 2px solid transparent; transition: all 0.3s ease;
	opacity: 0.6;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: #000; border-bottom-color: #000; opacity: 1;
}

/* Tab Content Typography */
.woocommerce div.product .woocommerce-tabs .panel {
	font-family: 'Poppins', sans-serif; color: #000; font-size: 15px; line-height: 1.8;
}
.woocommerce div.nm-product-tabs-wrapper .woocommerce-Tabs-panel *,
.nm-product-tabs-wrapper .woocommerce-Tabs-panel p,
.nm-product-tabs-wrapper .woocommerce-Tabs-panel li,
.nm-product-tabs-wrapper .woocommerce-Tabs-panel span,
.nm-product-tabs-wrapper .woocommerce-Tabs-panel strong,
.nm-product-tabs-wrapper .woocommerce-Tabs-panel th,
.nm-product-tabs-wrapper .woocommerce-Tabs-panel td {
	font-family: 'Poppins', sans-serif !important;
	color: #000 !important;
}

/* Buy Now Button */
.ep-buy-now-btn {
	padding: 0 30px;
	height: 48px;
	line-height: 48px;
	font-size: 15px;
	font-weight: 500;
	border-radius: 4px;
	text-transform: uppercase;
	transition: all 0.3s ease;
	background: var(--nm-color-primary);
	color: #fff;
	border: none;
	cursor: pointer;
}
.ep-buy-now-btn:hover {
	opacity: 0.85;
	color: #fff;
}
.woocommerce div.product .woocommerce-tabs .panel strong,
.woocommerce div.product .woocommerce-tabs .panel th {
	color: #000; font-weight: 600;
}

/* WooCommerce My Account Page */
.woocommerce-account .woocommerce-MyAccount-navigation { float: left; width: 25%; }
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none; padding: 0; margin: 0; border: 1px solid var(--nm-border-color); border-radius: 4px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li { border-bottom: 1px solid var(--nm-border-color); }
.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child { border-bottom: none; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block; padding: 15px 20px; color: var(--nm-color-secondary);
	font-weight: 500; font-size: 15px; transition: all 0.3s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	background-color: #f9f9f9; color: var(--nm-color-primary);
}
.woocommerce-account .woocommerce-MyAccount-content { float: right; width: 70%; }
.woocommerce-account .woocommerce-MyAccount-content p { font-size: 15px; line-height: 1.6; color: var(--nm-color-text); }
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 { font-weight: 500; color: var(--nm-color-primary); margin-bottom: 20px; }

/* My Account Forms (Login/Register) */
.woocommerce-account .u-columns.col2-set { display: flex; gap: 40px; justify-content: center; }
.woocommerce-account .u-columns.col2-set .col-1,
.woocommerce-account .u-columns.col2-set .col-2 {
	width: 50%; max-width: 500px; padding: 40px;
	border: 1px solid var(--nm-border-color); border-radius: 4px;
}
.woocommerce-account form.login, .woocommerce-account form.register { border: none; padding: 0; margin: 0; border-radius: 0; }
.woocommerce-account form.login .woocommerce-Input,
.woocommerce-account form.register .woocommerce-Input {
	width: 100%; padding: 12px 15px; border: 1px solid var(--nm-border-color);
	border-radius: 3px; font-size: 15px;
}
.woocommerce-account form.login .button,
.woocommerce-account form.register .button {
	background: var(--nm-color-primary); color: #fff; border: none; padding: 12px 30px;
	border-radius: 3px; font-weight: 500; font-size: 15px; width: 100%; cursor: pointer; transition: background 0.3s;
}
.woocommerce-account form.login .button:hover,
.woocommerce-account form.register .button:hover { background: #444; }

@media (max-width: 767px) {
	.woocommerce-account .woocommerce-MyAccount-navigation { width: 100%; float: none; margin-bottom: 30px; }
	.woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
	.woocommerce-account .u-columns.col2-set { flex-direction: column; gap: 30px; }
	.woocommerce-account .u-columns.col2-set .col-1,
	.woocommerce-account .u-columns.col2-set .col-2 { width: 100%; padding: 25px; }
}

/* Header column widths to prevent menu wrapping */
@media (min-width: 992px) {
	.nm-header-left {
		width: 42% !important;
		max-width: 42% !important;
		flex: 0 0 42% !important;
	}
	.nm-header-logo {
		width: 16% !important;
		max-width: 16% !important;
		flex: 0 0 16% !important;
	}
	.nm-header-right {
		width: 42% !important;
		max-width: 42% !important;
		flex: 0 0 42% !important;
	}
	.nm-menu li {
		white-space: nowrap !important;
	}
	.nm-menu li a {
		white-space: nowrap !important;
	}
}

/* Hide Loyalty Launcher Widget */
#wll-site-launcher, 
.wll-site-launcher, 
#wlr-site-launcher, 
.wlr-site-launcher { 
	display: none !important; 
}

/* Elegant Print Custom Elementor Grid Styling */
.elementor-widget-woocommerce-products ul.products li.product {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    transition: all 0.3s ease;
    border: 1px solid rgba(0,0,0,0.04);
    overflow: hidden;
    padding: 0 !important;
    position: relative;
}

.elementor-widget-woocommerce-products ul.products li.product:hover {
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    transform: translateY(-5px);
}

.elementor-widget-woocommerce-products ul.products li.product .woocommerce-loop-product__link {
    display: block;
    overflow: hidden;
}

/* Image container */
.elementor-widget-woocommerce-products ul.products li.product img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 12px 12px 0 0;
    margin: 0 !important;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.elementor-widget-woocommerce-products ul.products li.product:hover img {
    transform: scale(1.08);
}

/* Text Container */
.elementor-widget-woocommerce-products ul.products li.product .woocommerce-loop-product__title {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--nm-color-primary, #222) !important;
    margin: 20px 15px 5px !important;
    line-height: 1.4 !important;
    text-align: center;
}

.elementor-widget-woocommerce-products ul.products li.product .price {
    font-size: 14px !important;
    color: #666 !important;
    font-weight: 500 !important;
    margin: 0 15px 20px !important;
    display: block;
    text-align: center;
}

/* Add to cart button */
.elementor-widget-woocommerce-products ul.products li.product .button {
    display: block;
    text-align: center;
    background: var(--nm-color-primary, #222) !important;
    color: #fff !important;
    padding: 10px 15px !important;
    border-radius: 25px !important;
    margin: 0 20px 20px !important;
    font-weight: 500;
    font-size: 13px !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease !important;
    opacity: 0;
    transform: translateY(15px);
    position: absolute;
    bottom: -10px;
    left: 0;
    right: 0;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.elementor-widget-woocommerce-products ul.products li.product:hover .button {
    opacity: 1;
    transform: translateY(-20px);
}

.elementor-widget-woocommerce-products ul.products li.product .button:hover {
    background: #000 !important;
    transform: translateY(-22px);
    box-shadow: 0 6px 15px rgba(0,0,0,0.15);
}

/* Dark mode support */
body.nm-mode-dark .elementor-widget-woocommerce-products ul.products li.product {
    background: #1a1a1a;
    border-color: rgba(255,255,255,0.05);
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}
body.nm-mode-dark .elementor-widget-woocommerce-products ul.products li.product .woocommerce-loop-product__title {
    color: #fff !important;
}
body.nm-mode-dark .elementor-widget-woocommerce-products ul.products li.product .price {
    color: #aaa !important;
}
body.nm-mode-dark .elementor-widget-woocommerce-products ul.products li.product .button {
    background: #fff !important;
    color: #000 !important;
}
body.nm-mode-dark .elementor-widget-woocommerce-products ul.products li.product .button:hover {
    background: #ddd !important;
}

/* Force Flex Layout for WooCommerce My Account */
body.woocommerce-account .woocommerce {
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
    margin: 40px auto !important;
    max-width: 1200px !important;
    padding: 0 15px !important;
    align-items: stretch !important;
}

/* Hide duplicated Woolentor menus injected outside or inside */
body.woocommerce-account .woocommerce > p:not(.woocommerce-message) {
    display: none !important;
}

/* Style the Woolentor and Standard Navigation */
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account nav[aria-label="Account pages"] {
    flex: none !important;
    width: 100% !important;
    float: none !important;
    display: block !important;
    margin: 0 !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul,
body.woocommerce-account nav[aria-label="Account pages"] ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li,
body.woocommerce-account nav[aria-label="Account pages"] ul li {
    border-bottom: none !important;
    border-right: 1px solid rgba(0,0,0,0.04) !important;
    flex: 1 1 auto;
    text-align: center;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child,
body.woocommerce-account nav[aria-label="Account pages"] ul li:last-child {
    border-right: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a,
body.woocommerce-account nav[aria-label="Account pages"] ul li a {
    display: block !important;
    padding: 15px 20px !important;
    color: var(--nm-color-text, #555) !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
body.woocommerce-account nav[aria-label="Account pages"] ul li.is-active a,
body.woocommerce-account nav[aria-label="Account pages"] ul li a:hover {
    background: var(--nm-color-primary, #222) !important;
    color: #fff !important;
}

/* Style the standard WooCommerce Content */
body.woocommerce-account .woocommerce-MyAccount-content {
    flex: none !important;
    width: 100% !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important;
    padding: 30px !important;
    box-sizing: border-box !important;
    float: none !important;
    margin: 0 !important;
}

/* Hide Woolentor Dashboard text bleeding into other tabs */
body.woocommerce-edit-address .woocommerce-MyAccount-content > p:last-of-type,
body.woocommerce-edit-address .woocommerce-MyAccount-content > h5 {
    display: none !important;
}

@media (max-width: 768px) {
    body.woocommerce-account .woocommerce {
        max-width: 100vw !important;
        overflow-x: hidden !important;
        padding: 0 10px !important;
        box-sizing: border-box !important;
    }
    body.woocommerce-account .woocommerce-MyAccount-navigation,
    body.woocommerce-account nav[aria-label="Account pages"] {
        width: 100% !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
    }
    body.woocommerce-account .woocommerce-MyAccount-navigation ul,
    body.woocommerce-account nav[aria-label="Account pages"] ul {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        justify-content: flex-start !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    body.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar,
    body.woocommerce-account nav[aria-label="Account pages"] ul::-webkit-scrollbar {
        display: none;
    }
    body.woocommerce-account .woocommerce-MyAccount-navigation ul li,
    body.woocommerce-account nav[aria-label="Account pages"] ul li {
        flex: 0 0 auto !important;
        border-right: 1px solid rgba(0,0,0,0.04) !important;
        border-bottom: none !important;
    }
    body.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child,
    body.woocommerce-account nav[aria-label="Account pages"] ul li:last-child {
        border-right: none !important;
    }
}
body.nm-mode-dark .woocommerce-account .woocommerce-MyAccount-navigation ul,
body.nm-mode-dark .woocommerce-account nav[aria-label="Account pages"] ul,
body.nm-mode-dark .woocommerce-account .woocommerce-MyAccount-content {
    background: #1a1a1a !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important;
}
