/* ==========================================================================
   Nyxo Site 0.2.0: the v2 layer (v0.3: header/footer/home/inner pages now come from nx3-shell.css; K9/K11/K13/K19 fixed here). Loads after nyxo.css on every page.
   Part A: design system v2 (pills everywhere, Manrope UI, mono only for data,    white/ice product wells, solid card buttons, glass header, Discord band, gate, cart fixes).
   Part B: Nyx Night (Halloween). Every seasonal rule starts with
   html:not(.nyxo-night-expired) body.nyxo.nyxo-night, so it all switches off at
   2026-11-01 00:00 ET (server body class + head check + nyxo.js). Decorations dress the frame only:
   never labels, product photos, the logo, COAs or checkout. They ignore the pointer, never sit over
   text or prices, stop under prefers-reduced-motion and pause while the tab is hidden.
   Contested selectors use .nyxo:not(#a#b#c#d) (four ID-weights, always true) to outrank nyxo.css and the legacy snippets.
   ========================================================================== */

/* ---------- A1. Tokens ---------- */
body.nyxo { --nx-ink: #1B2A4E; --nx-primary: #2559DB; --nx-primary-2: #1D47B8; --nx-page: #FBF8F3; --nx-hair: #E6E1D8; --nx-line: #E6E1D8; --nx-text: #4A5568; --nx-muted: #8A93A6; --nx-amber: #F2A541; --nx-amber-ink: #B45309; --nx-amber-bg: #FDF0DD; --nx-discord: #5865F2; --nx-well: radial-gradient(120% 90% at 50% 35%, #FFFFFF 0%, #EEF2FF 100%); --nx-r-md: 18px; --nx-r-lg: 28px; --nx-sh-2: 0 1px 2px rgba(27, 42, 78, .04), 0 10px 30px -18px rgba(27, 42, 78, .18); --nx-sh-float: 0 30px 60px -30px rgba(27, 42, 78, .35); --nx-ease: cubic-bezier(.2, .8, .2, 1); --nx-night-grad: linear-gradient(170deg, #0B1430 0%, #1B2A4E 40%, #3A1E5C 75%, #7A2E10 100%); --nx-btn: 600 13.5px/1 var(--nx-font); --nx-pumpkin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 7.2c-1-1.1-2.8-1.5-4.3-.8C5.3 7.4 4 9.8 4 12.8c0 3.9 3.2 6.7 8 6.7s8-2.8 8-6.7c0-3-1.3-5.4-3.7-6.4-1.5-.7-3.3-.3-4.3.8Z'/%3E%3Cpath d='M12 7.2c-.9 1.5-1.3 3.4-1.3 5.6s.4 5.2 1.3 6.7M12 7.2c.9 1.5 1.3 3.4 1.3 5.6s-.4 5.2-1.3 6.7M12 7.2c0-1.7.7-3 2.2-3.7'/%3E%3C/svg%3E"); --nx-cart-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h15l-1.5 8.5a2 2 0 0 1-2 1.5H9.2a2 2 0 0 1-2-1.6L5 4H2.5'/%3E%3Ccircle cx='9.5' cy='20.5' r='1'/%3E%3Ccircle cx='17.5' cy='20.5' r='1'/%3E%3C/svg%3E"); --nx-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B2A4E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); }

/* ---------- A2. Type: Manrope for UI, mono only for data ---------- */
.nyxo:not(#a#b#c#d) .nyxo-eyebrow, .nyxo:not(#a#b#c#d) .ast-woo-product-category, .nyxo:not(#a#b#c#d) ul.products li.product .ast-woo-product-category, .nyxo:not(#a#b#c#d) .nyxo-card__cat, .nyxo:not(#a#b#c#d) .woocommerce-breadcrumb, .nyxo:not(#a#b#c#d).single-product .summary .single-product-category, .nyxo:not(#a#b#c#d).single-product .summary .single-product-category a, .nyxo:not(#a#b#c#d) .nyxo-pdp-pass__title, .nyxo:not(#a#b#c#d) .nyxo-pass__brand, .nyxo:not(#a#b#c#d) .nyxo-pass__rows dt, .nyxo:not(#a#b#c#d) .nyxo-offer__also b, .nyxo:not(#a#b#c#d) .nyxo-footer__h, .nyxo:not(#a#b#c#d) .nyxo-catlinks__lbl, .nyxo:not(#a#b#c#d) .molpd-cap, .nyxo:not(#a#b#c#d) .wc-block-cart__totals-title, .nyxo:not(#a#b#c#d) .wc-block-cart-items th, .nyxo:not(#a#b#c#d).single-product form.cart table.variations th.label, .nyxo:not(#a#b#c#d).single-product form.cart table.variations th.label label, .nyxo:not(#a#b#c#d) .molpd-spec th, .nyxo:not(#a#b#c#d) table.shop_attributes th, .nyxo:not(#a#b#c#d) .moltb__tag { font-family: var(--nx-font) !important; font-size: 12.5px !important; font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase !important; line-height: 1.3 !important; }
.nyxo:not(#a#b#c#d) .ast-woo-product-category, .nyxo:not(#a#b#c#d) ul.products li.product .ast-woo-product-category, .nyxo:not(#a#b#c#d) .nyxo-card__cat { font-size: 11.5px !important; letter-spacing: .12em !important; color: var(--nx-muted) !important; }
.nyxo:not(#a#b#c#d) .woocommerce-breadcrumb, .nyxo:not(#a#b#c#d) .woocommerce-breadcrumb a { color: #5F6B85 !important; text-decoration: none !important; font-size: 13.5px !important; font-weight: 500 !important; text-transform: none !important; letter-spacing: 0 !important; }
.nyxo:not(#a#b#c#d) .woocommerce-breadcrumb a:hover { color: var(--nx-primary) !important; }
.nyxo:not(#a#b#c#d) .molpd-spec td, .nyxo:not(#a#b#c#d) table.shop_attributes td, .nyxo:not(#a#b#c#d) .mol-stock, .nyxo:not(#a#b#c#d) .stock, .nyxo:not(#a#b#c#d) .mol-cutoff, .nyxo:not(#a#b#c#d) .molsl, .nyxo:not(#a#b#c#d) .product_meta, .nyxo:not(#a#b#c#d) .woocommerce-result-count, .nyxo:not(#a#b#c#d) .nyxo-chip, .nyxo:not(#a#b#c#d) .molgrid-badge, .nyxo:not(#a#b#c#d) .mol-pill, .nyxo:not(#a#b#c#d) .variable-items-wrapper .variable-item:not(.radio-variable-item), .nyxo:not(#a#b#c#d) .mol-bundle-badge, .nyxo:not(#a#b#c#d) .mol-bundle-save, .nyxo:not(#a#b#c#d) .quantity .qty, .nyxo:not(#a#b#c#d) .wc-block-components-quantity-selector input, .nyxo:not(#a#b#c#d) .woocommerce-pagination .page-numbers a, .nyxo:not(#a#b#c#d) .woocommerce-pagination .page-numbers span, .nyxo:not(#a#b#c#d) #masthead .mol-cart-count, .nyxo:not(#a#b#c#d) .nyxo-footer__mail, .nyxo:not(#a#b#c#d) .molpp-coa-h, .nyxo:not(#a#b#c#d) .molpp-lab { font-family: var(--nx-font) !important; font-variant-numeric: tabular-nums; }
.nyxo:not(#a#b#c#d) .molpd-spec td, .nyxo:not(#a#b#c#d) table.shop_attributes td { font-size: 14.5px !important; letter-spacing: 0 !important; }
.nyxo:not(#a#b#c#d) .nyxo-mono, .nyxo:not(#a#b#c#d) .nyxo-price__permg, .nyxo:not(#a#b#c#d) .nyxo-permg, .nyxo:not(#a#b#c#d) .nyxo-pdp-pass__lot, .nyxo:not(#a#b#c#d) .nyxo-pass__rows dd, .nyxo:not(#a#b#c#d) .nyxo-cd__t { font-family: var(--nx-mono) !important; font-variant-numeric: tabular-nums; }
.nyxo:not(#a#b#c#d) h1, .nyxo:not(#a#b#c#d) h2, .nyxo:not(#a#b#c#d) h3 { font-family: var(--nx-font) !important; }
.nyxo:not(#a#b#c#d) .nyxo-h2, .nyxo:not(#a#b#c#d) section.related.products > h2, .nyxo:not(#a#b#c#d) section.up-sells > h2 { font-size: clamp(30px, 3.4vw, 48px) !important; font-weight: 700 !important; line-height: 1.04 !important; letter-spacing: -.035em !important; }
.nyxo:not(#a#b#c#d).single-product .summary .product_title { font-size: clamp(36px, 4vw, 56px) !important; font-weight: 700 !important; line-height: 1 !important; letter-spacing: -.04em !important; margin: 6px 0 14px !important; }
.nyxo:not(#a#b#c#d) .molban .molban__title, .nyxo:not(#a#b#c#d) .woocommerce-products-header__title, .nyxo:not(#a#b#c#d).page:not(.nyxo-home) .entry-title { font-size: clamp(40px, 5vw, 72px) !important; font-weight: 700 !important; line-height: .98 !important; letter-spacing: -.045em !important; color: var(--nx-ink) !important; }

/* ---------- A3. Buttons: one pill shape, uppercase, tracked ---------- */
body.nyxo .nyxo-btn, .nyxo:not(#a#b#c#d) .woocommerce a.button, .nyxo:not(#a#b#c#d) .woocommerce button.button, .nyxo:not(#a#b#c#d) .woocommerce input.button, .nyxo:not(#a#b#c#d) a.button.wc-forward, .nyxo:not(#a#b#c#d) .wp-block-button__link, .nyxo:not(#a#b#c#d) .wc-block-components-button:not(.is-link), .nyxo:not(#a#b#c#d) .single_add_to_cart_button, .nyxo:not(#a#b#c#d) .molpp-buy .single_add_to_cart_button, .nyxo:not(#a#b#c#d).single-product .summary form.cart button.single_add_to_cart_button, .nyxo:not(#a#b#c#d) .wc-block-cart__submit-button, .nyxo:not(#a#b#c#d) .wc-block-components-checkout-place-order-button, .nyxo:not(#a#b#c#d) .checkout-button, .nyxo:not(#a#b#c#d) .molrev__btn, .nyxo:not(#a#b#c#d) .mol-buybar__btn, .nyxo:not(#a#b#c#d) .molban__cta { font: var(--nx-btn) !important; letter-spacing: .12em !important; text-transform: uppercase !important; border-radius: 999px !important; min-height: 48px; transition: background-color 180ms var(--nx-ease), color 180ms var(--nx-ease), transform 180ms var(--nx-ease), box-shadow 180ms var(--nx-ease) !important; }
body.nyxo .nyxo-btn:not(.nyxo-btn--ghost):not(.nyxo-btn--cream):not(.nyxo-btn--line):not(.nyxo-btn--atc):not(.nyxo-btn--discord), .nyxo:not(#a#b#c#d) .wc-block-cart__submit-button, .nyxo:not(#a#b#c#d) .wc-block-components-checkout-place-order-button, .nyxo:not(#a#b#c#d) .single_add_to_cart_button, .nyxo:not(#a#b#c#d) .molpp-buy .single_add_to_cart_button, .nyxo:not(#a#b#c#d).single-product .summary form.cart button.single_add_to_cart_button, .nyxo:not(#a#b#c#d) .mol-buybar__btn { background: var(--nx-primary) !important; color: #fff !important; }
body.nyxo .nyxo-btn:not(.nyxo-btn--ghost):not(.nyxo-btn--cream):not(.nyxo-btn--line):not(.nyxo-btn--atc):not(.nyxo-btn--discord):hover, .nyxo:not(#a#b#c#d) .wc-block-cart__submit-button:hover, .nyxo:not(#a#b#c#d) .single_add_to_cart_button:hover, .nyxo:not(#a#b#c#d) .molpp-buy .single_add_to_cart_button:hover, .nyxo:not(#a#b#c#d).single-product .summary form.cart button.single_add_to_cart_button:hover, .nyxo:not(#a#b#c#d) .mol-buybar__btn:hover { background: var(--nx-primary-2) !important; color: #fff !important; }
.nyxo:not(#a#b#c#d) .wc-block-components-button:not(.is-link) .wc-block-components-button__text, .nyxo:not(#a#b#c#d) .wc-block-cart__submit-button *, .nyxo:not(#a#b#c#d) .wc-block-components-checkout-place-order-button * { color: #fff !important; }
body.nyxo .nyxo-btn--hero { min-height: 52px !important; padding: 0 30px !important; }
body.nyxo .nyxo-btn--line { background: transparent !important; color: #fff !important; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .35) !important; }
body.nyxo .nyxo-btn--line:hover { box-shadow: inset 0 0 0 1.5px #fff !important; background: rgba(255, 255, 255, .06) !important; }
body.nyxo .nyxo-btn--line .nyxo-ic { color: var(--nx-amber); }
body.nyxo .nyxo-btn--cream { background: var(--nx-page) !important; color: var(--nx-ink) !important; }
body.nyxo .nyxo-btn--ghost { background: transparent !important; color: var(--nx-ink) !important; box-shadow: inset 0 0 0 1.5px var(--nx-ink) !important; }
body.nyxo .nyxo-btn--ghost:hover { background: var(--nx-ink) !important; color: var(--nx-page) !important; }
body.nyxo .nyxo-btn--discord { background: var(--nx-discord) !important; color: #fff !important; min-height: 52px; padding: 0 26px !important; }
body.nyxo .nyxo-btn--discord:hover { background: #4752C4 !important; transform: translateY(-1px); }
body.nyxo .nyxo-btn--discord .nyxo-ic { width: 20px; height: 20px; }

/* ---------- A4. Controls: inputs, search, selects, steppers are pills ---------- */
.nyxo:not(#a#b#c#d) .mol-shop-search { max-width: 560px; }
.nyxo:not(#a#b#c#d) .mol-shop-search input, .nyxo:not(#a#b#c#d) .mol-search-input, .nyxo:not(#a#b#c#d) .woocommerce-ordering select, .nyxo:not(#a#b#c#d) .wc-block-components-totals-coupon input, .nyxo:not(#a#b#c#d) .wc-block-components-text-input input, .nyxo:not(#a#b#c#d) .woocommerce form .form-row input.input-text, .nyxo:not(#a#b#c#d) .woocommerce form .form-row select, .nyxo:not(#a#b#c#d) .mle-oos__form input[type="email"] { border-radius: 999px !important; min-height: 48px !important; border: 1px solid var(--nx-hair) !important; background-color: #fff !important; font-family: var(--nx-font) !important; box-shadow: none !important; }
.nyxo:not(#a#b#c#d) .wc-block-components-text-input input, .nyxo:not(#a#b#c#d) .woocommerce form .form-row input.input-text { padding-left: 20px !important; padding-right: 20px !important; }
.nyxo:not(#a#b#c#d) .wc-block-components-text-input label { left: 21px !important; }
.nyxo:not(#a#b#c#d) .mol-shop-search input, .nyxo:not(#a#b#c#d) .mol-search-input { padding-left: 46px !important; }
.nyxo:not(#a#b#c#d) .mol-shop-search input:focus, .nyxo:not(#a#b#c#d) .mol-search-input:focus { border-color: var(--nx-primary) !important; box-shadow: 0 0 0 4px rgba(37, 89, 219, .14) !important; }
.nyxo:not(#a#b#c#d) .mol-shop-search .mol-search-icon { color: var(--nx-muted) !important; }
.nyxo:not(#a#b#c#d) .woocommerce-ordering select, .nyxo:not(#a#b#c#d) .moltb .moltb__sel { -webkit-appearance: none !important; appearance: none !important; background: #fff var(--nx-chev) right 16px center / 18px 18px no-repeat !important; padding: 0 44px 0 20px !important; color: var(--nx-ink) !important; font: 600 15px/1.2 var(--nx-font) !important; cursor: pointer; }
.nyxo:not(#a#b#c#d) .mle-oos__btn { border-radius: 999px !important; }
/* qty stepper (legacy .molpp-buy markup) */
.nyxo:not(#a#b#c#d) .molpp-buy { display: flex !important; flex-wrap: wrap; align-items: stretch; gap: 10px !important; width: 100%; }
.nyxo:not(#a#b#c#d) .molpp-buy .quantity { display: inline-flex !important; align-items: center; justify-content: space-between; height: 56px; width: 136px; flex: 0 0 136px; padding: 0 7px !important; border: 1px solid var(--nx-hair) !important; border-radius: 999px !important; background: #fff !important; box-sizing: border-box; margin: 0 !important; }
.nyxo:not(#a#b#c#d) .molpp-buy .quantity .qty, .nyxo:not(#a#b#c#d).single-product .molpp-buy .quantity input.qty { border: 0 !important; min-height: 0 !important; height: 40px !important; width: 40px !important; padding: 0 !important; background: transparent !important; text-align: center; font: 700 16px/1 var(--nx-font) !important; color: var(--nx-ink) !important; box-shadow: none !important; -moz-appearance: textfield; }
.nyxo:not(#a#b#c#d) .molpp-buy .quantity .qty::-webkit-inner-spin-button, .nyxo:not(#a#b#c#d) .molpp-buy .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.nyxo:not(#a#b#c#d) .molpp-q { width: 40px !important; height: 40px !important; min-height: 0 !important; border-radius: 50% !important; border: 0 !important; background: var(--nx-ice) !important; color: var(--nx-ink) !important; font: 600 18px/1 var(--nx-font) !important; padding: 0 !important; display: inline-flex !important; align-items: center; justify-content: center; box-shadow: none !important; cursor: pointer; }
.nyxo:not(#a#b#c#d) .molpp-q:hover { background: #DDE4FB !important; }
.nyxo:not(#a#b#c#d) .molpp-buy .single_add_to_cart_button, .nyxo:not(#a#b#c#d).single-product .summary form.cart .molpp-buy button.single_add_to_cart_button { flex: 1 1 200px !important; min-height: 56px !important; height: 56px; padding: 0 24px !important; }
body.nyxo .nyxo-lotbtn { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 56px; padding: 0 22px; border-radius: 999px; box-shadow: inset 0 0 0 1.5px var(--nx-ink); color: var(--nx-ink) !important; font: var(--nx-btn); letter-spacing: .12em; text-transform: uppercase; text-decoration: none !important; white-space: nowrap; transition: background-color 180ms var(--nx-ease), color 180ms var(--nx-ease); }
body.nyxo .nyxo-lotbtn:hover { background: var(--nx-ink); color: #fff !important; }
@media (max-width: 600px) {
	.nyxo:not(#a#b#c#d) ul.products li.product .button, 	.nyxo:not(#a#b#c#d) ul.products li.product a.button, 	body.nyxo .nyxo-btn--atc { font-size: 12px !important; letter-spacing: .06em !important; padding: 0 10px !important; gap: 6px; white-space: nowrap; height: 44px; min-height: 44px !important; }
	.nyxo:not(#a#b#c#d) ul.products li.product .astra-shop-summary-wrap, 	body.nyxo .nyxo-card__body { padding: 14px 12px 14px !important; }
	.nyxo:not(#a#b#c#d) ul.products li.product .woocommerce-loop-product__title, 	.nyxo:not(#a#b#c#d) .nyxo-card__name { font-size: 16px !important; }
	.nyxo:not(#a#b#c#d) ul.products li.product .price ins, 	.nyxo:not(#a#b#c#d) ul.products li.product .price ins *, 	body.nyxo .nyxo-card__price ins, 	body.nyxo .nyxo-card__price ins * { font-size: 18px !important; }
	.nyxo:not(#a#b#c#d) ul.products li.product .price del, 	body.nyxo .nyxo-card__price del { font-size: 13px !important; }
	body.nyxo .nyxo-price__save { height: 24px; padding: 0 9px; font-size: 11px; }
	body.nyxo .nyxo-price__from { font-size: 12px !important; }
	html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-offpill { top: 8px; left: 8px; height: 24px; padding: 0 9px; font-size: 10.5px; }
}
@media (max-width: 480px) {
	.nyxo:not(#a#b#c#d) .molpp-buy .single_add_to_cart_button { flex: 1 1 0 !important; }
	body.nyxo .nyxo-lotbtn { flex: 1 1 100%; }
}
/* chips and badges */
body.nyxo .nyxo-chip { height: 26px; padding: 0 11px; font: 700 12px/26px var(--nx-font); letter-spacing: .02em; text-transform: none; }
.nyxo:not(#a#b#c#d) .mol-pills { gap: 8px !important; }
.nyxo:not(#a#b#c#d) .mol-pill { display: inline-flex !important; align-items: center; height: 30px; padding: 0 13px !important; border-radius: 999px !important; background: #fff !important; box-shadow: inset 0 0 0 1px var(--nx-hair) !important; color: var(--nx-ink) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0 !important; }
.nyxo:not(#a#b#c#d) .variable-items-wrapper .variable-item:not(.radio-variable-item) { font-weight: 700 !important; min-height: 44px !important; padding: 0 18px !important; }
.nyxo:not(#a#b#c#d) .woocommerce-pagination .page-numbers a, .nyxo:not(#a#b#c#d) .woocommerce-pagination .page-numbers span { min-width: 44px !important; min-height: 44px !important; font-weight: 600; }

/* ---------- A5. Header: glass, Discord pill ---------- */
.nyxo:not(#a#b#c#d) #masthead { background: rgba(251, 248, 243, .82) !important; -webkit-backdrop-filter: saturate(140%) blur(14px); backdrop-filter: saturate(140%) blur(14px); border-bottom: 1px solid rgba(27, 42, 78, .07); }
.nyxo:not(#a#b#c#d) #ast-desktop-header .main-header-menu > .menu-item > .menu-link { font-size: 14.5px !important; font-weight: 600 !important; }
.nyxo:not(#a#b#c#d) #masthead .mol-cart-count { font-weight: 800; font-size: 10px; }
.nyxo:not(#a#b#c#d) #masthead .main-header-menu > .menu-item.nyxo-discord-item { display: flex; align-items: center; margin: 0 6px 0 10px; }
.nyxo:not(#a#b#c#d) #masthead .main-header-menu > .menu-item.nyxo-discord-item > .menu-link.nyxo-discord-pill, .nyxo:not(#a#b#c#d) .nyxo-discord-pill { display: inline-flex !important; align-items: center; gap: 8px; height: 36px; line-height: 1 !important; padding: 0 16px 0 13px !important; border-radius: 999px !important; background: var(--nx-discord) !important; color: #fff !important; font: 600 13.5px/1 var(--nx-font) !important; letter-spacing: .02em !important; text-transform: none !important; text-decoration: none !important; box-shadow: 0 6px 16px -10px rgba(88, 101, 242, .9); }
.nyxo:not(#a#b#c#d) #masthead .main-header-menu > .menu-item.nyxo-discord-item > .menu-link.nyxo-discord-pill:hover { background: #4752C4 !important; color: #fff !important; }
.nyxo:not(#a#b#c#d) .nyxo-discord-pill .nyxo-ic { width: 17px; height: 17px; }
.nyxo:not(#a#b#c#d) .ast-mobile-header-content .main-header-menu > .menu-item.nyxo-discord-item { padding: 14px var(--nx-gutter) 4px; border: 0; }
.nyxo:not(#a#b#c#d) .ast-mobile-header-content .main-header-menu > .menu-item.nyxo-discord-item > .menu-link.nyxo-discord-pill { height: 48px; width: 100%; justify-content: center; border: 0 !important; padding: 0 20px !important; font-size: 15px !important; }

/* ---------- A6. Product cards (shop grid, related, home) ---------- */
.nyxo:not(#a#b#c#d) ul.products { gap: 22px !important; }
.nyxo:not(#a#b#c#d) ul.products li.product, body.nyxo .nyxo-card { border-radius: 20px !important; border: 1px solid var(--nx-hair) !important; background: #fff !important; box-shadow: none !important; transition: transform 240ms var(--nx-ease), box-shadow 240ms var(--nx-ease), border-color 240ms var(--nx-ease) !important; }
.nyxo:not(#a#b#c#d) ul.products li.product:hover, body.nyxo .nyxo-card:hover { transform: translateY(-3px); box-shadow: var(--nx-sh-2) !important; border-color: #DCD5C8 !important; }
.nyxo:not(#a#b#c#d) ul.products li.product .astra-shop-thumbnail-wrap, body.nyxo .nyxo-card__media { background: var(--nx-well) !important; aspect-ratio: 1 / 1 !important; border-radius: 0 !important; position: relative; }
.nyxo:not(#a#b#c#d) ul.products li.product .astra-shop-thumbnail-wrap img, .nyxo:not(#a#b#c#d) ul.products li.product a img, body.nyxo .nyxo-card__media img { padding: 6% !important; object-fit: contain !important; mix-blend-mode: normal !important; filter: drop-shadow(0 18px 20px rgba(27, 42, 78, .16)); transition: transform 420ms var(--nx-ease) !important; }
.nyxo:not(#a#b#c#d) ul.products li.product:hover .astra-shop-thumbnail-wrap img, body.nyxo .nyxo-card:hover .nyxo-card__media img { transform: scale(1.04); }
.nyxo:not(#a#b#c#d) ul.products li.product.outofstock .astra-shop-thumbnail-wrap img { opacity: .55 !important; filter: grayscale(.2); }
/* one stock signal: no "In stock" chip on the image; out of stock reads once, top-right */
.nyxo:not(#a#b#c#d) ul.products li.product .molgrid-badge--in { display: none !important; }
.nyxo:not(#a#b#c#d) ul.products li.product .molgrid-badge--pre, .nyxo:not(#a#b#c#d) .molgrid-badge.molgrid-badge--pre { left: auto !important; right: 12px !important; top: 12px !important; font-size: 0 !important; letter-spacing: 0 !important; height: 26px; padding: 0 11px !important; background: rgba(255, 255, 255, .94) !important; color: var(--nx-text) !important; border: 1px solid var(--nx-hair) !important; white-space: nowrap; }
.nyxo:not(#a#b#c#d) ul.products li.product .molgrid-badge--pre::after, .nyxo:not(#a#b#c#d) .molgrid-badge.molgrid-badge--pre::after { content: "Out of stock" !important; font: 700 11px/1 var(--nx-font) !important; letter-spacing: .06em !important; text-transform: uppercase; color: var(--nx-text) !important; }
.nyxo:not(#a#b#c#d) .molgrid-badge.molgrid-badge--pre .molgrid-dot { background: #D9922B !important; margin-right: 6px; }
.nyxo:not(#a#b#c#d) ul.products li.product .astra-shop-summary-wrap, body.nyxo .nyxo-card__body { padding: 18px 18px 20px !important; gap: 6px !important; }
.nyxo:not(#a#b#c#d) ul.products li.product .woocommerce-loop-product__title, .nyxo:not(#a#b#c#d) .nyxo-card__name { font-size: 18px !important; font-weight: 700 !important; letter-spacing: -.015em !important; line-height: 1.25 !important; }
/* card price: struck regular, sale price, one savings pill */
.nyxo:not(#a#b#c#d) ul.products li.product .price, body.nyxo .nyxo-card__price { margin: 6px 0 16px !important; font-size: 20px !important; }
.nyxo:not(#a#b#c#d) ul.products li.product .price .nyxo-price, body.nyxo .nyxo-card__price .nyxo-price { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.nyxo:not(#a#b#c#d) ul.products li.product .price .nyxo-price__now, body.nyxo .nyxo-card__price .nyxo-price__now { display: inline-flex; align-items: baseline; gap: 8px; flex: 0 0 100%; }
.nyxo:not(#a#b#c#d) ul.products li.product .price del, body.nyxo .nyxo-card__price del { order: 0; color: var(--nx-muted) !important; font-size: 15px !important; font-weight: 500 !important; text-decoration-thickness: 1.5px !important; text-decoration-color: rgba(138, 147, 166, .8) !important; }
.nyxo:not(#a#b#c#d) ul.products li.product .price del *, body.nyxo .nyxo-card__price del * { color: var(--nx-muted) !important; font-weight: 500 !important; }
.nyxo:not(#a#b#c#d) ul.products li.product .price ins, .nyxo:not(#a#b#c#d) ul.products li.product .price ins *, body.nyxo .nyxo-card__price ins, body.nyxo .nyxo-card__price ins * { font-size: 21px !important; font-weight: 800 !important; color: var(--nx-ink) !important; letter-spacing: -.01em; font-variant-numeric: tabular-nums; text-decoration: none !important; }
body.nyxo .nyxo-price__from { font-size: 13px !important; font-weight: 600 !important; color: var(--nx-text) !important; margin-right: 2px; letter-spacing: 0; }
body.nyxo .nyxo-price__deal { display: inline-flex; align-items: center; gap: 6px; }
body.nyxo .nyxo-price__off, body.nyxo .nyxo-price__save { display: inline-flex !important; align-items: center; height: 26px; padding: 0 11px; border-radius: 999px; font: 700 12px/1 var(--nx-font); letter-spacing: .01em; white-space: nowrap; font-variant-numeric: tabular-nums; }
body.nyxo .nyxo-price__save { background: #E8F3EC; color: #1F7A4D; }
body.nyxo .nyxo-price__off { background: var(--nx-ice); color: var(--nx-primary); }
.nyxo:not(#a#b#c#d) ul.products li.product .nyxo-price__off, body.nyxo .nyxo-card__price .nyxo-price__off, body.nyxo .mol-buybar .nyxo-price__deal, body.nyxo .mol-buybar .nyxo-price__meta, body.nyxo .mol-buybar del { display: none !important; }
.nyxo:not(#a#b#c#d) ul.products li.product .nyxo-price__meta, body.nyxo .nyxo-card__price .nyxo-price__meta { flex: 0 0 100%; margin: 2px 0 0 !important; }
body.nyxo .nyxo-price__permg { font-size: 12px !important; color: var(--nx-text) !important; }
/* card buttons: solid ink pill with a cart icon; out of stock = outline "Notify me" */
.nyxo:not(#a#b#c#d) ul.products li.product .button, .nyxo:not(#a#b#c#d) ul.products li.product a.button, body.nyxo .nyxo-btn--atc { margin-top: auto !important; width: 100% !important; min-height: 48px !important; height: 48px; padding: 0 16px !important; display: inline-flex !important; align-items: center; justify-content: center !important; gap: 9px; background: var(--nx-ink) !important; color: #fff !important; box-shadow: none !important; border: 0 !important; font: var(--nx-btn) !important; letter-spacing: .12em !important; text-transform: uppercase !important; text-decoration: none !important; border-radius: 999px !important; }
.nyxo:not(#a#b#c#d) ul.products li.product .button:hover, .nyxo:not(#a#b#c#d) ul.products li.product a.button:hover, body.nyxo .nyxo-btn--atc:hover { background: var(--nx-primary) !important; color: #fff !important; transform: none; }
.nyxo:not(#a#b#c#d) ul.products li.product .button.add_to_cart_button::before, .nyxo:not(#a#b#c#d) ul.products li.product a.button.add_to_cart_button::before { content: ""; width: 16px; height: 16px; flex: 0 0 16px; background: currentColor; -webkit-mask: var(--nx-cart-ic) center / contain no-repeat; mask: var(--nx-cart-ic) center / contain no-repeat; }
.nyxo:not(#a#b#c#d) ul.products li.product .button.loading { opacity: .7; }
.nyxo:not(#a#b#c#d) ul.products li.product .button.added::after { display: none !important; }
.nyxo:not(#a#b#c#d) ul.products li.product a.mle-notify-btn, .nyxo:not(#a#b#c#d) .mle-oos-card a.mle-notify-btn { background: #fff !important; color: var(--nx-ink) !important; box-shadow: inset 0 0 0 1.5px var(--nx-ink) !important; }
.nyxo:not(#a#b#c#d) ul.products li.product a.mle-notify-btn:hover { background: var(--nx-ink) !important; color: #fff !important; }
.nyxo:not(#a#b#c#d) ul.products li.product .added_to_cart { font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
/* home cards */
body.nyxo .nyxo-card__media { position: relative; }
body.nyxo .nyxo-card__spec { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 12px; color: var(--nx-text); font-family: var(--nx-font); }
body.nyxo .nyxo-card__stock { display: inline-flex; align-items: center; gap: 6px; font: 600 12px/1 var(--nx-font); color: #1F7A4D; }
body.nyxo .nyxo-card__stock i { width: 7px; height: 7px; border-radius: 50%; background: #1F7A4D; box-shadow: 0 0 0 3px rgba(31, 122, 77, .14); }
body.nyxo .nyxo-card__foot { display: none; }
/* B2G1 chip that the legacy treat snippet draws on card images: amber pill, bottom-left */
.nyxo:not(#a#b#c#d) ul.products li.product .astra-shop-thumbnail-wrap::after { left: 12px !important; bottom: 12px !important; height: 24px; padding: 0 10px !important; display: inline-flex !important; align-items: center; border-radius: 999px !important; background: var(--nx-amber-bg) !important; color: var(--nx-amber-ink) !important; border: 1px solid rgba(180, 83, 9, .18) !important; font: 700 11px/1 var(--nx-font) !important; letter-spacing: .02em !important; box-shadow: none !important; pointer-events: none; }

/* ---------- A7. Shop page ---------- */
.nyxo:not(#a#b#c#d) section.molban { border-bottom: 0 !important; padding: clamp(28px, 4vw, 56px) 0 8px !important; margin-bottom: 12px !important; }
.nyxo:not(#a#b#c#d) .molban .molban__in { display: flex !important; flex-wrap: wrap !important; align-items: center; }
.nyxo:not(#a#b#c#d) .molban .molban__title { flex: 0 0 100% !important; }
.nyxo:not(#a#b#c#d) .molban .molban__lede, .nyxo:not(#a#b#c#d) .molban .molban__actions { display: none !important; }
.nyxo:not(#a#b#c#d) .mfb { margin: 18px 0 26px !important; }
.nyxo:not(#a#b#c#d) .mfb__seg, .nyxo:not(#a#b#c#d) .mfb__cats button { min-height: 40px !important; font-weight: 600 !important; font-size: 14px !important; padding: 0 16px !important; }
.nyxo:not(#a#b#c#d) .mfb__stock { border-radius: 999px !important; }
body.nyxo .nyxo-salestrip { display: none; }

/* ---------- A8. Product page ---------- */
.nyxo:not(#a#b#c#d).single-product .woocommerce-product-gallery { border-radius: 28px !important; }
.nyxo:not(#a#b#c#d).single-product .summary p.price, .nyxo:not(#a#b#c#d).single-product .summary > .price { display: flex !important; flex-wrap: wrap; align-items: baseline; column-gap: 12px; row-gap: 10px; margin: 0 0 22px !important; font-size: 36px !important; line-height: 1 !important; }
.nyxo:not(#a#b#c#d).single-product .summary p.price::after { content: ""; order: 4; flex: 0 0 100%; height: 0; }
.nyxo:not(#a#b#c#d).single-product .summary p.price .nyxo-price { display: contents; }
.nyxo:not(#a#b#c#d).single-product .summary p.price .nyxo-price__now { order: 1; display: inline-flex; align-items: baseline; gap: 12px; }
.nyxo:not(#a#b#c#d).single-product .summary p.price del, .nyxo:not(#a#b#c#d).single-product .summary p.price del * { font-size: 18px !important; font-weight: 500 !important; color: var(--nx-muted) !important; text-decoration-thickness: 1.5px !important; }
.nyxo:not(#a#b#c#d).single-product .summary p.price ins, .nyxo:not(#a#b#c#d).single-product .summary p.price ins * { font-size: 36px !important; font-weight: 800 !important; letter-spacing: -.02em !important; color: var(--nx-ink) !important; text-decoration: none !important; font-variant-numeric: tabular-nums; }
.nyxo:not(#a#b#c#d).single-product .summary p.price .molpp-unit { order: 2; font: 500 14px/1 var(--nx-font) !important; letter-spacing: 0 !important; text-transform: none !important; color: #5F6B85 !important; align-self: baseline; }
.nyxo:not(#a#b#c#d).single-product .summary p.price .nyxo-price__deal { display: contents; }
.nyxo:not(#a#b#c#d).single-product .summary p.price .nyxo-price__off { order: 3; align-self: center; height: 28px; font-size: 12.5px; }
.nyxo:not(#a#b#c#d).single-product .summary p.price .nyxo-price__save { order: 5; height: 28px; font-size: 13px; }
.nyxo:not(#a#b#c#d).single-product .summary p.price .nyxo-price__meta { order: 6; display: inline-flex; align-items: center; margin: 0 !important; }
.nyxo:not(#a#b#c#d).single-product .summary p.price .nyxo-price__permg { font-size: 13px !important; }
.nyxo:not(#a#b#c#d) .molpp-strip { border-radius: 16px !important; }
.nyxo:not(#a#b#c#d) .mol-bundle-option { border-radius: 14px !important; }
.nyxo:not(#a#b#c#d) .mol-bundle-badge { border-radius: 999px !important; font-weight: 700 !important; }
.nyxo:not(#a#b#c#d) .mol-stock { font-weight: 600 !important; font-size: 14px !important; }
.nyxo:not(#a#b#c#d) .mol-stock .mol-dot { width: 8px !important; height: 8px !important; }
.nyxo:not(#a#b#c#d) .molpp-chips { display: flex !important; flex-wrap: wrap; gap: 8px !important; }
.nyxo:not(#a#b#c#d) .molpp-chip { flex-direction: row !important; white-space: nowrap; height: 36px; padding: 0 14px !important; border-radius: 999px !important; font: 600 13px/1 var(--nx-font) !important; display: inline-flex !important; align-items: center; gap: 7px; box-shadow: inset 0 0 0 1px var(--nx-hair) !important; border: 0 !important; }
.nyxo:not(#a#b#c#d) .molpp-treat { border-radius: 16px !important; background: linear-gradient(110deg, #1B2A4E 0%, #2A2457 60%, #3A1E5C 100%) !important; color: #E7ECF8 !important; border: 1px solid rgba(242, 165, 65, .28) !important; padding: 14px 16px !important; gap: 12px !important; align-items: center !important; }
.nyxo:not(#a#b#c#d) .molpp-treat b { color: var(--nx-amber) !important; }
.nyxo:not(#a#b#c#d) .molpp-treat svg { display: none !important; }
.nyxo:not(#a#b#c#d) .molpp-treat::before { content: ""; flex: 0 0 22px; width: 22px; height: 22px; background: var(--nx-amber); -webkit-mask: var(--nx-pumpkin) center / contain no-repeat; mask: var(--nx-pumpkin) center / contain no-repeat; }
body.nyxo .nyxo-paysafe { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; order: 2; width: 100%; box-sizing: border-box; margin: 2px 0 4px; padding: 12px 18px; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px var(--nx-hair); font: 500 13px/1.2 var(--nx-font); color: var(--nx-text); }
.nyxo:not(#a#b#c#d) .nyxo-paysafe { order: 2 !important; }
@media (max-width: 600px) { body.nyxo .nyxo-paysafe { border-radius: 18px; } }
body.nyxo .nyxo-paysafe__t { padding-left: 20px; background: var(--molp-lock, none) left center / 13px 13px no-repeat; }
body.nyxo .nyxo-paysafe__m { flex: none; width: 170px; height: 18px; background: var(--molp-marks, none) right center / 170px 18px no-repeat; }
.nyxo:not(#a#b#c#d) .mol-cutoff { font-size: 13.5px !important; }
.nyxo:not(#a#b#c#d) .nyxo-pdp-pass { border-radius: 20px !important; }
.nyxo:not(#a#b#c#d) .molrev { border-radius: 28px !important; padding: 22px 24px !important; background: #fff !important; }
.nyxo:not(#a#b#c#d) .molrev__btn { min-height: 48px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; line-height: 1 !important; }
.nyxo:not(#a#b#c#d) .molrev__btn--solid { background: var(--nx-discord) !important; color: #fff !important; }
.nyxo:not(#a#b#c#d) .molrev__btn--solid:hover { background: #4752C4 !important; }
.nyxo:not(#a#b#c#d) .molrev__btn--ghost { box-shadow: inset 0 0 0 1.5px var(--nx-ink) !important; background: transparent !important; color: var(--nx-ink) !important; }
.nyxo:not(#a#b#c#d) .molrv-pp { border-radius: 20px !important; }
.nyxo:not(#a#b#c#d) .mol-sbadge { top: 94px !important; left: 35px !important; right: auto !important; bottom: auto !important; z-index: 5 !important; }
.nyxo:not(#a#b#c#d) .mol-sbadge .b-state { height: 28px; display: inline-flex !important; align-items: center; padding: 0 12px !important; border-radius: 999px !important; background: linear-gradient(135deg, #C2410C 0%, #9A3412 100%) !important; color: #FFF7ED !important; border: 1px solid rgba(250, 204, 21, .45) !important; font: 800 11.5px/1 var(--nx-font) !important; letter-spacing: .06em !important; text-transform: uppercase !important; box-shadow: 0 8px 18px -8px rgba(58, 30, 92, .7) !important; }
.nyxo:not(#a#b#c#d) .mol-sbadge .b-bundle:empty { display: none !important; }
/* sticky buy bar: a bottom sheet that appears only after the in-page button has scrolled away */
.nyxo:not(#a#b#c#d) .mol-buybar { border-radius: 22px 22px 0 0 !important; background: rgba(251, 248, 243, .94) !important; -webkit-backdrop-filter: saturate(140%) blur(20px); backdrop-filter: saturate(140%) blur(20px); padding: 12px 16px calc(12px + env(safe-area-inset-bottom)) !important; border-top: 1px solid var(--nx-hair) !important; }
.nyxo:not(#a#b#c#d) .mol-buybar.nyxo-bb { transform: translateY(110%) !important; opacity: 0 !important; pointer-events: none !important; transition: transform 260ms var(--nx-ease), opacity 260ms var(--nx-ease) !important; }
.nyxo:not(#a#b#c#d) .mol-buybar.nyxo-bb.nyxo-bb-on { transform: none !important; opacity: 1 !important; pointer-events: auto !important; }
.nyxo:not(#a#b#c#d) .mol-buybar__price { display: inline-flex !important; align-items: baseline; gap: 4px; }
.nyxo:not(#a#b#c#d) .mol-buybar__price .nyxo-price, .nyxo:not(#a#b#c#d) .mol-buybar__price .nyxo-price__now { display: inline !important; }
.nyxo:not(#a#b#c#d) .mol-buybar__price ins, .nyxo:not(#a#b#c#d) .mol-buybar__price ins * { font: 800 18px/1 var(--nx-font) !important; color: var(--nx-ink) !important; text-decoration: none !important; }
.nyxo:not(#a#b#c#d) .mol-buybar__price .molpp-unit { font: 500 12px/1 var(--nx-font) !important; color: #5F6B85 !important; text-transform: none !important; letter-spacing: 0 !important; }
.nyxo:not(#a#b#c#d) .mol-buybar__btn { min-height: 52px !important; height: 52px; }

/* ---------- A9. Cart ---------- */
.nyxo:not(#a#b#c#d) .wc-block-cart__submit-button, .nyxo:not(#a#b#c#d) .wc-block-components-checkout-place-order-button { min-height: 56px !important; }
.nyxo:not(#a#b#c#d) .wp-block-woocommerce-cart-totals-block, .nyxo:not(#a#b#c#d) .wp-block-woocommerce-checkout-order-summary-block { border-radius: 20px !important; }
body.nyxo .nyxo-cartsave .wc-block-components-totals-item__label, body.nyxo .nyxo-cartsave .wc-block-components-totals-item__value { color: #1F7A4D !important; font-weight: 700 !important; }
body.nyxo .nyxo-cartsave .wc-block-components-totals-item { display: flex; justify-content: space-between; padding: 14px 0; }
.nyxo:not(#a#b#c#d) .wc-block-cart__totals-title, .nyxo:not(#a#b#c#d) .entry-content h2.wc-block-cart__totals-title { font: 600 12.5px/1.3 var(--nx-font) !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: var(--nx-text) !important; margin: 0 0 8px !important; }
.nyxo:not(#a#b#c#d) .wc-block-cart-item__prices del, .nyxo:not(#a#b#c#d) .wc-block-components-product-price__regular { color: var(--nx-muted) !important; }
/* free-shipping card (legacy .molfs): readable */
.nyxo:not(#a#b#c#d) .molfs__card { background: var(--nx-ink) !important; border: 1px solid rgba(143, 176, 255, .18) !important; border-radius: 20px !important; box-shadow: 0 18px 44px -24px rgba(11, 20, 48, .55) !important; color: #FBF8F3 !important; font-family: var(--nx-font) !important; padding: 20px 52px 20px 22px !important; }
.nyxo:not(#a#b#c#d) .molfs__k { color: #8FB0FF !important; font: 600 12px/1.3 var(--nx-font) !important; letter-spacing: .14em !important; }
.nyxo:not(#a#b#c#d) .molfs__h { color: #FBF8F3 !important; font: 700 18px/1.3 var(--nx-font) !important; }
.nyxo:not(#a#b#c#d) .molfs__h b { color: var(--nx-amber) !important; }
.nyxo:not(#a#b#c#d) .molfs__p { color: #C9D1E6 !important; font-family: var(--nx-font) !important; }
.nyxo:not(#a#b#c#d) .molfs__bar { background: rgba(255, 255, 255, .15) !important; height: 6px !important; }
.nyxo:not(#a#b#c#d) .molfs__bar i { background: var(--nx-amber) !important; }
.nyxo:not(#a#b#c#d) .molfs__go { display: inline-flex !important; align-items: center; height: 44px; padding: 0 22px !important; border-radius: 999px !important; background: #FBF8F3 !important; color: var(--nx-ink) !important; font: var(--nx-btn) !important; letter-spacing: .12em !important; text-transform: uppercase !important; text-decoration: none !important; }
.nyxo:not(#a#b#c#d) .molfs__go:hover { background: #fff !important; color: var(--nx-primary) !important; }
.nyxo:not(#a#b#c#d) .molfs__x { color: #C9D1E6 !important; border-radius: 50% !important; }
/* Treat Basket (legacy .moltb) */
.nyxo:not(#a#b#c#d) .moltb { background: linear-gradient(120deg, #1B2A4E 0%, #232A57 55%, #3A1E5C 100%) !important; border: 1px solid rgba(242, 165, 65, .3) !important; border-radius: 20px !important; padding: 20px 22px 18px !important; color: #E7ECF8 !important; font-family: var(--nx-font) !important; }
.nyxo:not(#a#b#c#d) .moltb__h { font: 800 17px/1.2 var(--nx-font) !important; color: #fff !important; }
.nyxo:not(#a#b#c#d) .moltb__h svg { display: none !important; }
.nyxo:not(#a#b#c#d) .moltb__h::before { content: ""; flex: 0 0 24px; width: 24px; height: 24px; background: var(--nx-amber); -webkit-mask: var(--nx-pumpkin) center / contain no-repeat; mask: var(--nx-pumpkin) center / contain no-repeat; }
.nyxo:not(#a#b#c#d) .moltb__s { color: #C9D1E6 !important; font-size: 14px !important; }
.nyxo:not(#a#b#c#d) .moltb__s b { color: var(--nx-amber) !important; }
.nyxo:not(#a#b#c#d) .moltb__bar { background: rgba(255, 255, 255, .12) !important; }
.nyxo:not(#a#b#c#d) .moltb__bar i { background: linear-gradient(90deg, #F2A541, #F97316) !important; }
.nyxo:not(#a#b#c#d) .moltb__tag { color: #8FB0FF !important; font-size: 11.5px !important; min-width: 70px; }
.nyxo:not(#a#b#c#d) .moltb .moltb__sel { height: 48px !important; border: 0 !important; flex: 1 1 auto; }
.nyxo:not(#a#b#c#d) .moltb__f { color: #AEB8D0 !important; font-size: 12.5px !important; }
/* empty cart: our vial instead of the sad face */
.nyxo:not(#a#b#c#d) .wc-block-cart__empty-cart__title.with-empty-cart-icon::before { -webkit-mask: none !important; mask: none !important; background: url(/wp-content/uploads/2026/10/nyxo-cutout-bpc-157-10mg-300x300.png) center / contain no-repeat !important; width: 120px !important; height: 120px !important; }
/* drawer gift chips (legacy) read on their fill */
.nyxo:not(#a#b#c#d) .mol-drawer__gift .molgift-chip.is-on { color: #fff !important; }

/* ---------- A10. Homepage pieces ---------- */
body.nyxo .nyxo-hero--sale { display: none; }
.nyxo:not(#a#b#c#d) .nyxo-proof { background: transparent !important; border: 0 !important; position: relative; z-index: 2; }
.nyxo:not(#a#b#c#d) .nyxo-proof__list { max-width: var(--nx-max); margin: -44px auto 0 !important; background: #fff; border: 1px solid var(--nx-hair); border-radius: 24px; box-shadow: 0 24px 60px -28px rgba(11, 20, 48, .35); padding: 0 8px !important; }
.nyxo:not(#a#b#c#d) .nyxo-proof__item { padding: 24px 22px !important; }
.nyxo:not(#a#b#c#d) .nyxo-proof__num { font-weight: 800 !important; font-size: clamp(22px, 2vw, 30px) !important; letter-spacing: -.03em !important; }
.nyxo:not(#a#b#c#d) .nyxo-proof__lbl { font-size: 13.5px !important; }
@media (max-width: 860px) {
	.nyxo:not(#a#b#c#d) .nyxo-proof__list { margin: -28px auto 0 !important; width: calc(100% - 32px) !important; box-sizing: border-box; padding: 0 !important; }
	.nyxo:not(#a#b#c#d) .nyxo-proof__item { padding: 16px 14px !important; }
	.nyxo:not(#a#b#c#d) .nyxo-proof__item:nth-child(3) { padding-left: 14px !important; }
}
.nyxo:not(#a#b#c#d) .nyxo-offer__card { border-radius: 28px !important; }
.nyxo:not(#a#b#c#d) .nyxo-who__facts li { border-radius: 20px !important; }
.nyxo:not(#a#b#c#d) .nyxo-pass { border-radius: 24px !important; }
.nyxo:not(#a#b#c#d) .nyxo-catlinks a { min-height: 40px; font-weight: 600 !important; }
.nyxo:not(#a#b#c#d) .nyxo-hero__h { font-size: clamp(44px, 5.6vw, 80px) !important; line-height: .98 !important; letter-spacing: -.045em !important; font-weight: 700 !important; }
.nyxo:not(#a#b#c#d) .nyxo-hero--day .nyxo-hero__h .nyxo-serif { letter-spacing: -.02em; }
/* at most one Instrument Serif word per page: the evergreen hero keeps "verified" */
.nyxo:not(#a#b#c#d) .nyxo-passport .nyxo-serif, .nyxo:not(#a#b#c#d) .nyxo-who__sig, .nyxo:not(#a#b#c#d) .nyxo-footer__sign { font-family: var(--nx-font) !important; font-style: normal !important; }
.nyxo:not(#a#b#c#d) .nyxo-who__sig { font-size: 17px !important; font-weight: 700 !important; letter-spacing: -.01em; }
.nyxo:not(#a#b#c#d) .nyxo-footer__sign { font-size: 13px !important; color: #C9D1E6 !important; }
body.nyxo .nyxo-hero .nyxo-eyebrow--dark { color: #8FB0FF; }

/* ---------- A11. Discord band (above the footer, every page) ---------- */
body.nyxo .nyxo-dband { padding: clamp(40px, 5vw, 72px) 0; background: var(--nx-page); }
body.nyxo .nyxo-dband__card { position: relative; overflow: hidden; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1.25fr) auto auto; align-items: center; gap: 24px 32px; padding: clamp(26px, 3.4vw, 44px); border-radius: 28px; background: #1B2A4E; color: #FBF8F3; }
body.nyxo .nyxo-dband__card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 120% at 0% 0%, rgba(88, 101, 242, .38), transparent 60%), radial-gradient(50% 120% at 100% 100%, rgba(48, 109, 251, .22), transparent 65%); }
body.nyxo .nyxo-dband__main { display: flex; align-items: center; gap: 20px; }
body.nyxo .nyxo-dband__ic { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 20px; background: var(--nx-discord); color: #fff; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 14px 30px -14px rgba(88, 101, 242, .9); }
body.nyxo .nyxo-dband__ic .nyxo-ic { width: 32px; height: 32px; }
body.nyxo .nyxo-dband__eyebrow { margin: 0 0 6px; font: 600 12.5px/1.2 var(--nx-font); letter-spacing: .14em; text-transform: uppercase; color: #8FB0FF; }
.nyxo:not(#a#b#c#d) .nyxo-dband__h { margin: 0 0 6px !important; font-size: clamp(24px, 2.4vw, 34px) !important; line-height: 1.1 !important; letter-spacing: -.03em !important; color: #fff !important; font-weight: 700 !important; }
body.nyxo .nyxo-dband__sub { margin: 0; color: #C9D1E6; font-size: 15px; line-height: 1.5; max-width: 52ch; }
body.nyxo .nyxo-dband__night { display: none; }
body.nyxo .nyxo-dband__chips { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
body.nyxo .nyxo-dband__chips li { margin: 0; display: flex; align-items: baseline; gap: 8px; padding: 9px 16px; border-radius: 999px; background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); white-space: nowrap; }
body.nyxo .nyxo-dband__chips span { font: 600 11px/1 var(--nx-font); letter-spacing: .12em; text-transform: uppercase; color: #8FB0FF; }
body.nyxo .nyxo-dband__chips b { font: 700 14px/1 var(--nx-font); color: #FBF8F3; }
@media (max-width: 1080px) {
	body.nyxo .nyxo-dband__card { grid-template-columns: minmax(0, 1fr) auto; }
	body.nyxo .nyxo-dband__chips { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; order: 3; }
}
@media (max-width: 640px) {
	body.nyxo .nyxo-dband__card { grid-template-columns: minmax(0, 1fr); padding: 26px 20px; border-radius: 24px; }
	body.nyxo .nyxo-dband__main { align-items: flex-start; gap: 14px; }
	body.nyxo .nyxo-dband__ic { flex-basis: 48px; width: 48px; height: 48px; border-radius: 16px; }
	body.nyxo .nyxo-dband__ic .nyxo-ic { width: 26px; height: 26px; }
	body.nyxo .nyxo-dband .nyxo-btn--discord { width: 100%; }
	body.nyxo .nyxo-dband__chips { order: 0; }
}
.nyxo:not(#a#b#c#d) .nyxo-footer__mail { font-size: 14px; }

/* ---------- A12. Researcher gate (legacy Age Gate markup, Nyxo skin) ---------- */
.nyxo:not(#a#b#c#d) .age-gate__wrapper.nyxo-gate, .nyxo:not(#a#b#c#d) .age-gate__wrapper { background: radial-gradient(120% 90% at 25% 30%, #24365F 0%, #1B2A4E 38%, #0F1730 100%) !important; }
.nyxo:not(#a#b#c#d) .age-gate__background, .nyxo:not(#a#b#c#d) .age-gate__background-color { background: radial-gradient(120% 90% at 25% 30%, #24365F 0%, #1B2A4E 38%, #0F1730 100%) !important; }
.nyxo:not(#a#b#c#d) .age-gate__background::before { display: none !important; }
.nyxo:not(#a#b#c#d) .age-gate__wrapper:not(.nyxo-gate) .age-gate__subheadline { visibility: hidden; }
.nyxo:not(#a#b#c#d) .age-gate__wrapper.nyxo-gate { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; justify-items: center; padding: 24px clamp(16px, 4vw, 64px) !important; box-sizing: border-box; }
.nyxo:not(#a#b#c#d) .age-gate__wrapper.nyxo-gate > .age-gate__background, .nyxo:not(#a#b#c#d) .age-gate__wrapper.nyxo-gate > .age-gate__background-color, .nyxo:not(#a#b#c#d) .age-gate__wrapper.nyxo-gate > .age-gate__loader { grid-column: 1 / -1; }
body.nyxo .nyxo-gate__art { position: relative; z-index: 3; grid-column: 1; grid-row: 1; width: min(520px, 100%); aspect-ratio: 1; display: flex; align-items: center; justify-content: center; pointer-events: none; }
body.nyxo .nyxo-gate__ring { position: absolute; width: 76%; aspect-ratio: 1; border-radius: 50%; border: 1px solid rgba(201, 209, 230, .18); background: radial-gradient(circle, rgba(48, 109, 251, .34) 0%, rgba(48, 109, 251, .08) 46%, transparent 70%); box-shadow: 0 0 0 44px rgba(201, 209, 230, .025), 0 0 0 45px rgba(201, 209, 230, .08); }
body.nyxo .nyxo-gate__glow { position: absolute; inset: 10%; border-radius: 50%; background: radial-gradient(circle, rgba(242, 165, 65, .0), transparent 70%); }
body.nyxo .nyxo-gate__vial { position: relative; height: 78%; width: auto; filter: drop-shadow(0 34px 44px rgba(6, 12, 30, .6)); }
body.nyxo .nyxo-gate__chip { position: absolute; display: inline-flex; align-items: center; gap: 8px; height: 43px; padding: 0 18px; border-radius: 999px; background: rgba(255, 255, 255, .10); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18), 0 18px 40px -22px rgba(0, 0, 0, .6); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); color: #fff; font: 600 14px/1 var(--nx-font); white-space: nowrap; }
body.nyxo .nyxo-gate__chip b { color: #8FB0FF; font-weight: 800; }
body.nyxo .nyxo-gate__chip i { width: 8px; height: 8px; border-radius: 50%; background: #3DDC97; box-shadow: 0 0 0 4px rgba(61, 220, 151, .18); }
body.nyxo .nyxo-gate__chip--a { top: 20%; right: -16%; gap: 0; }
body.nyxo .nyxo-gate__chip--b { bottom: 16%; left: 0; }
.nyxo:not(#a#b#c#d) .age-gate__wrapper.nyxo-gate > .age-gate { grid-column: 2; grid-row: 1; position: relative; z-index: 4; width: 100% !important; max-width: 480px !important; max-height: calc(100dvh - 48px) !important; margin: 0 !important; padding: 40px 40px 30px !important; background: rgba(251, 248, 243, .985) !important; -webkit-backdrop-filter: blur(24px) saturate(1.5); backdrop-filter: blur(24px) saturate(1.5); border: 1px solid rgba(255, 255, 255, .6) !important; border-radius: 32px !important; box-shadow: 0 40px 90px -40px rgba(0, 0, 0, .55) !important; text-align: left !important; }
.nyxo:not(#a#b#c#d) .age-gate .age-gate__form { align-items: stretch !important; text-align: left !important; padding: 0 !important; }
.nyxo:not(#a#b#c#d) .age-gate .age-gate__heading { width: auto !important; margin: 0 0 22px !important; }
.nyxo:not(#a#b#c#d) .age-gate h1.age-gate__heading-title { width: 128px !important; height: 30px !important; margin: 0 !important; background: url(../img/nyxo-logo-primary.png) left center / contain no-repeat !important; font-size: 0 !important; color: transparent !important; }
.nyxo:not(#a#b#c#d) .age-gate h2.age-gate__headline { margin: 0 0 10px !important; font: 600 12.5px/1.2 var(--nx-font) !important; letter-spacing: .16em !important; text-transform: uppercase !important; color: var(--nx-primary) !important; text-align: left !important; }
body.nyxo .nyxo-gate__title { max-width: 11.5ch; margin: 0 0 12px !important; font: 700 clamp(32px, 3.2vw, 44px)/1.02 var(--nx-font) !important; letter-spacing: -.045em; color: var(--nx-ink); }
.nyxo:not(#a#b#c#d) .age-gate .age-gate__subheadline { margin: 0 0 20px !important; font-size: 15px !important; line-height: 1.55 !important; color: var(--nx-text) !important; text-align: left !important; }
.nyxo:not(#a#b#c#d) .age-gate .age-gate__fields { margin: 0 !important; }
.nyxo:not(#a#b#c#d) .age-gate .molg { margin: 0 !important; }
.nyxo:not(#a#b#c#d) .age-gate .molg-row { position: relative; align-items: center !important; gap: 14px !important; padding: 14px 76px 14px 18px !important; margin: 0 0 10px !important; background: #fff !important; border: 1px solid var(--nx-hair) !important; border-radius: 18px !important; }
.nyxo:not(#a#b#c#d) .age-gate .molg-row.is-on { background: #fff !important; border-color: rgba(37, 89, 219, .45) !important; }
.nyxo:not(#a#b#c#d) .age-gate .molg-row:focus-within { box-shadow: 0 0 0 4px rgba(37, 89, 219, .16); }
.nyxo:not(#a#b#c#d) .age-gate .molg-box { position: absolute !important; right: 16px; top: 50%; width: 51px !important; height: 31px !important; margin: -15.5px 0 0 !important; border-radius: 999px !important; border: 0 !important; background: #E5E7EB !important; transition: background-color 200ms var(--nx-ease) !important; }
.nyxo:not(#a#b#c#d) .age-gate .molg-box::after { left: 2px !important; top: 2px !important; width: 27px !important; height: 27px !important; border: 0 !important; border-radius: 50% !important; background: #fff !important; box-shadow: 0 2px 6px rgba(15, 23, 48, .25); transform: none !important; transition: transform 200ms var(--nx-ease) !important; }
.nyxo:not(#a#b#c#d) .age-gate .molg-row.is-on .molg-box { background: var(--nx-primary) !important; }
.nyxo:not(#a#b#c#d) .age-gate .molg-row.is-on .molg-box::after { transform: translateX(20px) !important; }
.nyxo:not(#a#b#c#d) .age-gate .molg-txt b { font-size: 15px !important; color: var(--nx-ink) !important; }
.nyxo:not(#a#b#c#d) .age-gate .molg-txt p, .nyxo:not(#a#b#c#d) .age-gate .molg-row p { font-size: 12.5px !important; color: var(--nx-text) !important; line-height: 1.45 !important; }
.nyxo:not(#a#b#c#d) .age-gate .molg-txt strong { color: var(--nx-ink) !important; }
.nyxo:not(#a#b#c#d) .age-gate .molg-ask { margin: 16px 0 8px !important; font: 600 12px/1 var(--nx-font) !important; letter-spacing: .14em !important; color: var(--nx-muted) !important; }
.nyxo:not(#a#b#c#d) .age-gate .molg-list { gap: 8px !important; }
.nyxo:not(#a#b#c#d) .age-gate .molg-opt { min-height: 40px !important; padding: 0 16px !important; border-radius: 999px !important; border: 1px solid var(--nx-hair) !important; background: #fff !important; font: 600 13.5px/1 var(--nx-font) !important; color: var(--nx-ink) !important; }
.nyxo:not(#a#b#c#d) .age-gate .molg-opt:hover { border-color: var(--nx-ink) !important; }
.nyxo:not(#a#b#c#d) .age-gate .molg-opt[aria-selected="true"] { background: var(--nx-ink) !important; border-color: var(--nx-ink) !important; color: #fff !important; }
.nyxo:not(#a#b#c#d) .age-gate .age-gate__buttons { margin-top: 18px !important; gap: 6px !important; }
.nyxo:not(#a#b#c#d) .age-gate .age-gate__submit--yes, .nyxo:not(#a#b#c#d) .age-gate .age-gate__submit--yes:not([disabled]) { width: 100% !important; min-height: 56px !important; height: 56px !important; border-radius: 999px !important; background: var(--nx-ink) !important; color: #fff !important; border: 0 !important; font: 700 13.5px/1 var(--nx-font) !important; letter-spacing: .12em !important; text-transform: uppercase !important; box-shadow: 0 16px 30px -18px rgba(27, 42, 78, .8) !important; }
.nyxo:not(#a#b#c#d) .age-gate .age-gate__submit--yes:not([disabled]):hover { background: var(--nx-primary) !important; }
.nyxo:not(#a#b#c#d) .age-gate .age-gate__submit--yes[disabled], .nyxo:not(#a#b#c#d) .age-gate .age-gate__submit--yes:disabled { background: #E4E7EE !important; color: #7D8699 !important; box-shadow: inset 0 0 0 1px #D5DAE3 !important; }
.nyxo:not(#a#b#c#d) .age-gate::after, .nyxo:not(#a#b#c#d) .age-gate::before { display: none !important; }
.nyxo:not(#a#b#c#d) .age-gate .age-gate__submit--no { color: var(--nx-text) !important; font-size: 13.5px !important; }
.nyxo:not(#a#b#c#d) .age-gate .age-gate__remember-wrapper { text-align: left !important; }
.nyxo:not(#a#b#c#d) .age-gate .age-gate__additional-information, .nyxo:not(#a#b#c#d) .age-gate .age-gate__additional-information * { text-align: left !important; font-size: 11.5px !important; color: var(--nx-muted) !important; }
body.nyxo .nyxo-gate__entity { margin: 6px 0 0 !important; }
@media (min-width: 861px) and (max-height: 960px) {
	.nyxo:not(#a#b#c#d) .age-gate__wrapper.nyxo-gate > .age-gate { padding: 28px 36px 22px !important; }
	.nyxo:not(#a#b#c#d) .age-gate .age-gate__heading { margin-bottom: 14px !important; }
	body.nyxo .nyxo-gate__title { font-size: 36px !important; margin-bottom: 8px !important; }
	.nyxo:not(#a#b#c#d) .age-gate .age-gate__subheadline { font-size: 14px !important; margin-bottom: 14px !important; }
	.nyxo:not(#a#b#c#d) .age-gate .molg-row { padding-top: 10px !important; padding-bottom: 10px !important; margin-bottom: 8px !important; }
	.nyxo:not(#a#b#c#d) .age-gate .molg-ask { margin: 12px 0 6px !important; }
	.nyxo:not(#a#b#c#d) .age-gate .molg-opt { min-height: 36px !important; }
	.nyxo:not(#a#b#c#d) .age-gate .age-gate__buttons { margin-top: 12px !important; }
}
@media (max-width: 860px), (max-height: 560px) {
	.nyxo:not(#a#b#c#d) .age-gate__wrapper.nyxo-gate { display: block !important; padding: 0 12px 16px !important; overflow-y: auto !important; }
	body.nyxo .nyxo-gate__art { width: 100%; height: 30vh; max-height: 260px; aspect-ratio: auto; margin: 0 auto; }
	body.nyxo .nyxo-gate__ring { width: auto; height: 92%; }
	body.nyxo .nyxo-gate__vial { height: 88%; }
	body.nyxo .nyxo-gate__chip { height: 34px; padding: 0 13px; font-size: 12.5px; }
	body.nyxo .nyxo-gate__chip--a { top: 10%; right: 3%; }
	body.nyxo .nyxo-gate__long { display: none; }
	body.nyxo .nyxo-gate__chip--b { bottom: 10%; left: 2%; }
	.nyxo:not(#a#b#c#d) .age-gate__wrapper.nyxo-gate > .age-gate { max-width: 520px !important; max-height: none !important; margin: -6px auto 0 !important; padding: 26px 20px 20px !important; border-radius: 28px !important; }
	body.nyxo .nyxo-gate__title { font-size: 30px !important; }
	.nyxo:not(#a#b#c#d) .age-gate .age-gate__subheadline { font-size: 14px !important; margin-bottom: 14px !important; }
}

/* ---------- A13. Motion off when asked; decorative motion pauses in hidden tabs ---------- */
html.nyxo-paused body.nyxo .nyxo-night-decor *, html.nyxo-paused body.nyxo .nyxo-hero__vial, html.nyxo-paused body.nyxo .nyxo-pulse, html.nyxo-paused body.nyxo .nyxo-nightbar__bats * { animation-play-state: paused !important; }

/* ==========================================================================
   Part B: Nyx Night (Halloween). Off automatically at 2026-11-01 00:00 ET.
   ========================================================================== */
body.nyxo .nyxo-nightbar, body.nyxo .nyxo-night-decor { display: none; }
html.nyxo-night-expired body.nyxo .nyxo-nightbar, html.nyxo-night-expired body.nyxo .nyxo-night-decor, html.nyxo-night-expired body.nyxo .nyxo-hero--sale, html.nyxo-night-expired body.nyxo .nyxo-offpill, html.nyxo-night-expired body.nyxo .nyxo-salestrip, html.nyxo-bar-dismissed body.nyxo .nyxo-nightbar { display: none !important; }

/* ---------- B1. Announcement bar ---------- */
html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-nightbar { display: block; position: relative; z-index: 991; overflow: hidden; background: linear-gradient(100deg, #0B1430 0%, #1B2A4E 32%, #3A1E5C 66%, #7A2E10 100%); color: #FFF7ED; }
body.nyxo .nyxo-nightbar__in { position: relative; z-index: 1; max-width: calc(var(--nx-max) + 2 * var(--nx-gutter)); margin: 0 auto; padding: 0 56px 0 var(--nx-gutter); min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 14px; box-sizing: border-box; }
body.nyxo .nyxo-nightbar__badge { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 10px 0 8px; border-radius: 999px; background: linear-gradient(135deg, #FACC15, #F2A541); color: #1A0B2E; font: 800 11px/1 var(--nx-font); letter-spacing: .1em; text-transform: uppercase; }
body.nyxo .nyxo-nightbar__badge .nyxo-ic { width: 14px; height: 14px; }
body.nyxo .nyxo-nightbar__msg { margin: 0; padding: 0; font: 600 13.5px/1.3 var(--nx-font); color: #FFF7ED; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.nyxo .nyxo-nightbar__msg b { color: var(--nx-amber); font-weight: 800; }
body.nyxo .nyxo-nightbar__plus { color: #FFF7ED; }
body.nyxo .nyxo-nightbar__nc, body.nyxo .nyxo-nightbar__end { color: #C9D1E6; font-weight: 500; }
body.nyxo .nyxo-nightbar__end { display: none; }
body.nyxo .nyxo-cd { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
body.nyxo .nyxo-nightbar__cd { flex: 0 0 auto; height: 28px; padding: 0 12px; border-radius: 999px; background: rgba(10, 6, 24, .45); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); font: 600 11px/1 var(--nx-font); letter-spacing: .08em; text-transform: uppercase; color: #C9D1E6; }
body.nyxo .nyxo-nightbar__cd .nyxo-cd__t { font-size: 13px; letter-spacing: 0; text-transform: none; color: #FDE68A; }
body.nyxo .nyxo-nightbar__cta { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 14px; border-radius: 999px; background: #FBF8F3; color: #1B2A4E !important; font: 700 11.5px/1 var(--nx-font); letter-spacing: .1em; text-transform: uppercase; text-decoration: none !important; }
body.nyxo .nyxo-nightbar__cta:hover { background: #fff; }
body.nyxo .nyxo-nightbar__cta .nyxo-ic { width: 14px; height: 14px; }
body.nyxo .nyxo-nightbar__close { position: absolute !important; right: 6px; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; min-height: 0 !important; padding: 0 !important; display: inline-flex !important; align-items: center; justify-content: center; border: 0 !important; border-radius: 50% !important; background: transparent !important; color: #C9D1E6 !important; box-shadow: none !important; cursor: pointer; }
body.nyxo .nyxo-nightbar__close:hover { color: #fff !important; background: rgba(255, 255, 255, .08) !important; }
body.nyxo .nyxo-nightbar__bats { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
body.nyxo .nyxo-nightbar__bats svg { position: absolute; width: 22px; height: auto; color: rgba(255, 247, 237, .3); animation: nyxo-flit 9s ease-in-out infinite; }
body.nyxo .nyxo-nightbar__bats svg:first-child { left: 6%; top: 8px; }
body.nyxo .nyxo-nightbar__bats svg:last-child { right: 9%; top: 18px; width: 16px; animation-delay: -4s; animation-duration: 11s; }
@keyframes nyxo-flit { 0%, 100% { transform: translate(0, 0) rotate(-4deg); } 50% { transform: translate(-8px, -3px) rotate(5deg); } }
@media (max-width: 1100px) {
	body.nyxo .nyxo-nightbar__nc { display: none; }
}
@media (max-width: 900px) {
	body.nyxo .nyxo-nightbar__in { justify-content: flex-start; gap: 10px; padding: 0 46px 0 16px; min-height: 44px; }
	body.nyxo .nyxo-nightbar__badge { width: 24px; padding: 0; justify-content: center; }
	body.nyxo .nyxo-nightbar__badge span, 	body.nyxo .nyxo-nightbar__plus, 	body.nyxo .nyxo-nightbar__cta, 	body.nyxo .nyxo-nightbar__cd .nyxo-cd__lbl, 	body.nyxo .nyxo-nightbar__bats svg:last-child { display: none; }
	body.nyxo .nyxo-nightbar__end { display: inline; }
	body.nyxo .nyxo-nightbar__msg { font-size: 13px; flex: 1 1 auto; min-width: 0; }
	body.nyxo .nyxo-nightbar__cd { height: 26px; padding: 0 10px; }
	body.nyxo .nyxo-nightbar__cd .nyxo-cd__t { font-size: 12px; }
}
@media (max-width: 600px) {
	body.nyxo .nyxo-nightbar__ev { display: none; }
}

/* ---------- B2. Sale hero ---------- */
html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-hero--sale { display: block; background: var(--nx-night-grad) !important; }
html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-hero--day { display: none !important; }
html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-hero--sale::before { background: radial-gradient(55% 60% at 74% 48%, rgba(242, 165, 65, .20), transparent 62%), radial-gradient(40% 50% at 10% 0%, rgba(91, 63, 191, .30), transparent 70%) !important; }
html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-hero--sale::after { opacity: .35 !important; }
html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-hero--sale .nyxo-hero__in { min-height: clamp(560px, 78vh, 760px); padding-top: clamp(48px, 6vw, 96px); padding-bottom: clamp(72px, 8vw, 120px); position: relative; z-index: 1; }
body.nyxo .nyxo-hero__eyebrow { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 0 0 22px; font: 600 12.5px/1.2 var(--nx-font); letter-spacing: .14em; text-transform: uppercase; color: var(--nx-amber); }
body.nyxo .nyxo-pulse { position: relative; width: 8px; height: 8px; border-radius: 50%; background: var(--nx-amber); box-shadow: 0 0 0 0 rgba(242, 165, 65, .6); animation: nyxo-ping 2.2s var(--nx-ease) infinite; }
@keyframes nyxo-ping { 0% { box-shadow: 0 0 0 0 rgba(242, 165, 65, .55); } 80%, 100% { box-shadow: 0 0 0 10px rgba(242, 165, 65, 0); } }
body.nyxo .nyxo-hero__cd { height: 26px; padding: 0 11px; border-radius: 999px; background: rgba(242, 165, 65, .12); box-shadow: inset 0 0 0 1px rgba(242, 165, 65, .35); color: #FDE6C4; letter-spacing: .1em; }
body.nyxo .nyxo-hero__cd .nyxo-cd__t { color: #fff; letter-spacing: 0; font-size: 13px; text-transform: none; }
html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-hero--sale .nyxo-hero__h { max-width: 11ch; margin-bottom: 22px !important; color: #fff !important; }
body.nyxo .nyxo-hero__amber { color: var(--nx-amber); text-shadow: 0 0 40px rgba(242, 165, 65, .35); white-space: nowrap; }
html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-hero--sale .nyxo-hero__sub { max-width: 44ch; color: #C9D1E6; font-size: clamp(17px, 1.05rem + .3vw, 20px); margin-bottom: 30px; }
html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-hero--sale .nyxo-hero__actions { gap: 12px; }
body.nyxo .nyxo-hero__discord { display: flex; align-items: center; gap: 10px; margin: 26px 0 0; font-size: 14.5px; color: #C9D1E6; }
body.nyxo .nyxo-hero__discord .nyxo-ic { flex: 0 0 auto; width: 30px; height: 30px; padding: 7px; border-radius: 10px; background: var(--nx-discord); color: #fff; box-sizing: border-box; }
body.nyxo .nyxo-hero__discord a { color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
body.nyxo .nyxo-hero__art--trio { min-height: 520px; }
body.nyxo .nyxo-hero__art--trio::before { width: min(400px, 86%); border-color: rgba(242, 165, 65, .18); box-shadow: 0 0 0 48px rgba(242, 165, 65, .025), 0 0 0 49px rgba(242, 165, 65, .08); }
body.nyxo .nyxo-hero__art--trio .nyxo-hero__halo { width: min(520px, 100%); background: radial-gradient(circle, rgba(242, 165, 65, .30) 0%, rgba(242, 165, 65, .08) 42%, transparent 70%); filter: blur(4px); animation: nyxo-breathe 7s ease-in-out infinite; }
@keyframes nyxo-breathe { 0%, 100% { transform: scale(1); opacity: .9; } 50% { transform: scale(1.06); opacity: 1; } }
body.nyxo .nyxo-hero__vial { position: absolute; z-index: 2; display: block; line-height: 0; }
body.nyxo .nyxo-hero__vial img { height: 100%; width: auto; max-width: none; display: block; filter: drop-shadow(0 28px 44px rgba(11, 20, 48, .6)); }
body.nyxo .nyxo-hero__vial--2 { height: 470px; left: 50%; top: 50%; margin: -250px 0 0 -235px; z-index: 3; animation: nyxo-float 6s ease-in-out infinite; }
body.nyxo .nyxo-hero__vial--1 { height: 340px; left: 50%; top: 50%; margin: -150px 0 0 -330px; animation: nyxo-float 7.5s ease-in-out infinite -2s; }
body.nyxo .nyxo-hero__vial--3 { height: 340px; left: 50%; top: 50%; margin: -130px 0 0 -10px; animation: nyxo-float 9s ease-in-out infinite -4s; }
body.nyxo .nyxo-hero__vial--1 img, body.nyxo .nyxo-hero__vial--3 img { filter: drop-shadow(0 24px 36px rgba(11, 20, 48, .65)) brightness(.88) saturate(.95); }
@keyframes nyxo-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
body.nyxo .nyxo-hero__sticker { position: absolute; z-index: 4; top: 13%; left: 6%; display: inline-flex; align-items: center; height: 40px; padding: 0 18px; border-radius: 999px; background: var(--nx-amber); color: #1B2A4E; font: 800 15px/1 var(--nx-font); letter-spacing: .02em; transform: rotate(-6deg); box-shadow: 0 18px 30px -16px rgba(0, 0, 0, .55), 0 0 0 6px rgba(242, 165, 65, .14); }
body.nyxo .nyxo-hero--sale .nyxo-hero__floor { bottom: 5%; width: 62%; }
/* atmosphere: blobs, stars, moon, bats, embers */
html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-night-decor { display: block; position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
body.nyxo .nyxo-night-decor__glow { position: absolute; right: -6%; top: -18%; width: 60%; height: 80%; background: radial-gradient(closest-side, rgba(242, 165, 65, .10), rgba(242, 165, 65, .04) 55%, transparent 75%); }
body.nyxo .nyxo-night-decor__blob { position: absolute; border-radius: 50%; filter: blur(80px); animation: nyxo-blob 18s ease-in-out infinite alternate; }
body.nyxo .nyxo-night-decor__blob--v { width: 560px; height: 560px; left: -160px; top: -200px; background: rgba(91, 63, 191, .45); }
body.nyxo .nyxo-night-decor__blob--a { width: 640px; height: 640px; right: -220px; bottom: -340px; background: rgba(242, 165, 65, .32); animation-delay: -9s; }
@keyframes nyxo-blob { from { transform: translate(0, 0) scale(1); } to { transform: translate(40px, 24px) scale(1.08); } }
body.nyxo .nyxo-night-decor__stars { position: absolute; inset: 0; background-repeat: no-repeat; background-image: radial-gradient(1.4px 1.4px at 8% 18%, rgba(251, 248, 243, .55), transparent 70%), radial-gradient(1px 1px at 17% 64%, rgba(251, 248, 243, .35), transparent 70%), radial-gradient(1.2px 1.2px at 27% 9%, rgba(251, 248, 243, .45), transparent 70%), radial-gradient(1px 1px at 36% 84%, rgba(251, 248, 243, .30), transparent 70%), radial-gradient(1.6px 1.6px at 46% 22%, rgba(251, 248, 243, .40), transparent 70%), radial-gradient(1px 1px at 55% 6%, rgba(251, 248, 243, .35), transparent 70%), radial-gradient(1.2px 1.2px at 62% 92%, rgba(251, 248, 243, .30), transparent 70%), radial-gradient(1px 1px at 71% 30%, rgba(251, 248, 243, .35), transparent 70%), radial-gradient(1.4px 1.4px at 79% 74%, rgba(251, 248, 243, .35), transparent 70%), radial-gradient(1px 1px at 88% 44%, rgba(251, 248, 243, .40), transparent 70%), radial-gradient(1.2px 1.2px at 94% 88%, rgba(251, 248, 243, .30), transparent 70%), radial-gradient(1px 1px at 4% 92%, rgba(251, 248, 243, .30), transparent 70%); }
body.nyxo .nyxo-night-decor__moon { position: absolute; top: clamp(28px, 5vw, 64px); right: clamp(20px, 5vw, 80px); width: clamp(64px, 8vw, 120px); aspect-ratio: 1; border-radius: 50%; box-shadow: inset calc(clamp(64px, 8vw, 120px) * -.24) calc(clamp(64px, 8vw, 120px) * .1) 0 0 rgba(251, 248, 243, .88), inset calc(clamp(64px, 8vw, 120px) * -.25) calc(clamp(64px, 8vw, 120px) * .1) 0 1.5px rgba(242, 165, 65, .55); transform: rotate(-12deg); filter: drop-shadow(0 0 26px rgba(242, 165, 65, .3)); }
body.nyxo .nyxo-bat { position: absolute; display: block; color: rgba(251, 248, 243, .34); }
body.nyxo .nyxo-bat svg { width: 100%; height: auto; display: block; }
body.nyxo .nyxo-bat--1 { width: 40px; top: 12%; right: 22%; animation: nyxo-drift 20s ease-in-out infinite; }
body.nyxo .nyxo-bat--2 { width: 26px; top: 22%; right: 30%; color: rgba(251, 248, 243, .26); animation: nyxo-drift 24s ease-in-out infinite reverse; }
body.nyxo .nyxo-bat--3 { width: 18px; top: 34%; right: 6%; color: rgba(251, 248, 243, .3); animation: nyxo-drift 18s ease-in-out infinite -6s; }
body.nyxo .nyxo-bat--4 { width: 30px; top: 7%; left: 44%; color: rgba(251, 248, 243, .28); animation: nyxo-drift 22s ease-in-out infinite -11s; }
body.nyxo .nyxo-bat--5 { width: 16px; bottom: 18%; left: 52%; color: rgba(251, 248, 243, .35); animation: nyxo-drift 19s ease-in-out infinite -3s; }
@keyframes nyxo-drift { 0%, 100% { transform: translate(0, 0) rotate(-6deg); } 33% { transform: translate(-14px, 6px) rotate(4deg); } 66% { transform: translate(8px, -6px) rotate(-2deg); } }
body.nyxo .nyxo-ember { position: absolute; bottom: -10px; width: 5px; height: 5px; border-radius: 50%; background: #FDBA74; box-shadow: 0 0 10px 2px rgba(249, 115, 22, .55); opacity: 0; animation: nyxo-ember 12s linear infinite; }
body.nyxo .nyxo-ember--1 { left: 58%; animation-delay: 0s; }
body.nyxo .nyxo-ember--2 { left: 66%; animation-delay: -2.5s; animation-duration: 14s; width: 4px; height: 4px; }
body.nyxo .nyxo-ember--3 { left: 74%; animation-delay: -5s; }
body.nyxo .nyxo-ember--4 { left: 82%; animation-delay: -7s; animation-duration: 15s; width: 3px; height: 3px; }
body.nyxo .nyxo-ember--5 { left: 90%; animation-delay: -9s; }
body.nyxo .nyxo-ember--6 { left: 51%; animation-delay: -11s; animation-duration: 13s; width: 4px; height: 4px; }
body.nyxo .nyxo-ember--7 { left: 36%; animation-delay: -4s; animation-duration: 16s; width: 3px; height: 3px; }
body.nyxo .nyxo-ember--8 { left: 96%; animation-delay: -1s; animation-duration: 11s; }
@keyframes nyxo-ember {
	0% { transform: translate(0, 0); opacity: 0; }
	10% { opacity: .9; }
	70% { opacity: .5; }
	100% { transform: translate(-30px, -560px); opacity: 0; }
}
/* the evergreen hero keeps its quiet moon and three bats (shown when the sale hero is not) */
body.nyxo .nyxo-night-decor--day .nyxo-bat { color: rgba(251, 248, 243, .14); }
@media (max-width: 860px) {
	html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-hero--sale .nyxo-hero__in { min-height: 0; padding-top: 34px; padding-bottom: 64px; gap: 0; }
	body.nyxo .nyxo-hero--sale .nyxo-hero__art--trio { order: 2; min-height: 0; height: 290px; margin-top: 18px; }
	body.nyxo .nyxo-hero__eyebrow { margin-bottom: 16px; font-size: 11.5px; }
	html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-hero--sale .nyxo-hero__h { font-size: clamp(40px, 11vw, 52px) !important; margin-bottom: 14px !important; }
	html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-hero--sale .nyxo-hero__sub { font-size: 16px; margin-bottom: 22px; }
	html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-hero--sale .nyxo-hero__actions { flex-wrap: nowrap; }
	html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-hero--sale .nyxo-hero__actions .nyxo-btn { width: auto; flex: 1 1 0; padding: 0 14px !important; font-size: 12.5px !important; letter-spacing: .1em !important; }
	body.nyxo .nyxo-hero__discord { margin-top: 18px; font-size: 13.5px; align-items: flex-start; }
	body.nyxo .nyxo-hero__vial--2 { height: 270px; margin: -150px 0 0 -135px; }
	body.nyxo .nyxo-hero__vial--1 { height: 196px; margin: -96px 0 0 -196px; }
	body.nyxo .nyxo-hero__vial--3 { height: 196px; margin: -84px 0 0 -4px; }
	body.nyxo .nyxo-hero__sticker { top: 3%; left: 4%; height: 34px; font-size: 13.5px; padding: 0 14px; }
	body.nyxo .nyxo-hero__art--trio .nyxo-hero__halo { width: 300px; }
	body.nyxo .nyxo-hero__art--trio::before { width: 230px; box-shadow: 0 0 0 26px rgba(242, 165, 65, .025), 0 0 0 27px rgba(242, 165, 65, .08); }
	body.nyxo .nyxo-night-decor__moon { top: 16px; right: 14px; width: 48px; box-shadow: inset -11px 5px 0 0 rgba(251, 248, 243, .88), inset -12px 5px 0 1.5px rgba(242, 165, 65, .55); }
	body.nyxo .nyxo-bat--1 { top: 52%; right: 70%; }
	body.nyxo .nyxo-bat--2 { top: 58%; right: 8%; }
	body.nyxo .nyxo-bat--3 { top: 7%; right: 26%; }
	body.nyxo .nyxo-bat--4 { display: none; }
	body.nyxo .nyxo-night-decor--day .nyxo-bat--1 { top: 30px; right: 86px; width: 22px; }
	body.nyxo .nyxo-night-decor--day .nyxo-bat--2 { top: 60px; right: 112px; width: 16px; }
	body.nyxo .nyxo-night-decor--day .nyxo-bat--3 { top: 92px; right: 30px; width: 14px; }
}

/* ---------- B3. Shop and product page: amber wash, sale strip, badges ---------- */
html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d).archive.woocommerce #content, html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d).single-product #content, html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d).post-type-archive-product #content { background: linear-gradient(180deg, rgba(242, 165, 65, .10) 0, rgba(242, 165, 65, .04) 220px, rgba(242, 165, 65, 0) 460px) !important; }
html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-salestrip { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; width: fit-content; max-width: 100%; min-height: 44px; margin: 6px 0 12px; padding: 6px 8px 6px 6px; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px var(--nx-hair), 0 10px 28px -20px rgba(58, 30, 92, .5); font: 600 14px/1.3 var(--nx-font); color: var(--nx-ink); box-sizing: border-box; }
body.nyxo .nyxo-salestrip__ic { flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #1B2A4E, #3A1E5C); color: var(--nx-amber); }
body.nyxo .nyxo-salestrip__ic svg { width: 20px; height: 20px; stroke-width: 1.8; }
body.nyxo .nyxo-salestrip__t b { color: var(--nx-amber-ink); font-weight: 800; }
body.nyxo .nyxo-salestrip__cd { height: 32px; padding: 0 12px; border-radius: 999px; background: var(--nx-amber-bg); color: var(--nx-amber-ink); font: 700 11px/1 var(--nx-font); letter-spacing: .08em; text-transform: uppercase; }
body.nyxo .nyxo-salestrip__cd .nyxo-cd__t { font-size: 13px; letter-spacing: 0; text-transform: none; color: #7A2E10; }
body.nyxo .nyxo-salestrip__terms { font-size: 13px; font-weight: 600; color: var(--nx-primary) !important; text-decoration: underline; text-underline-offset: 3px; padding: 0 8px 0 2px; }
@media (max-width: 700px) {
	html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-salestrip { border-radius: 20px; width: 100%; padding: 10px 12px; align-items: flex-start; }
	body.nyxo .nyxo-salestrip__t { flex: 1 1 calc(100% - 50px); }
	body.nyxo .nyxo-salestrip__cd { margin-left: 44px; }
}
/* orange "30% off" pill, top-left of every product card image (never over the label) */
body.nyxo .nyxo-offpill { display: none; }
html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-offpill { position: absolute; z-index: 3; top: 12px; left: 12px; display: inline-flex; align-items: center; height: 26px; padding: 0 11px; border-radius: 999px; background: linear-gradient(135deg, #C2410C 0%, #9A3412 100%); border: 1px solid rgba(250, 204, 21, .45); color: #FFF7ED; font: 800 11.5px/1 var(--nx-font); letter-spacing: .06em; text-transform: uppercase; box-shadow: 0 8px 16px -8px rgba(58, 30, 92, .75); pointer-events: none; }
/* PDP sale tile tiers and "save up to 7%" strip are hidden while Nyx Night runs (Bundle & Save is off) */
html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .mol-bundle-select, html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .molpp-strip { display: none !important; }

/* ---------- B4. Seasonal touches on shared pieces ---------- */
html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-dband__night { display: inline; color: #FDE6C4; }
html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-dband__card::after { content: ""; position: absolute; z-index: -1; right: -60px; top: -80px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(242, 165, 65, .28), rgba(242, 165, 65, 0) 65%); pointer-events: none; }
html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-offer__card--night { background: var(--nx-night-grad) !important; }
html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-offer__card--night .nyxo-offer__dot { background: var(--nx-amber); box-shadow: 0 0 0 4px rgba(242, 165, 65, .16); }
html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .nyxo-offer__card--night .nyxo-eyebrow { color: var(--nx-amber) !important; }
html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d) .mkh-bar { display: none !important; }
html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d).woocommerce-checkout .nyxo-nightbar, html:not(.nyxo-night-expired) .nyxo.nyxo-night:not(#a#b#c#d).woocommerce-cart .nyxo-nightbar { display: none !important; }

/* ===== v0.2.1 judge-round fixes (R2) ===== */
/* One sale colour: rust pill everywhere, savings stay green. */
body.nyxo .nyxo-price__off{background:#C2410C!important;color:#fff!important}
.nyxo:not(#a#b#c#d).single-product .summary p.price{display:flex!important;flex-wrap:wrap;align-items:baseline;gap:8px 10px}
.nyxo:not(#a#b#c#d).single-product .summary p.price .nyxo-price__off,.nyxo:not(#a#b#c#d).single-product .summary p.price .nyxo-price__save{align-self:center}
body.nyxo.single-product .woocommerce-product-gallery .onsale,body.nyxo .ast-onsale-card,body.nyxo .woocommerce-product-gallery .ast-onsale-card{display:none!important}
/* One primary button colour: navy, blue on hover. */
.nyxo:not(#a#b#c#d) .single_add_to_cart_button,.nyxo:not(#a#b#c#d) .wc-block-cart__submit-button,.nyxo:not(#a#b#c#d) .mol-buybar button{background:#1B2A4E!important;border-color:#1B2A4E!important;color:#fff!important}
.nyxo:not(#a#b#c#d) .single_add_to_cart_button:hover,.nyxo:not(#a#b#c#d) .wc-block-cart__submit-button:hover,.nyxo:not(#a#b#c#d) .mol-buybar button:hover{background:#2559DB!important;border-color:#2559DB!important}
/* Lot report: a quiet link under the button, not a competing pill. */
.nyxo:not(#a#b#c#d) .nyxo-lotbtn{background:none!important;border:0!important;box-shadow:none!important;height:auto!important;padding:6px 0!important;color:#2559DB!important;font:600 14px/1.3 var(--nx-font)!important;letter-spacing:0!important;text-transform:none!important;text-decoration:underline;text-underline-offset:3px;width:auto!important}
/* Out of stock: no promo chips on items nobody can buy; badge stays readable. */
body.nyxo li.product.outofstock .nyxo-offpill,body.nyxo li.product.outofstock .astra-shop-thumbnail-wrap::after{display:none!important}
body.nyxo li.product.outofstock .nyxo-price__off,body.nyxo li.product.outofstock .nyxo-price__save{display:none!important}
/* Homepage: one countdown (the hero's), Discord lives in its band. */
body.nyxo.home .nyxo-nightbar__cd,body.nyxo.home .nyxo-nightbar__cta,body.nyxo .nyxo-hero__discord{display:none!important}
/* Product page: one Discord ask (header pill + band); drop the extra box. */
body.nyxo.single-product .molrv-box.molprem-discord-moved{display:none!important}
/* Cart rows: one continuous divider. */
body.nyxo .wc-block-cart-items__row td{border-top:0!important}
body.nyxo .wc-block-cart-items__row{border-top:1px solid #E6E1D8}
/* Mobile cards: roomier button, shorter card. */
@media (max-width:480px){
 .nyxo:not(#a#b#c#d) ul.products li.product .button{font-size:12px!important;letter-spacing:.06em!important;padding:0 10px!important;gap:6px!important;width:100%!important}
 .nyxo:not(#a#b#c#d) ul.products li.product .button svg{width:14px;height:14px}
 body.nyxo ul.products li.product .ast-woo-product-category,body.nyxo .nyxo-card__cat{display:none!important}
 body.nyxo ul.products li.product .nyxo-price__permg{display:inline-block;margin-right:6px}
}
@media (max-width:360px){.nyxo:not(#a#b#c#d) ul.products li.product .button svg{display:none}}
/* Cart drawer: readable header and a real close target. */
body.nyxo .mol-drawer__head,body.nyxo .mol-drawer__head *{color:#FBF8F3!important}
body.nyxo .mol-drawer__close{color:#FBF8F3!important;background:rgba(251,248,243,.12)!important;width:44px!important;height:44px!important;border-radius:999px!important;display:inline-flex!important;align-items:center;justify-content:center;border:0!important}
body.nyxo .mol-drawer__close:hover{background:rgba(251,248,243,.22)!important}
/* Drawer: View cart is secondary (ghost), checkout is the one solid button. */
body.nyxo .mol-drawer a[href*="/cart"]:not([href*="checkout"]){background:transparent!important;border:1.5px solid #1B2A4E!important;color:#1B2A4E!important}
/* Product photo hover zoom: no white box. */
body.nyxo .woocommerce-product-gallery .zoomImg{padding:0!important;background:transparent!important;object-fit:cover!important;max-width:none!important;border-radius:0!important}
/* Out-of-stock filter dot is neutral, not brand blue. */
body.nyxo .mfb__seg [class*="dot"],body.nyxo .mfb__seg button:last-child::before{background:#8A93A6!important}
/* Floating Discord button clears the mobile sticky add-to-cart bar. */
@media (max-width:768px){body.nyxo.nyxo-bb-on #mkFab,body.nyxo .nyxo-bb-on ~ #mkFab{bottom:96px!important}}

/* ===== v0.2.2: win specificity over legacy html body:not(#mx) rules ===== */
html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .mol-drawer .mol-drawer__head,html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .mol-drawer .mol-drawer__head *,html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .mol-drawer .mol-drawer__close{color:#FBF8F3!important}
html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .mol-drawer .mol-drawer__close{background:rgba(251,248,243,.12)!important;width:44px!important;height:44px!important;border-radius:999px!important;border:0!important}
html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) button.single_add_to_cart_button,html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .wc-block-components-checkout-place-order-button,html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .wc-block-cart__submit-button,html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .mol-drawer a.checkout,html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .mol-drawer a[href*="checkout"]{background:#1B2A4E!important;border-color:#1B2A4E!important;color:#fff!important}
html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) button.single_add_to_cart_button:hover,html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .wc-block-components-checkout-place-order-button:hover,html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .wc-block-cart__submit-button:hover,html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .mol-drawer a.checkout:hover,html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .mol-drawer a[href*="checkout"]:hover{background:#2559DB!important;border-color:#2559DB!important}
html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .mol-drawer a.button:not(.checkout):not([href*="checkout"]){background:transparent!important;border:1.5px solid #1B2A4E!important;color:#1B2A4E!important}
html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .woocommerce-product-gallery .mol-sbadge{display:none!important}
html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) li.product.outofstock .astra-shop-thumbnail-wrap::after{content:none!important;display:none!important}
@media (max-width:600px){html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) li.product a.button{width:100%!important;padding:0 10px!important;letter-spacing:.06em!important;font-size:12.5px!important;gap:6px!important;box-sizing:border-box!important}}
@media (max-width:360px){html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) li.product a.button svg{display:none!important}}
html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .wc-block-cart-items__row td{border-top:0!important;box-shadow:inset 0 1px 0 #E6E1D8}
/* Hero "No code needed": a quiet link to the terms, not a second button. */
html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .nyxo-btn--line.nyxo-btn--hero{background:none!important;border:0!important;box-shadow:none!important;padding:0 6px!important;height:auto!important;min-height:0!important;font:600 14px/1.3 var(--nx-font)!important;letter-spacing:0!important;text-transform:none!important;color:#C9D1E6!important;text-decoration:underline;text-underline-offset:4px}

/* ===== v0.2.3: final judge polish (R3) ===== */
@media (max-width:480px){html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .nyxo-card .nyxo-btn--atc{font-size:12px!important;letter-spacing:.06em!important;padding:0 10px!important;gap:6px!important;width:100%!important;box-sizing:border-box!important}html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .nyxo-card__spec{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .nyxo-offpill{top:8px!important;left:8px!important;height:22px!important;font-size:10.5px!important;padding:0 8px!important}html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) li.product .astra-shop-thumbnail-wrap img{margin-top:14px}}
@media (max-width:360px){html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .nyxo-card .nyxo-btn--atc svg{display:none!important}}
html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .wc-block-components-sale-badge,html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .wc-block-components-product-badge{background:#E8F3EC!important;color:#1F7A4D!important;border:0!important}
html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) li.product .astra-shop-thumbnail-wrap::after,html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) li.product .nyxo-b2g1-chip,html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) .nyxo-card [class*="b2g1"]{content:none!important;display:none!important}

/* ===== v0.2.4: kill Astra card hover quick-add circle ===== */
html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) li.product .ast-on-card-button,html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) li.product .ast-card-action-tooltip,html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) li.product .ast-select-options-trigger,html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) li.product .ast-quick-view-trigger,html body.nyxo:not(#nx1):not(#nx2):not(#nx3):not(#nx4):not(#nx5) li.product .ast-shop-product-out-of-stock{display:none!important}

/* ===== v0.3 shell: kill-list items that belong in this file ===== */
/* K13: legacy primary buttons were Midnight text on Blue Ink (2.37:1). White text everywhere. */
.nyxo:not(#a#b#c#d) :is(.mkm-btn--p, .cx-btn--p, .mgv-btn, button.molco-go), .nyxo:not(#a#b#c#d) :is(.mkm-btn--p, .cx-btn--p, .mgv-btn, button.molco-go) * { color: #fff !important; }
/* K1 stays permanent: no Astra quick-add circle, no "Sale!" flash on cards. */
.nyxo:not(#a#b#c#d) .ast-on-card-button, .nyxo:not(#a#b#c#d) .ast-select-options-trigger, .nyxo:not(#a#b#c#d) ul.products li.product .onsale, .nyxo:not(#a#b#c#d) .ast-onsale-card { display: none !important; }
/* v0.2 chrome that v0.3 replaces: never print both. */
.nyxo:not(#a#b#c#d) .nyxo-nightbar, .nyxo:not(#a#b#c#d) .nyxo-dband, .nyxo:not(#a#b#c#d) .nyxo-footer { display: none !important; }

/* 0.3.13 QA r5: age gate at 861-1100px, the long HPLC chip text ran behind the card */
@media (min-width: 861px) and (max-width: 1100px) {
	body.nyxo .nyxo-gate__long { display: none; }
}

/* 0.3.14 QA r6: age gate at 861-1279px, the HPLC chip still ran behind the card; the "1 lot · 1 report" chip stays */
@media (min-width: 861px) and (max-width: 1279px) {
	body.nyxo .nyxo-gate__chip--a { display: none; }
}
