@font-face {
	font-weight: normal;
	font-style: normal;
	font-family: "woodmart-font";
	src: url("//nikotino.se/wp-content/themes/woodmart/fonts/woodmart-font-2-400.woff2?v=8.3.9") format("woff2");
}

@font-face {
	font-family: "star";
	font-weight: 400;
	font-style: normal;
	src: url("//nikotino.se/wp-content/plugins/woocommerce/assets/fonts/star.eot?#iefix") format("embedded-opentype"), url("//nikotino.se/wp-content/plugins/woocommerce/assets/fonts/star.woff") format("woff"), url("//nikotino.se/wp-content/plugins/woocommerce/assets/fonts/star.ttf") format("truetype"), url("//nikotino.se/wp-content/plugins/woocommerce/assets/fonts/star.svg#star") format("svg");
}

@font-face {
	font-family: "WooCommerce";
	font-weight: 400;
	font-style: normal;
	src: url("//nikotino.se/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.eot?#iefix") format("embedded-opentype"), url("//nikotino.se/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.woff") format("woff"), url("//nikotino.se/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.ttf") format("truetype"), url("//nikotino.se/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.svg#WooCommerce") format("svg");
}

:root {
	--wd-header-banner-h: 40px;
	--wd-cat-brd-radius: 50%;
	--wd-text-font: "Outfit", Arial, Helvetica, sans-serif;
	--wd-text-font-weight: 400;
	--wd-text-color: #767676;
	--wd-text-font-size: 15px;
	--wd-title-font: "Outfit", Arial, Helvetica, sans-serif;
	--wd-title-font-weight: 700;
	--wd-title-color: #242424;
	--wd-entities-title-font: "Outfit", Arial, Helvetica, sans-serif;
	--wd-entities-title-font-weight: 700;
	--wd-entities-title-color: #333333;
	--wd-entities-title-color-hover: rgb(51 51 51 / 65%);
	--wd-alternative-font: "Outfit", Arial, Helvetica, sans-serif;
	--wd-widget-title-font: "Outfit", Arial, Helvetica, sans-serif;
	--wd-widget-title-font-weight: 700;
	--wd-widget-title-transform: capitalize;
	--wd-widget-title-color: #333;
	--wd-widget-title-font-size: 16px;
	--wd-header-el-font: "Outfit", Arial, Helvetica, sans-serif;
	--wd-header-el-font-weight: 600;
	--wd-header-el-transform: capitalize;
	--wd-header-el-font-size: 14px;
	--wd-brd-radius: 10px;
	--wd-otl-style: dotted;
	--wd-otl-width: 2px;
	--wd-primary-color: rgb(39,39,39);
	--wd-alternative-color: rgb(247,247,247);
	--btn-default-transform: none;
	--btn-default-bgcolor: #f7f7f7;
	--btn-default-bgcolor-hover: #efefef;
	--btn-accented-transform: none;
	--btn-accented-bgcolor: rgb(39,39,39);
	--btn-accented-bgcolor-hover: rgb(86,86,86);
	--btn-transform: none;
	--wd-form-brd-width: 1px;
	--notices-success-bg: #459647;
	--notices-success-color: #fff;
	--notices-warning-bg: #E0B252;
	--notices-warning-color: #fff;
	--wd-link-color: #333333;
	--wd-link-color-hover: #242424;
}
.wd-age-verify-wrap {
	--wd-popup-width: 500px;
}
.wd-popup.wd-promo-popup {
	background-color: rgb(245,154,87);
	background-image: none;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left center;
}
.wd-promo-popup-wrap {
	--wd-popup-width: 480px;
}
.header-banner {
	background-color: rgb(39,39,39);
	background-image: none;
}
:is(.woodmart-woocommerce-layered-nav, .wd-product-category-filter) .wd-scroll-content {
	max-height: 223px;
}
.wd-page-title .wd-page-title-bg img {
	object-fit: cover;
	object-position: center top;
}
.wd-footer {
	background-color: rgb(39,39,39);
	background-image: none;
}
html .wd-nav-mobile > li > a {
	font-family: "Outfit", Arial, Helvetica, sans-serif;
	text-transform: capitalize;
}
.whb-top-bar .wd-nav.wd-nav-secondary > li > a {
	font-family: "Outfit", Arial, Helvetica, sans-serif;
	font-weight: 400;
	font-size: 13px;
	text-transform: inherit;
}
 {
	font-family: "Outfit", Arial, Helvetica, sans-serif;
	font-weight: 600;
}
html .post.wd-post:not(.blog-design-small) .wd-entities-title {
	font-family: "Outfit", Arial, Helvetica, sans-serif;
	font-size: 18px;
}
.page .wd-page-content {
	background-color: rgb(255,255,255);
	background-image: none;
	background-repeat: repeat;
}
.woodmart-archive-shop:not(.single-product) .wd-page-content {
	background-color: rgb(255,255,255);
	background-image: none;
	background-repeat: repeat;
}
.single-product .wd-page-content {
	background-color: rgb(255,255,255);
	background-image: none;
}
.woodmart-archive-blog .wd-page-content {
	background-image: none;
	background-repeat: repeat;
}
.single-post .wd-page-content {
	background-image: none;
	background-repeat: repeat;
}
html .wd-buy-now-btn {
	color: rgb(39,39,39);
	background: rgb(248,248,248);
}
html .wd-buy-now-btn:hover {
	color: rgb(39,39,39);
	background: rgb(224,224,224);
}
body, [class*=color-scheme-light], [class*=color-scheme-dark], .wd-search-form[class*="wd-header-search-form"] form.searchform, .wd-el-search .searchform {
	--wd-form-color: rgb(119,119,119);
	--wd-form-placeholder-color: rgb(119,119,119)7;
	--wd-form-bg: rgb(255,255,255);
}
.mfp-wrap.wd-popup-quick-view-wrap {
	--wd-popup-width: 920px;
}
.woocommerce-product-gallery {
	--wd-gallery-gap: 20px;
}

@media (max-width: 1024px) {
	:root {
		--wd-header-banner-h: 40px;
	}
	.woocommerce-product-gallery {
		--wd-gallery-gap: 20px;
	}

}

@media (max-width: 768.98px) {
	.woocommerce-product-gallery {
		--wd-gallery-gap: 10px;
	}

}
:root{
--wd-container-w: 1600px;
--wd-form-brd-radius: 5px;
--btn-default-color: #333;
--btn-default-color-hover: #333;
--btn-accented-color: #fff;
--btn-accented-color-hover: #fff;
--btn-default-brd-radius: 5px;
--btn-default-box-shadow: none;
--btn-default-box-shadow-hover: none;
--btn-accented-brd-radius: 5px;
--btn-accented-box-shadow: none;
--btn-accented-box-shadow-hover: none;
}

@media (min-width: 1600px) {
[data-vc-full-width]:not([data-vc-stretch-content]),
:is(.vc_section, .vc_row).wd-section-stretch {
padding-left: calc((100vw - 1600px - var(--wd-sticky-nav-w) - var(--wd-scroll-w)) / 2);
padding-right: calc((100vw - 1600px - var(--wd-sticky-nav-w) - var(--wd-scroll-w)) / 2);
}
}


.wd-page-title {
background-color: rgb(39,39,39);
}

@font-face {
	font-family: "Nikotino";
	src: url("//nikotino.se/wp-content/uploads/2026/01/Chopper.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
}



.wd-custom-rounding {
	border-radius: 200px !important;
}



.wd-page-title .title {	font-size: var(--wd-title-font-s);	line-height: 1.2;	margin-bottom: 0;	text-transform: uppercase;}
.page-title,
header.page-title,.wd-footer {
background-color: #272727;background-image: url("data:image/svg+xml,%3Csvg width='6' height='6' viewBox='0 0 6 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000000' fill-opacity='0.4' fill-rule='evenodd'%3E%3Cpath d='M5 0h1L0 6V5zM6 5v1H5z'/%3E%3C/g%3E%3C/svg%3E");
}
.products-bordered-grid-ins :is(.wd-cat-wrap, .product-wrapper) {	border: 1px solid var(--wd-bordered-brd, rgba(0, 0, 0, 0.01))!important;}

/* Product badges */
.nv-product-badges {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin: 16px 0 20px;
}

.nv-badge {
	background: #f8f8f8;
	padding: 12px 16px;
	border-radius: 8px;
	display: flex;
align-items: center;
}

.nv-badge-flex {
display: flex;
align-items: center;
gap: 8px;
}

.nv-badge-icon {
	width: 22px;
	height: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 22px;
}

.nv-badge-icon img {
	width: 100%;
	height: 100%;
	display: block;
}

.nv-badge-info {
display: flex;
flex-direction: column;
justify-content: center;
height: 100%;
}

.nv-badge-label p {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	color: #272727;
	line-height: 1.1;
}

.nv-badge-value p {
	margin: 0;
	font-size: 12px;
	font-weight: 500;
	color: #767676;
	line-height: 1.2;
}

@media (max-width:1024px) {
	.nv-product-badges {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Packages (single product) */
.nv-packages {
	margin: -8px 0 24px;
}

.nv-packages-title {
	font-weight: 600;
	margin-bottom: 10px;
	font-size: 14px;
	color: #272727;
}

.nv-packages-selection {
	font-weight: 500;
	color: #767676;
}

.nv-packages-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	margin-top: 10px;
}

.nv-pack-option {
	width: 100%;
	text-align: center;
	background: #f8f8f8;
	border: 0;
	border-radius: 10px;
	padding: 16px;
	cursor: pointer;
}

.nv-pack-option-text,
.nv-pack-option-text * {
	color: #272727;
	font-weight: 600;
}

.nv-pack-option.is-active {
	background: #272727;
}

.nv-pack-option.is-active .nv-pack-option-text,
.nv-pack-option.is-active .nv-pack-option-text * {
	color: #ffffff;
}

.nv-pack-bracket {
	font-weight: 500;
	opacity: 0.85;
}

.nv-pack-option-muted {
	color: #767676;
	font-size: 12px;
}

/* Cart form buttons layout (desktop) */
form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}
.products-bordered-grid-ins :is(.wd-cat-wrap, .product-wrapper) {	border: 1px solid #f7f7f7 !important;}
form.cart .quantity {
	flex: 0 0 auto;
}

form.cart .single_add_to_cart_button,
form.cart .wd-buy-now-btn {
	width: auto !important;
	flex: 1 1 0 !important;
	margin: 0 !important;
	max-width: none !important;
}

/* Payment logos */
.payment-logos {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 12px;
	width: 100%;
	align-items: center;
	margin-top: 10px;
}

.payment-logos img {
	width: 100%;
	height: auto;
	object-fit: contain;
	display: block;
	border-radius: 10px;
}

@media (max-width:767px) {
	.payment-logos {
		gap: 8px;
		margin-top: 30px;
		margin-bottom: 20px;
	}
  .cf7-row{
    flex-direction:column;
    gap:10px;
  }
	form.cart {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 10px !important;
		align-items: center !important;
	}

	form.cart .quantity {
		flex: 0 0 auto !important;
		width: auto !important;
		margin: 0 !important;
	}

	form.cart .single_add_to_cart_button {
		flex: 1 1 auto !important;
		width: auto !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	form.cart .wd-buy-now-btn {
		flex: 0 0 100% !important;
		width: 100% !important;
		margin: 0 !important;
		margin-top: 8px !important;
	}
}

.vc_custom_1767997831386 {
	margin-top: -20px !important;
	margin-bottom: 2px;
}

.wpb_button,
.wpb_content_element,
ul.wpb_thumbnails-fluid>li {
	margin-bottom: 24px;
}

/* Loop pack selector (product cards) */
.nv-loop-packs {
	display: flex;
	gap: 8px;
	width: 100%;
	margin: 10px 0 12px;
}
.contact-us-form{
	margin-left : 2px;
	margin-right : 2px;
}
.nv-loop-pack {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	padding: 10px 10px;
	background: #f8f8f8;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
}

.nv-loop-pack-title {
	font-weight: 700;
	color: #272727;
	line-height: 1.1;
	font-size: 12px;
	text-transform: uppercase;
	white-space: nowrap;
}

.nv-loop-pack-price {
	margin: 0;
	color: #767676;
	font-weight: 600;
	font-size: 12px;
	line-height: 1.1;
	white-space: nowrap;
}

.nv-loop-pack.is-active {
	background: #272727;
}

.nv-loop-pack.is-active .nv-loop-pack-title,
.nv-loop-pack.is-active .nv-loop-pack-price,
.nv-loop-pack.is-active .nv-loop-pack-price * {
	color: #ffffff;
}

/* Optional: stack only on very small screens */
@media (max-width:480px) {
	.nv-loop-packs {
		flex-direction: column;
	}
	.wd-product-cats{
		display:none!important;
	}
	.nv-loop-pack {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		padding: 12px 14px;
	}
	.company-info{
		display : none!important;
	}
	.nv-loop-pack-title {
		font-size: 13px;
	}

	.nv-loop-pack-price {
		font-size: 13px;
	}
}
.product-grid-item .nv-loop-packs,
.wd-product .nv-loop-packs {
  pointer-events: auto;
}
/* CF7 layout */
.cf7-row{
  display:flex;
  gap:12px;
  margin-bottom:-10px;
}

.cf7-col{
  flex:1;
  min-width:0;
}

/* Labels spacing */
.wpcf7 form label{
  display:block;
  font-weight:600;
  line-height:1.2;
}

.cf7-required{
  color:#dc2626;
  font-weight:700;
}

/* Inputs styling */
.wpcf7 form input[type="text"],
.wpcf7 form input[type="email"],
.wpcf7 form input[type="tel"],
.wpcf7 form select,
.wpcf7 form textarea{
  width:100%;
  border:none !important;
  box-shadow:none !important;
  outline:none;
  background:#fff;
  border-radius:10px;
  padding:12px 12px;
  margin:0;
	margin-top:8px;
}

.wpcf7 form textarea{
  min-height:140px;
  resize:vertical;
}



/* Better focus without borders */
.wpcf7 form input:focus,
.wpcf7 form select:focus,
.wpcf7 form textarea:focus{
  border:2px solid #272727!important
}

/* Submit button spacing */
.wpcf7 form .wpcf7-submit{
  margin-top:10px;
}

.promo-banner{
  border-radius:none!important;
}

.silver-section .nv-loop-pack:not(.is-active){
	background:#fff!important;
}
@media (min-width: 1025px) {
	/* Container Base Styles */
.nm-container,
.nm-container *,
.nm-container *::before,
.nm-container *::after {
	box-sizing: border-box !important;
}

.nm-container {
	min-width: full !important;
	margin: 0 auto;
	background: #fff;
	border-radius: 8px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
	line-height: 1.4 !important;
	color: #333 !important;
	overflow: visible !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

/* Typography Reset */
.nm-container p,
.nm-container span,
.nm-container div,
.nm-container label,
.nm-container button {
	font-family: inherit !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	font-weight: inherit !important;
}

/* List Reset */
.nm-container ul,
.nm-container ol {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.nm-container li {
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
}

/* Input Styles */
.nm-container input[type="text"],
.nm-container input[type="search"] {
	-webkit-appearance: none !important;
	appearance: none !important;
	background: #fff !important;
	border: 1px solid #ddd !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	outline: none !important;
	box-shadow: none !important;
	padding: 12px 20px !important;
	width: 100% !important;
	height: auto !important;
	line-height: normal !important;
	color: #333 !important;
	font-family: inherit !important;
	margin: 0 !important;
}

.nm-container input[type="text"]:focus,
.nm-container input[type="search"]:focus {
	border-color: #272727 !important;
	box-shadow: none !important;
	outline: none !important;
}

/* Button Styles */
.nm-container .nm-reset-btn {
	background: #f7f7f7 !important;
	color: #272727 !important;
	border-radius: 8px !important;
	height: 42px !important;
	padding: 0 16px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	border: 0 !important;
	transition: background 0.2s ease !important;
}

.nm-container .nm-reset-btn:hover {
	background: #efefef !important;
}

.nm-container .nm-add-to-cart-btn {
	background: #272727 !important;
	color: #fff !important;
	border-radius: 8px !important;
	height: 42px !important;
	padding: 0 18px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	border: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	transition: background 0.2s ease !important;
}

.nm-container .nm-add-to-cart-btn:hover:not(:disabled) {
	background: #3d3d3d !important;
}

.nm-container .nm-add-to-cart-btn:disabled {
	background: #ccc !important;
	cursor: not-allowed !important;
}

.nm-container .nm-add-prefix {
	font-size: 16px !important;
	font-weight: 700 !important;
}

/* Image Styles */
.nm-container img {
	max-width: 100% !important;
	height: auto !important;
	display: block !important;
	border: none !important;
	box-shadow: none !important;
}

.nm-container .nm-product-slot img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

/* Headings */
.nm-h1 {
	font-size: 32px !important;
	font-weight: 600 !important;
	margin-bottom: 10px !important;
	color: #333 !important;
	font-family: inherit !important;
	line-height: 1.2 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

.nm-subtitle {
	font-size: 16px !important;
	color: #666 !important;
	margin-bottom: 30px !important;
	line-height: 1.5 !important;
	font-weight: 400 !important;
}

/* Search Bar */
.nm-search-bar {
	margin: 20px 0 10px !important;
	position: relative !important;
	overflow: visible !important;
}

.nm-input-wrap {
	position: relative !important;
	max-width: 400px !important;
	overflow: visible !important;
}

#nm-search-input {
	padding-right: 44px !important;
}

/* Grid Label */
.nm-grid-label {
	font-size: 14px !important;
	color: #666 !important;
	margin-bottom: 15px !important;
	display: flex !important;
	gap: 10px !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
}

.nm-count {
	color: #666 !important;
	font-weight: 400 !important;
}

/* Product Grid */
.nm-container .nm-product-grid {
	display: grid !important;
	grid-template-columns: repeat(5, 1fr) !important;
	gap: 15px !important;
	margin-bottom: 30px !important;
}

.nm-product-slot {
	aspect-ratio: 1 !important;
	border: 2px dashed #ddd !important;
	border-radius: 8px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 14px !important;
	color: #999 !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	background: #fafafa !important;
	position: relative !important;
	overflow: hidden !important;
	padding: 0 !important;
	margin: 0 !important;
}

.nm-product-slot:hover {
	border-color: #272727 !important;
	background: #f9f9f9 !important;
}

.nm-product-slot.filled {
	border: 2px solid #272727 !important;
	background: #f0f8ff !important;
	color: #272727 !important;
	font-weight: 500 !important;
}

.nm-remove-btn {
	position: absolute !important;
	top: 5px !important;
	right: 5px !important;
	width: 40px !important;
	height: 20px !important;
	background: #ff3b30 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 50% !important;
	cursor: pointer !important;
	font-size: 12px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	opacity: 0 !important;
	transition: opacity 0.2s ease !important;
	padding: 0 !important;
	line-height: 1 !important;
}

.nm-product-slot.filled:hover .nm-remove-btn {
	opacity: 1 !important;
}

/* Controls */
.nm-controls {
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 16px !important;
	flex-wrap: wrap !important;
	margin-bottom: 30px !important;
}

.nm-quantity-control {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
}

.nm-quantity-control label {
	font-size: 14px !important;
	color: #666 !important;
	font-weight: 400 !important;
}

.nm-actions-right {
	display: flex !important;
	gap: 12px !important;
	align-items: center !important;
	margin-left: auto !important;
}

/* Quantity Controls */
.nm-qty-group {
	display: flex !important;
	align-items: center !important;
	gap: 0 !important;
	border: 1px solid #ddd !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	height: 42px !important;
	background: #fff !important;
}

.nm-qty-btn {
	width: 46px !important;
	height: 42px !important;
	border: 0 !important;
	background: #fff !important;
	cursor: pointer !important;
	font-size: 18px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	line-height: 1 !important;
}

.nm-qty-btn:active {
	background: #f5f5f5 !important;
}

.nm-qty-value {
	min-width: 52px !important;
	height: 42px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-weight: 600 !important;
	border-left: 1px solid #ddd !important;
	border-right: 1px solid #ddd !important;
}

/* Error Message */
.nm-error {
	margin-top: 10px !important;
	color: #b91c1c !important;
	font-size: 14px !important;
	padding: 0 !important;
	background: none !important;
}

/* Dropdown */
.nm-dropdown {
	position: absolute !important;
	top: 100% !important;
	left: 0 !important;
	width: 100% !important;
	max-width: 400px !important;
	margin-top: 8px !important;
	background: #fff !important;
	border: 1px solid #ddd !important;
	border-radius: 12px !important;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1) !important;
	padding: 6px !important;
	z-index: 999999 !important;
	text-align: left !important;
}

.nm-dd-item {
	width: 100% !important;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 10px 12px !important;
	border: 0 !important;
	background: transparent !important;
	border-radius: 10px !important;
	cursor: pointer !important;
	text-align: left !important;
	transition: background 0.2s ease !important;
	justify-content: flex-start !important;
}

.nm-dd-item:hover {
	background: #f5f5f5 !important;
}

.nm-dd-item img {
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	border-radius: 8px !important;
	object-fit: cover !important;
	flex: 0 0 34px !important;
	margin: 0 !important;
}

.nm-dd-item span {
	display: block !important;
	font-size: 14px !important;
	color: #333 !important;
	line-height: 1.2 !important;
	text-align: left !important;
	flex: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.nm-dd-hint,
.nm-dd-empty {
	padding: 10px 12px !important;
	color: #666 !important;
	font-size: 13px !important;
	text-align: left !important;
}

/* Loader Animation */
.nm-loader {
	position: absolute !important;
	right: 14px !important;
	top: 50% !important;
	width: 16px !important;
	height: 16px !important;
	margin-top: -8px !important;
	border: 2px solid rgba(0, 0, 0, 0.15) !important;
	border-top-color: #272727 !important;
	border-radius: 50% !important;
	animation: nmSpin 0.8s linear infinite !important;
}

@keyframes nmSpin {
	to {
		transform: rotate(360deg);
	}
}

/* Modal */
.nm-modal[hidden] {
	display: none !important;
}

.nm-modal {
	position: fixed !important;
	inset: 0 !important;
	z-index: 1000000 !important;
}

.nm-modal-backdrop {
	position: absolute !important;
	inset: 0 !important;
	background: rgba(0, 0, 0, 0.45) !important;
}

.nm-modal-panel {
	position: relative !important;
	width: min(1100px, calc(100% - 24px)) !important;
	margin: 40px auto !important;
	background: #fff !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25) !important;
	display: flex !important;
	flex-direction: column !important;
	max-height: calc(100vh - 80px) !important;
}

.nm-modal-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 14px 16px !important;
	border-bottom: 1px solid #eee !important;
}

.nm-modal-title {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #333 !important;
}

.nm-modal-close {
	width: 36px !important;
	height: 36px !important;
	border-radius: 8px !important;
	border: 0 !important;
	background: #272727 !important;
	color: #fff !important;
	cursor: pointer !important;
	font-size: 20px !important;
	line-height: 1 !important;
	padding: 0 !important;
	transition: background 0.2s ease !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.nm-modal-close:hover {
	background: #3d3d3d !important;
}

.nm-modal-search {
	padding: 14px 16px !important;
	border-bottom: 1px solid #eee !important;
}

.nm-modal-input-wrap {
	position: relative !important;
	max-width: 520px !important;
}

#nmModalSearch {
	width: 100% !important;
	height: 44px !important;
	padding: 0 44px 0 16px !important;
	border: 1px solid #ddd !important;
	border-radius: 12px !important;
	outline: none !important;
}

#nmModalSearch:focus {
	border-color: #272727 !important;
}

.nm-modal-grid {
	padding: 16px !important;
	overflow: auto !important;
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	gap: 12px !important;
	text-align: center !important;
}

.nm-card-product {
	border: 1px solid #eee !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	background: #fff !important;
	cursor: pointer !important;
	transition: transform 0.12s ease, box-shadow 0.12s ease !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
}

.nm-card-product:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 10px 26px rgba(0, 0, 0, 0.08) !important;
}

.nm-card-thumb {
	width: 100% !important;
	aspect-ratio: 1 !important;
	background: #f5f5f5 !important;
	overflow: hidden !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.nm-card-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	margin: 0 auto !important;
}

.nm-card-name {
	padding: 10px 10px 12px !important;
	font-size: 13px !important;
	color: #333 !important;
	line-height: 1.3 !important;
	min-height: 44px !important;
	width: 100% !important;
	text-align: center !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.nm-modal-foot {
	padding: 12px 16px !important;
	border-top: 1px solid #eee !important;
	display: flex !important;
	justify-content: flex-end !important;
}

.nm-modal-refresh {
	height: 40px !important;
	padding: 0 14px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: #272727 !important;
	color: #fff !important;
	cursor: pointer !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	transition: background 0.2s ease !important;
}

/* Skeleton Loaders */
.nm-skel-grid {
	display: contents !important;
}

.nm-skel-card {
	border: 1px solid #eee !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	background: #fff !important;
}

.nm-skel-thumb {
	width: 100% !important;
	aspect-ratio: 1 !important;
	background: #f2f2f2 !important;
	position: relative !important;
	overflow: hidden !important;
}

.nm-skel-line {
	height: 12px !important;
	margin: 10px 10px 12px !important;
	border-radius: 8px !important;
	background: #f2f2f2 !important;
	position: relative !important;
	overflow: hidden !important;
}

.nm-skel-thumb::after,
.nm-skel-line::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	transform: translateX(-60%) !important;
	background: linear-gradient(90deg,
			rgba(242, 242, 242, 0) 0%,
			rgba(220, 220, 220, 0.65) 50%,
			rgba(242, 242, 242, 0) 100%) !important;
	animation: nmShimmer 1.1s infinite !important;
}

@keyframes nmShimmer {
	to {
		transform: translateX(60%);
	}
}

.nm-dd-skel {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 10px 12px !important;
}

.nm-dd-skel-img {
	width: 34px !important;
	height: 34px !important;
	border-radius: 8px !important;
	background: #e5e5e5 !important;
	flex: 0 0 34px !important;
}

.nm-dd-skel-line {
	height: 12px !important;
	width: 70% !important;
	border-radius: 6px !important;
	background: #e5e5e5 !important;
}

/* Cart Styles */
.nm-cart-title {
	margin: 10px 0 6px !important;
	font-weight: 600 !important;
	color: #333 !important;
	font-size: 14px !important;
}

.nm-cart-ul {
	margin: 8px 0 0 !important;
	padding-left: 18px !important;
	list-style: disc !important;
}

.nm-cart-ul li {
	margin: 0 0 4px !important;
	list-style: disc !important;
	color: #666 !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
}

.nm-cart-pre {
	display: block !important;
	margin-top: 6px !important;
	color: #666 !important;
	font-size: 14px !important;
}

/* Responsive Design */
@media (max-width: 1100px) {
	.nm-modal-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 820px) {
	.nm-modal-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 768px) {
	.nm-product-grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}

	.nm-container {
		padding: 20px !important;
	}

	.nm-controls {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.nm-actions-right {
		width: 100% !important;
		margin-left: 0 !important;
	}
}



}

@media (min-width: 768px) and (max-width: 1024px) {
	/* Container Base Styles */
.nm-container,
.nm-container *,
.nm-container *::before,
.nm-container *::after {
	box-sizing: border-box !important;
}

.nm-container {
	min-width: full !important;
	margin: 0 auto;
	background: #fff;
	border-radius: 8px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
	line-height: 1.4 !important;
	color: #333 !important;
	overflow: visible !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

/* Typography Reset */
.nm-container p,
.nm-container span,
.nm-container div,
.nm-container label,
.nm-container button {
	font-family: inherit !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	font-weight: inherit !important;
}

/* List Reset */
.nm-container ul,
.nm-container ol {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.nm-container li {
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
}

/* Input Styles */
.nm-container input[type="text"],
.nm-container input[type="search"] {
	-webkit-appearance: none !important;
	appearance: none !important;
	background: #fff !important;
	border: 1px solid #ddd !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	outline: none !important;
	box-shadow: none !important;
	padding: 12px 20px !important;
	width: 100% !important;
	height: auto !important;
	line-height: normal !important;
	color: #333 !important;
	font-family: inherit !important;
	margin: 0 !important;
}

.nm-container input[type="text"]:focus,
.nm-container input[type="search"]:focus {
	border-color: #272727 !important;
	box-shadow: none !important;
	outline: none !important;
}

/* Button Styles */
.nm-container .nm-reset-btn {
	background: #f7f7f7 !important;
	color: #272727 !important;
	border-radius: 8px !important;
	height: 42px !important;
	padding: 0 16px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	border: 0 !important;
	transition: background 0.2s ease !important;
}

.nm-container .nm-reset-btn:hover {
	background: #efefef !important;
}

.nm-container .nm-add-to-cart-btn {
	background: #272727 !important;
	color: #fff !important;
	border-radius: 8px !important;
	height: 42px !important;
	padding: 0 18px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	border: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	transition: background 0.2s ease !important;
}

.nm-container .nm-add-to-cart-btn:hover:not(:disabled) {
	background: #3d3d3d !important;
}

.nm-container .nm-add-to-cart-btn:disabled {
	background: #ccc !important;
	cursor: not-allowed !important;
}

.nm-container .nm-add-prefix {
	font-size: 16px !important;
	font-weight: 700 !important;
}

/* Image Styles */
.nm-container img {
	max-width: 100% !important;
	height: auto !important;
	display: block !important;
	border: none !important;
	box-shadow: none !important;
}

.nm-container .nm-product-slot img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

/* Headings */
.nm-h1 {
	font-size: 32px !important;
	font-weight: 600 !important;
	margin-bottom: 10px !important;
	color: #333 !important;
	font-family: inherit !important;
	line-height: 1.2 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

.nm-subtitle {
	font-size: 16px !important;
	color: #666 !important;
	margin-bottom: 30px !important;
	line-height: 1.5 !important;
	font-weight: 400 !important;
}

/* Search Bar */
.nm-search-bar {
	margin: 20px 0 10px !important;
	position: relative !important;
	overflow: visible !important;
}

.nm-input-wrap {
	position: relative !important;
	max-width: 400px !important;
	overflow: visible !important;
}

#nm-search-input {
	padding-right: 44px !important;
}

/* Grid Label */
.nm-grid-label {
	font-size: 14px !important;
	color: #666 !important;
	margin-bottom: 15px !important;
	display: flex !important;
	gap: 10px !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
}

.nm-count {
	color: #666 !important;
	font-weight: 400 !important;
}

/* Product Grid */
.nm-container .nm-product-grid {
	display: grid !important;
	grid-template-columns: repeat(5, 1fr) !important;
	gap: 15px !important;
	margin-bottom: 30px !important;
}

.nm-product-slot {
	aspect-ratio: 1 !important;
	border: 2px dashed #ddd !important;
	border-radius: 8px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 14px !important;
	color: #999 !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	background: #fafafa !important;
	position: relative !important;
	overflow: hidden !important;
	padding: 0 !important;
	margin: 0 !important;
}

.nm-product-slot:hover {
	border-color: #272727 !important;
	background: #f9f9f9 !important;
}

.nm-product-slot.filled {
	border: 2px solid #272727 !important;
	background: #f0f8ff !important;
	color: #272727 !important;
	font-weight: 500 !important;
}

.nm-remove-btn {
	position: absolute !important;
	top: 5px !important;
	right: 5px !important;
	width: 40px !important;
	height: 20px !important;
	background: #ff3b30 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 50% !important;
	cursor: pointer !important;
	font-size: 12px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	opacity: 0 !important;
	transition: opacity 0.2s ease !important;
	padding: 0 !important;
	line-height: 1 !important;
}

.nm-product-slot.filled:hover .nm-remove-btn {
	opacity: 1 !important;
}

/* Controls */
.nm-controls {
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 16px !important;
	flex-wrap: wrap !important;
	margin-bottom: 30px !important;
}

.nm-quantity-control {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
}

.nm-quantity-control label {
	font-size: 14px !important;
	color: #666 !important;
	font-weight: 400 !important;
}

.nm-actions-right {
	display: flex !important;
	gap: 12px !important;
	align-items: center !important;
	margin-left: auto !important;
}

/* Quantity Controls */
.nm-qty-group {
	display: flex !important;
	align-items: center !important;
	gap: 0 !important;
	border: 1px solid #ddd !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	height: 42px !important;
	background: #fff !important;
}

.nm-qty-btn {
	width: 46px !important;
	height: 42px !important;
	border: 0 !important;
	background: #fff !important;
	cursor: pointer !important;
	font-size: 18px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	line-height: 1 !important;
}

.nm-qty-btn:active {
	background: #f5f5f5 !important;
}

.nm-qty-value {
	min-width: 52px !important;
	height: 42px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-weight: 600 !important;
	border-left: 1px solid #ddd !important;
	border-right: 1px solid #ddd !important;
}

/* Error Message */
.nm-error {
	margin-top: 10px !important;
	color: #b91c1c !important;
	font-size: 14px !important;
	padding: 0 !important;
	background: none !important;
}

/* Dropdown */
.nm-dropdown {
	position: absolute !important;
	top: 100% !important;
	left: 0 !important;
	width: 100% !important;
	max-width: 400px !important;
	margin-top: 8px !important;
	background: #fff !important;
	border: 1px solid #ddd !important;
	border-radius: 12px !important;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1) !important;
	padding: 6px !important;
	z-index: 999999 !important;
	text-align: left !important;
}

.nm-dd-item {
	width: 100% !important;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 10px 12px !important;
	border: 0 !important;
	background: transparent !important;
	border-radius: 10px !important;
	cursor: pointer !important;
	text-align: left !important;
	transition: background 0.2s ease !important;
	justify-content: flex-start !important;
}

.nm-dd-item:hover {
	background: #f5f5f5 !important;
}

.nm-dd-item img {
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	border-radius: 8px !important;
	object-fit: cover !important;
	flex: 0 0 34px !important;
	margin: 0 !important;
}

.nm-dd-item span {
	display: block !important;
	font-size: 14px !important;
	color: #333 !important;
	line-height: 1.2 !important;
	text-align: left !important;
	flex: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.nm-dd-hint,
.nm-dd-empty {
	padding: 10px 12px !important;
	color: #666 !important;
	font-size: 13px !important;
	text-align: left !important;
}

/* Loader Animation */
.nm-loader {
	position: absolute !important;
	right: 14px !important;
	top: 50% !important;
	width: 16px !important;
	height: 16px !important;
	margin-top: -8px !important;
	border: 2px solid rgba(0, 0, 0, 0.15) !important;
	border-top-color: #272727 !important;
	border-radius: 50% !important;
	animation: nmSpin 0.8s linear infinite !important;
}

@keyframes nmSpin {
	to {
		transform: rotate(360deg);
	}
}

/* Modal */
.nm-modal[hidden] {
	display: none !important;
}

.nm-modal {
	position: fixed !important;
	inset: 0 !important;
	z-index: 1000000 !important;
}

.nm-modal-backdrop {
	position: absolute !important;
	inset: 0 !important;
	background: rgba(0, 0, 0, 0.45) !important;
}

.nm-modal-panel {
	position: relative !important;
	width: min(1100px, calc(100% - 24px)) !important;
	margin: 40px auto !important;
	background: #fff !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25) !important;
	display: flex !important;
	flex-direction: column !important;
	max-height: calc(100vh - 80px) !important;
}

.nm-modal-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 14px 16px !important;
	border-bottom: 1px solid #eee !important;
}

.nm-modal-title {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #333 !important;
}

.nm-modal-close {
	width: 36px !important;
	height: 36px !important;
	border-radius: 8px !important;
	border: 0 !important;
	background: #272727 !important;
	color: #fff !important;
	cursor: pointer !important;
	font-size: 20px !important;
	line-height: 1 !important;
	padding: 0 !important;
	transition: background 0.2s ease !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.nm-modal-close:hover {
	background: #3d3d3d !important;
}

.nm-modal-search {
	padding: 14px 16px !important;
	border-bottom: 1px solid #eee !important;
}

.nm-modal-input-wrap {
	position: relative !important;
	max-width: 520px !important;
}

#nmModalSearch {
	width: 100% !important;
	height: 44px !important;
	padding: 0 44px 0 16px !important;
	border: 1px solid #ddd !important;
	border-radius: 12px !important;
	outline: none !important;
}

#nmModalSearch:focus {
	border-color: #272727 !important;
}

.nm-modal-grid {
	padding: 16px !important;
	overflow: auto !important;
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	gap: 12px !important;
	text-align: center !important;
}

.nm-card-product {
	border: 1px solid #eee !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	background: #fff !important;
	cursor: pointer !important;
	transition: transform 0.12s ease, box-shadow 0.12s ease !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
}

.nm-card-product:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 10px 26px rgba(0, 0, 0, 0.08) !important;
}

.nm-card-thumb {
	width: 100% !important;
	aspect-ratio: 1 !important;
	background: #f5f5f5 !important;
	overflow: hidden !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.nm-card-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	margin: 0 auto !important;
}

.nm-card-name {
	padding: 10px 10px 12px !important;
	font-size: 13px !important;
	color: #333 !important;
	line-height: 1.3 !important;
	min-height: 44px !important;
	width: 100% !important;
	text-align: center !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.nm-modal-foot {
	padding: 12px 16px !important;
	border-top: 1px solid #eee !important;
	display: flex !important;
	justify-content: flex-end !important;
}

.nm-modal-refresh {
	height: 40px !important;
	padding: 0 14px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: #272727 !important;
	color: #fff !important;
	cursor: pointer !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	transition: background 0.2s ease !important;
}

/* Skeleton Loaders */
.nm-skel-grid {
	display: contents !important;
}

.nm-skel-card {
	border: 1px solid #eee !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	background: #fff !important;
}

.nm-skel-thumb {
	width: 100% !important;
	aspect-ratio: 1 !important;
	background: #f2f2f2 !important;
	position: relative !important;
	overflow: hidden !important;
}

.nm-skel-line {
	height: 12px !important;
	margin: 10px 10px 12px !important;
	border-radius: 8px !important;
	background: #f2f2f2 !important;
	position: relative !important;
	overflow: hidden !important;
}

.nm-skel-thumb::after,
.nm-skel-line::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	transform: translateX(-60%) !important;
	background: linear-gradient(90deg,
			rgba(242, 242, 242, 0) 0%,
			rgba(220, 220, 220, 0.65) 50%,
			rgba(242, 242, 242, 0) 100%) !important;
	animation: nmShimmer 1.1s infinite !important;
}

@keyframes nmShimmer {
	to {
		transform: translateX(60%);
	}
}

.nm-dd-skel {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 10px 12px !important;
}

.nm-dd-skel-img {
	width: 34px !important;
	height: 34px !important;
	border-radius: 8px !important;
	background: #e5e5e5 !important;
	flex: 0 0 34px !important;
}

.nm-dd-skel-line {
	height: 12px !important;
	width: 70% !important;
	border-radius: 6px !important;
	background: #e5e5e5 !important;
}

/* Cart Styles */
.nm-cart-title {
	margin: 10px 0 6px !important;
	font-weight: 600 !important;
	color: #333 !important;
	font-size: 14px !important;
}

.nm-cart-ul {
	margin: 8px 0 0 !important;
	padding-left: 18px !important;
	list-style: disc !important;
}

.nm-cart-ul li {
	margin: 0 0 4px !important;
	list-style: disc !important;
	color: #666 !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
}

.nm-cart-pre {
	display: block !important;
	margin-top: 6px !important;
	color: #666 !important;
	font-size: 14px !important;
}

/* Responsive Design */
@media (max-width: 1100px) {
	.nm-modal-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 820px) {
	.nm-modal-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 768px) {
	.nm-product-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.nm-container {
		padding: 20px !important;
	}

	.nm-controls {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.nm-actions-right {
		width: 100% !important;
		margin-left: 0 !important;
	}

	/* Fix buttons for mobile */
	.nm-container .nm-reset-btn,
	.nm-container .nm-add-to-cart-btn {
		width: 100% !important;
		justify-content: center !important;
	}

	.nm-quantity-control {
		width: 100% !important;
	}

	.nm-qty-group {
		width: 100% !important;
	}
}
}

@media (min-width: 577px) and (max-width: 767px) {
	/* Container Base Styles */
.nm-container,
.nm-container *,
.nm-container *::before,
.nm-container *::after {
	box-sizing: border-box !important;
}

.nm-container {
	min-width: full !important;
	margin: 0 auto;
	background: #fff;
	border-radius: 8px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
	line-height: 1.4 !important;
	color: #333 !important;
	overflow: visible !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

/* Typography Reset */
.nm-container p,
.nm-container span,
.nm-container div,
.nm-container label,
.nm-container button {
	font-family: inherit !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	font-weight: inherit !important;
}

/* List Reset */
.nm-container ul,
.nm-container ol {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.nm-container li {
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
}

/* Input Styles */
.nm-container input[type="text"],
.nm-container input[type="search"] {
	-webkit-appearance: none !important;
	appearance: none !important;
	background: #fff !important;
	border: 1px solid #ddd !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	outline: none !important;
	box-shadow: none !important;
	padding: 12px 20px !important;
	width: 100% !important;
	height: auto !important;
	line-height: normal !important;
	color: #333 !important;
	font-family: inherit !important;
	margin: 0 !important;
}

.nm-container input[type="text"]:focus,
.nm-container input[type="search"]:focus {
	border-color: #272727 !important;
	box-shadow: none !important;
	outline: none !important;
}

/* Button Styles */
.nm-container .nm-reset-btn {
	background: #f7f7f7 !important;
	color: #272727 !important;
	border-radius: 8px !important;
	height: 42px !important;
	padding: 0 16px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	border: 0 !important;
	transition: background 0.2s ease !important;
}

.nm-container .nm-reset-btn:hover {
	background: #efefef !important;
}

.nm-container .nm-add-to-cart-btn {
	background: #272727 !important;
	color: #fff !important;
	border-radius: 8px !important;
	height: 42px !important;
	padding: 0 18px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	border: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	transition: background 0.2s ease !important;
}

.nm-container .nm-add-to-cart-btn:hover:not(:disabled) {
	background: #3d3d3d !important;
}

.nm-container .nm-add-to-cart-btn:disabled {
	background: #ccc !important;
	cursor: not-allowed !important;
}

.nm-container .nm-add-prefix {
	font-size: 16px !important;
	font-weight: 700 !important;
}

/* Image Styles */
.nm-container img {
	max-width: 100% !important;
	height: auto !important;
	display: block !important;
	border: none !important;
	box-shadow: none !important;
}

.nm-container .nm-product-slot img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

/* Headings */
.nm-h1 {
	font-size: 32px !important;
	font-weight: 600 !important;
	margin-bottom: 10px !important;
	color: #333 !important;
	font-family: inherit !important;
	line-height: 1.2 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

.nm-subtitle {
	font-size: 16px !important;
	color: #666 !important;
	margin-bottom: 30px !important;
	line-height: 1.5 !important;
	font-weight: 400 !important;
}

/* Search Bar */
.nm-search-bar {
	margin: 20px 0 10px !important;
	position: relative !important;
	overflow: visible !important;
}

.nm-input-wrap {
	position: relative !important;
	max-width: 400px !important;
	overflow: visible !important;
}

#nm-search-input {
	padding-right: 44px !important;
}

/* Grid Label */
.nm-grid-label {
	font-size: 14px !important;
	color: #666 !important;
	margin-bottom: 15px !important;
	display: flex !important;
	gap: 10px !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
}

.nm-count {
	color: #666 !important;
	font-weight: 400 !important;
}

/* Product Grid */
.nm-container .nm-product-grid {
	display: grid !important;
	grid-template-columns: repeat(5, 1fr) !important;
	gap: 15px !important;
	margin-bottom: 30px !important;
}

.nm-product-slot {
	aspect-ratio: 1 !important;
	border: 2px dashed #ddd !important;
	border-radius: 8px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 14px !important;
	color: #999 !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	background: #fafafa !important;
	position: relative !important;
	overflow: hidden !important;
	padding: 0 !important;
	margin: 0 !important;
}

.nm-product-slot:hover {
	border-color: #272727 !important;
	background: #f9f9f9 !important;
}

.nm-product-slot.filled {
	border: 2px solid #272727 !important;
	background: #f0f8ff !important;
	color: #272727 !important;
	font-weight: 500 !important;
}

.nm-remove-btn {
	position: absolute !important;
	top: 5px !important;
	right: 5px !important;
	width: 40px !important;
	height: 20px !important;
	background: #ff3b30 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 50% !important;
	cursor: pointer !important;
	font-size: 12px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	opacity: 0 !important;
	transition: opacity 0.2s ease !important;
	padding: 0 !important;
	line-height: 1 !important;
}

.nm-product-slot.filled:hover .nm-remove-btn {
	opacity: 1 !important;
}

/* Controls */
.nm-controls {
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 16px !important;
	flex-wrap: wrap !important;
	margin-bottom: 30px !important;
}

.nm-quantity-control {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
}

.nm-quantity-control label {
	font-size: 14px !important;
	color: #666 !important;
	font-weight: 400 !important;
}

.nm-actions-right {
	display: flex !important;
	gap: 12px !important;
	align-items: center !important;
	margin-left: auto !important;
}

/* Quantity Controls */
.nm-qty-group {
	display: flex !important;
	align-items: center !important;
	gap: 0 !important;
	border: 1px solid #ddd !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	height: 42px !important;
	background: #fff !important;
}

.nm-qty-btn {
	width: 46px !important;
	height: 42px !important;
	border: 0 !important;
	background: #fff !important;
	cursor: pointer !important;
	font-size: 18px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	line-height: 1 !important;
}

.nm-qty-btn:active {
	background: #f5f5f5 !important;
}

.nm-qty-value {
	min-width: 52px !important;
	height: 42px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-weight: 600 !important;
	border-left: 1px solid #ddd !important;
	border-right: 1px solid #ddd !important;
}

/* Error Message */
.nm-error {
	margin-top: 10px !important;
	color: #b91c1c !important;
	font-size: 14px !important;
	padding: 0 !important;
	background: none !important;
}

/* Dropdown */
.nm-dropdown {
	position: absolute !important;
	top: 100% !important;
	left: 0 !important;
	width: 100% !important;
	max-width: 400px !important;
	margin-top: 8px !important;
	background: #fff !important;
	border: 1px solid #ddd !important;
	border-radius: 12px !important;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1) !important;
	padding: 6px !important;
	z-index: 999999 !important;
	text-align: left !important;
}

.nm-dd-item {
	width: 100% !important;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 10px 12px !important;
	border: 0 !important;
	background: transparent !important;
	border-radius: 10px !important;
	cursor: pointer !important;
	text-align: left !important;
	transition: background 0.2s ease !important;
	justify-content: flex-start !important;
}

.nm-dd-item:hover {
	background: #f5f5f5 !important;
}

.nm-dd-item img {
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	border-radius: 8px !important;
	object-fit: cover !important;
	flex: 0 0 34px !important;
	margin: 0 !important;
}

.nm-dd-item span {
	display: block !important;
	font-size: 14px !important;
	color: #333 !important;
	line-height: 1.2 !important;
	text-align: left !important;
	flex: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.nm-dd-hint,
.nm-dd-empty {
	padding: 10px 12px !important;
	color: #666 !important;
	font-size: 13px !important;
	text-align: left !important;
}

/* Loader Animation */
.nm-loader {
	position: absolute !important;
	right: 14px !important;
	top: 50% !important;
	width: 16px !important;
	height: 16px !important;
	margin-top: -8px !important;
	border: 2px solid rgba(0, 0, 0, 0.15) !important;
	border-top-color: #272727 !important;
	border-radius: 50% !important;
	animation: nmSpin 0.8s linear infinite !important;
}

@keyframes nmSpin {
	to {
		transform: rotate(360deg);
	}
}

/* Modal */
.nm-modal[hidden] {
	display: none !important;
}

.nm-modal {
	position: fixed !important;
	inset: 0 !important;
	z-index: 1000000 !important;
}

.nm-modal-backdrop {
	position: absolute !important;
	inset: 0 !important;
	background: rgba(0, 0, 0, 0.45) !important;
}

.nm-modal-panel {
	position: relative !important;
	width: min(1100px, calc(100% - 24px)) !important;
	margin: 40px auto !important;
	background: #fff !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25) !important;
	display: flex !important;
	flex-direction: column !important;
	max-height: calc(100vh - 80px) !important;
}

.nm-modal-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 14px 16px !important;
	border-bottom: 1px solid #eee !important;
}

.nm-modal-title {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #333 !important;
}

.nm-modal-close {
	width: 36px !important;
	height: 36px !important;
	border-radius: 8px !important;
	border: 0 !important;
	background: #272727 !important;
	color: #fff !important;
	cursor: pointer !important;
	font-size: 20px !important;
	line-height: 1 !important;
	padding: 0 !important;
	transition: background 0.2s ease !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.nm-modal-close:hover {
	background: #3d3d3d !important;
}

.nm-modal-search {
	padding: 14px 16px !important;
	border-bottom: 1px solid #eee !important;
}

.nm-modal-input-wrap {
	position: relative !important;
	max-width: 520px !important;
}

#nmModalSearch {
	width: 100% !important;
	height: 44px !important;
	padding: 0 44px 0 16px !important;
	border: 1px solid #ddd !important;
	border-radius: 12px !important;
	outline: none !important;
}

#nmModalSearch:focus {
	border-color: #272727 !important;
}

.nm-modal-grid {
	padding: 16px !important;
	overflow: auto !important;
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	gap: 12px !important;
	text-align: center !important;
}

.nm-card-product {
	border: 1px solid #eee !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	background: #fff !important;
	cursor: pointer !important;
	transition: transform 0.12s ease, box-shadow 0.12s ease !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
}

.nm-card-product:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 10px 26px rgba(0, 0, 0, 0.08) !important;
}

.nm-card-thumb {
	width: 100% !important;
	aspect-ratio: 1 !important;
	background: #f5f5f5 !important;
	overflow: hidden !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.nm-card-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	margin: 0 auto !important;
}

.nm-card-name {
	padding: 10px 10px 12px !important;
	font-size: 13px !important;
	color: #333 !important;
	line-height: 1.3 !important;
	min-height: 44px !important;
	width: 100% !important;
	text-align: center !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.nm-modal-foot {
	padding: 12px 16px !important;
	border-top: 1px solid #eee !important;
	display: flex !important;
	justify-content: flex-end !important;
}

.nm-modal-refresh {
	height: 40px !important;
	padding: 0 14px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: #272727 !important;
	color: #fff !important;
	cursor: pointer !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	transition: background 0.2s ease !important;
}

/* Skeleton Loaders */
.nm-skel-grid {
	display: contents !important;
}

.nm-skel-card {
	border: 1px solid #eee !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	background: #fff !important;
}

.nm-skel-thumb {
	width: 100% !important;
	aspect-ratio: 1 !important;
	background: #f2f2f2 !important;
	position: relative !important;
	overflow: hidden !important;
}

.nm-skel-line {
	height: 12px !important;
	margin: 10px 10px 12px !important;
	border-radius: 8px !important;
	background: #f2f2f2 !important;
	position: relative !important;
	overflow: hidden !important;
}

.nm-skel-thumb::after,
.nm-skel-line::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	transform: translateX(-60%) !important;
	background: linear-gradient(90deg,
			rgba(242, 242, 242, 0) 0%,
			rgba(220, 220, 220, 0.65) 50%,
			rgba(242, 242, 242, 0) 100%) !important;
	animation: nmShimmer 1.1s infinite !important;
}

@keyframes nmShimmer {
	to {
		transform: translateX(60%);
	}
}

.nm-dd-skel {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 10px 12px !important;
}

.nm-dd-skel-img {
	width: 34px !important;
	height: 34px !important;
	border-radius: 8px !important;
	background: #e5e5e5 !important;
	flex: 0 0 34px !important;
}

.nm-dd-skel-line {
	height: 12px !important;
	width: 70% !important;
	border-radius: 6px !important;
	background: #e5e5e5 !important;
}

/* Cart Styles */
.nm-cart-title {
	margin: 10px 0 6px !important;
	font-weight: 600 !important;
	color: #333 !important;
	font-size: 14px !important;
}

.nm-cart-ul {
	margin: 8px 0 0 !important;
	padding-left: 18px !important;
	list-style: disc !important;
}

.nm-cart-ul li {
	margin: 0 0 4px !important;
	list-style: disc !important;
	color: #666 !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
}

.nm-cart-pre {
	display: block !important;
	margin-top: 6px !important;
	color: #666 !important;
	font-size: 14px !important;
}

/* Responsive Design */
@media (max-width: 1100px) {
	.nm-modal-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 820px) {
	.nm-modal-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 768px) {
	.nm-product-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.nm-container {
		padding: 20px !important;
	}

	.nm-controls {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.nm-actions-right {
		width: 100% !important;
		margin-left: 0 !important;
	}

	/* Fix buttons for mobile */
	.nm-container .nm-reset-btn,
	.nm-container .nm-add-to-cart-btn {
		width: 100% !important;
		justify-content: center !important;
	}

	.nm-quantity-control {
		width: 100% !important;
	}

	.nm-qty-group {
		width: 100% !important;
	}
}
}

@media (max-width: 576px) {
	/* Container Base Styles */
.nm-container,
.nm-container *,
.nm-container *::before,
.nm-container *::after {
	box-sizing: border-box !important;
}

.nm-container {
	min-width: full !important;
	margin: 0 auto;
	background: #fff;
	border-radius: 8px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
	line-height: 1.4 !important;
	color: #333 !important;
	overflow: visible !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

/* Typography Reset */
.nm-container p,
.nm-container span,
.nm-container div,
.nm-container label,
.nm-container button {
	font-family: inherit !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	font-weight: inherit !important;
}

/* List Reset */
.nm-container ul,
.nm-container ol {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.nm-container li {
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
}

/* Input Styles */
.nm-container input[type="text"],
.nm-container input[type="search"] {
	-webkit-appearance: none !important;
	appearance: none !important;
	background: #fff !important;
	border: 1px solid #ddd !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	outline: none !important;
	box-shadow: none !important;
	padding: 12px 20px !important;
	width: 100% !important;
	height: auto !important;
	line-height: normal !important;
	color: #333 !important;
	font-family: inherit !important;
	margin: 0 !important;
}

.nm-container input[type="text"]:focus,
.nm-container input[type="search"]:focus {
	border-color: #272727 !important;
	box-shadow: none !important;
	outline: none !important;
}

/* Button Styles */
.nm-container .nm-reset-btn {
	background: #f7f7f7 !important;
	color: #272727 !important;
	border-radius: 8px !important;
	height: 42px !important;
	padding: 0 16px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	border: 0 !important;
	transition: background 0.2s ease !important;
}

.nm-container .nm-reset-btn:hover {
	background: #efefef !important;
}

.nm-container .nm-add-to-cart-btn {
	background: #272727 !important;
	color: #fff !important;
	border-radius: 8px !important;
	height: 42px !important;
	padding: 0 18px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	border: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	transition: background 0.2s ease !important;
}

.nm-container .nm-add-to-cart-btn:hover:not(:disabled) {
	background: #3d3d3d !important;
}

.nm-container .nm-add-to-cart-btn:disabled {
	background: #ccc !important;
	cursor: not-allowed !important;
}

.nm-container .nm-add-prefix {
	font-size: 16px !important;
	font-weight: 700 !important;
}

/* Image Styles */
.nm-container img {
	max-width: 100% !important;
	height: auto !important;
	display: block !important;
	border: none !important;
	box-shadow: none !important;
}

.nm-container .nm-product-slot img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

/* Headings */
.nm-h1 {
	font-size: 32px !important;
	font-weight: 600 !important;
	margin-bottom: 10px !important;
	color: #333 !important;
	font-family: inherit !important;
	line-height: 1.2 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

.nm-subtitle {
	font-size: 16px !important;
	color: #666 !important;
	margin-bottom: 30px !important;
	line-height: 1.5 !important;
	font-weight: 400 !important;
}

/* Search Bar */
.nm-search-bar {
	margin: 20px 0 10px !important;
	position: relative !important;
	overflow: visible !important;
}

.nm-input-wrap {
	position: relative !important;
	max-width: 400px !important;
	overflow: visible !important;
}

#nm-search-input {
	padding-right: 44px !important;
}

/* Grid Label */
.nm-grid-label {
	font-size: 14px !important;
	color: #666 !important;
	margin-bottom: 15px !important;
	display: flex !important;
	gap: 10px !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
}

.nm-count {
	color: #666 !important;
	font-weight: 400 !important;
}

/* Product Grid */
.nm-container .nm-product-grid {
	display: grid !important;
	grid-template-columns: repeat(5, 1fr) !important;
	gap: 15px !important;
	margin-bottom: 30px !important;
}

.nm-product-slot {
	aspect-ratio: 1 !important;
	border: 2px dashed #ddd !important;
	border-radius: 8px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 14px !important;
	color: #999 !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	background: #fafafa !important;
	position: relative !important;
	overflow: hidden !important;
	padding: 0 !important;
	margin: 0 !important;
}

.nm-product-slot:hover {
	border-color: #272727 !important;
	background: #f9f9f9 !important;
}

.nm-product-slot.filled {
	border: 2px solid #272727 !important;
	background: #f0f8ff !important;
	color: #272727 !important;
	font-weight: 500 !important;
}

.nm-remove-btn {
	position: absolute !important;
	top: 5px !important;
	right: 5px !important;
	width: 40px !important;
	height: 20px !important;
	background: #ff3b30 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 50% !important;
	cursor: pointer !important;
	font-size: 12px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	opacity: 0 !important;
	transition: opacity 0.2s ease !important;
	padding: 0 !important;
	line-height: 1 !important;
}

.nm-product-slot.filled:hover .nm-remove-btn {
	opacity: 1 !important;
}

/* Controls */
.nm-controls {
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 16px !important;
	flex-wrap: wrap !important;
	margin-bottom: 30px !important;
}

.nm-quantity-control {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
}

.nm-quantity-control label {
	font-size: 14px !important;
	color: #666 !important;
	font-weight: 400 !important;
}

.nm-actions-right {
	display: flex !important;
	gap: 12px !important;
	align-items: center !important;
	margin-left: auto !important;
}

/* Quantity Controls */
.nm-qty-group {
	display: flex !important;
	align-items: center !important;
	gap: 0 !important;
	border: 1px solid #ddd !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	height: 42px !important;
	background: #fff !important;
}

.nm-qty-btn {
	width: 46px !important;
	height: 42px !important;
	border: 0 !important;
	background: #fff !important;
	cursor: pointer !important;
	font-size: 18px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	line-height: 1 !important;
}

.nm-qty-btn:active {
	background: #f5f5f5 !important;
}

.nm-qty-value {
	min-width: 52px !important;
	height: 42px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-weight: 600 !important;
	border-left: 1px solid #ddd !important;
	border-right: 1px solid #ddd !important;
}

/* Error Message */
.nm-error {
	margin-top: 10px !important;
	color: #b91c1c !important;
	font-size: 14px !important;
	padding: 0 !important;
	background: none !important;
}

/* Dropdown */
.nm-dropdown {
	position: absolute !important;
	top: 100% !important;
	left: 0 !important;
	width: 100% !important;
	max-width: 400px !important;
	margin-top: 8px !important;
	background: #fff !important;
	border: 1px solid #ddd !important;
	border-radius: 12px !important;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1) !important;
	padding: 6px !important;
	z-index: 999999 !important;
	text-align: left !important;
}

.nm-dd-item {
	width: 100% !important;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 10px 12px !important;
	border: 0 !important;
	background: transparent !important;
	border-radius: 10px !important;
	cursor: pointer !important;
	text-align: left !important;
	transition: background 0.2s ease !important;
	justify-content: flex-start !important;
}

.nm-dd-item:hover {
	background: #f5f5f5 !important;
}

.nm-dd-item img {
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	border-radius: 8px !important;
	object-fit: cover !important;
	flex: 0 0 34px !important;
	margin: 0 !important;
}

.nm-dd-item span {
	display: block !important;
	font-size: 14px !important;
	color: #333 !important;
	line-height: 1.2 !important;
	text-align: left !important;
	flex: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.nm-dd-hint,
.nm-dd-empty {
	padding: 10px 12px !important;
	color: #666 !important;
	font-size: 13px !important;
	text-align: left !important;
}

/* Loader Animation */
.nm-loader {
	position: absolute !important;
	right: 14px !important;
	top: 50% !important;
	width: 16px !important;
	height: 16px !important;
	margin-top: -8px !important;
	border: 2px solid rgba(0, 0, 0, 0.15) !important;
	border-top-color: #272727 !important;
	border-radius: 50% !important;
	animation: nmSpin 0.8s linear infinite !important;
}

@keyframes nmSpin {
	to {
		transform: rotate(360deg);
	}
}

/* Modal */
.nm-modal[hidden] {
	display: none !important;
}

.nm-modal {
	position: fixed !important;
	inset: 0 !important;
	z-index: 1000000 !important;
}

.nm-modal-backdrop {
	position: absolute !important;
	inset: 0 !important;
	background: rgba(0, 0, 0, 0.45) !important;
}

.nm-modal-panel {
	position: relative !important;
	width: min(1100px, calc(100% - 24px)) !important;
	margin: 40px auto !important;
	background: #fff !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25) !important;
	display: flex !important;
	flex-direction: column !important;
	max-height: calc(100vh - 80px) !important;
}

.nm-modal-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 14px 16px !important;
	border-bottom: 1px solid #eee !important;
}

.nm-modal-title {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #333 !important;
}

.nm-modal-close {
	width: 36px !important;
	height: 36px !important;
	border-radius: 8px !important;
	border: 0 !important;
	background: #272727 !important;
	color: #fff !important;
	cursor: pointer !important;
	font-size: 20px !important;
	line-height: 1 !important;
	padding: 0 !important;
	transition: background 0.2s ease !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.nm-modal-close:hover {
	background: #3d3d3d !important;
}

.nm-modal-search {
	padding: 14px 16px !important;
	border-bottom: 1px solid #eee !important;
}

.nm-modal-input-wrap {
	position: relative !important;
	max-width: 520px !important;
}

#nmModalSearch {
	width: 100% !important;
	height: 44px !important;
	padding: 0 44px 0 16px !important;
	border: 1px solid #ddd !important;
	border-radius: 12px !important;
	outline: none !important;
}

#nmModalSearch:focus {
	border-color: #272727 !important;
}

.nm-modal-grid {
	padding: 16px !important;
	overflow: auto !important;
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	gap: 12px !important;
	text-align: center !important;
}

.nm-card-product {
	border: 1px solid #eee !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	background: #fff !important;
	cursor: pointer !important;
	transition: transform 0.12s ease, box-shadow 0.12s ease !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
}

.nm-card-product:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 10px 26px rgba(0, 0, 0, 0.08) !important;
}

.nm-card-thumb {
	width: 100% !important;
	aspect-ratio: 1 !important;
	background: #f5f5f5 !important;
	overflow: hidden !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.nm-card-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	margin: 0 auto !important;
}

.nm-card-name {
	padding: 10px 10px 12px !important;
	font-size: 13px !important;
	color: #333 !important;
	line-height: 1.3 !important;
	min-height: 44px !important;
	width: 100% !important;
	text-align: center !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.nm-modal-foot {
	padding: 12px 16px !important;
	border-top: 1px solid #eee !important;
	display: flex !important;
	justify-content: flex-end !important;
}

.nm-modal-refresh {
	height: 40px !important;
	padding: 0 14px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: #272727 !important;
	color: #fff !important;
	cursor: pointer !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	transition: background 0.2s ease !important;
}

/* Skeleton Loaders */
.nm-skel-grid {
	display: contents !important;
}

.nm-skel-card {
	border: 1px solid #eee !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	background: #fff !important;
}

.nm-skel-thumb {
	width: 100% !important;
	aspect-ratio: 1 !important;
	background: #f2f2f2 !important;
	position: relative !important;
	overflow: hidden !important;
}

.nm-skel-line {
	height: 12px !important;
	margin: 10px 10px 12px !important;
	border-radius: 8px !important;
	background: #f2f2f2 !important;
	position: relative !important;
	overflow: hidden !important;
}

.nm-skel-thumb::after,
.nm-skel-line::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	transform: translateX(-60%) !important;
	background: linear-gradient(90deg,
			rgba(242, 242, 242, 0) 0%,
			rgba(220, 220, 220, 0.65) 50%,
			rgba(242, 242, 242, 0) 100%) !important;
	animation: nmShimmer 1.1s infinite !important;
}

@keyframes nmShimmer {
	to {
		transform: translateX(60%);
	}
}

.nm-dd-skel {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 10px 12px !important;
}

.nm-dd-skel-img {
	width: 34px !important;
	height: 34px !important;
	border-radius: 8px !important;
	background: #e5e5e5 !important;
	flex: 0 0 34px !important;
}

.nm-dd-skel-line {
	height: 12px !important;
	width: 70% !important;
	border-radius: 6px !important;
	background: #e5e5e5 !important;
}

/* Cart Styles */
.nm-cart-title {
	margin: 10px 0 6px !important;
	font-weight: 600 !important;
	color: #333 !important;
	font-size: 14px !important;
}

.nm-cart-ul {
	margin: 8px 0 0 !important;
	padding-left: 18px !important;
	list-style: disc !important;
}

.nm-cart-ul li {
	margin: 0 0 4px !important;
	list-style: disc !important;
	color: #666 !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
}

.nm-cart-pre {
	display: block !important;
	margin-top: 6px !important;
	color: #666 !important;
	font-size: 14px !important;
}

/* Responsive Design */
@media (max-width: 1100px) {
	.nm-modal-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 820px) {
	.nm-modal-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 768px) {
	.nm-product-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.nm-container {
		padding: 20px !important;
	}

	.nm-controls {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.nm-actions-right {
		width: 100% !important;
		margin-left: 0 !important;
	}

	/* Fix buttons for mobile */
	.nm-container .nm-reset-btn,
	.nm-container .nm-add-to-cart-btn {
		width: 100% !important;
		justify-content: center !important;
	}

	.nm-quantity-control {
		width: 100% !important;
	}

	.nm-qty-group {
		width: 100% !important;
	}
}
}

