/*
Theme Name: NXPeptides
Description: Clean dark e-commerce
Version: 7.7.6
Text Domain: nxpeptides
*/

@import url('https://fonts.googleapis.com/css2?family=Jost:wght@400;500;600;700;800&family=Inter:wght@400;500;600&display=swap');

:root {
    --nx-bg: #0a0a0a;
    --nx-bg-dk: #050505;
    --nx-bg-dkr: #000000;
    --nx-surface: #141414;
    --nx-surface-h: #1c1c1c;
    --nx-border: #222222;
    --nx-text: #ffffff;
    --nx-text-2: #b0b0b0;
    --nx-text-3: #666666;
    --nx-head: 'Futura', 'Jost', system-ui, sans-serif;
    --nx-body: 'Inter', system-ui, sans-serif;
    --nx-r: 8px;
    --nx-r-lg: 12px;
    --nx-glass: #141414;
    --nx-glass-border: #222222;
    --nx-tr: .2s ease;
    --nx-header-h: 56px;
    --nx-marquee-h: 34px;
    --nx-accent: #6d28d9;
    --nx-accent-dim: #5b21b6;
    --nx-accent-deep: #4c1d95;
    --nx-accent-glow: rgba(109, 40, 217, .15);
    --nx-accent-border: rgba(109, 40, 217, .25);
}

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-family: var(--nx-body); font-size: 15px; background: var(--nx-bg); color: var(--nx-text); -webkit-font-smoothing: antialiased; scroll-behavior: smooth; }
body { background: var(--nx-bg) !important; color: var(--nx-text) !important; min-height: 100vh; overflow-x: hidden; }
a { color: var(--nx-text); text-decoration: none; transition: opacity var(--nx-tr); }
a:hover { opacity: .8; }
img { max-width: 100%; height: auto; display: block; }
button { cursor: pointer; font-family: inherit; }
.nx-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* ── BG — gradient mesh + dot grid ── */
body::before, body::after { display: none; }
.nx-page-tint {
    position: fixed; inset: 0; z-index: 0; pointer-events: none;
    background-image: radial-gradient(circle, rgba(255,255,255,.15) 1px, transparent 1px);
    background-size: 24px 24px;
    opacity: .18;
    -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, black 30%, transparent 100%);
    mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, black 30%, transparent 100%);
}
.nx-page-wrap, .nx-header, .nx-footer, .nx-marquee { position: relative; z-index: 1; }

/* ── CARD ── */
.nx-glass {
    background: var(--nx-surface);
    border: 1px solid var(--nx-border);
    border-radius: var(--nx-r-lg);
}

/* ── KILL WP CHROME ── */
.wp-site-blocks, .has-global-padding, .is-layout-constrained { padding: 0 !important; margin: 0 !important; max-width: none !important; }
.wp-block-post-content, .entry-content, .page .entry-content { padding: 0 !important; }
.ll-header, .ll-footer, .ll-ruo-bar, .ll-mobile-nav { display: none !important; }

/* ── MARQUEE BAR ── */
.nx-marquee { display: none !important; }
.nx-marquee__track { display: flex; animation: nxScroll 25s linear infinite; white-space: nowrap; }
.nx-marquee__item { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--nx-text-2); padding: 0 32px; }
.nx-marquee__item svg { width: 12px; height: 12px; flex-shrink: 0; }
@keyframes nxScroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* ══════════════════════════════════════
   HEADER — floating pill
   ══════════════════════════════════════ */
.nx-header {
    position: sticky; top: 0; z-index: 900;
    max-width: 100%; margin: 0;
    background: var(--nx-bg);
    border-bottom: 1px solid var(--nx-border);
    border-radius: 0;
    height: var(--nx-header-h);
}
@media (min-width: 1232px) { .nx-header__inner { max-width: 1200px; margin: 0 auto; } }
.nx-header__inner { display: flex; align-items: center; justify-content: space-between; height: 100%; padding: 0 24px; }
.nx-logo { display: inline-flex; }
.nx-logo__img { height: 26px; width: auto; display: block; }
.nx-nav { display: flex; gap: 24px; }
.nx-nav a { font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--nx-text-2); transition: color var(--nx-tr); }
.nx-nav a:hover { color: var(--nx-accent); opacity: 1; }
.nx-header__icons { display: flex; gap: 14px; align-items: center; }
.nx-header__icon { background: none; border: none; color: var(--nx-text-2); transition: color var(--nx-tr); display: inline-flex; }
.nx-header__icon:hover { color: var(--nx-accent); opacity: 1; }
.nx-header__icon svg { width: 20px; height: 20px; }
.nx-cart-count { background: var(--nx-accent); color: #fff; font-size: 10px; font-weight: 700; width: 16px; height: 16px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; position: relative; top: -8px; left: -6px; }
.nx-hamburger { display: none; background: none; border: none; color: var(--nx-text); }
.nx-hamburger svg { width: 22px; height: 22px; }
.nx-hide-mobile {}

/* ── MOBILE NAV — full-screen takeover ── */
.nx-mobile-nav {
    position: fixed; inset: 0; z-index: 1000;
    background: rgba(10, 10, 10, .97);
    backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    opacity: 0; pointer-events: none;
    transition: opacity .35s cubic-bezier(.22, 1, .36, 1);
}
.nx-mobile-nav.open { opacity: 1; pointer-events: auto; }
.nx-mobile-nav__panel {
    position: absolute; inset: 0;
    width: 100%; max-width: 100%;
    background: transparent;
    border: none; box-shadow: none;
    padding: 0; overflow-y: auto;
    display: flex; flex-direction: column;
    justify-content: center; align-items: center;
}
.nx-mobile-nav__close {
    position: absolute; top: 16px; right: 16px;
    background: transparent; border: 1px solid var(--nx-border);
    border-radius: 50%; width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    color: var(--nx-text-2); transition: all .25s; cursor: pointer; z-index: 2;
}
.nx-mobile-nav__close:hover { background: rgba(255,255,255,.06); color: var(--nx-text); border-color: #444; }
.nx-mobile-nav__links {
    padding: 20px 32px; flex: none;
    display: flex; flex-direction: column; align-items: center; gap: 4px;
    width: 100%;
}
.nx-mobile-nav__links a {
    display: block; text-align: center; width: 100%; max-width: 320px;
    font-family: var(--nx-head); font-size: 22px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .08em;
    padding: 16px 0; border-bottom: none;
    color: var(--nx-text); transition: all .25s;
    opacity: 0; transform: translateY(16px);
}
.nx-mobile-nav.open .nx-mobile-nav__links a {
    opacity: 1; transform: translateY(0);
}
.nx-mobile-nav.open .nx-mobile-nav__links a:nth-child(1) { transition-delay: .06s; }
.nx-mobile-nav.open .nx-mobile-nav__links a:nth-child(2) { transition-delay: .10s; }
.nx-mobile-nav.open .nx-mobile-nav__links a:nth-child(3) { transition-delay: .14s; }
.nx-mobile-nav.open .nx-mobile-nav__links a:nth-child(4) { transition-delay: .18s; }
.nx-mobile-nav.open .nx-mobile-nav__links a:nth-child(5) { transition-delay: .22s; }
.nx-mobile-nav.open .nx-mobile-nav__links a:nth-child(6) { transition-delay: .26s; }
.nx-mobile-nav.open .nx-mobile-nav__links a:nth-child(7) { transition-delay: .30s; }
.nx-mobile-nav.open .nx-mobile-nav__links a:nth-child(8) { transition-delay: .34s; }
.nx-mobile-nav__links a:hover, .nx-mobile-nav__links a:active {
    color: var(--nx-accent); opacity: 1;
    text-shadow: 0 0 24px var(--nx-accent-glow);
}

/* ══════════════════════════════════════
   CART DRAWER — frosted glass panel
   ══════════════════════════════════════ */
.ll-cart-drawer-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.6); z-index: 1000; opacity: 0; pointer-events: none; transition: opacity .35s ease; }
.ll-cart-drawer-overlay.open { opacity: 1; pointer-events: auto; }
.ll-cart-drawer {
    position: fixed; top: 0; right: 0; bottom: 0;
    width: 400px; max-width: 90vw;
    background: var(--nx-surface);
    border-left: 1px solid var(--nx-border);
    z-index: 1001;
    transform: translateX(100%);
    transition: transform .4s cubic-bezier(.22,1,.36,1);
    display: flex; flex-direction: column;
    box-shadow: -8px 0 32px rgba(0,0,0,.4);
    overflow: hidden;
}
.ll-cart-drawer.open { transform: translateX(0); }

/* Cart header */
.ll-cart-drawer__head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid var(--nx-border);
    background: var(--nx-bg);
}
.ll-cart-drawer__title { font-family: var(--nx-head); font-weight: 800; font-size: 14px; text-transform: uppercase; letter-spacing: .1em; }
.ll-cart-drawer__close { background: var(--nx-surface-h); border: 1px solid var(--nx-border); border-radius: 50%; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; color: var(--nx-text-2); font-size: 18px; line-height: 1; transition: all var(--nx-tr); }
.ll-cart-drawer__close:hover { background: #2a2a2a; color: var(--nx-text); }

/* Cart body */
.ll-cart-drawer__body { flex: 1; overflow-y: auto; padding: 16px 24px; }
.ll-cart-drawer__body::-webkit-scrollbar { width: 3px; }
.ll-cart-drawer__body::-webkit-scrollbar-track { background: transparent; }
.ll-cart-drawer__body::-webkit-scrollbar-thumb { background: rgba(255,255,255,.15); border-radius: 3px; }

/* Cart items */
.ll-cart-item {
    display: flex; gap: 14px; padding: 16px 0;
    border-bottom: 1px solid var(--nx-border);
    transition: opacity var(--nx-tr);
}
.ll-cart-item:last-child { border-bottom: none; }
.ll-cart-item__img {
    width: 64px; height: 64px; border-radius: var(--nx-r); overflow: hidden; flex-shrink: 0;
    background: var(--nx-surface-h);
    border: 1px solid var(--nx-border);
}
.ll-cart-item__img img { width: 100%; height: 100%; object-fit: cover; }
.ll-cart-item__info { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 3px; }
.ll-cart-item__name { font-family: var(--nx-head); font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.ll-cart-item__price { font-size: 14px; font-weight: 600; color: var(--nx-text); }
.ll-cart-item__qty { font-size: 11px; color: var(--nx-text-3); letter-spacing: .02em; }

/* Cart footer */
.ll-cart-drawer__foot {
    padding: 20px 24px;
    border-top: 1px solid var(--nx-border);
    background: var(--nx-bg);
}
.ll-cart-subtotal { font-family: var(--nx-head); font-size: 16px; font-weight: 800; display: flex; justify-content: space-between; padding: 0 0 14px; letter-spacing: .03em; }
.ll-cart-checkout-btn {
    display: block; width: 100%;
    font-family: var(--nx-head); font-weight: 800; font-size: 13px;
    letter-spacing: .1em; text-transform: uppercase; text-align: center;
    background: linear-gradient(135deg, var(--nx-accent) 0%, var(--nx-accent-deep) 100%); color: #fff;
    border: none; border-radius: var(--nx-r); padding: 16px;
    transition: all .3s ease; box-shadow: 0 4px 24px rgba(109, 40, 217, .4), 0 0 48px rgba(109, 40, 217, .12);
}
.ll-cart-checkout-btn:hover { background: var(--nx-accent-dim); box-shadow: 0 6px 32px rgba(109, 40, 217, .55), 0 0 64px rgba(109, 40, 217, .2); }

.ll-cart-empty { text-align: center; padding: 48px 20px; color: var(--nx-text-3); font-size: 13px; letter-spacing: .02em; }
.ll-cart-empty::before { content: ''; display: block; width: 48px; height: 48px; margin: 0 auto 16px; border-radius: 50%; background: var(--nx-surface-h); border: 1px solid var(--nx-border); background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.3)' stroke-width='1.5' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 002 1.61h9.72a2 2 0 002-1.61L23 6H6'/%3E%3C/svg%3E"); background-size: 22px; background-position: center; background-repeat: no-repeat; }

/* Cart drawer empty state (from functions.php) */
.ll-cart-drawer__empty { text-align: center; padding: 48px 20px; color: var(--nx-text-3); }
.ll-cart-drawer__empty svg { margin-bottom: 12px; opacity: .5; }
.ll-cart-drawer__empty p { font-size: 13px; margin-bottom: 16px; }

/* Cart drawer items */
.ll-cart-drawer__items { display: flex; flex-direction: column; }
.ll-cart-drawer__item {
    display: flex; gap: 14px; padding: 16px 0;
    border-bottom: 1px solid var(--nx-border);
}
.ll-cart-drawer__item:last-child { border-bottom: none; }
.ll-cart-drawer__item-img {
    width: 72px; height: 72px; border-radius: var(--nx-r); overflow: hidden; flex-shrink: 0;
    background: var(--nx-surface-h); border: 1px solid var(--nx-border);
}
.ll-cart-drawer__item-img img { width: 100%; height: 100%; object-fit: cover; }
.ll-cart-drawer__item-info { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.ll-cart-drawer__item-name {
    font-family: var(--nx-head); font-size: 13px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .02em;
}
.ll-cart-drawer__item-price { font-size: 14px; font-weight: 600; color: var(--nx-text); }
.ll-cart-drawer__item-actions { display: flex; align-items: center; gap: 12px; margin-top: 4px; }

/* Qty controls */
.ll-cart-drawer__qty {
    display: inline-flex; align-items: center;
    border: 1px solid var(--nx-border); border-radius: var(--nx-r); overflow: hidden;
}
.ll-cart-drawer__qty-btn {
    background: none; border: none; color: var(--nx-text-2);
    width: 28px; height: 28px; font-size: 14px;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; transition: all .2s;
}
.ll-cart-drawer__qty-btn:hover { background: var(--nx-surface-h); color: var(--nx-text); }
.ll-cart-drawer__qty-val {
    font-size: 13px; font-weight: 600; min-width: 24px; text-align: center;
}

/* Remove link */
.ll-cart-drawer__item-remove {
    color: var(--nx-text-3); transition: color .2s; display: inline-flex;
}
.ll-cart-drawer__item-remove:hover { color: #ef4444; opacity: 1; }

/* Shield / protection */
.ll-cart-drawer__shield {
    padding: 14px 16px; margin-top: 8px;
    background: rgba(255,255,255,.03); border: 1px solid var(--nx-border);
    border-radius: var(--nx-r);
}
.ll-cart-drawer__shield-head {
    display: flex; align-items: center; gap: 8px;
    font-size: 12px; font-weight: 700; color: var(--nx-text); margin-bottom: 4px;
}
.ll-cart-drawer__shield-desc { font-size: 11px; color: var(--nx-text-3); line-height: 1.5; }

/* Urgency / batch (hidden) */
.ll-cart-drawer__urgency { display: none; }

/* Footer / subtotal */
.ll-cart-drawer__footer {
    padding-top: 16px; margin-top: 8px;
    border-top: 1px solid var(--nx-border);
}
.ll-cart-drawer__subtotal {
    display: flex; justify-content: space-between; align-items: center;
    font-family: var(--nx-head); font-size: 15px; margin-bottom: 14px;
}
.ll-cart-drawer__subtotal span { color: var(--nx-text-2); font-weight: 500; }
.ll-cart-drawer__subtotal strong { font-weight: 800; }

/* Drawer buttons */
.ll-cart-drawer__btn {
    display: block; width: 100%; text-align: center;
    font-family: var(--nx-head); font-weight: 700; font-size: 13px;
    letter-spacing: .06em; text-transform: uppercase;
    border-radius: var(--nx-r); padding: 14px; margin-bottom: 8px;
    transition: all .2s; text-decoration: none;
}
.ll-cart-drawer__btn--primary {
    background: linear-gradient(135deg, var(--nx-accent) 0%, var(--nx-accent-deep) 100%);
    color: #fff; border: none;
    box-shadow: 0 4px 24px rgba(109, 40, 217, .4), 0 0 48px rgba(109, 40, 217, .12);
}
.ll-cart-drawer__btn--primary:hover { box-shadow: 0 6px 32px rgba(109, 40, 217, .55), 0 0 64px rgba(109, 40, 217, .2); opacity: 1; }
.ll-cart-drawer__btn--ghost {
    background: transparent; color: var(--nx-text-2);
    border: 1px solid var(--nx-border);
}
.ll-cart-drawer__btn--ghost:hover { border-color: #444; color: var(--nx-text); opacity: 1; }

.ll-cart-drawer__frpo {
    font-size: 10px; color: var(--nx-text-3); text-align: center;
    margin-top: 8px; letter-spacing: .02em;
}

/* ── BUTTONS — clean flat ── */
.nx-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    font-family: var(--nx-head); font-weight: 700; font-size: 12px;
    letter-spacing: .08em; text-transform: uppercase;
    border-radius: var(--nx-r); padding: 13px 28px;
    border: 1px solid var(--nx-border);
    transition: all .25s ease;
    position: relative; cursor: pointer;
}
.nx-btn--primary {
    background: linear-gradient(135deg, var(--nx-accent) 0%, var(--nx-accent-deep) 100%);
    color: #ffffff; border-color: var(--nx-accent-dim);
    box-shadow: 0 4px 20px rgba(109, 40, 217, .35), 0 0 40px rgba(109, 40, 217, .1);
}
.nx-btn--primary:hover {
    background: linear-gradient(135deg, var(--nx-accent-dim) 0%, var(--nx-accent-deep) 100%);
    border-color: var(--nx-accent-deep); opacity: 1;
    box-shadow: 0 8px 32px rgba(109, 40, 217, .5), 0 0 60px rgba(109, 40, 217, .15);
}
.nx-btn--primary:active { background: var(--nx-accent-deep); }
.nx-btn--white {
    background: #ffffff; color: #0a0a0a;
    border-color: #ffffff;
}
.nx-btn--white:hover { background: #e0e0e0; opacity: 1; }
.nx-btn--outline {
    background: transparent; color: var(--nx-text);
    border-color: var(--nx-border);
}
.nx-btn--outline:hover { border-color: #444; opacity: 1; }
.nx-btn--glass {
    background: var(--nx-surface-h); color: var(--nx-text);
    border-color: var(--nx-border);
}
.nx-btn--glass:hover { background: #2a2a2a; border-color: #333; opacity: 1; }
.nx-btn--lg { padding: 16px 36px; font-size: 14px; }

/* ══════════════════════════════════════
   HOMEPAGE
   ══════════════════════════════════════ */

/* ── Page Wrap — two-column layout ── */
.nx-page-wrap {
    max-width: 1320px; margin: 0 auto;
    padding: 0 20px;
    display: grid; grid-template-columns: 1fr 280px;
    gap: 24px; align-items: start;
}

/* ── Homepage Shell ── */
.nx-home {
    margin: 0; padding: 0; min-width: 0;
    background: transparent;
    border: none; border-radius: 0;
    overflow: visible;
}
.nx-home .nx-container { max-width: 100%; padding: 0; }

/* ── Sidebar Card ── */
.nx-sidebar-card {
    align-self: start;
    margin-top: 60px;
    position: sticky; top: 72px;
    background: var(--nx-surface);
    border: 1px solid var(--nx-border);
    border-radius: var(--nx-r-lg);
    overflow: hidden;
    animation: nxCardIn .45s cubic-bezier(.22,1,.36,1) both;
    animation-delay: .08s;
    display: flex; flex-direction: column;
}

/* ── Page Transition Animation ── */
@keyframes nxCardIn {
    from { opacity: 0; transform: translateY(20px) scale(.99); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes nxCardOut {
    from { opacity: 1; transform: translateY(0) scale(1); }
    to { opacity: 0; transform: translateY(-14px) scale(.985); }
}
.nx-home, .ll-page, .ll-wc-page, .nx-product, .nx-footer, .nx-sidebar-card {
    animation: nxCardIn .45s cubic-bezier(.22,1,.36,1) both;
}
body.nx-leaving .nx-home,
body.nx-leaving .ll-page,
body.nx-leaving .ll-wc-page,
body.nx-leaving .nx-product,
body.nx-leaving .nx-footer,
body.nx-leaving .nx-header,
body.nx-leaving .nx-sidebar-card {
    animation: nxCardOut .25s cubic-bezier(.4,0,1,1) both;
}

/* ── Hero ── */
.nx-hero { padding: 60px 0 40px; position: relative; overflow: hidden; border-bottom: 1px solid var(--nx-border); }
.nx-hero__gif {
    position: absolute; top: 50%; right: 32px;
    transform: translateY(-50%);
    width: 220px; height: 220px;
    object-fit: cover; border-radius: var(--nx-r-lg);
    opacity: .7; pointer-events: none;
}
.nx-hero__inner { max-width: 720px; position: relative; z-index: 1; }
.nx-hero__pre {
    font-size: 11px; font-weight: 600; letter-spacing: .12em;
    text-transform: uppercase; color: var(--nx-accent); margin-bottom: 16px;
}
.nx-hero__h1 {
    font-family: var(--nx-head); font-weight: 800;
    font-size: clamp(28px, 5vw, 44px); line-height: 1.15;
    text-transform: uppercase; letter-spacing: .01em; margin-bottom: 16px;
}
.nx-hero__sub {
    font-size: 14px; line-height: 1.7; color: var(--nx-text-2); margin-bottom: 28px;
}
.nx-hero__actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.nx-hero__link {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    font-family: var(--nx-head); font-weight: 700; font-size: 12px; letter-spacing: .08em;
    text-transform: uppercase; color: var(--nx-text);
    background: transparent; border: 1px solid var(--nx-border);
    border-radius: var(--nx-r); padding: 13px 28px;
    transition: all .25s ease;
}
.nx-hero__link:hover { border-color: var(--nx-accent-border); color: var(--nx-accent); opacity: 1; }

/* ── Specs Bar ── */
.nx-specs { padding: 24px 0 32px; }
.nx-specs__row {
    display: flex; align-items: center; gap: 0;
    background: var(--nx-surface);
    border: 1px solid var(--nx-border); border-radius: var(--nx-r-lg);
    padding: 0;
    overflow-x: auto;
}
.nx-specs__item { flex: 1; padding: 18px 14px; text-align: center; min-width: 0; }
.nx-specs__val {
    display: block; font-family: var(--nx-head); font-weight: 800;
    font-size: 20px; line-height: 1; margin-bottom: 4px; white-space: nowrap;
}
.nx-specs__key {
    font-size: 10px; text-transform: uppercase; letter-spacing: .08em;
    color: var(--nx-text-3); white-space: nowrap;
}
.nx-specs__sep { width: 1px; height: 32px; background: var(--nx-border); flex-shrink: 0; }

/* ── About Blocks ── */
.nx-about { padding: 0 0 32px; }
.nx-about__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.nx-about__block {
    background: var(--nx-surface);
    border: 1px solid var(--nx-border); border-radius: var(--nx-r-lg);
    padding: 24px;
}
.nx-about__h2 {
    font-family: var(--nx-head); font-weight: 700; font-size: 14px;
    text-transform: uppercase; letter-spacing: .06em; margin-bottom: 12px;
    background: linear-gradient(135deg, var(--nx-text), var(--nx-accent));
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
}
.nx-about__block p { font-size: 13px; line-height: 1.75; color: var(--nx-text-2); }

/* ── RUO Disclaimer ── */
.nx-ruo { padding: 0 0 32px; }
.nx-ruo__text {
    font-size: 11px; line-height: 1.7; color: var(--nx-text-3);
    letter-spacing: .02em; max-width: 720px;
    border-left: 2px solid var(--nx-accent-border); padding-left: 16px;
}

/* ── Sidebar card content ── */
.nx-sidebar__header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 16px 10px; border-bottom: 1px solid var(--nx-border);
}
.nx-sidebar__title {
    font-family: var(--nx-head); font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .1em; color: var(--nx-accent);
    padding: 0; margin: 0;
}
.nx-sidebar__toggle {
    display: none; width: 26px; height: 26px;
    align-items: center; justify-content: center;
    background: none; border: 1px solid var(--nx-border);
    border-radius: 50%; color: var(--nx-text-3); cursor: pointer;
    transition: all .2s;
}
.nx-sidebar__toggle svg { width: 14px; height: 14px; transition: transform .3s; }
.nx-sidebar-card.expanded .nx-sidebar__toggle svg { transform: rotate(180deg); }
.nx-sidebar__toggle:hover { border-color: var(--nx-accent-border); color: var(--nx-accent); }
.nx-sidebar__list { flex: 1; overflow-y: auto; }
.nx-sidebar__list::-webkit-scrollbar { width: 2px; }
.nx-sidebar__list::-webkit-scrollbar-thumb { background: rgba(255,255,255,.1); border-radius: 2px; }
.nx-sidebar__item {
    display: flex; gap: 10px; align-items: baseline;
    padding: 10px 16px; border-bottom: 1px solid var(--nx-border);
    transition: background .2s; text-decoration: none; color: var(--nx-text);
}
.nx-sidebar__item:hover { background: var(--nx-surface-h); opacity: 1; }
.nx-sidebar__date {
    font-size: 9px; font-weight: 600; letter-spacing: .06em;
    text-transform: uppercase; color: var(--nx-text-3); white-space: nowrap;
    min-width: 40px;
}
.nx-sidebar__name {
    font-family: var(--nx-head); font-size: 12px; font-weight: 600;
    line-height: 1.35; color: var(--nx-text-2);
}
.nx-sidebar__item:hover .nx-sidebar__name { color: var(--nx-accent); }

/* ── Product Cards — Industrial ── */
.ll-product-grid {
    display: grid !important; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 10px; list-style: none; padding: 0; margin: 0;
}
.ll-pcard {
    list-style: none;
    background: var(--nx-surface);
    border: 1px solid #2a2a2a;
    border-radius: var(--nx-r-lg);
    overflow: hidden; transition: all .3s ease;
    position: relative;
    box-shadow: 0 2px 8px rgba(0,0,0,.3);
}
.ll-pcard:hover { border-color: var(--nx-accent-border); box-shadow: 0 6px 24px var(--nx-accent-glow), 0 2px 8px rgba(0,0,0,.3); transform: translateY(-2px); }
.ll-pcard__link { display: block; text-decoration: none; color: var(--nx-text); }
.ll-pcard__img {
    aspect-ratio: 1; overflow: hidden;
    background: var(--nx-surface-h);
    display: flex; align-items: center; justify-content: center;
    position: relative;
}
.ll-pcard__img img { width: 85%; height: 85%; object-fit: contain; transition: transform .4s cubic-bezier(.22,1,.36,1); }
.ll-pcard:hover .ll-pcard__img img { transform: scale(1.05); }
.ll-pcard__img--placeholder { padding: 32px; }
.ll-pcard__img--placeholder svg { width: 36px; height: 36px; color: rgba(255,255,255,.12); }
.ll-pcard__body { padding: 8px 12px 10px; }
.ll-pcard__title {
    font-family: var(--nx-head); font-size: 14px; font-weight: 800;
    text-transform: uppercase; letter-spacing: .02em; line-height: 1.2;
    margin: 0 0 5px; color: var(--nx-text);
}
.ll-pcard__footer { display: flex; align-items: baseline; gap: 8px; }
.ll-pcard__price {
    font-family: var(--nx-head); font-size: 16px; font-weight: 800; color: var(--nx-text);
}
.ll-pcard__price del { color: var(--nx-text-3); font-size: 12px; font-weight: 500; margin-left: 2px; }
.ll-pcard__price ins { text-decoration: none; }
.ll-pcard__cta { display: none; }
.ll-pcard__batch { display: none; }
.ll-pcard__ship { display: none; }
.ll-pcard__frpo { display: none; }

/* Catalog expand/collapse */
.hp-catalog-wrap { max-height: 720px; overflow: hidden; position: relative; transition: max-height .6s cubic-bezier(.22,1,.36,1); }
.hp-catalog-wrap.expanded { max-height: var(--catalog-h, 6000px); }
.hp-catalog-wrap.expanded.hp-done { max-height: none; }
.hp-catalog-fade {
    position: absolute; bottom: 0; left: 0; right: 0; height: 120px;
    background: linear-gradient(to bottom, transparent, var(--nx-bg));
    pointer-events: none; transition: opacity .4s ease;
}
.hp-catalog-wrap.expanded .hp-catalog-fade { opacity: 0; pointer-events: none; }
.hp-catalog-toggle {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    margin: 20px auto 0; padding: 12px 28px;
    font-family: var(--nx-head); font-weight: 700; font-size: 12px;
    letter-spacing: .08em; text-transform: uppercase;
    background: var(--nx-surface); color: var(--nx-text);
    border: 1px solid var(--nx-border); border-radius: var(--nx-r);
    transition: all .3s; cursor: pointer;
}
.hp-catalog-toggle:hover { background: var(--nx-surface-h); border-color: #333; }
.hp-catalog-toggle svg { width: 14px; height: 14px; transition: transform .4s cubic-bezier(.22,1,.36,1); }
.hp-catalog-toggle.expanded svg { transform: rotate(180deg); }

/* ── Section layout ── */
.nx-section { padding: 40px 0; }
.nx-section--surface { background: rgba(255,255,255,.02); }
.nx-section-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 24px; }
.nx-section-title { font-family: var(--nx-head); font-weight: 800; font-size: 20px; text-transform: uppercase; letter-spacing: .04em; }
.nx-section-count { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--nx-text-3); }

/* ── FAQ — smooth animated ── */
.nx-faq { display: flex; flex-direction: column; gap: 8px; }
.nx-faq__item {
    background: var(--nx-surface); border: 1px solid var(--nx-border);
    border-radius: var(--nx-r-lg); overflow: hidden; transition: background .3s, border-color .3s;
}
.nx-faq__item:hover { background: var(--nx-surface-h); }
.nx-faq__item.open { background: var(--nx-surface-h); border-color: #333; }
.nx-faq__q {
    width: 100%; background: none; border: none; color: var(--nx-text);
    font-family: var(--nx-head); font-weight: 700; font-size: 13px;
    text-transform: uppercase; letter-spacing: .03em;
    padding: 16px 20px; cursor: pointer; text-align: left;
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.nx-faq__q::after {
    content: '+'; font-size: 18px; font-weight: 400; color: var(--nx-text-3);
    transition: transform .35s cubic-bezier(.22,1,.36,1);
    flex-shrink: 0;
}
.nx-faq__item.open .nx-faq__q { color: var(--nx-accent); }
.nx-faq__item.open .nx-faq__q::after { transform: rotate(45deg); color: var(--nx-accent); }
.nx-faq__a {
    display: grid; grid-template-rows: 0fr;
    transition: grid-template-rows .35s cubic-bezier(.22,1,.36,1);
}
.nx-faq__item.open .nx-faq__a { grid-template-rows: 1fr; }
.nx-faq__a-inner { overflow: hidden; }
.nx-faq__a-inner p {
    font-size: 13px; line-height: 1.7; color: var(--nx-text-2);
    padding: 0 20px 16px; margin: 0;
}

/* ── CTA Bar ── */
.nx-cta-bar { padding: 48px 0; }
.nx-cta-bar__inner { background: var(--nx-glass); backdrop-filter: blur(20px); border: 1px solid var(--nx-glass-border); border-radius: var(--nx-r-lg); padding: 40px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.nx-cta-bar__title { font-family: var(--nx-head); font-weight: 800; font-size: 24px; text-transform: uppercase; }
.nx-cta-bar__sub { font-size: 13px; color: var(--nx-text-2); margin-top: 4px; }

/* ── Homepage responsive ── */
@media (max-width: 1100px) {
    .nx-page-wrap { grid-template-columns: 1fr; }
    .nx-sidebar-card { position: static; order: 2; }
    .nx-sidebar__toggle { display: flex; }
    .nx-sidebar__list { display: none; max-height: none; }
    .nx-sidebar-card.expanded .nx-sidebar__list {
        display: flex; flex-direction: column;
        max-height: 360px; overflow-y: auto;
    }
}
@media (max-width: 900px) {
    .nx-about__grid { grid-template-columns: 1fr; }
    .nx-cta-bar__inner { flex-direction: column; text-align: center; }
    .nx-hero { padding: 40px 0 28px; }
    .nx-hero__gif { display: none; }
    .nx-hero__inner { max-width: 100%; }
    .nx-hero__actions { flex-wrap: nowrap; gap: 10px; }
    .nx-hero__actions .nx-btn--primary { flex: 1; text-align: center; padding: 13px 16px; }
    .nx-hero__link { flex: 1; text-align: center; padding: 13px 16px !important; }
}
@media (max-width: 600px) {
    .nx-page-wrap { margin-top: 8px; padding: 0 8px; gap: 12px; }
    .nx-home { border-radius: 16px; }
    .nx-home .nx-container { padding: 0 14px; }
    .nx-sidebar-card { border-radius: 16px; margin-top: 0; }
    .nx-hero { padding: 32px 0 24px; }
    .nx-hero__h1 { font-size: 22px; }
    .nx-hero__gif { display: none; }
    .nx-specs__row { flex-wrap: wrap; }
    .nx-specs__sep { display: none; }
    .nx-specs__item { flex: 0 0 50%; border-bottom: 1px solid var(--nx-border); }
    .nx-specs__item:nth-last-child(-n+2) { border-bottom: none; }
    .nx-about__block { padding: 16px; }
    .ll-product-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .ll-pcard__title { font-size: 11px; }
    .ll-pcard__price { font-size: 13px; }
    .nx-faq__q { font-size: 12px; padding: 14px 16px; }
    .nx-faq__a-inner p { padding: 0 16px 14px; }
}

/* ══════════════════════════════════════
   PRODUCT PAGE — minimal, glass cards
   ══════════════════════════════════════ */
/* ── Delivery info bar ── */
.nx-delivery-bar {
    display: flex; flex-wrap: wrap; gap: 12px;
    background: var(--nx-surface); border: 1px solid var(--nx-border);
    border-radius: var(--nx-r-lg); padding: 14px 20px;
    margin-bottom: 16px;
}
.nx-delivery-bar__item {
    display: flex; align-items: center; gap: 8px;
    font-size: 12px; color: var(--nx-text-2);
}
.nx-delivery-bar__item strong { color: var(--nx-text); font-weight: 600; }
.nx-delivery-bar__item a { color: var(--nx-text); text-decoration: underline; text-underline-offset: 2px; }
.nx-delivery-bar__item svg { flex-shrink: 0; color: var(--nx-accent); }

.nx-product { padding: 24px 0 0; }
.nx-prod-back { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--nx-text-3); margin-bottom: 16px; }
.nx-prod-back:hover { color: var(--nx-text); opacity: 1; }
.nx-prod-back svg { width: 16px; height: 16px; }

/* Product hero card */
.nx-prod-card { padding: 24px; margin-bottom: 16px; }
.nx-prod-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }

/* Gallery */
.nx-prod-main { background: var(--nx-surface-h); border-radius: var(--nx-r-lg); overflow: hidden; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; border: 1px solid var(--nx-border); }
.nx-prod-main img { width: 100%; height: 100%; object-fit: contain; transition: opacity .15s; }
.nx-prod-thumbs { display: flex; gap: 8px; margin-top: 10px; }
.nx-th { width: 56px; height: 56px; border-radius: var(--nx-r); overflow: hidden; cursor: pointer; border: 2px solid transparent; opacity: .4; transition: all var(--nx-tr); background: var(--nx-surface-h); }
.nx-th.on, .nx-th:hover { opacity: 1; border-color: #444; }
.nx-th img { width: 100%; height: 100%; object-fit: cover; }

/* Info */
.nx-prod-info { display: flex; flex-direction: column; gap: 10px; justify-content: center; }
.nx-prod-cat { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--nx-accent); }
.nx-prod-title { font-family: var(--nx-head); font-weight: 500; font-size: clamp(32px, 4.5vw, 52px); line-height: 1; text-transform: uppercase; letter-spacing: .02em; }
.nx-prod-price { display: flex; align-items: baseline; gap: 8px; margin-top: -4px; }
.nx-prod-now { font-family: var(--nx-head); font-weight: 700; font-size: 26px; letter-spacing: -.01em; }
.nx-prod-was { font-size: 14px; color: var(--nx-text-3); text-decoration: line-through; }

/* Specifications table */
.nx-prod-specs {
    background: rgba(255,255,255,.02); border: 1px solid var(--nx-border);
    border-radius: var(--nx-r); overflow: hidden;
}
.nx-prod-specs__head {
    font-family: var(--nx-head); font-size: 10px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .1em; color: var(--nx-text-3);
    padding: 9px 14px; background: rgba(255,255,255,.03);
    border-bottom: 1px solid var(--nx-border); margin: 0;
}
.nx-prod-specs__row {
    display: flex; justify-content: space-between; align-items: center;
    padding: 8px 14px; font-size: 13px;
    border-bottom: 1px solid rgba(255,255,255,.04);
}
.nx-prod-specs__row:last-child { border-bottom: none; }
.nx-prod-specs__row span { color: var(--nx-text-3); font-size: 12px; }
.nx-prod-specs__row strong { color: var(--nx-text); font-weight: 600; }

/* Feature checklist */
.nx-prod-features { display: flex; flex-direction: column; gap: 0; }
.nx-prod-features__item {
    font-size: 12px; color: var(--nx-text-2); padding: 5px 0 5px 20px;
    position: relative; line-height: 1.5;
}
.nx-prod-features__item::before {
    content: '✓'; position: absolute; left: 0; color: var(--nx-accent);
    font-weight: 700; font-size: 12px;
}
.nx-prod-features__item a { color: var(--nx-text-2); text-decoration: underline; text-underline-offset: 2px; }
.nx-prod-features__item a:hover { color: var(--nx-accent); opacity: 1; }

/* ATC */
.nx-prod-atc .cart { display: flex; gap: 10px; align-items: stretch; }
.nx-prod-atc .quantity { display: flex; align-items: center; background: var(--nx-surface); border-radius: var(--nx-r); border: 1px solid var(--nx-border); overflow: hidden; }
.nx-prod-atc .quantity input[type="number"] { width: 44px; text-align: center; background: transparent; border: none; color: var(--nx-text); font-size: 14px; font-weight: 600; font-family: var(--nx-body); -moz-appearance: textfield; appearance: textfield; }
.nx-prod-atc .quantity input::-webkit-inner-spin-button,
.nx-prod-atc .quantity input::-webkit-outer-spin-button { -webkit-appearance: none; }
.nx-prod-atc .ll-qty-btn { background: none; border: none; color: var(--nx-text-2); padding: 8px 12px; font-size: 16px; transition: color var(--nx-tr); }
.nx-prod-atc .ll-qty-btn:hover { color: var(--nx-text); }
.nx-prod-atc .single_add_to_cart_button { flex: 1; font-family: var(--nx-head); font-weight: 700; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; background: linear-gradient(135deg, var(--nx-accent) 0%, var(--nx-accent-deep) 100%); color: #fff; border: none; border-radius: var(--nx-r); padding: 14px 24px; transition: all .3s ease; box-shadow: 0 4px 20px rgba(109, 40, 217, .35), 0 0 40px rgba(109, 40, 217, .1); }
.nx-prod-atc .single_add_to_cart_button:hover { background: linear-gradient(135deg, var(--nx-accent-dim) 0%, var(--nx-accent-deep) 100%); box-shadow: 0 8px 32px rgba(109, 40, 217, .5), 0 0 60px rgba(109, 40, 217, .15); transform: translateY(-1px); }

.nx-prod-ruo { font-size: 10px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--nx-text-3); padding-top: 8px; border-top: 1px solid var(--nx-border); }

/* ── About section (below hero card) ── */
.nx-prod-about { padding: 24px 28px; margin-bottom: 40px; }
.nx-prod-about__title { font-family: var(--nx-head); font-size: 16px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 12px; }
.nx-prod-about__text { font-size: 14px; line-height: 1.8; color: var(--nx-text-2); }
.nx-prod-about__text p { margin-bottom: 14px; }
.nx-prod-about__text p:last-child { margin-bottom: 0; }
.nx-prod-about__text h3 { font-family: var(--nx-head); font-weight: 700; font-size: 15px; text-transform: uppercase; letter-spacing: .03em; color: var(--nx-text); margin: 24px 0 10px; }
.nx-prod-about__text strong { color: var(--nx-text); font-weight: 600; }
.nx-prod-about__text a { color: var(--nx-text); text-decoration: underline; text-underline-offset: 3px; }
.nx-prod-about__text ul, .nx-prod-about__text ol { padding-left: 20px; margin-bottom: 14px; }
.nx-prod-about__text li { margin-bottom: 4px; }
.nx-prod-meta { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--nx-border); }
.nx-prod-meta__item { font-size: 12px; color: var(--nx-text-2); }
.nx-prod-meta__item span { display: block; font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--nx-text-3); margin-bottom: 3px; }
.nx-prod-meta__item code { font-family: 'SF Mono', 'Fira Code', monospace; font-size: 11px; background: var(--nx-surface-h); padding: 3px 8px; border-radius: 4px; word-break: break-all; display: inline-block; margin-top: 2px; }

/* ── Product FAQ section ── */
.nx-prod-faq { padding: 24px 28px; margin-bottom: 16px; }

/* ── Product support bar ── */
.nx-prod-support-bar { margin-bottom: 40px; }
.nx-prod-support-bar__inner {
    background: var(--nx-surface); border: 1px solid var(--nx-border);
    border-radius: var(--nx-r-lg); padding: 20px 24px;
    display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
}
.nx-prod-support-bar__text { font-size: 13px; color: var(--nx-text-2); }
.nx-prod-support-bar__text strong { color: var(--nx-text); }
.nx-prod-support-bar__actions { display: flex; gap: 8px; flex-shrink: 0; }

/* Quick links row */
.nx-prod-links {
    display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 48px;
}
.nx-prod-links a {
    font-family: var(--nx-head); font-size: 11px; font-weight: 600;
    letter-spacing: .06em; text-transform: uppercase;
    color: var(--nx-text-3); padding: 8px 14px;
    background: var(--nx-surface); border: 1px solid var(--nx-border);
    border-radius: var(--nx-r); transition: all .2s;
}
.nx-prod-links a:hover { color: var(--nx-accent); border-color: var(--nx-accent-border); opacity: 1; }

/* ══════════════════════════════════════
   PRODUCT CARDS (SHOP / CATEGORY)
   ══════════════════════════════════════ */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; list-style: none; padding: 0; margin: 0; }
.woocommerce ul.products li.product { background: var(--nx-surface); border: 1px solid var(--nx-border); border-radius: var(--nx-r-lg); overflow: hidden; transition: all var(--nx-tr); }
.woocommerce ul.products li.product:hover { border-color: var(--nx-accent-border); box-shadow: 0 4px 20px var(--nx-accent-glow); }
.woocommerce ul.products li.product a img { aspect-ratio: 1; object-fit: contain; width: 100%; background: var(--nx-surface-h); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--nx-head) !important; font-size: 13px !important; font-weight: 700 !important; text-transform: uppercase; letter-spacing: .03em; padding: 12px 14px 4px !important; color: var(--nx-text) !important; }
.woocommerce ul.products li.product .price { padding: 0 14px 14px !important; font-family: var(--nx-head) !important; font-size: 16px !important; font-weight: 700 !important; color: var(--nx-text) !important; }
.woocommerce ul.products li.product .price del { color: var(--nx-text-3) !important; font-size: 13px !important; }
.woocommerce ul.products li.product .button { display: none !important; }
.woocommerce ul.products li.product .onsale { display: none; }

/* ══════════════════════════════════════
   CONTENT PAGES — Quality, About, FAQ, etc.
   ══════════════════════════════════════ */
.ll-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* Breadcrumb */
.ll-breadcrumb {
    display: flex; align-items: center; gap: 6px;
    font-size: 11px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase;
    color: var(--nx-text-3); padding: 20px 0 16px;
}
.ll-breadcrumb a { color: var(--nx-text-3); transition: color .2s; }
.ll-breadcrumb a:hover { color: var(--nx-text); opacity: 1; }
.ll-breadcrumb__sep { width: 12px; height: 12px; color: rgba(255,255,255,.2); }
.ll-breadcrumb__current { color: var(--nx-text-2); }

/* Page wrapper */
.ll-page {
    background: var(--nx-surface);
    border: 1px solid var(--nx-border);
    border-radius: var(--nx-r-lg);
    overflow: hidden;
    margin-bottom: 48px;
}

/* Page header */
.ll-page__header {
    padding: 48px 40px 32px;
    border-bottom: 1px solid var(--nx-border);
    position: relative;
}
.ll-page__header--has-img {
    background-size: cover; background-position: center;
    min-height: 180px; display: flex; align-items: flex-end;
}
.ll-page__header--has-img::before {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(50,70,88,.4) 0%, rgba(50,70,88,.85) 100%);
}
.ll-page__title {
    font-family: var(--nx-head); font-weight: 800; font-size: clamp(28px, 5vw, 44px);
    text-transform: uppercase; letter-spacing: .04em; position: relative; z-index: 1;
    color: var(--nx-text);
}

/* Page body — WordPress content */
.ll-page__body {
    padding: 32px 40px 48px;
    font-size: 14px; line-height: 1.8; color: var(--nx-text-2);
}
.ll-page__body h1, .ll-page__body h2, .ll-page__body h3,
.ll-page__body h4, .ll-page__body h5, .ll-page__body h6 {
    font-family: var(--nx-head); font-weight: 700; text-transform: uppercase;
    letter-spacing: .03em; color: var(--nx-text); margin: 28px 0 12px; line-height: 1.25;
}
.ll-page__body h1 { font-size: 28px; }
.ll-page__body h2 { font-size: 22px; }
.ll-page__body h3 { font-size: 17px; }
.ll-page__body h4 { font-size: 15px; }
.ll-page__body p { margin-bottom: 16px; }
.ll-page__body strong { color: var(--nx-text); font-weight: 600; }
.ll-page__body a { color: var(--nx-text); text-decoration: underline; text-underline-offset: 3px; }
.ll-page__body a:hover { opacity: .8; }
.ll-page__body ul, .ll-page__body ol { padding-left: 24px; margin-bottom: 16px; }
.ll-page__body li { margin-bottom: 6px; }
.ll-page__body img { border-radius: var(--nx-r-lg); margin: 16px 0; }
.ll-page__body blockquote {
    border-left: 3px solid var(--nx-border); padding: 12px 20px; margin: 16px 0;
    color: var(--nx-text-2); font-style: italic; background: var(--nx-surface-h); border-radius: 0 var(--nx-r) var(--nx-r) 0;
}
.ll-page__body table {
    width: 100%; border-collapse: collapse; margin: 16px 0;
    font-size: 13px;
}
.ll-page__body th, .ll-page__body td {
    padding: 10px 14px; text-align: left;
    border-bottom: 1px solid var(--nx-border);
}
.ll-page__body th {
    font-family: var(--nx-head); font-weight: 700; font-size: 11px;
    text-transform: uppercase; letter-spacing: .06em; color: var(--nx-text-3);
    background: var(--nx-surface-h);
}

/* WooCommerce pages (cart, checkout, account) */
.ll-wc-page {
    background: var(--nx-surface);
    border: 1px solid var(--nx-border);
    border-radius: var(--nx-r-lg); padding: 32px;
    margin: 20px 0 48px;
}

@media (max-width: 600px) {
    .ll-page__header { padding: 32px 20px 24px; }
    .ll-page__body { padding: 20px 20px 32px; }
    .ll-page__body h1 { font-size: 22px; }
    .ll-page__body h2 { font-size: 18px; }
    .ll-wc-page { padding: 16px; }
}

/* ══════════════════════════════════════
   FOOTER — structured columns
   ══════════════════════════════════════ */
.nx-footer {
    background: var(--nx-bg-dk);
    border-top: 1px solid var(--nx-border);
    padding: 64px 0 0; margin-top: 48px;
    position: relative; overflow: hidden;
}
.nx-footer__bg-gif {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; opacity: .06; filter: blur(4px) saturate(.3);
    pointer-events: none;
}
.nx-footer::before { display: none; }

.nx-footer__inner {
    max-width: 1200px; margin: 0 auto; padding: 0 24px;
    position: relative; z-index: 1;
}

/* Footer top — logo + cols side by side on desktop */
.nx-footer__logo-wrap { margin-bottom: 0; }
.nx-footer__logo {
    height: 130px; width: auto; display: block; margin-bottom: 12px;
    transition: filter .3s, transform .3s;
}
.nx-footer__logo-wrap:hover .nx-footer__logo {
    filter: drop-shadow(0 0 24px rgba(124, 58, 237, .25));
    transform: translateY(-2px);
}
.nx-footer__tagline {
    font-size: 12px; line-height: 1.6; color: var(--nx-text-3);
    margin: 0;
}

/* 4-column link grid */
.nx-footer__cols {
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: 32px; margin-bottom: 40px;
}

/* Desktop: logo beside columns */
@media (min-width: 901px) {
    .nx-footer__inner {
        display: grid; grid-template-columns: 300px 1fr;
        gap: 48px; align-items: start;
    }
    .nx-footer__logo-wrap { padding-top: 4px; }
    .nx-footer__support { grid-column: 1 / -1; }
}
.nx-footer__col { display: flex; flex-direction: column; gap: 0; }
.nx-footer__col-title {
    font-family: var(--nx-head); font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .1em;
    color: var(--nx-text); margin-bottom: 14px; padding-bottom: 10px;
    border-bottom: 1px solid var(--nx-border);
}
.nx-footer__col a {
    font-size: 13px; color: var(--nx-text-3); padding: 7px 0;
    transition: color .2s; display: block;
}
.nx-footer__col a:hover { color: var(--nx-accent); opacity: 1; }

/* Support bar */
.nx-footer__support {
    padding: 20px 24px; margin-bottom: 0;
    background: rgba(255,255,255,.03); border: 1px solid var(--nx-border);
    border-radius: var(--nx-r-lg);
}
.nx-footer__support p {
    font-size: 12px; color: var(--nx-text-3); line-height: 1.6; margin: 0 0 2px;
}
.nx-footer__support p:last-child { margin: 0; }
.nx-footer__support a {
    color: var(--nx-accent); text-decoration: underline; text-underline-offset: 2px;
}

/* Bottom bar */
.nx-footer__bottom {
    border-top: 1px solid var(--nx-border);
    padding: 18px 24px; margin-top: 32px;
    max-width: 1200px; margin-left: auto; margin-right: auto;
    position: relative; z-index: 1;
    display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 6px 20px;
}
.nx-footer__copy { font-size: 10px; color: var(--nx-text-3); }
.nx-footer__disclaimer { font-size: 10px; color: var(--nx-text-3); max-width: 500px; line-height: 1.5; text-align: right; }

/* Back to top */
.nx-footer__top {
    position: absolute; top: 20px; right: 24px; z-index: 2;
    width: 36px; height: 36px; border-radius: 50%;
    background: var(--nx-surface-h); border: 1px solid var(--nx-border);
    display: flex; align-items: center; justify-content: center;
    color: var(--nx-text-3);
    opacity: 0; transform: translateY(8px);
    transition: all .3s ease; cursor: pointer;
}
.nx-footer:hover .nx-footer__top { opacity: 1; transform: translateY(0); }
.nx-footer__top:hover { background: var(--nx-accent-glow); border-color: var(--nx-accent-border); color: var(--nx-accent); transform: translateY(-2px) !important; }
.nx-footer__top svg { width: 16px; height: 16px; }

/* Footer responsive */
@media (max-width: 900px) {
    .nx-footer__cols { grid-template-columns: repeat(2, 1fr); gap: 24px; }
    .nx-footer__logo { height: 90px; }
    .nx-footer__logo-wrap { margin-bottom: 32px; }
    .nx-footer { padding: 48px 0 0; }
}
@media (max-width: 600px) {
    .nx-footer__cols { grid-template-columns: 1fr 1fr; gap: 20px 16px; }
    .nx-footer__logo { height: 70px; }
    .nx-footer__bottom { flex-direction: column; text-align: center; }
    .nx-footer__disclaimer { text-align: center; }
    .nx-footer__col a { font-size: 12px; padding: 6px 0; }
}

/* ══════════════════════════════════════
   SHOP PAGE — filters, search, header
   ══════════════════════════════════════ */
.nx-shop-header { padding: 28px 0 0; }
.nx-shop-header__top {
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: 20px; margin-bottom: 20px; flex-wrap: wrap;
}
.nx-shop-header__title {
    font-family: var(--nx-head); font-weight: 800;
    font-size: clamp(24px, 4vw, 36px); text-transform: uppercase;
    letter-spacing: .02em; line-height: 1.1;
}
.nx-shop-header__count {
    font-size: 11px; font-weight: 500; color: var(--nx-text-3);
    letter-spacing: .04em; text-transform: uppercase; margin-top: 6px;
}
.nx-shop-header__search {
    display: flex; align-items: center; gap: 10px;
    background: var(--nx-surface); border: 1px solid var(--nx-border);
    border-radius: var(--nx-r); padding: 10px 16px;
    min-width: 260px; transition: border-color .2s, box-shadow .2s;
}
.nx-shop-header__search:focus-within {
    border-color: var(--nx-accent-border);
    box-shadow: 0 0 0 3px var(--nx-accent-glow);
}
.nx-shop-header__search svg { width: 16px; height: 16px; color: var(--nx-text-3); flex-shrink: 0; }
.nx-shop-header__search input {
    background: none; border: none; color: var(--nx-text);
    font-family: var(--nx-body); font-size: 13px;
    outline: none; width: 100%;
}
.nx-shop-header__search input::placeholder { color: var(--nx-text-3); }

/* Category filter pills */
.nx-shop-filters {
    display: flex; gap: 6px; flex-wrap: wrap;
    padding-bottom: 24px; border-bottom: 1px solid var(--nx-border);
    margin-bottom: 24px;
}
.nx-shop-filter {
    display: inline-flex; align-items: center; gap: 5px;
    font-family: var(--nx-head); font-size: 11px; font-weight: 600;
    letter-spacing: .04em; text-transform: uppercase;
    color: var(--nx-text-3); padding: 7px 14px;
    background: var(--nx-surface); border: 1px solid var(--nx-border);
    border-radius: 50px; transition: all .2s; text-decoration: none;
}
.nx-shop-filter:hover { color: var(--nx-text); border-color: #444; opacity: 1; }
.nx-shop-filter.active {
    background: linear-gradient(135deg, var(--nx-accent) 0%, var(--nx-accent-deep) 100%);
    color: #fff; border-color: var(--nx-accent-dim);
}
.nx-shop-filter span { font-size: 9px; opacity: .5; }
.nx-shop-filter.active span { opacity: .8; }

.nx-shop-empty, .nx-shop-noresult {
    padding: 48px 0; text-align: center; color: var(--nx-text-3); font-size: 14px;
}
.nx-shop-empty a { color: var(--nx-accent); text-decoration: underline; }
.nx-shop-disclaimer {
    font-size: 10px; color: var(--nx-text-3); letter-spacing: .02em;
    border-top: 1px solid var(--nx-border); padding: 16px 0 40px;
    max-width: 600px;
}

@media (max-width: 600px) {
    .nx-shop-header__top { flex-direction: column; }
    .nx-shop-header__search { min-width: 0; width: 100%; }
    .nx-shop-filters { gap: 4px; }
    .nx-shop-filter { font-size: 10px; padding: 6px 10px; }
}

/* ══════════════════════════════════════
   CHECKOUT & CART — white theme
   ══════════════════════════════════════ */
.woocommerce-checkout .ll-wc-page,
.woocommerce-cart .ll-wc-page {
    background: #ffffff !important;
    color: #1a1a1a !important;
    border: none !important;
    border-radius: var(--nx-r-lg);
    box-shadow: 0 2px 20px rgba(0,0,0,.2);
}
.woocommerce-checkout .ll-wc-page *,
.woocommerce-cart .ll-wc-page * { color: #1a1a1a; }
.woocommerce-checkout .ll-wc-page a,
.woocommerce-cart .ll-wc-page a { color: var(--nx-accent) !important; }

/* Headings */
.woocommerce-checkout .ll-wc-page h2,
.woocommerce-checkout .ll-wc-page h3,
.woocommerce-cart .ll-wc-page h2 {
    font-family: var(--nx-head) !important; font-weight: 800 !important;
    text-transform: uppercase !important; letter-spacing: .04em !important;
    font-size: 15px !important; color: #0a0a0a !important;
    margin-bottom: 16px !important; padding-bottom: 12px !important;
    border-bottom: 2px solid #f0f0f0 !important;
}

/* Form fields */
.woocommerce-checkout .ll-wc-page input[type="text"],
.woocommerce-checkout .ll-wc-page input[type="email"],
.woocommerce-checkout .ll-wc-page input[type="tel"],
.woocommerce-checkout .ll-wc-page input[type="number"],
.woocommerce-checkout .ll-wc-page input[type="password"],
.woocommerce-checkout .ll-wc-page textarea,
.woocommerce-checkout .ll-wc-page select,
.woocommerce-checkout .ll-wc-page .input-text,
.woocommerce-cart .ll-wc-page input[type="number"],
.woocommerce-cart .ll-wc-page .input-text {
    background: #f8f8f8 !important; border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important; color: #1a1a1a !important;
    font-family: var(--nx-body) !important; font-size: 14px !important;
    padding: 12px 14px !important; transition: border-color .2s, box-shadow .2s;
    width: 100%;
}
.woocommerce-checkout .ll-wc-page input:focus,
.woocommerce-checkout .ll-wc-page textarea:focus,
.woocommerce-checkout .ll-wc-page select:focus {
    border-color: var(--nx-accent) !important;
    box-shadow: 0 0 0 3px rgba(109, 40, 217, .1) !important;
    outline: none !important; background: #fff !important;
}
.woocommerce-checkout .ll-wc-page label,
.woocommerce-cart .ll-wc-page label {
    font-weight: 600 !important; font-size: 12px !important;
    text-transform: uppercase !important; letter-spacing: .04em !important;
    color: #555 !important; margin-bottom: 4px !important; display: block !important;
}
.woocommerce-checkout .ll-wc-page .optional { font-size: 10px; color: #999 !important; text-transform: none; }
.woocommerce-checkout .ll-wc-page abbr { text-decoration: none !important; color: var(--nx-accent) !important; }

/* Select2 dropdown override */
.woocommerce-checkout .select2-container .select2-selection--single {
    background: #f8f8f8 !important; border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important; height: 44px !important;
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
    color: #1a1a1a !important; line-height: 44px !important; padding-left: 14px !important;
}

/* Tables */
.woocommerce-checkout .ll-wc-page table,
.woocommerce-cart .ll-wc-page table {
    width: 100% !important; border-collapse: collapse !important; margin: 16px 0 !important;
}
.woocommerce-checkout .ll-wc-page th,
.woocommerce-checkout .ll-wc-page td,
.woocommerce-cart .ll-wc-page th,
.woocommerce-cart .ll-wc-page td {
    padding: 14px 16px !important; border-bottom: 1px solid #f0f0f0 !important;
    text-align: left !important; font-size: 14px !important;
}
.woocommerce-checkout .ll-wc-page th,
.woocommerce-cart .ll-wc-page th {
    font-family: var(--nx-head) !important; font-weight: 700 !important;
    font-size: 11px !important; text-transform: uppercase !important;
    letter-spacing: .06em !important; color: #888 !important; background: #fafafa !important;
}
.woocommerce-checkout .ll-wc-page .order-total th,
.woocommerce-checkout .ll-wc-page .order-total td {
    font-weight: 800 !important; font-size: 18px !important;
    border-top: 2px solid #e0e0e0 !important; color: #0a0a0a !important;
    padding-top: 18px !important;
}

/* Payment methods */
.woocommerce-checkout .ll-wc-page .wc_payment_methods {
    list-style: none !important; padding: 0 !important; margin: 0 !important;
}
.woocommerce-checkout .ll-wc-page .wc_payment_method {
    list-style: none !important; padding: 16px !important;
    margin-bottom: 8px !important; border: 1px solid #e0e0e0 !important;
    border-radius: 10px !important; background: #fafafa !important;
    transition: all .2s;
}
.woocommerce-checkout .ll-wc-page .wc_payment_method label {
    font-size: 14px !important; font-weight: 700 !important;
    text-transform: none !important; letter-spacing: 0 !important;
    cursor: pointer !important; display: inline !important;
}
.woocommerce-checkout .ll-wc-page .payment_box {
    margin-top: 10px !important; padding-top: 10px !important;
    border-top: 1px solid #eee !important;
}
.woocommerce-checkout .ll-wc-page .payment_box p {
    font-size: 13px !important; color: #666 !important; line-height: 1.6 !important; margin: 0 !important;
}
.woocommerce-checkout .ll-wc-page input[type="radio"] {
    accent-color: var(--nx-accent) !important;
    width: 16px !important; height: 16px !important;
    margin-right: 8px !important;
}

/* Place order button */
.woocommerce-checkout .ll-wc-page #place_order,
.woocommerce-cart .ll-wc-page .checkout-button {
    display: block !important; width: 100% !important;
    font-family: var(--nx-head) !important; font-weight: 800 !important;
    font-size: 14px !important; letter-spacing: .08em !important;
    text-transform: uppercase !important;
    background: linear-gradient(135deg, var(--nx-accent) 0%, var(--nx-accent-deep) 100%) !important;
    color: #fff !important; border: none !important;
    border-radius: 10px !important; padding: 18px 28px !important;
    cursor: pointer !important; transition: all .3s !important;
    box-shadow: 0 4px 24px rgba(109, 40, 217, .4), 0 0 48px rgba(109, 40, 217, .12) !important;
    margin-top: 16px !important; text-align: center !important;
}
.woocommerce-checkout .ll-wc-page #place_order:hover,
.woocommerce-cart .ll-wc-page .checkout-button:hover {
    box-shadow: 0 8px 32px rgba(109, 40, 217, .55), 0 0 64px rgba(109, 40, 217, .2) !important;
    opacity: 1 !important;
}

/* Coupon / info notices */
.woocommerce-checkout .ll-wc-page .woocommerce-info,
.woocommerce-cart .ll-wc-page .woocommerce-info {
    background: #f8f8f8 !important; border: 1px solid #e0e0e0 !important;
    color: #333 !important; border-radius: 8px !important;
    padding: 14px 16px !important; margin-bottom: 20px !important;
}
.woocommerce-checkout .ll-wc-page .woocommerce-info::before,
.woocommerce-cart .ll-wc-page .woocommerce-info::before { color: var(--nx-accent) !important; }
.woocommerce-checkout .ll-wc-page .woocommerce-info a { font-weight: 600 !important; }

/* Coupon form */
.woocommerce-checkout .ll-wc-page .checkout_coupon {
    background: #fafafa !important; border: 1px solid #e0e0e0 !important;
    border-radius: 10px !important; padding: 16px !important;
    margin-bottom: 20px !important;
}
.woocommerce-checkout .ll-wc-page .checkout_coupon .button,
.woocommerce-cart .ll-wc-page .coupon .button {
    background: #1a1a1a !important; color: #fff !important;
    border: none !important; border-radius: 8px !important;
    font-family: var(--nx-head) !important; font-weight: 700 !important;
    font-size: 12px !important; text-transform: uppercase !important;
    letter-spacing: .06em !important; padding: 12px 20px !important;
    cursor: pointer !important;
}

/* Privacy */
.woocommerce-checkout .ll-wc-page .woocommerce-privacy-policy-text p {
    font-size: 11px !important; color: #999 !important; line-height: 1.6 !important;
}

/* Cart page — product images & quantities */
.woocommerce-cart .ll-wc-page .product-thumbnail img {
    width: 60px !important; height: 60px !important; object-fit: contain !important;
    border-radius: 8px !important; background: #f5f5f5 !important;
}
.woocommerce-cart .ll-wc-page .product-remove a {
    color: #ccc !important; font-size: 20px !important; text-decoration: none !important;
}
.woocommerce-cart .ll-wc-page .product-remove a:hover { color: #ef4444 !important; }
.woocommerce-cart .ll-wc-page .quantity input { width: 60px !important; text-align: center !important; }
.woocommerce-cart .ll-wc-page .button:not(.checkout-button) {
    background: #1a1a1a !important; color: #fff !important;
    border: none !important; border-radius: 8px !important;
    font-family: var(--nx-head) !important; font-weight: 700 !important;
    font-size: 12px !important; text-transform: uppercase !important;
    letter-spacing: .06em !important; padding: 12px 20px !important;
    cursor: pointer !important;
}

/* WooCommerce form rows */
.woocommerce-checkout .ll-wc-page .form-row { margin-bottom: 14px !important; }
.woocommerce-checkout .ll-wc-page .form-row-first,
.woocommerce-checkout .ll-wc-page .form-row-last { width: 48% !important; display: inline-block !important; }
.woocommerce-checkout .ll-wc-page .form-row-first { float: left !important; }
.woocommerce-checkout .ll-wc-page .form-row-last { float: right !important; }
.woocommerce-checkout .ll-wc-page .form-row-wide { width: 100% !important; clear: both !important; }

@media (max-width: 600px) {
    .woocommerce-checkout .ll-wc-page { padding: 20px !important; }
    .woocommerce-checkout .ll-wc-page .form-row-first,
    .woocommerce-checkout .ll-wc-page .form-row-last { width: 100% !important; float: none !important; }
}

/* ── WOO NOTICES ── */
.woocommerce-notices-wrapper { max-width: 1200px; margin: 0 auto; padding: 10px 20px; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    font-family: var(--nx-body) !important;
    font-size: 13px !important; line-height: 1.5 !important;
    padding: 14px 18px 14px 46px !important;
    border-radius: 10px !important;
    position: relative !important;
    list-style: none !important;
    margin-bottom: 16px !important;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    position: absolute !important; left: 16px !important; top: 14px !important;
    font-size: 16px !important; line-height: 1 !important;
}
/* Success */
.woocommerce-message {
    background: rgba(34, 197, 94, .08) !important;
    border: 1px solid rgba(34, 197, 94, .25) !important;
    color: #bbf7d0 !important;
}
.woocommerce-message::before { content: '✓' !important; color: #4ade80 !important; font-weight: 700 !important; }
.woocommerce-message a {
    color: #86efac !important; font-weight: 600 !important;
    text-decoration: underline !important; text-underline-offset: 2px !important;
}
.woocommerce-message a:hover { color: #bbf7d0 !important; opacity: 1 !important; }
.woocommerce-message .button { float: none !important; display: inline-block !important; margin-right: 8px !important; }
/* Info */
.woocommerce-info {
    background: rgba(109, 40, 217, .08) !important;
    border: 1px solid var(--nx-accent-border) !important;
    color: #c4b5fd !important;
}
.woocommerce-info::before { content: 'ℹ' !important; color: var(--nx-accent) !important; font-weight: 700 !important; }
.woocommerce-info a {
    color: #a78bfa !important; font-weight: 600 !important;
    text-decoration: underline !important; text-underline-offset: 2px !important;
}
.woocommerce-info a:hover { color: #c4b5fd !important; opacity: 1 !important; }
/* Error */
.woocommerce-error,
.woocommerce-error li {
    background: rgba(239, 68, 68, .08) !important;
    border: 1px solid rgba(239, 68, 68, .25) !important;
    color: #fca5a5 !important;
    list-style: none !important;
}
.woocommerce-error::before { content: '!' !important; color: #f87171 !important; font-weight: 800 !important; }
.woocommerce-error a { color: #fca5a5 !important; font-weight: 600 !important; }

/* ── WOO NOTICES — white checkout context ── */
.woocommerce-checkout .ll-wc-page .woocommerce-message,
.woocommerce-cart .ll-wc-page .woocommerce-message {
    background: #f0fdf4 !important; border: 1px solid #bbf7d0 !important; color: #166534 !important;
}
.woocommerce-checkout .ll-wc-page .woocommerce-message::before,
.woocommerce-cart .ll-wc-page .woocommerce-message::before { color: #22c55e !important; }
.woocommerce-checkout .ll-wc-page .woocommerce-message a,
.woocommerce-cart .ll-wc-page .woocommerce-message a { color: #15803d !important; }

.woocommerce-checkout .ll-wc-page .woocommerce-error,
.woocommerce-checkout .ll-wc-page .woocommerce-error li,
.woocommerce-cart .ll-wc-page .woocommerce-error,
.woocommerce-cart .ll-wc-page .woocommerce-error li {
    background: #fef2f2 !important; border: 1px solid #fecaca !important; color: #991b1b !important;
}
.woocommerce-checkout .ll-wc-page .woocommerce-error::before,
.woocommerce-cart .ll-wc-page .woocommerce-error::before { color: #ef4444 !important; }

/* ── PAYMENT METHODS ── */
/* Grey out Cash App & Zelle */
.woocommerce-checkout .ll-wc-page .wc_payment_method.payment_method_cashapp,
.woocommerce-checkout .ll-wc-page .wc_payment_method.payment_method_zelle {
    opacity: .4 !important; pointer-events: none !important;
    position: relative !important;
}
.woocommerce-checkout .ll-wc-page .wc_payment_method.payment_method_cashapp label::after,
.woocommerce-checkout .ll-wc-page .wc_payment_method.payment_method_zelle label::after {
    content: 'Unavailable' !important;
    display: inline-block !important; margin-left: 8px !important;
    font-size: 10px !important; font-weight: 600 !important;
    text-transform: uppercase !important; letter-spacing: .05em !important;
    color: #999 !important; background: #f0f0f0 !important;
    padding: 2px 8px !important; border-radius: 4px !important;
    vertical-align: middle !important;
}
/* Recommended badge on Credit/Debit Card */
.woocommerce-checkout .ll-wc-page .wc_payment_method.payment_method_ll_card label::after {
    content: 'Recommended' !important;
    display: inline-block !important; margin-left: 8px !important;
    font-size: 10px !important; font-weight: 700 !important;
    text-transform: uppercase !important; letter-spacing: .05em !important;
    color: #fff !important; background: var(--nx-accent) !important;
    padding: 2px 8px !important; border-radius: 4px !important;
    vertical-align: middle !important;
}

/* ── WOO OVERRIDES ── */
.woocommerce-breadcrumb { display: none !important; }
.woocommerce-tabs, .woocommerce-Tabs-panel, .wc-tabs-wrapper, .wc-tabs, .related.products, .up-sells, #tab-description, #tab-additional_information, #tab-reviews, .woocommerce-product-details__short-description { display: none !important; }

/* ── FORMINATOR FORM OVERRIDES ── */
.forminator-custom-form { font-family: var(--nx-body) !important; }
.forminator-custom-form .forminator-label { color: var(--nx-text) !important; font-weight: 600 !important; font-size: 12px !important; text-transform: uppercase !important; letter-spacing: .04em !important; }
.forminator-custom-form .forminator-input, .forminator-custom-form .forminator-textarea, .forminator-custom-form .forminator-select { background: var(--nx-surface) !important; border: 1px solid var(--nx-border) !important; border-radius: var(--nx-r) !important; color: var(--nx-text) !important; font-family: var(--nx-body) !important; }
.forminator-custom-form .forminator-input:focus, .forminator-custom-form .forminator-textarea:focus { border-color: var(--nx-accent-border) !important; outline: none !important; background: var(--nx-surface-h) !important; box-shadow: 0 0 0 3px var(--nx-accent-glow) !important; }
.forminator-custom-form .forminator-button-submit { background: var(--nx-accent) !important; color: #fff !important; border: none !important; border-radius: var(--nx-r) !important; font-family: var(--nx-head) !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .06em !important; padding: 14px 28px !important; cursor: pointer !important; transition: all .3s !important; }
.forminator-custom-form .forminator-button-submit:hover { background: var(--nx-accent-dim) !important; box-shadow: 0 6px 28px rgba(109, 40, 217, .45) !important; }
.forminator-custom-form .forminator-button-submit { box-shadow: 0 4px 20px rgba(109, 40, 217, .3) !important; }
.forminator-custom-form .forminator-response-message { background: var(--nx-surface) !important; border: 1px solid var(--nx-border) !important; border-radius: var(--nx-r) !important; color: var(--nx-text) !important; }
/* Form select dropdown */
.forminator-custom-form .forminator-select2 .selection .select2-selection,
.forminator-custom-form select.forminator-select,
.forminator-custom-form .forminator-select { background: var(--nx-surface) !important; border: 1px solid var(--nx-border) !important; border-radius: var(--nx-r) !important; color: var(--nx-text) !important; font-family: var(--nx-body) !important; -webkit-appearance: none; appearance: none; }
.forminator-custom-form .forminator-select option { background: var(--nx-surface) !important; color: var(--nx-text) !important; }
.forminator-custom-form .forminator-select2-dropdown,
.select2-container--default .select2-results__option { background: var(--nx-surface) !important; color: var(--nx-text) !important; }
.select2-container--default .select2-results__option--highlighted { background: var(--nx-surface-h) !important; color: var(--nx-accent) !important; }
/* Form validation / error messages */
.forminator-custom-form .forminator-error-message { background: rgba(239, 68, 68, .1) !important; border: 1px solid rgba(239, 68, 68, .3) !important; border-radius: var(--nx-r) !important; color: #fca5a5 !important; font-size: 12px !important; padding: 8px 12px !important; margin-top: 4px !important; }
.forminator-custom-form .forminator-field--error .forminator-input,
.forminator-custom-form .forminator-field--error .forminator-textarea,
.forminator-custom-form .forminator-field--error .forminator-select { border-color: rgba(239, 68, 68, .4) !important; }
/* Form placeholder text */
.forminator-custom-form .forminator-input::placeholder,
.forminator-custom-form .forminator-textarea::placeholder { color: var(--nx-text-3) !important; opacity: 1 !important; }
/* Required asterisk */
.forminator-custom-form .forminator-required { color: var(--nx-accent) !important; }

/* ── AGE GATE ── */
.nx-age-overlay { position: fixed; inset: 0; z-index: 10001; background: rgba(0,0,0,.85); display: flex; align-items: center; justify-content: center; }
.nx-age-box { background: var(--nx-surface); border: 1px solid var(--nx-border); border-radius: var(--nx-r-lg); padding: 36px; text-align: center; max-width: 380px; width: 90%; }
.nx-age-box h2 { font-family: var(--nx-head); font-weight: 800; font-size: 20px; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 8px; }
.nx-age-box p { font-size: 13px; color: var(--nx-text-2); margin-bottom: 20px; line-height: 1.5; }

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
    .nx-nav { display: none; }
    .nx-hamburger { display: block; }
    .nx-hide-mobile { display: none; }
    .nx-header { margin: 0; }
    .nx-prod-grid { grid-template-columns: 1fr; gap: 20px; }
    .nx-prod-card { padding: 18px; }
    .nx-prod-about { padding: 18px 20px; }
    .nx-prod-faq { padding: 18px 20px; }
    .nx-delivery-bar { flex-direction: column; gap: 8px; }
    .nx-prod-support-bar__inner { flex-direction: column; text-align: center; }
}
@media (max-width: 600px) {
    :root { --nx-header-h: 50px; --nx-marquee-h: 30px; }
    .nx-container { padding: 0 12px; }
    .nx-header { margin: 0; top: 0; }
    .nx-header__inner { padding: 0 16px; }
    .nx-logo__img { height: 22px; }
    .nx-prod-title { font-size: 22px; }
    .nx-prod-now { font-size: 22px; }
    .nx-prod-card { padding: 14px; }
    .nx-prod-about { padding: 14px 16px; }
    .nx-prod-faq { padding: 14px 16px; }
    .nx-prod-meta { flex-direction: column; }
    .nx-delivery-bar { padding: 12px 14px; }
    .nx-delivery-bar__item { font-size: 11px; }
    .nx-flink-row { gap: 14px; }
    .nx-footer__brand-name .nx-logo__img { height: 56px; }
    .nx-footer__bottom { flex-direction: column; text-align: left; }
    .nx-footer__disclaimer { text-align: left; }
}
