/*
Theme Name: Spectral Store
Theme URI: https://spstore.store/
Author: Spectral
Description: Standalone black-and-white WooCommerce theme for Spectral Store. No parent theme required.
Version: 1.10.1
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: spectral-store
*/

:root {
	--sp-bg: #000;
	--sp-panel: rgba(255,255,255,.035);
	--sp-panel-strong: rgba(255,255,255,.07);
	--sp-text: #f5f5f6;
	--sp-muted: rgba(245,245,246,.62);
	--sp-dim: rgba(245,245,246,.42);
	--sp-line: rgba(255,255,255,.11);
	--sp-line-strong: rgba(255,255,255,.19);
	--sp-radius: 16px;
}

* { box-sizing: border-box; }
html { background: #000; scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--sp-bg);
	color: var(--sp-text);
	font-family: "IBM Plex Sans Arabic", Tahoma, Arial, sans-serif;
	direction: rtl;
}
body.sp-lang-en { direction: ltr; }
body.admin-bar .sp-header-wrap { top: 32px; }
img { max-width: 100%; height: auto; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.moderncart-floating-cart-button,
.moderncart-floating-cart-button-notification,
.moderncart-add-to-cart-notification,
.moderncart-coupons-modal,
#moderncart-slide-out-modal,
.moderncart-plugin.moderncart-modal,
.trp-floating-switcher { display: none !important; }
html.moderncart-trigger-open,
html.moderncart-trigger-open body { overflow: auto !important; padding-right: 0 !important; }
.sp-site { min-height: 100vh; display: flex; flex-direction: column; overflow: clip; background: #000; }
.sp-main { flex: 1; }
.sp-container { width: min(1120px, calc(100% - 40px)); margin: 0 auto; padding: 44px 0 66px; }

.sp-header-wrap { position: sticky; top: 0; z-index: 999; padding: 15px 20px 7px; background: linear-gradient(#000 0 55%, transparent); }
.sp-header {
	width: min(1120px,100%);
	min-height: 64px;
	margin: 0 auto;
	padding: 11px 18px;
	display: flex;
	align-items: center;
	gap: 16px;
	border: 1px solid var(--sp-line-strong);
	border-radius: 16px;
	background: rgba(9,9,10,.93);
	backdrop-filter: blur(18px);
	box-shadow: 0 14px 42px rgba(0,0,0,.72);
}
.sp-brand { text-decoration: none; font-size: 16px; font-weight: 700; letter-spacing: .07em; white-space: nowrap; }
.sp-desktop-nav { display: flex; align-items: center; gap: 4px; }
.sp-desktop-nav a { padding: 7px 12px; border-radius: 9px; color: var(--sp-muted); text-decoration: none; font-size: 14px; transition: .2s ease; }
.sp-desktop-nav a:hover, .sp-desktop-nav .current-menu-item > a, .sp-desktop-nav a[aria-current="page"] { color: #fff; background: rgba(255,255,255,.1); }
.sp-desktop-nav ul { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; }
.sp-language-switcher { margin-inline-start: auto; padding: 3px; display: inline-flex; align-items: center; gap: 2px; border: 1px solid var(--sp-line-strong); border-radius: 10px; background: rgba(255,255,255,.025); }
.sp-language-switcher a { min-width: 30px; min-height: 31px; padding: 5px 7px; display: grid; place-items: center; border-radius: 7px; color: var(--sp-muted); font-size: 10px; font-weight: 700; letter-spacing: .06em; text-decoration: none; }
.sp-language-switcher a:hover { color: #fff; background: rgba(255,255,255,.08); }
.sp-language-switcher a.is-active { background: #f5f5f6; color: #050505; }
#spectral-currency-root { margin-inline-start: 0; }
.sp-currency { position: relative; display: flex; align-items: center; gap: 7px; }
.sp-currency label { color: var(--sp-muted); font-size: 11px; white-space: nowrap; }
.sp-currency select { min-height: 39px; padding: 6px 10px; border-radius: 10px !important; color: #fff; font-size: 12px; cursor: pointer; }
.sp-cart-chip { min-height: 39px; padding: 8px 13px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--sp-line-strong); border-radius: 11px; text-decoration: none; font-size: 13px; transition: .2s ease; }
.sp-cart-chip:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.sp-cart-chip svg { width: 18px; height: 18px; }
.sp-cart-count { min-width: 19px; height: 19px; padding: 0 5px; display: grid; place-items: center; border-radius: 99px; background: #fff; color: #000; font-size: 10px; }
.sp-cart-count:empty { display: none; }
#spectral-mobile-root { display: none; }

.sp-hero { min-height: 470px; padding: 84px 24px; display: grid; place-items: center; align-content: center; text-align: center; border-bottom: 1px solid var(--sp-line); background: radial-gradient(circle at 50% 35%, rgba(255,255,255,.1), transparent 25%), #000; }
.sp-eyebrow { margin: 0 0 12px; color: rgba(255,255,255,.7); font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.sp-hero h1 { max-width: 880px; margin: 0; color: #fff; font-size: clamp(45px,7vw,80px); font-weight: 600; line-height: 1.13; letter-spacing: -.035em; }
.sp-hero-copy { max-width: 650px; margin: 20px auto 0; color: var(--sp-muted); font-size: 17px; line-height: 1.9; }
.sp-hero-actions { margin-top: 27px; display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.sp-button, .button, button.button, input.button, .wp-element-button {
	min-height: 43px;
	padding: 10px 21px;
	border: 1px solid var(--sp-line-strong) !important;
	border-radius: 11px !important;
	background: transparent !important;
	color: #fff !important;
	text-decoration: none;
	font-weight: 600 !important;
	cursor: pointer;
	transition: transform .18s ease, background .18s ease, border-color .18s ease !important;
}
.sp-button:hover, .button:hover, button.button:hover, input.button:hover, .wp-element-button:hover { border-color: #fff !important; background: rgba(255,255,255,.08) !important; transform: translateY(-1px); }
.sp-button-primary, .checkout-button, #place_order, .single_add_to_cart_button { border-color: #fff !important; background: #f5f5f6 !important; color: #050505 !important; }

.sp-catalogue { width: min(1120px,calc(100% - 40px)); margin: 0 auto; padding: 64px 0 28px; }
.sp-section-heading { margin-bottom: 23px; }
.sp-section-heading span { color: var(--sp-muted); font-size: 12px; letter-spacing: .14em; }
.sp-section-heading h2 { margin: 5px 0 0; color: #fff; font-size: 34px; font-weight: 600; }
.woocommerce ul.products, .wc-block-grid__products { margin: 0 !important; padding: 0 !important; display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 18px !important; list-style: none; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product, .wc-block-grid__product {
	position: relative;
	width: auto !important;
	margin: 0 !important;
	padding: 0 0 18px !important;
	display: flex !important;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--sp-line) !important;
	border-radius: var(--sp-radius) !important;
	background: var(--sp-panel) !important;
	text-align: right !important;
	transition: transform .25s cubic-bezier(.2,.8,.2,1), border-color .25s ease, background .25s ease !important;
}
body.sp-lang-en .woocommerce ul.products li.product,
body.sp-lang-en .wc-block-grid__product { text-align: left !important; }
body.sp-lang-en .onsale,
body.sp-lang-en .sp-sale-badge { right: auto !important; left: 12px !important; }
body.sp-lang-en .woocommerce div.product div.summary,
body.sp-lang-en .woocommerce div.product .woocommerce-tabs,
body.sp-lang-en .woocommerce-cart-form,
body.sp-lang-en .cart-collaterals,
body.sp-lang-en .woocommerce-checkout,
body.sp-lang-en .woocommerce-account .woocommerce,
body.sp-lang-en .woocommerce-order { text-align: left; }
.woocommerce ul.products li.product:hover { transform: translateY(-5px); border-color: rgba(255,255,255,.3) !important; background: var(--sp-panel-strong) !important; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex: 1; flex-direction: column; text-decoration: none; }
.woocommerce ul.products li.product img { width: 100% !important; aspect-ratio: 1/1; margin: 0 0 17px !important; object-fit: cover; filter: saturate(.82) contrast(1.04); transition: transform .45s cubic-bezier(.2,.8,.2,1); }
.woocommerce ul.products li.product:hover img { transform: scale(1.025); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 3.2em; margin: 0 !important; padding: 0 16px !important; color: #fff !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1.6; }
.woocommerce ul.products li.product .price { margin: 10px 0 0 !important; padding: 0 16px; display: flex !important; align-items: baseline; gap: 7px; color: #fff !important; font-size: 16px !important; }
.woocommerce ul.products li.product .price del { color: var(--sp-dim) !important; font-size: 12px; }
.woocommerce ul.products li.product .price ins { color: #fff !important; text-decoration: none; }
.woocommerce ul.products li.product .button { margin: 14px 16px 0 !important; text-align: center; }
.woocommerce ul.products li.product .sp-loop-purchase { margin: 14px 16px 0; display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 8px; align-items: stretch; }
.woocommerce ul.products li.product .sp-loop-purchase .button { min-width: 0; margin: 0 !important; }
.woocommerce ul.products li.product .added_to_cart.wc-forward { display: none !important; }
.woocommerce ul.products li.product .cfvsw-shop-variations,
.wc-block-grid__product .cfvsw-shop-variations { display: none !important; }
.onsale, .sp-sale-badge { position: absolute; z-index: 5; top: 12px !important; right: 12px !important; left: auto !important; min-width: 0 !important; min-height: 0 !important; padding: 5px 10px !important; border: 1px solid rgba(255,255,255,.2) !important; border-radius: 99px !important; background: rgba(0,0,0,.78) !important; color: #fff !important; line-height: 1.2 !important; font-size: 11px !important; }
.sp-delivery-note { margin: 10px 16px 0; color: var(--sp-muted); font-size: 11px; }

/* Keep desktop catalogue purchase controls compact and on one line. */
@media (min-width: 769px) {
	.woocommerce ul.products li.product .sp-loop-purchase {
		grid-template-columns: 88px minmax(0,1fr);
		gap: 7px;
		align-items: center;
	}
	.woocommerce ul.products li.product .sp-loop-purchase .quantity.sp-quantity-ready {
		width: 88px !important;
		min-width: 88px;
		grid-template-columns: 26px 36px 26px;
	}
	.woocommerce ul.products li.product .sp-loop-purchase .quantity.sp-quantity-ready input.qty {
		width: 36px !important;
		height: 44px;
		min-height: 44px;
		font-size: 14px;
	}
	.woocommerce ul.products li.product .sp-loop-purchase .sp-qty-button {
		width: 26px;
		min-width: 26px;
		min-height: 44px;
		font-size: 17px;
	}
	.woocommerce ul.products li.product .sp-loop-purchase .button {
		min-height: 44px;
		padding: 8px 5px !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		font-size: 13px;
		line-height: 1.2;
		white-space: nowrap;
	}
}

/* Keep the full catalogue on one balanced row on wide desktop screens. */
@media (min-width: 1200px) {
	.woocommerce ul.products, .wc-block-grid__products {
		grid-template-columns: repeat(5,minmax(0,1fr)) !important;
		gap: 16px !important;
	}
	body.post-type-archive-product .sp-site > ul.products {
		width: min(1120px,calc(100% - 40px)) !important;
		margin-inline: auto !important;
	}
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		padding-inline: 14px !important;
		font-size: 14px !important;
	}
	.woocommerce ul.products li.product .price {
		padding-inline: 14px;
		font-size: 15px !important;
	}
	.woocommerce ul.products li.product .button,
	.woocommerce ul.products li.product .sp-loop-purchase,
	.sp-delivery-note {
		margin-inline: 14px !important;
	}
	.woocommerce ul.products li.product .sp-loop-purchase { grid-template-columns: 88px minmax(0,1fr); }
	.sp-loop-purchase .quantity.sp-quantity-ready { width: 88px !important; min-width: 88px; grid-template-columns: 26px 36px 26px; }
}

.sp-features { width: min(1120px,calc(100% - 40px)); margin: 0 auto; padding: 28px 0 72px; display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.sp-features article { padding: 23px; border: 1px solid var(--sp-line); border-radius: var(--sp-radius); background: var(--sp-panel); }
.sp-features i { display: block; width: 26px; height: 2px; margin-bottom: 15px; border-radius: 2px; background: #fff; }
.sp-features h3 { margin: 0 0 7px; color: #fff; font-size: 17px; }
.sp-features p { margin: 0; color: var(--sp-muted); font-size: 13px; line-height: 1.9; }

.sp-page-header { margin-bottom: 30px; }
.sp-page-title, .woocommerce-products-header__title, .page-title { margin: 0; color: #fff; font-size: clamp(32px,5vw,48px); line-height: 1.25; }
.sp-entry, .sp-entry p, .sp-entry li { color: var(--sp-muted); line-height: 1.9; }
.woocommerce-breadcrumb { margin-bottom: 24px !important; color: var(--sp-muted) !important; }
.woocommerce-breadcrumb a { color: #fff; }
.woocommerce-result-count, .woocommerce-ordering { color: var(--sp-muted); }

.woocommerce div.product { width: 100%; min-width: 0; display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: 48px; align-items: start; }
.woocommerce div.product > * { min-width: 0; max-width: 100%; }
.woocommerce div.product .related.products, .woocommerce div.product .upsells.products { width: 100%; min-width: 0; grid-column: 1/-1; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce div.product div.images { max-width: 460px; justify-self: center; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { margin: 0 !important; }
.woocommerce div.product div.images .woocommerce-product-gallery__image { aspect-ratio: 1/1; display: grid !important; place-items: center; overflow: hidden; border: 1px solid var(--sp-line); border-radius: 18px; background: #080808; }
.woocommerce div.product div.images .woocommerce-product-gallery__image > a { width: 100%; height: 100%; display: grid; place-items: center; }
.woocommerce div.product div.images img { width: 100% !important; height: 100% !important; max-height: 460px; border: 0; border-radius: 0; background: #080808; object-fit: contain; }
.woocommerce div.product div.summary { padding-top: 4px; }
.woocommerce div.product .product_title { margin: 0 0 12px; color: #fff; font-size: clamp(30px,4vw,44px); line-height: 1.35; }
.woocommerce div.product .price { color: #fff !important; font-size: 27px !important; }
.woocommerce div.product .price del { color: var(--sp-dim) !important; font-size: 16px; }
.woocommerce div.product .price ins { color: #fff !important; text-decoration: none; }
.woocommerce div.product .sp-variable-price-prompt { color: var(--sp-muted); font-size: 14px; font-weight: 500; }
.woocommerce div.product .summary.sp-variation-selected > .price .sp-variable-price-prompt { display: none; }
.woocommerce div.product .woocommerce-variation-price .price { margin: 12px 0 0; display: block; font-size: 24px !important; }
.woocommerce-product-details__short-description, .woocommerce-product-details__short-description p { color: var(--sp-muted); line-height: 1.9; }
.woocommerce div.product form.cart { width: 100%; margin: 20px 0; clear: both; }
.woocommerce div.product form.cart:not(.variations_form),
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex !important; align-items: stretch; gap: 10px; }
.woocommerce div.product form.cart .quantity { width: auto !important; margin: 0 !important; float: none !important; }
.woocommerce div.product form.cart .single_add_to_cart_button { width: 100%; min-width: 190px; margin: 0 !important; float: none !important; display: inline-flex !important; align-items: center; justify-content: center; }
.woocommerce div.product .single_add_to_cart_button:disabled,
.woocommerce div.product .single_add_to_cart_button.disabled,
.woocommerce div.product .single_add_to_cart_button.wc-variation-is-unavailable,
.woocommerce div.product .sp-variation-unavailable .single_add_to_cart_button,
.woocommerce div.product .sp-variation-awaiting .single_add_to_cart_button { border-color: var(--sp-line-strong) !important; background: rgba(255,255,255,.07) !important; color: var(--sp-dim) !important; opacity: .72; cursor: not-allowed; pointer-events: none; }
.summary form.cart .quantity.sp-quantity-ready,
.sp-loop-purchase .quantity.sp-quantity-ready { width: 112px !important; min-width: 112px; display: grid !important; grid-template-columns: 34px 44px 34px; direction: ltr; overflow: hidden; border: 1px solid var(--sp-line-strong); border-radius: 11px; background: #090909; }
.summary form.cart .quantity.sp-quantity-ready input.qty,
.sp-loop-purchase .quantity.sp-quantity-ready input.qty { width: 44px !important; min-width: 0; height: 44px; min-height: 44px; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; text-align: center; appearance: textfield; -moz-appearance: textfield; }
.summary form.cart .quantity.sp-quantity-ready input.qty::-webkit-outer-spin-button,
.summary form.cart .quantity.sp-quantity-ready input.qty::-webkit-inner-spin-button,
.sp-loop-purchase .quantity.sp-quantity-ready input.qty::-webkit-outer-spin-button,
.sp-loop-purchase .quantity.sp-quantity-ready input.qty::-webkit-inner-spin-button { margin: 0; appearance: none; -webkit-appearance: none; }
.sp-qty-button { width: 34px; min-width: 34px; min-height: 44px; padding: 0 !important; display: grid; place-items: center; border: 0 !important; border-radius: 0 !important; background: rgba(255,255,255,.055) !important; color: #fff !important; font-size: 19px; font-weight: 500; transform: none !important; }
.sp-qty-button:hover:not(:disabled) { background: rgba(255,255,255,.14) !important; }
.sp-qty-button:disabled { color: var(--sp-dim) !important; cursor: not-allowed; opacity: .46; }
.add_to_cart_button.sp-added { border-color: #fff !important; background: #fff !important; color: #050505 !important; }
.woocommerce div.product table.variations { width: 100%; margin: 0; }
.woocommerce div.product table.variations tr { display: grid; gap: 8px; }
.woocommerce div.product table.variations th, .woocommerce div.product table.variations td { width: 100%; padding: 0; display: block; background: transparent; color: var(--sp-text); text-align: right; }
.woocommerce div.product table.variations th.label { font-size: 13px; color: var(--sp-muted); }
.woocommerce div.product .cfvsw-swatches-container { width: 100% !important; display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px !important; }
.woocommerce div.product .cfvsw-swatches-option { width: 100% !important; min-width: 0 !important; min-height: 52px !important; padding: 8px 13px !important; flex-direction: column; gap: 2px; justify-content: center; border: 1px solid var(--sp-line-strong) !important; border-radius: 11px !important; background: rgba(255,255,255,.035) !important; color: #fff !important; box-shadow: none !important; opacity: 1 !important; filter: none !important; pointer-events: auto !important; cursor: pointer !important; transition: .2s ease !important; }
.woocommerce div.product .cfvsw-swatches-option:hover { border-color: rgba(255,255,255,.55) !important; background: rgba(255,255,255,.09) !important; transform: translateY(-1px); }
.woocommerce div.product .cfvsw-swatches-option.cfvsw-selected-swatch,
.woocommerce div.product .cfvsw-swatches-option.selected,
.woocommerce div.product .cfvsw-swatches-option[aria-checked="true"] { border-color: #fff !important; background: #fff !important; color: #050505 !important; }
.woocommerce div.product .cfvsw-swatch-inner { width: 100% !important; justify-content: center; color: inherit !important; text-align: center; line-height: 1.55; }
.woocommerce div.product .sp-option-stock { display: block; color: var(--sp-muted); font-size: 10px; font-weight: 500; line-height: 1.3; }
.woocommerce div.product .sp-in-stock-option .sp-option-stock { color: #4ade80; }
.woocommerce div.product .sp-out-of-stock-option .sp-option-stock { color: #ff9f9f; }
.woocommerce div.product .cfvsw-selected-swatch .sp-option-stock { color: rgba(5,5,5,.62); }
.woocommerce div.product .cfvsw-selected-swatch.sp-in-stock-option .sp-option-stock { color: #16813e; }
.woocommerce div.product .reset_variations { width: fit-content; margin-top: 8px; color: var(--sp-muted); font-size: 12px; }
select, input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], textarea {
	min-height: 44px; padding: 10px 12px; border: 1px solid var(--sp-line-strong) !important; border-radius: 11px !important; background: #090909 !important; color: #fff !important; box-shadow: none !important;
}
.sp-product-perks { margin: 16px 0; display: flex; gap: 8px; flex-wrap: wrap; }
.sp-product-perks span { padding: 6px 10px; border: 1px solid var(--sp-line); border-radius: 99px; color: var(--sp-muted); font-size: 11px; }
.woocommerce div.product .wc-scm-inner { width: fit-content !important; min-height: 34px; margin: 12px 0; padding: 6px 11px; display: flex !important; align-items: center; gap: 7px; direction: rtl; border: 1px solid var(--sp-line); border-radius: 999px; background: var(--sp-panel); }
.woocommerce div.product .wc-scm-count { color: #fff !important; font-size: 15px !important; font-weight: 700 !important; }
.woocommerce div.product .wc-scm-text { color: var(--sp-muted) !important; font-size: 12px !important; }
.woocommerce div.product p.stock { width: fit-content; margin: 14px 0; padding: 6px 10px; border: 1px solid var(--sp-line); border-radius: 999px; color: var(--sp-muted) !important; font-size: 12px; }
.woocommerce div.product p.stock.out-of-stock { border-color: rgba(255,130,130,.35); color: #ff9f9f !important; }
.woocommerce div.product .product_meta { margin-top: 18px; padding-top: 15px; display: flex; gap: 10px 18px; flex-wrap: wrap; border-top: 1px solid var(--sp-line); color: var(--sp-muted); font-size: 12px; }
.woocommerce div.product .product_meta a { color: #fff; text-decoration-color: var(--sp-line-strong); }
.woocommerce-tabs { grid-column: 1/-1; padding-top: 30px; }
.woocommerce-tabs ul.tabs::before { border-color: var(--sp-line) !important; }
.woocommerce-tabs ul.tabs li { border-color: var(--sp-line) !important; background: var(--sp-panel) !important; color: var(--sp-muted) !important; }
.woocommerce-tabs ul.tabs li.active { background: #fff !important; color: #000 !important; }
.woocommerce-tabs .panel { width: 100%; max-width: 920px; margin-inline: auto !important; overflow-wrap: anywhere; }
.woocommerce-tabs .panel, .woocommerce-tabs .panel p, .woocommerce-tabs .panel li { max-width: 100%; color: var(--sp-muted); line-height: 1.9; }

.woocommerce-message, .woocommerce-info, .woocommerce-error { padding: 17px 20px; border: 1px solid var(--sp-line) !important; border-top: 1px solid var(--sp-line) !important; border-radius: 13px; background: var(--sp-panel) !important; color: #fff !important; list-style: none; }
table.shop_table, .cart_totals, .woocommerce-checkout-review-order, .woocommerce-form-login, .woocommerce-form-register, .woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content {
	border: 1px solid var(--sp-line) !important; border-radius: 16px !important; background: var(--sp-panel) !important; color: var(--sp-text) !important;
}
table.shop_table { width: 100%; border-collapse: separate; border-spacing: 0; }
table.shop_table th, table.shop_table td { padding: 14px; border-color: var(--sp-line) !important; background: transparent !important; color: var(--sp-text) !important; }
table.shop_table img { width: 74px; border-radius: 10px; }
.woocommerce-cart-form th.product-remove,
.woocommerce-cart-form td.product-remove { display: none !important; }
.sp-cart-remove-wrap { margin-top: 12px; }
.woocommerce-cart-form .sp-cart-remove { min-height: 38px; padding: 8px 11px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid rgba(255,130,130,.28); border-radius: 10px; background: rgba(255,90,90,.07); color: #ffb1b1 !important; font-size: 12px; font-weight: 650; line-height: 1.2; text-decoration: none; white-space: nowrap; transition: .2s ease; }
.woocommerce-cart-form .sp-cart-remove:hover { border-color: rgba(255,130,130,.62); background: rgba(255,90,90,.14); color: #fff !important; }
.woocommerce-cart-form .sp-cart-remove svg { width: 15px; height: 15px; flex: 0 0 auto; }
.cart_totals, .woocommerce-checkout-review-order, .woocommerce-form-login, .woocommerce-form-register, .woocommerce-MyAccount-content { padding: 22px !important; }
.woocommerce-cart-form { width: min(100%,740px); float: right; }
.cart-collaterals { width: min(100%,340px); float: left; }
.cart-collaterals::after, .woocommerce::after { content: ""; display: table; clear: both; }
.woocommerce-cart-form .coupon,
.woocommerce-form-coupon-toggle,
.woocommerce-form-coupon,
.power-coupons-view-coupons-btn,
.power-coupons-drawer,
.power-coupons-modal,
.moderncart-coupons-modal { display: none !important; }
.woocommerce-cart-form td.actions { padding: 12px 14px !important; text-align: end !important; }
.woocommerce-cart-form td.actions .button[name="update_cart"] { min-width: 140px; }
form.woocommerce-checkout { width: 100% !important; max-width: none !important; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr); gap: 20px 28px; align-items: start; float: none !important; }
.woocommerce-checkout #customer_details { width: 100% !important; grid-column: 1; grid-row: 1/3; padding: 24px; float: none !important; border: 1px solid var(--sp-line); border-radius: 17px; background: var(--sp-panel); box-sizing: border-box; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { width: 100% !important; max-width: 100%; min-width: 0; float: none !important; box-sizing: border-box; }
.woocommerce-checkout #customer_details .col-2 { margin-top: 22px; }
.woocommerce-checkout #order_review_heading { width: 100% !important; grid-column: 2; margin: 0; padding: 0 2px; float: none !important; color: #fff; font-size: 24px; }
.woocommerce-checkout #order_review { width: 100% !important; grid-column: 2; float: none !important; }
.woocommerce-checkout-review-order { padding: 20px !important; }
.woocommerce-checkout-review-order table.shop_table { margin-bottom: 18px !important; }
.woocommerce-checkout-review-order #payment { margin-top: 4px; }
.woocommerce-checkout .form-row { margin: 0 0 15px !important; }
.woocommerce-checkout .form-row label { margin-bottom: 7px; display: block; color: var(--sp-muted); font-size: 12px; }
.woocommerce-MyAccount-navigation { width: 230px; float: right; padding: 8px; }
.woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-MyAccount-navigation li a { padding: 11px 13px; display: block; border-radius: 10px; color: var(--sp-muted); text-decoration: none; }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li a:hover { background: rgba(255,255,255,.09); color: #fff; }
.woocommerce-MyAccount-content { width: calc(100% - 255px); float: left; min-height: 340px; }
#payment { padding: 18px; border: 1px solid var(--sp-line); border-radius: 16px; background: var(--sp-panel) !important; }
#payment ul.payment_methods { list-style: none; padding: 0; }
#payment div.payment_box { padding: 14px; background: rgba(255,255,255,.06) !important; color: var(--sp-muted) !important; }

.woocommerce-order { width: min(100%,980px); margin-inline: auto; }
.woocommerce-order > p:first-child { margin-top: 0; }
.sp-order-success { margin: 0 0 24px; padding: 30px; display: grid; grid-template-columns: 60px minmax(0,1fr); gap: 18px; align-items: center; border: 1px solid rgba(74,222,128,.34); border-radius: 20px; background: linear-gradient(135deg,rgba(74,222,128,.1),rgba(255,255,255,.025) 55%); }
.sp-order-success-icon { width: 60px; height: 60px; display: grid; place-items: center; border: 1px solid rgba(74,222,128,.45); border-radius: 18px; background: rgba(74,222,128,.12); color: #4ade80; }
.sp-order-success-icon svg { width: 30px; height: 30px; }
.sp-order-status { display: block; margin-bottom: 5px; color: #4ade80; font-size: 12px; font-weight: 700; }
.sp-order-success h1 { margin: 0; color: #fff; font-size: clamp(29px,4vw,42px); line-height: 1.3; }
.sp-order-success p { max-width: 650px; margin: 8px 0 0; color: var(--sp-muted); line-height: 1.8; }
.woocommerce-order .woocommerce-order-overview { margin: 0 0 22px !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fit,minmax(170px,1fr)); gap: 10px; list-style: none; }
.woocommerce-order .woocommerce-order-overview li { width: auto !important; min-width: 0; margin: 0 !important; padding: 14px !important; float: none !important; border: 1px solid var(--sp-line) !important; border-radius: 13px; background: var(--sp-panel); color: var(--sp-muted); font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.woocommerce-order .woocommerce-order-overview li strong { min-width: 0; margin-top: 5px; display: block; color: #fff; font-size: 14px; font-weight: 650; overflow-wrap: anywhere; word-break: break-word; }
.woocommerce-order .woocommerce-order-overview__email strong { direction: ltr; unicode-bidi: plaintext; text-align: right; font-size: 13px; }
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details,
.sp-order-credentials-intro,
.sp-order-help { margin: 20px 0 0; padding: 24px; border: 1px solid var(--sp-line); border-radius: 17px; background: var(--sp-panel); }
.woocommerce-order h2, .sp-order-credentials-intro h2, .sp-order-help h2 { margin: 0 0 13px; color: #fff; font-size: 22px; }
.sp-order-credentials-intro h2, .sp-order-help h2 { margin-top: 5px; }
.sp-order-credentials-intro p, .sp-order-help p { margin: 0; color: var(--sp-muted); line-height: 1.8; }
.woocommerce-order .shop_table { margin: 0 !important; overflow: hidden; }
.woocommerce-order .woocommerce-table__product-name a { color: #fff; font-weight: 650; text-decoration: none; }
.woocommerce-order .wc-item-meta { margin: 7px 0 0; padding: 0; color: var(--sp-muted); list-style: none; }
.woocommerce-order code, .woocommerce-order pre, .woocommerce-order .license-key { padding: 9px 11px; border: 1px solid var(--sp-line-strong); border-radius: 9px; background: #050505; color: #fff; font-family: ui-monospace,SFMono-Regular,Consolas,monospace; direction: ltr; overflow-wrap: anywhere; }
.sp-order-help { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 24px; align-items: center; }
.sp-order-help-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.sp-order-help-actions .sp-button { min-height: 42px; padding: 10px 14px; }

.sp-contact { min-height: 560px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 50px; align-items: center; }
.sp-contact-copy h1 { margin: 8px 0 9px; color: #fff; font-size: clamp(38px,6vw,62px); }
.sp-contact-copy > p:not(.sp-eyebrow) { max-width: 440px; margin: 0; color: var(--sp-muted); line-height: 1.9; }
.sp-contact-note { width: fit-content; margin-top: 24px; padding: 10px 13px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--sp-line); border-radius: 11px; background: var(--sp-panel); color: var(--sp-muted); font-size: 12px; }
.sp-contact-note svg { width: 17px; height: 17px; color: #fff; }
.sp-contact-card { padding: 27px; border: 1px solid var(--sp-line); border-radius: 18px; background: linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015)); }
.sp-contact-card .sp-eyebrow { margin-bottom: 0; }
.sp-contact-card h2 { margin: 6px 0 3px; font-size: 24px; }
.sp-contact-card > p { margin: 0 0 19px; color: var(--sp-muted); font-size: 13px; }
.sp-channel { margin-top: 10px; padding: 15px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 13px; border: 1px solid var(--sp-line-strong); border-radius: 14px; background: rgba(255,255,255,.025); text-decoration: none; transition: .22s ease; }
.sp-channel:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.52); background: rgba(255,255,255,.07); }
.sp-channel-icon { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--sp-line-strong); border-radius: 12px; background: rgba(255,255,255,.07); }
.sp-channel-icon svg { width: 22px; height: 22px; }
.sp-channel-copy { display: grid; gap: 2px; }
.sp-channel-copy strong { direction: ltr; justify-self: start; }
.sp-channel-copy small { color: var(--sp-muted); }
.sp-external-icon { width: 17px; height: 17px; color: var(--sp-muted); }
.sp-contact-privacy { margin-top: 18px; padding-top: 18px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 16px; border-top: 1px solid var(--sp-line); }
.sp-contact-privacy strong { display: block; margin-bottom: 3px; color: #fff; font-size: 14px; }
.sp-contact-privacy p { margin: 0; color: var(--sp-muted); font-size: 12px; line-height: 1.7; }
.sp-contact-privacy .sp-button { min-height: 40px; padding: 9px 13px; font-size: 12px; white-space: nowrap; }

.sp-cart-recovery { width: min(1120px,100%); margin: 0 auto; }
.sp-cart-recovery-card { margin-bottom: 34px; padding: 28px; border: 1px solid var(--sp-line-strong); border-radius: 18px; background: linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012)); }
.sp-cart-recovery-card h2 { margin: 7px 0 9px; color: #fff; font-size: clamp(28px,5vw,42px); }
.sp-cart-recovery-card > p:not(.sp-eyebrow) { max-width: 720px; margin: 0; color: var(--sp-muted); line-height: 1.9; }
.sp-cart-recovery-actions { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 9px; }
.sp-cart-recovery-products { margin-top: 28px; }
.sp-cart-recovery-products .sp-section-heading { margin-bottom: 18px; }

.sp-privacy { width: min(860px,100%); margin: 0 auto; }
.sp-privacy-hero { margin-bottom: 28px; padding: 30px; border: 1px solid var(--sp-line); border-radius: 20px; background: linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012)); }
.sp-privacy-hero h1 { margin: 7px 0 10px; color: #fff; font-size: clamp(36px,6vw,58px); line-height: 1.15; }
.sp-privacy-hero > p:not(.sp-eyebrow):not(.sp-privacy-updated) { max-width: 700px; margin: 0; color: var(--sp-muted); font-size: 15px; line-height: 1.9; }
.sp-privacy-updated { margin: 18px 0 0 !important; color: var(--sp-dim) !important; font-size: 12px !important; }
.sp-privacy-sections { display: grid; gap: 14px; }
.sp-privacy-section { padding: 24px 26px; border: 1px solid var(--sp-line); border-radius: 16px; background: var(--sp-panel); }
.sp-privacy-section h2 { margin: 0 0 10px; color: #fff; font-size: 20px; }
.sp-privacy-section p { margin: 0 0 10px; color: var(--sp-muted); line-height: 1.9; }
.sp-privacy-section p:last-child { margin-bottom: 0; }
.sp-privacy-section ul { margin: 0; padding-inline-start: 21px; color: var(--sp-muted); }
.sp-privacy-section li { margin: 7px 0; line-height: 1.8; }
.sp-privacy-contact { margin-top: 18px; padding: 22px 24px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid var(--sp-line-strong); border-radius: 16px; background: var(--sp-panel-strong); }
.sp-privacy-contact h2 { margin: 0 0 5px; color: #fff; font-size: 19px; }
.sp-privacy-contact p { margin: 0; color: var(--sp-muted); font-size: 13px; line-height: 1.7; }
.sp-privacy-contact .sp-button { flex: 0 0 auto; }

.sp-footer { border-top: 1px solid var(--sp-line); background: #000; }
.sp-footer-inner { width: min(1120px,calc(100% - 40px)); min-height: 86px; margin: 0 auto; display: flex; align-items: center; gap: 24px; }
.sp-socials { display: flex; gap: 7px; }
.sp-socials a { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--sp-line-strong); border-radius: 10px; background: var(--sp-panel); transition: .2s ease; }
.sp-socials a:hover { transform: translateY(-2px); border-color: #fff; background: var(--sp-panel-strong); }
.sp-socials svg { width: 18px; height: 18px; }
.sp-footer-links { display: flex; align-items: center; gap: 14px; }
.sp-footer-links a { color: var(--sp-muted); font-size: 12px; text-decoration: none; }
.sp-footer-links a:hover { color: #fff; }
.sp-copyright { margin-inline-start: auto; color: var(--sp-dim); font-size: 12px; direction: ltr; }

#spectral-theme-toast { position: fixed; z-index: 1200; top: 92px; left: 50%; padding: 11px 18px; border: 1px solid rgba(255,255,255,.35); border-radius: 12px; background: rgba(12,12,12,.96); color: #fff; box-shadow: 0 12px 32px rgba(0,0,0,.65); opacity: 0; pointer-events: none; transform: translate(-50%,-10px); transition: .22s ease; }
#spectral-theme-toast.is-visible { opacity: 1; transform: translate(-50%,0); }
#spectral-theme-toast { display: none !important; }
.sp-reveal-ready { opacity: 0; transform: translateY(16px) scale(.97); transition: opacity .42s ease-out var(--sp-delay,0ms), transform .54s cubic-bezier(.18,.89,.32,1.12) var(--sp-delay,0ms) !important; }
.sp-reveal-ready.sp-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
@media (max-width: 900px) {
	body.admin-bar .sp-header-wrap { top: 46px; }
	.woocommerce ul.products, .wc-block-grid__products { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
	.woocommerce div.product { gap: 28px; }
	.woocommerce-cart-form, .cart-collaterals { width: 100%; float: none; }
	.cart-collaterals { margin-top: 22px; }
	form.woocommerce-checkout { display: grid; grid-template-columns: minmax(0,1fr); width: 100% !important; max-width: 100%; min-width: 0; overflow: visible; }
	.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { width: 100% !important; max-width: 100%; min-width: 0; grid-column: 1; grid-row: auto; float: none !important; box-sizing: border-box; }
}
@media (max-width: 768px) {
	body { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
	.sp-container, .sp-catalogue, .sp-features { width: calc(100% - 28px); }
	.sp-container { padding: 28px 0 40px; }
	.sp-header-wrap { padding: 10px 12px 6px; }
	.sp-header { min-height: 56px; padding: 9px 12px; gap: 10px; border-radius: 14px; }
	.sp-desktop-nav { display: none; }
	.sp-brand { font-size: 14px; }
	.sp-language-switcher { margin-inline-start: 0; }
	.sp-language-switcher a { min-width: 27px; min-height: 29px; padding: 4px 5px; font-size: 9px; }
	#spectral-currency-root { margin-inline-start: auto; }
	.sp-currency label { display: none; }
	.sp-currency select { width: 76px; min-height: 36px; padding: 5px 7px; }
	.sp-cart-chip span:not(.sp-cart-count) { display: none; }
	#spectral-mobile-root { display: block; }
	.sp-mobile-nav { position: fixed; z-index: 1150; right: 10px; bottom: calc(8px + env(safe-area-inset-bottom)); left: 10px; min-height: 62px; padding: 7px 6px; display: grid; grid-template-columns: repeat(5,1fr); gap: 2px; border: 1px solid rgba(255,255,255,.14); border-radius: 18px; background: rgba(9,9,10,.95); backdrop-filter: blur(18px); box-shadow: 0 18px 55px rgba(0,0,0,.82); }
	.sp-mobile-nav a { position: relative; min-width: 0; padding: 5px 2px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; border-radius: 12px; color: var(--sp-muted); text-decoration: none; }
	.sp-mobile-nav a.is-active { background: rgba(255,255,255,.1); color: #fff; }
	.sp-mobile-nav a span { font-size: 10px; white-space: nowrap; }
	.sp-mobile-nav svg { width: 19px; height: 19px; }
	.sp-mobile-cart-count { position: absolute; top: 0; right: calc(50% - 19px); min-width: 17px; height: 17px; display: grid; place-items: center; border-radius: 99px; background: #fff; color: #000; font-size: 9px; }
	.sp-hero { min-height: 400px; padding: 60px 18px; }
	.sp-hero h1 { font-size: clamp(39px,13vw,58px); }
	.sp-hero-copy { font-size: 15px; }
	.sp-catalogue { padding-top: 44px; }
	.woocommerce ul.products, .wc-block-grid__products {
		display: flex !important;
		grid-template-columns: none !important;
		gap: 14px !important;
		margin-inline: -14px !important;
		padding: 0 14px 10px !important;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-inline: contain;
		scroll-padding-inline: 14px;
		scroll-snap-type: inline mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	.woocommerce ul.products::-webkit-scrollbar, .wc-block-grid__products::-webkit-scrollbar { display: none; }
	.woocommerce ul.products li.product, .wc-block-grid__product { width: min(86vw,300px) !important; flex: 0 0 min(86vw,300px) !important; scroll-snap-align: start; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 0; font-size: 16px !important; }
	.woocommerce ul.products li.product .sp-loop-purchase { grid-template-columns: 112px minmax(0,1fr); }
	.sp-features { grid-template-columns: 1fr; padding-bottom: 50px; }
	.woocommerce div.product { grid-template-columns: 1fr; gap: 25px; }
	.woocommerce div.product > * { width: 100%; min-width: 0; }
	.woocommerce div.product div.images { width: 100% !important; max-width: 100%; }
	.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
	.woocommerce div.product div.images .woocommerce-product-gallery__image { width: 100% !important; max-width: 100%; }
	.woocommerce div.product .cfvsw-swatches-container { grid-template-columns: 1fr; }
	.woocommerce-tabs { width: 100%; min-width: 0; grid-column: auto; }
	.woocommerce-tabs .panel { padding-inline: 2px; font-size: 15px; }
	.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content { width: 100%; float: none; }
	.woocommerce-cart-form .sp-cart-remove { width: 100%; min-height: 42px; justify-content: center; }
	.woocommerce-cart-form td.actions { display: block !important; }
	.woocommerce-cart-form td.actions .button[name="update_cart"] { width: 100%; }
	form.woocommerce-checkout, .woocommerce-checkout #customer_details, .woocommerce-checkout-review-order { width: 100% !important; max-width: 100%; min-width: 0; box-sizing: border-box; }
	.woocommerce-checkout #customer_details, .woocommerce-checkout-review-order { padding: 18px !important; }
	.woocommerce-MyAccount-content { margin-top: 16px; }
	.sp-order-success { padding: 21px; grid-template-columns: 48px minmax(0,1fr); gap: 13px; }
	.sp-order-success-icon { width: 48px; height: 48px; border-radius: 14px; }
	.sp-order-success-icon svg { width: 24px; height: 24px; }
	.sp-order-success h1 { font-size: 27px; }
	.woocommerce-order .woocommerce-order-overview { grid-template-columns: 1fr 1fr; }
	.woocommerce-order .woocommerce-order-details, .woocommerce-order .woocommerce-customer-details, .sp-order-credentials-intro, .sp-order-help { padding: 18px; }
	.sp-order-help { grid-template-columns: 1fr; }
	.sp-order-help-actions { display: grid; grid-template-columns: 1fr 1fr; justify-content: stretch; }
	.sp-order-help-actions .sp-button-primary { grid-column: 1/-1; }
	.sp-contact { min-height: 0; grid-template-columns: 1fr; gap: 30px; }
	.sp-contact-card { padding: 20px; }
	.sp-contact-privacy { grid-template-columns: 1fr; }
	.sp-contact-privacy .sp-button { width: 100%; }
	.sp-cart-recovery-card { padding: 21px; }
	.sp-cart-recovery-actions { display: grid; grid-template-columns: 1fr; }
	.sp-cart-recovery-actions .sp-button { width: 100%; }
	.sp-privacy-hero { padding: 22px; }
	.sp-privacy-section { padding: 20px; }
	.sp-privacy-contact { align-items: stretch; flex-direction: column; }
	.sp-privacy-contact .sp-button { width: 100%; }
	.sp-footer-inner { width: calc(100% - 28px); min-height: 96px; padding: 18px 0; flex-wrap: wrap; gap: 12px; }
	.sp-footer-links { order: 3; width: 100%; }
	.sp-copyright { font-size: 10px; }
	#spectral-theme-toast { top: auto; bottom: calc(84px + env(safe-area-inset-bottom)); white-space: nowrap; }
}
@media (max-width: 480px) {
	.sp-header-wrap { padding-inline: 8px; }
	.sp-header { padding-inline: 8px; gap: 7px; }
	.sp-brand { font-size: 12px; letter-spacing: .045em; }
	.sp-language-switcher { padding: 2px; }
	.sp-language-switcher a { min-width: 24px; min-height: 27px; padding-inline: 4px; }
	.sp-currency select { width: 68px; padding-inline: 5px; font-size: 11px; }
	.sp-cart-chip { min-height: 36px; padding: 6px 8px; gap: 5px; }
	.sp-cart-chip svg { width: 16px; height: 16px; }
	.sp-cart-count { min-width: 18px; height: 18px; padding-inline: 4px; }
	.woocommerce-order .woocommerce-order-overview { grid-template-columns: 1fr; }
	.sp-order-success { grid-template-columns: 42px minmax(0,1fr); padding: 18px; gap: 11px; }
	.sp-order-success-icon { width: 42px; height: 42px; }
	.sp-order-success h1 { font-size: 25px; }
}
