:root,
.spo-shop-wrap,
.spo-single-wrap {
	--spo-bg: #f7f7fb;
	--spo-bg-soft: #ffffff;
	--spo-nm-dark: #c9cbe0;
	--spo-nm-light: #ffffff;
	--spo-text: #14142b;
	--spo-muted: #5b5f7e;
	--spo-primary: #7c5cff;
	--spo-primary-dark: #6d4aff;
	--spo-border: transparent;
	--spo-radius: 22px;

	--nm-faint: #8c90ad;
	--nm-overlay: rgba(20, 20, 43, .5);
	--nm-line: rgba(24, 24, 70, .10);
	--nm-ring: rgba(124, 92, 255, .4);

	--nm-out: 9px 9px 18px var(--spo-nm-dark), -9px -9px 18px var(--spo-nm-light);
	--nm-out-sm: 5px 5px 10px var(--spo-nm-dark), -5px -5px 10px var(--spo-nm-light);
	--nm-out-xs: 3px 3px 6px var(--spo-nm-dark), -3px -3px 6px var(--spo-nm-light);
	--nm-in: inset 5px 5px 10px var(--spo-nm-dark), inset -5px -5px 10px var(--spo-nm-light);
	--nm-in-sm: inset 3px 3px 6px var(--spo-nm-dark), inset -3px -3px 6px var(--spo-nm-light);

	--spo-glass-bg: var(--spo-bg);
	--spo-glass-bg-strong: var(--spo-bg);
	--spo-glass-border: transparent;
	--spo-glass-shadow: var(--nm-out);
	--spo-neon: var(--spo-primary-dark);
	--spo-neon-glow: transparent;
	--spo-title-gradient: none;
	--spo-blur-card: none;
	--spo-blur-related: none;
}

.spo-shop-wrap,
.spo-single-wrap {
	background: var(--spo-bg);
	color: var(--spo-text);
	padding: 0 16px 28px;
}
.spo-shop-wrap::before,
.spo-shop-wrap::after,
.spo-single-wrap::before,
.spo-single-wrap::after { display: none; }

.spo-title,
.spo-single-title,
.spo-categories-title,
.spo-newarrivals-title,
.spo-related-title,
.spo-reviews-title {
	background: none;
	-webkit-background-clip: border-box;
	background-clip: border-box;
	-webkit-text-fill-color: currentColor;
	color: var(--spo-text);
}

.spo-card,
.spo-related-card,
.spo-header,
.spo-chip,
.spo-modal,
.spo-cart-drawer,
.spo-cart-toggle,
.spo-btn-outline,
.spo-review-item,
.spo-review-form-wrap,
.spo-badge,
.spo-bottomnav {
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

.spo-header {
	margin: 0 -16px 24px;
	padding: 14px 16px 18px;
	background: var(--spo-bg);
	border-bottom: 0;
	box-shadow: 0 6px 14px -6px var(--spo-nm-dark);
}
.spo-category-toggle {
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 14px;
	background: var(--spo-bg);
	color: var(--spo-text);
	box-shadow: var(--nm-out-sm);
}
.spo-category-toggle:hover,
.spo-category-toggle:focus-visible { background: var(--spo-bg); border-color: transparent; color: var(--spo-primary-dark); }
.spo-category-toggle.is-active { background: var(--spo-bg); color: var(--spo-primary-dark); box-shadow: var(--nm-in-sm); }
.spo-category-toggle:active { box-shadow: var(--nm-in-sm); }

.spo-toolbar-icon,
.spo-cart-toggle {
	width: 44px;
	height: 44px;
	border-radius: 14px;
	background: var(--spo-bg);
	box-shadow: var(--nm-out-sm);
}
.spo-toolbar-icon:hover,
.spo-toolbar-icon:focus-visible { background: var(--spo-bg); color: var(--spo-primary-dark); }
.spo-toolbar-icon:active { box-shadow: var(--nm-in-sm); }

.spo-category-dropdown {
	background: var(--spo-bg);
	border: 0;
	border-radius: 20px;
	box-shadow: var(--nm-out);
}

.spo-search-box {
	background: var(--spo-bg);
	border: 0;
	border-radius: 999px;
	padding: 0 18px;
	box-shadow: var(--nm-in);
}
.spo-search-box:hover { background: var(--spo-bg); }
.spo-search-box:focus-within { background: var(--spo-bg); border-color: transparent; box-shadow: var(--nm-in), 0 0 0 2px var(--nm-ring); }
.spo-search-input { color: var(--spo-text); }
.spo-search-input::placeholder,
.spo-search-input-static { color: var(--nm-faint); }
.spo-search-clear { background: var(--spo-bg); box-shadow: var(--nm-out-xs); color: var(--spo-muted); }
.spo-search-clear:hover { background: var(--spo-bg); color: var(--spo-text); }
.spo-search-clear:active { box-shadow: var(--nm-in-sm); }

.spo-search-suggestions {
	background: var(--spo-bg);
	border: 0;
	border-radius: 20px;
	box-shadow: var(--nm-out);
	padding: 6px;
}
.spo-suggestion-item { border-bottom: 0; border-radius: 14px; }
.spo-suggestion-item:hover,
.spo-suggestion-item.is-active { background: var(--spo-bg); box-shadow: var(--nm-in-sm); }
.spo-suggestion-thumb { background: var(--spo-bg); border-radius: 12px; box-shadow: var(--nm-out-xs); }
.spo-suggestion-name mark { background: transparent; color: var(--spo-primary-dark); font-weight: 800; }

.spo-banner {
	border: 0;
	border-radius: 26px;
	background: var(--spo-bg);
	box-shadow: var(--nm-out);
	padding: 0;
}

.spo-chip {
	color: var(--spo-text);
	border: 0;
	background: var(--spo-bg);
	box-shadow: var(--nm-out-sm);
	padding: 10px 20px;
}
.spo-chip:hover { transform: none; border-color: transparent; box-shadow: var(--nm-out-sm); color: var(--spo-primary-dark); }
.spo-chip.is-active,
.spo-chip:active {
	transform: none;
	color: var(--spo-primary-dark);
	box-shadow: var(--nm-in-sm);
}

.spo-grid { gap: 26px; padding: 6px 4px 10px; }

.spo-card,
.spo-related-card {
	background: var(--spo-bg);
	border: 0;
	border-radius: 24px;
	box-shadow: var(--nm-out);
}
.spo-related-card { border-radius: 20px; box-shadow: var(--nm-out-sm); }
.spo-card:hover,
.spo-related-card:hover {
	transform: translateY(-2px);
	border-color: transparent;
	box-shadow: var(--nm-out);
}

.spo-card-img {
	margin: 14px 14px 0;
	border-radius: 18px;
	background: var(--spo-bg);
	box-shadow: var(--nm-in-sm);
	padding: 0;
}
.spo-card-img img { border-radius: 18px; }
.spo-card-body { padding: 14px 18px 20px; }
.spo-card-link:hover .spo-title { color: var(--spo-primary-dark); }

.spo-related-img { margin: 10px 10px 0; border-radius: 14px; background: var(--spo-bg); box-shadow: var(--nm-in-sm); overflow: hidden; }
.spo-related-img img { border-radius: 14px; }
.spo-related-body { padding: 10px 14px 14px; }
.spo-related-track { padding: 8px 6px 18px; gap: 20px; }
.spo-related-shelf { margin: 0 -16px; padding: 0 16px; }
.spo-related-track::-webkit-scrollbar-thumb { background: var(--spo-nm-dark); }

.spo-price,
.spo-related-price,
.spo-reviews-avg {
	color: var(--spo-primary-dark);
	text-shadow: none;
}
.spo-price-old { color: var(--nm-faint); }
.spo-desc,
.spo-single-desc { color: var(--spo-muted); }

.spo-badge {
	top: 10px;
	left: 10px;
	box-shadow: var(--nm-out-xs);
	background: var(--spo-bg);
	font-weight: 700;
}
.spo-badge-sale { background: var(--spo-bg); color: var(--spo-primary-dark); box-shadow: var(--nm-out-xs); }
.spo-badge-out  { background: var(--spo-bg); color: #dc2626; box-shadow: var(--nm-out-xs); }
.spo-badge-new  { background: var(--spo-bg); color: #2563eb; box-shadow: var(--nm-out-xs); }

.spo-btn {
	background: var(--spo-bg);
	color: var(--spo-primary-dark);
	border: 0;
	border-radius: 16px;
	padding: 12px 20px;
	box-shadow: var(--nm-out-sm);
	filter: none;
	transition: box-shadow .15s ease, color .15s ease, transform .1s ease;
}
.spo-btn:hover { filter: none; color: var(--spo-primary); box-shadow: var(--nm-out-sm); }
.spo-btn:active { transform: none; box-shadow: var(--nm-in-sm); }
.spo-btn:disabled {
	background: var(--spo-bg);
	color: var(--nm-faint);
	box-shadow: var(--nm-in-sm);
	cursor: not-allowed;
}
.spo-btn-outline {
	background: var(--spo-bg);
	color: var(--spo-text);
	border: 0;
	box-shadow: var(--nm-out-sm);
}
.spo-btn-outline:hover { border-color: transparent; box-shadow: var(--nm-out-sm); color: var(--spo-primary-dark); filter: none; }
.spo-btn-outline:active { box-shadow: var(--nm-in-sm); }

.spo-single-gallery {
	background: var(--spo-bg);
	border: 0;
	border-radius: 28px;
	padding: 14px;
	box-shadow: var(--nm-out);
}
.spo-single-gallery img { border-radius: 20px; box-shadow: var(--nm-in-sm); }
.spo-breadcrumb,
.spo-breadcrumb a,
.spo-single-back { color: var(--spo-muted); }
.spo-breadcrumb a:hover,
.spo-single-back:hover { color: var(--spo-primary-dark); }
.spo-related,
.spo-reviews { border-top: 0; }
.spo-star { color: var(--nm-faint); }
.spo-star-filled,
.spo-star-btn-active { color: #f59e0b; }

.spo-review-item,
.spo-review-form-wrap {
	background: var(--spo-bg);
	border: 0;
	border-radius: 20px;
	box-shadow: var(--nm-out-sm);
}
.spo-star-btn { color: var(--nm-faint); }

.spo-field input,
.spo-field textarea,
.spo-review-form-wrap input[type="text"],
.spo-review-form-wrap input[type="email"],
.spo-review-form-wrap textarea {
	background: var(--spo-bg);
	border: 0;
	border-radius: 14px;
	padding: 12px 14px;
	color: var(--spo-text);
	box-shadow: var(--nm-in-sm);
}
.spo-field input:focus,
.spo-field textarea:focus,
.spo-review-form-wrap input:focus,
.spo-review-form-wrap textarea:focus {
	outline: none;
	border-color: transparent;
	box-shadow: var(--nm-in-sm), 0 0 0 2px var(--nm-ring);
}

.spo-modal-overlay { background: var(--nm-overlay); }
.spo-modal {
	background: var(--spo-bg);
	border: 0;
	border-radius: 28px;
	box-shadow: 16px 16px 36px var(--spo-nm-dark), -10px -10px 28px var(--spo-nm-light);
}
.spo-modal-close {
	width: 34px;
	height: 34px;
	top: 14px;
	right: 14px;
	border-radius: 50%;
	background: var(--spo-bg);
	box-shadow: var(--nm-out-xs);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	color: var(--spo-muted);
}
.spo-modal-close:hover { color: var(--spo-text); }
.spo-modal-close:active { box-shadow: var(--nm-in-sm); }
.spo-modal-product { border-bottom: 0; }
.spo-modal-product img { border-radius: 14px; box-shadow: var(--nm-out-xs); }
.spo-form-msg.spo-msg-error { color: #dc2626; }

.spo-share-option {
	background: var(--spo-bg);
	border: 0;
	border-radius: 16px;
	box-shadow: var(--nm-out-sm);
	color: var(--spo-text);
}
.spo-share-option:hover { border-color: transparent; box-shadow: var(--nm-out-sm); }
.spo-share-option:active { transform: none; box-shadow: var(--nm-in-sm); }

.spo-cart-overlay { background: var(--nm-overlay); }
.spo-cart-drawer {
	background: var(--spo-bg);
	border-left: 0;
	box-shadow: -14px 0 34px var(--spo-nm-dark);
}
.spo-cart-drawer-header,
.spo-cart-footer { border: 0; box-shadow: 0 6px 12px -8px var(--spo-nm-dark); }
.spo-cart-footer { box-shadow: 0 -6px 12px -8px var(--spo-nm-dark); }
.spo-cart-item { border-bottom: 0; padding: 12px; border-radius: 18px; box-shadow: var(--nm-out-sm); }
.spo-cart-item:last-child { padding: 12px; }
.spo-cart-items { gap: 18px; padding: 4px 6px; }
.spo-cart-item-img { background: var(--spo-bg); border-radius: 12px; box-shadow: var(--nm-in-sm); }
.spo-cart-item-price,
#spo-cart-total,
.spo-cart-back { color: var(--spo-primary-dark); }
.spo-cart-qty {
	background: var(--spo-bg);
	border: 0;
	border-radius: 12px;
	padding: 4px 6px;
	box-shadow: var(--nm-in-sm);
}
.spo-cart-qty-btn {
	background: var(--spo-bg);
	border-radius: 8px;
	box-shadow: var(--nm-out-xs);
	color: var(--spo-text);
}
.spo-cart-qty-btn:hover { background: var(--spo-bg); color: var(--spo-primary-dark); }
.spo-cart-qty-btn:active { box-shadow: var(--nm-in-sm); }
.spo-cart-summary {
	background: var(--spo-bg);
	border: 0;
	border-radius: 16px;
	box-shadow: var(--nm-in-sm);
}
.spo-cart-summary-row.spo-cart-summary-total { border-top: 1px solid var(--nm-line); }
.spo-cart-count {
	border: 0;
	box-shadow: var(--nm-out-xs);
}
.spo-cart-toast {
	background: var(--spo-bg);
	color: var(--spo-text);
	box-shadow: var(--nm-out);
}

.spo-bottomnav {
	background: var(--spo-bg);
	border-top: 0;
	box-shadow: 0 -8px 18px -8px var(--spo-nm-dark);
	padding-top: 8px;
}
.spo-bottomnav-item { border-radius: 16px; color: var(--spo-muted); }
.spo-bottomnav-item:hover { color: var(--spo-primary-dark); }
.spo-bottomnav-item.is-active {
	background: var(--spo-bg);
	color: var(--spo-primary-dark);
	box-shadow: var(--nm-in-sm);
}
.spo-bottomnav-badge { box-shadow: none; }

.spo-site-footer {
	--spo-footer-bg: var(--spo-bg);
	--spo-footer-text: var(--spo-text);
	--spo-footer-muted: var(--spo-muted);
	--spo-footer-border: var(--nm-line);
	--spo-footer-accent: var(--spo-primary-dark);
}
.spo-footer-social a {
	background: var(--spo-footer-bg);
	box-shadow: var(--nm-out-xs);
	color: var(--spo-footer-accent);
}
.spo-footer-social a:hover { background: var(--spo-footer-bg); color: var(--spo-footer-accent); transform: none; box-shadow: var(--nm-in-sm); }
.spo-footer-app-btn {
	background: var(--spo-footer-bg);
	border: 0;
	border-radius: 14px;
	box-shadow: var(--nm-out-xs);
}
.spo-footer-app-btn:hover { background: var(--spo-footer-bg); box-shadow: var(--nm-in-sm); }

.spo-related-order-btn { padding: 8px 12px; }
.spo-related-cart-btn {
	padding: 0;
	width: 38px;
	height: 38px;
	border-radius: 12px;
	color: var(--spo-primary-dark);
}
.spo-related-cart-btn svg { width: 16px; height: 16px; display: block; flex: 0 0 auto; color: inherit; }
.spo-share-btn { padding: 11px 16px; }
@media (max-width: 480px) {
	.spo-related-order-btn { padding: 9px 6px; }
	.spo-related-cart-btn { width: 36px; height: 36px; }
}

.spo-search-box .spo-search-input,
.spo-search-box input.spo-search-input,
.spo-search-box input[type="search"],
.spo-search-box input[type="text"] {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: 0 !important;
	color: var(--spo-text) !important;
	-webkit-appearance: none;
	appearance: none;
}
.spo-search-box .spo-search-input::placeholder { color: var(--nm-faint); opacity: 1; }
.spo-search-box .spo-search-input:focus { box-shadow: none !important; }

.spo-card a,
.spo-related-card a,
.spo-card-link,
.spo-related-imglink,
.spo-title,
.spo-related-name { text-decoration: none !important; }

.spo-field input,
.spo-field textarea,
.spo-field select,
.spo-field input:hover,
.spo-field input:focus,
.spo-field input:focus-visible,
.spo-field input:active,
.spo-field textarea:hover,
.spo-field textarea:focus,
.spo-field textarea:focus-visible,
.spo-field textarea:active,
.spo-review-form-wrap input:focus,
.spo-review-form-wrap textarea:focus {
	background: var(--spo-bg) !important;
	background-image: none !important;
	border: 0 !important;
	outline: 0 !important;
	border-radius: 14px !important;
	box-shadow: var(--nm-in-sm) !important;
	color: var(--spo-text) !important;
	-webkit-text-fill-color: var(--spo-text);
	-webkit-appearance: none;
	appearance: none;
}
.spo-field input:focus,
.spo-field textarea:focus,
.spo-review-form-wrap input:focus,
.spo-review-form-wrap textarea:focus {
	box-shadow: var(--nm-in-sm), 0 0 0 2px var(--nm-ring) !important;
}
.spo-field input:-webkit-autofill,
.spo-field input:-webkit-autofill:focus,
.spo-field textarea:-webkit-autofill {
	-webkit-text-fill-color: var(--spo-text) !important;
	transition: background-color 99999s ease-in-out 0s;
	caret-color: var(--spo-text);
}

.spo-modal-product h4 { padding-right: 30px; }

.spo-cart-qty {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px;
	padding: 5px 6px !important;
	min-height: 0 !important;
	height: auto !important;
}
.spo-cart-qty .spo-cart-qty-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto;
	width: 30px !important;
	height: 30px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	font-size: 18px !important;
	font-weight: 600;
	line-height: 1 !important;
	text-align: center;
	border-radius: 10px !important;
	box-sizing: border-box;
}
.spo-cart-qty .spo-cart-qty-val {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	line-height: 1;
	padding: 0;
	margin: 0;
}

@media (prefers-reduced-motion: reduce) {
	.spo-card,
	.spo-related-card,
	.spo-btn { transition: none; }
}

.spo-single-gallery .spo-slider-track { border-radius: 20px; }
.spo-slider-thumb { background: var(--spo-bg); }
