/* Nova Exprass redesign — layered on top of the Ninico theme. */
:root {
    --nv-primary: #4F3DFF;
    --nv-primary-600: #3A22E0;
    --nv-primary-50: #EFEDFF;
    --nv-coral: #FF4D5E;
    --nv-coral-600: #E8374A;
    --nv-coral-50: #FFF0F2;
    --nv-accent: #FF8A3D;
    --nv-ink: #0B1026;
    --nv-ink-2: #2E3452;
    --nv-muted: #6B7090;
    --nv-line: #E6E8F0;
    --nv-bg: #F5F6FA;
    --nv-card: #ffffff;
    --nv-radius: 18px;
    --nv-radius-sm: 12px;
    --nv-shadow: 0 1px 2px rgba(11, 16, 38, .04), 0 2px 10px rgba(11, 16, 38, .05);
    --nv-shadow-lg: 0 18px 50px rgba(11, 16, 38, .14);
    --nv-font: 'Readex Pro', 'IBM Plex Sans Arabic', 'Segoe UI', system-ui, sans-serif;
    --primary-color: var(--nv-primary);
    --primary-color-rgb: 79, 61, 255;
    --primary-font: var(--nv-font);
}

body,
button,
input,
select,
textarea,
h1, h2, h3, h4, h5, h6,
.tpproduct__title, .tpproduct__title a {
    font-family: var(--nv-font) !important;
}
body { color: var(--nv-ink); -webkit-font-smoothing: antialiased; }
.nv-ico { flex-shrink: 0; display: inline-block; vertical-align: middle; }
[dir="rtl"] .nv-flip { transform: scaleX(-1); }
.nv-rot { transform: scaleX(-1); }
[dir="rtl"] .nv-rot { transform: none; }

/* ---------- Buttons & pills ---------- */
.nv-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    height: 46px; padding: 0 22px; border-radius: 999px; border: 1px solid transparent;
    font-weight: 600; font-size: 15px; line-height: 1; white-space: nowrap;
    transition: transform .15s ease, background-color .15s ease, box-shadow .15s ease, color .15s ease;
}
.nv-btn:hover { transform: translateY(-1px); }
.nv-btn--primary { background: var(--nv-primary); color: #fff; }
.nv-btn--primary:hover { background: var(--nv-primary-600); color: #fff; box-shadow: 0 8px 20px rgba(232, 37, 75, .3); }
.nv-btn--light { background: #fff; color: var(--nv-ink); }
.nv-btn--light:hover { color: var(--nv-primary); box-shadow: 0 8px 24px rgba(0, 0, 0, .18); }
.nv-btn--ghost { background: rgba(255, 255, 255, .14); color: #fff; border-color: rgba(255, 255, 255, .35); backdrop-filter: blur(6px); }
.nv-btn--ghost:hover { background: rgba(255, 255, 255, .24); color: #fff; }
.nv-btn--dark { background: var(--nv-ink); color: #fff; }
.nv-btn--dark:hover { background: #1e293b; color: #fff; }
.nv-btn--outline { background: #fff; color: var(--nv-ink); border-color: var(--nv-line); }
.nv-btn--outline:hover { border-color: var(--nv-ink); color: var(--nv-ink); }
.nv-btn--block { width: 100%; }

.nv-pill {
    display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 6px;
    font-size: 12px; font-weight: 700; line-height: 1; background: var(--nv-ink); color: #fff;
}
.nv-pill--sale { background: var(--nv-primary); }
.nv-pill--dark { background: rgba(15, 23, 42, .82); }

/* ---------- Top bar ---------- */
.nv-topbar { background: var(--nv-ink); color: #cbd5e1; font-size: 13px; }
.nv-topbar__inner { display: flex; align-items: center; justify-content: space-between; min-height: 38px; gap: 16px; }
.nv-topbar__msg { margin: 0; display: flex; align-items: center; gap: 8px; color: #e2e8f0; }
.nv-topbar__msg .nv-ico { color: var(--nv-accent); }
.nv-topbar__links { display: flex; align-items: center; gap: 20px; }
.nv-topbar__links > a { color: #cbd5e1; }
.nv-topbar__links > a:hover { color: #fff; }
.nv-topbar__switchers, .nv-footer__switchers { display: flex; align-items: center; gap: 14px; }
.nv-topbar__switchers *, .nv-footer__switchers * { color: inherit; font-size: 13px; }
.nv-topbar__switchers .dropdown-menu *, .nv-footer__switchers .dropdown-menu * { color: var(--nv-ink); }
.nv-topbar__switchers img, .nv-footer__switchers img { border-radius: 3px; }

/* ---------- Header ---------- */
.nv-header { position: sticky; top: 0; z-index: 990; background: rgba(255, 255, 255, .96); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--nv-line); }
.nv-header__inner { display: flex; align-items: center; gap: 18px; min-height: 76px; }
.nv-logo { display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; color: var(--nv-ink); }
.nv-logo:hover { color: var(--nv-ink); }
.nv-logo img { width: 36px; height: 36px; object-fit: contain; border-radius: 10px; }
.nv-logo__text { font-size: 22px; font-weight: 700; letter-spacing: -.02em; direction: ltr; }
.nv-logo__text b { color: var(--nv-primary); font-weight: 700; }
.nv-logo--light, .nv-logo--light:hover { color: #fff; }

.nv-iconbtn { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; border: 0; background: transparent; color: var(--nv-ink); }
.nv-iconbtn:hover { background: var(--nv-bg); }

/* Mega menu */
.nv-mega { position: relative; flex-shrink: 0; }
.nv-mega__btn { display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 16px; border-radius: 999px; border: 0; background: var(--nv-bg); color: var(--nv-ink); font-weight: 600; font-size: 14px; transition: background .15s; }
.nv-mega:hover .nv-mega__btn, .nv-mega:focus-within .nv-mega__btn { background: var(--nv-ink); color: #fff; }
.nv-mega__panel {
    position: absolute; top: calc(100% + 12px); inset-inline-start: 0; width: min(880px, 90vw); min-height: 360px;
    display: grid; grid-template-columns: 270px 1fr; background: #fff; border-radius: var(--nv-radius);
    box-shadow: var(--nv-shadow-lg); border: 1px solid var(--nv-line); overflow: hidden;
    opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
.nv-mega__panel::before { content: ""; position: absolute; top: -14px; inset-inline: 0; height: 14px; }
.nv-mega:hover .nv-mega__panel, .nv-mega:focus-within .nv-mega__panel { opacity: 1; visibility: visible; transform: none; }
.nv-mega__list { list-style: none; margin: 0; padding: 10px; background: #fafbfc; border-inline-end: 1px solid var(--nv-line); grid-row: 1 / span 5; }
.nv-mega__list a { display: flex; align-items: center; gap: 12px; padding: 11px 12px; border-radius: 10px; color: var(--nv-ink-2); font-weight: 500; font-size: 14px; }
.nv-mega__list li.is-active a { background: #fff; color: var(--nv-primary); box-shadow: var(--nv-shadow); }
.nv-mega__ic { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; background: #fff; color: var(--nv-ink-2); border: 1px solid var(--nv-line); }
.nv-mega__list li.is-active .nv-mega__ic { background: var(--nv-primary-50); border-color: transparent; color: var(--nv-primary); }
.nv-mega__chev { margin-inline-start: auto; opacity: .45; }
.nv-mega__pane { display: none; padding: 22px 26px; grid-column: 2; grid-row: 1; }
.nv-mega__pane.is-active { display: block; }
.nv-mega__pane-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.nv-mega__pane-head h4 { margin: 0; font-size: 18px; font-weight: 700; }
.nv-mega__pane-head a { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--nv-primary); }
.nv-mega__subs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px 18px; }
.nv-mega__subs a { padding: 10px 12px; border-radius: 10px; color: var(--nv-ink-2); font-size: 14px; }
.nv-mega__subs a:hover { background: var(--nv-bg); color: var(--nv-primary); }

/* Search */
.nv-search { position: relative; flex: 1; display: flex; align-items: center; height: 48px; min-width: 0; background: #fff; border: 2px solid var(--nv-ink); border-radius: 999px; padding-inline-start: 16px; transition: border-color .15s, box-shadow .15s; }
.nv-search:focus-within { border-color: var(--nv-primary); box-shadow: 0 0 0 4px rgba(232, 37, 75, .12); }
.nv-search__lead { color: var(--nv-muted); display: inline-flex; }
.nv-search input.input-search-product { flex: 1; min-width: 0; height: 100%; border: 0 !important; outline: 0; background: transparent !important; padding: 0 10px !important; font-size: 15px; color: var(--nv-ink); box-shadow: none !important; }
.nv-search input::placeholder { color: #94a3b8; }
.nv-search__cam.image-search-btn { width: 38px; height: 38px; border-radius: 999px; color: var(--nv-muted); }
.nv-search__cam.image-search-btn:hover { background: var(--nv-bg); color: var(--nv-primary); }
.nv-search__go { height: 38px; margin-inline: 4px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--nv-ink); color: #fff; font-weight: 600; font-size: 14px; display: inline-flex; align-items: center; transition: background .15s; }
.nv-search__go:hover { background: var(--nv-primary); }
.nv-search .panel--search-result { position: absolute; top: calc(100% + 8px); inset-inline: 0; z-index: 1000; background: #fff; border-radius: var(--nv-radius); box-shadow: var(--nv-shadow-lg); overflow: hidden; max-height: 70vh; overflow-y: auto; }
.nv-search .panel--search-result:empty { display: none; }

/* Actions */
.nv-actions { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.nv-action { display: inline-flex; align-items: center; gap: 10px; height: 48px; padding: 0 10px; border-radius: 12px; border: 0; background: transparent; color: var(--nv-ink); }
.nv-action:hover { background: var(--nv-bg); color: var(--nv-ink); }
.nv-action__ic { position: relative; display: inline-flex; }
.nv-action__txt { flex-direction: column; line-height: 1.2; text-align: start; }
.nv-action__txt small { font-size: 12px; color: var(--nv-muted); }
.nv-action__txt b { font-size: 14px; font-weight: 600; }
.nv-badge { position: absolute; top: -7px; inset-inline-end: -9px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 999px; background: var(--nv-primary); color: #fff; font-size: 11px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; border: 2px solid #fff; line-height: 1; }

/* Category bar */
.nv-catbar { border-top: 1px solid var(--nv-line); }
.nv-catbar__scroll { display: flex; gap: 8px; overflow-x: auto; padding: 10px 0; scrollbar-width: none; }
.nv-catbar__scroll::-webkit-scrollbar { display: none; }
.nv-chip { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px; border-radius: 999px; background: transparent; color: var(--nv-ink-2); font-size: 14px; font-weight: 500; white-space: nowrap; transition: background .15s, color .15s; }
.nv-chip:hover { background: var(--nv-bg); color: var(--nv-ink); }
.nv-chip--hot { background: var(--nv-primary-50); color: var(--nv-primary); font-weight: 700; }
.nv-chip--hot:hover { background: var(--nv-primary); color: #fff; }
.nv-chip--soft { color: var(--nv-muted); }

/* Hide Ninico's duplicate headers when the Nova header is active */
.nv-header ~ #header-sticky { display: none !important; }

/* ---------- Home ---------- */
.nv-home { background: var(--nv-bg); padding: 20px 0 56px; }
.nv-section { margin-top: 36px; }
.nv-section__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.nv-section__head h2 { margin: 0; font-size: 24px; font-weight: 700; letter-spacing: -.01em; }
.nv-section__head--center { justify-content: center; }
.nv-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 14px; color: var(--nv-ink-2); }
.nv-link:hover { color: var(--nv-primary); }

/* Hero */
.nv-hero { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; }
.nv-hero__main {
    position: relative; overflow: hidden; border-radius: 24px; min-height: 400px; padding: 48px;
    display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: center; gap: 24px;
    background:
        radial-gradient(900px 400px at 110% -20%, rgba(255, 170, 90, .55), transparent 60%),
        radial-gradient(600px 400px at -10% 120%, rgba(120, 20, 60, .55), transparent 60%),
        linear-gradient(135deg, #e8254b 0%, #f0413a 45%, #ff7a1a 100%);
    color: #fff;
}
.nv-hero__main::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, .14) 1px, transparent 1px); background-size: 22px 22px; mask-image: linear-gradient(90deg, transparent, #000 60%); pointer-events: none; }
[dir="rtl"] .nv-hero__main::after { mask-image: linear-gradient(-90deg, transparent, #000 60%); }
.nv-hero__copy { position: relative; z-index: 1; }
.nv-eyebrow { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .18); font-size: 13px; font-weight: 600; margin-bottom: 18px; }
.nv-hero__title { color: #fff; font-size: clamp(30px, 4vw, 48px); line-height: 1.15; font-weight: 700; margin: 0 0 14px; letter-spacing: -.02em; }
.nv-hero__title em { font-style: normal; color: #ffe8c7; }
.nv-hero__sub { color: rgba(255, 255, 255, .88); font-size: 16px; line-height: 1.7; margin: 0 0 26px; max-width: 460px; }
.nv-hero__cta { display: flex; flex-wrap: wrap; gap: 10px; }
.nv-hero__art { position: relative; z-index: 1; height: 320px; }
.nv-hero__tile { position: absolute; display: block; border-radius: 20px; overflow: hidden; background: #fff; box-shadow: 0 24px 50px rgba(80, 0, 20, .35); transition: transform .3s ease; }
.nv-hero__tile img { width: 100%; height: 100%; object-fit: cover; }
.nv-hero__tile--1 { width: 56%; height: 100%; inset-inline-start: 22%; top: 0; z-index: 2; }
.nv-hero__tile--2 { width: 36%; height: 58%; inset-inline-start: 0; top: 12%; transform: rotate(-5deg); }
.nv-hero__tile--3 { width: 36%; height: 58%; inset-inline-end: 0; bottom: 4%; transform: rotate(5deg); }
[dir="rtl"] .nv-hero__tile--2 { transform: rotate(5deg); }
[dir="rtl"] .nv-hero__tile--3 { transform: rotate(-5deg); }
.nv-hero__tile:hover { transform: translateY(-6px) rotate(0); z-index: 3; }
.nv-hero__tag { position: absolute; bottom: 10px; inset-inline-start: 10px; padding: 5px 10px; border-radius: 999px; background: #fff; color: var(--nv-ink); font-weight: 700; font-size: 13px; box-shadow: 0 4px 12px rgba(0, 0, 0, .15); direction: ltr; }

.nv-hero__side { display: flex; flex-direction: column; gap: 16px; }
.nv-welcome { flex: 1; background: #fff; border-radius: 24px; padding: 22px; box-shadow: var(--nv-shadow); display: flex; flex-direction: column; gap: 18px; }
.nv-welcome__head { display: flex; align-items: center; gap: 12px; }
.nv-welcome__head h3 { margin: 0; font-size: 18px; font-weight: 700; }
.nv-welcome__head p { margin: 2px 0 0; font-size: 13px; color: var(--nv-muted); }
.nv-welcome__ic { width: 46px; height: 46px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #fff0f3, #ffe4d1); color: var(--nv-primary); }
.nv-welcome__items { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; flex: 1; }
.nv-welcome__item { display: flex; flex-direction: column; gap: 6px; color: var(--nv-ink); }
.nv-welcome__item img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 12px; background: var(--nv-bg); transition: transform .2s; }
.nv-welcome__item:hover img { transform: scale(1.04); }
.nv-welcome__item b { font-size: 14px; color: var(--nv-primary); direction: ltr; text-align: center; }
.nv-mini { display: flex; align-items: center; gap: 12px; padding: 16px 18px; background: #fff; border-radius: 20px; box-shadow: var(--nv-shadow); color: var(--nv-ink); }
.nv-mini:hover { color: var(--nv-ink); box-shadow: var(--nv-shadow-lg); }
.nv-mini > span:nth-child(2) { flex: 1; display: flex; flex-direction: column; }
.nv-mini b { font-size: 15px; }
.nv-mini small { color: var(--nv-muted); font-size: 13px; }
.nv-mini__ic { width: 44px; height: 44px; border-radius: 14px; background: #eef2ff; color: #4f46e5; display: inline-flex; align-items: center; justify-content: center; }

/* Trust */
.nv-trust { list-style: none; margin: 16px 0 0; padding: 18px 8px; display: grid; grid-template-columns: repeat(4, 1fr); background: #fff; border-radius: 20px; box-shadow: var(--nv-shadow); }
.nv-trust li { display: flex; align-items: center; gap: 12px; padding: 0 18px; }
.nv-trust li + li { border-inline-start: 1px solid var(--nv-line); }
.nv-trust .nv-ico { color: var(--nv-primary); width: 28px; height: 28px; }
.nv-trust span { display: flex; flex-direction: column; line-height: 1.35; }
.nv-trust b { font-size: 14px; }
.nv-trust small { font-size: 12.5px; color: var(--nv-muted); }

/* Categories */
.nv-cats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; }
.nv-cat { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 18px 12px 16px; background: #fff; border-radius: 20px; box-shadow: var(--nv-shadow); color: var(--nv-ink); text-align: center; transition: transform .2s, box-shadow .2s; }
.nv-cat:hover { transform: translateY(-4px); box-shadow: var(--nv-shadow-lg); color: var(--nv-ink); }
.nv-cat__img { width: 96px; height: 96px; border-radius: 50%; background: var(--tint); display: inline-flex; align-items: center; justify-content: center; overflow: hidden; color: var(--nv-ink-2); }
.nv-cat__img img { width: 100%; height: 100%; object-fit: cover; }
.nv-cat__name { font-weight: 600; font-size: 15px; }
.nv-cat__count { font-size: 12.5px; color: var(--nv-muted); margin-top: -6px; }

/* Deals */
.nv-deals { background: linear-gradient(180deg, #fff4ec 0, #fff 140px); border-radius: 24px; padding: 22px; box-shadow: var(--nv-shadow); }
.nv-deals__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; gap: 12px; }
.nv-deals__title { display: flex; align-items: center; gap: 12px; }
.nv-deals__title h2 { margin: 0; font-size: 24px; font-weight: 700; }
.nv-deals__title p { margin: 2px 0 0; color: var(--nv-muted); font-size: 14px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.nv-deals__bolt { width: 46px; height: 46px; border-radius: 14px; background: linear-gradient(135deg, var(--nv-accent), var(--nv-primary)); color: #fff; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 8px 18px rgba(255, 122, 26, .35); }
.nv-countdown { display: inline-flex; align-items: center; gap: 3px; font-weight: 700; color: var(--nv-ink); }
.nv-countdown i { font-style: normal; min-width: 30px; height: 28px; padding: 0 4px; border-radius: 8px; background: var(--nv-ink); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-variant-numeric: tabular-nums; font-size: 14px; }
.nv-deals__nav { display: flex; gap: 8px; }
.nv-round { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--nv-line); background: #fff; color: var(--nv-ink); display: inline-flex; align-items: center; justify-content: center; transition: background .15s, color .15s; }
.nv-round:hover { background: var(--nv-ink); color: #fff; border-color: var(--nv-ink); }
.nv-rail { display: grid; grid-auto-flow: column; grid-auto-columns: 190px; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding-bottom: 4px; scrollbar-width: none; }
.nv-rail::-webkit-scrollbar { display: none; }
.nv-deal { scroll-snap-align: start; display: flex; flex-direction: column; gap: 4px; color: var(--nv-ink); }
.nv-deal:hover { color: var(--nv-ink); }
.nv-deal__img { position: relative; display: block; aspect-ratio: 1; border-radius: 16px; overflow: hidden; background: var(--nv-bg); margin-bottom: 6px; }
.nv-deal__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.nv-deal:hover .nv-deal__img img { transform: scale(1.06); }
.nv-deal__img .nv-pill { position: absolute; top: 10px; inset-inline-start: 10px; }
.nv-deal__price { font-size: 18px; font-weight: 700; color: var(--nv-primary); }
.nv-deal__old { font-size: 13px; color: var(--nv-muted); }
.nv-deal__name { font-size: 13px; color: var(--nv-ink-2); display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }

/* Spotlight */
.nv-spot { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 20px; padding: 22px; border-radius: 24px; background: linear-gradient(135deg, var(--tint), #fff 70%); box-shadow: var(--nv-shadow); }
.nv-spot__intro { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 10px; padding: 8px; }
.nv-spot__intro h2 { margin: 0; font-size: 26px; font-weight: 700; }
.nv-spot__intro p { margin: 0 0 8px; color: var(--nv-muted); }
.nv-spot__ic { width: 52px; height: 52px; border-radius: 16px; background: #fff; display: inline-flex; align-items: center; justify-content: center; box-shadow: var(--nv-shadow); }
.nv-spot__items { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.nv-spot__item { position: relative; display: block; border-radius: 18px; overflow: hidden; aspect-ratio: 3 / 4; background: #fff; }
.nv-spot__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.nv-spot__item:hover img { transform: scale(1.05); }
.nv-spot__item b { position: absolute; bottom: 10px; inset-inline-start: 10px; padding: 5px 10px; border-radius: 999px; background: #fff; color: var(--nv-ink); font-size: 13px; box-shadow: 0 4px 12px rgba(0, 0, 0, .12); direction: ltr; }

/* Filter + grid */
.nv-filter { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin: -2px 0 20px; }
.nv-filter__btn { height: 38px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--nv-line); background: #fff; color: var(--nv-ink-2); font-weight: 500; font-size: 14px; transition: all .15s; }
.nv-filter__btn:hover { border-color: var(--nv-ink); }
.nv-filter__btn.is-active { background: var(--nv-ink); border-color: var(--nv-ink); color: #fff; }
.nv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 16px; }
.nv-grid__item[hidden] { display: none; }
.nv-grid__item .nv-card { animation: nv-fade .3s ease both; }
@keyframes nv-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.nv-more { display: flex; justify-content: center; margin-top: 28px; }

/* ---------- Product card (used site-wide) ---------- */
.tpproduct.nv-card { position: relative; display: flex; flex-direction: column; height: 100%; margin: 0 0 16px; padding: 0; background: var(--nv-card); border-radius: var(--nv-radius); overflow: hidden; box-shadow: var(--nv-shadow); transition: box-shadow .2s ease, transform .2s ease; }
.nv-grid .tpproduct.nv-card { margin: 0; }
.tpproduct.nv-card:hover { box-shadow: var(--nv-shadow-lg); transform: translateY(-3px); }
.nv-card__media { position: relative; aspect-ratio: 1; background: #f3f4f6; overflow: hidden; }
.nv-card__img, .nv-card__img img { display: block; width: 100%; height: 100%; }
.nv-card__img img { object-fit: cover; transition: opacity .35s ease, transform .5s ease; }
.nv-card__img-alt { position: absolute; inset: 0; opacity: 0; }
.nv-card:hover .nv-card__img img { transform: scale(1.04); }
.nv-card:hover .nv-card__img-alt { opacity: 1; }
.nv-card.is-out .nv-card__img img { filter: grayscale(.6); opacity: .7; }
.nv-card__badges { position: absolute; top: 10px; inset-inline-start: 10px; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; z-index: 2; pointer-events: none; }
.nv-card__tools { position: absolute; top: 10px; inset-inline-end: 10px; display: flex; flex-direction: column; gap: 8px; z-index: 2; }
.nv-tool { width: 36px; height: 36px; border-radius: 50%; background: rgba(255, 255, 255, .95); color: var(--nv-ink); display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(15, 23, 42, .12); transition: transform .2s, background .15s, color .15s, opacity .2s; }
.nv-tool:hover { background: var(--nv-ink); color: #fff; }
.nv-tool.wishlist:hover, .nv-tool.wishlist.added-to-wishlist, .nv-tool.wishlist.active { background: var(--nv-primary); color: #fff; }
.nv-card__tools .nv-tool:not(.wishlist) { opacity: 0; transform: translateX(8px); }
[dir="rtl"] .nv-card__tools .nv-tool:not(.wishlist) { transform: translateX(-8px); }
.nv-card:hover .nv-card__tools .nv-tool, .nv-card:focus-within .nv-card__tools .nv-tool { opacity: 1; transform: none; }
.nv-quickadd { position: absolute; bottom: 10px; inset-inline-end: 10px; z-index: 2; width: 42px; height: 42px; border-radius: 50%; background: var(--nv-ink); color: #fff !important; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 6px 16px rgba(15, 23, 42, .25); transition: transform .2s, background .15s; }
.nv-quickadd:hover { background: var(--nv-primary); transform: scale(1.08); }
.nv-quickadd.loading, .nv-quickadd.button-loading { opacity: .7; pointer-events: none; }
.nv-card__body { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px 14px; flex: 1; }
.nv-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; margin: 0; direction: ltr; justify-content: flex-end; }
[dir="ltr"] .nv-price { justify-content: flex-start; }
.nv-price__now { font-size: 19px; font-weight: 700; color: var(--nv-ink); letter-spacing: -.01em; }
.nv-card .nv-price:has(.nv-price__old) .nv-price__now { color: var(--nv-primary); }
.nv-price__old, .nv-price del { font-size: 13px; color: #94a3b8; text-decoration: line-through; }
.nv-card__title { margin: 0; font-size: 14px; font-weight: 400; line-height: 1.5; }
.nv-card__title a { color: var(--nv-ink-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 3em; }
.nv-card__title a:hover { color: var(--nv-primary); }
.nv-card__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: auto; font-size: 12.5px; }
.nv-card__meta:empty { display: none; }
.nv-rating { display: inline-flex; align-items: center; gap: 3px; font-weight: 600; color: var(--nv-ink); }
.nv-rating .nv-ico { color: #f59e0b; }
.nv-rating em { font-style: normal; color: var(--nv-muted); font-weight: 400; }
.nv-save { padding: 2px 8px; border-radius: 6px; background: var(--nv-primary-50); color: var(--nv-primary); font-weight: 600; }

/* ---------- Footer ---------- */
.nv-footer { background: #0b1220; color: #94a3b8; margin-top: 0; }
.nv-footer__grid { display: grid; grid-template-columns: 1.5fr repeat(4, 1fr); gap: 32px; padding: 56px 0 40px; }
.nv-footer__brand p { margin: 16px 0; line-height: 1.8; font-size: 14px; color: #94a3b8; max-width: 340px; }
.nv-footer__phone { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-weight: 600; }
.nv-footer__phone:hover { color: var(--nv-accent); }
.nv-footer__col h4 { color: #fff; font-size: 15px; font-weight: 700; margin: 6px 0 16px; }
.nv-footer__col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.nv-footer__col a { color: #94a3b8; font-size: 14px; }
.nv-footer__col a:hover { color: #fff; }
.nv-footer__badges li { display: flex; align-items: center; gap: 10px; font-size: 14px; }
.nv-footer__badges .nv-ico { color: var(--nv-accent); }
.nv-footer__bottom { border-top: 1px solid rgba(148, 163, 184, .15); }
.nv-footer__bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; flex-wrap: wrap; font-size: 13px; }
.nv-footer__bottom p { margin: 0; color: #64748b; }
.nv-footer__switchers { color: #cbd5e1; }

/* ---------- Mobile bottom navigation ---------- */
.navigation-bar { background: rgba(255, 255, 255, .97) !important; backdrop-filter: blur(10px); border-top: 1px solid var(--nv-line); box-shadow: 0 -6px 20px rgba(15, 23, 42, .06); padding-bottom: env(safe-area-inset-bottom); }
.navigation-bar__list a { color: var(--nv-muted) !important; font-size: 11px; font-weight: 500; }
.navigation-bar__list a:hover, .navigation-bar__list a:active { color: var(--nv-primary) !important; }
.navigation-bar .tp-product-count { background: var(--nv-primary) !important; }

/* ---------- Site-wide polish ---------- */
.breadcrumb-area, .tp-breadcrumb { background: var(--nv-bg) !important; }
.tp-btn, .tp-btn-2, .tpproduct-details__cart button, .tp-checkout-btn { border-radius: 999px !important; }
.tpcartinfo { border-radius: 0; }
.back-to-top-wrapper, .scroll-top { border-radius: 50% !important; }

/* ---------- Responsive ---------- */
@media (max-width: 1199.98px) {
    .nv-hero { grid-template-columns: 1fr; }
    .nv-hero__side { flex-direction: row; }
    .nv-welcome { flex: 1.4; }
    .nv-mini { flex: 1; flex-direction: column; align-items: flex-start; justify-content: center; }
    .nv-footer__grid { grid-template-columns: repeat(3, 1fr); }
    .nv-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 991.98px) {
    .nv-header__inner { flex-wrap: wrap; gap: 8px 10px; min-height: 0; padding-top: 10px; padding-bottom: 10px; }
    .nv-logo { margin-inline-end: auto; }
    .nv-logo__text { font-size: 20px; }
    .nv-search { order: 5; flex-basis: 100%; height: 46px; }
    .nv-actions { gap: 0; }
    .nv-action { padding: 0 8px; }
    .nv-catbar__scroll { padding: 8px 0; }
    .nv-hero__main { grid-template-columns: 1fr; padding: 32px 28px; min-height: 0; }
    .nv-hero__art { height: 240px; }
    .nv-trust { grid-template-columns: repeat(2, 1fr); row-gap: 16px; }
    .nv-trust li:nth-child(3) { border-inline-start: 0; }
    .nv-spot { grid-template-columns: 1fr; }
    .nv-spot__items { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 767.98px) {
    .nv-home { padding-top: 12px; }
    .nv-section { margin-top: 26px; }
    .nv-section__head h2, .nv-deals__title h2 { font-size: 20px; }
    .nv-hero__main { border-radius: 20px; padding: 26px 20px 20px; gap: 10px; }
    .nv-hero__sub { font-size: 14.5px; margin-bottom: 20px; }
    .nv-hero__cta .nv-btn { height: 42px; padding: 0 18px; font-size: 14px; }
    .nv-hero__art { height: 200px; }
    .nv-hero__side { flex-direction: column; }
    .nv-trust { padding: 14px 4px; }
    .nv-trust li { padding: 0 10px; gap: 8px; }
    .nv-trust small { display: none; }
    .nv-cats { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 112px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
    .nv-cat { padding: 14px 8px 12px; border-radius: 16px; }
    .nv-cat__img { width: 72px; height: 72px; }
    .nv-cat__name { font-size: 13.5px; }
    .nv-deals { padding: 16px; border-radius: 20px; }
    .nv-deals__nav { display: none; }
    .nv-rail { grid-auto-columns: 150px; gap: 10px; }
    .nv-deal__price { font-size: 16px; }
    .nv-spot { padding: 16px; border-radius: 20px; }
    .nv-spot__intro { align-items: flex-start; }
    .nv-spot__intro h2 { font-size: 21px; }
    .nv-spot__items { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 42%; overflow-x: auto; scrollbar-width: none; }
    .nv-filter { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: -12px; padding-inline: 12px; }
    .nv-filter__btn { flex-shrink: 0; }
    .nv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .nv-card__body { padding: 10px 10px 12px; gap: 4px; }
    .nv-price__now { font-size: 16px; }
    .nv-card__title { font-size: 13px; }
    .nv-card__tools .nv-tool:not(.wishlist) { display: none; }
    .nv-tool { width: 32px; height: 32px; }
    .nv-quickadd { width: 36px; height: 36px; bottom: 8px; inset-inline-end: 8px; }
    .nv-footer__grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; padding: 40px 0 28px; }
    .nv-footer__bottom-inner { justify-content: center; text-align: center; padding-bottom: 76px; }
    body { padding-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Switcher dropdowns: open inward so they never push the page sideways */
.nv-topbar__switchers > *, .nv-footer__switchers > * { position: relative; }
.nv-topbar__switchers ul[class*="submenu"], .nv-footer__switchers ul[class*="submenu"],
.nv-topbar__switchers .dropdown-menu, .nv-footer__switchers .dropdown-menu {
    left: auto !important; right: auto !important; inset-inline-start: auto !important; inset-inline-end: 0 !important;
    min-width: 150px; background: #fff; border-radius: 12px; box-shadow: var(--nv-shadow-lg); border: 1px solid var(--nv-line); padding: 6px; z-index: 1001;
}
.nv-footer__switchers ul[class*="submenu"], .nv-footer__switchers .dropdown-menu { top: auto !important; bottom: calc(100% + 8px) !important; }
.nv-topbar__switchers ul[class*="submenu"] a, .nv-footer__switchers ul[class*="submenu"] a { color: var(--nv-ink) !important; display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 8px; }
.nv-topbar__switchers ul[class*="submenu"] a:hover, .nv-footer__switchers ul[class*="submenu"] a:hover { background: var(--nv-bg); }
.nv-topbar__switchers > * > a, .nv-topbar__switchers > * > span, .nv-topbar__switchers > * > button,
.nv-footer__switchers > * > a, .nv-footer__switchers > * > span, .nv-footer__switchers > * > button { color: #cbd5e1 !important; }
.nv-cat__img .nv-ico { opacity: .75; }

/* Cookie notice as a floating card */
.site-notice.site-notice-full-width {
    left: 16px !important; right: auto !important; bottom: 16px !important; top: auto !important;
    width: min(420px, calc(100vw - 32px)) !important; max-width: none !important;
    background: #0f172a !important; color: #e2e8f0 !important; border-radius: 18px !important;
    box-shadow: var(--nv-shadow-lg) !important; padding: 18px 20px !important; z-index: 9990 !important;
}
[dir="rtl"] .site-notice.site-notice-full-width { left: auto !important; right: 16px !important; }
.site-notice .site-notice__inner { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 14px !important; max-width: none !important; padding: 0 !important; }
.site-notice .site-notice__message, .site-notice .site-notice__message * { color: #e2e8f0 !important; font-size: 14px !important; line-height: 1.6 !important; text-align: start !important; }
.site-notice .site-notice__actions { display: flex !important; gap: 8px !important; margin: 0 !important; }
.site-notice .site-notice__agree { flex: 1; height: 42px !important; border-radius: 999px !important; background: var(--nv-primary) !important; border: 0 !important; color: #fff !important; font-weight: 600 !important; }
.site-notice .site-notice__agree:hover { background: var(--nv-primary-600) !important; }
@media (max-width: 767.98px) {
    .site-notice.site-notice-full-width { bottom: 76px !important; }
    .nv-mini { flex-direction: row; align-items: center; }
    .nv-hero__side .nv-welcome { order: 0; }
}

/* Breadcrumb bar */
.nv-crumbs { background: linear-gradient(180deg, #fff, var(--nv-bg)); border-bottom: 1px solid var(--nv-line); padding: 22px 0 20px; }
.nv-crumbs__trail { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 13px; color: var(--nv-muted); }
.nv-crumbs__trail a { color: var(--nv-muted); }
.nv-crumbs__trail a:hover { color: var(--nv-primary); }
.nv-crumbs__trail span { color: var(--nv-ink); font-weight: 500; }
.nv-crumbs__trail .nv-ico { opacity: .5; }
.nv-crumbs__title { margin: 8px 0 0; font-size: 26px; font-weight: 700; color: var(--nv-ink); letter-spacing: -.01em; }
.nv-crumbs + .pt-80 { padding-top: 36px !important; }

/* Mobile tab bar */
.nv-tabbar .navigation-bar__list { display: grid !important; grid-template-columns: repeat(5, 1fr); padding: 6px 4px 4px !important; margin: 0; }
.nv-tabbar .navigation-bar__list li { display: flex; justify-content: center; }
.nv-tabbar .navigation-bar__list a { display: flex !important; flex-direction: column; align-items: center; gap: 3px; padding: 4px 2px; min-width: 0; width: 100%; font-size: 11px !important; line-height: 1.2; }
.nv-tabbar .navigation-bar__list a > span:last-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.nv-tabbar .navigation-bar__list a.is-active { color: var(--nv-primary) !important; }
.nv-tabbar .nv-badge { top: -5px; inset-inline-end: -10px; }
@media (max-width: 767.98px) { .nv-crumbs { padding: 14px 0; } .nv-crumbs__title { font-size: 20px; } }
.nv-footer__switchers, .nv-footer__switchers *:not(ul):not(ul *), .nv-topbar__switchers *:not(ul):not(ul *) { color: #cbd5e1 !important; }
.nv-action__ic.header-cart { margin: 0 !important; padding: 0 !important; font-size: inherit !important; line-height: 0 !important; background: none !important; }
.nv-action__ic.header-cart .nv-badge { line-height: 1 !important; }

/* Product page feature list */
.nv-features ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.nv-feature { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid var(--nv-line); border-radius: 14px; background: #fff; }
.nv-feature p { margin: 0; font-size: 14px; color: var(--nv-ink-2); line-height: 1.5; }
.nv-feature__ic { width: 42px; height: 42px; flex-shrink: 0; border-radius: 12px; background: var(--nv-primary-50); color: var(--nv-primary); display: inline-flex; align-items: center; justify-content: center; }

/* Tab bar: override the theme's label hiding and fixed widths */
.nv-tabbar { left: 0 !important; right: 0 !important; width: 100% !important; }
.nv-tabbar .navigation-bar__list li { width: auto !important; flex: none !important; margin: 0 !important; padding: 0 !important; }
.nv-tabbar .navigation-bar__list a > span:last-child { display: block !important; font-size: 11px !important; }
.nv-badge, .tp-product-count, .tp-product-wishlist-count { font-family: var(--nv-font) !important; }
.nv-tabbar .navigation-bar__list li { display: block !important; min-width: 0; }
.nv-tabbar .navigation-bar__list a { width: 100% !important; }
.nv-tabbar .navigation-bar__list a > span:last-child { width: 100%; text-align: center; color: inherit !important; }
.nv-tabbar .navigation-bar__list li { max-width: none !important; width: 100% !important; justify-self: stretch !important; }
.nv-tabbar .navigation-bar__list a { padding: 4px 2px !important; }
.nv-action__ic.header-cart { color: inherit !important; }
.nv-badge { color: #fff !important; }

/* =====================================================================
   Nova Express identity layer (v2)
   ===================================================================== */
body { letter-spacing: -.005em; }

/* Brand lockup */
.nv-logo { gap: 0; }
.nv-brand { display: inline-flex; align-items: center; gap: 10px; }
.nv-brand__mark { flex-shrink: 0; border-radius: 12px; box-shadow: 0 6px 16px rgba(79, 61, 255, .28); }
.nv-brand__word { display: flex; flex-direction: column; line-height: 1; font-weight: 700; font-size: 27px; letter-spacing: -.045em; color: var(--nv-ink); font-family: 'Readex Pro', sans-serif !important; }
.nv-brand__word small { font-size: 8.5px; font-weight: 500; letter-spacing: .42em; color: var(--nv-muted); margin-top: 4px; padding-left: 1px; text-transform: uppercase; }
.nv-brand--light .nv-brand__word { color: #fff; }
.nv-brand--light .nv-brand__word small { color: #A7ACCB; }
.nv-logo:hover .nv-brand__spark { animation: nv-twinkle .8s ease; }
@keyframes nv-twinkle { 50% { transform: scale(1.35); transform-origin: 35px 13px; opacity: .7; } }

/* Top bar */
.nv-topbar { background: var(--nv-ink); }
.nv-topbar__msg .nv-ico { color: var(--nv-coral); }

/* Header & search */
.nv-header { border-bottom-color: transparent; box-shadow: 0 1px 0 var(--nv-line); }
.nv-search { border: 1.5px solid var(--nv-line); background: var(--nv-bg); height: 50px; }
.nv-search:focus-within { background: #fff; border-color: var(--nv-primary); box-shadow: 0 0 0 4px rgba(79, 61, 255, .14); }
.nv-search__go { background: var(--nv-primary); height: 40px; box-shadow: 0 6px 14px rgba(79, 61, 255, .3); }
.nv-search__go:hover { background: var(--nv-primary-600); }
.nv-mega__btn { background: var(--nv-primary-50); color: var(--nv-primary); }
.nv-mega:hover .nv-mega__btn, .nv-mega:focus-within .nv-mega__btn { background: var(--nv-primary); color: #fff; }
.nv-badge { background: var(--nv-coral); }
.nv-chip--hot { background: var(--nv-coral-50); color: var(--nv-coral); }
.nv-chip--hot:hover { background: var(--nv-coral); color: #fff; }
.nv-chip:hover { background: var(--nv-primary-50); color: var(--nv-primary); }

/* Buttons */
.nv-btn--primary { background: var(--nv-primary); }
.nv-btn--primary:hover { background: var(--nv-primary-600); box-shadow: 0 10px 24px rgba(79, 61, 255, .32); }
.nv-btn--light:hover { color: var(--nv-primary); }

/* Hero — midnight aurora */
.nv-hero__main {
    background:
        radial-gradient(700px 380px at 88% -10%, rgba(124, 92, 255, .75), transparent 60%),
        radial-gradient(520px 340px at 105% 110%, rgba(255, 77, 94, .45), transparent 60%),
        radial-gradient(500px 300px at -5% 105%, rgba(58, 34, 224, .55), transparent 60%),
        linear-gradient(135deg, #0B1026 0%, #151A44 55%, #1E1760 100%);
    border: 1px solid rgba(255, 255, 255, .06);
}
[dir="rtl"] .nv-hero__main {
    background:
        radial-gradient(700px 380px at 12% -10%, rgba(124, 92, 255, .75), transparent 60%),
        radial-gradient(520px 340px at -5% 110%, rgba(255, 77, 94, .45), transparent 60%),
        radial-gradient(500px 300px at 105% 105%, rgba(58, 34, 224, .55), transparent 60%),
        linear-gradient(225deg, #0B1026 0%, #151A44 55%, #1E1760 100%);
}
.nv-hero__main::after { background-image: radial-gradient(rgba(255, 255, 255, .09) 1px, transparent 1px); }
.nv-eyebrow { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); color: #E4E1FF; backdrop-filter: blur(8px); }
.nv-eyebrow .nv-ico { color: #FFB86B; }
.nv-hero__title { font-weight: 700; letter-spacing: -.03em; }
.nv-hero__title em { background: linear-gradient(90deg, #FF8A9A, #FFB86B); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nv-hero__sub { color: rgba(228, 225, 255, .78); }
.nv-hero__tile { border: 1px solid rgba(255, 255, 255, .18); box-shadow: 0 30px 60px rgba(4, 6, 30, .55); }
.nv-hero__tag { background: rgba(255, 255, 255, .92); backdrop-filter: blur(6px); }
.nv-hero__art::before { content: ""; position: absolute; inset: 10% 15%; background: radial-gradient(closest-side, rgba(124, 92, 255, .6), transparent); filter: blur(20px); z-index: -1; }

/* Side cards */
.nv-welcome, .nv-mini, .nv-trust, .nv-cat, .nv-deals, .nv-spot { border: 1px solid var(--nv-line); box-shadow: none; }
.nv-welcome__ic { background: linear-gradient(135deg, var(--nv-primary-50), var(--nv-coral-50)); color: var(--nv-primary); }
.nv-welcome__item b { color: var(--nv-ink); }
.nv-mini__ic { background: var(--nv-primary-50); color: var(--nv-primary); }
.nv-mini:hover, .nv-cat:hover { box-shadow: var(--nv-shadow-lg); border-color: transparent; }

/* Trust strip */
.nv-trust .nv-ico { color: var(--nv-primary); width: 24px; height: 24px; }
.nv-trust li > .nv-ico { box-sizing: content-box; padding: 10px; border-radius: 12px; background: var(--nv-primary-50); }

/* Section titles */
.nv-section__head h2, .nv-deals__title h2 { font-weight: 700; letter-spacing: -.02em; }

/* Deals */
.nv-deals { background: linear-gradient(180deg, #FFF3F4 0, #fff 150px); }
.nv-deals__bolt { background: linear-gradient(135deg, var(--nv-coral), var(--nv-accent)); box-shadow: 0 8px 18px rgba(255, 77, 94, .35); }
.nv-countdown i { background: var(--nv-ink); }
.nv-deal__price { color: var(--nv-coral); }
.nv-round:hover { background: var(--nv-primary); border-color: var(--nv-primary); }

/* Categories */
.nv-cat__img { box-shadow: inset 0 0 0 1px rgba(11, 16, 38, .04); }

/* Filters */
.nv-filter__btn.is-active { background: var(--nv-primary); border-color: var(--nv-primary); }
.nv-filter__btn:hover { border-color: var(--nv-primary); color: var(--nv-primary); }
.nv-filter__btn.is-active:hover { color: #fff; }

/* Product card */
.tpproduct.nv-card { border: 1px solid var(--nv-line); box-shadow: none; }
.tpproduct.nv-card:hover { border-color: transparent; box-shadow: var(--nv-shadow-lg); }
.nv-pill--sale { background: var(--nv-coral); }
.nv-card .nv-price:has(.nv-price__old) .nv-price__now { color: var(--nv-coral); }
.nv-save { background: var(--nv-coral-50); color: var(--nv-coral); }
.nv-quickadd { background: var(--nv-primary); box-shadow: 0 8px 18px rgba(79, 61, 255, .35); }
.nv-quickadd:hover { background: var(--nv-primary-600); }
.nv-tool.wishlist:hover, .nv-tool.wishlist.added-to-wishlist, .nv-tool.wishlist.active { background: var(--nv-coral); }
.nv-card__title a:hover { color: var(--nv-primary); }

/* Footer */
.nv-footer { background: var(--nv-ink); position: relative; overflow: hidden; }
.nv-footer::before { content: ""; position: absolute; width: 520px; height: 520px; inset-inline-end: -160px; top: -260px; background: radial-gradient(closest-side, rgba(79, 61, 255, .35), transparent); pointer-events: none; }
.nv-footer .container { position: relative; }
.nv-footer__tagline { margin: 14px 0 0 !important; color: #fff !important; font-size: 18px !important; font-weight: 600; }
.nv-footer__badges .nv-ico, .nv-footer__phone:hover { color: #9C8CFF; }

/* Breadcrumb */
.nv-crumbs__trail a:hover { color: var(--nv-primary); }

/* Theme-wide accents (product page, cart, checkout) */
.tp-btn, .tpproduct-details__cart-btn, .tpcart__checkout-btn a, .tp-checkout-btn, .tpcart-btn { background-color: var(--nv-primary) !important; border-color: var(--nv-primary) !important; color: #fff !important; }
.tpproduct-details__price, .tpproduct-details__price span, .tpcart__content-price, .tpcart__total-price { color: var(--nv-ink); }
.tpproduct-details__price .product-price-sale, .tpproduct-details__price .bb-product-price-text { color: var(--nv-coral) !important; }
.tpcartinfo .tpcart__title { font-family: var(--nv-font) !important; }

@media (max-width: 991.98px) {
    .nv-brand__word { font-size: 24px; }
    .nv-brand__mark { width: 36px; height: 36px; }
}
.nv-topbar__switchers > div > ul > li > button, .nv-footer__switchers > div > ul > li > button,
.nv-topbar__switchers > div > ul > li > a, .nv-footer__switchers > div > ul > li > a { color: #cbd5e1 !important; background: none !important; border: 0 !important; display: inline-flex; align-items: center; gap: 6px; }
.nv-topbar__switchers ul, .nv-footer__switchers ul { margin: 0; padding: 0; list-style: none; }
.nv-badge.is-zero { display: none; }

/* Responsive hardening (v2.1) */
html, body { overflow-x: clip; }
.nv-header__inner { position: relative; }
.nv-mega { position: static; }
.nv-mega__panel { top: 100%; inset-inline-start: 12px; width: min(880px, calc(100% - 24px)); }
.nv-mega__panel::before { top: -18px; height: 18px; }
.contact-form-row { margin-inline: 0 !important; }
.contact-area .row, .tpcontact__form .row { --bs-gutter-x: 1rem; }
.nv-faq-contact { margin: 48px 0 20px; font-size: 22px; font-weight: 700; }
.nv-desc { line-height: 1.8; color: var(--nv-ink-2); }
.nv-desc ul { padding-inline-start: 20px; margin: 12px 0; }
.nv-desc li { margin-bottom: 6px; }
.nv-note { color: var(--nv-muted); font-size: 13px; }
.nv-table-wrap { overflow-x: auto; margin: 16px 0; border: 1px solid var(--nv-line); border-radius: 12px; }
.nv-size-table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 420px; }
.nv-size-table th, .nv-size-table td { padding: 10px 12px; text-align: center; border-bottom: 1px solid var(--nv-line); }
.nv-size-table th { background: var(--nv-bg); font-weight: 600; }
.nv-size-table tr:last-child td { border-bottom: 0; }
.nv-desc-gallery img { max-width: 100%; height: auto; display: block; margin: 0 auto 10px; border-radius: 10px; }
.ck-content img, .tpproduct-details__content img, #description img { max-width: 100%; height: auto; }
.ck-content table { max-width: 100%; display: block; overflow-x: auto; }
@media (max-width: 1199.98px) { .site-notice.site-notice-full-width { bottom: 80px !important; } }
.nv-topbar__msg { min-width: 0; flex: 1; }
.nv-topbar__msg span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nv-topbar__links { flex-shrink: 0; }
.nv-topbar__links > a, .nv-topbar__switchers * { white-space: nowrap; }
.nv-footer__legal { display: flex; gap: 18px; flex-wrap: wrap; }
.nv-footer__legal a { color: #94a3b8; font-size: 13px; }
.nv-footer__legal a:hover { color: #fff; }
/* Legal pages & blog articles */
.nv-legal, .nv-article { max-width: 820px; margin: 0 auto; font-size: 16px; line-height: 1.9; color: var(--nv-ink-2); }
.nv-legal h2, .nv-article h2 { font-size: 20px; font-weight: 700; color: var(--nv-ink); margin: 32px 0 10px; }
.nv-legal h2:first-child { margin-top: 0; }
.nv-legal ul, .nv-article ul { padding-inline-start: 22px; }
.nv-legal a, .nv-article a { color: var(--nv-primary); text-decoration: underline; text-underline-offset: 3px; }

/* ===== Media & motion (v2.3) ===== */
.nv-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .22; mix-blend-mode: luminosity; pointer-events: none; }
.nv-hero__main > .nv-hero__copy, .nv-hero__main > .nv-hero__art { position: relative; z-index: 1; }
@keyframes nv-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -8px; } }
.nv-hero__tile--1 { animation: nv-float 6s ease-in-out infinite; }
.nv-hero__tile--2 { animation: nv-float 7s ease-in-out -2s infinite; }
.nv-hero__tile--3 { animation: nv-float 6.5s ease-in-out -4s infinite; }

.nv-collections { display: grid; grid-template-columns: 1.7fr 1fr .8fr; gap: 16px; min-height: 380px; }
.nv-collect { position: relative; display: block; overflow: hidden; border-radius: 24px; background: var(--nv-ink); color: #fff; isolation: isolate; min-height: 220px; }
.nv-collect:hover { color: #fff; }
.nv-collect video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .8s ease; }
.nv-collect:hover video { transform: scale(1.05); }
.nv-collect::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(11, 16, 38, .88) 0%, rgba(11, 16, 38, .35) 45%, rgba(11, 16, 38, .05) 75%); }
.nv-collect__body { position: absolute; inset-inline: 0; bottom: 0; padding: 22px; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.nv-collect__tag { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 999px; background: rgba(255, 255, 255, .16); backdrop-filter: blur(8px); border: 1px solid rgba(255, 255, 255, .22); font-size: 12px; font-weight: 600; }
.nv-collect b { font-size: 22px; font-weight: 700; line-height: 1.25; letter-spacing: -.01em; }
.nv-collect--wide b { font-size: 30px; }
.nv-collect small { font-size: 14px; color: rgba(255, 255, 255, .82); }
.nv-collect__cta { margin-top: 8px; display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 18px; border-radius: 999px; background: #fff; color: var(--nv-ink); font-weight: 600; font-size: 14px; transition: background .15s, color .15s; }
.nv-collect:hover .nv-collect__cta { background: var(--nv-primary); color: #fff; }

.nv-marquee { overflow: hidden; }
.nv-marquee__track { display: flex; width: max-content; animation: nv-marquee 45s linear infinite; }
[dir="rtl"] .nv-marquee__track { animation-name: nv-marquee-rtl; }
.nv-marquee:hover .nv-marquee__track, .nv-marquee:focus-within .nv-marquee__track { animation-play-state: paused; }
.nv-marquee__group { display: flex; gap: 14px; padding-inline-end: 14px; }
.nv-marquee__item { position: relative; flex: 0 0 auto; width: 150px; border-radius: 18px; overflow: hidden; background: #fff; border: 1px solid var(--nv-line); }
.nv-marquee__item img { width: 150px; height: 150px; object-fit: cover; display: block; transition: transform .4s ease; }
.nv-marquee__item:hover img { transform: scale(1.06); }
.nv-marquee__item b { position: absolute; bottom: 8px; inset-inline-start: 8px; padding: 4px 9px; border-radius: 999px; background: rgba(255, 255, 255, .95); color: var(--nv-ink); font-size: 12.5px; direction: ltr; box-shadow: 0 2px 8px rgba(0, 0, 0, .12); }
@keyframes nv-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes nv-marquee-rtl { from { transform: translateX(0); } to { transform: translateX(50%); } }

[data-nv-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
[data-nv-reveal].is-visible { opacity: 1; transform: none; }
html.nv-no-motion [data-nv-reveal] { opacity: 1; transform: none; }

@media (max-width: 991.98px) {
    .nv-collections { grid-template-columns: 1fr 1fr; min-height: 0; }
    .nv-collect--wide { grid-column: 1 / -1; min-height: 300px; }
    .nv-collect { min-height: 260px; }
}
@media (max-width: 767.98px) {
    .nv-collections { grid-template-columns: 1fr 1fr; gap: 10px; }
    .nv-collect { min-height: 230px; border-radius: 20px; }
    .nv-collect--wide { min-height: 260px; }
    .nv-collect--wide b { font-size: 23px; }
    .nv-collect b { font-size: 17px; }
    .nv-collect__body { padding: 14px; }
    .nv-collect small { display: none; }
    .nv-collect--wide small { display: block; }
    .nv-marquee__item, .nv-marquee__item img { width: 120px; }
    .nv-marquee__item img { height: 120px; }
    .nv-hero__video { opacity: .16; }
}
@media (prefers-reduced-motion: reduce) {
    .nv-marquee__track { animation: none; }
    [data-nv-reveal] { opacity: 1; transform: none; }
}
.nv-empty { max-width: 460px; margin: 20px auto 40px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 36px 24px; border: 1px dashed var(--nv-line); border-radius: 24px; background: linear-gradient(180deg, var(--nv-primary-50), #fff 60%); }
.nv-empty__ic { width: 84px; height: 84px; border-radius: 26px; background: #fff; color: var(--nv-primary); display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 12px 30px rgba(79, 61, 255, .18); margin-bottom: 8px; }
.nv-empty h3 { margin: 0; font-size: 22px; font-weight: 700; color: var(--nv-ink); }
.nv-empty p { margin: 0 0 10px; color: var(--nv-muted); }

/* ===== Auth pages (login / register / password) ===== */
.nv-auth { padding: 8px 0 56px; }
.nv-auth__card { display: grid; grid-template-columns: 1fr 1fr; min-height: 620px; background: #fff; border: 1px solid var(--nv-line); border-radius: 28px; overflow: hidden; box-shadow: var(--nv-shadow-lg); }
.nv-auth__media { position: relative; overflow: hidden; color: #fff; isolation: isolate; background: var(--nv-ink); }
.nv-auth__media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.nv-auth__media::after { content: ""; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(160deg, rgba(79, 61, 255, .78) 0%, rgba(11, 16, 38, .72) 55%, rgba(11, 16, 38, .92) 100%); }
.nv-auth__media-inner { height: 100%; padding: 40px; display: flex; flex-direction: column; justify-content: space-between; gap: 28px; }
.nv-auth__pitch h2 { color: #fff; font-size: 34px; font-weight: 700; letter-spacing: -.02em; margin: 0 0 10px; }
.nv-auth__pitch > p { color: rgba(255, 255, 255, .82); font-size: 16px; line-height: 1.7; margin: 0 0 26px; max-width: 420px; }
.nv-auth__benefits { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.nv-auth__benefits li { display: flex; align-items: center; gap: 12px; font-size: 15px; font-weight: 500; }
.nv-auth__benefits span { width: 36px; height: 36px; flex-shrink: 0; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .2); backdrop-filter: blur(6px); }
.nv-auth__secure { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; color: rgba(255, 255, 255, .72); }

.nv-auth__form { padding: 44px 48px; display: flex; flex-direction: column; justify-content: center; }
.nv-auth__mobile-brand { display: none; margin-bottom: 18px; }
.nv-auth__tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; margin-bottom: 26px; border-radius: 14px; background: var(--nv-bg); }
.nv-auth__tabs a { height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 11px; font-weight: 600; font-size: 14.5px; color: var(--nv-muted); transition: background .15s, color .15s, box-shadow .15s; }
.nv-auth__tabs a:hover { color: var(--nv-ink); }
.nv-auth__tabs a.is-active { background: #fff; color: var(--nv-primary); box-shadow: 0 2px 10px rgba(11, 16, 38, .08); }

.nv-auth .auth-card__header { margin-bottom: 20px; }
.nv-auth .auth-card__header-title { font-size: 26px !important; font-weight: 700; color: var(--nv-ink); margin: 0 0 6px !important; }
.nv-auth .auth-card__header-description { font-size: 14px; line-height: 1.7; color: var(--nv-muted) !important; margin: 0; }
.nv-auth .auth-card__header-icon { display: none !important; }
.nv-auth .auth-card__header > div { display: block !important; text-align: start !important; }
.nv-auth .form-label { font-size: 13.5px; font-weight: 600; color: var(--nv-ink-2); margin-bottom: 6px; }
.nv-auth .form-control, .nv-auth .form-select { height: 50px; border-radius: 13px !important; border: 1.5px solid var(--nv-line); background-color: var(--nv-bg); font-size: 15px; padding-inline: 44px 14px; transition: border-color .15s, box-shadow .15s, background-color .15s; box-shadow: none; }
.nv-auth .form-control:focus, .nv-auth .form-select:focus { background-color: #fff; border-color: var(--nv-primary); box-shadow: 0 0 0 4px rgba(79, 61, 255, .12); }
.nv-auth .input-group, .nv-auth .input-icon, .nv-auth .position-relative { position: relative; }
.nv-auth .input-icon-addon, .nv-auth .input-group-text { position: absolute; inset-inline-start: 0; top: 0; bottom: 0; width: 44px; display: flex; align-items: center; justify-content: center; background: none; border: 0; color: var(--nv-muted); z-index: 5; pointer-events: none; }
.nv-auth .mb-3 { margin-bottom: 16px !important; }
.nv-auth .form-check-input { width: 18px; height: 18px; border-radius: 6px; border-color: #c7cbd8; }
.nv-auth .form-check-input:checked { background-color: var(--nv-primary); border-color: var(--nv-primary); }
.nv-auth .form-check-label { font-size: 14px; color: var(--nv-ink-2); }
.nv-auth a.text-decoration-underline { color: var(--nv-primary); font-weight: 500; }
.nv-auth__submit, .nv-auth button[type="submit"] { width: 100%; height: 52px; border: 0; border-radius: 14px !important; background: var(--nv-primary) !important; color: #fff !important; font-weight: 700; font-size: 16px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; box-shadow: 0 10px 24px rgba(79, 61, 255, .3); transition: background .15s, transform .15s; }
.nv-auth__submit:hover, .nv-auth button[type="submit"]:hover { background: var(--nv-primary-600) !important; transform: translateY(-1px); }
.nv-auth .text-center { font-size: 14px; color: var(--nv-muted); }
.nv-auth .alert { border-radius: 12px; font-size: 14px; }
.nv-auth .login-options, .nv-auth .social-login-basic { margin-top: 18px; }
.nv-auth .social-login-basic a, .nv-auth .login-options a { border-radius: 12px !important; }

/* Order tracking page gets the same polish */
.track-area .tptrack__product, .track-area .tptrack__content { border-radius: 24px !important; overflow: hidden; }
.track-area input { height: 50px; border-radius: 13px !important; border: 1.5px solid var(--nv-line) !important; background: var(--nv-bg) !important; }
.track-area input:focus { border-color: var(--nv-primary) !important; background: #fff !important; box-shadow: 0 0 0 4px rgba(79, 61, 255, .12); }
.track-area .tptrack__submition { border-radius: 14px !important; height: 52px; background: var(--nv-primary) !important; box-shadow: 0 10px 24px rgba(79, 61, 255, .3); }

/* Blog share buttons: wrap instead of overflowing on small phones */
.bb-social-sharing { flex-wrap: wrap !important; max-width: 100%; }

@media (max-width: 991.98px) {
    .nv-auth__card { grid-template-columns: 1fr; min-height: 0; }
    .nv-auth__media { min-height: 0; }
    .nv-auth__media-inner { padding: 26px; gap: 16px; }
    .nv-auth__pitch h2 { font-size: 24px; }
    .nv-auth__pitch > p { margin-bottom: 14px; font-size: 14.5px; }
    .nv-auth__benefits { grid-template-columns: 1fr 1fr; gap: 10px; }
    .nv-auth__benefits li { font-size: 13px; }
    .nv-auth__secure { display: none; }
    .nv-auth__form { padding: 30px 26px; }
}
@media (max-width: 575.98px) {
    .nv-auth { padding-top: 0; }
    .nv-auth__card { border-radius: 22px; }
    .nv-auth__media { display: none; }
    .nv-auth__mobile-brand { display: block; }
    .nv-auth__form { padding: 24px 18px 28px; }
    .nv-auth .auth-card__header-title { font-size: 22px !important; }
}
.nv-auth .auth-card, .nv-auth .auth-card.card { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; }
.nv-auth .auth-card__header, .nv-auth .auth-card__body { padding: 0 !important; background: none !important; }
.nv-auth .form-control, .nv-auth .form-select { background-color: var(--nv-bg) !important; border: 1.5px solid var(--nv-line) !important; }
.nv-auth .form-control:focus, .nv-auth .form-select:focus { background-color: #fff !important; border-color: var(--nv-primary) !important; }

/* ===== Customer account area ===== */
body:has(.bb-customer-sidebar-wrapper) .pt-80 { padding-top: 32px !important; }
.bb-customer-sidebar-wrapper { background: #fff !important; border: 1px solid var(--nv-line) !important; border-radius: 22px !important; overflow: hidden; box-shadow: var(--nv-shadow); }
.bb-customer-sidebar-heading { background: linear-gradient(135deg, var(--nv-primary-50), #fff) !important; border-bottom: 1px solid var(--nv-line); }
.bb-customer-sidebar-heading .name { color: var(--nv-ink); font-size: 15px; }
.bb-customer-sidebar-wrapper .wrapper-image img, .bb-customer-profile-wrapper img { border-radius: 50% !important; box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--nv-primary-50); }
.bb-customer-navigation .nav-item a, .bb-customer-navigation a { display: flex; align-items: center; gap: 10px; padding: 11px 14px !important; margin-bottom: 4px; border-radius: 12px !important; color: var(--nv-ink-2) !important; font-weight: 500; font-size: 14.5px; transition: background .15s, color .15s; }
.bb-customer-navigation a:hover { background: var(--nv-bg) !important; color: var(--nv-primary) !important; }
.bb-customer-navigation a.active, .bb-customer-navigation .active > a, .bb-customer-navigation a[aria-current="page"] { background: var(--nv-primary) !important; color: #fff !important; box-shadow: 0 8px 18px rgba(79, 61, 255, .28); }
.bb-customer-navigation a.active .nav-icon, .bb-customer-navigation .active > a .nav-icon { color: #fff !important; }
.bb-customer-profile-wrapper { border: 1px solid var(--nv-line) !important; border-radius: 22px !important; background: linear-gradient(135deg, var(--nv-primary-50), #fff 70%) !important; padding: 22px !important; }
body:has(.bb-customer-sidebar-wrapper) .card { border-radius: 20px !important; border: 1px solid var(--nv-line) !important; box-shadow: none; }
body:has(.bb-customer-sidebar-wrapper) .card.bg-warning, body:has(.bb-customer-sidebar-wrapper) .card.bg-success,
body:has(.bb-customer-sidebar-wrapper) .card.bg-primary, body:has(.bb-customer-sidebar-wrapper) .card.bg-info { background: #fff !important; transition: box-shadow .2s, transform .2s; }
body:has(.bb-customer-sidebar-wrapper) .card.bg-warning:hover, body:has(.bb-customer-sidebar-wrapper) .card.bg-success:hover, body:has(.bb-customer-sidebar-wrapper) .card.bg-primary:hover { box-shadow: var(--nv-shadow-lg); transform: translateY(-3px); }
body:has(.bb-customer-sidebar-wrapper) .card.bg-info { background: linear-gradient(135deg, #0B1026, #1E1760) !important; color: #fff; border: 0 !important; }
body:has(.bb-customer-sidebar-wrapper) .card.bg-info .text-muted, body:has(.bb-customer-sidebar-wrapper) .card.bg-info h5, body:has(.bb-customer-sidebar-wrapper) .card.bg-info .card-title { color: rgba(255, 255, 255, .85) !important; }
body:has(.bb-customer-sidebar-wrapper) .rounded-circle.bg-warning, body:has(.bb-customer-sidebar-wrapper) .rounded-circle.bg-success,
body:has(.bb-customer-sidebar-wrapper) .rounded-circle.bg-primary, body:has(.bb-customer-sidebar-wrapper) .rounded-circle.bg-info { background: var(--nv-primary-50) !important; color: var(--nv-primary) !important; border-radius: 16px !important; }
body:has(.bb-customer-sidebar-wrapper) .rounded-circle .text-white, body:has(.bb-customer-sidebar-wrapper) .rounded-circle svg { color: var(--nv-primary) !important; }
body:has(.bb-customer-sidebar-wrapper) .btn { border-radius: 12px !important; font-weight: 600; padding: 9px 16px; }
body:has(.bb-customer-sidebar-wrapper) .btn-warning, body:has(.bb-customer-sidebar-wrapper) .btn-success, body:has(.bb-customer-sidebar-wrapper) .btn-primary,
body:has(.bb-customer-sidebar-wrapper) .btn-info { background: var(--nv-primary) !important; border-color: var(--nv-primary) !important; color: #fff !important; }
body:has(.bb-customer-sidebar-wrapper) .card.bg-info .btn-info { background: #fff !important; color: var(--nv-ink) !important; border-color: #fff !important; }
body:has(.bb-customer-sidebar-wrapper) .form-control, body:has(.bb-customer-sidebar-wrapper) .form-select { height: 48px; border-radius: 12px !important; border: 1.5px solid var(--nv-line) !important; background-color: var(--nv-bg) !important; }
body:has(.bb-customer-sidebar-wrapper) textarea.form-control { height: auto; }
body:has(.bb-customer-sidebar-wrapper) .form-control:focus, body:has(.bb-customer-sidebar-wrapper) .form-select:focus { background-color: #fff !important; border-color: var(--nv-primary) !important; box-shadow: 0 0 0 4px rgba(79, 61, 255, .12); }
body:has(.bb-customer-sidebar-wrapper) .form-control:disabled { opacity: .75; }
body:has(.bb-customer-sidebar-wrapper) .card-header { background: none !important; border-bottom: 1px solid var(--nv-line); padding: 18px 20px; }
body:has(.bb-customer-sidebar-wrapper) .table { border-radius: 14px; overflow: hidden; }
body:has(.bb-customer-sidebar-wrapper) .badge { border-radius: 999px; padding: 6px 10px; font-weight: 600; }

/* Empty states inside the account area */
.bb-empty-state, body:has(.bb-customer-sidebar-wrapper) .text-center:has(> img[src*="empty"]) { padding: 36px 20px !important; }
body:has(.bb-customer-sidebar-wrapper) .card-body img[src*="empty"], body:has(.bb-customer-sidebar-wrapper) img[alt*="empty" i] { width: 96px !important; height: 96px !important; object-fit: contain; border-radius: 28px; background: var(--nv-primary-50); padding: 16px; }

/* ===== Cart page ===== */
.cart-area { padding-top: 32px !important; padding-bottom: 56px !important; }
.cart-area .table-content { background: #fff; border: 1px solid var(--nv-line); border-radius: 22px; overflow: hidden; box-shadow: var(--nv-shadow); margin-bottom: 24px; }
.cart-area .table-content .table { margin: 0; }
.cart-area .table-content thead th { background: var(--nv-bg) !important; border: 0 !important; font-size: 13.5px; font-weight: 600; color: var(--nv-muted); padding: 14px 16px !important; text-transform: none; }
.cart-area .table-content tbody td { border: 0 !important; border-top: 1px solid var(--nv-line) !important; padding: 18px 16px !important; vertical-align: middle; }
.cart-area .product-thumbnail img { width: 84px !important; height: 84px; object-fit: cover; border-radius: 14px; }
.cart-area .product-name a { font-weight: 600; color: var(--nv-ink); }
.cart-area .product-name .variation-group, .cart-area .product-name small { color: var(--nv-muted); }
.cart-area .product-price, .cart-area .product-subtotal { font-weight: 700; color: var(--nv-ink); direction: ltr; }
.cart-area .product-quantity > div, .cart-area .product-quantity .cart-plus-minus { display: inline-flex; align-items: center; border: 1.5px solid var(--nv-line); border-radius: 999px; overflow: hidden; background: var(--nv-bg); }
.cart-area .cart-minus, .cart-area .cart-plus { width: 36px; height: 38px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; font-weight: 700; color: var(--nv-ink-2); border: 0 !important; background: none !important; }
.cart-area .cart-minus:hover, .cart-area .cart-plus:hover { color: var(--nv-primary); }
.cart-area .cart-input { width: 44px !important; height: 38px; border: 0 !important; background: transparent !important; text-align: center; font-weight: 700; }
.cart-area .remove-cart-item { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--nv-coral-50); color: var(--nv-coral) !important; transition: background .15s, color .15s; }
.cart-area .remove-cart-item:hover { background: var(--nv-coral); color: #fff !important; }
.cart-area .coupon-all { background: #fff; border: 1px solid var(--nv-line); border-radius: 18px; padding: 16px; margin-bottom: 20px; }
.cart-area .coupon { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.cart-area .coupon .input-text, .cart-area .coupon input { height: 48px; flex: 1; min-width: 180px; border: 1.5px solid var(--nv-line) !important; border-radius: 12px !important; background: var(--nv-bg) !important; padding: 0 14px; }
.cart-area .tp-btn { height: 48px; border-radius: 12px !important; padding: 0 22px !important; background: var(--nv-primary) !important; color: #fff !important; font-weight: 600; border: 0 !important; display: inline-flex; align-items: center; justify-content: center; }
.cart-area .tp-btn:hover { background: var(--nv-primary-600) !important; }
.cart-area .cart-page-total { background: #fff; border: 1px solid var(--nv-line); border-radius: 22px; padding: 24px !important; box-shadow: var(--nv-shadow); }
.cart-area .cart-page-total h2 { font-size: 20px; font-weight: 700; margin-bottom: 14px; }
.cart-area .cart-page-total ul { border: 0 !important; margin-bottom: 18px !important; }
.cart-area .cart-page-total li { border: 0 !important; border-bottom: 1px dashed var(--nv-line) !important; padding: 12px 0 !important; font-size: 15px; background: none !important; }
.cart-area .cart-page-total li:last-child { border-bottom: 0 !important; font-size: 17px; font-weight: 700; color: var(--nv-ink); }
.cart-area .cart-page-total .tp-btn { width: 100%; height: 52px; font-size: 16px; box-shadow: 0 10px 24px rgba(79, 61, 255, .3); }
@media (max-width: 767.98px) {
    .cart-area .product-thumbnail img { width: 64px !important; height: 64px; }
    .cart-area .table-content tbody td { padding: 12px 10px !important; }
}

/* ===================== Header v3 ===================== */
.nv-topbar { background: linear-gradient(90deg, #0B1026, #171A45 50%, #0B1026); }
.nv-topbar__inner { min-height: 38px; }
.nv-ticker { position: relative; flex: 1; min-width: 0; height: 38px; overflow: hidden; }
.nv-ticker__item { position: absolute; inset: 0; margin: 0; display: flex; align-items: center; gap: 8px; color: #E4E1FF; font-size: 13px; opacity: 0; transform: translateY(100%); transition: opacity .45s ease, transform .45s ease; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nv-ticker__item.is-active { opacity: 1; transform: none; }
.nv-ticker__item.is-leaving { opacity: 0; transform: translateY(-100%); }
.nv-ticker__item .nv-ico { color: #FFB86B; }
.nv-topbar__links > a { display: inline-flex; align-items: center; gap: 6px; }
.nv-topbar__sep { width: 1px; height: 16px; background: rgba(255, 255, 255, .18); }

.nv-header { transition: box-shadow .25s ease, background .25s ease; }
.nv-header__inner { transition: min-height .25s ease; }
.nv-header.is-scrolled { box-shadow: 0 10px 30px rgba(11, 16, 38, .08); }
.nv-header.is-scrolled .nv-header__inner { min-height: 64px; }
.nv-catbar { max-height: 60px; overflow: hidden; transition: max-height .3s ease, opacity .25s ease, border-color .25s; }
.nv-header.is-compact .nv-catbar { max-height: 0; opacity: 0; border-top-color: transparent; }

/* Mega menu refinements */
.nv-mega__caret { transition: transform .2s ease; }
.nv-mega:hover .nv-mega__caret, .nv-mega:focus-within .nv-mega__caret { transform: rotate(180deg); }
.nv-mega__pane { display: none; flex-direction: column; }
.nv-mega__pane.is-active { display: flex; }
.nv-mega__subs { flex: 1; align-content: start; }
.nv-mega__promo { margin-top: 18px; display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 16px; background: linear-gradient(135deg, var(--nv-coral-50), var(--nv-primary-50)); color: var(--nv-ink); }
.nv-mega__promo:hover { color: var(--nv-ink); box-shadow: var(--nv-shadow); }
.nv-mega__promo > span:nth-child(2) { flex: 1; display: flex; flex-direction: column; }
.nv-mega__promo b { font-size: 15px; }
.nv-mega__promo small { color: var(--nv-muted); font-size: 12.5px; }
.nv-mega__promo-ic { width: 40px; height: 40px; border-radius: 12px; background: linear-gradient(135deg, var(--nv-coral), var(--nv-accent)); color: #fff; display: inline-flex; align-items: center; justify-content: center; }

/* Search suggestions */
.nv-search__suggest { position: absolute; top: calc(100% + 8px); inset-inline: 0; z-index: 999; background: #fff; border: 1px solid var(--nv-line); border-radius: 18px; box-shadow: var(--nv-shadow-lg); padding: 16px; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s, transform .18s, visibility .18s; }
.nv-search.is-suggesting .nv-search__suggest { opacity: 1; visibility: visible; transform: none; }
.nv-search__suggest > p { margin: 0 0 10px; font-size: 13px; font-weight: 600; color: var(--nv-muted); display: flex; align-items: center; gap: 6px; }
.nv-search__suggest > div { display: flex; flex-wrap: wrap; gap: 8px; }
.nv-search__suggest a { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: 999px; background: var(--nv-bg); color: var(--nv-ink-2); font-size: 14px; font-weight: 500; transition: background .15s, color .15s; }
.nv-search__suggest a:hover { background: var(--nv-primary-50); color: var(--nv-primary); }
.nv-search input.input-search-product::placeholder { transition: opacity .3s; }
.nv-search input.is-hint-fade::placeholder { opacity: 0; }

/* Account dropdown */
.nv-account { position: relative; }
.nv-avatar { width: 34px; height: 34px; border-radius: 50%; background: linear-gradient(135deg, #6D5BFF, #3A22E0); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; }
.nv-account__panel { position: absolute; top: calc(100% + 10px); inset-inline-end: 0; width: 280px; z-index: 1000; background: #fff; border: 1px solid var(--nv-line); border-radius: 20px; box-shadow: var(--nv-shadow-lg); padding: 14px; display: flex; flex-direction: column; gap: 6px; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s, transform .18s, visibility .18s; }
.nv-account__panel::before { content: ""; position: absolute; top: -12px; inset-inline: 0; height: 12px; }
.nv-account:hover .nv-account__panel, .nv-account:focus-within .nv-account__panel { opacity: 1; visibility: visible; transform: none; }
.nv-account__welcome, .nv-account__head { display: flex; flex-direction: column; gap: 2px; padding: 4px 6px 10px; }
.nv-account__welcome b, .nv-account__head b { font-size: 16px; color: var(--nv-ink); }
.nv-account__welcome small, .nv-account__head small { font-size: 12.5px; color: var(--nv-muted); overflow: hidden; text-overflow: ellipsis; }
.nv-account__panel .nv-btn { height: 44px; font-size: 14.5px; }
.nv-account__panel > a:not(.nv-btn), .nv-account__links a { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 12px; color: var(--nv-ink-2); font-size: 14.5px; font-weight: 500; }
.nv-account__panel > a:not(.nv-btn):hover, .nv-account__links a:hover { background: var(--nv-bg); color: var(--nv-primary); }
.nv-account__links { border-top: 1px solid var(--nv-line); margin-top: 6px; padding-top: 6px; }
.nv-account__out { border-top: 1px solid var(--nv-line); margin-top: 4px; color: var(--nv-coral) !important; }
@media (max-width: 991.98px) { .nv-account__panel { display: none; } }

/* Category strip */
.nv-catbar__sep { flex: 0 0 1px; height: 20px; align-self: center; background: var(--nv-line); margin-inline: 4px; }
.nv-chip .nv-ico { opacity: .75; }
.nv-chip.is-active { background: var(--nv-primary); color: #fff; }
.nv-chip.is-active .nv-ico { opacity: 1; }
.nv-chip--hot.is-active { background: var(--nv-coral); }

/* ===================== Footer v3 ===================== */
.nv-footer { padding-top: 0; margin-top: 64px; overflow: visible; }
.nv-footer::before { top: 0; }
.nv-news { position: relative; top: -48px; margin-bottom: -16px; display: grid; grid-template-columns: 1fr 1.1fr; gap: 28px; align-items: center; padding: 30px 34px; border-radius: 26px; color: #fff; overflow: hidden;
    background: radial-gradient(500px 240px at 90% -20%, rgba(255, 138, 61, .55), transparent 60%), radial-gradient(500px 260px at 0% 120%, rgba(255, 77, 94, .45), transparent 60%), linear-gradient(135deg, #4F3DFF, #3A22E0); box-shadow: 0 24px 50px rgba(58, 34, 224, .35); }
.nv-news__copy { display: flex; align-items: center; gap: 16px; }
.nv-news__ic { width: 54px; height: 54px; flex-shrink: 0; border-radius: 16px; background: rgba(255, 255, 255, .16); border: 1px solid rgba(255, 255, 255, .25); display: inline-flex; align-items: center; justify-content: center; }
.nv-news h3 { color: #fff; font-size: 24px; font-weight: 700; margin: 0 0 4px; }
.nv-news p { color: rgba(255, 255, 255, .85); margin: 0; font-size: 15px; }
.nv-news__form small { display: block; margin-top: 8px; color: rgba(255, 255, 255, .7); font-size: 12.5px; }
.nv-news form { margin: 0; }
.nv-news .input-group, .nv-news form > div:first-child { display: flex !important; flex-wrap: nowrap; gap: 6px; margin: 0 !important; padding: 6px; background: #fff; border-radius: 999px; }
.nv-news input[type="email"], .nv-news input.form-control { flex: 1; min-width: 0; height: 46px; border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 0 16px !important; font-size: 15px; color: var(--nv-ink); }
.nv-news button[type="submit"], .nv-news .btn { height: 46px; padding: 0 24px !important; border: 0 !important; border-radius: 999px !important; background: var(--nv-ink) !important; color: #fff !important; font-weight: 600; white-space: nowrap; }
.nv-news button[type="submit"]:hover { background: var(--nv-coral) !important; }
.nv-news .form-label, .nv-news label { display: none; }
.nv-news .invalid-feedback, .nv-news .text-danger { color: #FFE0E4 !important; }
.nv-news .captcha, .nv-news .g-recaptcha { margin-top: 8px; }

.nv-footer__grid { grid-template-columns: 1.6fr repeat(4, 1fr); padding-top: 24px; }
.nv-footer__contact { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 18px; }
.nv-footer__contact .nv-btn { height: 42px; font-size: 14px; }
.nv-footer__col summary { list-style: none; display: flex; align-items: center; justify-content: space-between; cursor: default; }
.nv-footer__col summary::-webkit-details-marker { display: none; }
.nv-footer__caret { display: none; color: #94a3b8; transition: transform .2s; }
.nv-footer__col a { display: inline-block; transition: color .15s, transform .15s; }
.nv-footer__col a:hover { transform: translateX(-3px); }
[dir="ltr"] .nv-footer__col a:hover { transform: translateX(3px); }
.nv-footer__trust { display: flex; flex-wrap: wrap; gap: 12px; padding: 22px 0; border-top: 1px solid rgba(148, 163, 184, .14); }
.nv-footer__trust span { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 999px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(148, 163, 184, .16); color: #cbd5e1; font-size: 13.5px; }
.nv-footer__trust .nv-ico { color: #9C8CFF; }
.nv-footer__bottom-end { display: flex; align-items: center; gap: 16px; }
.nv-totop { width: 40px; height: 40px; border-radius: 12px; border: 1px solid rgba(148, 163, 184, .25); background: rgba(255, 255, 255, .06); color: #fff; display: inline-flex; align-items: center; justify-content: center; transition: background .15s; }
.nv-totop:hover { background: var(--nv-primary); border-color: var(--nv-primary); }
.nv-totop__ic { transform: rotate(180deg); }
/* the theme's own floating scroll-top button is replaced by the footer button */
.scroll-top, #scroll-percentage, .back-to-top-wrapper, .progress-wrap { display: none !important; }

@media (max-width: 1199.98px) {
    .nv-footer__grid { grid-template-columns: repeat(4, 1fr); }
    .nv-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 991.98px) {
    .nv-news { grid-template-columns: 1fr; padding: 24px; top: -36px; }
}
@media (max-width: 767.98px) {
    .nv-footer { margin-top: 48px; }
    .nv-news { border-radius: 22px; padding: 22px 18px; }
    .nv-news h3 { font-size: 20px; }
    .nv-news__ic { display: none; }
    .nv-footer__grid { grid-template-columns: 1fr; gap: 0; padding: 8px 0 12px; }
    .nv-footer__brand { padding-bottom: 20px; }
    .nv-footer__col { border-top: 1px solid rgba(148, 163, 184, .14); }
    .nv-footer__col summary { cursor: pointer; padding: 16px 0; }
    .nv-footer__col summary h4 { margin: 0 !important; }
    .nv-footer__caret { display: block; }
    .nv-footer__col[open] .nv-footer__caret { transform: rotate(180deg); }
    .nv-footer__col ul { padding-bottom: 16px !important; }
    .nv-footer__trust { justify-content: center; }
    .nv-footer__trust span { font-size: 12.5px; height: 36px; padding: 0 12px; }
    .nv-footer__bottom-inner { flex-direction: column; gap: 12px; }
}
/* body overflow-x:hidden (theme) makes body a scroll container and breaks position:sticky — clip instead */
html, body { overflow-x: clip !important; overflow-y: visible !important; }

/* ===================== Drawers (menu / categories / search / cart) ===================== */
/* BUG FIX: closed drawers were only translated off-screen, so phones could drag/zoom to reveal them. */
.tpsideinfo, .tpcartinfo { visibility: hidden; transition: transform .35s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .35s !important; }
.tpsideinfo.tp-sidebar-opened, .tpcartinfo.tp-sidebar-opened { visibility: visible; transition: transform .35s cubic-bezier(.2, .8, .2, 1), visibility 0s !important; }
.tpsideinfo { left: auto !important; right: auto !important; inset-inline-start: 0 !important; top: 0; height: 100%; width: min(360px, 88vw) !important; padding: 0 !important; background: #fff !important; color: var(--nv-ink) !important; box-shadow: 0 0 60px rgba(11, 16, 38, .25); z-index: 99999 !important; overflow-y: auto; transform: translateX(-105%) !important; }
[dir="rtl"] .tpsideinfo { transform: translateX(105%) !important; }
.tpsideinfo.tp-sidebar-opened { transform: none !important; }
.tpcartinfo { left: auto !important; right: auto !important; inset-inline-end: 0 !important; top: 0; height: 100%; width: min(400px, 92vw) !important; background: #fff !important; box-shadow: 0 0 60px rgba(11, 16, 38, .25); z-index: 99999 !important; transform: translateX(105%) !important; display: flex; flex-direction: column; }
[dir="rtl"] .tpcartinfo { transform: translateX(-105%) !important; }
.tpcartinfo.tp-sidebar-opened { transform: none !important; }
.body-overlay, .cartbody-overlay { background: rgba(11, 16, 38, .5) !important; backdrop-filter: blur(3px); }

.tpsideinfo__close { position: sticky; top: 0; z-index: 2; width: 100%; height: 60px; display: flex !important; align-items: center; justify-content: space-between; gap: 8px; padding: 0 20px !important; background: #fff !important; color: var(--nv-ink) !important; border: 0 !important; border-bottom: 1px solid var(--nv-line) !important; font-weight: 700; font-size: 16px; }
.tpsideinfo__close i { width: 36px; height: 36px; border-radius: 50%; background: var(--nv-bg); display: inline-flex; align-items: center; justify-content: center; margin: 0 !important; font-size: 16px; }
.tpsideinfo__nabtab { padding: 8px 12px; margin: 0 !important; }
.tpsideinfo a, .tpsideinfo .mean-nav a, .tpsideinfo li a { color: var(--nv-ink-2) !important; }
.tpsideinfo ul { background: transparent !important; }
.tpsideinfo li { border: 0 !important; }
.tpsideinfo__nabtab li > a, .tpsideinfo .mean-nav ul li a { display: flex !important; align-items: center; min-height: 48px; padding: 0 12px !important; border-radius: 12px; border: 0 !important; font-size: 15.5px !important; font-weight: 500; text-transform: none !important; }
.tpsideinfo__nabtab li > a:hover, .tpsideinfo .mean-nav ul li a:hover { background: var(--nv-bg); color: var(--nv-primary) !important; }
.tpsideinfo .mean-expand, .tpsideinfo .menu-toggle-btn, .tpsideinfo button.toggle-sub-menu, .tpsideinfo .dropdown-toggle-btn { width: 34px !important; height: 34px !important; border-radius: 10px !important; background: var(--nv-bg) !important; color: var(--nv-ink) !important; border: 0 !important; display: inline-flex !important; align-items: center; justify-content: center; }
.tpsideinfo__wishlist-link, .tpsideinfo__account-link { margin: 0 12px !important; border-top: 1px solid var(--nv-line); }
.tpsideinfo__wishlist-link a, .tpsideinfo__account-link a { display: flex !important; align-items: center; gap: 10px; min-height: 50px; padding: 0 12px; font-weight: 500; }
.tpsideinfo__wishlist-link i, .tpsideinfo__account-link i { color: var(--nv-primary); width: 20px; }
.tpsideinfo__wishlist-link span { position: static !important; margin-inline-start: auto; }
.tpsideinfo__switcher { margin: 8px 12px 20px !important; padding: 12px; border-radius: 14px; background: var(--nv-bg); }
.tpsideinfo__switcher .nav-link { color: var(--nv-ink) !important; }
.tpsideinfo__search { padding: 16px 20px !important; }
.tpsideinfo__search-title { font-size: 18px; font-weight: 700; color: var(--nv-ink) !important; }
.tpsideinfo__search input { height: 50px; border-radius: 14px !important; border: 1.5px solid var(--nv-line) !important; background: var(--nv-bg) !important; color: var(--nv-ink) !important; }

.tpcart { display: flex; flex-direction: column; height: 100%; padding: 0 !important; }
.tpcart__close { position: absolute; top: 12px; inset-inline-end: 14px; width: 38px; height: 38px; border-radius: 50%; background: var(--nv-bg) !important; color: var(--nv-ink) !important; border: 0; z-index: 3; }
[dir="rtl"] .tpcart__close { left: 14px !important; right: auto !important; }
.tpcart__title { margin: 0 !important; padding: 20px 20px 16px !important; font-size: 20px !important; font-weight: 700 !important; text-transform: none !important; border-bottom: 1px solid var(--nv-line); background: #fff !important; color: var(--nv-ink) !important; }
.tpcart__product { flex: 1; overflow-y: auto; padding: 8px 20px !important; }
.tpcart__product-list li { border-bottom: 1px solid var(--nv-line) !important; padding: 14px 0 !important; }
.tpcart__product-list img { border-radius: 12px; }
.tpcart__content a { color: var(--nv-ink) !important; font-weight: 600; }
.tpcart__checkout { border-top: 1px solid var(--nv-line); padding-top: 14px; }
.tpcart__checkout-btn a, .tpcart-btn, .tpcart__checkout a.tp-btn, .tpcart__checkout-btn .tpcheck-btn { border-radius: 14px !important; height: 50px; display: flex !important; align-items: center; justify-content: center; font-weight: 700; }
.tpcart__free-shipping { background: linear-gradient(135deg, var(--nv-primary-50), var(--nv-coral-50)) !important; color: var(--nv-ink) !important; padding: 14px 20px !important; margin: 0 !important; font-size: 14px; }
.tpcart__free-shipping * { color: var(--nv-ink) !important; }

/* ===================== Quick view / quick shop popup ===================== */
/* BUG FIX: popup content was clipped so the Add to cart button could not be reached. */
#quick-view-popup, #quick-shop-popup, .mfp-content .quickview-content { max-height: 90vh; overflow-y: auto; overscroll-behavior: contain; border-radius: 24px; }
.mfp-content:has(#quick-view-popup), .mfp-content:has(#quick-shop-popup) { max-width: 980px; }
.mfp-bg { background: rgba(11, 16, 38, .6) !important; opacity: 1 !important; backdrop-filter: blur(3px); }
.mfp-close { width: 40px !important; height: 40px !important; line-height: 40px !important; border-radius: 50%; background: var(--nv-bg) !important; color: var(--nv-ink) !important; opacity: 1 !important; top: 12px !important; inset-inline-end: 12px; }
@media (max-width: 767.98px) { #quick-view-popup, #quick-shop-popup { max-height: 86vh; border-radius: 20px; } }

/* ===================== Product page ===================== */
.product-area { padding-top: 12px; }
@media (min-width: 992px) { .product-area { --bs-gutter-x: 40px; } }
@media (min-width: 992px) {
    .product-area > .col-lg-5 { flex: 0 0 52%; max-width: 52%; }
    .product-area > .col-lg-4 { flex: 0 0 48%; max-width: 48%; }
    .product-area > .col-lg-3 { flex: 0 0 100%; max-width: 100%; }
    .product-area > .col-lg-5 .tpproduct-details__nab { position: sticky; top: 96px; }
}
.product-area > .col-lg-3 .nv-features ul { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 8px; }
.product-area > .col-lg-3 .nv-feature { height: 100%; }
@media (max-width: 991.98px) { .product-area > .col-lg-3 .nv-features ul { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575.98px) { .product-area > .col-lg-3 .nv-features ul { grid-template-columns: 1fr; } }

/* Gallery */
.product-gallery { padding-inline-end: 0 !important; }
.product-gallery__wrapper { border-radius: 24px; overflow: hidden; background: #f3f4f6; border: 1px solid var(--nv-line); }
.product-gallery__wrapper img { border-radius: 0; }
.product-thumbnails .slick-slide, .product-thumbnails img { border-radius: 14px; }
.product-thumbnails .slick-slide { border: 2px solid transparent; overflow: hidden; opacity: .7; transition: opacity .15s, border-color .15s; }
.product-thumbnails .slick-current { border-color: var(--nv-primary) !important; opacity: 1; }
.product-gallery .slick-arrow { width: 38px; height: 38px; border-radius: 50%; background: #fff !important; color: var(--nv-ink) !important; box-shadow: var(--nv-shadow); border: 0; }

/* Info column */
.tpproduct-details__content { padding-top: 4px; }
.tpproduct-details__title { font-size: clamp(22px, 2.4vw, 30px) !important; font-weight: 700 !important; line-height: 1.35 !important; letter-spacing: -.01em; color: var(--nv-ink); margin-bottom: 10px !important; }
.tpproduct-details__title-area { flex-direction: column; align-items: flex-start !important; gap: 6px; }
.tpproduct-details__stock .text-success, .tpproduct-details__stock span { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 999px; background: #E8F7EE; color: #12804A !important; font-size: 13px; font-weight: 600; }
.tpproduct-details__content:has(.number-items-available:not([style*="none"]):not(:empty)) .tpproduct-details__stock { display: none; }
.number-items-available { font-weight: 600; font-size: 14px; }
.tpproduct-details__price { padding: 16px 18px; border-radius: 18px; background: linear-gradient(135deg, var(--nv-coral-50), #fff); border: 1px solid #FFE0E4; margin: 8px 0 22px !important; }
.tpproduct-details__price .bb-product-price { margin: 0 !important; display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; direction: ltr; justify-content: flex-end; }
[dir="ltr"] .tpproduct-details__price .bb-product-price { justify-content: flex-start; }
.tpproduct-details__price .bb-product-price-text, .tpproduct-details__price .product-price-sale { font-size: 32px !important; font-weight: 700; color: var(--nv-coral) !important; }
.tpproduct-details__price del, .tpproduct-details__price .product-price-original { font-size: 17px; color: #94a3b8 !important; }

/* Swatches */
.bb-product-attribute-swatch { margin-bottom: 18px !important; }
.bb-product-attribute-swatch-title { font-size: 15px !important; font-weight: 700 !important; color: var(--nv-ink) !important; margin-bottom: 10px !important; }
.bb-product-attribute-swatch-list { display: flex !important; flex-wrap: wrap; gap: 8px !important; padding: 0 !important; margin: 0 !important; }
.bb-product-attribute-swatch-item { margin: 0 !important; }
.bb-product-attribute-swatch-item label { margin: 0 !important; cursor: pointer; }
.bb-product-attribute-swatch-item input { position: absolute; opacity: 0; pointer-events: none; }
.bb-product-attribute-swatch-item .bb-product-attribute-text-display { display: inline-flex !important; align-items: center; justify-content: center; min-width: 48px; height: 42px; padding: 0 16px !important; border-radius: 12px !important; border: 1.5px solid var(--nv-line) !important; background: #fff !important; color: var(--nv-ink-2) !important; font-weight: 600; font-size: 14px; transition: border-color .15s, background .15s, color .15s, box-shadow .15s; position: relative; }
.bb-product-attribute-swatch-item:hover .bb-product-attribute-text-display { border-color: var(--nv-primary) !important; color: var(--nv-primary) !important; }
.bb-product-attribute-swatch-item.active .bb-product-attribute-text-display, .bb-product-attribute-swatch-item:has(input:checked) .bb-product-attribute-text-display { border-color: var(--nv-primary) !important; background: var(--nv-primary-50) !important; color: var(--nv-primary) !important; box-shadow: 0 0 0 3px rgba(79, 61, 255, .14); }
.bb-product-attribute-swatch-item .bb-product-attribute-text-display::before, .bb-product-attribute-swatch-item .bb-product-attribute-text-display::after { display: none !important; }
.bb-product-attribute-swatch-item.disabled .bb-product-attribute-text-display { opacity: .45; background: var(--nv-bg) !important; text-decoration: line-through; text-decoration-color: rgba(100, 116, 139, .6); background-image: none !important; }
.bb-product-attribute-swatch-item.disabled label { cursor: not-allowed; }

/* Quantity + buttons */
.tpproduct-details__count { gap: 10px !important; align-items: stretch !important; }
.tpproduct-details__quantity { display: inline-flex !important; align-items: center; height: 54px; border: 1.5px solid var(--nv-line) !important; border-radius: 999px !important; background: var(--nv-bg); padding: 0 6px !important; }
.tpproduct-details__quantity .cart-minus, .tpproduct-details__quantity .cart-plus { width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; color: var(--nv-ink); background: #fff; box-shadow: var(--nv-shadow); position: static !important; transform: none !important; }
.tpproduct-details__quantity .tp-cart-input { width: 46px !important; border: 0 !important; background: transparent !important; text-align: center; font-weight: 700; font-size: 16px; padding: 0 !important; height: auto !important; }
.tpproduct-details__cart { flex: 1; }
.tpproduct-details__cart .btn { flex: 1; height: 54px; border-radius: 999px !important; font-weight: 700; font-size: 16px; display: inline-flex !important; align-items: center; justify-content: center; gap: 10px; border: 0 !important; padding: 0 22px !important; transition: transform .15s, box-shadow .15s, background .15s; }
.tpproduct-details__cart .add-to-cart { background: var(--nv-primary) !important; color: #fff !important; box-shadow: 0 12px 26px rgba(79, 61, 255, .32); }
.tpproduct-details__cart .add-to-cart:hover { background: var(--nv-primary-600) !important; transform: translateY(-1px); }
.tpproduct-details__cart .buy-now { background: var(--nv-ink) !important; color: #fff !important; }
.tpproduct-details__cart .buy-now:hover { background: var(--nv-coral) !important; }
.tpproduct-details__content .add-to-wishlist, .tpproduct-details__content .add-to-compare { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 999px; border: 1.5px solid var(--nv-line); color: var(--nv-ink-2) !important; font-size: 14px !important; font-weight: 600; }
.tpproduct-details__content .add-to-wishlist:hover { border-color: var(--nv-coral); color: var(--nv-coral) !important; }
.tpproduct-details__content .add-to-compare:hover { border-color: var(--nv-primary); color: var(--nv-primary) !important; }

/* Meta + share */
.tpproduct-details__information { font-size: 14px; color: var(--nv-muted); margin-bottom: 8px !important; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.tpproduct-details__information p, .tpproduct-details__information span:first-child { font-weight: 700; color: var(--nv-ink); margin: 0; }
.tpproduct-details__information a { color: var(--nv-ink-2); }
.tpproduct-details__information a:hover { color: var(--nv-primary); }
.bb-social-sharing a, .tpproduct-details__social a { width: 38px; height: 38px; border-radius: 12px !important; border: 1px solid var(--nv-line) !important; display: inline-flex !important; align-items: center; justify-content: center; }
.bb-social-sharing a:hover { background: var(--nv-primary) !important; border-color: var(--nv-primary) !important; color: #fff !important; }

/* Tabs */
.tpproduct-details__navtab { background: #fff; border: 1px solid var(--nv-line); border-radius: 24px; padding: 8px 24px 28px; }
.pro-details-nav-btn { border: 0 !important; gap: 6px; padding: 6px; background: var(--nv-bg); border-radius: 14px; display: inline-flex !important; flex-wrap: wrap; margin: 16px 0 8px; }
.pro-details-nav-btn .nav-links { height: 42px; padding: 0 20px; border-radius: 11px; border: 0; background: transparent; font-weight: 600; color: var(--nv-muted); font-size: 15px; }
.pro-details-nav-btn .nav-links.active { background: #fff; color: var(--nv-primary); box-shadow: 0 2px 10px rgba(11, 16, 38, .08); }
.pro-details-nav-btn .nav-links::before, .pro-details-nav-btn .nav-links::after { display: none !important; }
#product-description .fade-shadow { background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff); }

/* Sticky add-to-cart bar (phones) */
.nv-buybar { position: fixed; inset-inline: 0; bottom: calc(62px + env(safe-area-inset-bottom)); z-index: 998; display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: rgba(255, 255, 255, .97); backdrop-filter: blur(10px); border-top: 1px solid var(--nv-line); box-shadow: 0 -8px 24px rgba(11, 16, 38, .08); transform: translateY(160%); transition: transform .3s ease; }
.nv-buybar.is-visible { transform: none; }
.nv-buybar__price { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.nv-buybar__price b { font-size: 18px; color: var(--nv-coral); direction: ltr; }
.nv-buybar__price small { font-size: 12px; color: var(--nv-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 150px; }
.nv-buybar .nv-btn { flex: 1; height: 48px; }
@media (min-width: 992px) { .nv-buybar { display: none; } }

/* Quick view: let the whole popup scroll instead of a hidden inner 460px scroller */
.quickview-content .product-detail { max-height: none !important; overflow: visible !important; }
.quickview-content { display: flex; align-items: flex-start; }
.quickview-content .thumbnails { position: sticky; top: 0; }
@media (max-width: 767.98px) { .quickview-content { flex-direction: column; } .quickview-content .thumbnails { position: static; } }

/* Mobile category drawer: expand buttons sit at the inline end, never over the text */
.mobile-menu-nav li { position: relative; }
.mobile-menu-nav li > a:not(.mobile-menu-exapand) { padding-inline-end: 56px !important; }
.mobile-menu-nav .mobile-menu-exapand { position: absolute !important; top: 7px !important; left: auto !important; right: auto !important; inset-inline-end: 6px !important; width: 34px !important; height: 34px !important; min-height: 0 !important; padding: 0 !important; border-radius: 10px !important; background: var(--nv-bg) !important; color: var(--nv-ink) !important; display: inline-flex !important; align-items: center; justify-content: center; font-size: 14px !important; transition: transform .2s, background .2s; }
.mobile-menu-nav .mobile-menu-exapand.mobile-menu-clicked { transform: rotate(45deg); background: var(--nv-primary-50) !important; color: var(--nv-primary) !important; }
.mobile-menu-nav .submenu { margin: 0 0 6px !important; padding: 4px 0 !important; padding-inline-start: 14px !important; border-inline-start: 2px solid var(--nv-primary-50); }
.mobile-menu-nav .submenu a { min-height: 40px !important; font-size: 14.5px !important; color: var(--nv-muted) !important; }
.mobile-menu-nav ul, .mobile-menu-nav li { list-style: none !important; padding-inline: 0; }
.mobile-menu-nav li::before, .mobile-menu-nav li::marker { display: none !important; content: none !important; }
.mobile-menu-nav li > a:not(.mobile-menu-exapand) { box-sizing: border-box !important; width: 100% !important; max-width: 100% !important; display: flex !important; align-items: center; white-space: normal; line-height: 1.4; }
.mfp-content .tpproduct-details__cart .btn, .mfp-content form.cart-form button[type="submit"] { white-space: nowrap; min-width: 150px; }

/* ===================== Bug fixes v3.2 ===================== */
/* 1. Mega menu: layer above the category strip; open/close driven by JS (.is-open), not :focus-within */
.nv-header__inner { z-index: 5; }
.nv-catbar { position: relative; z-index: 1; }
.nv-mega__panel { z-index: 50; }
.nv-mega:not(.is-open) .nv-mega__panel { opacity: 0 !important; visibility: hidden !important; transform: translateY(8px) !important; pointer-events: none; }
.nv-mega.is-open .nv-mega__panel { opacity: 1 !important; visibility: visible !important; transform: none !important; pointer-events: auto; }
.nv-mega:not(.is-open) .nv-mega__btn { background: var(--nv-primary-50); color: var(--nv-primary); }
.nv-mega.is-open .nv-mega__btn { background: var(--nv-primary); color: #fff; }
.nv-mega:not(.is-open) .nv-mega__caret { transform: none; }
.nv-mega.is-open .nv-mega__caret { transform: rotate(180deg); }
.nv-account:not(.is-open) .nv-account__panel { opacity: 0 !important; visibility: hidden !important; transform: translateY(6px) !important; pointer-events: none; }
.nv-account.is-open .nv-account__panel { opacity: 1 !important; visibility: visible !important; transform: none !important; pointer-events: auto; }

/* 2. Buttons with the theme's .loading class keep their own position and show a clean spinner */
.nv-quickadd.loading, .nv-quickadd.button-loading { position: absolute !important; bottom: 10px; inset-inline-end: 10px; pointer-events: none; border: 0 !important; }
@media (max-width: 767.98px) { .nv-quickadd.loading, .nv-quickadd.button-loading { bottom: 8px; inset-inline-end: 8px; } }
.nv-quickadd.loading svg, .nv-tool.loading svg, .nv-quickadd.button-loading svg { opacity: 0; }
.nv-quickadd.loading::before, .nv-tool.loading::before, .nv-quickadd.button-loading::before {
    content: "" !important; position: absolute !important; top: 50% !important; left: 50% !important; right: auto !important; inset-inline-start: auto !important;
    width: 18px !important; height: 18px !important; margin: -9px 0 0 -9px !important; border-radius: 50% !important;
    border: 2px solid currentColor !important; border-color: currentColor transparent currentColor transparent !important;
    animation: nv-spin .7s linear infinite !important; background: none !important; }
.nv-tool.loading { position: relative !important; pointer-events: none; }
@keyframes nv-spin { to { transform: rotate(360deg); } }
.tpproduct-details__cart .btn.button-loading, .tpproduct-details__cart .btn.btn-loading { color: transparent !important; border: 0 !important; }
.tpproduct-details__cart .btn.button-loading::before, .tpproduct-details__cart .btn.btn-loading::before { border-color: #fff transparent #fff transparent !important; }

/* 3. Swatches: only show "unavailable" when it is meaningful (other groups chosen); never on the chosen option */
.bb-product-attribute-swatch:not(.nv-trust-disabled) .bb-product-attribute-swatch-item.disabled .bb-product-attribute-text-display { opacity: 1 !important; text-decoration: none !important; background: #fff !important; }
.bb-product-attribute-swatch:not(.nv-trust-disabled) .bb-product-attribute-swatch-item.disabled label { cursor: pointer; }
.bb-product-attribute-swatch-item:has(input:checked) .bb-product-attribute-text-display { opacity: 1 !important; text-decoration: none !important; }
.bb-product-attribute-swatch-list { transition: opacity .2s; }
form.nv-swatch-busy .bb-product-attribute-swatch-list { opacity: .6; }

/* 4. Product filter: the category "+" toggle covered the whole row, so category names could not be clicked */
.bb-product-filter-item { position: relative; }
.bb-product-filter-item > .bb-product-filter-link { display: flex !important; align-items: center; gap: 8px; min-height: 38px; padding-inline-end: 40px !important; border-radius: 10px; color: var(--nv-ink-2) !important; }
.bb-product-filter-item > .bb-product-filter-link:hover, .bb-product-filter-item > .bb-product-filter-link.active { color: var(--nv-primary) !important; }
.bb-product-filter-item > button[data-bb-toggle="toggle-product-categories-tree"] { position: absolute !important; top: 4px !important; left: auto !important; right: auto !important; inset-inline-end: 0 !important; width: 30px !important; height: 30px !important; padding: 0 !important; border: 0 !important; border-radius: 9px !important; background: var(--nv-bg) !important; color: var(--nv-ink-2) !important; display: inline-flex !important; align-items: center; justify-content: center; z-index: 2; }
.bb-product-filter-item > button[data-bb-toggle="toggle-product-categories-tree"]:hover { background: var(--nv-primary-50) !important; color: var(--nv-primary) !important; }
.bb-product-filter-item > button[data-bb-toggle="toggle-product-categories-tree"] svg { width: 16px; height: 16px; }
.bb-product-filter-item .bb-product-filter-items { padding-inline-start: 18px !important; }

/* 5. Mobile product filter drawer: fully hidden while closed (was only pushed off-screen) */
@media (max-width: 991.98px) {
    .product-filter-mobile:not(.active) .product-filter-mobile__inner { visibility: hidden; transition: transform .3s ease, visibility 0s linear .3s; }
    .product-filter-mobile.active .product-filter-mobile__inner { visibility: visible; transition: transform .3s ease, visibility 0s; box-shadow: 0 0 60px rgba(11, 16, 38, .25); }
}

/* ===================== Layout fixes v3.3 ===================== */
/* Footer glow was positioned 160px outside the viewport → every page was wider than the screen */
.nv-footer::before { inset-inline-end: 0 !important; width: 420px !important; height: 420px !important; top: -210px !important; border-radius: 50%; }
.nv-footer { overflow-x: clip; }

/* Product listing / category pages: roomy sidebar, fluid product grid */
@media (min-width: 992px) {
    .product-filter-mobile.col-lg-2 { flex: 0 0 272px !important; max-width: 272px !important; width: 272px !important; }
    .product-filter-mobile.col-lg-2 + .col-lg-10, .product-filter-mobile + .col-lg-10 { flex: 1 1 0 !important; max-width: none !important; width: auto !important; min-width: 0; }
}
.bb-product-items-wrapper > .row, .product-list .row.row-cols-xxl-5, .product-list > .row[class*="row-cols"] {
    display: grid !important; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 16px; margin: 0 !important; }
.bb-product-items-wrapper > .row > .col, .product-list .row[class*="row-cols"] > .col { width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
.bb-product-items-wrapper .tpproduct.nv-card { margin: 0 !important; }
@media (max-width: 767.98px) {
    .bb-product-items-wrapper > .row, .product-list .row[class*="row-cols"] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}
/* Sidebar cards */
.bb-product-form-filter .bb-product-filter, .bb-shop-sidebar .bb-product-filter { background: #fff !important; border: 1px solid var(--nv-line); border-radius: 18px; padding: 18px !important; margin-bottom: 16px !important; }
.bb-product-filter-title { font-size: 16px !important; font-weight: 700 !important; color: var(--nv-ink) !important; margin-bottom: 12px !important; padding-bottom: 10px; border-bottom: 1px solid var(--nv-line); }
.bb-product-filter-link { font-size: 14px !important; line-height: 1.45; word-break: normal; overflow-wrap: anywhere; }
.bb-product-filter-item .bb-product-filter-items .bb-product-filter-link { min-height: 34px; color: var(--nv-muted) !important; }

/* Listing header */
.product-area .tpshop__top, .bb-product-listing-header, .product-list-heading { margin-bottom: 12px; }
.bb-product-items-wrapper, .product-list { min-height: 0; }
h1.product-category-title, .bb-shop-heading h1, .tp-shop-title { font-size: clamp(24px, 3vw, 34px) !important; font-weight: 700 !important; }
/* tighten the gap between page content and the footer */
.pt-80.pb-80:has(.product-filter-mobile), .pt-80.pb-80:has(.bb-product-items-wrapper) { padding-top: 28px !important; padding-bottom: 72px !important; }
.nv-footer::before { top: 0 !important; transform: translateY(-40%); clip-path: inset(40% 0 0 0); }
.nv-news[data-nv-reveal] { opacity: 1 !important; transform: none !important; }
@media (min-width: 992px) { .product-area.row { margin-inline: 0 !important; } .product-area.row > [class*="col-"]:first-child { padding-inline-start: 0; } .product-area.row > [class*="col-"]:nth-child(2) { padding-inline-end: 0; } }
@media (max-width: 991.98px) {
    .product-area > .col-lg-5, .product-area > .col-lg-4, .product-area > .col-lg-3 { flex: 0 0 100% !important; max-width: 100% !important; }
    .product-area > .col-lg-3 .nv-features ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) { .product-area > .col-lg-3 .nv-features ul { grid-template-columns: 1fr; } }

/* ===================== Quick-buy panel ===================== */
html.nv-qs-lock, html.nv-qs-lock body { overflow: hidden !important; }
.nv-qs { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 24px; visibility: hidden; pointer-events: none; }
.nv-qs.is-open, .nv-qs.is-closing { visibility: visible; }
.nv-qs.is-open { pointer-events: auto; }
.nv-qs__backdrop { position: absolute; inset: 0; background: rgba(11, 16, 38, .55); backdrop-filter: blur(4px); opacity: 0; transition: opacity .28s ease; }
.nv-qs.is-open .nv-qs__backdrop { opacity: 1; }
.nv-qs__panel { position: relative; width: min(880px, 100%); max-height: min(640px, calc(100vh - 48px)); display: grid; grid-template-columns: 1fr 1.05fr; background: #fff; border-radius: 26px; box-shadow: 0 30px 80px rgba(11, 16, 38, .35); overflow: hidden; outline: none;
    opacity: 0; transform: translateY(18px) scale(.97); transition: opacity .28s ease, transform .32s cubic-bezier(.2, .9, .3, 1.2); }
.nv-qs.is-open .nv-qs__panel { opacity: 1; transform: none; }
.nv-qs.is-closing .nv-qs__panel { transition-duration: .2s; transform: translateY(12px) scale(.98); }
.nv-qs__grip { display: none; }
.nv-qs__close { position: absolute; top: 14px; inset-inline-end: 14px; z-index: 3; width: 40px; height: 40px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .95); color: var(--nv-ink); display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(11, 16, 38, .12); transition: transform .15s, background .15s; }
.nv-qs__close:hover { transform: rotate(90deg); background: var(--nv-bg); }
.nv-qs__media { position: relative; background: #f3f4f6; min-height: 100%; }
.nv-qs__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nv-qs__more { position: absolute; bottom: 16px; inset-inline-start: 16px; display: inline-flex; align-items: center; height: 38px; padding: 0 16px; border-radius: 999px; background: rgba(255, 255, 255, .95); color: var(--nv-ink); font-weight: 600; font-size: 13.5px; box-shadow: 0 4px 14px rgba(11, 16, 38, .15); }
.nv-qs__more:hover { color: var(--nv-primary); }
.nv-qs__body { overflow-y: auto; overscroll-behavior: contain; padding: 30px 28px 24px; }

/* skeleton */
.nv-qs__sk-title { font-size: 20px; font-weight: 700; color: var(--nv-ink); margin: 0 48px 8px 0; line-height: 1.4; }
[dir="rtl"] .nv-qs__sk-title { margin: 0 0 8px 48px; }
.nv-qs__sk-price { font-size: 26px; font-weight: 700; color: var(--nv-coral); margin: 0 0 22px; direction: ltr; text-align: end; }
[dir="ltr"] .nv-qs__sk-price { text-align: start; }
.nv-sk { display: block; border-radius: 12px; background: linear-gradient(90deg, #eef0f5 25%, #f7f8fb 50%, #eef0f5 75%); background-size: 200% 100%; animation: nv-shimmer 1.2s linear infinite; }
.nv-sk--label { width: 90px; height: 14px; margin: 6px 0 10px; }
.nv-sk--pill { width: 56px; height: 40px; }
.nv-sk--btn { height: 52px; border-radius: 999px; margin-top: 18px; }
.nv-sk-row { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px; }
@keyframes nv-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }

/* loaded content */
.nv-qs__content { opacity: 0; transform: translateY(6px); transition: opacity .25s ease, transform .25s ease; }
.nv-qs__content.is-in { opacity: 1; transform: none; }
.nv-qs__content .product-detail { padding: 0 !important; max-height: none !important; overflow: visible !important; }
.nv-qs__content .tpproduct-details__title-area { margin: 0 !important; }
.nv-qs__content .tpproduct-details__title { font-size: 20px !important; line-height: 1.4 !important; margin: 0 48px 6px 0 !important; }
[dir="rtl"] .nv-qs__content .tpproduct-details__title { margin: 0 0 6px 48px !important; }
.nv-qs__content .tpproduct-details__price { margin: 6px 0 18px !important; padding: 10px 14px; }
.nv-qs__content .tpproduct-details__price .bb-product-price-text, .nv-qs__content .product-price-sale { font-size: 26px !important; }
.nv-qs__content .bb-product-attribute-swatch { margin-bottom: 14px !important; }
.nv-qs__content .bb-product-attribute-swatch-item .bb-product-attribute-text-display { height: 38px; min-width: 44px; padding: 0 13px !important; font-size: 13.5px; }
.nv-qs__content .tpproduct-details__count { position: sticky; bottom: -24px; margin: 12px -28px -24px !important; padding: 14px 28px 20px; background: linear-gradient(to top, #fff 75%, rgba(255, 255, 255, 0)); z-index: 2; flex-wrap: nowrap !important; }
.nv-qs__content .tpproduct-details__cart { flex: 1; }
.nv-qs__content .tpproduct-details__cart .btn { width: 100%; white-space: nowrap; }
.nv-qs__content .tpproductdot { margin: 0 !important; }
.nv-qs__error { text-align: center; padding: 40px 10px; color: var(--nv-muted); display: flex; flex-direction: column; align-items: center; gap: 14px; }

/* Phones: bottom sheet */
@media (max-width: 767.98px) {
    .nv-qs { padding: 0; align-items: flex-end; }
    .nv-qs__panel { width: 100%; max-height: 88vh; grid-template-columns: 1fr; grid-template-rows: auto 1fr; border-radius: 24px 24px 0 0; transform: translateY(100%); opacity: 1; transition: transform .34s cubic-bezier(.2, .8, .2, 1); padding-bottom: env(safe-area-inset-bottom); }
    .nv-qs.is-open .nv-qs__panel { transform: none; }
    .nv-qs.is-closing .nv-qs__panel { transform: translateY(100%); transition-duration: .24s; }
    .nv-qs__grip { display: block; position: absolute; top: 8px; left: 50%; width: 44px; height: 5px; margin-left: -22px; border-radius: 99px; background: rgba(255, 255, 255, .9); z-index: 3; box-shadow: 0 1px 4px rgba(0, 0, 0, .2); }
    .nv-qs__media { height: 150px; min-height: 0; display: flex; }
    .nv-qs__media img { position: static; width: 120px; height: 120px; margin: 18px; border-radius: 16px; object-fit: cover; box-shadow: var(--nv-shadow); }
    .nv-qs__media { background: linear-gradient(135deg, var(--nv-primary-50), #fff); align-items: center; }
    .nv-qs__more { position: static; margin-inline-end: 16px; height: 36px; font-size: 13px; }
    .nv-qs__close { top: 12px; }
    .nv-qs__body { padding: 16px 18px 18px; }
    .nv-qs__content .tpproduct-details__title, .nv-qs__sk-title { font-size: 17px !important; }
    .nv-qs__content .tpproduct-details__count { bottom: -18px; margin: 10px -18px -18px !important; padding: 12px 18px 16px; }
}
@media (prefers-reduced-motion: reduce) { .nv-qs__panel, .nv-qs__backdrop, .nv-qs__content { transition: none !important; } .nv-sk { animation: none; } }

/* Smoother open/close for the remaining Magnific popups (quick view) */
.mfp-ready .mfp-content { animation: nv-pop .28s cubic-bezier(.2, .9, .3, 1.2); }
@keyframes nv-pop { from { opacity: 0; transform: translateY(14px) scale(.97); } to { opacity: 1; transform: none; } }

/* Sticky header must stay above page content (listing toolbar had z-index 990 = header and painted over it) */
.nv-header { z-index: 1030 !important; }
.product-filter-content, .tp-shop-top, .product-filter-nav, .nice-select { z-index: 20 !important; }
.nice-select.open { z-index: 25 !important; }

/* ===================== Promo banner (replaces dark top bar) ===================== */
.nv-promo { position: relative; overflow: hidden; color: #fff; font-size: 13px;
    background: linear-gradient(100deg, #3A22E0 0%, #5B3CF5 38%, #9A3DDB 68%, #FF4D5E 100%); transition: max-height .28s ease, opacity .28s ease; max-height: 60px; }
.nv-promo::after { content: ""; position: absolute; top: 0; bottom: 0; width: 40%; left: -40%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .18), transparent); animation: nv-sheen 6s ease-in-out infinite; pointer-events: none; }
@keyframes nv-sheen { 0%, 55% { left: -40%; } 100% { left: 120%; } }
.nv-promo.is-leaving { max-height: 0; opacity: 0; }
.nv-promo.is-hidden { display: none; }
.nv-promo__inner { position: relative; z-index: 1; display: flex; align-items: center; gap: 18px; min-height: 42px; padding-inline-end: 44px; }
.nv-promo__deal { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.nv-promo__bolt { width: 26px; height: 26px; border-radius: 8px; background: rgba(255, 255, 255, .2); display: inline-flex; align-items: center; justify-content: center; color: #FFD479; }
.nv-promo__label { font-weight: 600; }
.nv-promo__clock { display: inline-flex; align-items: center; gap: 3px; font-variant-numeric: tabular-nums; }
.nv-promo__clock i { font-style: normal; min-width: 28px; height: 24px; padding: 0 4px; border-radius: 7px; background: rgba(11, 16, 38, .35); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; }
.nv-promo__clock b { opacity: .7; }
.nv-promo__cta { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 12px; border-radius: 999px; background: #fff; color: var(--nv-primary) !important; font-weight: 700; font-size: 12.5px; transition: transform .15s, box-shadow .15s; }
.nv-promo__cta:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(11, 16, 38, .25); }
.nv-promo__ticker { flex: 1; min-width: 0; height: 42px; }
.nv-promo__ticker .nv-ticker__item { color: rgba(255, 255, 255, .92); justify-content: center; }
.nv-promo__ticker .nv-ticker__item .nv-ico { color: #FFD479; }
.nv-promo__links { align-items: center; gap: 16px; flex-shrink: 0; }
.nv-promo__links > a { color: rgba(255, 255, 255, .9); display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.nv-promo__links > a:hover { color: #fff; }
.nv-promo .nv-topbar__switchers > div > ul > li > button, .nv-promo .nv-topbar__switchers > div > ul > li > a { color: #fff !important; }
.nv-promo__close { position: absolute; inset-inline-end: 8px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .16); color: #fff; display: inline-flex; align-items: center; justify-content: center; transition: background .15s; }
.nv-promo__close:hover { background: rgba(255, 255, 255, .3); }
.nv-promo .dropdown-menu, .nv-promo ul[class*="submenu"] { z-index: 1040; }
.nv-promo:has(.show, [class*="submenu"]:hover) { overflow: visible; }
@media (max-width: 767.98px) {
    .nv-promo { font-size: 12px; }
    .nv-promo__inner { min-height: 40px; gap: 8px; justify-content: center; padding-inline: 0 36px; }
    .nv-promo__deal { gap: 7px; flex-shrink: 1; min-width: 0; }
    .nv-promo__bolt { width: 22px; height: 22px; }
    .nv-promo__label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
    .nv-promo__clock i { min-width: 24px; height: 22px; font-size: 12px; }
    .nv-promo__cta { display: none; }
    .nv-promo__deal { cursor: pointer; }
}
@media (max-width: 359.98px) { .nv-promo__label { display: none; } }
@media (prefers-reduced-motion: reduce) { .nv-promo::after { animation: none; } }
.nv-promo__clock, .nv-countdown { direction: ltr !important; unicode-bidi: isolate; flex-direction: row !important; }
/* banner: sheen as an animated background layer (no overflow clipping) so dropdowns can open over the header */
.nv-promo { overflow: visible !important; z-index: 1040;
    background: linear-gradient(100deg, transparent 42%, rgba(255, 255, 255, .2) 50%, transparent 58%) no-repeat, linear-gradient(100deg, #3A22E0 0%, #5B3CF5 38%, #9A3DDB 68%, #FF4D5E 100%);
    background-size: 300% 100%, 100% 100%; background-position: 150% 0, 0 0; animation: nv-sheen2 7s ease-in-out infinite; }
.nv-promo::after { display: none !important; }
.nv-promo.is-leaving { overflow: hidden !important; }
@keyframes nv-sheen2 { 0%, 55% { background-position: 150% 0, 0 0; } 100% { background-position: -60% 0, 0 0; } }
@media (prefers-reduced-motion: reduce) { .nv-promo { animation: none; } }

/* ===================== Header category tiles ===================== */
.nv-tiles { max-height: 90px; }
.nv-tiles__scroll { gap: 10px !important; padding: 10px 0 12px !important; scroll-snap-type: x proximity; }
.nv-tile { flex: 0 0 auto; scroll-snap-align: start; display: inline-flex; align-items: center; gap: 10px; height: 62px; padding: 7px 16px 7px 7px; border-radius: 18px; background: #fff; border: 1px solid var(--nv-line); color: var(--nv-ink); transition: border-color .15s, box-shadow .2s, transform .2s, background .15s; }
[dir="rtl"] .nv-tile { padding: 7px 7px 7px 16px; }
.nv-tile:hover { color: var(--nv-ink); border-color: transparent; box-shadow: 0 8px 22px rgba(11, 16, 38, .1); transform: translateY(-2px); }
.nv-tile__img, .nv-tile__ic { width: 46px; height: 46px; flex-shrink: 0; border-radius: 14px; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; background: var(--nv-bg); color: var(--nv-primary); }
.nv-tile__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.nv-tile:hover .nv-tile__img img { transform: scale(1.1); }
.nv-tile__txt { display: flex; flex-direction: column; line-height: 1.25; white-space: nowrap; }
.nv-tile__txt b { font-size: 14px; font-weight: 700; }
.nv-tile__txt small { font-size: 12px; color: var(--nv-muted); }
.nv-tile--deals { background: linear-gradient(135deg, #FFF1F3, #FFF7EE); border-color: #FFD9DE; }
.nv-tile--deals .nv-tile__ic { background: linear-gradient(135deg, var(--nv-coral), var(--nv-accent)); color: #fff; box-shadow: 0 6px 14px rgba(255, 77, 94, .35); }
.nv-tile--deals b { color: var(--nv-coral); }
.nv-tile--new { background: linear-gradient(135deg, var(--nv-primary-50), #F6F3FF); border-color: #DCD6FF; }
.nv-tile--new .nv-tile__ic { background: linear-gradient(135deg, #6D5BFF, #3A22E0); color: #fff; box-shadow: 0 6px 14px rgba(79, 61, 255, .35); }
.nv-tile--new b { color: var(--nv-primary); }
.nv-tile.is-active { border-color: var(--nv-primary); box-shadow: 0 0 0 3px rgba(79, 61, 255, .14); }
.nv-tile.is-active .nv-tile__txt b { color: var(--nv-primary); }
.nv-header.is-compact .nv-tiles { max-height: 0; }
@media (max-width: 767.98px) {
    .nv-tiles__scroll { gap: 8px !important; padding: 8px 0 10px !important; }
    .nv-tile { height: 52px; gap: 8px; border-radius: 16px; padding: 5px 12px 5px 5px; }
    [dir="rtl"] .nv-tile { padding: 5px 5px 5px 12px; }
    .nv-tile__img, .nv-tile__ic { width: 40px; height: 40px; border-radius: 12px; }
    .nv-tile__txt b { font-size: 13px; }
    .nv-tile__txt small { font-size: 11px; }
}

/* ===================== Accessibility pass (WCAG 2.1 AA) ===================== */
/* Contrast: deeper coral/rose passes 4.5:1 both as text on white and as a background under white text */
:root { --nv-coral: #E11D48; --nv-coral-600: #BE123C; --nv-muted: #5B6078; }
.nv-price__now, .nv-deal__price, .nv-buybar__price b, .tpproduct-details__price .bb-product-price-text, .tpproduct-details__price .product-price-sale, .nv-qs__sk-price { color: var(--nv-coral) !important; }
.nv-chip--hot { color: #BE123C; }
.nv-price__old, .nv-price del, .nv-deal__old, .tpproduct-details__price del { color: #6B7086 !important; }
.nv-auth__tabs a { color: #4A4F66; }
.nv-card__title a, .nv-crumbs__trail a, .nv-footer__col a { color: inherit; }
.nv-crumbs__trail a { color: #5B6078; }
.nv-footer__col a, .nv-footer__brand p, .nv-footer__bottom p { color: #B4BCCB !important; }
.nv-footer__col a:hover { color: #fff !important; }
.nv-promo__label, .nv-promo__ticker .nv-ticker__item { text-shadow: 0 1px 2px rgba(11, 16, 38, .25); }

/* Readable sizes */
.nv-tabbar .navigation-bar__list a > span:last-child { font-size: 12px !important; }
.nv-brand__word small { font-size: 9px; }

/* Tap targets (min 24px, comfortable 40px+ for primary controls) */
.form-check-input { width: 24px !important; height: 24px !important; margin-top: 0 !important; cursor: pointer; }
.form-check { display: flex; align-items: center; gap: 10px; min-height: 32px; padding-inline-start: 0 !important; }
.form-check .form-check-input { float: none !important; margin-inline: 0 !important; flex-shrink: 0; }
.nv-auth a.text-decoration-underline, .nv-auth a.ms-1, form a.text-decoration-underline { display: inline-flex; align-items: center; min-height: 32px; padding: 4px 2px; }
.bb-social-sharing button, .bb-social-sharing a { min-width: 38px; min-height: 38px; }
.sidebar__widget a, .sidebar__widget-content a, .tp-sidebar-widget a, .rc__post a, .sidebar__post a, .widget_categories a, .tagcloud a { display: inline-flex; align-items: center; min-height: 32px; padding-block: 4px; }
.tpproduct-details__information a { display: inline-flex; align-items: center; min-height: 28px; }
.product-filter-nav button, .bb-product-listing-header button { min-width: 40px; min-height: 40px; border-radius: 10px; }

/* Visible keyboard focus everywhere (keyboard users only) */
:focus-visible { outline: 3px solid var(--nv-primary) !important; outline-offset: 2px !important; border-radius: 8px; }
.nv-promo :focus-visible, .nv-footer :focus-visible { outline-color: #fff !important; }

/* ===================== Blog ===================== */
.tpblog__thumb img, .tpblog__item img, .postbox__thumb img, .blog-item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; }
.postbox__thumb img, .post-details__thumb img, .tpblog-details__thumb img { aspect-ratio: 16 / 9; max-height: 480px; object-position: center 25%; }
.tpblog__item, .postbox__item, .blog-item { background: #fff; border: 1px solid var(--nv-line); border-radius: 22px; padding: 12px 12px 20px; height: 100%; transition: box-shadow .2s, transform .2s; }
.tpblog__item:hover, .postbox__item:hover { box-shadow: var(--nv-shadow-lg); transform: translateY(-3px); }
.tpblog__title a, .postbox__title a { color: var(--nv-ink) !important; }
.tpblog__title a:hover, .postbox__title a:hover { color: var(--nv-primary) !important; }
.sidebar__widget, .tp-sidebar-widget { background: #fff !important; border: 1px solid var(--nv-line) !important; border-radius: 20px !important; }
.sidebar__search-input-2 input { border-radius: 12px !important; border: 1.5px solid var(--nv-line) !important; background: var(--nv-bg) !important; height: 48px; }

/* ===================== Contact ===================== */
.tpcontact__shop { background: linear-gradient(135deg, var(--nv-primary-50), #fff); border: 1px solid var(--nv-line); border-radius: 22px; padding: 24px !important; }
.tpcontact__shop .tpshop__title { font-size: 22px !important; font-weight: 700; margin: 0 !important; }
.tpcontact__shop .tpshop__title::after { content: ""; display: block; width: 40px; height: 4px; border-radius: 4px; background: var(--nv-primary); margin-top: 10px; }
.tpcontact__support a { display: flex !important; align-items: center; justify-content: space-between; gap: 10px; min-height: 56px; padding: 0 18px !important; margin-bottom: 10px; border-radius: 16px !important; border: 1px solid var(--nv-line) !important; background: #fff !important; color: var(--nv-ink) !important; font-weight: 600; transition: border-color .15s, box-shadow .15s; }
.tpcontact__support a:hover { border-color: var(--nv-primary) !important; box-shadow: var(--nv-shadow); color: var(--nv-primary) !important; }
.tpcontact__support a i, .tpcontact__support a svg { color: var(--nv-primary); }
.tpcontact__form { background: #fff; border: 1px solid var(--nv-line); border-radius: 24px; padding: 28px; }
.tpcontact__form .form-control, .contact-form .form-control { height: 50px; border-radius: 13px !important; border: 1.5px solid var(--nv-line) !important; background: var(--nv-bg) !important; }
.tpcontact__form textarea.form-control, .contact-form textarea.form-control { height: 150px; padding-top: 12px; }
.tpcontact__form .form-control:focus, .contact-form .form-control:focus { background: #fff !important; border-color: var(--nv-primary) !important; box-shadow: 0 0 0 4px rgba(79, 61, 255, .12) !important; }
.tpcontact__form button[type="submit"], .contact-form button[type="submit"] { height: 52px; padding: 0 30px !important; border-radius: 14px !important; background: var(--nv-primary) !important; border: 0 !important; color: #fff !important; font-weight: 700; box-shadow: 0 10px 24px rgba(79, 61, 255, .3); }
@media (max-width: 767.98px) { .tpcontact__form { padding: 18px; } }

/* ===================== Trending now carousel ===================== */
.nv-trend { background: #fff; border: 1px solid var(--nv-line); border-radius: 26px; padding: 22px 22px 18px; position: relative; overflow: hidden; }
.nv-trend::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 150px; background: linear-gradient(180deg, #FFF4EC, rgba(255, 255, 255, 0)); pointer-events: none; }
.nv-trend__head { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.nv-trend__title { display: flex; align-items: center; gap: 12px; }
.nv-trend__title h2 { margin: 0; font-size: 24px; font-weight: 700; letter-spacing: -.02em; }
.nv-trend__title p { margin: 2px 0 0; color: var(--nv-muted); font-size: 14px; }
.nv-trend__flame { width: 46px; height: 46px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(135deg, #FF8A3D, var(--nv-coral)); box-shadow: 0 8px 18px rgba(225, 29, 72, .3); }
.nv-trend__controls { display: flex; gap: 8px; }
.nv-trend__controls .nv-round:disabled { opacity: .35; pointer-events: none; }
.nv-trend .nv-ic-play { display: none; }
.nv-trend.is-paused .nv-ic-play { display: block; }
.nv-trend.is-paused .nv-ic-pause { display: none; }
.nv-trend__rail { position: relative; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 4 * 14px) / 5); gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding: 4px 2px 8px; outline: none; cursor: grab; user-select: none; }
.nv-trend__rail::-webkit-scrollbar { display: none; }
.nv-trend__rail.is-dragging { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; }
.nv-trend__rail.is-dragging a { pointer-events: none; }
.nv-trend__rail:focus-visible { outline: 3px solid var(--nv-primary); outline-offset: 4px; border-radius: 18px; }
.nv-tcard { scroll-snap-align: start; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--nv-line); border-radius: 20px; overflow: hidden; transition: box-shadow .25s, transform .25s, border-color .25s; }
.nv-tcard:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(11, 16, 38, .12); border-color: transparent; }
.nv-tcard__media { position: relative; display: block; aspect-ratio: 4 / 5; background: #f3f4f6; overflow: hidden; }
.nv-tcard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2, .8, .2, 1); }
.nv-tcard:hover .nv-tcard__media img { transform: scale(1.07); }
.nv-tcard__media::after { content: ""; position: absolute; inset: auto 0 0 0; height: 40%; background: linear-gradient(to top, rgba(11, 16, 38, .28), transparent); pointer-events: none; }
.nv-tcard__rank { position: absolute; top: 10px; inset-inline-start: 10px; z-index: 1; min-width: 38px; height: 30px; padding: 0 10px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 14px; color: var(--nv-ink); background: rgba(255, 255, 255, .95); box-shadow: 0 4px 12px rgba(11, 16, 38, .15); direction: ltr; }
.nv-tcard__rank.is-top { color: #fff; background: linear-gradient(135deg, #FF8A3D, var(--nv-coral)); }
.nv-tcard__sale { position: absolute; top: 10px; inset-inline-end: 10px; z-index: 1; }
.nv-tcard__body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.nv-tcard__name { color: var(--nv-ink-2); font-size: 14px; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.9em; }
.nv-tcard__name:hover { color: var(--nv-primary); }
.nv-tcard__foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.nv-tcard__price { font-size: 18px; font-weight: 800; color: var(--nv-ink); letter-spacing: -.01em; }
.nv-tcard__add { width: 42px; height: 42px; flex-shrink: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--nv-primary); color: #fff !important; box-shadow: 0 8px 18px rgba(79, 61, 255, .3); transition: transform .15s, background .15s; position: relative; }
.nv-tcard__add:hover { background: var(--nv-primary-600); transform: scale(1.08); }
.nv-tcard__add.loading svg, .nv-tcard__add.button-loading svg { opacity: 0; }
.nv-tcard__add.loading::before, .nv-tcard__add.button-loading::before { content: "" !important; position: absolute !important; top: 50% !important; left: 50% !important; width: 18px !important; height: 18px !important; margin: -9px 0 0 -9px !important; border-radius: 50%; border: 2px solid #fff !important; border-color: #fff transparent #fff transparent !important; animation: nv-spin .7s linear infinite !important; }
.nv-trend__progress { position: relative; height: 4px; margin-top: 12px; border-radius: 4px; background: var(--nv-bg); overflow: hidden; }
.nv-trend__progress span { position: absolute; inset-block: 0; inset-inline-start: 0; width: 20%; border-radius: 4px; background: linear-gradient(90deg, var(--nv-primary), #9A3DDB); transition: width .3s ease, transform .3s ease; }
@media (max-width: 1199.98px) { .nv-trend__rail { grid-auto-columns: calc((100% - 3 * 14px) / 4); } }
@media (max-width: 991.98px) { .nv-trend__rail { grid-auto-columns: calc((100% - 2 * 12px) / 3); gap: 12px; } }
@media (max-width: 767.98px) {
    .nv-trend { padding: 16px 14px 14px; border-radius: 22px; }
    .nv-trend__title h2 { font-size: 20px; }
    .nv-trend__title p { font-size: 13px; }
    .nv-trend__flame { width: 40px; height: 40px; }
    .nv-trend__controls [data-nv-car] { display: none; }
    .nv-trend__rail { grid-auto-columns: 58%; gap: 10px; }
    .nv-tcard__price { font-size: 16px; }
    .nv-tcard__add { width: 38px; height: 38px; }
}
/* stop scroll-anchoring from reacting to the header's own height change */
html, body { overflow-anchor: none; }

/* ===================== Motion & 3D objects (v4.2) ===================== */
/* Floating 3D objects in the hero (injected by nova.js) */
.nv-float { position: absolute; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; border-radius: inherit; }
.nv-orb { position: absolute; border-radius: 50%; transform: translate3d(var(--px, 0), var(--py, 0), 0); transition: transform .6s cubic-bezier(.2, .8, .2, 1); will-change: transform; }
.nv-orb > i { position: absolute; inset: 0; border-radius: inherit; animation: nv-bob var(--dur, 7s) ease-in-out infinite; animation-delay: var(--delay, 0s); }
.nv-orb--sphere > i { background: radial-gradient(circle at 32% 28%, #fff 0%, rgba(255, 255, 255, .85) 6%, var(--c1) 30%, var(--c2) 72%, rgba(0, 0, 0, .35) 100%); box-shadow: inset -10px -14px 30px rgba(0, 0, 0, .25), 0 24px 40px rgba(20, 0, 60, .35); }
.nv-orb--ring > i { border: var(--thick, 14px) solid transparent; background: linear-gradient(135deg, var(--c1), var(--c2)) border-box; -webkit-mask: linear-gradient(#000 0 0) padding-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; transform: rotateX(62deg); animation-name: nv-spin3d; }
.nv-orb--cube > i { border-radius: 14px; background: linear-gradient(135deg, var(--c1), var(--c2)); box-shadow: inset 6px 6px 14px rgba(255, 255, 255, .35), inset -8px -8px 18px rgba(0, 0, 0, .25), 0 20px 34px rgba(20, 0, 60, .3); animation-name: nv-tumble; }
.nv-orb--star > i { background: linear-gradient(135deg, #FFE39A, #FF9F43); clip-path: polygon(50% 0, 61% 38%, 100% 50%, 61% 62%, 50% 100%, 39% 62%, 0 50%, 39% 38%); filter: drop-shadow(0 8px 14px rgba(255, 140, 0, .4)); animation-name: nv-twirl; }
@keyframes nv-bob { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-18px) rotate(8deg); } }
@keyframes nv-spin3d { 0% { transform: rotateX(62deg) rotateZ(0); } 100% { transform: rotateX(62deg) rotateZ(360deg); } }
@keyframes nv-tumble { 0%, 100% { transform: rotate(12deg) translateY(0); } 50% { transform: rotate(-10deg) translateY(-16px); } }
@keyframes nv-twirl { 0%, 100% { transform: scale(1) rotate(0); } 50% { transform: scale(1.15) rotate(45deg); } }
.nv-hero__main > .nv-hero__copy, .nv-hero__main > .nv-hero__art { position: relative; z-index: 1; }

/* 3D tilt + light sheen on product cards (desktop pointer only) */
@media (hover: hover) and (pointer: fine) {
    .nv-tilt { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--ty, 0)); transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s; transform-style: preserve-3d; }
    .nv-tilt.is-tilting { transition: transform .08s linear, box-shadow .35s; --ty: -4px; }
    .nv-tilt::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%), rgba(255, 255, 255, .28), transparent 45%); opacity: 0; transition: opacity .3s; z-index: 3; }
    .nv-tilt.is-tilting::after { opacity: 1; }
    .nv-tilt.is-tilting, .tpproduct.nv-card.nv-tilt.is-tilting, .nv-tcard.nv-tilt.is-tilting { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(-4px) !important; }
    .nv-tilt { position: relative; }
}

/* Staggered entrance for grids */
.nv-stagger > * { opacity: 0; transform: translateY(22px) scale(.98); transition: opacity .55s ease, transform .6s cubic-bezier(.2, .8, .2, 1); transition-delay: calc(var(--i, 0) * 60ms); }
.nv-stagger.is-in > * { opacity: 1; transform: none; }

/* Category circles: gentle float + ring on hover */
.nv-cat__img { transition: transform .4s cubic-bezier(.2, .8, .2, 1), box-shadow .4s; }
.nv-cat:hover .nv-cat__img { transform: translateY(-4px) rotate(-4deg) scale(1.06); box-shadow: 0 0 0 4px #fff, 0 0 0 6px var(--nv-primary), 0 14px 30px rgba(79, 61, 255, .25); }

/* Buttons: tactile press */
.nv-btn, .nv-quickadd, .nv-tcard__add, .nv-search__go, .add-to-cart, .nv-round { transition: transform .15s ease, box-shadow .2s, background .2s; }
.nv-btn:active, .nv-quickadd:active, .nv-tcard__add:active, .nv-search__go:active, .nv-round:active { transform: scale(.94); }

/* Fly-to-cart + badge bump feedback */
.nv-fly { position: fixed; z-index: 100001; width: 64px; height: 64px; border-radius: 16px; object-fit: cover; pointer-events: none; box-shadow: 0 12px 30px rgba(11, 16, 38, .35); transition: transform .75s cubic-bezier(.5, -.2, .3, 1), opacity .75s ease; }
@keyframes nv-bump { 0% { transform: scale(1); } 35% { transform: scale(1.45); } 70% { transform: scale(.9); } 100% { transform: scale(1); } }
.nv-bump { animation: nv-bump .55s ease; }

/* Scroll progress line under the header */
.nv-scrollbar { position: fixed; top: 0; inset-inline-start: 0; height: 3px; width: 100%; transform-origin: 0 50%; transform: scaleX(var(--p, 0)); background: linear-gradient(90deg, var(--nv-primary), #9A3DDB, var(--nv-coral)); z-index: 100000; pointer-events: none; }
[dir="rtl"] .nv-scrollbar { transform-origin: 100% 50%; }

@media (prefers-reduced-motion: reduce) {
    .nv-float, .nv-scrollbar, .nv-fly { display: none !important; }
    .nv-stagger > * { opacity: 1 !important; transform: none !important; }
}
@media (max-width: 767.98px) { .nv-orb--hide-sm { display: none; } }

/* "More to love" last-row filler */
.nv-grid__fill { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; min-height: 100%; padding: 24px 18px; border-radius: var(--nv-radius); border: 1.5px dashed #CFCBFF; background: linear-gradient(135deg, var(--nv-primary-50), #fff 55%, #FFF1F3); color: var(--nv-ink) !important; transition: border-color .2s, box-shadow .2s, transform .2s; }
.nv-grid__fill:hover { border-color: var(--nv-primary); box-shadow: var(--nv-shadow-lg); transform: translateY(-3px); }
.nv-grid__fill-ic { width: 56px; height: 56px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #6D5BFF, #3A22E0); color: #fff; box-shadow: 0 10px 22px rgba(79, 61, 255, .3); margin-bottom: 4px; }
.nv-grid__fill b { font-size: 18px; font-weight: 700; }
.nv-grid__fill small { color: var(--nv-muted); font-size: 13.5px; }
.nv-grid__fill-cta { margin-top: 6px; display: inline-flex; align-items: center; height: 40px; padding: 0 18px; border-radius: 999px; background: var(--nv-primary); color: #fff; font-weight: 600; font-size: 14px; }
.nv-grid__fill.is-wide b { font-size: 24px; }
.nv-grid__fill[hidden] { display: none; }
.nv-grid__fill-cta { white-space: nowrap; }
@media (max-width: 575.98px) {
    .nv-grid__fill { padding: 18px 10px; }
    .nv-grid__fill-cta { height: 36px; padding: 0 12px; font-size: 12.5px; }
    .nv-grid__fill small { font-size: 12px; }
}
.nv-grid__item.nv-trim { display: none !important; }

/* ---- Mobile product page: icon-only add-to-cart + sticky bar that slides out from behind the tab bar ---- */
@media (max-width: 991.98px) {
    .tpproduct-details__cart { flex: 1; min-width: 0; }
    .tpproduct-details__cart .add-to-cart { font-size: 0 !important; gap: 0 !important; width: 54px; min-width: 54px; padding: 0 !important; flex: none; display: inline-flex; align-items: center; justify-content: center; }
    .tpproduct-details__cart .add-to-cart i { font-size: 20px !important; margin: 0 !important; }
    .tpproduct-details__cart .buy-now { flex: 1; min-width: 0; white-space: nowrap; }
    .nv-buybar { z-index: 98; transform: translateY(100%); opacity: 0; visibility: hidden; pointer-events: none; transition: transform .3s ease, opacity .2s ease, visibility 0s linear .3s; }
    .nv-buybar.is-visible { transform: none; opacity: 1; visibility: visible; pointer-events: auto; transition: transform .3s ease, opacity .2s ease, visibility 0s; }
}

/* ---- Header category row: fit + "More" menu ---- */
.nv-catbar__scroll { overflow: hidden !important; flex-wrap: nowrap; }
.nv-catbar__scroll > * { flex-shrink: 0; }
.nv-chip--over, .nv-chip--more[hidden], .nv-catbar__sep[hidden] { display: none !important; }
.nv-chip--more { border: 1px solid var(--nv-line); background: #fff; cursor: pointer; font-weight: 600; margin-inline-start: auto; }
.nv-chip--more svg { transition: transform .2s; }
.nv-chip--more.is-open { background: var(--nv-primary-50); color: var(--nv-primary); border-color: transparent; }
.nv-chip--more.is-open svg { transform: rotate(180deg); }
.nv-catmore { position: fixed; z-index: 1031; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 10px; max-height: min(70vh, 520px); overflow-y: auto; background: #fff; border: 1px solid var(--nv-line); border-radius: 16px; box-shadow: 0 20px 50px rgba(11, 16, 38, .16); animation: nv-fade .18s ease both; }
.nv-catmore[hidden] { display: none; }
.nv-catmore__link { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 12px; border-radius: 10px; color: var(--nv-ink-2) !important; font-size: 14px; font-weight: 500; line-height: 1.3; }
.nv-catmore__link:hover, .nv-catmore__link:focus-visible { background: var(--nv-primary-50); color: var(--nv-primary) !important; }
.nv-catmore__link.is-active { background: var(--nv-primary); color: #fff !important; }
.nv-catmore__link .nv-ico { flex: none; opacity: .75; }
@media (max-width: 575.98px) {
    .nv-catbar__scroll { gap: 4px !important; }
    .nv-chip { height: 32px; padding: 0 11px; font-size: 13px; gap: 5px; }
    .nv-catbar__sep { margin-inline: 2px; }
    .nv-catmore { grid-template-columns: 1fr; }
}
/* Promo ticker: never clip messages at both ends — ellipsis instead, and hide it where there is no room */
.nv-promo__ticker .nv-ticker__item { justify-content: safe center; }
.nv-promo__ticker .nv-ticker__item > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.nv-promo__ticker .nv-ticker__item .nv-ico { flex: none; }
@media (max-width: 1419.98px) { .nv-promo__ticker { display: none !important; } }

/* ===================== Footer v2 (service strip + dark footer) ===================== */
.nv-svc { margin-top: 64px; padding: 28px 0; background: #fff; border-top: 1px solid var(--nv-line); }
.nv-svc__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.nv-svc__item { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 16px; color: var(--nv-ink) !important; transition: background .2s, transform .2s; min-width: 0; }
.nv-svc__item:hover { background: var(--nv-primary-50); transform: translateY(-2px); }
.nv-svc__ic { flex: none; width: 50px; height: 50px; border-radius: 15px; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--nv-primary-50), #fff); border: 1px solid #E3E0FF; color: var(--nv-primary); }
.nv-svc__txt { display: flex; flex-direction: column; min-width: 0; line-height: 1.35; }
.nv-svc__txt b { font-size: 15px; font-weight: 700; }
.nv-svc__txt small { font-size: 13px; color: var(--nv-muted); }

.nv-ft { margin-top: 0 !important; padding-top: 0; background: #0B1026 !important; color: #B4BCCB; position: relative; }
.nv-ft::before { content: ""; position: absolute; top: 0 !important; left: 0; right: 0; inset-inline-end: 0 !important; width: 100% !important; height: 3px !important; border-radius: 0; transform: none; clip-path: none; background: linear-gradient(90deg, #6D5BFF, #E11D48 60%, #FFB86B); pointer-events: none; }
.nv-ft__top { display: grid; grid-template-columns: 1fr 1.1fr; gap: 48px; align-items: center; padding: 52px 0 40px; border-bottom: 1px solid rgba(148, 163, 184, .14); }
.nv-ft__tagline { color: #fff !important; font-size: 20px; font-weight: 700; margin: 16px 0 6px; }
.nv-ft__about { color: #B4BCCB !important; font-size: 14.5px; line-height: 1.75; margin: 0; max-width: 460px; }
.nv-ft__news { padding: 26px 28px; border-radius: 22px; background: linear-gradient(135deg, rgba(109, 91, 255, .22), rgba(225, 29, 72, .12)); border: 1px solid rgba(148, 163, 184, .18); }
.nv-ft__news h3 { display: flex; align-items: center; gap: 8px; color: #fff; font-size: 20px; font-weight: 700; margin: 0 0 4px; }
.nv-ft__news h3 .nv-ico { color: #FFD479; }
.nv-ft__news p { color: #C9CFDC; font-size: 14px; margin: 0 0 14px; }
.nv-ft__news small { display: block; margin-top: 8px; color: #8E97AB; font-size: 12.5px; }
.nv-ft__form form { margin: 0; }
.nv-ft__form .form-label, .nv-ft__form label { display: none; }
.nv-ft__form .input-group, .nv-ft__form form > div:first-child { display: flex !important; flex-wrap: nowrap; gap: 6px; margin: 0 !important; padding: 5px; background: #fff; border-radius: 999px; }
.nv-ft__form input[type="email"], .nv-ft__form input.form-control { flex: 1; min-width: 0; height: 44px; border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 0 16px !important; font-size: 15px; color: var(--nv-ink); }
.nv-ft__form button[type="submit"], .nv-ft__form .btn { height: 44px; padding: 0 22px !important; border: 0 !important; border-radius: 999px !important; background: var(--nv-primary) !important; color: #fff !important; font-weight: 600; white-space: nowrap; }
.nv-ft__form button[type="submit"]:hover { background: var(--nv-coral) !important; }
.nv-ft__form .invalid-feedback, .nv-ft__form .text-danger { color: #FFB4C0 !important; }

.nv-ft__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) 1.35fr; gap: 32px; padding: 44px 0 48px; }
.nv-ft .nv-footer__col h4, .nv-ft__help h4 { color: #fff; font-size: 15px; font-weight: 700; margin: 0 0 18px; }
.nv-ft .nv-footer__col ul { gap: 12px; }
.nv-ft .nv-footer__col a { color: #B4BCCB !important; font-size: 14.5px; }
.nv-ft .nv-footer__col a:hover { color: #fff !important; }
.nv-ft__help { padding: 24px; border-radius: 20px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(148, 163, 184, .16); display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.nv-ft__help h4 { margin: 4px 0 0; }
.nv-ft__help p { color: #B4BCCB; font-size: 14px; line-height: 1.7; margin: 0 0 6px; }
.nv-ft__help-ic { width: 48px; height: 48px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #6D5BFF, #3A22E0); color: #fff; box-shadow: 0 10px 24px rgba(79, 61, 255, .35); }
.nv-ft__btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 44px; padding: 0 16px; border-radius: 999px; border: 1px solid rgba(148, 163, 184, .3); color: #fff !important; font-size: 14px; font-weight: 600; transition: background .15s, border-color .15s, transform .15s; }
.nv-ft__btn:hover { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .5); transform: translateY(-1px); }
.nv-ft__btn--primary { background: #fff; color: var(--nv-ink) !important; border-color: #fff; }
.nv-ft__btn--primary:hover { background: var(--nv-primary-50); border-color: var(--nv-primary-50); }

.nv-ft__pay { border-top: 1px solid rgba(148, 163, 184, .14); }
.nv-ft__pay-inner { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 18px 12px; }
.nv-ft__pay-label { color: #8E97AB; font-size: 13px; font-weight: 600; margin-inline-end: 6px; }
.nv-ft__badge { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 14px; border-radius: 10px; background: #fff; color: var(--nv-ink); font-size: 13px; font-weight: 600; }
.nv-ft__badge .nv-ico, .nv-ft__badge svg { color: var(--nv-primary); flex: none; }
.nv-ft__badge--soft { background: rgba(255, 255, 255, .06); color: #C9CFDC; border: 1px solid rgba(148, 163, 184, .2); }
.nv-ft__badge--soft .nv-ico { color: #8FE3B0; }

.nv-ft__bottom { background: #070A1A; border-top: 1px solid rgba(148, 163, 184, .1); }
.nv-ft__bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 12px; flex-wrap: wrap; }
.nv-ft__bottom-inner > p { margin: 0; font-size: 13.5px; color: #8E97AB !important; }
.nv-ft__legal { display: flex; gap: 18px; }
.nv-ft__legal a { color: #8E97AB !important; font-size: 13.5px; }
.nv-ft__legal a:hover { color: #fff !important; }
.nv-ft__end { display: flex; align-items: center; gap: 14px; }

.nv-ft__help-txt { display: flex; flex-direction: column; gap: 6px; }
.nv-ft__help-actions { display: flex; flex-direction: column; gap: 10px; width: 100%; margin-top: 4px; }
@media (max-width: 1199.98px) {
    .nv-svc__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .nv-ft__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .nv-ft__help { grid-column: 1 / -1; flex-direction: row; align-items: center; gap: 18px; padding: 20px 24px; }
    .nv-ft__help-ic { flex: none; }
    .nv-ft__help { flex-wrap: wrap; }
    .nv-ft__help-txt { flex: 1 1 300px; min-width: 0; }
    .nv-ft__help-txt p { margin: 0; }
    .nv-ft__help-actions { flex-direction: row; width: auto; margin: 0; flex: none; }
    .nv-ft__help-actions .nv-ft__btn { width: auto; padding: 0 20px; }
}
@media (max-width: 991.98px) {
    .nv-svc__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .nv-ft__top { grid-template-columns: 1fr; gap: 28px; padding: 40px 0 32px; }
    .nv-ft__about { max-width: none; }
}
@media (max-width: 767.98px) {
    .nv-svc { margin-top: 44px; padding: 16px 0; }
    .nv-svc__item { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; background: var(--nv-bg, #F5F6FA); }
    .nv-svc__ic { width: 42px; height: 42px; border-radius: 12px; }
    .nv-svc__txt b { font-size: 14px; }
    .nv-svc__txt small { font-size: 12.5px; }
    .nv-ft__news { padding: 20px 18px; }
    .nv-ft__grid { grid-template-columns: 1fr; gap: 0; padding: 12px 0 28px; }
    .nv-ft .nv-footer__col h4 { margin: 0; }
    .nv-ft__help { flex-direction: column; align-items: flex-start; margin-top: 24px; grid-column: auto; }
    .nv-ft__help-actions { flex-direction: column; width: 100%; }
    .nv-ft__help-actions .nv-ft__btn { width: 100%; }
    .nv-ft__pay-inner { justify-content: center; }
    .nv-ft__pay-label { width: 100%; text-align: center; margin: 0; }
    .nv-ft__bottom-inner { flex-direction: column; text-align: center; gap: 12px; padding-bottom: 20px; }
    .nv-ft__end { width: 100%; justify-content: center; }
}
@media (max-width: 380px) {
    .nv-ft__form button[type="submit"], .nv-ft__form .btn { padding: 0 16px !important; }
}
@media (max-width: 991.98px) {
    .nv-ft__bottom-inner { padding-bottom: calc(84px + env(safe-area-inset-bottom)) !important; }
}

/* ===================== Mobile header → everything lives in the hamburger drawer ===================== */
@media (max-width: 991.98px) {
    #nv-header .nv-actions .nv-account,
    #nv-header .nv-actions a.nv-action[href*="wishlist"] { display: none !important; }
}
.nv-drawer { padding: 0 0 28px !important; display: flex; flex-direction: column; }
.nv-drawer__top { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; background: rgba(255, 255, 255, .96); backdrop-filter: blur(8px); border-bottom: 1px solid var(--nv-line); }
.nv-drawer__logo { display: inline-flex; }
.nv-drawer .nv-drawer__close { position: static !important; margin: 0 !important; width: 40px; height: 40px; padding: 0 !important; border-radius: 12px !important; background: var(--nv-bg) !important; color: var(--nv-ink) !important; display: inline-flex !important; align-items: center; justify-content: center; font-size: 0 !important; border: 0 !important; }
.nv-drawer__account { margin: 16px 16px 0; padding: 16px; border-radius: 18px; background: linear-gradient(135deg, var(--nv-primary-50), #fff 70%); border: 1px solid #E3E0FF; }
.nv-drawer__hello { margin: 0 0 12px; font-weight: 700; font-size: 16px; color: var(--nv-ink); }
.nv-drawer__auth { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.nv-drawer__auth .nv-btn { height: 44px; padding: 0 10px; justify-content: center; font-size: 14px; white-space: nowrap; }
.nv-drawer__me { display: flex; align-items: center; gap: 12px; color: var(--nv-ink) !important; }
.nv-drawer__avatar { flex: none; width: 46px; height: 46px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #6D5BFF, #3A22E0); color: #fff; font-weight: 700; font-size: 18px; }
.nv-drawer__me-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.nv-drawer__me-txt small { color: var(--nv-muted); font-size: 12.5px; }
.nv-drawer__me-txt b { font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nv-drawer__tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 12px 16px 0; }
.nv-drawer__tile { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-height: 76px; padding: 10px 4px; border-radius: 16px; background: var(--nv-bg, #F5F6FA); color: var(--nv-ink) !important; font-size: 12.5px; font-weight: 600; text-align: center; line-height: 1.2; transition: background .15s, color .15s; }
.nv-drawer__tile .nv-ico { color: var(--nv-primary); }
.nv-drawer__tile:hover, .nv-drawer__tile:active { background: var(--nv-primary-50); color: var(--nv-primary) !important; }
.nv-drawer__tile em { position: absolute; top: 6px; inset-inline-end: 8px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--nv-coral); color: #fff; font-style: normal; font-size: 11px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.nv-drawer__tile em:empty, .nv-drawer__tile em.is-zero { display: none; }
.nv-drawer__label { margin: 22px 16px 6px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--nv-muted); }
.nv-drawer__cats, .nv-drawer__help { display: flex; flex-direction: column; margin: 0 8px; }
.nv-drawer__cats a, .nv-drawer__help a { display: flex; align-items: center; gap: 12px; min-height: 46px; padding: 0 12px; border-radius: 12px; color: var(--nv-ink-2) !important; font-size: 15px; font-weight: 500; }
.nv-drawer__cats a .nv-ico, .nv-drawer__help a .nv-ico { color: var(--nv-muted); flex: none; }
.nv-drawer__cats a:hover, .nv-drawer__help a:hover { background: var(--nv-bg); color: var(--nv-primary) !important; }
.nv-drawer__cats a.is-hot, .nv-drawer__cats a.is-hot .nv-ico { color: var(--nv-coral) !important; font-weight: 700; }
.nv-drawer__menu { margin: 0 8px !important; }
.nv-drawer__menu li:has(> a[href*="/wishlist"]), .nv-drawer__menu li:has(> a[href*="/cart"]), .nv-drawer__menu li:has(> a[href*="/orders/tracking"]),
.nv-drawer__menu li:has(> a[href*="/faqs"]), .nv-drawer__menu li:has(> a[href*="/contact"]), .nv-drawer__menu li:has(> a[href*="/compare"]) { display: none !important; }
.nv-drawer__switch { margin: 18px 16px 0 !important; padding: 8px 12px !important; border-radius: 14px; background: var(--nv-bg); }
.nv-drawer__out { display: flex; align-items: center; gap: 10px; margin: 14px 16px 0; min-height: 46px; padding: 0 12px; border-radius: 12px; color: var(--nv-coral) !important; font-weight: 600; }
.nv-drawer__out:hover { background: #FFF1F3; }
@media (max-width: 359.98px) { .nv-drawer__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.nv-drawer .nv-drawer__auth .nv-btn--primary { color: #fff !important; }
.nv-drawer .nv-drawer__auth .nv-btn--outline { color: var(--nv-ink) !important; }

/* ---- Footer "Need help?" card: compact at every size (icon beside the title, small buttons) ---- */
.nv-ft .nv-ft__help { align-self: start; display: grid !important; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 12px; row-gap: 12px; padding: 16px !important; border-radius: 16px; flex-direction: initial; }
.nv-ft .nv-ft__help-ic { width: 42px; height: 42px; border-radius: 12px; box-shadow: 0 8px 18px rgba(79, 61, 255, .3); }
.nv-ft .nv-ft__help-ic svg { width: 20px; height: 20px; }
.nv-ft .nv-ft__help-txt { flex: none !important; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.nv-ft .nv-ft__help-txt h4 { margin: 0 !important; font-size: 15px; }
.nv-ft .nv-ft__help-txt p { margin: 0 !important; font-size: 13px; line-height: 1.55; }
.nv-ft .nv-ft__help-actions { grid-column: 1 / -1; display: grid !important; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; width: auto !important; margin: 0 !important; flex: none !important; }
.nv-ft .nv-ft__help-actions .nv-ft__btn { width: 100% !important; height: 40px; padding: 0 12px !important; font-size: 13.5px; white-space: nowrap; }
@media (min-width: 1200px) and (max-width: 1399.98px) {
    .nv-ft .nv-ft__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .nv-ft .nv-ft__help { grid-column: 1 / -1; }
}
@media (min-width: 768px) and (max-width: 1399.98px) {
    .nv-ft .nv-ft__help { grid-template-columns: auto minmax(0, 1fr) auto; padding: 14px 18px !important; }
    .nv-ft .nv-ft__help-actions { grid-column: auto; grid-template-columns: repeat(2, auto); }
    .nv-ft .nv-ft__help-actions .nv-ft__btn { width: auto !important; padding: 0 16px !important; }
}
@media (max-width: 767.98px) {
    .nv-ft .nv-ft__help { margin-top: 20px !important; }
}
@media (min-width: 1400px) {
    .nv-ft .nv-ft__help-actions .nv-ft__btn { padding: 0 10px !important; gap: 6px; }
    .nv-ft .nv-ft__help-actions .nv-ft__btn:not(.nv-ft__btn--primary) .nv-ico { display: none; }
}
/* Quick-buy sheet: keep the "Add to cart" label (the icon-only style is only for the product page, which also has "Buy now") */
@media (max-width: 991.98px) {
    .nv-qs .tpproduct-details__cart .add-to-cart { font-size: 15px !important; width: auto !important; min-width: 0; flex: 1 1 auto; gap: 8px !important; padding: 0 18px !important; }
    .nv-qs .tpproduct-details__cart .add-to-cart i { font-size: 18px !important; }
}

/* Mega menu never taller than the window: list + sub-categories scroll inside (max set by nova.js on open) */
.nv-mega__list, .nv-mega__pane.is-active { max-height: var(--nv-mega-max, none); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.nv-mega__list { grid-row: 1; }
.nv-mega__panel { align-items: start; }

/* Product page (desktop): photo frame hugs the photo (no empty grey band under it); buttons never squeeze their labels */
@media (min-width: 992px) {
    .tpproduct-details__nab.product-gallery { align-items: flex-start; }
    .tpproduct-details__count { flex-wrap: wrap; row-gap: 12px; }
    .tpproduct-details__count .tpproduct-details__cart { flex: 1 1 380px; }
    .tpproduct-details__cart .btn { white-space: nowrap; min-width: 0; }
}

/* Product photo slider: photos of different shapes sit centred in the frame */
.product-gallery__wrapper .slick-track { display: flex !important; align-items: center; }
.product-gallery__wrapper .slick-slide { height: auto; }
.product-gallery__wrapper .slick-slide img { width: 100%; height: auto; object-fit: contain; }

/* ===================== Phone menu v2 — sectioned, icon rows like big stores ===================== */
.nv-drawer { background: #F6F7FB !important; }
.nv-drawer__top { background: rgba(255, 255, 255, .97); }
.nv-drawer__account { background: linear-gradient(135deg, #5B47FF, #3A22E0); border: 0; color: #fff; box-shadow: 0 14px 30px rgba(79, 61, 255, .28); }
.nv-drawer__hello { color: #fff; margin-bottom: 4px; }
.nv-drawer__sub { margin: 0 0 14px; font-size: 13px; color: rgba(255, 255, 255, .82); line-height: 1.6; }
.nv-drawer .nv-drawer__auth .nv-btn--primary { background: #fff !important; color: var(--nv-primary) !important; border-color: #fff !important; }
.nv-drawer .nv-drawer__auth .nv-btn--outline { background: transparent !important; color: #fff !important; border: 1.5px solid rgba(255, 255, 255, .6) !important; }
.nv-drawer .nv-drawer__me, .nv-drawer .nv-drawer__me b { color: #fff !important; }
.nv-drawer__me-txt small { color: rgba(255, 255, 255, .78) !important; }
.nv-drawer__me-txt em { font-style: normal; font-size: 12.5px; color: rgba(255, 255, 255, .85); }
.nv-drawer__avatar { background: rgba(255, 255, 255, .18); border: 1.5px solid rgba(255, 255, 255, .45); }
.nv-drawer__me .nv-drawer__chev { color: #fff; }
.nv-drawer__tiles .nv-drawer__tile { background: #fff; box-shadow: 0 1px 0 var(--nv-line); }
.nv-drawer__group { margin: 18px 12px 0; }
.nv-drawer .nv-drawer__label { margin: 0 6px 8px; font-size: 12px; font-weight: 700; letter-spacing: .04em; color: var(--nv-muted); text-transform: none; }
.nv-drawer__list { background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 1px 2px rgba(11, 16, 38, .04); border: 1px solid #ECEEF4; }
.nv-drawer__list > a, .nv-drawer__row { display: flex; align-items: center; gap: 12px; min-height: 54px; padding: 8px 14px; color: var(--nv-ink) !important; border-bottom: 1px solid #F0F1F6; text-decoration: none; }
.nv-drawer__list > a:last-child, .nv-drawer__list > .nv-drawer__row:last-child { border-bottom: 0; }
.nv-drawer__list > a:active, .nv-drawer__list > a:hover { background: var(--nv-primary-50); }
.nv-drawer__list > a.is-current b { color: var(--nv-primary); }
.nv-drawer__ic { flex: none; width: 36px; height: 36px; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; background: #F2F1FF; color: var(--nv-primary); }
.nv-drawer__list > a.is-hot .nv-drawer__ic { background: #FFF1F3; color: var(--nv-coral); }
.nv-drawer__list b { flex: 1; min-width: 0; font-size: 15px; font-weight: 600; line-height: 1.35; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nv-drawer__chev { flex: none; color: #A3A8B8; }
.nv-drawer__pill { font-style: normal; font-size: 11.5px; font-weight: 700; padding: 3px 9px; border-radius: 999px; background: var(--nv-coral); color: #fff; }
.nv-drawer__value { flex: none; font-size: 13.5px; font-weight: 600; color: var(--nv-primary); }
.nv-drawer__value small { color: var(--nv-muted); font-weight: 500; }
.nv-drawer__chips { display: inline-flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.nv-drawer__chips a { min-width: 46px; height: 32px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; border: 1px solid var(--nv-line); color: var(--nv-ink-2) !important; font-size: 13px; font-weight: 600; }
.nv-drawer__chips a.is-active { background: var(--nv-primary); border-color: var(--nv-primary); color: #fff !important; }
.nv-drawer .nv-drawer__out { margin: 18px 12px 0; justify-content: center; background: #fff; border: 1px solid #FFE0E6; border-radius: 14px; min-height: 50px; }
.nv-drawer__foot { margin: 18px 0 6px; text-align: center; font-size: 12px; color: var(--nv-muted); }

/* Bottom menu: signed-in customer's avatar on the Account tab */
.nv-tab-me__avatar { position: relative; width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #6D5BFF, #3A22E0); color: #fff; font-size: 12.5px; font-weight: 700; line-height: 1; box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px rgba(79, 61, 255, .35); }
.nv-tab-me__avatar img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.nv-tab-me__dot { position: absolute; bottom: -1px; inset-inline-end: -1px; width: 9px; height: 9px; border-radius: 50%; background: #22C55E; border: 2px solid #fff; }
.nv-tabbar .nv-tab-me.is-active .nv-tab-me__avatar { box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px var(--nv-primary); }

/* ===================== Sign-in / sign-up v2 — clean fields, centred icons, phone-first ===================== */
.nv-auth { padding: 12px 0 32px; }
.nv-auth .nv-auth__form .mb-3 { margin-bottom: 16px !important; }
.nv-auth .form-label { font-size: 14px; font-weight: 600; color: var(--nv-ink); margin-bottom: 8px; }
.nv-auth .form-control { height: 54px; border-radius: 14px !important; border: 1.5px solid #E2E5EE !important; background: #fff !important; padding-inline-start: 48px !important; padding-inline-end: 16px !important; font-size: 15.5px; color: var(--nv-ink); box-shadow: none !important; transition: border-color .15s, box-shadow .15s; }
.nv-auth .form-control::placeholder { color: #9CA1B2; }
.nv-auth .form-control:hover { border-color: #CDD1DD !important; }
.nv-auth .form-control:focus { border-color: var(--nv-primary) !important; box-shadow: 0 0 0 4px rgba(79, 61, 255, .12) !important; }
.nv-auth .form-control.is-invalid { border-color: var(--nv-coral) !important; }
.nv-auth .position-relative > .auth-input-icon { position: absolute !important; inset-inline-start: 0; top: 0; bottom: 0; height: 54px; width: 48px; margin: 0 !important; padding: 0 !important; display: flex !important; align-items: center; justify-content: center; background: transparent !important; border: 0 !important; color: #8A90A2; pointer-events: none; z-index: 5; transform: none !important; }
.nv-auth .auth-input-icon svg { width: 20px; height: 20px; }
.nv-auth .position-relative:focus-within > .auth-input-icon { color: var(--nv-primary); }
.nv-auth .input-group { position: relative; flex-wrap: nowrap; }
.nv-auth .input-group > .form-control { width: 100%; border-radius: 14px !important; padding-inline-end: 52px !important; }
.nv-auth .input-password-toggle { position: absolute !important; inset-inline-end: 5px; top: 5px; width: 44px; height: 44px; margin: 0 !important; display: flex !important; align-items: center; justify-content: center; border-radius: 10px; color: #8A90A2; background: transparent; cursor: pointer; z-index: 6; transform: none !important; }
.nv-auth .input-password-toggle:hover { background: #F2F1FF; color: var(--nv-primary); }
.nv-auth .input-password-toggle svg { width: 20px; height: 20px; }
.nv-auth .form-check { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 !important; margin: 0; cursor: pointer; }
.nv-auth .form-check .form-check-input { float: none; flex: none; width: 20px; height: 20px; margin: 0 !important; border-radius: 6px; border: 1.5px solid #C9CDD9; cursor: pointer; }
.nv-auth .form-check .form-check-input:checked { background-color: var(--nv-primary); border-color: var(--nv-primary); }
.nv-auth .form-check .form-check-input:focus { box-shadow: 0 0 0 4px rgba(79, 61, 255, .14); }
.nv-auth .form-check-label { font-size: 14px; color: var(--nv-ink-2); line-height: 1.5; }
.nv-auth .row.g-0.mb-3 { align-items: center; }
.nv-auth a.text-decoration-underline, .nv-auth .form-check-label a { text-decoration: none !important; color: var(--nv-primary) !important; font-weight: 600; }
.nv-auth a.text-decoration-underline:hover, .nv-auth .form-check-label a:hover { text-decoration: underline !important; }
.nv-auth .nv-auth__submit { width: 100%; height: 54px; border: 0; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; background: linear-gradient(135deg, #5B47FF, #3A22E0); color: #fff; font-size: 16px; font-weight: 700; box-shadow: 0 12px 26px rgba(79, 61, 255, .3); transition: transform .15s, box-shadow .15s; }
.nv-auth .nv-auth__submit:hover { transform: translateY(-1px); box-shadow: 0 16px 30px rgba(79, 61, 255, .36); }
.nv-auth .nv-auth__submit:active { transform: none; }
.nv-auth .nv-auth__submit svg { width: 20px; height: 20px; }
.nv-auth .nv-auth__form .mt-3.text-center { margin-top: 20px !important; padding-top: 18px; border-top: 1px solid #EEF0F5; font-size: 14.5px; color: var(--nv-muted); }
.nv-auth__trust { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 16px 0 0; font-size: 12.5px; color: var(--nv-muted); text-align: center; }
.nv-auth__trust .nv-ico { color: #16A34A; flex: none; }
.nv-auth .invalid-feedback, .nv-auth .text-danger { font-size: 13px; margin-top: 6px; }
@media (max-width: 991.98px) {
    .nv-auth { padding: 8px 0 24px; }
    .nv-auth__card { box-shadow: 0 10px 30px rgba(11, 16, 38, .06); }
    .nv-auth__form { padding: 22px 18px 24px !important; }
}
.nv-auth .form-control { height: 54px !important; min-height: 54px !important; line-height: normal; }
.nv-auth .input-password-toggle svg, .nv-auth .input-password-toggle .icon { width: 20px !important; height: 20px !important; stroke-width: 1.8; }
.nv-auth .input-password-toggle { color: #6B7184; }
.nv-auth .input-password-toggle svg { flex: none !important; min-width: 20px; }

/* ===================== Phone menu v3 — Amazon-style: clear headings, departments drill-down, readable language/currency ===================== */
.nv-drawer .nv-drawer__label { margin: 0 6px 10px; font-size: 16px; font-weight: 700; letter-spacing: 0; color: var(--nv-ink); }
.nv-drawer__group { margin-top: 22px; }
.nv-drawer__list > button { width: 100%; background: none; border: 0; border-bottom: 1px solid #F0F1F6; font: inherit; text-align: start; cursor: pointer; display: flex; align-items: center; gap: 12px; min-height: 54px; padding: 8px 14px; color: var(--nv-ink); }
.nv-drawer__list > button:active, .nv-drawer__list > button:hover { background: var(--nv-primary-50); }
.nv-drawer__count { flex: none; min-width: 24px; height: 22px; padding: 0 7px; border-radius: 11px; background: #F2F3F7; color: var(--nv-muted); font-size: 12px; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; }
.nv-drawer__depts > .is-extra { display: none !important; }
.nv-drawer__depts.is-expanded > .is-extra { display: flex !important; }
.nv-drawer__list > .nv-drawer__more { justify-content: center; gap: 6px; color: var(--nv-primary); font-weight: 700; font-size: 14.5px; border-bottom: 0; }
.nv-drawer__more [data-open], .nv-drawer__more.is-open [data-closed] { display: none; }
.nv-drawer__more.is-open [data-open] { display: inline; }
.nv-drawer__more-ic { transition: transform .2s; }
.nv-drawer__more.is-open .nv-drawer__more-ic { transform: rotate(180deg); }
/* language & currency pickers */
.nv-drawer__pick { border-bottom: 1px solid #F0F1F6; }
.nv-drawer__pick:last-child { border-bottom: 0; }
.nv-drawer__pick > summary { list-style: none; display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 8px 14px; cursor: pointer; }
.nv-drawer__pick > summary::-webkit-details-marker { display: none; }
.nv-drawer__pick-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.nv-drawer__pick-txt small { font-size: 12.5px; color: var(--nv-muted); }
.nv-drawer__pick-txt b { font-size: 15px; font-weight: 700; color: var(--nv-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nv-drawer__pick-change { flex: none; font-size: 13.5px; font-weight: 700; color: var(--nv-primary); padding: 6px 10px; border-radius: 10px; background: var(--nv-primary-50); }
.nv-drawer__pick[open] .nv-drawer__pick-change { background: var(--nv-primary); color: #fff; }
.nv-drawer__ic--sym { font-size: 17px; font-weight: 700; }
.nv-drawer__options { padding: 0 10px 10px; display: flex; flex-direction: column; gap: 6px; }
.nv-drawer__options a { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 8px 12px; border-radius: 12px; border: 1.5px solid #ECEEF4; color: var(--nv-ink) !important; background: #fff; }
.nv-drawer__options a b { flex: 1; min-width: 0; font-size: 15px; font-weight: 600; }
.nv-drawer__options a small { flex: none; font-size: 12.5px; font-weight: 600; color: var(--nv-muted); }
.nv-drawer__options a.is-active { border-color: var(--nv-primary); background: var(--nv-primary-50); }
.nv-drawer__flag { flex: none; display: inline-flex; width: 28px; justify-content: center; }
.nv-drawer__flag img { width: 22px; height: auto; border-radius: 3px; }
.nv-drawer__sym { flex: none; width: 36px; height: 36px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: #F2F1FF; color: var(--nv-primary); font-weight: 700; font-size: 16px; }
.nv-drawer__check { flex: none; width: 22px; height: 22px; border-radius: 50%; border: 2px solid #D5D8E2; }
.nv-drawer__options a.is-active .nv-drawer__check { border-color: var(--nv-primary); background: var(--nv-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 14px no-repeat; }
/* department drill-down */
.nv-drawer__panel { padding: 8px 12px 28px; animation: nv-drawer-in .22s ease both; }
.nv-drawer__panel[hidden] { display: none; }
.nv-drawer.is-sub .nv-drawer__main { display: none; }
@keyframes nv-drawer-in { from { opacity: 0; transform: translateX(var(--nv-in, -24px)); } to { opacity: 1; transform: none; } }
[dir="ltr"] .nv-drawer__panel { --nv-in: 24px; }
.nv-drawer__back { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 50px; margin: 6px 0 4px; padding: 0 6px; background: none; border: 0; font: inherit; font-weight: 700; font-size: 15px; color: var(--nv-primary); cursor: pointer; }
.nv-drawer__back-ic { transform: scaleX(1); }
[dir="ltr"] .nv-drawer__back-ic { transform: scaleX(-1); }
.nv-drawer__panel-title { display: flex; align-items: center; gap: 12px; margin: 4px 6px 14px; font-size: 20px; font-weight: 700; color: var(--nv-ink); }
.nv-drawer__panel .nv-drawer__list > a.is-all b { color: var(--nv-primary); }
.nv-drawer__list b { white-space: normal; overflow: visible; text-overflow: clip; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ===================== Header shortcuts (phones): Deals · New · Track order · Departments ===================== */
.nv-chip__short, .nv-chip--track { display: none !important; }
@media (max-width: 575.98px) {
    .nv-catbar { max-height: 76px; }
    .nv-catbar__scroll { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px !important; padding: 7px 0 !important; overflow: visible !important; }
    .nv-catbar__scroll > .nv-chip { display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 4px; height: 58px !important; margin: 0 !important; padding: 4px 2px !important; border-radius: 14px !important; border: 0 !important; background: #F5F6FA !important; color: var(--nv-ink) !important; font-size: 12.5px !important; font-weight: 600 !important; line-height: 1.15; text-align: center; white-space: nowrap; }
    .nv-catbar__scroll > .nv-chip svg { width: 20px; height: 20px; flex: none; opacity: 1; color: var(--nv-primary); }
    .nv-catbar__scroll > .nv-chip--hot { background: #FFF1F3 !important; color: var(--nv-coral) !important; }
    .nv-catbar__scroll > .nv-chip--hot svg { color: var(--nv-coral); }
    .nv-catbar__scroll > .nv-chip.is-active { background: var(--nv-primary-50) !important; color: var(--nv-primary) !important; box-shadow: inset 0 0 0 1.5px var(--nv-primary); }
    .nv-catbar__scroll > .nv-chip--over, .nv-catbar__sep { display: none !important; }
    .nv-catbar__scroll > .nv-chip--track { display: flex !important; }
    .nv-chip__long { display: none !important; }
    .nv-chip__short { display: inline !important; }
    .nv-catbar__scroll > .nv-chip--more { order: 9; }
}

/* ===================== Phone menu v4 — less text, cleaner ===================== */
.nv-drawer .nv-drawer__hello { margin: 0 0 12px; font-size: 17px; }
.nv-drawer__account { padding: 14px 16px; }
.nv-drawer__tile--hot .nv-ico { color: var(--nv-coral) !important; }
.nv-drawer__tile--hot { background: #FFF5F6 !important; }
.nv-drawer__group { margin-top: 20px; }
.nv-drawer .nv-drawer__label { font-size: 15px; margin-bottom: 8px; }
.nv-drawer__list > a, .nv-drawer__list > button, .nv-drawer__row { min-height: 50px; }
.nv-drawer__pick > summary { min-height: 56px; }
.nv-drawer { padding-bottom: 24px !important; }
