/* ============================================================
   VAELOR — minimalist black & white theme
   All selectors scoped under body.vaelor-theme to beat Astra.
   ============================================================ */

:root {
    --v-black:       #000000;
    --v-ink:         #0a0a0a;
    --v-graphite:    #1a1a1a;
    --v-charcoal:    #2a2a2a;
    --v-mute:        #6b6b6b;
    --v-line:        #e6e6e6;
    --v-line-dark:   #2a2a2a;
    --v-cloud:       #f5f5f5;
    --v-white:       #ffffff;

    --v-font-body:    'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --v-font-display: 'Inter Tight', 'Inter', sans-serif;

    --v-container:   1320px;
    --v-gutter:      24px;
    --v-header-h:    86px;

    --v-ease:        cubic-bezier(.22,.61,.36,1);
}

/* -------- Base over Astra -------- */
body.vaelor-theme {
    font-family: var(--v-font-body);
    font-weight: 400;
    color: var(--v-ink);
    background: var(--v-white);
    font-size: 16px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: -0.005em;
}

body.vaelor-theme p,
body.vaelor-theme li,
body.vaelor-theme a { letter-spacing: -0.005em; }

body.vaelor-theme h1,
body.vaelor-theme h2,
body.vaelor-theme h3,
body.vaelor-theme h4,
body.vaelor-theme h5,
body.vaelor-theme h6 {
    font-family: var(--v-font-display);
    font-weight: 800;
    color: var(--v-black);
    letter-spacing: -0.03em;
    line-height: 1.02;
    margin: 0 0 0.5em;
}

body.vaelor-theme a { color: inherit; text-decoration: none; }
body.vaelor-theme img { max-width: 100%; height: auto; display: block; }
body.vaelor-theme button { font-family: inherit; cursor: pointer; }

/* Astra layout neutralisation */
body.vaelor-theme .site-header,
body.vaelor-theme .ast-header-break-point .main-header-bar { display: none !important; }
body.vaelor-theme #page,
body.vaelor-theme .site { background: var(--v-white); }
body.vaelor-theme .ast-container,
body.vaelor-theme .site-content > .ast-container,
body.vaelor-theme #primary,
body.vaelor-theme #content { max-width: none; padding: 0; margin: 0; }
body.vaelor-theme .entry-content > * { max-width: none; }
body.vaelor-theme .ast-no-sidebar .entry-content .alignwide { margin-left: 0; margin-right: 0; }

/* -------- Layout primitives -------- */
body.vaelor-theme .v-container {
    width: 100%;
    max-width: var(--v-container);
    margin: 0 auto;
    padding: 0 var(--v-gutter);
    box-sizing: border-box;
}
body.vaelor-theme .v-container--wide  { max-width: 1600px; }
body.vaelor-theme .v-container--tight { max-width: 980px;  }

body.vaelor-theme .v-section { padding: 96px 0; }
body.vaelor-theme .v-section--sm { padding: 56px 0; }
body.vaelor-theme .v-section--xl { padding: 140px 0; }

body.vaelor-theme .v-eyebrow {
    display: inline-block;
    font-family: var(--v-font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--v-mute);
    margin-bottom: 18px;
}

body.vaelor-theme .v-title {
    font-size: clamp(32px, 4.5vw, 56px);
    letter-spacing: -0.035em;
    font-weight: 800;
    color: var(--v-black);
}
body.vaelor-theme .v-title--xl { font-size: clamp(48px, 8vw, 120px); }
body.vaelor-theme .v-title--sm { font-size: clamp(24px, 2.4vw, 32px); }
body.vaelor-theme .v-title--light { color: var(--v-white); }

body.vaelor-theme .v-lead {
    font-size: 17px;
    color: var(--v-mute);
    max-width: 560px;
    line-height: 1.6;
}

/* -------- Buttons -------- */
body.vaelor-theme .v-btn,
body.vaelor-theme a.v-btn,
body.vaelor-theme button.v-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 26px;
    font-family: var(--v-font-body);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border: 1px solid var(--v-black);
    background: var(--v-black);
    color: var(--v-white);
    transition: background .25s var(--v-ease), color .25s var(--v-ease), border-color .25s var(--v-ease);
    border-radius: 0;
    text-decoration: none;
    line-height: 1;
    cursor: pointer;
}
body.vaelor-theme .v-btn:hover { background: var(--v-white); color: var(--v-black); border-color: var(--v-black); }

body.vaelor-theme .v-btn--ghost { background: transparent; color: var(--v-black); }
body.vaelor-theme .v-btn--ghost:hover { background: var(--v-black); color: var(--v-white); }

body.vaelor-theme .v-btn--inverse,
body.vaelor-theme a.v-btn--inverse { background: var(--v-white); color: var(--v-black); border-color: var(--v-white); }
body.vaelor-theme .v-btn--inverse:hover { background: transparent; color: var(--v-white); border-color: var(--v-white); }

body.vaelor-theme .v-btn--outline-light,
body.vaelor-theme a.v-btn--outline-light { background: transparent; color: var(--v-white); border-color: rgba(255,255,255,.35); }
body.vaelor-theme .v-btn--outline-light:hover { background: var(--v-white); color: var(--v-black); border-color: var(--v-white); }

body.vaelor-theme .v-btn--lg { padding: 18px 34px; font-size: 14px; }
body.vaelor-theme .v-btn--sm { padding: 10px 18px; font-size: 12px; }

body.vaelor-theme .v-btn .v-arrow { display: inline-block; transition: transform .25s var(--v-ease); }
body.vaelor-theme .v-btn:hover .v-arrow { transform: translateX(4px); }

/* -------- Forms -------- */
body.vaelor-theme .v-input,
body.vaelor-theme .v-textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid var(--v-line);
    background: var(--v-white);
    color: var(--v-ink);
    font: 400 15px/1.4 var(--v-font-body);
    border-radius: 0;
    transition: border-color .2s var(--v-ease);
    box-sizing: border-box;
}
body.vaelor-theme .v-textarea { min-height: 160px; resize: vertical; }
body.vaelor-theme .v-input:focus,
body.vaelor-theme .v-textarea:focus { outline: none; border-color: var(--v-black); }
body.vaelor-theme .v-label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--v-mute);
    margin-bottom: 8px;
}

/* ============================================================
   PROMO BAR (above header)
   Inverted white-on-dark moment — single-line, dismissible.
   ============================================================ */
body.vaelor-theme .v-promo {
    position: relative;
    z-index: 101;            /* above sticky header */
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    height: 38px;
    padding: 0 var(--v-gutter);
    background: #ffffff;
    color: #0a0a0a;
    overflow: hidden;
    transition: max-height .25s var(--v-ease), opacity .2s var(--v-ease);
    max-height: 60px;
}
body.vaelor-theme .v-promo.is-dismissing {
    max-height: 0;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
}
body.vaelor-theme .v-promo__inner {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 auto;          /* center horizontally */
    font-family: var(--v-font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    line-height: 1;
    color: #0a0a0a;
    white-space: nowrap;
}
body.vaelor-theme .v-promo__icon { width: 18px; height: 18px; flex-shrink: 0; color: #0a0a0a; }
body.vaelor-theme .v-promo__close {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px; height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 0;
    color: #0a0a0a;
    cursor: pointer;
    transition: opacity .15s var(--v-ease);
    padding: 0;
}
body.vaelor-theme .v-promo__close:hover { opacity: 0.6; }
body.vaelor-theme .v-promo__close svg { width: 16px; height: 16px; }

@media (max-width: 600px) {
    body.vaelor-theme .v-promo { height: 42px; }
    body.vaelor-theme .v-promo__inner { font-size: 10.5px; letter-spacing: 0.18em; gap: 8px; padding-right: 40px; }
    body.vaelor-theme .v-promo__icon { width: 16px; height: 16px; }
}

/* ============================================================
   HEADER
   ============================================================ */
body.vaelor-theme .v-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: var(--v-white);
    border-bottom: 1px solid var(--v-line);
    transition: box-shadow .3s var(--v-ease);
}
body.vaelor-theme .v-header.is-scrolled { box-shadow: 0 1px 0 var(--v-line); }

body.vaelor-theme .v-header__inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    height: var(--v-header-h);
    gap: 24px;
}

body.vaelor-theme .v-header__logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--v-font-display);
    font-weight: 900;
    font-size: 22px;
    letter-spacing: 0.04em;
    color: var(--v-black);
    text-transform: uppercase;
}
body.vaelor-theme .v-header__logo img { max-height: 54px; width: auto; }

body.vaelor-theme .v-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 36px;
    list-style: none;
    margin: 0; padding: 0;
}
body.vaelor-theme .v-nav li { list-style: none; }
body.vaelor-theme .v-nav a {
    position: relative;
    display: inline-block;
    padding: 8px 0;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--v-ink);
    transition: color .2s var(--v-ease);
}
body.vaelor-theme .v-nav a::after {
    content: '';
    position: absolute;
    left: 0; bottom: 4px;
    width: 0; height: 1px;
    background: var(--v-black);
    transition: width .25s var(--v-ease);
}
body.vaelor-theme .v-nav a:hover::after,
body.vaelor-theme .v-nav .current-menu-item > a::after,
body.vaelor-theme .v-nav .current_page_item > a::after { width: 100%; }

/* nav submenu */
body.vaelor-theme .v-nav .sub-menu,
body.vaelor-theme .v-nav .children {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    min-width: 220px;
    padding: 14px 0;
    background: var(--v-white);
    border: 1px solid var(--v-line);
    list-style: none;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    transition: all .2s var(--v-ease);
}
body.vaelor-theme .v-nav .menu-item-has-children { position: relative; }
body.vaelor-theme .v-nav .menu-item-has-children:hover > .sub-menu,
body.vaelor-theme .v-nav .menu-item-has-children:hover > .children {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}
body.vaelor-theme .v-nav .sub-menu a {
    display: block;
    padding: 8px 22px;
    letter-spacing: 0.08em;
    text-transform: none;
    font-weight: 400;
}
body.vaelor-theme .v-nav .sub-menu a::after { display: none; }
body.vaelor-theme .v-nav .sub-menu a:hover { background: var(--v-cloud); }

body.vaelor-theme .v-header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}
body.vaelor-theme .v-icon-btn {
    width: 40px; height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: var(--v-black);
    position: relative;
    transition: opacity .2s var(--v-ease);
}
body.vaelor-theme .v-icon-btn:hover { opacity: 0.6; }
body.vaelor-theme .v-icon-btn svg { width: 20px; height: 20px; }

body.vaelor-theme .vaelor-cart-count {
    position: absolute;
    top: 4px; right: 2px;
    min-width: 16px; height: 16px;
    padding: 0 4px;
    background: var(--v-black);
    color: var(--v-white);
    font-size: 10px;
    font-weight: 700;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
body.vaelor-theme .vaelor-cart-count[data-count="0"] { display: none; }

/* Burger */
body.vaelor-theme .v-burger {
    display: none;
    width: 44px; height: 44px;
    background: transparent;
    border: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 0;
    margin-left: 2px;
    cursor: pointer;
    flex-shrink: 0;
}
body.vaelor-theme .v-burger span {
    width: 24px;
    height: 2px;
    background: var(--v-black);
    transition: transform .3s var(--v-ease), opacity .2s;
    display: block;
    border-radius: 1px;
}
body.vaelor-theme .v-burger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
body.vaelor-theme .v-burger.is-open span:nth-child(2) { opacity: 0; }
body.vaelor-theme .v-burger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile drawer — slides down below the sticky header */
body.vaelor-theme .v-drawer {
    position: fixed;
    top: var(--v-header-h);
    left: 0; right: 0;
    bottom: 0;
    background: var(--v-white);
    z-index: 90;            /* below header (100) so burger-as-X stays visible */
    transform: translateY(-110%);
    transition: transform .35s var(--v-ease);
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    visibility: hidden;
}
body.vaelor-theme .v-drawer.is-open { transform: translateY(0); visibility: visible; }

body.vaelor-theme .v-drawer__inner {
    padding: 28px var(--v-gutter) 56px;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    box-sizing: border-box;
}

/* Drawer search */
body.vaelor-theme .v-drawer__search {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid var(--v-line);
    margin-bottom: 28px;
    background: var(--v-cloud);
}
body.vaelor-theme .v-drawer__search svg {
    width: 18px; height: 18px;
    color: var(--v-mute);
    flex-shrink: 0;
}
body.vaelor-theme .v-drawer__search input {
    flex: 1;
    border: none;
    background: transparent;
    font: 400 15px/1.4 var(--v-font-body);
    color: var(--v-ink);
    outline: none;
    padding: 0;
    min-width: 0;
}
body.vaelor-theme .v-drawer__search input::placeholder { color: var(--v-mute); }

/* Drawer nav */
body.vaelor-theme .v-drawer .v-nav,
body.vaelor-theme .v-drawer__nav {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    display: flex !important;
    width: 100%;
}
body.vaelor-theme .v-drawer .v-nav li,
body.vaelor-theme .v-drawer__nav li {
    width: 100%;
    border-bottom: 1px solid var(--v-line);
    list-style: none;
}
body.vaelor-theme .v-drawer .v-nav > li:first-child { border-top: 1px solid var(--v-line); }
body.vaelor-theme .v-drawer .v-nav a,
body.vaelor-theme .v-drawer .v-nav a:link,
body.vaelor-theme .v-drawer .v-nav a:visited,
body.vaelor-theme .v-drawer .v-nav a:hover,
body.vaelor-theme .v-drawer .v-nav a:active {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 22px 4px;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--v-black) !important;
    text-decoration: none !important;
}
body.vaelor-theme .v-drawer .v-nav a::after { display: none !important; }
body.vaelor-theme .v-drawer .v-nav .menu-item-has-children > a::after {
    content: '+' !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    position: static !important;
    width: 28px !important; height: 28px !important;
    background: transparent !important;
    color: var(--v-mute);
    font-size: 22px;
    font-weight: 300;
    line-height: 1;
    transition: transform .25s var(--v-ease);
}
/* Flip + into - when parent is open */
body.vaelor-theme .v-drawer .v-nav .menu-item-has-children.is-open > a::after {
    content: '\2212' !important; /* minus sign (U+2212) */
    color: var(--v-black);
}

/* ----- Submenu: collapsed by default, expanded when parent .is-open ----- */
body.vaelor-theme .v-drawer .v-nav .sub-menu,
body.vaelor-theme .v-drawer .v-nav ul.sub-menu,
body.vaelor-theme .v-drawer .v-nav .children {
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    border: none !important;
    background: transparent !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s var(--v-ease), padding .3s var(--v-ease);
    width: 100%;
}
body.vaelor-theme .v-drawer .v-nav .menu-item-has-children.is-open > .sub-menu,
body.vaelor-theme .v-drawer .v-nav .menu-item-has-children.is-open > ul.sub-menu,
body.vaelor-theme .v-drawer .v-nav .menu-item-has-children.is-open > .children {
    max-height: 1000px;
    padding: 6px 0 18px 8px !important;
}

/* Submenu items — strip every inherited v-nav <a> style */
body.vaelor-theme .v-drawer .v-nav .sub-menu li,
body.vaelor-theme .v-drawer .v-nav ul.sub-menu li {
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: 100% !important;
    display: block !important;
    background: transparent !important;
}

body.vaelor-theme .v-drawer .v-nav .sub-menu li a,
body.vaelor-theme .v-drawer .v-nav ul.sub-menu li a,
body.vaelor-theme .v-drawer .v-nav .sub-menu li a:link,
body.vaelor-theme .v-drawer .v-nav .sub-menu li a:visited,
body.vaelor-theme .v-drawer .v-nav .sub-menu li a:hover,
body.vaelor-theme .v-drawer .v-nav .sub-menu li a:active {
    display: block !important;
    padding: 12px 4px !important;
    margin: 0 !important;
    font-family: var(--v-font-body) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: var(--v-ink) !important;
    text-decoration: none !important;
    background: transparent !important;
    line-height: 1.4 !important;
    justify-content: flex-start !important;
    border: none !important;
}
body.vaelor-theme .v-drawer .v-nav .sub-menu li a:hover { color: var(--v-black) !important; }
body.vaelor-theme .v-drawer .v-nav .sub-menu li a::after,
body.vaelor-theme .v-drawer .v-nav .sub-menu li a::before {
    display: none !important;
    content: none !important;
}

/* When a parent menu item has children, its anchor becomes a toggle button feel */
body.vaelor-theme .v-drawer .v-nav .menu-item-has-children > a {
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: rgba(0,0,0,0.04);
}

/* Drawer footer (account + cart shortcuts) */
body.vaelor-theme .v-drawer__footer {
    margin-top: 40px;
    padding-top: 24px;
    border-top: 1px solid var(--v-line);
    display: flex;
    flex-direction: column;
    gap: 4px;
}
body.vaelor-theme .v-drawer__link,
body.vaelor-theme .v-drawer__link:link,
body.vaelor-theme .v-drawer__link:visited,
body.vaelor-theme .v-drawer__link:hover,
body.vaelor-theme .v-drawer__link:active {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 4px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--v-black) !important;
    border-bottom: 1px solid var(--v-line);
    text-decoration: none !important;
}
body.vaelor-theme .v-drawer__link:last-child { border-bottom: none; }
body.vaelor-theme .v-drawer__link svg { width: 18px; height: 18px; color: var(--v-mute); flex-shrink: 0; }
body.vaelor-theme .v-drawer__link em {
    font-style: normal;
    color: var(--v-mute);
    margin-left: 6px;
    font-weight: 400;
}
body.vaelor-theme .v-drawer__count[data-count="0"] { display: none; }

/* ============================================================
   HOMEPAGE — Hero
   ============================================================ */
body.vaelor-theme .v-hero {
    position: relative;
    min-height: calc(100vh - var(--v-header-h));
    display: flex;
    align-items: center;
    color: var(--v-white);
    background: var(--v-black);
    overflow: hidden;
}
body.vaelor-theme .v-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}
body.vaelor-theme .v-hero__bg img {
    width: 100%; height: 100%;
    object-fit: cover;
    opacity: 0.55;
}
body.vaelor-theme .v-hero__bg::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.75) 100%);
}
/* When no hero image, use a subtle radial as backdrop */
body.vaelor-theme .v-hero--no-image {
    background:
        radial-gradient(ellipse at 30% 20%, rgba(255,255,255,0.06) 0%, transparent 50%),
        radial-gradient(ellipse at 70% 80%, rgba(255,255,255,0.04) 0%, transparent 50%),
        var(--v-black);
}
body.vaelor-theme .v-hero__inner { position: relative; z-index: 1; padding: 80px 0; width: 100%; }

body.vaelor-theme .v-hero__eyebrow {
    color: rgba(255,255,255,.7);
    margin-bottom: 24px;
    opacity: 0;
    animation: vRise .8s var(--v-ease) .1s forwards;
}
body.vaelor-theme .v-hero__title,
body.vaelor-theme h1.v-hero__title {
    color: var(--v-white);
    font-size: clamp(56px, 11vw, 160px);
    line-height: 0.88;
    letter-spacing: -0.045em;
    font-weight: 900;
    margin-bottom: 28px;
    opacity: 0;
    animation: vRise .9s var(--v-ease) .25s forwards;
}
body.vaelor-theme .v-hero__title em {
    font-style: normal;
    -webkit-text-stroke: 1.5px var(--v-white);
    color: transparent;
    display: block;
}
body.vaelor-theme .v-hero__lead {
    color: rgba(255,255,255,.78);
    font-size: 17px;
    letter-spacing: 0.01em;
    max-width: 480px;
    margin-bottom: 40px;
    opacity: 0;
    animation: vRise .9s var(--v-ease) .4s forwards;
    line-height: 1.55;
}
body.vaelor-theme .v-hero__cta {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    opacity: 0;
    animation: vRise .9s var(--v-ease) .55s forwards;
}
body.vaelor-theme .v-hero__meta {
    position: absolute;
    bottom: 32px; left: var(--v-gutter); right: var(--v-gutter);
    display: flex;
    justify-content: space-between;
    align-items: end;
    color: rgba(255,255,255,.6);
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    z-index: 1;
}

@keyframes vRise {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   FEATURE STRIP
   ============================================================ */
body.vaelor-theme .v-features {
    background: var(--v-black);
    color: var(--v-white);
    padding: 72px 0;
    border-top: 1px solid var(--v-line-dark);
}
body.vaelor-theme .v-features__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
}
body.vaelor-theme .v-feature {
    text-align: center;
    padding: 24px 28px;
    border-right: 1px solid var(--v-line-dark);
}
body.vaelor-theme .v-feature:last-child { border-right: none; }
body.vaelor-theme .v-feature__icon {
    width: 44px; height: 44px;
    margin: 0 auto 20px;
    color: var(--v-white);
}
body.vaelor-theme .v-feature__icon svg { width: 100%; height: 100%; }
body.vaelor-theme .v-feature__title,
body.vaelor-theme h3.v-feature__title {
    color: var(--v-white);
    font-family: var(--v-font-body);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-bottom: 8px;
}
body.vaelor-theme .v-feature__text {
    font-size: 13px;
    color: rgba(255,255,255,.55);
    line-height: 1.5;
    margin: 0;
}

/* ============================================================
   SECTION HEADERS
   ============================================================ */
body.vaelor-theme .v-section-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    margin-bottom: 56px;
    border-bottom: 1px solid var(--v-line);
    padding-bottom: 28px;
}
body.vaelor-theme .v-section-head__main h2 { margin: 0; }
body.vaelor-theme .v-section-head__link {
    font-size: 12px;
    letter-spacing: 0.18em;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--v-ink);
    display: inline-flex;
    gap: 8px;
    align-items: center;
    border-bottom: 1px solid var(--v-black);
    padding-bottom: 4px;
    white-space: nowrap;
}
body.vaelor-theme .v-section-head__link:hover .v-arrow { transform: translateX(4px); }

/* ============================================================
   FEATURED PRODUCTS
   ============================================================ */
body.vaelor-theme .v-products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: var(--v-line);
    border: 1px solid var(--v-line);
}
body.vaelor-theme .v-product {
    background: var(--v-white);
    display: flex;
    flex-direction: column;
    position: relative;
    transition: background .2s var(--v-ease);
}
body.vaelor-theme .v-product:hover { background: var(--v-cloud); }
body.vaelor-theme .v-product__media {
    aspect-ratio: 4/5;
    background: var(--v-cloud);
    overflow: hidden;
    position: relative;
}
body.vaelor-theme .v-product__media img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform .6s var(--v-ease);
}
body.vaelor-theme .v-product:hover .v-product__media img { transform: scale(1.04); }

body.vaelor-theme .v-product__badge {
    position: absolute;
    top: 14px; left: 14px;
    background: var(--v-black);
    color: var(--v-white);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    padding: 6px 10px;
    z-index: 2;
}
body.vaelor-theme .v-product__body {
    padding: 20px 22px 24px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
body.vaelor-theme .v-product__cat {
    font-size: 10px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--v-mute);
}
body.vaelor-theme .v-product__title,
body.vaelor-theme h3.v-product__title {
    font-family: var(--v-font-body);
    font-size: 15px;
    font-weight: 600;
    color: var(--v-black);
    letter-spacing: 0;
    line-height: 1.3;
    margin: 0;
}
body.vaelor-theme .v-product__price {
    font-size: 14px;
    font-weight: 500;
    color: var(--v-ink);
    margin-top: 6px;
}
body.vaelor-theme .v-product__price del { color: var(--v-mute); margin-right: 8px; font-weight: 400; }
body.vaelor-theme .v-product__price ins { text-decoration: none; }

body.vaelor-theme .v-product__link {
    position: absolute;
    inset: 0;
    z-index: 1;
    text-indent: -9999px;
}

/* ============================================================
   CATEGORY SHOWCASE
   ============================================================ */
body.vaelor-theme .v-cats-section { background: var(--v-cloud); }
body.vaelor-theme .v-cats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);  /* 2x2 layout */
    gap: 16px;
}
body.vaelor-theme .v-cats .v-cat { aspect-ratio: 16/9; }
body.vaelor-theme .v-cats .v-cat__name { font-size: clamp(26px, 2.6vw, 36px); }
body.vaelor-theme .v-cat,
body.vaelor-theme a.v-cat {
    position: relative;
    aspect-ratio: 3/4;
    overflow: hidden;
    background: var(--v-black);
    color: var(--v-white) !important;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 24px;
    text-decoration: none;
}
body.vaelor-theme .v-cat:hover,
body.vaelor-theme a.v-cat:hover { color: var(--v-white) !important; }
/* fallback pattern for categories without thumbnails */
body.vaelor-theme .v-cat--no-image {
    background:
        repeating-linear-gradient(45deg, rgba(255,255,255,0.04) 0 1px, transparent 1px 14px),
        radial-gradient(circle at 30% 30%, rgba(255,255,255,0.08) 0%, transparent 50%),
        var(--v-black);
}
body.vaelor-theme .v-cat img {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    opacity: 0.55;
    transition: opacity .3s var(--v-ease), transform .6s var(--v-ease);
    z-index: 0;
}
body.vaelor-theme .v-cat:hover img { opacity: 0.7; transform: scale(1.04); }

body.vaelor-theme .v-cat__top {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: flex-end;
}
body.vaelor-theme .v-cat__num {
    font-family: var(--v-font-display);
    font-weight: 800;
    font-size: 11px;
    letter-spacing: 0.22em;
    color: rgba(255,255,255,0.5);
}
body.vaelor-theme .v-cat__label {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 12px;
    color: var(--v-white);
}
body.vaelor-theme .v-cat__name {
    font-family: var(--v-font-display);
    font-weight: 800;
    font-size: clamp(20px, 1.8vw, 26px);
    letter-spacing: -0.02em;
    color: var(--v-white);
    line-height: 1.05;
}
body.vaelor-theme .v-cat__count {
    font-family: var(--v-font-body);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.65);
    white-space: nowrap;
}
body.vaelor-theme .v-cat__arrow {
    position: absolute;
    top: 24px; left: 24px;
    z-index: 1;
    color: var(--v-white);
    font-size: 18px;
    opacity: 0;
    transform: translate(-6px, 6px);
    transition: opacity .25s var(--v-ease), transform .25s var(--v-ease);
}
body.vaelor-theme .v-cat:hover .v-cat__arrow { opacity: 1; transform: translate(0,0); }

/* ============================================================
   CTA banner
   ============================================================ */
body.vaelor-theme .v-cta {
    background: var(--v-black);
    color: var(--v-white);
    text-align: center;
    padding: 120px 24px;
}
body.vaelor-theme .v-cta h2,
body.vaelor-theme h2.v-cta__title {
    color: var(--v-white);
    font-size: clamp(40px, 6vw, 80px);
    letter-spacing: -0.04em;
    max-width: 900px;
    margin: 0 auto 32px;
}
body.vaelor-theme .v-cta p {
    color: rgba(255,255,255,.65);
    max-width: 520px;
    margin: 0 auto 40px;
    font-size: 16px;
    line-height: 1.6;
}

/* ============================================================
   WHY VAELOR (homepage section)
   ============================================================ */
body.vaelor-theme .v-why {
    background: var(--v-black);
    color: var(--v-white);
}
body.vaelor-theme .v-why .v-section-head {
    border-bottom-color: var(--v-line-dark);
}
body.vaelor-theme .v-why__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-top: 1px solid var(--v-line-dark);
}
body.vaelor-theme .v-why__item {
    padding: 56px 40px 56px 0;
    border-right: 1px solid var(--v-line-dark);
    position: relative;
}
body.vaelor-theme .v-why__item:not(:first-child) { padding-left: 40px; }
body.vaelor-theme .v-why__item:last-child { border-right: none; }
body.vaelor-theme .v-why__num {
    font-family: var(--v-font-display);
    font-weight: 800;
    font-size: 13px;
    letter-spacing: 0.22em;
    color: rgba(255,255,255,.4);
    margin-bottom: 32px;
}
body.vaelor-theme .v-why__item h3 {
    color: var(--v-white);
    font-size: clamp(22px, 2vw, 28px);
    letter-spacing: -0.02em;
    margin-bottom: 16px;
}
body.vaelor-theme .v-why__item p {
    color: rgba(255,255,255,.6);
    font-size: 15px;
    line-height: 1.65;
    margin: 0;
    max-width: 360px;
}

/* ============================================================
   ABOUT page
   ============================================================ */
body.vaelor-theme .v-page-hero {
    background: var(--v-black);
    color: var(--v-white);
    padding: 140px 0 100px;
    position: relative;
    overflow: hidden;
}
body.vaelor-theme .v-page-hero__bg {
    position: absolute; inset: 0;
    background:
        radial-gradient(ellipse at 20% 30%, rgba(255,255,255,0.07) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 70%, rgba(255,255,255,0.04) 0%, transparent 50%);
}
body.vaelor-theme .v-page-hero__inner {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: end;
}
body.vaelor-theme .v-page-hero h1,
body.vaelor-theme h1.v-page-hero__title {
    color: var(--v-white);
    font-size: clamp(48px, 8vw, 120px);
    line-height: 0.95;
    letter-spacing: -0.04em;
    margin: 0;
}
body.vaelor-theme .v-page-hero__lead {
    color: rgba(255,255,255,.65);
    font-size: 17px;
    line-height: 1.6;
    max-width: 460px;
}

body.vaelor-theme .v-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}
body.vaelor-theme .v-split--flip > div:first-child { order: 2; }
body.vaelor-theme .v-split__media {
    aspect-ratio: 4/5;
    background: var(--v-cloud);
    overflow: hidden;
}
body.vaelor-theme .v-split__media img { width: 100%; height: 100%; object-fit: cover; }
body.vaelor-theme .v-split__title {
    font-size: clamp(28px, 3.5vw, 48px);
    margin-bottom: 24px;
}
body.vaelor-theme .v-split p {
    color: var(--v-mute);
    font-size: 16px;
    line-height: 1.7;
    margin: 0 0 16px;
}

body.vaelor-theme .v-values {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--v-line);
    border: 1px solid var(--v-line);
}
body.vaelor-theme .v-value {
    background: var(--v-white);
    padding: 48px 40px;
}
body.vaelor-theme .v-value__num {
    font-family: var(--v-font-display);
    font-weight: 800;
    font-size: 14px;
    letter-spacing: 0.18em;
    color: var(--v-mute);
    margin-bottom: 28px;
}
body.vaelor-theme .v-value h3 {
    font-size: 22px;
    margin-bottom: 14px;
    letter-spacing: -0.02em;
}
body.vaelor-theme .v-value p {
    color: var(--v-mute);
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

body.vaelor-theme .v-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border-top: 1px solid var(--v-line);
    border-bottom: 1px solid var(--v-line);
}
body.vaelor-theme .v-stat {
    padding: 56px 32px;
    text-align: left;
    border-right: 1px solid var(--v-line);
}
body.vaelor-theme .v-stat:last-child { border-right: none; }
body.vaelor-theme .v-stat__num {
    font-family: var(--v-font-display);
    font-weight: 800;
    font-size: clamp(40px, 5vw, 64px);
    line-height: 1;
    letter-spacing: -0.04em;
    color: var(--v-black);
    margin-bottom: 12px;
}
body.vaelor-theme .v-stat__label {
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--v-mute);
}

/* ============================================================
   CONTACT page
   ============================================================ */
body.vaelor-theme .v-contact {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 80px;
}
body.vaelor-theme .v-contact__info h2 {
    font-size: clamp(28px, 3vw, 40px);
    margin-bottom: 24px;
}
body.vaelor-theme .v-contact__info p { color: var(--v-mute); margin: 0 0 32px; line-height: 1.6; }

body.vaelor-theme .v-contact__details {
    display: flex;
    flex-direction: column;
    gap: 28px;
    margin-top: 40px;
    padding-top: 32px;
    border-top: 1px solid var(--v-line);
}
body.vaelor-theme .v-contact__detail h4 {
    font-family: var(--v-font-body);
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--v-mute);
    font-weight: 600;
    margin: 0 0 8px;
}
body.vaelor-theme .v-contact__detail p,
body.vaelor-theme .v-contact__detail a {
    font-size: 16px;
    color: var(--v-black);
    margin: 0;
    text-decoration: none;
    line-height: 1.5;
}
body.vaelor-theme .v-contact__detail a:hover { border-bottom: 1px solid var(--v-black); }

body.vaelor-theme .v-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
body.vaelor-theme .v-form__field { display: flex; flex-direction: column; }
body.vaelor-theme .v-form__field--full { grid-column: 1 / -1; }
body.vaelor-theme .v-form__submit { grid-column: 1 / -1; display: flex; justify-content: flex-start; }
body.vaelor-theme .v-form__msg {
    grid-column: 1 / -1;
    min-height: 20px;
    font-size: 13px;
    color: var(--v-mute);
}
body.vaelor-theme .v-form__msg.is-success { color: var(--v-black); font-weight: 600; }
body.vaelor-theme .v-form__msg.is-error { color: #b00020; }

/* ============================================================
   FOOTER
   ============================================================ */
body.vaelor-theme .v-footer {
    background: var(--v-black);
    color: rgba(255,255,255,.65);
    padding: 80px 0 32px;
    border-top: 1px solid var(--v-line-dark);
}
body.vaelor-theme .v-footer__grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1.4fr;
    gap: 48px;
    margin-bottom: 56px;
}
body.vaelor-theme .v-footer__brand .v-header__logo {
    color: var(--v-white);
    margin-bottom: 16px;
}
body.vaelor-theme .v-footer__tag {
    font-size: 14px;
    line-height: 1.6;
    max-width: 280px;
    color: rgba(255,255,255,.55);
}
body.vaelor-theme .v-footer h4 {
    color: var(--v-white);
    font-family: var(--v-font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    margin-bottom: 22px;
}
body.vaelor-theme .v-footer__links {
    list-style: none;
    margin: 0; padding: 0;
    display: flex; flex-direction: column;
    gap: 12px;
}
body.vaelor-theme .v-footer__links li { list-style: none; }
body.vaelor-theme .v-footer__links a {
    color: rgba(255,255,255,.55);
    font-size: 14px;
    transition: color .2s var(--v-ease);
}
body.vaelor-theme .v-footer__links a:hover { color: var(--v-white); }

body.vaelor-theme .v-newsletter { display: flex; flex-direction: column; gap: 14px; }
body.vaelor-theme .v-newsletter p {
    font-size: 13px;
    color: rgba(255,255,255,.55);
    margin: 0;
    line-height: 1.5;
}
body.vaelor-theme .v-newsletter__form {
    display: flex;
    border: 1px solid rgba(255,255,255,.2);
    background: transparent;
}
body.vaelor-theme .v-newsletter__form input {
    flex: 1;
    background: transparent;
    border: none;
    padding: 14px 16px;
    color: var(--v-white);
    font: 400 14px var(--v-font-body);
}
body.vaelor-theme .v-newsletter__form input::placeholder { color: rgba(255,255,255,.4); }
body.vaelor-theme .v-newsletter__form input:focus { outline: none; }
body.vaelor-theme .v-newsletter__form button {
    border: none;
    background: var(--v-white);
    color: var(--v-black);
    padding: 0 22px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    transition: background .2s var(--v-ease);
}
body.vaelor-theme .v-newsletter__form button:hover { background: var(--v-cloud); }
body.vaelor-theme .v-newsletter__msg {
    font-size: 12px;
    color: rgba(255,255,255,.55);
    min-height: 16px;
}

body.vaelor-theme .v-footer__bottom {
    border-top: 1px solid var(--v-line-dark);
    padding-top: 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    font-size: 12px;
    letter-spacing: 0.08em;
    color: rgba(255,255,255,.45);
}
body.vaelor-theme .v-socials {
    display: flex;
    gap: 14px;
}
body.vaelor-theme .v-socials a {
    width: 34px; height: 34px;
    border: 1px solid rgba(255,255,255,.2);
    display: inline-flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,.7);
    transition: all .2s var(--v-ease);
}
body.vaelor-theme .v-socials a:hover {
    background: var(--v-white);
    color: var(--v-black);
    border-color: var(--v-white);
}
body.vaelor-theme .v-socials svg { width: 14px; height: 14px; }

body.vaelor-theme .v-pay {
    display: flex;
    align-items: center;
    gap: 8px;
    opacity: 0.5;
}
body.vaelor-theme .v-pay svg { height: 22px; width: auto; }

/* ============================================================
   WOOCOMMERCE — full pass
   ============================================================ */
body.vaelor-theme.woocommerce,
body.vaelor-theme.woocommerce-page {
    background: var(--v-white);
    color: var(--v-ink);
}

/* Master wrapper around all WC pages */
body.vaelor-theme .v-wc-wrap {
    padding: 80px 0 120px;
    background: var(--v-white);
    color: var(--v-ink);
}
body.vaelor-theme.single-product .v-wc-wrap { padding-top: 56px; }

/* Force white background on all WC pages (defeats Astra/Elementor dark page settings) */
body.vaelor-theme.woocommerce,
body.vaelor-theme.woocommerce-page,
body.vaelor-theme.single-product,
body.vaelor-theme.archive.woocommerce {
    background: var(--v-white) !important;
    color: var(--v-ink) !important;
}
body.vaelor-theme.single-product #page,
body.vaelor-theme.single-product .site,
body.vaelor-theme.single-product #content,
body.vaelor-theme.single-product .site-content,
body.vaelor-theme.woocommerce #page,
body.vaelor-theme.woocommerce .site,
body.vaelor-theme.woocommerce #content,
body.vaelor-theme.woocommerce .site-content { background: var(--v-white) !important; }

/* Reset astra padding on WC pages */
body.vaelor-theme.woocommerce .woocommerce,
body.vaelor-theme.woocommerce-page .woocommerce { padding: 0; margin: 0; max-width: none; }

/* ---------- Breadcrumbs ---------- */
body.vaelor-theme .v-wc-crumbs,
body.vaelor-theme .woocommerce-breadcrumb {
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--v-mute);
    margin-bottom: 40px;
    font-weight: 500;
}
body.vaelor-theme .v-wc-crumbs a,
body.vaelor-theme .woocommerce-breadcrumb a { color: var(--v-mute); }
body.vaelor-theme .v-wc-crumbs a:hover,
body.vaelor-theme .woocommerce-breadcrumb a:hover { color: var(--v-black); }

/* ---------- Shop "by category" section (after products on /shop) ---------- */
body.vaelor-theme .v-shop-cats-section {
    margin-top: 96px;
    padding-top: 80px;
    border-top: 1px solid var(--v-line);
}
body.vaelor-theme .v-shop-cats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 16px;
}
body.vaelor-theme .v-shop-cats__item {
    aspect-ratio: 16/9;
    padding: 32px;
}
body.vaelor-theme .v-shop-cats__item .v-cat__name {
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1;
}

/* ---------- Filter toolbar (category archive) ---------- */
body.vaelor-theme .v-shop-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 20px 0;
    border-top: 1px solid var(--v-line);
    border-bottom: 1px solid var(--v-line);
    margin-bottom: 32px;
    flex-wrap: wrap;
}
body.vaelor-theme .v-shop-toolbar__right {
    display: flex;
    align-items: center;
    gap: 16px;
}

/* Grid / List view toggle */
body.vaelor-theme .v-view-toggle {
    display: inline-flex;
    border: 1px solid var(--v-line);
}
body.vaelor-theme .v-view-toggle__btn {
    width: 40px; height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--v-white);
    border: none;
    color: var(--v-mute);
    cursor: pointer;
    transition: background .2s var(--v-ease), color .2s var(--v-ease);
    padding: 0;
}
body.vaelor-theme .v-view-toggle__btn + .v-view-toggle__btn { border-left: 1px solid var(--v-line); }
body.vaelor-theme .v-view-toggle__btn svg { width: 18px; height: 18px; }
body.vaelor-theme .v-view-toggle__btn:hover { color: var(--v-black); }
body.vaelor-theme .v-view-toggle__btn.is-active { background: var(--v-black); color: var(--v-white); }

/* ---- LIST VIEW for products ---- */
body.vaelor-theme .woocommerce ul.products.is-list-view,
body.vaelor-theme .woocommerce-page ul.products.is-list-view {
    grid-template-columns: 1fr;
    background: transparent;
    border: none;
    gap: 0;
}
body.vaelor-theme .woocommerce ul.products.is-list-view li.product {
    flex-direction: row;
    align-items: stretch;
    padding: 0 !important;
    border-bottom: 1px solid var(--v-line);
    background: var(--v-white) !important;
}
body.vaelor-theme .woocommerce ul.products.is-list-view li.product:first-child { border-top: 1px solid var(--v-line); }
body.vaelor-theme .woocommerce ul.products.is-list-view li.product:hover { background: var(--v-cloud) !important; }
body.vaelor-theme .woocommerce ul.products.is-list-view li.product .v-product__media {
    width: 200px;
    aspect-ratio: 4/5;
    flex-shrink: 0;
}
body.vaelor-theme .woocommerce ul.products.is-list-view li.product .v-product__body {
    flex: 1;
    padding: 28px 32px;
    justify-content: center;
    gap: 10px;
}
body.vaelor-theme .woocommerce ul.products.is-list-view li.product .v-product__title { font-size: 20px; }
body.vaelor-theme .woocommerce ul.products.is-list-view li.product .v-product__price { font-size: 18px; margin-top: 4px; }
body.vaelor-theme .v-shop-toolbar .woocommerce-result-count { margin: 0; }
body.vaelor-theme .v-shop-toolbar .woocommerce-ordering { margin: 0; }

body.vaelor-theme .v-price-filter {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
body.vaelor-theme .v-price-filter__label {
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--v-mute);
    font-weight: 600;
    margin-right: 4px;
}
body.vaelor-theme .v-price-filter__input {
    width: 80px;
    padding: 10px 12px;
    font-size: 13px;
    text-align: center;
    -moz-appearance: textfield;
}
body.vaelor-theme .v-price-filter__input::-webkit-outer-spin-button,
body.vaelor-theme .v-price-filter__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
body.vaelor-theme .v-price-filter__sep { color: var(--v-mute); }
body.vaelor-theme .v-price-filter__reset {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--v-mute);
    border-bottom: 1px solid var(--v-mute);
    padding-bottom: 1px;
    margin-left: 4px;
}
body.vaelor-theme .v-price-filter__reset:hover { color: var(--v-black); border-color: var(--v-black); }

/* ---------- Shop archive top bar ---------- */
body.vaelor-theme .woocommerce-result-count {
    font-size: 12px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--v-mute);
    margin: 0;
    font-weight: 500;
}
body.vaelor-theme .woocommerce-ordering { margin: 0; }
body.vaelor-theme .woocommerce-ordering select {
    border: 1px solid var(--v-line);
    border-radius: 0;
    padding: 12px 36px 12px 16px;
    background: var(--v-white);
    color: var(--v-black);
    font-family: var(--v-font-body);
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 500;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none' stroke='%23000' stroke-width='1.5'><path d='M1 1l4 4 4-4'/></svg>");
    background-repeat: no-repeat;
    background-position: right 14px center;
}

/* ---------- Product grid (shop archive + categories) ---------- */
body.vaelor-theme .woocommerce ul.products,
body.vaelor-theme .woocommerce-page ul.products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: var(--v-line);
    border: 1px solid var(--v-line);
    list-style: none;
    margin: 32px 0 56px !important;
    padding: 0 !important;
}
body.vaelor-theme .woocommerce ul.products li.product,
body.vaelor-theme .woocommerce-page ul.products li.product {
    background: var(--v-white);
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: background .2s var(--v-ease);
}
body.vaelor-theme .woocommerce ul.products li.product:hover { background: var(--v-cloud); }

/* hide default loop add-to-cart on shop — keep cards clean */
body.vaelor-theme .woocommerce ul.products li.product .button,
body.vaelor-theme .woocommerce ul.products li.product .added_to_cart { display: none !important; }

/* product card structure (matches our content-product.php) */
body.vaelor-theme .v-product__media { aspect-ratio: 4/5; }

/* Pagination */
body.vaelor-theme .woocommerce nav.woocommerce-pagination ul {
    border: none !important;
    display: flex;
    justify-content: center;
    gap: 4px;
    margin: 56px 0 0 !important;
}
body.vaelor-theme .woocommerce nav.woocommerce-pagination ul li {
    border: none !important;
    margin: 0 !important;
}
body.vaelor-theme .woocommerce nav.woocommerce-pagination ul li a,
body.vaelor-theme .woocommerce nav.woocommerce-pagination ul li span {
    border: 1px solid var(--v-line) !important;
    background: var(--v-white) !important;
    color: var(--v-black) !important;
    min-width: 40px !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    border-radius: 0 !important;
    line-height: 1 !important;
}
body.vaelor-theme .woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--v-black) !important;
    color: var(--v-white) !important;
    border-color: var(--v-black) !important;
}

/* ---------- Sale badge ---------- */
body.vaelor-theme .woocommerce span.onsale,
body.vaelor-theme ul.products li.product .onsale {
    background: var(--v-black) !important;
    color: var(--v-white) !important;
    border-radius: 0 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    min-height: auto !important;
    min-width: auto !important;
    padding: 6px 10px !important;
    line-height: 1 !important;
    top: 14px !important; left: 14px !important; right: auto !important;
    margin: 0 !important;
    font-family: var(--v-font-body) !important;
}

/* ---------- WC Buttons (global) ---------- */
body.vaelor-theme .woocommerce a.button,
body.vaelor-theme .woocommerce button.button,
body.vaelor-theme .woocommerce input.button,
body.vaelor-theme .woocommerce #respond input#submit,
body.vaelor-theme .woocommerce .button.alt,
body.vaelor-theme .woocommerce-page a.button,
body.vaelor-theme .woocommerce-page button.button,
body.vaelor-theme .woocommerce-page input.button {
    background: var(--v-black) !important;
    color: var(--v-white) !important;
    border-radius: 0 !important;
    padding: 14px 26px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    border: 1px solid var(--v-black) !important;
    transition: background .2s var(--v-ease), color .2s var(--v-ease) !important;
    box-shadow: none !important;
    font-family: var(--v-font-body) !important;
    line-height: 1 !important;
}
body.vaelor-theme .woocommerce a.button:hover,
body.vaelor-theme .woocommerce button.button:hover,
body.vaelor-theme .woocommerce .button.alt:hover,
body.vaelor-theme .woocommerce #respond input#submit:hover {
    background: var(--v-white) !important;
    color: var(--v-black) !important;
}

/* Disabled add-to-cart button (variable products before variation chosen) */
body.vaelor-theme .woocommerce button.button:disabled,
body.vaelor-theme .woocommerce button.button[disabled],
body.vaelor-theme .woocommerce button.button.disabled,
body.vaelor-theme .woocommerce button.single_add_to_cart_button.disabled,
body.vaelor-theme .woocommerce button.single_add_to_cart_button.wc-variation-selection-needed {
    background: var(--v-black) !important;
    color: var(--v-white) !important;
    opacity: 0.35 !important;
    cursor: not-allowed !important;
    border-color: var(--v-black) !important;
}

/* Variation dropdowns (size, color etc.) — readable fallback before JS upgrades them */
body.vaelor-theme .woocommerce div.product form.cart .variations select {
    border: 1px solid var(--v-line) !important;
    background: var(--v-white) !important;
    color: var(--v-ink) !important;
    padding: 12px 36px 12px 14px !important;
    font-family: var(--v-font-body) !important;
    font-size: 14px !important;
    min-height: 46px !important;
    border-radius: 0 !important;
    width: 100% !important;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none' stroke='%23000' stroke-width='1.5'><path d='M1 1l4 4 4-4'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
}

/* Once JS upgrades a select to pills, fully hide it (kept in DOM for WC's logic) */
body.vaelor-theme .woocommerce div.product form.cart .variations select.v-pills-source {
    display: none !important;
}

/* Pill group */
body.vaelor-theme .v-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 2px;
}
body.vaelor-theme .v-pill {
    min-width: 56px;
    padding: 12px 18px;
    background: var(--v-white);
    border: 1px solid var(--v-line);
    color: var(--v-ink);
    font: 600 13px/1 var(--v-font-body);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .15s var(--v-ease), color .15s var(--v-ease), border-color .15s var(--v-ease), box-shadow .15s var(--v-ease), transform .1s var(--v-ease);
    border-radius: 0;
    text-align: center;
    user-select: none;
}
body.vaelor-theme .v-pill:hover:not(.is-disabled):not(.is-selected) {
    border-color: var(--v-black);
    color: var(--v-black);
}
body.vaelor-theme .v-pill:active:not(.is-disabled) { transform: scale(0.97); }

/* Selected: white bg, black text, double-line frame so it reads "picked" without going dark */
body.vaelor-theme .v-pill.is-selected,
body.vaelor-theme .v-pill.is-selected:hover {
    background: var(--v-white) !important;
    color: var(--v-black) !important;
    border-color: var(--v-black) !important;
    box-shadow: inset 0 0 0 1px var(--v-black);
}
body.vaelor-theme .v-pill.is-disabled {
    color: var(--v-line);
    border-color: var(--v-line);
    background: var(--v-cloud);
    cursor: not-allowed;
    position: relative;
    text-decoration: line-through;
    text-decoration-thickness: 1px;
}

/* Reset variations link — keep visible and on-brand */
body.vaelor-theme .woocommerce div.product form.cart .reset_variations {
    display: inline-block !important;
    visibility: visible !important;
    margin-top: 10px;
    font-size: 11px !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: var(--v-mute) !important;
    border-bottom: 1px solid var(--v-mute);
    padding-bottom: 1px;
    text-decoration: none !important;
}
body.vaelor-theme .woocommerce div.product form.cart .reset_variations:hover {
    color: var(--v-black) !important;
    border-color: var(--v-black);
}

/* The label row above each pill group ("Size" etc.) */
body.vaelor-theme .woocommerce div.product form.cart .variations tbody tr {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 18px;
}
body.vaelor-theme .woocommerce div.product form.cart .variations label {
    font-size: 11px !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    color: var(--v-black) !important;
    margin: 0 !important;
}

/* Product meta (SKU, Category) — keep readable */
body.vaelor-theme.single-product .product_meta,
body.vaelor-theme.single-product .product_meta * {
    color: var(--v-mute) !important;
    background: transparent !important;
}
body.vaelor-theme.single-product .product_meta a { color: var(--v-black) !important; }

/* Short description list bullets */
body.vaelor-theme.single-product .woocommerce-product-details__short-description ul,
body.vaelor-theme.single-product .woocommerce-product-details__short-description ol {
    margin: 0; padding: 0; list-style: none;
}
body.vaelor-theme.single-product .woocommerce-product-details__short-description li {
    padding: 6px 0;
    color: var(--v-mute);
    font-size: 14px;
    line-height: 1.6;
}
body.vaelor-theme.single-product .woocommerce-product-details__short-description li strong {
    color: var(--v-black);
    font-weight: 600;
    margin-right: 4px;
}

/* Tabs panel content visibility */
body.vaelor-theme.single-product .woocommerce-tabs .panel,
body.vaelor-theme.single-product .woocommerce-tabs .panel * {
    background: var(--v-white) !important;
}
body.vaelor-theme.single-product .woocommerce-tabs .panel p,
body.vaelor-theme.single-product .woocommerce-tabs .panel li,
body.vaelor-theme.single-product .woocommerce-tabs .panel td { color: var(--v-ink) !important; }
body.vaelor-theme.single-product .woocommerce-tabs .panel h2,
body.vaelor-theme.single-product .woocommerce-tabs .panel h3 { color: var(--v-black) !important; }

/* ---------- WC form inputs ---------- */
body.vaelor-theme .woocommerce form .form-row input.input-text,
body.vaelor-theme .woocommerce form .form-row textarea,
body.vaelor-theme .woocommerce form .form-row select,
body.vaelor-theme .woocommerce-page form .form-row input.input-text,
body.vaelor-theme .woocommerce-page form .form-row textarea,
body.vaelor-theme .woocommerce-page form .form-row select,
body.vaelor-theme .select2-selection {
    border: 1px solid var(--v-line) !important;
    border-radius: 0 !important;
    padding: 12px 14px !important;
    background: var(--v-white) !important;
    color: var(--v-ink) !important;
    font: 400 14px/1.4 var(--v-font-body) !important;
    box-shadow: none !important;
    min-height: 46px !important;
}
body.vaelor-theme .woocommerce form .form-row input.input-text:focus,
body.vaelor-theme .woocommerce form .form-row textarea:focus,
body.vaelor-theme .woocommerce form .form-row select:focus { border-color: var(--v-black) !important; outline: none !important; }

body.vaelor-theme .select2-selection { display: flex !important; align-items: center !important; }
body.vaelor-theme .select2-selection__rendered { color: var(--v-ink) !important; line-height: 1.4 !important; padding: 0 !important; }
body.vaelor-theme .select2-selection__arrow { top: 50% !important; transform: translateY(-50%); right: 12px !important; }

body.vaelor-theme .woocommerce form .form-row label,
body.vaelor-theme .woocommerce-page form .form-row label {
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--v-mute);
    font-weight: 600;
    margin-bottom: 8px;
    display: block;
}
body.vaelor-theme .woocommerce form .form-row { padding: 0; margin: 0 0 18px; }

/* ---------- Single product page ---------- */
/* Nuke every possible dark background source */
body.vaelor-theme.single-product,
body.vaelor-theme.single-product .v-wc-wrap,
body.vaelor-theme.single-product .woocommerce,
body.vaelor-theme.single-product .product,
body.vaelor-theme.single-product div.product,
body.vaelor-theme.single-product .summary,
body.vaelor-theme.single-product .entry-summary,
body.vaelor-theme.single-product .woocommerce-tabs,
body.vaelor-theme.single-product .woocommerce-tabs .panel,
body.vaelor-theme.single-product .related,
body.vaelor-theme.single-product .upsells,
body.vaelor-theme.single-product .entry-content,
body.vaelor-theme.single-product article.product,
body.vaelor-theme.single-product main,
body.vaelor-theme.single-product main#primary,
body.vaelor-theme.single-product main.site-main {
    background: var(--v-white) !important;
    background-color: var(--v-white) !important;
    color: var(--v-ink) !important;
}

/* Force readable text on EVERY element on single product page */
body.vaelor-theme.single-product .product *:not(.button):not(.onsale):not(.v-product__badge):not(input):not(select):not(textarea):not(svg):not(svg *) {
    color: inherit;
}
body.vaelor-theme.single-product .summary,
body.vaelor-theme.single-product .summary *,
body.vaelor-theme.single-product .entry-summary,
body.vaelor-theme.single-product .entry-summary * { color: var(--v-ink); }

body.vaelor-theme.single-product .summary h1,
body.vaelor-theme.single-product .summary h2,
body.vaelor-theme.single-product .summary h3,
body.vaelor-theme.single-product .summary .product_title { color: var(--v-black) !important; }

body.vaelor-theme.single-product .summary .price,
body.vaelor-theme.single-product .summary p.price,
body.vaelor-theme.single-product .summary span.price,
body.vaelor-theme.single-product .summary .amount { color: var(--v-black) !important; }
body.vaelor-theme.single-product .summary .price del,
body.vaelor-theme.single-product .summary .price del .amount { color: var(--v-mute) !important; }

body.vaelor-theme .woocommerce div.product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    margin-top: 16px;
    background: var(--v-white);
    padding: 0;
}
body.vaelor-theme .woocommerce div.product .woocommerce-product-gallery {
    width: 100% !important;
    float: none !important;
    margin-bottom: 0 !important;
}
body.vaelor-theme .woocommerce div.product .woocommerce-product-gallery__image img {
    border-radius: 0;
}
body.vaelor-theme .woocommerce div.product .flex-control-thumbs {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin-top: 8px;
    padding: 0 !important;
}
body.vaelor-theme .woocommerce div.product .flex-control-thumbs li { width: auto !important; margin: 0 !important; }

body.vaelor-theme .woocommerce div.product .summary {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 8px 0 0;
}
body.vaelor-theme .woocommerce div.product .product_title,
body.vaelor-theme .woocommerce div.product h1.product_title {
    font-family: var(--v-font-display) !important;
    font-size: clamp(32px, 3.5vw, 48px) !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
    line-height: 1.05 !important;
    margin: 0 0 16px !important;
    color: var(--v-black) !important;
    opacity: 1 !important;
}
body.vaelor-theme .woocommerce div.product .woocommerce-product-details__short-description,
body.vaelor-theme .woocommerce div.product .woocommerce-product-details__short-description p {
    color: var(--v-mute) !important;
    opacity: 1 !important;
}
body.vaelor-theme .woocommerce div.product .price,
body.vaelor-theme .woocommerce div.product p.price {
    font-family: var(--v-font-body) !important;
    color: var(--v-black) !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    margin: 0 0 24px !important;
}
body.vaelor-theme .woocommerce div.product .price del { color: var(--v-mute) !important; margin-right: 12px; font-weight: 400; }
body.vaelor-theme .woocommerce div.product .price ins { text-decoration: none; background: transparent !important; }

body.vaelor-theme .woocommerce div.product .woocommerce-product-rating { margin-bottom: 20px; }
body.vaelor-theme .woocommerce div.product .stock {
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--v-mute);
    margin-top: 8px;
}
body.vaelor-theme .woocommerce div.product .stock.in-stock::before {
    content: '';
    display: inline-block;
    width: 6px; height: 6px;
    background: #16a34a;
    border-radius: 50%;
    margin-right: 8px;
    vertical-align: middle;
}

body.vaelor-theme .woocommerce div.product .woocommerce-product-details__short-description {
    color: var(--v-mute);
    font-size: 15px;
    line-height: 1.7;
    margin: 24px 0;
    padding: 24px 0;
    border-top: 1px solid var(--v-line);
    border-bottom: 1px solid var(--v-line);
}

/* Variations */
body.vaelor-theme .woocommerce div.product form.cart .variations {
    margin-bottom: 24px;
    border: none;
}
body.vaelor-theme .woocommerce div.product form.cart .variations td,
body.vaelor-theme .woocommerce div.product form.cart .variations th {
    background: transparent !important;
    padding: 8px 0 !important;
    vertical-align: middle;
}
body.vaelor-theme .woocommerce div.product form.cart .variations label {
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--v-mute);
    font-weight: 600;
    margin: 0;
}
body.vaelor-theme .woocommerce div.product form.cart .reset_variations {
    font-size: 11px;
    color: var(--v-mute);
    letter-spacing: 0.1em;
}

/* Add-to-cart row */
body.vaelor-theme .woocommerce div.product form.cart {
    margin-top: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}
body.vaelor-theme .woocommerce div.product form.cart .quantity { margin: 0 !important; }
body.vaelor-theme .woocommerce .quantity .qty {
    width: 80px !important;
    border: 1px solid var(--v-line) !important;
    border-radius: 0 !important;
    padding: 14px 12px !important;
    font: 500 14px var(--v-font-body) !important;
    text-align: center !important;
    background: var(--v-white) !important;
    color: var(--v-black) !important;
    min-height: 50px !important;
}
body.vaelor-theme .woocommerce div.product form.cart .button {
    flex: 1;
    min-width: 240px;
    justify-content: center;
    display: inline-flex !important;
    align-items: center;
    min-height: 50px !important;
    padding: 14px 28px !important;
}

/* Meta */
body.vaelor-theme .woocommerce div.product .product_meta {
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid var(--v-line);
    font-size: 12px;
    color: var(--v-mute);
    letter-spacing: 0.08em;
}
body.vaelor-theme .woocommerce div.product .product_meta > span {
    display: block;
    margin-bottom: 8px;
}
body.vaelor-theme .woocommerce div.product .product_meta a { color: var(--v-black); }

/* Tabs */
body.vaelor-theme .woocommerce div.product .woocommerce-tabs {
    grid-column: 1 / -1;
    margin-top: 80px;
}
body.vaelor-theme .woocommerce div.product .woocommerce-tabs ul.tabs {
    list-style: none;
    border-bottom: 1px solid var(--v-line);
    margin: 0 0 32px !important;
    padding: 0 !important;
    display: flex;
    gap: 32px;
}
body.vaelor-theme .woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
body.vaelor-theme .woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.vaelor-theme .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.vaelor-theme .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
body.vaelor-theme .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: var(--v-mute) !important;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    padding: 16px 0 !important;
    display: inline-block;
    border-bottom: 1px solid transparent;
    margin-bottom: -1px;
}
body.vaelor-theme .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--v-black) !important;
    border-bottom-color: var(--v-black);
}
body.vaelor-theme .woocommerce div.product .woocommerce-tabs .panel h2 {
    font-size: 22px;
    margin-bottom: 16px;
}

/* Related products */
body.vaelor-theme .woocommerce .related,
body.vaelor-theme .woocommerce .upsells {
    grid-column: 1 / -1;
    margin-top: 80px;
    padding-top: 48px;
    border-top: 1px solid var(--v-line);
}
body.vaelor-theme .woocommerce .related > h2,
body.vaelor-theme .woocommerce .upsells > h2 {
    font-size: clamp(24px, 2.6vw, 32px);
    margin-bottom: 32px;
}

/* ---------- CART ---------- */
body.vaelor-theme .v-cart {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: 56px;
    align-items: start;
}
body.vaelor-theme .v-cart__items {
    border-top: 1px solid var(--v-line);
}
body.vaelor-theme .v-cart__header {
    display: grid;
    grid-template-columns: 1fr 140px 140px;
    gap: 24px;
    padding: 16px 0;
    border-bottom: 1px solid var(--v-line);
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--v-mute);
    font-weight: 600;
}
body.vaelor-theme .v-cart__row {
    display: grid;
    grid-template-columns: 1fr 140px 140px;
    gap: 24px;
    padding: 28px 0;
    border-bottom: 1px solid var(--v-line);
    align-items: center;
}
body.vaelor-theme .v-cart__product {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}
body.vaelor-theme .v-cart__thumb {
    width: 96px;
    height: 120px;
    background: var(--v-cloud);
    overflow: hidden;
    flex-shrink: 0;
}
body.vaelor-theme .v-cart__thumb img { width: 100% !important; height: 100% !important; object-fit: cover; }
body.vaelor-theme .v-cart__meta { display: flex; flex-direction: column; gap: 4px; }
body.vaelor-theme .v-cart__name {
    font-family: var(--v-font-body);
    font-size: 16px;
    font-weight: 600;
    color: var(--v-black);
    letter-spacing: 0;
    margin: 0;
}
body.vaelor-theme .v-cart__name a { color: var(--v-black); }
body.vaelor-theme .v-cart__name a:hover { text-decoration: underline; }
body.vaelor-theme .v-cart__meta dl {
    margin: 4px 0 0 !important;
    font-size: 12px;
    color: var(--v-mute);
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
body.vaelor-theme .v-cart__meta dl dt, body.vaelor-theme .v-cart__meta dl dd { display: inline; margin: 0; }
body.vaelor-theme .v-cart__price-mobile { display: none; }
body.vaelor-theme .v-cart__remove { margin-top: 8px; }
body.vaelor-theme .v-cart__remove-link {
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--v-mute);
    border-bottom: 1px solid var(--v-mute);
    padding-bottom: 1px;
    text-decoration: none !important;
}
body.vaelor-theme .v-cart__remove-link:hover { color: var(--v-black); border-color: var(--v-black); }

body.vaelor-theme .v-cart__qty .quantity { margin: 0 !important; }
body.vaelor-theme .v-cart__line-total {
    text-align: right;
    font-size: 16px;
    font-weight: 600;
    color: var(--v-black);
}

body.vaelor-theme .v-cart__actions {
    display: flex;
    gap: 16px;
    align-items: center;
    padding: 28px 0;
    flex-wrap: wrap;
}
body.vaelor-theme .v-cart__coupon {
    display: flex;
    gap: 8px;
    flex: 1;
    min-width: 280px;
    max-width: 420px;
}
body.vaelor-theme .v-cart__coupon input { flex: 1; }
body.vaelor-theme .v-cart__update { margin-left: auto; }

/* Cart totals sidebar */
body.vaelor-theme .v-cart__summary {
    position: sticky;
    top: calc(var(--v-header-h) + 24px);
    background: var(--v-cloud);
    padding: 32px;
}
body.vaelor-theme .v-cart__summary .cart_totals h2,
body.vaelor-theme .v-cart__summary .cross-sells h2 {
    font-size: 18px !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
    margin: 0 0 20px !important;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--v-line);
}
body.vaelor-theme .v-cart__summary table.shop_table {
    border: none !important;
    border-radius: 0 !important;
    margin: 0 0 24px !important;
    background: transparent !important;
}
body.vaelor-theme .v-cart__summary table.shop_table th,
body.vaelor-theme .v-cart__summary table.shop_table td {
    border: none !important;
    padding: 12px 0 !important;
    background: transparent !important;
    font-size: 14px !important;
    border-bottom: 1px solid var(--v-line) !important;
}
body.vaelor-theme .v-cart__summary table.shop_table th {
    color: var(--v-mute) !important;
    font-weight: 500 !important;
    text-align: left !important;
    font-size: 12px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
}
body.vaelor-theme .v-cart__summary table.shop_table td { text-align: right !important; color: var(--v-black); }
body.vaelor-theme .v-cart__summary table.shop_table .order-total th,
body.vaelor-theme .v-cart__summary table.shop_table .order-total td {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--v-black) !important;
    padding-top: 18px !important;
    border-bottom: none !important;
}
body.vaelor-theme .v-cart__summary .wc-proceed-to-checkout { padding: 0; margin-top: 8px; }
body.vaelor-theme .v-cart__summary .wc-proceed-to-checkout .checkout-button {
    width: 100%;
    text-align: center;
    justify-content: center;
}

/* Hide default WC cart table; we use our own */
body.vaelor-theme .v-cart-form table.shop_table.cart { display: none; }

/* Empty cart */
body.vaelor-theme .v-cart-empty {
    text-align: center;
    padding: 80px 24px;
    max-width: 540px;
    margin: 0 auto;
}
body.vaelor-theme .v-cart-empty__icon {
    width: 80px; height: 80px;
    margin: 0 auto 24px;
    color: var(--v-mute);
    opacity: 0.5;
}
body.vaelor-theme .v-cart-empty h2 { font-size: 32px; margin-bottom: 12px; letter-spacing: -0.03em; }
body.vaelor-theme .v-cart-empty p { color: var(--v-mute); margin: 0 0 32px; }

/* Hide default WC empty cart text since we have our own */
body.vaelor-theme .cart-empty.woocommerce-info { display: none; }
body.vaelor-theme .return-to-shop { display: none; }

/* ---------- CHECKOUT ---------- */
body.vaelor-theme .v-checkout {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 64px;
    align-items: start;
}
body.vaelor-theme .v-checkout__section { margin-bottom: 40px; }
body.vaelor-theme .v-checkout__heading {
    font-family: var(--v-font-display);
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.02em;
    margin: 0 0 28px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--v-line);
    display: flex;
    align-items: center;
    gap: 14px;
}
body.vaelor-theme .v-checkout__num {
    font-size: 11px;
    letter-spacing: 0.22em;
    color: var(--v-mute);
    font-weight: 600;
    font-family: var(--v-font-body);
}
body.vaelor-theme .v-checkout #customer_details .col-1,
body.vaelor-theme .v-checkout #customer_details .col-2 {
    width: 100% !important;
    float: none !important;
}
body.vaelor-theme .v-checkout h3 {
    font-size: 14px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 700;
    margin: 0 0 20px;
}
body.vaelor-theme .v-checkout .woocommerce-billing-fields,
body.vaelor-theme .v-checkout .woocommerce-shipping-fields,
body.vaelor-theme .v-checkout .woocommerce-additional-fields { margin-bottom: 32px; }

body.vaelor-theme .v-checkout__summary {
    position: sticky;
    top: calc(var(--v-header-h) + 24px);
    background: var(--v-cloud);
    padding: 32px;
}
body.vaelor-theme .v-checkout__summary-inner { display: flex; flex-direction: column; }

body.vaelor-theme .woocommerce-checkout-review-order table.shop_table {
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    margin: 0 0 16px !important;
}
body.vaelor-theme .woocommerce-checkout-review-order table.shop_table th,
body.vaelor-theme .woocommerce-checkout-review-order table.shop_table td {
    border: none !important;
    border-bottom: 1px solid var(--v-line) !important;
    padding: 14px 0 !important;
    background: transparent !important;
    font-size: 14px !important;
}
body.vaelor-theme .woocommerce-checkout-review-order table.shop_table th { color: var(--v-mute) !important; font-weight: 500 !important; text-align: left !important; font-size: 12px !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; }
body.vaelor-theme .woocommerce-checkout-review-order table.shop_table td { text-align: right !important; color: var(--v-black); }
body.vaelor-theme .woocommerce-checkout-review-order .order-total th,
body.vaelor-theme .woocommerce-checkout-review-order .order-total td {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--v-black) !important;
    border-bottom: none !important;
    padding-top: 18px !important;
}

/* Payment box */
body.vaelor-theme #payment {
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-top: 20px;
}
body.vaelor-theme #payment ul.payment_methods {
    border: none !important;
    padding: 0 !important;
    margin: 0 0 20px !important;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
body.vaelor-theme #payment ul.payment_methods li {
    border: 1px solid var(--v-line) !important;
    background: var(--v-white) !important;
    padding: 16px !important;
    list-style: none !important;
    transition: border-color .2s var(--v-ease);
}
body.vaelor-theme #payment ul.payment_methods li:has(input:checked) { border-color: var(--v-black) !important; }
body.vaelor-theme #payment ul.payment_methods li label {
    color: var(--v-black);
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
}
body.vaelor-theme #payment .payment_box {
    background: var(--v-cloud) !important;
    border-radius: 0 !important;
    padding: 16px !important;
    margin: 12px 0 0 !important;
    color: var(--v-mute) !important;
    font-size: 13px !important;
}
body.vaelor-theme #payment .payment_box::before { display: none !important; }
body.vaelor-theme #payment div.form-row.place-order {
    padding: 24px 0 0 !important;
    margin: 0 !important;
}
body.vaelor-theme #place_order {
    width: 100%;
    justify-content: center;
    display: inline-flex !important;
    text-align: center;
    min-height: 56px !important;
    font-size: 14px !important;
}
body.vaelor-theme .woocommerce-terms-and-conditions-wrapper { font-size: 13px; color: var(--v-mute); margin: 16px 0; }

/* Login/coupon callouts */
body.vaelor-theme .woocommerce-info,
body.vaelor-theme .woocommerce-message,
body.vaelor-theme .woocommerce-error {
    background: var(--v-cloud) !important;
    border-top: none !important;
    border-left: 3px solid var(--v-black) !important;
    color: var(--v-ink) !important;
    border-radius: 0 !important;
    padding: 16px 20px !important;
    font-size: 14px !important;
    margin-bottom: 24px !important;
    list-style: none !important;
}
body.vaelor-theme .woocommerce-info::before,
body.vaelor-theme .woocommerce-message::before,
body.vaelor-theme .woocommerce-error::before { color: var(--v-black) !important; }
body.vaelor-theme .woocommerce-error { border-left-color: #b00020 !important; }
body.vaelor-theme .woocommerce-info a,
body.vaelor-theme .woocommerce-message a { color: var(--v-black) !important; font-weight: 600; }

/* Login form (checkout) */
body.vaelor-theme .woocommerce form.login,
body.vaelor-theme .woocommerce form.checkout_coupon {
    border: 1px solid var(--v-line) !important;
    border-radius: 0 !important;
    padding: 28px !important;
    margin-bottom: 24px !important;
}

/* My account page */
body.vaelor-theme .woocommerce-account .woocommerce-MyAccount-navigation {
    width: 25% !important;
    float: left;
}
body.vaelor-theme .woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
    border: 1px solid var(--v-line);
}
body.vaelor-theme .woocommerce-account .woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid var(--v-line);
}
body.vaelor-theme .woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child { border-bottom: none; }
body.vaelor-theme .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 14px 18px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--v-mute);
    transition: background .2s var(--v-ease), color .2s var(--v-ease);
}
body.vaelor-theme .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
body.vaelor-theme .woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background: var(--v-black);
    color: var(--v-white);
}
body.vaelor-theme .woocommerce-account .woocommerce-MyAccount-content {
    width: 72% !important;
    float: right;
}

/* Order received / thank you */
body.vaelor-theme .woocommerce ul.order_details {
    list-style: none;
    padding: 0;
    margin: 32px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    border: 1px solid var(--v-line);
}
body.vaelor-theme .woocommerce ul.order_details li {
    flex: 1;
    min-width: 160px;
    padding: 20px;
    border-right: 1px solid var(--v-line);
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--v-mute);
    font-weight: 600;
    margin: 0 !important;
}
body.vaelor-theme .woocommerce ul.order_details li:last-child { border-right: none; }
body.vaelor-theme .woocommerce ul.order_details li strong {
    display: block;
    font-size: 16px;
    color: var(--v-black);
    letter-spacing: -0.01em;
    text-transform: none;
    font-weight: 700;
    margin-top: 4px;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
    body.vaelor-theme .v-features__grid { grid-template-columns: repeat(2, 1fr); }
    body.vaelor-theme .v-feature:nth-child(2) { border-right: none; }
    body.vaelor-theme .v-feature:nth-child(1),
    body.vaelor-theme .v-feature:nth-child(2) { border-bottom: 1px solid var(--v-line-dark); }

    body.vaelor-theme .v-products,
    body.vaelor-theme .v-cats { grid-template-columns: repeat(2, 1fr); }
    body.vaelor-theme .v-values { grid-template-columns: 1fr; }
    body.vaelor-theme .v-why__grid { grid-template-columns: 1fr; }
    body.vaelor-theme .v-why__item {
        border-right: none;
        border-bottom: 1px solid var(--v-line-dark);
        padding: 40px 0;
    }
    body.vaelor-theme .v-why__item:not(:first-child) { padding-left: 0; }
    body.vaelor-theme .v-why__item:last-child { border-bottom: none; }
    body.vaelor-theme .v-stats { grid-template-columns: repeat(2, 1fr); }
    body.vaelor-theme .v-stat:nth-child(2) { border-right: none; }
    body.vaelor-theme .v-stat:nth-child(1),
    body.vaelor-theme .v-stat:nth-child(2) { border-bottom: 1px solid var(--v-line); }

    body.vaelor-theme .v-split { grid-template-columns: 1fr; gap: 40px; }
    body.vaelor-theme .v-split--flip > div:first-child { order: 0; }
    body.vaelor-theme .v-contact { grid-template-columns: 1fr; gap: 56px; }

    body.vaelor-theme .v-page-hero__inner { grid-template-columns: 1fr; gap: 24px; }

    body.vaelor-theme .v-footer__grid { grid-template-columns: 1fr 1fr; gap: 40px; }
    body.vaelor-theme .v-footer__brand,
    body.vaelor-theme .v-footer__newsletter { grid-column: 1 / -1; }

    body.vaelor-theme .woocommerce ul.products,
    body.vaelor-theme .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr); }
    body.vaelor-theme .v-shop-cats { grid-template-columns: 1fr; }
    body.vaelor-theme .v-shop-toolbar { flex-direction: column; align-items: flex-start; }

    body.vaelor-theme .woocommerce div.product { grid-template-columns: 1fr; gap: 40px; }
    body.vaelor-theme .v-cart,
    body.vaelor-theme .v-checkout { grid-template-columns: 1fr; gap: 40px; }
    body.vaelor-theme .v-cart__summary,
    body.vaelor-theme .v-checkout__summary { position: static; }

    body.vaelor-theme .woocommerce-account .woocommerce-MyAccount-navigation,
    body.vaelor-theme .woocommerce-account .woocommerce-MyAccount-content {
        width: 100% !important;
        float: none !important;
    }
    body.vaelor-theme .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 32px; }
}

@media (max-width: 768px) {
    :root { --v-gutter: 18px; }
    body.vaelor-theme .v-section { padding: 64px 0; }
    body.vaelor-theme .v-section-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    /* ---- Mobile header ---- */
    body.vaelor-theme .v-header__nav-wrap { display: none; }
    body.vaelor-theme .v-burger { display: inline-flex; }
    body.vaelor-theme .v-hide-mobile { display: none !important; }
    body.vaelor-theme .v-header__inner {
        grid-template-columns: 1fr auto;
        gap: 12px;
    }
    body.vaelor-theme .v-header__actions { gap: 6px; }
    body.vaelor-theme .v-header__logo { font-size: 18px; }
    body.vaelor-theme .v-header__logo img { max-height: 40px; }
    body.vaelor-theme .v-icon-btn { width: 38px; height: 38px; }
    body.vaelor-theme .v-icon-btn svg { width: 18px; height: 18px; }

    body.vaelor-theme .v-hero__meta { display: none; }
    body.vaelor-theme .v-hero { min-height: 80vh; }

    body.vaelor-theme .v-products,
    body.vaelor-theme .v-cats { grid-template-columns: 1fr; }
    body.vaelor-theme .v-cats .v-cat { aspect-ratio: 4/3; }
    body.vaelor-theme .v-form { grid-template-columns: 1fr; }
    body.vaelor-theme .v-stats { grid-template-columns: 1fr; }
    body.vaelor-theme .v-stat { border-right: none; border-bottom: 1px solid var(--v-line); }
    body.vaelor-theme .v-stat:last-child { border-bottom: none; }

    body.vaelor-theme .v-footer__grid { grid-template-columns: 1fr; }
    body.vaelor-theme .v-footer__bottom { flex-direction: column; align-items: flex-start; }

    body.vaelor-theme .v-cta { padding: 80px 20px; }

    body.vaelor-theme .woocommerce ul.products,
    body.vaelor-theme .woocommerce-page ul.products { grid-template-columns: 1fr; }

    /* On mobile: list view collapses to grid + hide the toggle */
    body.vaelor-theme .v-view-toggle { display: none; }
    body.vaelor-theme .woocommerce ul.products.is-list-view li.product { flex-direction: column; }
    body.vaelor-theme .woocommerce ul.products.is-list-view li.product .v-product__media { width: 100%; }

    body.vaelor-theme .v-cart__header { display: none; }
    body.vaelor-theme .v-cart__row {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 20px 0;
    }
    body.vaelor-theme .v-cart__line-total { text-align: left; font-size: 14px; }
    body.vaelor-theme .v-cart__price-mobile { display: block; margin-top: 6px; color: var(--v-mute); font-size: 14px; }
    body.vaelor-theme .v-cart__qty { justify-self: start; }
    body.vaelor-theme .v-cart__actions { flex-direction: column; align-items: stretch; }
    body.vaelor-theme .v-cart__coupon { max-width: none; }
    body.vaelor-theme .v-cart__update { margin-left: 0; }
}

/* ============================================================
   ============================================================
   DARK THEME — applied site-wide (sits at end so it overrides)
   ============================================================
   ============================================================ */

body.vaelor-theme {
    --v-black:       #f2f2f2;
    --v-ink:         #ededed;
    --v-graphite:    #d4d4d4;
    --v-charcoal:    #b0b0b0;
    --v-mute:        #7d7d7d;
    --v-line:        #262626;
    --v-line-dark:   #3a3a3a;
    --v-cloud:       #161616;
    --v-white:       #0a0a0a;
}

body.vaelor-theme {
    background: #0a0a0a !important;
    color: #ededed;
}
body.vaelor-theme #page,
body.vaelor-theme .site,
body.vaelor-theme #content,
body.vaelor-theme .site-content { background: #0a0a0a !important; }

/* --- Header --- */
body.vaelor-theme .v-header { background: #0a0a0a; border-bottom-color: #1a1a1a; }
body.vaelor-theme .v-header__logo,
body.vaelor-theme .v-header__logo span { color: #f2f2f2; }
body.vaelor-theme .v-header__logo img {  }
body.vaelor-theme .v-nav a { color: #ededed; }
body.vaelor-theme .v-nav a::after { background: #ffffff; }
body.vaelor-theme .v-icon-btn { color: #f2f2f2; }
body.vaelor-theme .vaelor-cart-count { background: #ffffff; color: #0a0a0a; }
body.vaelor-theme .v-burger span { background: #f2f2f2; }
body.vaelor-theme .v-nav .sub-menu,
body.vaelor-theme .v-nav .children { background: #141414; border-color: #262626; }
body.vaelor-theme .v-nav .sub-menu a:hover { background: #1f1f1f; }

/* --- Mobile drawer --- */
body.vaelor-theme .v-drawer { background: #0a0a0a; }
body.vaelor-theme .v-drawer__search { background: #141414; border-color: #262626; }
body.vaelor-theme .v-drawer__search input { color: #ededed; }
body.vaelor-theme .v-drawer__search input::placeholder { color: #6a6a6a; }
body.vaelor-theme .v-drawer .v-nav li,
body.vaelor-theme .v-drawer .v-nav > li:first-child { border-color: #1f1f1f; }
body.vaelor-theme .v-drawer .v-nav a,
body.vaelor-theme .v-drawer .v-nav a:link,
body.vaelor-theme .v-drawer .v-nav a:visited { color: #f2f2f2 !important; }
body.vaelor-theme .v-drawer .v-nav .sub-menu li a,
body.vaelor-theme .v-drawer .v-nav .sub-menu li a:link,
body.vaelor-theme .v-drawer .v-nav .sub-menu li a:visited { color: #c4c4c4 !important; }
body.vaelor-theme .v-drawer__footer { border-color: #1f1f1f; }
body.vaelor-theme .v-drawer__link,
body.vaelor-theme .v-drawer__link:link,
body.vaelor-theme .v-drawer__link:visited { color: #f2f2f2 !important; border-color: #1f1f1f; }

/* --- Buttons --- */
body.vaelor-theme .v-btn,
body.vaelor-theme a.v-btn,
body.vaelor-theme button.v-btn { background: #ffffff; color: #0a0a0a; border-color: #ffffff; }
body.vaelor-theme .v-btn:hover { background: transparent; color: #ffffff; border-color: #ffffff; }
body.vaelor-theme .v-btn--ghost { background: transparent; color: #f2f2f2; border-color: #f2f2f2; }
body.vaelor-theme .v-btn--ghost:hover { background: #ffffff; color: #0a0a0a; }
body.vaelor-theme .v-btn--inverse { background: transparent; color: #ffffff; border-color: #ffffff; }
body.vaelor-theme .v-btn--inverse:hover { background: #ffffff; color: #0a0a0a; }

/* --- Forms --- */
body.vaelor-theme .v-input,
body.vaelor-theme .v-textarea { background: #141414; border-color: #2a2a2a; color: #ededed; }
body.vaelor-theme .v-input::placeholder,
body.vaelor-theme .v-textarea::placeholder { color: #6a6a6a; }
body.vaelor-theme .v-input:focus,
body.vaelor-theme .v-textarea:focus { border-color: #ffffff; }
body.vaelor-theme .v-label { color: #8a8a8a; }

/* --- Typography --- */
body.vaelor-theme .v-eyebrow { color: #8a8a8a; }
body.vaelor-theme .v-title,
body.vaelor-theme .v-title--light { color: #f2f2f2; }
body.vaelor-theme .v-lead { color: #a0a0a0; }
body.vaelor-theme h1, body.vaelor-theme h2, body.vaelor-theme h3,
body.vaelor-theme h4, body.vaelor-theme h5, body.vaelor-theme h6 { color: #f2f2f2; }
body.vaelor-theme .v-section-head { border-bottom-color: #1f1f1f; }
body.vaelor-theme .v-section-head__link { color: #ededed; border-bottom-color: #ffffff; }

/* --- Features strip (high-specificity to defeat var(--v-white) inheritance) --- */
body.vaelor-theme .v-features {
    background: #111111 !important;
    color: #f2f2f2 !important;
    border-top-color: #1f1f1f !important;
    border-bottom: 1px solid #1f1f1f;
}
body.vaelor-theme .v-feature { border-right-color: #1f1f1f !important; }
body.vaelor-theme .v-feature__icon,
body.vaelor-theme .v-feature__icon svg { color: #f2f2f2 !important; }
body.vaelor-theme .v-feature__title,
body.vaelor-theme h3.v-feature__title { color: #f2f2f2 !important; }
body.vaelor-theme .v-feature__text { color: rgba(255,255,255,0.55) !important; }

/* --- Product cards --- */
body.vaelor-theme .v-products { background: #1a1a1a; border-color: #1a1a1a; }
body.vaelor-theme .v-product { background: #0f0f0f; }
body.vaelor-theme .v-product:hover { background: #161616; }
body.vaelor-theme .v-product__media { background: #161616; }
body.vaelor-theme .v-product__badge { background: #ffffff; color: #0a0a0a; }
body.vaelor-theme .v-product__cat { color: #7a7a7a; }
body.vaelor-theme .v-product__title { color: #f2f2f2; }
body.vaelor-theme .v-product__price { color: #ededed; }
body.vaelor-theme .v-product__price del { color: #6a6a6a; }

/* --- About preview --- */
body.vaelor-theme .v-split__title { color: #f2f2f2; }
body.vaelor-theme .v-split p { color: #a0a0a0; }
body.vaelor-theme .v-split__media { background: #141414; }

/* --- Why Vaelor --- */
body.vaelor-theme .v-why { background: #111111 !important; color: #f2f2f2 !important; }
body.vaelor-theme .v-why .v-section-head { border-bottom-color: #2a2a2a !important; }
body.vaelor-theme .v-why__grid { border-top-color: #2a2a2a !important; }
body.vaelor-theme .v-why__item { border-right-color: #2a2a2a !important; }
body.vaelor-theme .v-why__item h3,
body.vaelor-theme h3.v-why__item-title { color: #f2f2f2 !important; }
body.vaelor-theme .v-why__item p { color: rgba(255,255,255,0.55) !important; }
body.vaelor-theme .v-why__num { color: rgba(255,255,255,0.4) !important; }
body.vaelor-theme .v-why .v-title,
body.vaelor-theme .v-why .v-title--light { color: #f2f2f2 !important; }
body.vaelor-theme .v-why .v-eyebrow { color: rgba(255,255,255,0.55) !important; }

/* --- Category cards --- */
body.vaelor-theme .v-cats-section { background: #111111 !important; }
body.vaelor-theme .v-cat,
body.vaelor-theme a.v-cat { background: #1a1a1a; color: #ffffff !important; }
body.vaelor-theme .v-cat__name { color: #ffffff !important; }
body.vaelor-theme .v-cat__count { color: rgba(255,255,255,0.65) !important; }
body.vaelor-theme .v-cat__num { color: rgba(255,255,255,0.5) !important; }
body.vaelor-theme .v-cat--no-image {
    background:
        repeating-linear-gradient(45deg, rgba(255,255,255,0.04) 0 1px, transparent 1px 14px),
        radial-gradient(circle at 30% 30%, rgba(255,255,255,0.08) 0%, transparent 50%),
        #1a1a1a;
}

/* --- CTA: inverse light moment --- */
body.vaelor-theme .v-cta { background: #f2f2f2; color: #0a0a0a; }
body.vaelor-theme .v-cta h2,
body.vaelor-theme h2.v-cta__title { color: #0a0a0a; }
body.vaelor-theme .v-cta p { color: rgba(0,0,0,0.6); }
body.vaelor-theme .v-cta .v-btn--inverse { background: #0a0a0a; color: #ffffff; border-color: #0a0a0a; }
body.vaelor-theme .v-cta .v-btn--inverse:hover { background: transparent; color: #0a0a0a; border-color: #0a0a0a; }

/* --- Page hero (about/contact/shop) --- */
body.vaelor-theme .v-page-hero { background: #111111 !important; color: #f2f2f2 !important; }
body.vaelor-theme .v-page-hero h1,
body.vaelor-theme h1.v-page-hero__title { color: #f2f2f2 !important; }
body.vaelor-theme .v-page-hero__lead { color: rgba(255,255,255,0.6) !important; }

/* --- Stats / Values --- */
body.vaelor-theme .v-stats { border-top-color: #1f1f1f; border-bottom-color: #1f1f1f; }
body.vaelor-theme .v-stat { border-right-color: #1f1f1f; }
body.vaelor-theme .v-stat__num { color: #f2f2f2; }
body.vaelor-theme .v-stat__label { color: #8a8a8a; }
body.vaelor-theme .v-values { background: #1f1f1f; border-color: #1f1f1f; }
body.vaelor-theme .v-value { background: #0f0f0f; }
body.vaelor-theme .v-value h3 { color: #f2f2f2; }
body.vaelor-theme .v-value p { color: #a0a0a0; }
body.vaelor-theme .v-value__num { color: #8a8a8a; }

/* --- Contact --- */
body.vaelor-theme .v-contact__info h2 { color: #f2f2f2; }
body.vaelor-theme .v-contact__info p { color: #a0a0a0; }
body.vaelor-theme .v-contact__details { border-top-color: #1f1f1f; }
body.vaelor-theme .v-contact__detail h4 { color: #8a8a8a; }
body.vaelor-theme .v-contact__detail p,
body.vaelor-theme .v-contact__detail a { color: #f2f2f2; }
body.vaelor-theme .v-form__msg { color: #8a8a8a; }
body.vaelor-theme .v-form__msg.is-success { color: #f2f2f2; }

/* --- Footer --- */
body.vaelor-theme .v-footer { background: #050505; border-top-color: #1a1a1a; }
body.vaelor-theme .v-footer__brand .v-header__logo span { color: #f2f2f2; }
body.vaelor-theme .v-footer__bottom { border-top-color: #1a1a1a; }

/* ============================================================
   WOOCOMMERCE — DARK
   ============================================================ */
body.vaelor-theme.woocommerce,
body.vaelor-theme.woocommerce-page,
body.vaelor-theme.single-product,
body.vaelor-theme.archive.woocommerce { background: #0a0a0a !important; color: #ededed !important; }
body.vaelor-theme.single-product #page,
body.vaelor-theme.single-product .site,
body.vaelor-theme.single-product #content,
body.vaelor-theme.single-product .site-content,
body.vaelor-theme.woocommerce #page,
body.vaelor-theme.woocommerce .site,
body.vaelor-theme.woocommerce #content,
body.vaelor-theme.woocommerce .site-content { background: #0a0a0a !important; }
body.vaelor-theme .v-wc-wrap { background: #0a0a0a !important; color: #ededed !important; }

body.vaelor-theme.single-product .v-wc-wrap,
body.vaelor-theme.single-product .woocommerce,
body.vaelor-theme.single-product .product,
body.vaelor-theme.single-product div.product,
body.vaelor-theme.single-product .summary,
body.vaelor-theme.single-product .entry-summary,
body.vaelor-theme.single-product .woocommerce-tabs,
body.vaelor-theme.single-product .woocommerce-tabs .panel,
body.vaelor-theme.single-product .related,
body.vaelor-theme.single-product .upsells {
    background: #0a0a0a !important;
    color: #ededed !important;
}
body.vaelor-theme.single-product .summary,
body.vaelor-theme.single-product .summary *,
body.vaelor-theme.single-product .entry-summary,
body.vaelor-theme.single-product .entry-summary * { color: #ededed; }
body.vaelor-theme.single-product .summary h1,
body.vaelor-theme.single-product .summary .product_title { color: #f2f2f2 !important; }
body.vaelor-theme.single-product .summary .price,
body.vaelor-theme.single-product .summary p.price,
body.vaelor-theme.single-product .summary .amount { color: #f2f2f2 !important; }
body.vaelor-theme.single-product .summary .price del { color: #7a7a7a !important; }
body.vaelor-theme .woocommerce div.product .woocommerce-product-details__short-description {
    color: #a0a0a0 !important;
    border-color: #1f1f1f;
}

body.vaelor-theme .v-wc-crumbs,
body.vaelor-theme .woocommerce-breadcrumb { color: #8a8a8a; }
body.vaelor-theme .v-wc-crumbs a,
body.vaelor-theme .woocommerce-breadcrumb a { color: #8a8a8a; }
body.vaelor-theme .v-wc-crumbs a:hover { color: #f2f2f2; }

body.vaelor-theme .v-shop-toolbar { border-color: #1f1f1f; }
body.vaelor-theme .woocommerce-result-count { color: #8a8a8a; }
body.vaelor-theme .v-price-filter__label { color: #8a8a8a; }
body.vaelor-theme .woocommerce-ordering select {
    background-color: #141414 !important;
    border-color: #2a2a2a !important;
    color: #ededed !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none' stroke='%23ededed' stroke-width='1.5'><path d='M1 1l4 4 4-4'/></svg>") !important;
}
body.vaelor-theme .v-view-toggle { border-color: #2a2a2a; }
body.vaelor-theme .v-view-toggle__btn { background: #141414; color: #7a7a7a; }
body.vaelor-theme .v-view-toggle__btn + .v-view-toggle__btn { border-left-color: #2a2a2a; }
body.vaelor-theme .v-view-toggle__btn:hover { color: #f2f2f2; }
body.vaelor-theme .v-view-toggle__btn.is-active { background: #ffffff; color: #0a0a0a; }

body.vaelor-theme .woocommerce ul.products,
body.vaelor-theme .woocommerce-page ul.products { background: #1a1a1a; border-color: #1a1a1a; }
body.vaelor-theme .woocommerce ul.products li.product { background: #0f0f0f !important; }
body.vaelor-theme .woocommerce ul.products li.product:hover { background: #161616 !important; }
body.vaelor-theme .woocommerce ul.products li.product .woocommerce-loop-product__title { color: #f2f2f2 !important; }
body.vaelor-theme .woocommerce ul.products li.product .price { color: #ededed !important; }
body.vaelor-theme .woocommerce ul.products li.product .price del { color: #7a7a7a !important; }
body.vaelor-theme .woocommerce span.onsale,
body.vaelor-theme ul.products li.product .onsale { background: #ffffff !important; color: #0a0a0a !important; }
body.vaelor-theme .v-product__badge { background: #ffffff !important; color: #0a0a0a !important; }

body.vaelor-theme .woocommerce nav.woocommerce-pagination ul li a,
body.vaelor-theme .woocommerce nav.woocommerce-pagination ul li span {
    border-color: #2a2a2a !important;
    background: #141414 !important;
    color: #ededed !important;
}
body.vaelor-theme .woocommerce nav.woocommerce-pagination ul li span.current {
    background: #ffffff !important;
    color: #0a0a0a !important;
    border-color: #ffffff !important;
}

body.vaelor-theme .woocommerce a.button,
body.vaelor-theme .woocommerce button.button,
body.vaelor-theme .woocommerce input.button,
body.vaelor-theme .woocommerce #respond input#submit,
body.vaelor-theme .woocommerce .button.alt {
    background: #ffffff !important;
    color: #0a0a0a !important;
    border-color: #ffffff !important;
}
body.vaelor-theme .woocommerce a.button:hover,
body.vaelor-theme .woocommerce button.button:hover,
body.vaelor-theme .woocommerce .button.alt:hover {
    background: transparent !important;
    color: #ffffff !important;
    border-color: #ffffff !important;
}
body.vaelor-theme .woocommerce button.button:disabled,
body.vaelor-theme .woocommerce button.single_add_to_cart_button.disabled,
body.vaelor-theme .woocommerce button.single_add_to_cart_button.wc-variation-selection-needed {
    background: #ffffff !important;
    color: #0a0a0a !important;
    opacity: 0.35 !important;
}

body.vaelor-theme .woocommerce form .form-row input.input-text,
body.vaelor-theme .woocommerce form .form-row textarea,
body.vaelor-theme .woocommerce form .form-row select,
body.vaelor-theme .select2-selection {
    background: #141414 !important;
    border-color: #2a2a2a !important;
    color: #ededed !important;
}
body.vaelor-theme .woocommerce form .form-row label { color: #8a8a8a; }
body.vaelor-theme .select2-selection__rendered { color: #ededed !important; }

/* --- Variation pills (dark, high contrast) --- */
body.vaelor-theme .v-pill,
body.vaelor-theme button.v-pill {
    background: #1a1a1a !important;
    border: 1px solid #3a3a3a !important;
    color: #f2f2f2 !important;
}
body.vaelor-theme .v-pill:hover:not(.is-disabled):not(.is-selected) {
    background: #242424 !important;
    border-color: #ffffff !important;
    color: #ffffff !important;
}
body.vaelor-theme .v-pill.is-selected,
body.vaelor-theme .v-pill.is-selected:hover,
body.vaelor-theme button.v-pill.is-selected {
    background: #ffffff !important;
    color: #0a0a0a !important;
    border-color: #ffffff !important;
    box-shadow: inset 0 0 0 1px #ffffff !important;
}
body.vaelor-theme .v-pill.is-disabled,
body.vaelor-theme button.v-pill.is-disabled {
    color: #4a4a4a !important;
    border-color: #1f1f1f !important;
    background: #0d0d0d !important;
    text-decoration: line-through;
}

/* --- Quantity input (full black, max specificity) --- */
body.vaelor-theme .woocommerce .quantity .qty,
body.vaelor-theme .woocommerce div.product form.cart .quantity .qty,
body.vaelor-theme.single-product .woocommerce .quantity input.qty,
body.vaelor-theme.single-product .woocommerce .quantity input.qty[type="number"],
body.vaelor-theme.single-product input.qty,
body.vaelor-theme.single-product input.qty.text,
body.vaelor-theme.woocommerce input[type="number"].qty {
    background: #000000 !important;
    background-color: #000000 !important;
    border: 1px solid #ffffff !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    min-height: 50px !important;
    width: 80px !important;
    text-align: center !important;
    -moz-appearance: textfield;
    appearance: textfield;
}
/* Hide the ugly browser spinner arrows on the qty input */
body.vaelor-theme.single-product input.qty::-webkit-outer-spin-button,
body.vaelor-theme.single-product input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* ----- Custom +/- qty stepper ----- */
body.vaelor-theme .v-qty {
    display: inline-flex !important;
    align-items: stretch !important;
    border: 1px solid #ffffff !important;
    background: #000000 !important;
    height: 56px !important;
    overflow: hidden;
}
body.vaelor-theme .v-qty .v-qty__btn {
    width: 42px;
    background: #000000;
    border: 0;
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background .15s var(--v-ease);
}
body.vaelor-theme .v-qty .v-qty__btn:hover { background: #1a1a1a; }
body.vaelor-theme .v-qty .v-qty__btn:active { background: #2a2a2a; }
body.vaelor-theme .v-qty .v-qty__btn svg { width: 14px; height: 14px; }
body.vaelor-theme .v-qty .v-qty__btn--minus { border-right: 1px solid #2a2a2a; }
body.vaelor-theme .v-qty .v-qty__btn--plus  { border-left:  1px solid #2a2a2a; }

/* The native input inside the wrapper — strip its outer border, keep it clean */
body.vaelor-theme .v-qty input.qty,
body.vaelor-theme .v-qty input.qty[type="number"] {
    width: 56px !important;
    min-width: 56px !important;
    height: 100% !important;
    min-height: 0 !important;
    border: 0 !important;
    background: #000000 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    text-align: center !important;
}

/* --- Kill EVERY possible border source under the pills row --- */
body.vaelor-theme .woocommerce div.product form.cart,
body.vaelor-theme .woocommerce div.product form.cart *,
body.vaelor-theme .woocommerce div.product form.variations_form,
body.vaelor-theme .woocommerce div.product form.variations_form *,
body.vaelor-theme .woocommerce div.product .variations,
body.vaelor-theme .woocommerce div.product .variations *,
body.vaelor-theme .woocommerce div.product .single_variation_wrap,
body.vaelor-theme .woocommerce div.product .single_variation_wrap *,
body.vaelor-theme .woocommerce div.product .woocommerce-variation,
body.vaelor-theme .woocommerce div.product .woocommerce-variation-add-to-cart,
body.vaelor-theme .woocommerce div.product .woocommerce-variation-price,
body.vaelor-theme .woocommerce div.product .woocommerce-variation-availability,
body.vaelor-theme .woocommerce div.product .woocommerce-variation-description {
    border-top: 0 !important;
    border-bottom: 0 !important;
    border-collapse: collapse !important;
    box-shadow: none !important;
    background: transparent !important;
}
/* But put borders back on the elements that NEED them (input, pills, buttons) */
body.vaelor-theme .woocommerce div.product form.cart .v-pill { border: 1px solid #3a3a3a !important; }
body.vaelor-theme .woocommerce div.product form.cart .v-pill.is-selected { border-color: #ffffff !important; }
body.vaelor-theme .woocommerce div.product form.cart input.qty { border: 1px solid #ffffff !important; }
body.vaelor-theme .woocommerce div.product form.cart .single_add_to_cart_button { border: 1px solid #ffffff !important; }

/* --- Add to Cart row — handles both simple AND variable products ---
   Simple product: qty + button are direct children of form.cart
   Variable product: qty + button live inside .woocommerce-variation-add-to-cart
   So we apply the same flex rules to both containers.
*/
body.vaelor-theme .woocommerce div.product form.cart,
body.vaelor-theme .woocommerce div.product .woocommerce-variation-add-to-cart {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 10px !important;
    margin-top: 12px !important;
}
body.vaelor-theme .woocommerce div.product form.cart .quantity,
body.vaelor-theme .woocommerce div.product .woocommerce-variation-add-to-cart .quantity {
    margin: 0 !important;
    flex-shrink: 0;
}

/* Button itself — ultra-high specificity to defeat WC + Astra rules.
   Uses html prefix + all WC classes to maximize specificity. */
html body.vaelor-theme .woocommerce div.product form.cart .single_add_to_cart_button.button,
html body.vaelor-theme .woocommerce div.product form.cart button.single_add_to_cart_button.alt,
html body.vaelor-theme.woocommerce div.product form.cart button.single_add_to_cart_button,
html body.vaelor-theme .woocommerce div.product .woocommerce-variation-add-to-cart .single_add_to_cart_button.button,
html body.vaelor-theme .woocommerce div.product .woocommerce-variation-add-to-cart button.single_add_to_cart_button.alt,
html body.vaelor-theme.woocommerce div.product .woocommerce-variation-add-to-cart button.single_add_to_cart_button,
html body.vaelor-theme button.single_add_to_cart_button.button.alt {
    flex: 1 1 260px !important;
    min-height: 56px !important;
    height: 56px !important;
    max-height: none !important;
    padding: 0 36px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1 !important;
    background: #ffffff !important;
    color: #0a0a0a !important;
    border: 1px solid #ffffff !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    transition: background .25s var(--v-ease), color .25s var(--v-ease), transform .15s var(--v-ease), box-shadow .25s var(--v-ease) !important;
    box-shadow: 0 0 0 0 rgba(255,255,255,0);
}

/* HOVER — matches ultra-high specificity of the regular rule */
html body.vaelor-theme .woocommerce div.product form.cart .single_add_to_cart_button.button:hover,
html body.vaelor-theme .woocommerce div.product form.cart button.single_add_to_cart_button.alt:hover,
html body.vaelor-theme.woocommerce div.product form.cart button.single_add_to_cart_button:hover,
html body.vaelor-theme .woocommerce div.product .woocommerce-variation-add-to-cart .single_add_to_cart_button.button:hover,
html body.vaelor-theme .woocommerce div.product .woocommerce-variation-add-to-cart button.single_add_to_cart_button.alt:hover,
html body.vaelor-theme.woocommerce div.product .woocommerce-variation-add-to-cart button.single_add_to_cart_button:hover,
html body.vaelor-theme button.single_add_to_cart_button.button.alt:hover {
    background: #0a0a0a !important;
    color: #ffffff !important;
    border: 1px solid #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 24px rgba(255, 255, 255, 0.12), 0 0 0 1px rgba(255,255,255,0.06) !important;
    letter-spacing: 0.18em !important;          /* subtle text-spread for tactile feel */
}

/* Active / pressed — snaps back, removes glow */
html body.vaelor-theme .woocommerce div.product form.cart .single_add_to_cart_button.button:active,
html body.vaelor-theme .woocommerce div.product .woocommerce-variation-add-to-cart .single_add_to_cart_button.button:active,
html body.vaelor-theme.woocommerce div.product .woocommerce-variation-add-to-cart button.single_add_to_cart_button:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 6px rgba(255, 255, 255, 0.08) !important;
    letter-spacing: 0.14em !important;
}

/* Focus-visible for keyboard navigation */
html body.vaelor-theme .woocommerce div.product .single_add_to_cart_button:focus-visible {
    outline: 2px solid #ffffff !important;
    outline-offset: 3px !important;
}

/* Disabled (variation not yet picked) state — keep visible, no hover lift */
body.vaelor-theme .woocommerce div.product form.cart .single_add_to_cart_button.disabled,
body.vaelor-theme .woocommerce div.product form.cart .single_add_to_cart_button.wc-variation-selection-needed,
body.vaelor-theme .woocommerce div.product .woocommerce-variation-add-to-cart .single_add_to_cart_button.disabled,
body.vaelor-theme .woocommerce div.product .woocommerce-variation-add-to-cart .single_add_to_cart_button.wc-variation-selection-needed {
    background: transparent !important;
    color: #7a7a7a !important;
    border: 1px dashed #3a3a3a !important;
    cursor: not-allowed !important;
}
body.vaelor-theme .woocommerce div.product form.cart .single_add_to_cart_button.disabled:hover,
body.vaelor-theme .woocommerce div.product .woocommerce-variation-add-to-cart .single_add_to_cart_button.disabled:hover {
    transform: none !important;
    box-shadow: none !important;
    background: transparent !important;
    color: #7a7a7a !important;
}
/* Quantity label */
body.vaelor-theme.single-product .woocommerce .quantity::before {
    content: 'Qty';
    display: block;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #8a8a8a;
    font-weight: 600;
    margin-bottom: 8px;
}
body.vaelor-theme.single-product .woocommerce div.product form.cart {
    align-items: flex-end;
}

/* --- Add to Cart button: solid white, black text, never greyed unless truly disabled --- */
body.vaelor-theme .woocommerce button.single_add_to_cart_button,
body.vaelor-theme .woocommerce button.single_add_to_cart_button.alt,
body.vaelor-theme.single-product button.single_add_to_cart_button {
    background: #ffffff !important;
    color: #0a0a0a !important;
    border: 1px solid #ffffff !important;
    opacity: 1 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    font-weight: 700 !important;
}
body.vaelor-theme .woocommerce button.single_add_to_cart_button:hover {
    background: transparent !important;
    color: #ffffff !important;
    border-color: #ffffff !important;
}

/* Variation-required state: keep visible but clearly "waiting" — outline only, faded text */
body.vaelor-theme .woocommerce button.single_add_to_cart_button.disabled,
body.vaelor-theme .woocommerce button.single_add_to_cart_button.wc-variation-selection-needed,
body.vaelor-theme .woocommerce button.button:disabled[disabled] {
    background: transparent !important;
    color: #7a7a7a !important;
    border: 1px dashed #3a3a3a !important;
    opacity: 1 !important;
    cursor: not-allowed !important;
}
body.vaelor-theme .woocommerce button.single_add_to_cart_button.disabled:hover,
body.vaelor-theme .woocommerce button.single_add_to_cart_button.wc-variation-selection-needed:hover {
    background: transparent !important;
    color: #7a7a7a !important;
}

/* Force-hide the variation select once JS has upgraded it to pills */
body.vaelor-theme .woocommerce div.product form.cart .variations select.v-pills-source {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

body.vaelor-theme .woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom-color: #1f1f1f; }
body.vaelor-theme .woocommerce div.product .woocommerce-tabs ul.tabs li a { color: #7a7a7a !important; }
body.vaelor-theme .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: #f2f2f2 !important;
    border-bottom-color: #ffffff;
}
body.vaelor-theme.single-product .woocommerce-tabs .panel p,
body.vaelor-theme.single-product .woocommerce-tabs .panel li { color: #c4c4c4 !important; }
body.vaelor-theme.single-product .woocommerce-tabs .panel h2,
body.vaelor-theme.single-product .woocommerce-tabs .panel h3 { color: #f2f2f2 !important; }

body.vaelor-theme.single-product .product_meta { border-top-color: #1f1f1f; color: #8a8a8a; }
body.vaelor-theme.single-product .product_meta * { color: #8a8a8a !important; }
body.vaelor-theme.single-product .product_meta a { color: #f2f2f2 !important; }

/* Cart */
body.vaelor-theme .v-cart__items { border-top-color: #1f1f1f; }
body.vaelor-theme .v-cart__header { border-bottom-color: #1f1f1f; color: #8a8a8a; }
body.vaelor-theme .v-cart__row { border-bottom-color: #1f1f1f; }
body.vaelor-theme .v-cart__thumb { background: #141414; }
body.vaelor-theme .v-cart__name,
body.vaelor-theme .v-cart__name a { color: #f2f2f2; }
body.vaelor-theme .v-cart__remove-link { color: #7a7a7a; border-bottom-color: #7a7a7a; }
body.vaelor-theme .v-cart__remove-link:hover { color: #ffffff; border-color: #ffffff; }
body.vaelor-theme .v-cart__line-total { color: #f2f2f2; }
body.vaelor-theme .v-cart__summary { background: #111111; }
body.vaelor-theme .v-cart__summary table.shop_table th,
body.vaelor-theme .v-cart__summary table.shop_table td {
    border-bottom-color: #1f1f1f !important;
    color: #ededed;
}
body.vaelor-theme .v-cart__summary table.shop_table th { color: #8a8a8a !important; }
body.vaelor-theme .v-cart__summary table.shop_table .order-total th,
body.vaelor-theme .v-cart__summary table.shop_table .order-total td { color: #f2f2f2 !important; }
body.vaelor-theme .v-cart__summary .cart_totals h2 { color: #f2f2f2 !important; border-bottom-color: #1f1f1f; }

body.vaelor-theme .v-cart-empty h2 { color: #f2f2f2; }
body.vaelor-theme .v-cart-empty p { color: #8a8a8a; }
body.vaelor-theme .v-cart-empty__icon { color: #4a4a4a; }

/* Checkout */
body.vaelor-theme .v-checkout__summary { background: #111111; }
body.vaelor-theme .v-checkout__heading { color: #f2f2f2; border-bottom-color: #1f1f1f; }
body.vaelor-theme .v-checkout__num { color: #8a8a8a; }
body.vaelor-theme .woocommerce-checkout-review-order table.shop_table th,
body.vaelor-theme .woocommerce-checkout-review-order table.shop_table td {
    border-bottom-color: #1f1f1f !important;
    color: #ededed;
}
body.vaelor-theme .woocommerce-checkout-review-order table.shop_table th { color: #8a8a8a !important; }
body.vaelor-theme #payment ul.payment_methods li { background: #141414 !important; border-color: #2a2a2a !important; }
body.vaelor-theme #payment ul.payment_methods li label { color: #f2f2f2; }
body.vaelor-theme #payment .payment_box { background: #0a0a0a !important; color: #a0a0a0 !important; }
body.vaelor-theme .woocommerce-terms-and-conditions-wrapper { color: #8a8a8a; }

body.vaelor-theme .woocommerce-info,
body.vaelor-theme .woocommerce-message,
body.vaelor-theme .woocommerce-error {
    background: #141414 !important;
    color: #ededed !important;
    border-left-color: #ffffff !important;
}
body.vaelor-theme .woocommerce-info::before,
body.vaelor-theme .woocommerce-message::before { color: #ffffff !important; }
body.vaelor-theme .woocommerce form.login,
body.vaelor-theme .woocommerce form.checkout_coupon {
    border-color: #2a2a2a !important;
    background: #111111 !important;
}

body.vaelor-theme .woocommerce-account .woocommerce-MyAccount-navigation ul { border-color: #2a2a2a; }
body.vaelor-theme .woocommerce-account .woocommerce-MyAccount-navigation ul li { border-bottom-color: #2a2a2a; }
body.vaelor-theme .woocommerce-account .woocommerce-MyAccount-navigation ul li a { color: #7a7a7a; }
body.vaelor-theme .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
body.vaelor-theme .woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background: #ffffff;
    color: #0a0a0a;
}

body.vaelor-theme .woocommerce ul.order_details { border-color: #2a2a2a; }
body.vaelor-theme .woocommerce ul.order_details li { border-right-color: #2a2a2a; color: #8a8a8a; }
body.vaelor-theme .woocommerce ul.order_details li strong { color: #f2f2f2; }

body.vaelor-theme .v-shop-cats-section { border-top-color: #1f1f1f; }

/* ============================================================
   FLUENT FORMS — dark theme overrides (contact page)
   Targets Fluent Forms classes so the embedded form matches brand.
   ============================================================ */
body.vaelor-theme .v-ff-wrap .fluentform,
body.vaelor-theme .v-ff-wrap .ff-default,
body.vaelor-theme .v-ff-wrap .ff_form_styler_main,
body.vaelor-theme .v-ff-wrap form.frm-fluent-form {
    background: transparent !important;
    color: var(--v-ink) !important;
    font-family: var(--v-font-body) !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    border: 0 !important;
}

/* Each field row */
body.vaelor-theme .v-ff-wrap .ff-el-group,
body.vaelor-theme .v-ff-wrap .ff_columns,
body.vaelor-theme .v-ff-wrap .ff_columns_total_2 {
    background: transparent !important;
    margin-bottom: 18px !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Labels */
body.vaelor-theme .v-ff-wrap label,
body.vaelor-theme .v-ff-wrap .ff-el-input--label label,
body.vaelor-theme .v-ff-wrap .ff-el-input--label > label {
    color: #8a8a8a !important;
    font-size: 11px !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
    background: transparent !important;
}
body.vaelor-theme .v-ff-wrap label .ff-el-is-required.asterisk-right,
body.vaelor-theme .v-ff-wrap label .ff-el-is-required {
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* Inputs + textareas + selects */
body.vaelor-theme .v-ff-wrap input[type="text"],
body.vaelor-theme .v-ff-wrap input[type="email"],
body.vaelor-theme .v-ff-wrap input[type="tel"],
body.vaelor-theme .v-ff-wrap input[type="url"],
body.vaelor-theme .v-ff-wrap input[type="number"],
body.vaelor-theme .v-ff-wrap input[type="password"],
body.vaelor-theme .v-ff-wrap input[type="search"],
body.vaelor-theme .v-ff-wrap textarea,
body.vaelor-theme .v-ff-wrap select,
body.vaelor-theme .v-ff-wrap .ff-el-form-control {
    background: #141414 !important;
    background-color: #141414 !important;
    border: 1px solid #2a2a2a !important;
    color: #f2f2f2 !important;
    -webkit-text-fill-color: #f2f2f2 !important;
    border-radius: 0 !important;
    padding: 14px 16px !important;
    font: 400 15px/1.4 var(--v-font-body) !important;
    width: 100% !important;
    box-shadow: none !important;
    transition: border-color .2s var(--v-ease) !important;
    min-height: 48px !important;
    box-sizing: border-box !important;
}
body.vaelor-theme .v-ff-wrap input::placeholder,
body.vaelor-theme .v-ff-wrap textarea::placeholder {
    color: #5a5a5a !important;
    opacity: 1 !important;
}
body.vaelor-theme .v-ff-wrap input:focus,
body.vaelor-theme .v-ff-wrap textarea:focus,
body.vaelor-theme .v-ff-wrap select:focus,
body.vaelor-theme .v-ff-wrap .ff-el-form-control:focus {
    border-color: #ffffff !important;
    outline: none !important;
}
body.vaelor-theme .v-ff-wrap textarea { min-height: 140px !important; resize: vertical !important; }

/* Two-column row (First name + Last name) */
body.vaelor-theme .v-ff-wrap .ff_columns_total_2 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
}
body.vaelor-theme .v-ff-wrap .ff_columns_total_2 > .ff-t-cell {
    padding: 0 !important;
    width: auto !important;
}

/* Submit button — match brand v-btn style */
body.vaelor-theme .v-ff-wrap .ff-btn-submit,
body.vaelor-theme .v-ff-wrap button[type="submit"],
body.vaelor-theme .v-ff-wrap input[type="submit"] {
    background: #ffffff !important;
    color: #0a0a0a !important;
    border: 1px solid #ffffff !important;
    border-radius: 0 !important;
    padding: 16px 32px !important;
    font: 700 13px/1 var(--v-font-body) !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: background .2s var(--v-ease), color .2s var(--v-ease) !important;
    min-height: 52px !important;
}
body.vaelor-theme .v-ff-wrap .ff-btn-submit:hover,
body.vaelor-theme .v-ff-wrap button[type="submit"]:hover {
    background: transparent !important;
    color: #ffffff !important;
}

/* Error / required asterisk */
body.vaelor-theme .v-ff-wrap .ff-el-input--label .text-danger,
body.vaelor-theme .v-ff-wrap .text-danger,
body.vaelor-theme .v-ff-wrap .error,
body.vaelor-theme .v-ff-wrap .ff-el-is-error {
    color: #f87171 !important;
    font-size: 12px !important;
}

/* Success message */
body.vaelor-theme .v-ff-wrap .ff-message-success,
body.vaelor-theme .v-ff-wrap .ff-message,
body.vaelor-theme .v-ff-wrap .ff-success-msg {
    background: rgba(74, 222, 128, 0.08) !important;
    color: #4ade80 !important;
    border: 1px solid rgba(74, 222, 128, 0.3) !important;
    border-radius: 0 !important;
    padding: 14px 16px !important;
}

/* Wrap any default coloured background ribbons Fluent puts in */
body.vaelor-theme .v-ff-wrap .ff-el-section-break {
    background: transparent !important;
    border: 0 !important;
    color: var(--v-ink) !important;
    padding: 0 !important;
    margin: 0 0 18px !important;
}

/* Kill the left-border colored bar Fluent draws on the form */
body.vaelor-theme .v-ff-wrap form { border-left: 0 !important; padding-left: 0 !important; }

/* ============================================================
   SOCIAL PROOF + PERSONALIZATION (single product)
   ============================================================ */

/* ============================================================
   POLICY pages (Shipping & Returns, Privacy, Terms, etc.)
   2-column: sticky TOC left, prose content right
   ============================================================ */
body.vaelor-theme .v-policy {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 80px;
    align-items: start;
}

/* ---- Desktop sticky TOC ---- */
body.vaelor-theme .v-policy__toc {
    position: sticky;
    top: calc(var(--v-header-h) + 32px);
    align-self: start;
}
body.vaelor-theme .v-policy__toc-title {
    display: block;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--v-mute);
    font-weight: 600;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--v-line);
}
body.vaelor-theme .v-policy__toc-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
body.vaelor-theme .v-policy__toc-list a {
    display: block;
    padding: 8px 0 8px 14px;
    font-size: 13.5px;
    line-height: 1.4;
    color: var(--v-mute);
    border-left: 1px solid var(--v-line);
    transition: color .15s var(--v-ease), border-color .15s var(--v-ease);
}
body.vaelor-theme .v-policy__toc-list a:hover { color: var(--v-ink); }
body.vaelor-theme .v-policy__toc-list a.is-active {
    color: #ffffff;
    border-left-color: #ffffff;
    font-weight: 600;
}

/* ---- Mobile dropdown TOC ---- */
body.vaelor-theme .v-policy__toc-mobile { display: none; margin-bottom: 28px; }

/* ---- Prose typography ---- */
body.vaelor-theme .v-prose {
    color: var(--v-ink);
    font-size: 16px;
    line-height: 1.75;
    max-width: 720px;
}
body.vaelor-theme .v-prose > * + * { margin-top: 1.1em; }
body.vaelor-theme .v-prose h2,
body.vaelor-theme .v-prose h2:first-child {
    font-family: var(--v-font-display);
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.1;
    color: #f2f2f2;
    margin: 2.4em 0 0.6em;
    padding-top: 24px;
    border-top: 1px solid var(--v-line);
    scroll-margin-top: calc(var(--v-header-h) + 24px); /* sticky anchor offset */
}
body.vaelor-theme .v-prose h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
body.vaelor-theme .v-prose h3 {
    font-family: var(--v-font-display);
    font-size: 19px;
    font-weight: 700;
    color: #f2f2f2;
    letter-spacing: -0.01em;
    margin: 1.6em 0 0.4em;
    scroll-margin-top: calc(var(--v-header-h) + 24px);
}
body.vaelor-theme .v-prose p { margin: 0; color: var(--v-ink); }
body.vaelor-theme .v-prose strong { color: #ffffff; font-weight: 700; }
body.vaelor-theme .v-prose a {
    color: #ffffff;
    border-bottom: 1px solid var(--v-mute);
    transition: border-color .15s var(--v-ease);
}
body.vaelor-theme .v-prose a:hover { border-bottom-color: #ffffff; }
body.vaelor-theme .v-prose ul,
body.vaelor-theme .v-prose ol {
    margin: 0;
    padding-left: 22px;
}
body.vaelor-theme .v-prose ul li,
body.vaelor-theme .v-prose ol li {
    margin: 8px 0;
    padding-left: 6px;
}
body.vaelor-theme .v-prose ul li::marker { color: var(--v-mute); }
body.vaelor-theme .v-prose blockquote {
    border-left: 2px solid var(--v-line);
    padding: 4px 0 4px 20px;
    color: var(--v-mute);
    font-style: italic;
    margin: 1.4em 0;
}
body.vaelor-theme .v-prose hr {
    border: 0;
    border-top: 1px solid var(--v-line);
    margin: 2em 0;
}

@media (max-width: 900px) {
    body.vaelor-theme .v-policy { grid-template-columns: 1fr; gap: 0; }
    body.vaelor-theme .v-policy__toc { display: none; }
    body.vaelor-theme .v-policy__toc-mobile { display: block; }
    body.vaelor-theme .v-prose { max-width: none; }
}

/* ============================================================
   FAQ — accordion (single-open, smooth height)
   ============================================================ */
body.vaelor-theme .v-faq__head {
    margin-bottom: 40px;
    text-align: center;
}
body.vaelor-theme .v-faq__head .v-lead { margin: 0 auto; max-width: 520px; }

body.vaelor-theme .v-faq__list {
    border-top: 1px solid var(--v-line);
}
body.vaelor-theme .v-faq__item {
    border-bottom: 1px solid var(--v-line);
}

body.vaelor-theme .v-faq__q {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 28px 4px;
    background: transparent;
    border: 0;
    color: inherit;
    text-align: left;
    cursor: pointer;
    font-family: var(--v-font-display);
    font-weight: 700;
    font-size: clamp(17px, 1.7vw, 22px);
    letter-spacing: -0.015em;
    line-height: 1.3;
    transition: color .15s var(--v-ease);
}
body.vaelor-theme .v-faq__q:hover { color: #ffffff; }
body.vaelor-theme .v-faq__q-text { flex: 1 1 auto; }

body.vaelor-theme .v-faq__q-icon {
    flex-shrink: 0;
    width: 28px; height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #a0a0a0;
    transition: color .2s var(--v-ease), transform .25s var(--v-ease);
}
body.vaelor-theme .v-faq__q-icon svg { width: 100%; height: 100%; }
/* The vertical line of the + rotates out → makes a × */
body.vaelor-theme .v-faq__q-icon-vert {
    transform-origin: center;
    transition: transform .25s var(--v-ease);
}
body.vaelor-theme .v-faq__q[aria-expanded="true"] .v-faq__q-icon { color: #ffffff; transform: rotate(45deg); }
body.vaelor-theme .v-faq__q[aria-expanded="true"] .v-faq__q-icon-vert { transform: rotate(90deg); }

body.vaelor-theme .v-faq__a {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s var(--v-ease);
}
body.vaelor-theme .v-faq__item.is-open .v-faq__a {
    max-height: 600px; /* generous cap — content rarely exceeds */
}
body.vaelor-theme .v-faq__a p {
    margin: 0;
    padding: 0 4px 28px;
    color: var(--v-mute);
    font-size: 15px;
    line-height: 1.7;
    max-width: 720px;
}

/* Compact variant (homepage section) — slightly tighter spacing */
body.vaelor-theme .v-faq--compact .v-faq__q { padding: 22px 4px; font-size: clamp(16px, 1.5vw, 19px); }
body.vaelor-theme .v-faq--compact .v-faq__a p { padding-bottom: 22px; font-size: 14.5px; }

@media (max-width: 600px) {
    body.vaelor-theme .v-faq__q { padding: 22px 2px; gap: 16px; }
    body.vaelor-theme .v-faq__q-icon { width: 24px; height: 24px; }
}

/* ============================================================
   TRUST BADGES (single product, under Add to Cart)
   Reassurance row — quiet, not headline.
   ============================================================ */
body.vaelor-theme .v-trust-badges {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin: 22px 0 8px;
    padding-top: 22px;
    border-top: 1px solid #1f1f1f;
    width: 100%;                         /* full width inside the variation form */
    flex-basis: 100%;                    /* if parent is flex-row (variation add-to-cart) */
}
body.vaelor-theme .v-trust {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
    padding: 4px 8px;
    color: #7a7a7a;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    line-height: 1.3;
    transition: color .2s var(--v-ease);
    border-right: 1px solid #1a1a1a;
}
body.vaelor-theme .v-trust:last-child { border-right: 0; }
body.vaelor-theme .v-trust svg {
    width: 22px; height: 22px;
    color: #a0a0a0;
    transition: color .2s var(--v-ease), transform .2s var(--v-ease);
}
body.vaelor-theme .v-trust:hover { color: #ededed; }
body.vaelor-theme .v-trust:hover svg { color: #ffffff; transform: translateY(-1px); }

@media (max-width: 600px) {
    body.vaelor-theme .v-trust-badges {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px 0;
    }
    body.vaelor-theme .v-trust { border-right: 0; }
    body.vaelor-theme .v-trust:nth-child(odd) { border-right: 1px solid #1a1a1a; }
}

/* ============================================================
   SOCIAL PROOF — 3 distinct blocks (cart pill / urgency / purchased)
   ============================================================ */

/* ---- Block 1: small "in cart" pill above the title ---- */
body.vaelor-theme .v-sp-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 18px;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(251, 191, 36, 0.10);
    color: #fcd34d;
    border: 1px solid rgba(251, 191, 36, 0.25);
    font-size: 12.5px;
    font-weight: 500;
    letter-spacing: 0.01em;
}
body.vaelor-theme .v-sp-pill strong { color: #fde68a; font-weight: 700; }
body.vaelor-theme .v-sp-pill__dot {
    width: 6px; height: 6px;
    border-radius: 999px;
    background: #fcd34d;
    box-shadow: 0 0 0 3px rgba(252, 211, 77, 0.18);
}

/* ---- Block 2: single-line urgency (stock + selling out) ---- */
body.vaelor-theme .v-sp-urgency {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin: 14px 0 20px;
    padding: 10px 14px;
    background: rgba(249, 115, 22, 0.08);
    border: 1px solid rgba(249, 115, 22, 0.22);
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    color: #fcd9b6;
}
body.vaelor-theme .v-sp-urgency__stock,
body.vaelor-theme .v-sp-urgency__hot {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
body.vaelor-theme .v-sp-urgency__stock strong { color: #ffb87a; font-weight: 700; }
body.vaelor-theme .v-sp-urgency__stock svg { width: 14px; height: 14px; color: #f97316; }
body.vaelor-theme .v-sp-urgency__hot { color: #fcd34d; font-weight: 600; }
body.vaelor-theme .v-sp-urgency__hot svg { width: 14px; height: 14px; color: #fcd34d; }
body.vaelor-theme .v-sp-urgency__sep {
    width: 1px;
    height: 16px;
    background: rgba(249, 115, 22, 0.3);
}

/* ---- Block 3: purchased line with avatar stack + progress bar ---- */
body.vaelor-theme .v-sp-purchased {
    margin: 0 0 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
body.vaelor-theme .v-sp-purchased__row {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13.5px;
    color: #c4c4c4;
}
body.vaelor-theme .v-sp-purchased__text strong { color: #ffffff; font-weight: 700; }

body.vaelor-theme .v-sp-avatars {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}
body.vaelor-theme .v-sp-avatar {
    width: 26px; height: 26px;
    border-radius: 999px;
    border: 2px solid #0a0a0a;
    background-size: cover;
    background-position: center;
    margin-left: -8px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.3);
}
body.vaelor-theme .v-sp-avatar:first-child { margin-left: 0; }
body.vaelor-theme .v-sp-avatar--1 {
    background: linear-gradient(135deg, #f59e0b, #d97706);
}
body.vaelor-theme .v-sp-avatar--2 {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}
body.vaelor-theme .v-sp-avatar--3 {
    background: linear-gradient(135deg, #10b981, #059669);
}

body.vaelor-theme .v-sp-progress {
    width: 100%;
    height: 3px;
    background: rgba(255,255,255,0.08);
    border-radius: 999px;
    overflow: hidden;
}
body.vaelor-theme .v-sp-progress span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #10b981, #4ade80);
    border-radius: 999px;
    transition: width 1.2s var(--v-ease);
}

/* ---- Personalization opt-in ---- */
body.vaelor-theme .v-personalize {
    margin: 0 0 20px;
    border: 1px solid #2a2a2a;
    background: #111111;
    padding: 16px 18px;
}
body.vaelor-theme .v-personalize__toggle {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    color: #f2f2f2;
}
body.vaelor-theme .v-personalize__toggle input {
    position: absolute;
    opacity: 0;
    width: 1px; height: 1px;
}
body.vaelor-theme .v-personalize__toggle-ui {
    width: 38px; height: 22px;
    border-radius: 999px;
    background: #2a2a2a;
    position: relative;
    transition: background .2s var(--v-ease);
    flex-shrink: 0;
}
body.vaelor-theme .v-personalize__toggle-ui::after {
    content: '';
    position: absolute;
    top: 3px; left: 3px;
    width: 16px; height: 16px;
    border-radius: 999px;
    background: #ffffff;
    transition: transform .2s var(--v-ease);
}
body.vaelor-theme .v-personalize__toggle input:checked + .v-personalize__toggle-ui { background: #4ade80; }
body.vaelor-theme .v-personalize__toggle input:checked + .v-personalize__toggle-ui::after { transform: translateX(16px); }
body.vaelor-theme .v-personalize__toggle-label {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
body.vaelor-theme .v-personalize__fee {
    font-style: normal;
    color: #4ade80;
    font-weight: 700;
    background: rgba(74,222,128,0.1);
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: 0.04em;
}

body.vaelor-theme .v-personalize__fields {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #2a2a2a;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 14px;
}
body.vaelor-theme .v-personalize__field { display: flex; flex-direction: column; gap: 8px; }
body.vaelor-theme .v-personalize__field .v-label { margin: 0; }
body.vaelor-theme .v-personalize__field .v-input {
    background: #0a0a0a !important;
    border-color: #3a3a3a !important;
    color: #f2f2f2 !important;
    font-weight: 500;
}
body.vaelor-theme .v-personalize__field select.v-input {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 36px !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none' stroke='%23f2f2f2' stroke-width='1.5'><path d='M1 1l4 4 4-4'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
}
body.vaelor-theme .v-personalize__note {
    grid-column: 1 / -1;
    font-size: 12px;
    color: #7a7a7a;
    margin: 4px 0 0;
}
body.vaelor-theme #vPersonalizeCustomWrap { grid-column: 1 / -1; }

@media (max-width: 600px) {
    body.vaelor-theme .v-personalize__fields { grid-template-columns: 1fr; }
}
