/* ============================================================
   VENPICK — Premium Dental Marketplace
   Design system applying Apple-flavored fluidity:
   translucent materials, layered depth, optical typography,
   spring-eased motion, reduced-motion & reduced-transparency.
   ============================================================ */

/* ----------------------------------------------------------
   1. DESIGN TOKENS
   ---------------------------------------------------------- */
:root {
    /* Ink — near-black with a cool tint for premium text */
    --vp-ink: #22282B;

    /* Brand — muted sage-slate (echoes surgical green scrubs) */
    --vp-navy-900: #3C5A5A;
    --vp-navy-800: #507171;
    --vp-navy-700: #668A8A;
    --vp-navy-600: #7CA4A4;

    /* Primary sage (medical clarity) */
    --vp-blue-700: #35504f;
    --vp-blue-600: #3C5A5A;
    --vp-blue-500: #527473;
    --vp-blue-400: #7A9E9E;
    --vp-blue-300: #94B4B4;
    --vp-blue-200: #C2D8D7;
    --vp-blue-100: #E3EDED;
    --vp-blue-50:  #F2F7F6;

    /* Teal whisper — clinical freshness used very sparingly */
    --vp-teal-500: #14b8a6;
    --vp-teal-50:  #ecfdf8;

    /* Warm-cool neutral ramp (subtle blue tint, premium not gray) */
    --vp-gray-950: #1B2325;
    --vp-gray-900: #22282B;
    --vp-gray-800: #2C3436;
    --vp-gray-700: #3F484B;
    --vp-gray-600: #556064;
    --vp-gray-500: #6B777A;
    --vp-gray-400: #9AA4A5;
    --vp-gray-300: #C8CECE;
    --vp-gray-200: #DEE3E2;
    --vp-gray-100: #ECEFEE;
    --vp-gray-50:  #F4F6F5;
    --vp-white: #ffffff;

    /* Semantic */
    --vp-success: #059669;
    --vp-warning: #d97706;
    --vp-danger:  #dc2626;
    --vp-star:    #C0704D;

    /* Surfaces */
    --vp-bg:        #EDEFEE;
    --vp-surface:   #ffffff;
    --vp-surface-2: #E7EAE9;

    /* Radii — generous, soft, premium */
    --vp-radius-xs: 6px;
    --vp-radius-sm: 8px;
    --vp-radius:   12px;
    --vp-radius-md: 8px;
    --vp-radius-lg: 20px;
    --vp-radius-xl: 28px;
    --vp-radius-2xl: 36px;
    --vp-radius-pill: 999px;

    /* Shadows — layered, color-tinted, encode hierarchy */
    --vp-shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.04);
    --vp-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.08);
    --vp-shadow:    0 2px 4px rgba(15, 23, 42, 0.04), 0 4px 12px rgba(15, 23, 42, 0.06);
    --vp-shadow-md: 0 4px 8px rgba(15, 23, 42, 0.05), 0 12px 28px rgba(15, 23, 42, 0.08);
    --vp-shadow-lg: 0 8px 16px rgba(15, 23, 42, 0.06), 0 24px 48px rgba(15, 23, 42, 0.10);
    --vp-shadow-xl: 0 16px 32px rgba(15, 23, 42, 0.08), 0 40px 80px rgba(15, 23, 42, 0.14);
    --vp-shadow-blue: 0 8px 24px rgba(37, 99, 235, 0.22);
    --vp-shadow-blue-lg: 0 16px 40px rgba(37, 99, 235, 0.30);

    /* Glass materials */
    --vp-glass-bg:      rgba(255, 255, 255, 0.72);
    --vp-glass-bg-strong: rgba(255, 255, 255, 0.82);
    --vp-glass-border:  rgba(255, 255, 255, 0.65);
    --vp-glass-blur:    20px;
    --vp-glass-saturate: 180%;

    /* Typography */
    --vp-font-primary: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Display', system-ui, sans-serif;
    --vp-font-body:    'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Text', system-ui, sans-serif;

    /* Container */
    --vp-container: 1280px;
    --vp-gutter: clamp(16px, 4vw, 32px);

    /* Motion — spring-like easing (not linear ease) */
    --vp-ease-out: cubic-bezier(0.22, 1, 0.36, 1);      /* ease-out premium */
    --vp-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1); /* slight overshoot, momentum */
    --vp-ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
    --vp-dur-fast: 160ms;
    --vp-dur: 280ms;
    --vp-dur-slow: 480ms;
    --vp-transition: all var(--vp-dur) var(--vp-ease-out);
    --vp-transition-fast: all var(--vp-dur-fast) var(--vp-ease-out);
}

/* ----------------------------------------------------------
   2. BASE / RESET
   ---------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

/* Remove the default browser focus ring everywhere.
   !important beats Storefront's a:focus/button:focus purple outline. */
*:focus {
    outline: none !important;
}

/* Custom on-brand focus ring — keyboard (Tab) navigation only.
   A JS class on <body> tracks the last input modality so mouse
   clicks never show the ring, even in browsers that match
   :focus-visible on click. */
body:not(.vp-keyboard-focus) *:focus-visible {
    outline: none !important;
}
body.vp-keyboard-focus *:focus-visible {
    outline: 2px solid var(--vp-blue-600) !important;
    outline-offset: 2px;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    text-rendering: optimizeLegibility;
}

body {
    font-family: var(--vp-font-body);
    color: var(--vp-gray-800);
    background: var(--vp-bg);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: "cv02", "cv03", "cv04", "cv11";
}

/* Optical typography — size-specific tracking & leading */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--vp-font-primary);
    color: var(--vp-ink);
    line-height: 1.12;
    font-weight: 700;
    letter-spacing: -0.022em;
    font-optical-sizing: auto;
}
h1 { font-weight: 800; letter-spacing: -0.035em; }
h2 { letter-spacing: -0.028em; }
h3 { letter-spacing: -0.018em; line-height: 1.2; }
h4 { letter-spacing: -0.012em; line-height: 1.3; }
h5, h6 { letter-spacing: -0.008em; line-height: 1.35; }

p { line-height: 1.65; }

a {
    color: var(--vp-blue-600);
    text-decoration: none;
    transition: color var(--vp-dur-fast) var(--vp-ease-out);
}
a:hover { color: var(--vp-blue-700); }

img { max-width: 100%; height: auto; }

::selection { background: rgba(37, 99, 235, 0.18); color: var(--vp-ink); }

/* Container */
.container {
    max-width: var(--vp-container);
    margin: 0 auto;
    padding: 0 var(--vp-gutter);
}

/* ----------------------------------------------------------
   3. TOP BAR — slim, ink-dark, glassy
   ---------------------------------------------------------- */
.vp-topbar {
    background: var(--vp-navy-900);
    color: rgba(255, 255, 255, 0.72);
    font-size: 12px;
    font-weight: 500;
    padding: 6px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    letter-spacing: 0.01em;
}
.vp-topbar .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.vp-topbar a {
    color: rgba(255, 255, 255, 0.72);
    display: inline-flex;
    align-items: center;
    transition: color var(--vp-dur-fast) var(--vp-ease-out);
}
.vp-topbar a:hover { color: #fff; }
.vp-topbar-left { display: flex; gap: 22px; align-items: center; }
.vp-topbar-right { display: flex; gap: 18px; align-items: center; }
.vp-topbar svg.lucide {
    margin-right: 6px;
    opacity: 0.85;
    flex-shrink: 0;
}

/* ----------------------------------------------------------
   4. SITE HEADER — translucent floating material
   ---------------------------------------------------------- */
.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: var(--vp-glass-bg);
    -webkit-backdrop-filter: blur(var(--vp-glass-blur)) saturate(var(--vp-glass-saturate));
    backdrop-filter: blur(var(--vp-glass-blur)) saturate(var(--vp-glass-saturate));
    border-bottom: 1px solid transparent;
    box-shadow: none;
    margin-bottom: 0 !important;
    padding: 0 !important;
    transition: background var(--vp-dur) var(--vp-ease-out),
                box-shadow var(--vp-dur) var(--vp-ease-out),
                border-color var(--vp-dur) var(--vp-ease-out);
}
.site-header.scrolled {
    background: var(--vp-glass-bg-strong);
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04), 0 8px 24px rgba(15, 23, 42, 0.06);
    border-bottom-color: rgba(15, 23, 42, 0.06);
}

/* Flush spacing overrides (Storefront compat) */
#page, .site, .site-content {
    margin: 0 !important;
    padding: 0 !important;
}
#page, .site {
    overflow-x: clip;
}
body > #page, body > .site { margin-top: 0 !important; padding-top: 0 !important; }
.site-header + #page, .site-header + .site { margin-top: 0 !important; }
.storefront-handpicked-products,
.storefront-product-categories,
.storefront-product-section {
    border-top: none !important;
    padding-top: 0 !important;
}
.page-template-default .site-content,
.page .site-content, .home .site-content {
    padding-top: 0 !important; margin-top: 0 !important;
}

.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
    gap: 24px;
}

/* Branding */
.site-branding {
    flex-shrink: 0;
    width: auto !important;
    max-width: none !important;
    display: flex;
    align-items: center;
}
.site-branding .site-title {
    font-family: var(--vp-font-primary);
    font-size: 30px;
    font-weight: 800;
    color: var(--vp-navy-900);
    margin: 0;
    letter-spacing: -0.04em;
    line-height: 1;
    white-space: nowrap;
    width: auto !important;
    display: inline-block !important;
    max-width: none !important;
}
.site-branding .site-title a {
    display: inline !important;
    color: inherit;
    transition: color var(--vp-dur-fast) var(--vp-ease-out);
}
.site-branding .site-title a:hover { color: var(--vp-blue-700); }
.site-branding .site-title span {
    color: var(--vp-blue-500);
    font-weight: 800;
}

/* Header search — pill, refined */
.header-search {
    flex: 1 1 auto;
    width: 100%;
    max-width: 580px;
}
.header-search form {
    display: flex;
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
}
.header-search .search-field {
    width: 100%;
    height: 36px;
    padding: 0 44px 0 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: var(--vp-radius-pill);
    font-size: 14px;
    font-family: var(--vp-font-body);
    background: rgba(255, 255, 255, 0.7);
    box-sizing: border-box;
    transition: border-color var(--vp-dur) var(--vp-ease-out),
                box-shadow var(--vp-dur) var(--vp-ease-out),
                background var(--vp-dur) var(--vp-ease-out);
}
.header-search .search-field::placeholder {
    color: var(--vp-gray-400);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.header-search .search-field:focus {
    outline: none;
    border-color: var(--vp-blue-400);
    background: var(--vp-white);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.14), var(--vp-shadow-sm);
}
.header-search .search-submit {
    position: absolute;
    right: 4px;
    top: 4px;
    background: var(--vp-blue-600);
    color: #fff;
    border: none;
    width: 28px;
    height: 28px;
    padding: 0;
    border-radius: var(--vp-radius-pill);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background var(--vp-dur-fast) var(--vp-ease-out),
                transform var(--vp-dur-fast) var(--vp-ease-out);
    font-size: 12px;
}
.header-search .search-submit:hover {
    background: var(--vp-blue-700);
    transform: scale(1.05);
}
.header-search .search-submit:active { transform: scale(0.96); }

/* Live search dropdown */
.vp-search-panel {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    z-index: 1200;
    display: none;
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: var(--vp-radius-lg);
    box-shadow: var(--vp-shadow-lg);
    overflow: hidden;
    max-height: 60vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.vp-search-panel.open { display: block; }
.vp-search-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    text-decoration: none;
    color: inherit;
    transition: background var(--vp-dur-fast) var(--vp-ease-out);
}
.vp-search-item:hover,
.vp-search-item.is-highlighted { background: var(--vp-surface-2); }
.vp-search-thumb {
    flex: none;
    width: 44px;
    height: 44px;
    border-radius: var(--vp-radius-sm);
    object-fit: cover;
    background: var(--vp-surface-2);
}
.vp-search-thumb--empty { background: linear-gradient(135deg, var(--vp-gray-100), var(--vp-gray-200)); }
.vp-search-info {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.vp-search-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--vp-gray-700);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.vp-search-cat {
    font-size: 12px;
    color: var(--vp-gray-400);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.vp-search-price {
    flex: none;
    margin-left: auto;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--vp-blue-600);
    white-space: nowrap;
}
.vp-search-price del { color: var(--vp-gray-400); font-weight: 500; }
.vp-search-price ins { text-decoration: none; }
.vp-search-all {
    display: block;
    padding: 11px 14px;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    font-size: 13px;
    font-weight: 600;
    color: var(--vp-blue-600);
    text-align: center;
    text-decoration: none;
    transition: background var(--vp-dur-fast) var(--vp-ease-out);
}
.vp-search-all:hover { background: var(--vp-surface-2); }
.vp-search-state {
    padding: 16px;
    text-align: center;
    font-size: 13px;
    color: var(--vp-gray-500);
}
.vp-search-loading { color: var(--vp-gray-400); }

@media (max-width: 768px) {
    .vp-search-panel { position: fixed; top: 52px; left: 12px; right: 12px; }
}


/* Header actions — pill icon buttons */
.header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.header-action-btn {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: var(--vp-radius-pill);
    color: var(--vp-gray-700);
    font-size: 13px;
    font-weight: 600;
    background: transparent;
    border: 1px solid transparent;
    cursor: pointer;
    position: relative;
    text-decoration: none;
    white-space: nowrap;
    transition: background var(--vp-dur-fast) var(--vp-ease-out),
                color var(--vp-dur-fast) var(--vp-ease-out),
                border-color var(--vp-dur-fast) var(--vp-ease-out);
}
.header-action-btn:hover {
    background: rgba(37, 99, 235, 0.08);
    color: var(--vp-blue-700);
    border-color: rgba(37, 99, 235, 0.12);
}
.header-action-btn:active { transform: scale(0.97); }
.header-action-btn svg.lucide {
    line-height: 1;
    flex-shrink: 0;
}
.header-action-btn .count {
    position: absolute;
    top: -2px;
    right: -2px;
    background: var(--vp-blue-600);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: var(--vp-radius-pill);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    box-shadow: 0 0 0 2px var(--vp-white);
}

/* ----------------------------------------------------------
   4b. LANGUAGE SWITCHER — flat dropdown in the header
   ---------------------------------------------------------- */
.vp-lang {
    position: relative;
    flex-shrink: 0;
}
.vp-lang-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 12px;
    border-radius: var(--vp-radius-pill);
    color: var(--vp-gray-700);
    font-size: 13px;
    font-weight: 600;
    background: transparent;
    border: 1px solid transparent;
    cursor: pointer;
    white-space: nowrap;
    transition: background var(--vp-dur-fast) var(--vp-ease-out),
                color var(--vp-dur-fast) var(--vp-ease-out),
                border-color var(--vp-dur-fast) var(--vp-ease-out);
}
.vp-lang-btn:hover {
    background: rgba(60, 90, 90, 0.08);
    color: var(--vp-blue-700);
    border-color: rgba(60, 90, 90, 0.14);
}
.vp-lang-btn:active { transform: scale(0.97); }
.vp-lang-btn svg.lucide { line-height: 1; flex-shrink: 0; }
.vp-lang-flag {
    width: 20px;
    height: 15px;
    border-radius: 2px;
    object-fit: cover;
    flex-shrink: 0;
    display: inline-block;
}
.vp-lang-btn-flag { border: 1px solid rgba(15, 23, 42, 0.08); }
.vp-lang-menu a .vp-lang-flag { margin-right: 9px; vertical-align: -2px; }
.vp-lang-caret { opacity: 0.55; transition: transform var(--vp-dur-fast) var(--vp-ease-out); }
.vp-lang.is-open .vp-lang-caret { transform: rotate(180deg); }
.vp-lang-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 168px;
    margin: 0;
    padding: 6px;
    list-style: none;
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: var(--vp-radius);
    box-shadow: var(--vp-shadow-lg);
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    pointer-events: none;
    transition: opacity var(--vp-dur-fast) var(--vp-ease-out),
                transform var(--vp-dur-fast) var(--vp-ease-out),
                visibility 0s linear var(--vp-dur-fast);
    z-index: 950;
}
.vp-lang.is-open .vp-lang-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
    transition: opacity var(--vp-dur-fast) var(--vp-ease-out),
                transform var(--vp-dur-fast) var(--vp-ease-out),
                visibility 0s linear 0s;
}
.vp-lang-menu li { margin: 0; }
.vp-lang-menu a {
    display: block;
    padding: 9px 12px;
    border-radius: var(--vp-radius-sm);
    color: var(--vp-gray-700);
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none;
    transition: background var(--vp-dur-fast) var(--vp-ease-out),
                color var(--vp-dur-fast) var(--vp-ease-out);
}
.vp-lang-menu a:hover { background: var(--vp-blue-50); color: var(--vp-blue-700); }
.vp-lang-menu a.is-active {
    background: var(--vp-blue-600);
    color: #fff;
}
@media (max-width: 720px) {
    .vp-lang-current, .vp-lang-caret { display: none; }
    .vp-lang-btn { padding: 8px 10px; }
    .vp-lang-menu { right: auto; left: 50%; transform: translateX(-50%) translateY(6px); }
    .vp-lang.is-open .vp-lang-menu { transform: translateX(-50%) translateY(0); }
}

/* ----------------------------------------------------------
   5. PRIMARY NAVIGATION — floating pill, translucent
   ---------------------------------------------------------- */
.primary-navigation {
    background: transparent;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}
.primary-navigation .container {
    display: flex;
    align-items: center;
}
.primary-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 2px;
}
.primary-navigation ul li { position: relative; }
.primary-navigation ul li a {
    display: block;
    padding: 8px 18px;
    color: var(--vp-gray-700);
    font-size: 14px;
    font-weight: 600;
    transition: color var(--vp-dur-fast) var(--vp-ease-out),
                background var(--vp-dur-fast) var(--vp-ease-out);
    text-decoration: none;
    white-space: nowrap;
    border-radius: var(--vp-radius-sm);
    letter-spacing: -0.005em;
}
.primary-navigation ul li a:hover,
.primary-navigation ul li.current-menu-item a {
    background: rgba(37, 99, 235, 0.08);
    color: var(--vp-blue-700);
}
.primary-navigation .menu-item-has-children > a::after {
    content: '\f107';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    margin-left: 7px;
    font-size: 10px;
    opacity: 0.6;
}

/* Dropdown — material, scaled-from-trigger feel */
.primary-navigation .sub-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    background: var(--vp-glass-bg-strong);
    -webkit-backdrop-filter: blur(var(--vp-glass-blur)) saturate(var(--vp-glass-saturate));
    backdrop-filter: blur(var(--vp-glass-blur)) saturate(var(--vp-glass-saturate));
    min-width: 240px;
    box-shadow: var(--vp-shadow-lg);
    border-radius: var(--vp-radius);
    border: 1px solid var(--vp-glass-border);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px) scale(0.98);
    transform-origin: top left;
    transition: opacity var(--vp-dur) var(--vp-ease-out),
                transform var(--vp-dur) var(--vp-ease-spring),
                visibility var(--vp-dur) var(--vp-ease-out);
    z-index: 999;
    list-style: none;
    padding: 6px;
    margin: 0;
}
.primary-navigation .menu-item-has-children:hover > .sub-menu,
.primary-navigation .menu-item-has-children:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}
.primary-navigation .sub-menu li a {
    padding: 10px 14px;
    font-size: 13px;
    color: var(--vp-gray-700);
    border-radius: var(--vp-radius-sm);
}
.primary-navigation .sub-menu li a:hover {
    background: rgba(37, 99, 235, 0.08);
    color: var(--vp-blue-700);
}

/* ----------------------------------------------------------
   6. HERO — layered depth, gradient mesh, refined type
   ---------------------------------------------------------- */
.vp-hero {
    background: var(--vp-navy-900);
    color: #fff;
    padding: 96px 0 88px;
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
.vp-hero .container {
    position: relative;
    z-index: 1;
}
.vp-hero-content {
    max-width: 680px;
    animation: vp-hero-rise 700ms var(--vp-ease-spring) both;
}
@keyframes vp-hero-rise {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
}
.vp-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.10);
    color: #fff;
    padding: 7px 16px;
    border-radius: var(--vp-radius-pill);
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 24px;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.14);
    letter-spacing: -0.005em;
}
.vp-hero-badge i { color: var(--vp-blue-300); }
.vp-hero h1 {
    font-size: clamp(40px, 5.2vw, 60px);
    font-weight: 800;
    color: #fff;
    margin: 0 0 20px;
    line-height: 1.06;
    letter-spacing: -0.04em;
}
.vp-hero p {
    font-size: clamp(17px, 1.6vw, 20px);
    color: rgba(255, 255, 255, 0.78);
    margin: 0 0 36px;
    line-height: 1.6;
    max-width: 560px;
    font-weight: 400;
}
.vp-hero-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

/* Hero stat row — reinforces trust with premium restraint */
.vp-hero-stats {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: 44px;
}
.vp-hero-stat strong {
    display: block;
    font-size: 22px;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.025em;
    font-family: var(--vp-font-primary);
    line-height: 1.1;
}
.vp-hero-stat span {
    display: block;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.62);
    margin-top: 2px;
    letter-spacing: -0.005em;
}
.vp-hero-stat-sep {
    width: 1px;
    height: 34px;
    background: rgba(255, 255, 255, 0.14);
    display: inline-block;
}
@media (max-width: 768px) {
    .vp-hero-stats { gap: 16px; margin-top: 32px; }
    .vp-hero-stat strong { font-size: 18px; }
}
@media (max-width: 480px) {
    .vp-hero-stats { flex-wrap: wrap; gap: 14px 18px; }
    .vp-hero-stat-sep { display: none; }
}

/* ----------------------------------------------------------
   7. BUTTONS — refined, press-down feel
   ---------------------------------------------------------- */
.vp-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 13px 26px;
    border-radius: var(--vp-radius-pill);
    font-size: 15px;
    font-weight: 600;
    font-family: var(--vp-font-primary);
    border: 1px solid transparent;
    cursor: pointer;
    transition: transform var(--vp-dur-fast) var(--vp-ease-out),
                background var(--vp-dur-fast) var(--vp-ease-out),
                box-shadow var(--vp-dur) var(--vp-ease-out),
                color var(--vp-dur-fast) var(--vp-ease-out),
                border-color var(--vp-dur-fast) var(--vp-ease-out);
    text-decoration: none;
    line-height: 1.3;
    white-space: nowrap;
    letter-spacing: -0.01em;
    will-change: transform;
}
.vp-btn:active { transform: scale(0.97); }

.vp-btn-primary {
    background: var(--vp-blue-600);
    color: #fff;
    border-color: var(--vp-blue-600);
    box-shadow: var(--vp-shadow-sm);
}
.vp-btn-primary:hover {
    background: var(--vp-blue-700);
    color: #fff;
    box-shadow: var(--vp-shadow-sm);
}
.vp-btn-primary:active { transform: scale(0.97); }

.vp-btn-white {
    background: #fff;
    color: var(--vp-navy-800);
    border-color: #fff;
    box-shadow: var(--vp-shadow-md);
}
.vp-btn-white:hover {
    background: var(--vp-blue-50);
    border-color: var(--vp-blue-100);
    color: var(--vp-navy-900);
    transform: translateY(-2px);
    box-shadow: var(--vp-shadow-lg);
}
.vp-btn-outline {
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.22);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}
.vp-btn-outline:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.4);
    color: #fff;
    transform: translateY(-2px);
}
.vp-btn-sm { padding: 9px 18px; font-size: 13px; }
.vp-btn-lg { padding: 16px 34px; font-size: 16px; }

.view-all-products {
    background: #1a1a1a;
    color: #fff;
    border-radius: 8px;
    padding: 14px 28px;
}
.view-all-products:hover {
    background: #262626;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: var(--vp-shadow-sm);
}

/* Ripple feel retained (instant on press) */
.vp-btn { position: relative; overflow: hidden; }
.vp-btn::after {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    width: 0; height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.25);
    transform: translate(-50%, -50%);
    transition: width var(--vp-dur-slow) var(--vp-ease-out),
                height var(--vp-dur-slow) var(--vp-ease-out),
                opacity var(--vp-dur-slow) var(--vp-ease-out);
    opacity: 0;
}
.vp-btn:active::after { width: 320px; height: 320px; opacity: 1; transition: 0s; }

/* ----------------------------------------------------------
   8. SECTION RHYTHM
   ---------------------------------------------------------- */
.vp-section { padding: 96px 0; }
.vp-section-gray   { background: var(--vp-gray-50); }
.vp-section-white  { background: var(--vp-white); }
.vp-section-blue {
    background:
        radial-gradient(800px 500px at 80% -20%, rgba(96, 165, 250, 0.22), transparent 60%),
        linear-gradient(135deg, var(--vp-navy-900), var(--vp-navy-800));
    color: #fff;
}
.vp-section-blue h2, .vp-section-blue h3 { color: #fff; }
.vp-section-blue p { color: rgba(255, 255, 255, 0.78); }

.vp-section .container { max-width: var(--vp-container); }

.vp-section-header {
    text-align: center;
    margin-bottom: 56px;
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
}
.vp-section-header .vp-subtitle {
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--vp-blue-600);
    margin-bottom: 12px;
    padding: 4px 0;
}
.vp-section-blue .vp-section-header .vp-subtitle { color: var(--vp-blue-300); }
.vp-section-header h2 {
    font-size: clamp(28px, 3.2vw, 40px);
    margin: 0 0 14px;
    font-weight: 800;
}
.vp-section-header p {
    font-size: 17px;
    color: var(--vp-gray-500);
    margin: 0;
    line-height: 1.65;
}
.vp-section-blue .vp-section-header p { color: rgba(255, 255, 255, 0.66); }

/* ----------------------------------------------------------
   9. FEATURES STRIP — float over hero
   ---------------------------------------------------------- */
.vp-features-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: -52px;
    position: relative;
    z-index: 3;
}
.vp-feature-card {
    background: var(--vp-glass-bg-strong);
    -webkit-backdrop-filter: blur(var(--vp-glass-blur)) saturate(var(--vp-glass-saturate));
    backdrop-filter: blur(var(--vp-glass-blur)) saturate(var(--vp-glass-saturate));
    border: 1px solid var(--vp-glass-border);
    border-radius: var(--vp-radius-md);
    padding: 22px;
    box-shadow: var(--vp-shadow-lg);
    display: flex;
    align-items: flex-start;
    gap: 14px;
    transition: transform var(--vp-dur) var(--vp-ease-spring),
                box-shadow var(--vp-dur) var(--vp-ease-out);
}
.vp-feature-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--vp-shadow-xl);
}
.vp-feature-icon {
    width: 44px;
    height: 44px;
    border-radius: var(--vp-radius);
    background: linear-gradient(135deg, var(--vp-blue-50), var(--vp-blue-100));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
    color: var(--vp-blue-600);
    flex-shrink: 0;
}
.vp-feature-card h4 {
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 3px;
    color: var(--vp-ink);
    letter-spacing: -0.012em;
}
.vp-feature-card p {
    font-size: 13px;
    color: var(--vp-gray-500);
    margin: 0;
    line-height: 1.5;
}

/* ----------------------------------------------------------
   10. CATEGORY GRID — refined tiles
   ---------------------------------------------------------- */
.vp-categories-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 18px;
}
.vp-category-card {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
    padding: 30px 22px;
    text-align: center;
    transition: transform var(--vp-dur) var(--vp-ease-spring),
                box-shadow var(--vp-dur) var(--vp-ease-out),
                border-color var(--vp-dur) var(--vp-ease-out);
    cursor: pointer;
    text-decoration: none;
    display: block;
    color: inherit;
    will-change: transform;
}
.vp-category-card:hover {
    border-color: rgba(37, 99, 235, 0.22);
    box-shadow: var(--vp-shadow-md);
    transform: translateY(-5px);
    color: inherit;
}
.vp-category-icon {
    width: 64px;
    height: 64px;
    border-radius: var(--vp-radius-md);
    background: linear-gradient(135deg, var(--vp-blue-50), var(--vp-blue-100));
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
    font-size: 28px;
    color: var(--vp-blue-600);
}
.vp-category-card--plain .vp-category-icon {
    background: none;
    border-radius: 0;
}
.vp-category-card h3 {
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 4px;
    color: var(--vp-ink);
}
.vp-category-card .vp-count {
    font-size: 13px;
    color: var(--vp-gray-400);
    font-weight: 500;
}

/* ----------------------------------------------------------
   11. PRODUCT GRID / CARDS
   ---------------------------------------------------------- */
.vp-products-grid,
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none !important; }
.woocommerce ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    padding: 0;
    float: none;
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
    overflow: hidden;
    transition: transform var(--vp-dur) var(--vp-ease-spring),
                box-shadow var(--vp-dur) var(--vp-ease-out),
                border-color var(--vp-dur) var(--vp-ease-out);
    will-change: transform;
}
.woocommerce ul.products li.product:hover {
    box-shadow: var(--vp-shadow-lg);
    transform: translateY(-6px);
    border-color: rgba(37, 99, 235, 0.18);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--vp-font-primary);
    font-size: 15px;
    font-weight: 700;
    padding: 16px 18px 4px;
    color: var(--vp-ink);
    letter-spacing: -0.012em;
    line-height: 1.4;
}
.woocommerce ul.products li.product .price {
    color: var(--vp-ink);
    font-size: 18px;
    font-weight: 800;
    padding: 0 16px;
    font-family: var(--vp-font-primary);
    letter-spacing: -0.018em;
}
.woocommerce ul.products li.product .price del {
    color: var(--vp-gray-400);
    font-weight: 500;
    font-size: 14px;
}
.woocommerce ul.products li.product .price ins {
    color: var(--vp-blue-600);
    text-decoration: none;
}
.woocommerce ul.products li.product a img {
    border-radius: 0;
    margin: 0;
    transition: transform var(--vp-dur-slow) var(--vp-ease-out);
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.05); }
.woocommerce ul.products li.product .button {
    margin: 8px 16px 16px;
    padding: 11px 20px;
    background: var(--vp-ink);
    color: #fff;
    border-radius: var(--vp-radius-md);
    font-weight: 600;
    font-size: 14px;
    text-transform: none;
    letter-spacing: -0.005em;
    transition: background var(--vp-dur-fast) var(--vp-ease-out),
                transform var(--vp-dur-fast) var(--vp-ease-out);
    border: none;
    box-shadow: none;
    width: calc(100% - 32px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.woocommerce ul.products li.product .button:hover {
    background: #141a2a;
    color: #fff;
    box-shadow: none;
}
.woocommerce ul.products li.product .button:active { transform: scale(0.97); }
.woocommerce ul.products li.product .onsale {
    background: #ef4444;
    color: #fff;
    border-radius: var(--vp-radius-pill);
    padding: 5px 12px;
    font-size: 12px;
    font-weight: 700;
    min-height: auto;
    min-width: auto;
    line-height: 1.3;
    border: none;
    letter-spacing: -0.005em;
    box-shadow: var(--vp-shadow-sm);
}
.woocommerce ul.products li.product .star-rating {
    padding: 0 18px;
    margin-top: 6px;
    color: var(--vp-star);
}

.vp-featured-products .woocommerce ul.products { grid-template-columns: repeat(4, 1fr); }

/* Storefront sections */
.storefront-product-section { border-bottom: none !important; }
.storefront-product-categories .woocommerce-product-categories {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 20px;
}
.storefront-product-categories .woocommerce-product-categories li {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
    padding: 0;
    overflow: hidden;
    transition: transform var(--vp-dur) var(--vp-ease-spring),
                box-shadow var(--vp-dur) var(--vp-ease-out);
    text-align: center;
    float: none;
    width: 100% !important;
    margin: 0 !important;
}
.storefront-product-categories .woocommerce-product-categories li:hover {
    box-shadow: var(--vp-shadow-md);
    transform: translateY(-5px);
}

/* ----------------------------------------------------------
   12. CTA BANNER — premium gradient with depth
   ---------------------------------------------------------- */
.vp-cta-banner {
    background:
        radial-gradient(600px 400px at 100% 0%, rgba(255, 255, 255, 0.18), transparent 60%),
        linear-gradient(135deg, var(--vp-blue-700) 0%, var(--vp-blue-600) 50%, var(--vp-blue-500) 100%);
    border-radius: var(--vp-radius-2xl);
    padding: 56px 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
    color: #fff;
    box-shadow: var(--vp-shadow-blue-lg);
    position: relative;
    overflow: hidden;
}
.vp-cta-banner h2 {
    font-size: clamp(26px, 2.6vw, 32px);
    color: #fff;
    margin: 0 0 10px;
    font-weight: 800;
}
.vp-cta-banner p {
    font-size: 17px;
    color: rgba(255, 255, 255, 0.86);
    margin: 0;
    max-width: 480px;
    line-height: 1.6;
}

/* ----------------------------------------------------------
   13. VENDOR CARDS
   ---------------------------------------------------------- */
.vp-vendors-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
}
.vp-vendor-card {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
    padding: 24px;
    display: flex;
    align-items: center;
    gap: 16px;
    transition: transform var(--vp-dur) var(--vp-ease-spring),
                box-shadow var(--vp-dur) var(--vp-ease-out),
                border-color var(--vp-dur) var(--vp-ease-out);
    text-decoration: none;
    color: inherit;
    will-change: transform;
}
.vp-vendor-card:hover {
    box-shadow: var(--vp-shadow-md);
    transform: translateY(-4px);
    border-color: rgba(37, 99, 235, 0.22);
    color: inherit;
}
.vp-vendor-avatar {
    width: 60px;
    height: 60px;
    border-radius: var(--vp-radius);
    background: linear-gradient(135deg, var(--vp-blue-50), var(--vp-blue-100));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: var(--vp-blue-700);
    flex-shrink: 0;
    font-weight: 800;
    letter-spacing: -0.02em;
}
.vp-vendor-info h4 {
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 2px;
    color: var(--vp-ink);
    letter-spacing: -0.012em;
}
.vp-vendor-info p {
    font-size: 13px;
    color: var(--vp-gray-500);
    margin: 0;
}
.vp-vendor-info .vp-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: var(--vp-teal-50);
    color: #0d9488;
    padding: 3px 10px;
    border-radius: var(--vp-radius-pill);
    font-size: 11px;
    font-weight: 700;
    margin-top: 8px;
    letter-spacing: -0.005em;
}

/* ----------------------------------------------------------
   14. NEWSLETTER
   ---------------------------------------------------------- */
.vp-newsletter {
    background:
        radial-gradient(500px 300px at 100% 0%, rgba(96, 165, 250, 0.10), transparent 60%),
        var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-2xl);
    padding: 56px 48px;
    text-align: center;
    box-shadow: var(--vp-shadow-sm);
}
.vp-newsletter h2 {
    font-size: clamp(26px, 2.6vw, 32px);
    margin: 0 0 10px;
    font-weight: 800;
}
.vp-newsletter p {
    color: var(--vp-gray-500);
    margin: 0 0 28px;
    font-size: 16px;
}
.vp-newsletter-form {
    display: flex;
    max-width: 460px;
    margin: 0 auto;
    gap: 10px;
}
.vp-newsletter-form input {
    flex: 1;
    padding: 13px 18px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: var(--vp-radius-pill);
    font-size: 14px;
    font-family: var(--vp-font-body);
    background: var(--vp-surface-2);
    transition: border-color var(--vp-dur) var(--vp-ease-out),
                box-shadow var(--vp-dur) var(--vp-ease-out);
}
.vp-newsletter-form input::placeholder { color: var(--vp-gray-400); }
.vp-newsletter-form input:focus {
    outline: none;
    border-color: var(--vp-blue-400);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.14);
}
.vp-newsletter-form .vp-btn { white-space: nowrap; flex-shrink: 0; }
.vp-signin-alt {
    margin-top: 16px;
    font-size: 14px;
    color: var(--vp-gray-500);
}
.vp-signin-alt a {
    color: var(--vp-blue-600);
    font-weight: 600;
    text-decoration: none;
    transition: color var(--vp-dur-fast) var(--vp-ease-out);
}
.vp-signin-alt a:hover { color: var(--vp-blue-700); text-decoration: underline; }

/* ----------------------------------------------------------
   15. FOOTER — deep ink, refined
   ---------------------------------------------------------- */
.site-footer {
    background: var(--vp-navy-900);
    color: rgba(255, 255, 255, 0.85);
    padding-top: 44px;
}
.footer-main {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 40px;
    padding-bottom: 34px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.footer-brand .site-title {
    font-size: 26px;
    color: #fff;
    margin: 0 0 10px;
    font-family: var(--vp-font-primary);
    font-weight: 800;
    letter-spacing: -0.04em;
}
.footer-brand .site-title span { color: var(--vp-blue-400); }
.footer-brand p {
    font-size: 14px;
    line-height: 1.7;
    margin: 0 0 14px;
    color: rgba(255, 255, 255, 0.82);
    max-width: 320px;
}
.footer-social { display: flex; gap: 10px; }
.footer-social a {
    width: 38px;
    height: 38px;
    border-radius: var(--vp-radius);
    background: rgba(255, 255, 255, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    transition: background var(--vp-dur-fast) var(--vp-ease-out),
                color var(--vp-dur-fast) var(--vp-ease-out),
                transform var(--vp-dur-fast) var(--vp-ease-out);
    font-size: 15px;
    border: 1px solid rgba(255, 255, 255, 0.14);
}
.footer-social a:hover {
    background: var(--vp-blue-600);
    color: #fff;
    transform: translateY(-2px);
}
.footer-col h4 {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #fff;
    margin: 0 0 16px;
    font-family: var(--vp-font-primary);
}
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col ul li { margin-bottom: 8px; }
.footer-col ul li a {
    color: rgba(255, 255, 255, 0.88);
    font-size: 14px;
    transition: color var(--vp-dur-fast) var(--vp-ease-out);
}
.footer-col ul li a:hover { color: #fff; }
.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    font-size: 13px;
}
.footer-bottom a { color: rgba(255, 255, 255, 0.88); }
.footer-bottom a:hover { color: #fff; }
.footer-payment-icons { display: flex; gap: 14px; }
.footer-payment-icons i {
    font-size: 26px;
    color: rgba(255, 255, 255, 0.70);
    transition: color var(--vp-dur-fast) var(--vp-ease-out);
}
.footer-payment-icons i:hover { color: rgba(255, 255, 255, 0.95); }

/* Storefront customizer inline CSS forces footer links to #333; override it */
.site-footer a:not(.button):not(.components-button) {
    color: rgba(255, 255, 255, 0.88) !important;
}
.site-footer a:not(.button):not(.components-button):hover {
    color: #fff !important;
}
.footer-social a:not(.button):not(.components-button) {
    color: #fff !important;
}

/* ----------------------------------------------------------
   16. BACK TO TOP
   ---------------------------------------------------------- */
.vp-back-to-top {
    position: fixed;
    right: 22px;
    bottom: 22px;
    width: 46px;
    height: 46px;
    border-radius: var(--vp-radius-pill);
    background: var(--vp-glass-bg-strong);
    -webkit-backdrop-filter: blur(var(--vp-glass-blur)) saturate(var(--vp-glass-saturate));
    backdrop-filter: blur(var(--vp-glass-blur)) saturate(var(--vp-glass-saturate));
    border: 1px solid var(--vp-glass-border);
    color: var(--vp-navy-800);
    font-size: 15px;
    cursor: pointer;
    box-shadow: var(--vp-shadow-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px) scale(0.9);
    transition: opacity var(--vp-dur) var(--vp-ease-out),
                transform var(--vp-dur) var(--vp-ease-spring),
                visibility var(--vp-dur) var(--vp-ease-out),
                background var(--vp-dur-fast) var(--vp-ease-out),
                color var(--vp-dur-fast) var(--vp-ease-out);
    z-index: 900;
}
.vp-back-to-top.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}
.vp-back-to-top:hover {
    background: var(--vp-blue-600);
    color: #fff;
    transform: translateY(-2px) scale(1);
}
.vp-back-to-top:active { transform: scale(0.94); }

/* ----------------------------------------------------------
   17. PAGE HEADERS
   ---------------------------------------------------------- */
.woocommerce .page-header,
.page-header {
    background:
        radial-gradient(700px 300px at 100% 0%, rgba(96, 165, 250, 0.18), transparent 60%),
        linear-gradient(135deg, var(--vp-navy-900), var(--vp-navy-800));
    color: #fff;
    padding: 56px 0;
    margin-bottom: 0;
}
.woocommerce .page-header h1,
.page-header h1 {
    font-size: clamp(28px, 3vw, 36px);
    color: #fff;
    margin: 0;
    font-weight: 800;
    letter-spacing: -0.03em;
}
.woocommerce .page-header .woocommerce-breadcrumb,
.page-header .breadcrumb {
    color: rgba(255, 255, 255, 0.66);
    font-size: 14px;
    margin-top: 8px;
}
.woocommerce .page-header .woocommerce-breadcrumb a,
.page-header .breadcrumb a { color: rgba(255, 255, 255, 0.66); }
.woocommerce .page-header .woocommerce-breadcrumb a:hover,
.page-header .breadcrumb a:hover { color: #fff; }

/* ----------------------------------------------------------
   18. SINGLE PRODUCT
   ---------------------------------------------------------- */
.woocommerce div.product {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-xl);
    padding: 40px;
    margin-bottom: 40px;
    box-shadow: var(--vp-shadow-sm);
}
.woocommerce div.product div.images {
    border-radius: var(--vp-radius-lg);
    overflow: hidden;
    background: var(--vp-surface-2);
}
.woocommerce div.product div.images img { border-radius: var(--vp-radius-lg); }
.woocommerce div.product div.summary { padding-left: 24px; }
.woocommerce div.product .product_title {
    font-family: var(--vp-font-primary);
    font-weight: 800;
    font-size: clamp(26px, 2.6vw, 32px);
    color: var(--vp-ink);
    letter-spacing: -0.03em;
    margin: 0 0 10px;
    line-height: 1.15;
}
.woocommerce div.product .price {
    font-size: 28px;
    color: var(--vp-ink);
    font-weight: 800;
    font-family: var(--vp-font-primary);
    letter-spacing: -0.022em;
}
.woocommerce div.product .price ins { color: var(--vp-blue-600); }
.woocommerce div.product .woocommerce-product-details__short-description {
    font-size: 15px;
    color: var(--vp-gray-600);
    line-height: 1.7;
    padding: 18px 0;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    margin: 18px 0;
}
.woocommerce div.product form.cart { margin: 22px 0; }
.woocommerce div.product form.cart .qty {
    width: 64px;
    height: 48px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: var(--vp-radius);
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    transition: border-color var(--vp-dur) var(--vp-ease-out),
                box-shadow var(--vp-dur) var(--vp-ease-out);
}
.woocommerce div.product form.cart .qty:focus {
    outline: none;
    border-color: var(--vp-blue-400);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.14);
}
.woocommerce div.product form.cart .button {
    padding: 14px 36px;
    background: var(--vp-blue-600);
    color: #fff;
    border-radius: var(--vp-radius-md);
    font-weight: 600;
    font-size: 16px;
    text-transform: none;
    letter-spacing: -0.005em;
    border: none;
    box-shadow: var(--vp-shadow-sm);
    transition: background var(--vp-dur-fast) var(--vp-ease-out),
                transform var(--vp-dur-fast) var(--vp-ease-out),
                box-shadow var(--vp-dur) var(--vp-ease-out);
}
.woocommerce div.product form.cart .button:hover {
    background: var(--vp-blue-700);
    color: #fff;
}
.woocommerce div.product form.cart .button:active { transform: scale(0.97); }

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    padding: 0;
    margin: 0 0 24px;
    list-style: none;
    display: flex;
    gap: 4px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: none;
    border: none;
    border-radius: 0;
    margin: 0;
    padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: 12px 22px;
    font-weight: 600;
    font-size: 14px;
    color: var(--vp-gray-500);
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: color var(--vp-dur-fast) var(--vp-ease-out),
                border-color var(--vp-dur-fast) var(--vp-ease-out);
    font-family: var(--vp-font-primary);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--vp-blue-700);
    border-bottom-color: var(--vp-blue-600);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none; }
.woocommerce div.product .woocommerce-tabs .panel {
    margin: 0;
    padding: 24px 0;
    border: none;
    box-shadow: none;
}
.woocommerce div.product .product_meta {
    font-size: 14px;
    color: var(--vp-gray-500);
    padding-top: 18px;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}
.woocommerce div.product .product_meta span { display: block; margin-bottom: 6px; }
.woocommerce div.product .product_meta a { color: var(--vp-blue-600); }
.woocommerce div.product .woocommerce-tabs { margin-top: 36px; }
.related.products { margin-top: 56px; }
.related.products h2 {
    font-size: 24px;
    margin-bottom: 24px;
    font-weight: 800;
    letter-spacing: -0.025em;
}

/* ----------------------------------------------------------
   19. CART / CHECKOUT / ACCOUNT
   ---------------------------------------------------------- */
.woocommerce table.shop_table {
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
    overflow: hidden;
    background: var(--vp-surface);
}
.woocommerce table.shop_table th {
    background: var(--vp-surface-2);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.08em;
    color: var(--vp-gray-500);
    padding: 14px 18px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    font-family: var(--vp-font-primary);
}
.woocommerce table.shop_table td {
    padding: 18px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.04);
    vertical-align: middle;
    font-family: var(--vp-font-body);
}
.woocommerce .cart_totals {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
    padding: 26px;
}
.woocommerce .cart_totals h2 { font-size: 20px; font-weight: 800; margin-bottom: 16px; letter-spacing: -0.02em; }
.woocommerce .cart_totals .button {
    background: linear-gradient(180deg, var(--vp-blue-500), var(--vp-blue-600));
    color: #fff;
    border-radius: var(--vp-radius-pill);
    font-weight: 600;
    padding: 13px 34px;
    text-transform: none;
    letter-spacing: -0.005em;
    border: none;
    box-shadow: var(--vp-shadow-blue);
    transition: background var(--vp-dur-fast) var(--vp-ease-out),
                transform var(--vp-dur-fast) var(--vp-ease-out);
}
.woocommerce .cart_totals .button:hover {
    background: linear-gradient(180deg, var(--vp-blue-500), var(--vp-blue-700));
    color: #fff;
    transform: translateY(-2px);
}

.woocommerce-checkout #payment {
    background: var(--vp-surface-2);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
    padding: 26px;
}
.woocommerce-checkout #payment ul.payment_methods {
    padding: 16px 20px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius);
    background: var(--vp-surface);
}
.woocommerce-checkout #payment #place_order {
    background: linear-gradient(180deg, var(--vp-blue-500), var(--vp-blue-600));
    color: #fff;
    border-radius: var(--vp-radius-pill);
    font-weight: 700;
    padding: 15px 44px;
    text-transform: none;
    letter-spacing: -0.005em;
    border: none;
    font-size: 16px;
    box-shadow: var(--vp-shadow-blue);
    transition: background var(--vp-dur-fast) var(--vp-ease-out),
                transform var(--vp-dur-fast) var(--vp-ease-out),
                box-shadow var(--vp-dur) var(--vp-ease-out);
}
.woocommerce-checkout #payment #place_order:hover {
    background: linear-gradient(180deg, var(--vp-blue-500), var(--vp-blue-700));
    color: #fff;
    transform: translateY(-2px);
    box-shadow: var(--vp-shadow-blue-lg);
}
.woocommerce-checkout #order_review {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
    padding: 26px;
}

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
    padding: 10px;
    margin-bottom: 32px;
    box-shadow: var(--vp-shadow-xs);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li { margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 11px 18px;
    border-radius: var(--vp-radius);
    font-size: 14px;
    font-weight: 600;
    color: var(--vp-gray-600);
    transition: background var(--vp-dur-fast) var(--vp-ease-out),
                color var(--vp-dur-fast) var(--vp-ease-out);
    font-family: var(--vp-font-primary);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.current a {
    background: var(--vp-blue-600);
    color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
    padding: 32px;
    max-width: 800px;
    box-shadow: var(--vp-shadow-xs);
}
.woocommerce-account .woocommerce-MyAccount-content h2 { font-size: 20px; font-weight: 800; margin-bottom: 20px; letter-spacing: -0.02em; }
.woocommerce-account .woocommerce-MyAccount-content table { border: 1px solid rgba(15, 23, 42, 0.06); }

/* Login/register */
.woocommerce-account .col-1, .woocommerce-account .col-2 { width: 100% !important; float: none !important; padding: 0 !important; }
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
    padding: 36px;
    margin-bottom: 24px;
    box-shadow: var(--vp-shadow-xs);
    max-width: 480px;
}
.woocommerce-account .woocommerce-form-login h2,
.woocommerce-account .woocommerce-form-register h2 { font-size: 20px; font-weight: 800; margin-bottom: 20px; color: var(--vp-ink); letter-spacing: -0.02em; }
.woocommerce-account .woocommerce-form-login label,
.woocommerce-account .woocommerce-form-register label {
    display: block;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 6px;
    color: var(--vp-gray-700);
}
.woocommerce-account .woocommerce-form-login input[type="text"],
.woocommerce-account .woocommerce-form-login input[type="password"],
.woocommerce-account .woocommerce-form-login input[type="email"],
.woocommerce-account .woocommerce-form-register input[type="text"],
.woocommerce-account .woocommerce-form-register input[type="password"],
.woocommerce-account .woocommerce-form-register input[type="email"] {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: var(--vp-radius);
    font-size: 14px;
    font-family: var(--vp-font-body);
    margin-bottom: 16px;
    background: var(--vp-surface-2);
    transition: border-color var(--vp-dur) var(--vp-ease-out),
                box-shadow var(--vp-dur) var(--vp-ease-out),
                background var(--vp-dur) var(--vp-ease-out);
    box-sizing: border-box;
}
.woocommerce-account .woocommerce-form-login input:focus,
.woocommerce-account .woocommerce-form-register input:focus {
    outline: none;
    border-color: var(--vp-blue-400);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.14);
}
.woocommerce-account .woocommerce-form-login .form-row { margin-bottom: 16px; }
.woocommerce-account .woocommerce-form-login label.checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    font-size: 14px;
}
.woocommerce-account .woocommerce-form-login .lost_password { display: block; margin-top: 8px; font-size: 14px; }

.woocommerce-account #secondary, .woocommerce-account .widget-area { display: none !important; }
.woocommerce-account .site-content { display: block !important; }
.woocommerce-account .col-2-set, .u-columns.col2-set {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 40px;
    width: 100% !important;
    float: none !important;
}
.woocommerce { height: auto !important; min-height: 0; }

.woocommerce-account .page-header { display: none; }
.venpick-account-header {
    background: linear-gradient(135deg, var(--vp-navy-900), var(--vp-navy-800));
    color: #fff;
    padding: 48px 0;
    text-align: center;
    margin-bottom: 40px;
}
.venpick-account-header h1 { font-size: 32px; color: #fff; margin: 0; font-weight: 800; letter-spacing: -0.03em; }

.woocommerce-account h1.page-title,
.woocommerce h1.page-title,
.entry-title {
    font-size: 24px !important;
    font-weight: 800 !important;
    margin-bottom: 20px !important;
    color: var(--vp-ink) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.025em;
}
.woocommerce-account .woocommerce-form-login,
.woocommerce .woocommerce-form-login {
    background: var(--vp-surface) !important;
    border: 1px solid rgba(15, 23, 42, 0.06) !important;
    border-radius: var(--vp-radius-lg) !important;
    padding: 36px !important;
    box-shadow: var(--vp-shadow-xs);
}
.woocommerce-account .woocommerce-form-register,
.woocommerce .woocommerce-form-register {
    background: var(--vp-surface) !important;
    border: 1px solid rgba(15, 23, 42, 0.06) !important;
    border-radius: var(--vp-radius-lg) !important;
    padding: 36px !important;
    box-shadow: var(--vp-shadow-xs);
}
.woocommerce-account .woocommerce-form-login h2, .woocommerce .woocommerce-form-login h2,
.woocommerce-account .woocommerce-form-register h2, .woocommerce .woocommerce-form-register h2 {
    font-size: 20px !important; font-weight: 800 !important; margin-bottom: 20px !important;
    color: var(--vp-ink) !important; letter-spacing: -0.02em;
}
.woocommerce-account .woocommerce-form-login label, .woocommerce .woocommerce-form-login label,
.woocommerce-account .woocommerce-form-register label, .woocommerce .woocommerce-form-register label {
    display: block !important; font-weight: 600 !important; font-size: 14px !important;
    margin-bottom: 6px !important; color: var(--vp-gray-700) !important;
}
.woocommerce-account .col-2-set {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    width: 100% !important;
    float: none !important;
    max-width: 100%;
}

/* ----------------------------------------------------------
   18b. AUTH — sign in / sign up pages
   ---------------------------------------------------------- */
.woocommerce-account:not(.logged-in) .entry-header,
.woocommerce-account:not(.logged-in) .page-title,
.woocommerce-account:not(.logged-in) .site-main .entry-title {
    display: none !important;
}
.woocommerce-account:not(.logged-in) .venpick-page-content {
    padding-top: 24px !important;
}
.woocommerce-account:not(.logged-in) .venpick-auth {
    grid-template-columns: minmax(0, 480px);
    justify-content: center;
    gap: 0;
}
.woocommerce-account:not(.logged-in) .venpick-auth-brand {
    display: none;
}
.venpick-auth {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 48px;
    align-items: stretch;
    max-width: 1080px;
    margin: 0 auto;
    padding: 24px 0 80px;
}
.venpick-auth--signup {
    grid-template-columns: minmax(0, 640px);
    justify-content: center;
    gap: 0;
}
.venpick-auth--signup .venpick-auth-brand {
    display: none;
}

/* SelectWoo dropdown on the signup form — mirrors the checkout country
   selector: 52px control, hairline border, blue focus ring, rounded list. */
.venpick-auth--signup .select2-container--default .select2-selection--single {
    display: flex;
    align-items: center;
    width: 100%;
    height: 52px;
    padding: 0 16px;
    font-size: 15px;
    font-weight: 500;
    color: var(--vp-ink);
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.14);
    border-radius: var(--vp-radius-md);
    box-shadow: none;
    transition: border-color var(--vp-dur-fast) var(--vp-ease-out),
                box-shadow var(--vp-dur-fast) var(--vp-ease-out);
}
.venpick-auth--signup .select2-container--default .select2-selection--single:focus,
.venpick-auth--signup .select2-container--default.select2-container--open .select2-selection--single {
    outline: none;
    border-color: var(--vp-blue-500);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.16);
}
.venpick-auth--signup .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 50px;
    padding: 0;
    color: var(--vp-ink);
}
.venpick-auth--signup .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--vp-gray-400);
}
.venpick-auth--signup .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 15px;
    right: 12px;
}
.venpick-auth--signup .select2-dropdown {
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: var(--vp-radius);
    box-shadow: var(--vp-shadow-md);
    overflow: hidden;
}
.venpick-auth--signup .select2-container--default .select2-results__option {
    padding: 10px 14px;
    font-size: 14.5px;
}
.venpick-auth--signup .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: var(--vp-blue-600);
}
.venpick-auth-brand {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 48px 40px;
    border-radius: var(--vp-radius-lg);
    background: linear-gradient(150deg, var(--vp-navy-900) 0%, var(--vp-navy-800) 55%, #1e40af 100%);
    color: #fff;
    box-shadow: var(--vp-shadow-lg);
}
.venpick-auth-brand::before,
.venpick-auth-brand::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    opacity: 0.5;
    pointer-events: none;
}
.venpick-auth-brand::before {
    width: 260px;
    height: 260px;
    background: #2563eb;
    top: -80px;
    right: -60px;
}
.venpick-auth-brand::after {
    width: 200px;
    height: 200px;
    background: #0ea5e9;
    bottom: -70px;
    left: -40px;
}
.venpick-auth-brand > * { position: relative; z-index: 1; }
.venpick-auth-logo {
    font-family: var(--vp-font-primary);
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #fff;
    text-decoration: none;
}
.venpick-auth-logo span { color: #60a5fa; }
.venpick-auth-brand h2 {
    margin: 12px 0 0;
    color: #fff;
    font-size: 34px;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.1;
}
.venpick-auth-brand p {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 15px;
    line-height: 1.6;
}
.venpick-auth-points {
    list-style: none;
    margin: 8px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.venpick-auth-points li {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 14px;
    font-weight: 500;
}
.venpick-auth-points li svg { color: #7dd3fc; flex: none; }
.venpick-auth-brand-foot {
    margin-top: auto;
    padding-top: 24px;
    color: rgba(255, 255, 255, 0.6);
    font-size: 13px;
}
.venpick-auth-card {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
    box-shadow: var(--vp-shadow-lg);
    padding: 44px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.venpick-auth-heading {
    font-size: 26px !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
    color: var(--vp-ink) !important;
    margin: 0 0 8px !important;
}
.venpick-auth-sub {
    margin: 0 0 28px;
    color: var(--vp-gray-500);
    font-size: 14px;
}
.venpick-auth .woocommerce-form-login {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.venpick-form-row { margin-bottom: 18px; }
.venpick-form-row--full { grid-column: 1 / -1; }
.venpick-form-row label,
.venpick-fieldset label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--vp-gray-700);
    margin-bottom: 7px;
}
.venpick-req { color: var(--vp-red-600); margin-left: 3px; }
.venpick-input {
    width: 100%;
    height: 46px;
    padding: 0 14px;
    margin-bottom: 0;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: var(--vp-radius);
    background: #fff;
    font-size: 14px;
    font-family: var(--vp-font-body);
    color: var(--vp-ink);
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
    transition: border-color var(--vp-dur-fast) var(--vp-ease-out), box-shadow var(--vp-dur-fast) var(--vp-ease-out);
}
.venpick-input:focus {
    outline: none;
    border-color: var(--vp-blue-500);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.14);
}
.venpick-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 38px;
    cursor: pointer;
}
.venpick-password-wrap { position: relative; }
.venpick-password-wrap .venpick-input { padding-right: 44px; }
.venpick-password-toggle {
    position: absolute;
    top: 50%;
    right: 6px;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: var(--vp-gray-400);
    cursor: pointer;
    border-radius: var(--vp-radius-sm);
    transition: color var(--vp-dur-fast) var(--vp-ease-out), background var(--vp-dur-fast) var(--vp-ease-out);
}
.venpick-password-toggle:hover { color: var(--vp-blue-600); background: rgba(37, 99, 235, 0.06); }
.venpick-password-wrap.is-visible .venpick-password-toggle { color: var(--vp-blue-600); }
.venpick-login-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 4px 0 22px;
}
.venpick-checkbox {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 14px;
    font-weight: 500;
    color: var(--vp-gray-700);
    cursor: pointer;
}
.venpick-checkbox input[type="checkbox"] {
    width: 17px;
    height: 17px;
    accent-color: var(--vp-blue-600);
    flex: none;
}
.venpick-checkbox--row { margin: 14px 0; }
.venpick-checkbox a { color: var(--vp-blue-600); font-weight: 600; }
.venpick-lost {
    font-size: 13px;
    font-weight: 600;
    color: var(--vp-blue-600);
    text-decoration: none;
}
.venpick-lost:hover { text-decoration: underline; }
.venpick-auth-submit {
    width: 100%;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: none;
    border-radius: var(--vp-radius-pill);
    background: var(--vp-blue-600);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.005em;
    cursor: pointer;
    box-shadow: var(--vp-shadow-blue);
    transition: background var(--vp-dur-fast) var(--vp-ease-out), transform 120ms var(--vp-ease-out);
}
.venpick-auth-submit:hover { background: var(--vp-blue-700); }
.venpick-auth-submit:active { transform: translateY(1px); }
.venpick-auth-switch {
    margin: 26px 0 0;
    text-align: center;
    font-size: 14px;
    color: var(--vp-gray-500);
}
.venpick-auth-switch a { color: var(--vp-blue-600); font-weight: 700; text-decoration: none; }
.venpick-auth-switch a:hover { text-decoration: underline; }
.venpick-auth-errors {
    background: rgba(220, 38, 38, 0.06);
    border: 1px solid rgba(220, 38, 38, 0.2);
    border-radius: var(--vp-radius);
    padding: 14px 16px;
    margin-bottom: 22px;
    color: var(--vp-red-600);
    font-size: 14px;
}
.venpick-auth-errors ul { margin: 6px 0 0; padding-left: 18px; }
.venpick-auth-errors li { margin-bottom: 2px; }
.venpick-hp { display: none; }
.venpick-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 18px;
}
.venpick-fieldset {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: var(--vp-radius);
    padding: 18px 18px 4px;
    margin: 0 0 18px;
}
.venpick-fieldset legend {
    padding: 0 8px;
    font-size: 13px;
    font-weight: 700;
    color: var(--vp-gray-500);
    letter-spacing: 0.02em;
    text-transform: uppercase;
}
.venpick-signup-form .venpick-auth-submit { margin-top: 6px; }
@media (max-width: 920px) {
    .venpick-auth { grid-template-columns: 1fr; gap: 28px; padding: 8px 0 56px; }
    .venpick-auth-brand { padding: 36px 28px; }
    .venpick-auth-brand h2 { font-size: 28px; }
    .venpick-auth-card { padding: 32px 24px; }
}
@media (max-width: 560px) {
    .venpick-form-grid { grid-template-columns: 1fr; }
}

/* Global WooCommerce buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    background: linear-gradient(180deg, var(--vp-blue-500), var(--vp-blue-600));
    color: #fff;
    border-radius: var(--vp-radius-pill);
    font-weight: 600;
    text-transform: none;
    letter-spacing: -0.005em;
    border: none;
    box-shadow: var(--vp-shadow-blue);
    transition: background var(--vp-dur-fast) var(--vp-ease-out),
                transform var(--vp-dur-fast) var(--vp-ease-out),
                box-shadow var(--vp-dur) var(--vp-ease-out);
    font-family: var(--vp-font-primary);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    background: linear-gradient(180deg, var(--vp-blue-500), var(--vp-blue-700));
    color: #fff;
    transform: translateY(-2px);
}
.woocommerce a.button:active, .woocommerce button.button:active { transform: scale(0.97); }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce #respond input#submit.alt {
    background: linear-gradient(180deg, var(--vp-blue-500), var(--vp-blue-600));
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce #respond input#submit.alt:hover {
    background: linear-gradient(180deg, var(--vp-blue-500), var(--vp-blue-700));
}

/* Notices */
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error {
    border-radius: var(--vp-radius);
    border-left-width: 4px;
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-left: 4px solid var(--vp-blue-500);
    box-shadow: var(--vp-shadow-xs);
}
.woocommerce .woocommerce-info { border-left-color: var(--vp-blue-500); color: var(--vp-gray-700); }
.woocommerce .woocommerce-info::before { color: var(--vp-blue-600); }
.woocommerce .woocommerce-error { border-left-color: var(--vp-danger); background: #fef2f2; }
.woocommerce .woocommerce-message { border-left-color: var(--vp-success); background: #f0fdf4; }

/* Forms */
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="password"],
.woocommerce input[type="tel"],
.woocommerce input[type="number"],
.woocommerce input[type="search"],
.woocommerce textarea,
.woocommerce select {
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: var(--vp-radius);
    padding: 11px 15px;
    font-size: 14px;
    font-family: var(--vp-font-body);
    background: var(--vp-surface-2);
    transition: border-color var(--vp-dur) var(--vp-ease-out),
                box-shadow var(--vp-dur) var(--vp-ease-out),
                background var(--vp-dur) var(--vp-ease-out);
}
.woocommerce input[type="text"]:focus,
.woocommerce input[type="email"]:focus,
.woocommerce input[type="password"]:focus,
.woocommerce textarea:focus,
.woocommerce select:focus {
    border-color: var(--vp-blue-400);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.14) !important;
    background: #fff;
    outline: none;
}
.woocommerce label { font-weight: 600; font-size: 14px; color: var(--vp-gray-700); margin-bottom: 6px; }
.woocommerce .form-row { margin-bottom: 16px; }

.woocommerce form.login,
.woocommerce form.register {
    background: var(--vp-surface-2);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
    padding: 36px;
}
.woocommerce .col-1 form.login,
.woocommerce .col-1 form.register { border: none; background: none; padding: 0; }

/* ----------------------------------------------------------
   20. DOKAN
   ---------------------------------------------------------- */
.dokan-store-wrap .store-content,
.dokan-single-store .store-content,
.dokan-store-header {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
    padding: 26px;
    box-shadow: var(--vp-shadow-xs);
}
.dokan-store-header { margin-bottom: 24px; }
.dokan-store-header .store-banner { border-radius: var(--vp-radius-lg); overflow: hidden; }
.dokan-seller-rating { color: var(--vp-star); }
.dokan-dashboard-content .dokan-dash-sidebar {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
}

/* ----------------------------------------------------------
   21. BREADCRUMB / PAGINATION
   ---------------------------------------------------------- */
.woocommerce .woocommerce-breadcrumb { font-size: 14px; color: var(--vp-gray-500); margin-bottom: 20px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--vp-gray-500); }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--vp-blue-600); }

.woocommerce nav.woocommerce-pagination ul {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: var(--vp-radius-pill);
    overflow: hidden;
    display: flex;
    background: var(--vp-surface);
    box-shadow: var(--vp-shadow-xs);
}
.woocommerce nav.woocommerce-pagination ul li { border: none; border-right: 1px solid rgba(15, 23, 42, 0.06); }
.woocommerce nav.woocommerce-pagination ul li:last-child { border-right: none; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span.current {
    padding: 11px 18px;
    font-weight: 600;
    font-size: 14px;
}
.woocommerce nav.woocommerce-pagination ul li a { color: var(--vp-gray-600); transition: background var(--vp-dur-fast) var(--vp-ease-out), color var(--vp-dur-fast) var(--vp-ease-out); }
.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--vp-blue-50); color: var(--vp-blue-700); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--vp-blue-600); color: #fff; }

.star-rating { color: var(--vp-star); }
.woocommerce .star-rating { color: var(--vp-star); }

/* ----------------------------------------------------------
   22. PRODUCT CARD OVERRIDE (content-product.php)
   ---------------------------------------------------------- */
.woocommerce ul.products li.product.venpick-product-card { display: flex; flex-direction: column; }
.venpick-product-thumb { position: relative; overflow: hidden; background: var(--vp-surface-2); height: 220px; display: flex; align-items: center; justify-content: center; }
.venpick-product-thumb-link { display: block; width: 100%; height: 100%; }
.venpick-product-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--vp-dur-slow) var(--vp-ease-out); }
.venpick-product-card:hover .venpick-product-thumb img { transform: scale(1.06); }
.venpick-product-thumb .onsale {
    position: absolute;
    top: 12px; left: 12px;
    background: #ef4444;
    color: #fff;
    padding: 5px 12px;
    border-radius: var(--vp-radius-pill);
    font-size: 12px;
    font-weight: 700;
    z-index: 2;
    box-shadow: var(--vp-shadow-sm);
}
.venpick-product-info { flex: 1; padding: 14px 16px 2px; }
.woocommerce ul.products li.product.venpick-product-card .woocommerce-loop-product__title { padding: 0; }
.venpick-product-info h2,
.venpick-product-info .woocommerce-loop-product__title {
    font-family: var(--vp-font-primary);
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 6px;
    color: var(--vp-ink);
    line-height: 1.4;
    letter-spacing: -0.012em;
}
.venpick-product-info .price { font-size: 18px; font-weight: 800; color: var(--vp-ink); font-family: var(--vp-font-primary); letter-spacing: -0.018em; }
.venpick-product-info .price del { color: var(--vp-gray-400); font-size: 14px; font-weight: 500; }
.venpick-product-info .price ins { color: var(--vp-blue-600); text-decoration: none; }
.venpick-product-info .star-rating { margin-top: 4px; color: var(--vp-star); font-size: 13px; }
.venpick-product-actions { padding: 0 16px 16px; }
.venpick-product-actions .button {
    width: 100%;
    text-align: center;
    justify-content: center;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 40px;
    display: flex;
    align-items: flex-start;
}

/* ----------------------------------------------------------
   23. SHOP PAGE
   ---------------------------------------------------------- */
.venpick-shop-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 32px;
    padding: 20px 0 48px;
}
.venpick-shop-sidebar {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
    padding: 26px;
    height: fit-content;
    box-shadow: var(--vp-shadow-xs);
}
.venpick-filter-section { margin-bottom: 28px; }
.venpick-filter-section:last-child { margin-bottom: 0; }
.venpick-filter-section h3 {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.10em;
    color: var(--vp-ink);
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    font-family: var(--vp-font-primary);
}
.venpick-filter-list { list-style: none; padding: 0; margin: 0; }
.venpick-filter-list li { margin-bottom: 4px; }
.venpick-filter-list li a {
    display: block;
    padding: 8px 12px;
    color: var(--vp-gray-600);
    font-size: 14px;
    border-radius: var(--vp-radius-sm);
    transition: background var(--vp-dur-fast) var(--vp-ease-out), color var(--vp-dur-fast) var(--vp-ease-out);
}
.venpick-filter-list li a:hover,
.venpick-filter-list li a.active {
    background: var(--vp-blue-50);
    color: var(--vp-blue-700);
}
.venpick-filter-list li label {
    display: flex; align-items: center; gap: 10px;
    font-size: 14px; color: var(--vp-gray-600);
    padding: 6px 12px; border-radius: var(--vp-radius-sm);
    cursor: pointer;
    transition: background var(--vp-dur-fast) var(--vp-ease-out);
}
.venpick-filter-list li label:hover { background: var(--vp-surface-2); }
.venpick-filter-list li label input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    flex: none;
    width: 17px;
    height: 17px;
    margin: 0;
    border: 2px solid rgba(15, 23, 42, 0.22);
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
    transition: border-color var(--vp-dur-fast) var(--vp-ease-out), box-shadow var(--vp-dur-fast) var(--vp-ease-out);
}
.venpick-filter-list li label input[type="radio"]::after {
    content: "";
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    background: var(--vp-blue-600);
    opacity: 0;
    transform: scale(0.5);
    transition: opacity var(--vp-dur-fast) var(--vp-ease-out), transform var(--vp-dur-fast) var(--vp-ease-out);
}
.venpick-filter-list li label input[type="radio"]:checked { border-color: var(--vp-blue-600); }
.venpick-filter-list li label input[type="radio"]:checked::after { opacity: 1; transform: scale(1); }
body.vp-keyboard-focus .venpick-filter-list li label input[type="radio"]:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25);
}
.venpick-filter-list li label .star-rating { color: var(--vp-star); font-size: 12px; }
.venpick-price-filter { display: flex; flex-direction: column; gap: 8px; }
.venpick-price-field {
    width: 100%;
    display: flex;
    align-items: center;
    height: 40px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: var(--vp-radius-md);
    overflow: hidden;
    transition: border-color var(--vp-dur-fast) var(--vp-ease-out), box-shadow var(--vp-dur-fast) var(--vp-ease-out);
}
.venpick-price-field:focus-within {
    border-color: var(--vp-blue-500);
}
.venpick-price-input {
    flex: 1;
    min-width: 0;
    width: 100%;
    height: 38px;
    padding: 0 4px;
    border: none;
    outline: none;
    background: transparent;
    font-size: 14px;
    font-weight: 600;
    color: var(--vp-ink);
    text-align: center;
    -moz-appearance: textfield;
    appearance: textfield;
}
.venpick-price-input::-webkit-outer-spin-button,
.venpick-price-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.venpick-step {
    flex: none;
    width: 34px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: var(--vp-gray-500);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: background var(--vp-dur-fast) var(--vp-ease-out), color var(--vp-dur-fast) var(--vp-ease-out);
}
.venpick-step:hover { background: var(--vp-surface-2); color: var(--vp-ink); }
.venpick-step:active { background: rgba(15, 23, 42, 0.1); }
.venpick-price-go {
    width: 100%;
    height: 40px;
    padding: 0 14px;
    background: var(--vp-blue-600);
    color: #fff;
    border: none;
    border-radius: var(--vp-radius-md);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: var(--vp-shadow-sm);
    transition: background var(--vp-dur-fast) var(--vp-ease-out), transform 120ms var(--vp-ease-out);
}
.venpick-price-go:hover { background: var(--vp-blue-700); }
.venpick-price-go:active { transform: scale(0.97); }

.venpick-shop-main .woocommerce-pagination { margin-top: 32px; }

/* ----------------------------------------------------------
   24. SELL ON VENPICK
   ---------------------------------------------------------- */
.venpick-sell-page .container { max-width: var(--vp-container); }
.venpick-sell-hero {
    background:
        radial-gradient(600px 400px at 100% 0%, rgba(255, 255, 255, 0.10), transparent 60%),
        linear-gradient(135deg, var(--vp-navy-900) 0%, var(--vp-navy-800) 55%, var(--vp-blue-700) 100%);
    border-radius: var(--vp-radius-2xl);
    padding: 88px 60px;
    margin: 40px 0;
    color: #fff;
    position: relative;
    overflow: hidden;
    box-shadow: var(--vp-shadow-lg);
}
.venpick-sell-hero::before {
    content: '';
    position: absolute;
    top: -50%; right: -10%;
    width: 500px; height: 500px;
    background: radial-gradient(circle, rgba(255,255,255,0.06) 0%, transparent 70%);
    border-radius: 50%;
}
.venpick-sell-hero-content { max-width: 580px; position: relative; z-index: 1; }
.venpick-sell-hero h1 { font-size: clamp(32px, 4vw, 44px); color: #fff; margin: 0 0 16px; line-height: 1.1; font-weight: 800; letter-spacing: -0.035em; }
.venpick-sell-hero p { font-size: 18px; color: rgba(255,255,255,0.80); margin: 0 0 32px; line-height: 1.6; }

.venpick-sell-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin: -56px 0 64px;
    position: relative;
    z-index: 2;
}
.venpick-sell-stat {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
    padding: 32px 24px;
    text-align: center;
    box-shadow: var(--vp-shadow-lg);
    transition: transform var(--vp-dur) var(--vp-ease-spring), box-shadow var(--vp-dur) var(--vp-ease-out);
}
.venpick-sell-stat:hover { transform: translateY(-4px); box-shadow: var(--vp-shadow-xl); }
.venpick-sell-stat-number {
    display: block;
    font-size: 34px;
    font-weight: 800;
    color: var(--vp-blue-600);
    font-family: var(--vp-font-primary);
    margin-bottom: 4px;
    letter-spacing: -0.03em;
}
.venpick-sell-stat-label { font-size: 14px; color: var(--vp-gray-500); font-weight: 500; }

.venpick-sell-section { padding: 64px 0; }
.venpick-sell-section-header { text-align: center; margin-bottom: 52px; }
.venpick-sell-section-header h2 { font-size: clamp(28px, 3vw, 36px); margin: 0 0 10px; font-weight: 800; letter-spacing: -0.028em; }
.venpick-sell-section-header p { font-size: 17px; color: var(--vp-gray-500); margin: 0; }

.venpick-sell-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.venpick-sell-benefit {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
    padding: 36px 28px;
    box-shadow: var(--vp-shadow-xs);
    transition: transform var(--vp-dur) var(--vp-ease-spring), box-shadow var(--vp-dur) var(--vp-ease-out), border-color var(--vp-dur) var(--vp-ease-out);
}
.venpick-sell-benefit:hover {
    border-color: rgba(37, 99, 235, 0.22);
    box-shadow: var(--vp-shadow-md);
    transform: translateY(-5px);
}
.venpick-sell-benefit-icon {
    width: 56px; height: 56px;
    border-radius: var(--vp-radius);
    background: linear-gradient(135deg, var(--vp-blue-50), var(--vp-blue-100));
    display: flex; align-items: center; justify-content: center;
    font-size: 24px; color: var(--vp-blue-600);
    margin-bottom: 18px;
    transition: transform var(--vp-dur) var(--vp-ease-spring);
}
.venpick-sell-benefit:hover .venpick-sell-benefit-icon { transform: scale(1.08); }
.venpick-sell-benefit h3 { font-size: 18px; margin: 0 0 8px; font-weight: 700; letter-spacing: -0.018em; }
.venpick-sell-benefit p { font-size: 14px; color: var(--vp-gray-500); margin: 0; line-height: 1.65; }

.venpick-sell-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.venpick-sell-step { text-align: center; position: relative; }
.venpick-sell-step-number {
    width: 52px; height: 52px;
    border-radius: var(--vp-radius-pill);
    background: linear-gradient(135deg, var(--vp-blue-500), var(--vp-blue-600));
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 19px; font-weight: 800;
    margin: 0 auto 18px;
    box-shadow: var(--vp-shadow-blue);
    letter-spacing: -0.02em;
}
.venpick-sell-step h3 { font-size: 18px; margin: 0 0 8px; font-weight: 700; letter-spacing: -0.018em; }
.venpick-sell-step p { font-size: 14px; color: var(--vp-gray-500); margin: 0; line-height: 1.65; }

.venpick-sell-cta {
    background:
        radial-gradient(600px 400px at 100% 0%, rgba(96, 165, 250, 0.16), transparent 60%),
        var(--vp-blue-50);
    border: 1px solid rgba(37, 99, 235, 0.12);
    border-radius: var(--vp-radius-2xl);
    padding: 64px;
    text-align: center;
    margin: 64px 0;
}
.venpick-sell-cta h2 { font-size: clamp(28px, 3vw, 34px); margin: 0 0 10px; font-weight: 800; letter-spacing: -0.028em; }
.venpick-sell-cta p { font-size: 17px; color: var(--vp-gray-600); margin: 0 0 32px; }

/* ----------------------------------------------------------
   25. VENDOR STORE / 404 / NO RESULTS / CONTACT
   ---------------------------------------------------------- */
.venpick-vendor-store-page .container { max-width: var(--vp-container); margin: 0 auto; padding: 40px var(--vp-gutter); }

.venpick-404-page { min-height: 60vh; display: flex; align-items: center; padding: 80px 0; }
.venpick-404-content { text-align: center; max-width: 500px; margin: 0 auto; }
.venpick-404-number {
    font-size: 140px;
    font-weight: 800;
    color: var(--vp-blue-100);
    line-height: 1;
    display: block;
    margin-bottom: 16px;
    font-family: var(--vp-font-primary);
    letter-spacing: -0.05em;
}
.venpick-404-content h1 { font-size: 32px; margin: 0 0 12px; color: var(--vp-ink); font-weight: 800; letter-spacing: -0.03em; }
.venpick-404-content p { font-size: 16px; color: var(--vp-gray-500); margin: 0 0 32px; line-height: 1.65; }
.venpick-404-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

.venpick-no-results { text-align: center; padding: 80px 20px; }
.venpick-no-results h2 { font-size: 28px; margin: 0 0 12px; font-weight: 800; letter-spacing: -0.025em; }
.venpick-no-results p { font-size: 16px; color: var(--vp-gray-500); margin: 0 0 32px; }

.venpick-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin-top: 32px; }
.venpick-contact-info h3 { font-size: 20px; margin-bottom: 16px; font-weight: 700; letter-spacing: -0.018em; }
.venpick-contact-info p { font-size: 15px; color: var(--vp-gray-600); line-height: 1.75; margin-bottom: 12px; }
.vp-contact-form .vp-form-row { margin-bottom: 16px; }
.vp-contact-form label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 6px; color: var(--vp-gray-700); }
.vp-contact-form input[type="text"],
.vp-contact-form input[type="email"],
.vp-contact-form textarea {
    width: 100%; padding: 12px 16px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: var(--vp-radius);
    font-size: 14px; font-family: var(--vp-font-body);
    background: var(--vp-surface-2);
    transition: border-color var(--vp-dur) var(--vp-ease-out), box-shadow var(--vp-dur) var(--vp-ease-out), background var(--vp-dur) var(--vp-ease-out);
    box-sizing: border-box;
}
.vp-contact-form input:focus, .vp-contact-form textarea:focus {
    outline: none; border-color: var(--vp-blue-400); background: #fff;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.14);
}

/* ----------------------------------------------------------
   26. TESTIMONIALS (glass on blue)
   ---------------------------------------------------------- */
.vp-testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.vp-testimonial-card {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: var(--vp-radius-lg);
    padding: 32px;
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    transition: transform var(--vp-dur) var(--vp-ease-spring), background var(--vp-dur) var(--vp-ease-out);
}
.vp-testimonial-card:hover { transform: translateY(-4px); background: rgba(255, 255, 255, 0.10); }
.vp-testimonial-stars { color: var(--vp-star); font-size: 16px; margin-bottom: 16px; letter-spacing: 3px; }
.vp-testimonial-text { font-size: 15px; color: rgba(255, 255, 255, 0.92); line-height: 1.7; margin: 0 0 24px; font-style: italic; }
.vp-testimonial-author { display: flex; align-items: center; gap: 12px; }
.vp-testimonial-avatar {
    width: 44px; height: 44px;
    border-radius: var(--vp-radius-pill);
    background: rgba(255, 255, 255, 0.12);
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; font-weight: 800; color: #fff; flex-shrink: 0;
    letter-spacing: -0.02em;
}
.vp-testimonial-author strong { display: block; color: #fff; font-size: 14px; font-weight: 700; }
.vp-testimonial-author span { font-size: 13px; color: rgba(255, 255, 255, 0.62); }

/* ----------------------------------------------------------
   27. MOBILE TOGGLE
   ---------------------------------------------------------- */
.vp-mobile-toggle {
    display: none;
    background: none;
    border: none;
    color: var(--vp-navy-800);
    font-size: 22px;
    cursor: pointer;
    padding: 8px 10px;
    border-radius: var(--vp-radius-sm);
    transition: background var(--vp-dur-fast) var(--vp-ease-out);
}
.vp-mobile-toggle:hover { background: rgba(37, 99, 235, 0.08); }
.vp-mobile-toggle:active { transform: scale(0.95); }

/* ----------------------------------------------------------
   28. CATEGORY BADGE / WIDGET
   ---------------------------------------------------------- */
.vp-category-count,
.vp-sale-badge {
    background: var(--vp-blue-50);
    color: var(--vp-blue-700);
    padding: 2px 10px;
    border-radius: var(--vp-radius-pill);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: -0.005em;
}
.woocommerce .widget_shopping_cart_content .cart_list li {
    padding: 10px 0;
    border-bottom: 1px solid rgba(15, 23, 42, 0.04);
}

/* In-vendor-info-box (functions.php inline) — refined override */
.venpick-vendor-info-box {
    background: var(--vp-blue-50);
    border: 1px solid rgba(37, 99, 235, 0.10);
    border-radius: var(--vp-radius);
    padding: 14px 18px;
    margin: 14px 0;
}
.venpick-sold-by { margin: 0; font-size: 14px; color: var(--vp-gray-600); }
.venpick-sold-by span { color: var(--vp-gray-500); }
.venpick-sold-by a { color: var(--vp-blue-700); font-weight: 700; }
.venpick-sold-by a:hover { color: var(--vp-blue-600); }
.venpick-trust-badges { display: flex; justify-content: center; gap: 24px; padding: 16px 0; margin-top: 12px; }
.venpick-trust-badge { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--vp-gray-500); font-weight: 600; }
.venpick-trust-badge i { color: var(--vp-success); }
.venpick-sale-badge { background: var(--vp-blue-600) !important; color: #fff !important; }

/* Vendor registration form (Dokan) */
.dokan-vendor-registration,
.register.dokan-vendor-register {
    max-width: 600px;
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
    padding: 36px;
    box-shadow: var(--vp-shadow-xs);
}
.dokan-vendor-registration .dokan-form-group,
.register.dokan-vendor-register .dokan-form-group,
.register.dokan-vendor-register p { margin-bottom: 16px; }
.dokan-vendor-registration label,
.register.dokan-vendor-register label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 6px; color: var(--vp-gray-700); }
.dokan-vendor-registration input[type="text"],
.dokan-vendor-registration input[type="email"],
.dokan-vendor-registration input[type="password"],
.dokan-vendor-registration input[type="tel"],
.dokan-vendor-registration input[type="url"],
.dokan-vendor-registration select,
.dokan-vendor-registration textarea,
.register.dokan-vendor-register input[type="text"],
.register.dokan-vendor-register input[type="email"],
.register.dokan-vendor-register input[type="password"],
.register.dokan-vendor-register input[type="tel"],
.register.dokan-vendor-register input[type="url"],
.register.dokan-vendor-register select,
.register.dokan-vendor-register textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: var(--vp-radius);
    font-size: 14px; font-family: var(--vp-font-body);
    background: var(--vp-surface-2);
    transition: border-color var(--vp-dur) var(--vp-ease-out), box-shadow var(--vp-dur) var(--vp-ease-out), background var(--vp-dur) var(--vp-ease-out);
    box-sizing: border-box;
}
.dokan-vendor-registration input:focus,
.dokan-vendor-registration select:focus,
.dokan-vendor-registration textarea:focus,
.register.dokan-vendor-register input:focus,
.register.dokan-vendor-register select:focus,
.register.dokan-vendor-register textarea:focus {
    outline: none; border-color: var(--vp-blue-400); background: #fff;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.14);
}
.dokan-vendor-registration .dokan-btn,
.register.dokan-vendor-register .dokan-btn,
.register.dokan-vendor-register button[type="submit"] {
    background: linear-gradient(180deg, var(--vp-blue-500), var(--vp-blue-600)) !important;
    color: #fff !important;
    padding: 13px 34px !important;
    border-radius: var(--vp-radius-pill) !important;
    font-weight: 700 !important; font-size: 15px !important;
    border: none !important; cursor: pointer !important;
    box-shadow: var(--vp-shadow-blue) !important;
    transition: background var(--vp-dur-fast) var(--vp-ease-out) !important, transform var(--vp-dur-fast) var(--vp-ease-out) !important;
}
.dokan-vendor-registration .dokan-btn:hover,
.register.dokan-vendor-register .dokan-btn:hover,
.register.dokan-vendor-register button[type="submit"]:hover {
    background: linear-gradient(180deg, var(--vp-blue-500), var(--vp-blue-700)) !important;
    transform: translateY(-2px) !important;
}

/* Hide sidebars on key pages (preserve original behavior) */
.single-product #secondary, .single-product .widget-area,
.woocommerce-cart #secondary, .woocommerce-checkout #secondary,
.woocommerce-cart .widget-area, .woocommerce-checkout .widget-area,
.page-template-page-sell #secondary, .page-template-page-sell .widget-area,
.page-template-page-become-a-vendor #secondary, .page-template-page-become-a-vendor .widget-area,
.page-template-page-vendor #secondary, .page-template-page-vendor .widget-area,
.dokan-page #secondary, .dokan-page .widget-area,
.page-template-default #secondary, .page-template-default .widget-area,
.page-template-about #secondary, .page-template-about .widget-area,
.page-template-faq #secondary, .page-template-faq .widget-area,
.page-template-contact #secondary, .page-template-contact .widget-area {
    display: none !important;
}
.single-product .content-area,
.page-template-page-become-a-vendor .content-area,
.page-template-page-vendor .content-area, .dokan-page .content-area,
.woocommerce-cart .site-content, .woocommerce-checkout .site-content,
.woocommerce .content-area {
    display: block !important; max-width: 100% !important; float: none !important;
}
.woocommerce-checkout .content-area { max-width: 100% !important; width: 100% !important; }
.page-template-default .content-area,
.page-template-about .content-area,
.page-template-faq .content-area,
.page-template-contact .content-area { max-width: 800px !important; float: none !important; }

/* Page content styling */
.page-template-default .entry-content h2,
.page-template-about .entry-content h2,
.page-template-faq .entry-content h2,
.page-template-contact .entry-content h2 {
    font-size: 26px !important; font-weight: 800 !important;
    margin-top: 36px !important; margin-bottom: 14px !important;
    color: var(--vp-ink) !important; letter-spacing: -0.025em;
}
.page-template-default .entry-content h3,
.page-template-about .entry-content h3,
.page-template-faq .entry-content h3,
.page-template-contact .entry-content h3 {
    font-size: 20px !important; font-weight: 700 !important;
    margin-top: 26px !important; margin-bottom: 10px !important;
    color: var(--vp-gray-900) !important; letter-spacing: -0.018em;
}
.page-template-default .entry-content p,
.page-template-about .entry-content p,
.page-template-faq .entry-content p,
.page-template-contact .entry-content p {
    font-size: 16px !important; line-height: 1.7 !important;
    color: var(--vp-gray-600) !important; margin-bottom: 16px !important;
}
.page-template-default .entry-content ul,
.page-template-about .entry-content ul,
.page-template-faq .entry-content ul { margin-bottom: 20px !important; padding-left: 20px !important; }
.page-template-default .entry-content li,
.page-template-about .entry-content li,
.page-template-faq .entry-content li {
    font-size: 16px !important; line-height: 1.7 !important;
    color: var(--vp-gray-600) !important; margin-bottom: 8px !important;
}

.woocommerce h1, .woocommerce .page-title, .page-header h1 {
    font-size: clamp(26px, 2.6vw, 32px) !important;
    font-weight: 800 !important;
    color: var(--vp-ink) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.025em;
}

/* ----------------------------------------------------------
   29. RESPONSIVE
   ---------------------------------------------------------- */
@media (max-width: 1024px) {
    .vp-hero h1 { font-size: 40px; }
    .vp-features-strip { grid-template-columns: repeat(2, 1fr); margin-top: 28px; }
    .footer-main { grid-template-columns: 1fr 1fr; gap: 36px; }
    .vp-featured-products .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
    .vp-testimonials-grid { grid-template-columns: 1fr 1fr; }
    .venpick-sell-steps { grid-template-columns: repeat(2, 1fr); gap: 24px; }
}
@media (max-width: 768px) {
    .vp-topbar-left span:nth-child(2) { display: none; }
    .vp-hero { padding: 64px 0 56px; }
    .vp-hero h1 { font-size: 32px; }
    .vp-hero p { font-size: 16px; }
    .vp-hero-actions { flex-direction: column; }
    .vp-hero-actions .vp-btn { text-align: center; justify-content: center; width: 100%; }
    .vp-features-strip { grid-template-columns: 1fr; }
    .vp-section { padding: 64px 0; }
    .vp-section-header h2 { font-size: 26px; }
    .header-search { display: none; }
    .footer-main { grid-template-columns: 1fr; gap: 32px; }
    .footer-bottom { flex-direction: column; gap: 12px; text-align: center; }
    .vp-cta-banner { flex-direction: column; text-align: center; padding: 36px; }
    .vp-featured-products .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
    .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; }
    .woocommerce div.product { padding: 24px; }
    .woocommerce div.product div.summary { padding-left: 0; }
    .woocommerce-account .woocommerce-MyAccount-navigation ul { flex-direction: column; }
    .venpick-shop-layout { grid-template-columns: 1fr; }
    .venpick-shop-sidebar { position: static; }
    .venpick-sell-hero { padding: 56px 28px; }
    .venpick-sell-hero h1 { font-size: 30px; }
    .venpick-sell-stats { grid-template-columns: repeat(2, 1fr); margin-top: -32px; }
    .venpick-sell-benefits { grid-template-columns: 1fr; }
    .venpick-sell-steps { grid-template-columns: 1fr; gap: 24px; }
    .venpick-sell-cta { padding: 44px 28px; }
    .venpick-contact-grid { grid-template-columns: 1fr; }
    .vp-testimonials-grid { grid-template-columns: 1fr; }
    .vp-newsletter { padding: 44px 28px; }
    .vp-mobile-toggle { display: block; }
    .primary-navigation .menu { display: none; flex-direction: column; width: 100%; }
    .primary-navigation .menu.mobile-open { display: flex; }
    .primary-navigation ul { flex-direction: column; align-items: stretch; }
    .primary-navigation ul li a { padding: 14px 16px; border-radius: 0; border-bottom: 1px solid rgba(15, 23, 42, 0.04); }
    .primary-navigation .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: none; background: var(--vp-surface-2); margin: 0; padding: 4px; }
}
@media (max-width: 480px) {
    .header-inner { gap: 12px; }
    .site-branding .site-title { font-size: 26px; }
    .header-action-btn span:not(.count) { display: none; }
    .header-action-btn { padding: 8px 10px; }
    .vp-hero h1 { font-size: 28px; }
    .vp-categories-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .vp-category-card { padding: 22px 14px; }
    .woocommerce ul.products { grid-template-columns: 1fr !important; }
    .vp-featured-products .woocommerce ul.products { grid-template-columns: 1fr; }
    .woocommerce div.product .woocommerce-tabs ul.tabs { flex-direction: column; }
    .woocommerce-account .col-2-set, .u-columns.col2-set { grid-template-columns: 1fr !important; gap: 24px; }
    .vp-section { padding: 48px 0; }
    .vp-hero { padding: 48px 0 40px; }
    .vp-features-strip .vp-feature-card { padding: 18px; }
    .venpick-404-number { font-size: 96px; }
}

/* ----------------------------------------------------------
   29b. BECOME A VENDOR PAGE
   ---------------------------------------------------------- */
.venpick-vendor-page { padding: 0 0 96px; }
.venpick-vendor-page .container { max-width: var(--vp-container); }

/* Hero — layered depth, glass chip, art card */
.venpick-vendor-hero {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background:
        radial-gradient(1000px 520px at 88% -20%, rgba(96, 165, 250, 0.30), transparent 60%),
        radial-gradient(800px 500px at 0% 120%, rgba(20, 184, 166, 0.16), transparent 55%),
        linear-gradient(135deg, var(--vp-navy-900) 0%, var(--vp-navy-800) 55%, var(--vp-navy-700) 100%);
    color: #fff;
    border-radius: var(--vp-radius-2xl);
    padding: 72px 64px;
    margin-top: 40px;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 48px;
    align-items: center;
    box-shadow: var(--vp-shadow-xl);
}
.venpick-vendor-hero-content { position: relative; z-index: 1; }
.venpick-vendor-hero h1 {
    font-size: clamp(36px, 4.4vw, 52px);
    font-weight: 800;
    color: #fff;
    margin: 0 0 16px;
    line-height: 1.06;
    letter-spacing: -0.04em;
}
.venpick-vendor-hero p {
    font-size: clamp(16px, 1.5vw, 19px);
    color: rgba(255, 255, 255, 0.80);
    margin: 0 0 28px;
    line-height: 1.6;
    max-width: 520px;
}
.venpick-vendor-hero-points {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
}
.venpick-vendor-hero-points span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.92);
}
.venpick-vendor-hero-points i { color: var(--vp-teal-500); font-size: 15px; }

/* Art column — floating glass vendor card */
.venpick-vendor-hero-art {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 320px;
}
.venpick-vendor-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(2px);
    opacity: 0.5;
    pointer-events: none;
}
.vp-orb-1 { width: 260px; height: 260px; background: radial-gradient(circle, rgba(96,165,250,0.5), transparent 70%); top: -40px; right: -30px; }
.vp-orb-2 { width: 220px; height: 220px; background: radial-gradient(circle, rgba(20,184,166,0.35), transparent 70%); bottom: -50px; left: -20px; }
.venpick-vendor-card-mock {
    position: relative;
    width: 300px;
    background: var(--vp-glass-bg);
    -webkit-backdrop-filter: blur(var(--vp-glass-blur)) saturate(var(--vp-glass-saturate));
    backdrop-filter: blur(var(--vp-glass-blur)) saturate(var(--vp-glass-saturate));
    border: 1px solid var(--vp-glass-border);
    border-radius: var(--vp-radius-lg);
    padding: 24px;
    box-shadow: var(--vp-shadow-lg);
    color: var(--vp-ink);
    animation: vp-card-float 5s ease-in-out infinite;
    transform: rotate(-2deg);
}
@keyframes vp-card-float {
    0%, 100% { transform: rotate(-2deg) translateY(0); }
    50%      { transform: rotate(-2deg) translateY(-10px); }
}
.venpick-vendor-card-mock-top {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}
.venpick-vendor-card-mock-avatar {
    width: 46px; height: 46px;
    border-radius: var(--vp-radius);
    background: linear-gradient(135deg, var(--vp-blue-500), var(--vp-blue-600));
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: 16px;
    flex-shrink: 0;
}
.venpick-vendor-card-mock-top strong { display: block; font-size: 14px; font-weight: 700; line-height: 1.2; }
.venpick-vendor-card-mock-top div span { font-size: 12px; color: var(--vp-gray-500); }
.venpick-vendor-card-mock-badge {
    margin-left: auto;
    display: inline-flex; align-items: center; gap: 4px;
    background: var(--vp-teal-50); color: #0d9488;
    font-size: 11px; font-weight: 700;
    padding: 4px 10px; border-radius: var(--vp-radius-pill);
}
.venpick-vendor-card-mock-row {
    display: flex; justify-content: space-between; align-items: center;
    padding: 9px 0;
    font-size: 13px;
}
.venpick-vendor-card-mock-row span { color: var(--vp-gray-500); }
.venpick-vendor-card-mock-row strong { font-weight: 700; color: var(--vp-ink); }
.venpick-vendor-stars { color: var(--vp-star); letter-spacing: 2px; font-size: 12px; }

/* Grid — info left, glass form right */
.venpick-vendor-grid {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 56px;
    padding: 88px 0 0;
    align-items: start;
}
.venpick-vendor-info { position: sticky; top: 140px; }
.venpick-vendor-info .vp-subtitle {
    display: inline-block;
    font-size: 13px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.14em; color: var(--vp-blue-600); margin-bottom: 12px;
}
.venpick-vendor-info h2 {
    font-size: clamp(26px, 2.8vw, 34px);
    font-weight: 800; margin: 0 0 12px; letter-spacing: -0.028em;
}
.venpick-vendor-info > p { font-size: 16px; color: var(--vp-gray-500); line-height: 1.65; margin: 0 0 28px; }
.venpick-vendor-benefits { list-style: none; margin: 0 0 28px; padding: 0; }
.venpick-vendor-benefits li {
    display: flex; gap: 16px; align-items: flex-start;
    padding: 16px 0;
    border-bottom: 1px solid rgba(15, 23, 42, 0.05);
}
.venpick-vendor-benefit-icon {
    width: 42px; height: 42px;
    border-radius: var(--vp-radius);
    background: linear-gradient(135deg, var(--vp-blue-50), var(--vp-blue-100));
    color: var(--vp-blue-600);
    display: flex; align-items: center; justify-content: center;
    font-size: 17px; flex-shrink: 0;
    transition: transform var(--vp-dur) var(--vp-ease-spring);
}
.venpick-vendor-benefits li:hover .venpick-vendor-benefit-icon { transform: scale(1.1); }
.venpick-vendor-benefits strong { display: block; font-size: 15px; font-weight: 700; color: var(--vp-ink); margin-bottom: 3px; letter-spacing: -0.012em; }
.venpick-vendor-benefits p { font-size: 13.5px; color: var(--vp-gray-500); margin: 0; line-height: 1.6; }
.venpick-vendor-note {
    display: flex; gap: 12px; align-items: flex-start;
    background: var(--vp-teal-50);
    border: 1px solid rgba(20, 184, 166, 0.16);
    border-radius: var(--vp-radius);
    padding: 16px 18px;
}
.venpick-vendor-note i { color: #0d9488; font-size: 18px; margin-top: 2px; }
.venpick-vendor-note p { font-size: 13px; color: var(--vp-gray-600); margin: 0; line-height: 1.55; }
.venpick-vendor-note strong { color: var(--vp-ink); }

/* Form card — translucent material, refined Dokan form */
.venpick-vendor-form-card {
    background: var(--vp-glass-bg);
    -webkit-backdrop-filter: blur(var(--vp-glass-blur)) saturate(var(--vp-glass-saturate));
    backdrop-filter: blur(var(--vp-glass-blur)) saturate(var(--vp-glass-saturate));
    border: 1px solid var(--vp-glass-border);
    border-radius: var(--vp-radius-xl);
    box-shadow: var(--vp-shadow-lg);
    padding: 40px;
}
.venpick-vendor-form-header { margin-bottom: 28px; }
.venpick-vendor-form-header h2 { font-size: 24px; font-weight: 800; margin: 0 0 6px; letter-spacing: -0.025em; }
.venpick-vendor-form-header p { font-size: 15px; color: var(--vp-gray-500); margin: 0; }

/* Dokan registration form inside the card */
.venpick-vendor-form-card form.register,
.venpick-vendor-form-card form.dokan-vendor-register {
    background: none;
    border: none;
    border-radius: 0;
    padding: 0;
    max-width: none;
    box-shadow: none;
}
.venpick-vendor-form-card .form-row { margin-bottom: 18px; }
.venpick-vendor-form-card .form-row label {
    display: block;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--vp-gray-700);
    margin-bottom: 7px;
    letter-spacing: -0.005em;
}
.venpick-vendor-form-card .form-row label .required { color: var(--vp-blue-600); border: none; }
.venpick-vendor-form-card .form-row input.input-text,
.venpick-vendor-form-card .form-row input[type="text"],
.venpick-vendor-form-card .form-row input[type="email"],
.venpick-vendor-form-card .form-row input[type="tel"],
.venpick-vendor-form-card .form-row input[type="url"] {
    width: 100%;
    padding: 13px 16px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: var(--vp-radius);
    font-size: 15px;
    font-family: var(--vp-font-body);
    background: var(--vp-white);
    box-sizing: border-box;
    transition: border-color var(--vp-dur) var(--vp-ease-out),
                box-shadow var(--vp-dur) var(--vp-ease-out),
                transform var(--vp-dur-fast) var(--vp-ease-out);
}
.venpick-vendor-form-card .form-row input:focus {
    outline: none;
    border-color: var(--vp-blue-400);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.14);
}
.venpick-vendor-form-card .form-row small {
    display: block;
    font-size: 12.5px;
    color: var(--vp-gray-400);
    margin-top: 6px;
    line-height: 1.5;
}
.venpick-vendor-form-card .split-row.name-field {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.venpick-vendor-form-card p.form-row > input[type="submit"],
.venpick-vendor-form-card .form-row input[type="submit"] {
    width: 100%;
    padding: 15px 28px;
    background: linear-gradient(180deg, var(--vp-blue-500), var(--vp-blue-600));
    color: #fff;
    border: none;
    border-radius: var(--vp-radius-pill);
    font-size: 16px;
    font-weight: 700;
    font-family: var(--vp-font-primary);
    letter-spacing: -0.01em;
    cursor: pointer;
    box-shadow: var(--vp-shadow-blue);
    transition: transform var(--vp-dur-fast) var(--vp-ease-out),
                background var(--vp-dur-fast) var(--vp-ease-out),
                box-shadow var(--vp-dur) var(--vp-ease-out);
}
.venpick-vendor-form-card p.form-row > input[type="submit"]:hover,
.venpick-vendor-form-card .form-row input[type="submit"]:hover {
    background: linear-gradient(180deg, var(--vp-blue-500), var(--vp-blue-700));
    transform: translateY(-2px);
    box-shadow: var(--vp-shadow-blue-lg);
}
.venpick-vendor-form-card p.form-row > input[type="submit"]:active,
.venpick-vendor-form-card .form-row input[type="submit"]:active { transform: scale(0.97); }

@media (max-width: 1024px) {
    .venpick-vendor-hero { grid-template-columns: 1fr; padding: 56px 40px; }
    .venpick-vendor-hero-art { min-height: 260px; }
    .venpick-vendor-grid { grid-template-columns: 1fr; gap: 40px; }
    .venpick-vendor-info { position: static; }
}
@media (max-width: 768px) {
    .venpick-vendor-hero { padding: 40px 24px; margin-top: 24px; }
    .venpick-vendor-form-card { padding: 28px 22px; }
    .venpick-vendor-form-card .split-row.name-field { grid-template-columns: 1fr; gap: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .venpick-vendor-card-mock { animation: none !important; }
}

/* Responsive for sections 31-34 */
@media (max-width: 1024px) {
    .venpick-page--dashboard .dokan-dashboard-wrap { grid-template-columns: 1fr; }
    .venpick-page--dashboard .dokan-dash-sidebar { position: static; }
}
@media (max-width: 768px) {
    .venpick-page-hero { padding: 64px 0 56px; }
    .venpick-page-content { padding: 48px 0 72px; }
    .venpick-page--contact-us .venpick-contact-grid { grid-template-columns: 1fr; gap: 24px; }
    #dokan-seller-listing-wrap .dokan-seller-wrap { grid-template-columns: 1fr; }
    .dokan-seller-search-form input[type="search"] { min-width: 100%; }
}
@media (max-width: 480px) {
    .venpick-page--contact-us .venpick-contact-info,
    .venpick-page--contact-us .venpick-contact-form { padding: 22px 18px; }
    #dokan-seller-listing-wrap .store-footer { flex-wrap: wrap; gap: 10px; }
}

/* ----------------------------------------------------------
   30. ACCESSIBILITY — reduced motion & reduced transparency
   ---------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
    .vp-hero-content { animation: none !important; }
    .vp-btn:active::after { transition: none !important; }
}
@media (prefers-reduced-transparency: reduce) {
    .site-header,
    .vp-feature-card,
    .vp-back-to-top,
    .vp-testimonial-card,
    .primary-navigation .sub-menu {
        background: var(--vp-surface) !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        border-color: rgba(15, 23, 42, 0.12) !important;
    }
    .vp-hero-badge, .vp-btn-outline { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
}
@media (prefers-contrast: more) {
    :root { --vp-gray-500: #4b5563; --vp-gray-400: #6b7280; }
    .site-header { border-bottom-color: rgba(15, 23, 42, 0.2) !important; }
}

/* ----------------------------------------------------------
   31. PREMIUM PAGE TEMPLATE — hero band + refined prose
   ---------------------------------------------------------- */
.venpick-page-hero {
    position: relative;
    background:
        radial-gradient(820px 320px at 88% -10%, rgba(96, 165, 250, 0.22), transparent 62%),
        radial-gradient(560px 260px at 8% 110%, rgba(56, 189, 248, 0.16), transparent 60%),
        linear-gradient(135deg, var(--vp-navy-900), var(--vp-navy-800));
    color: #fff;
    padding: 88px 0 72px;
    overflow: hidden;
}
.venpick-page-hero-glow {
    position: absolute;
    inset: 0;
    background: radial-gradient(480px 240px at 50% 120%, rgba(255, 255, 255, 0.06), transparent 70%);
    pointer-events: none;
}
.venpick-page-hero .container { position: relative; }
.venpick-page-hero h1 {
    margin: 0;
    font-size: clamp(34px, 4.5vw, 52px);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -0.035em;
    color: #fff;
}
.venpick-page-hero-sub {
    margin: 18px 0 0;
    max-width: 620px;
    font-size: clamp(16px, 1.6vw, 18px);
    line-height: 1.65;
    letter-spacing: 0.005em;
    color: rgba(255, 255, 255, 0.72);
}

/* Refined prose content */
.venpick-page-content {
    max-width: 780px;
    margin: 0 auto;
    padding: 72px 0 96px;
    color: var(--vp-ink);
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0.001em;
}
.venpick-page-content > *:first-child { margin-top: 0; }
.venpick-page-content h2 {
    font-size: clamp(24px, 2.6vw, 30px);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.15;
    margin: 48px 0 16px;
    color: var(--vp-ink);
}
.venpick-page-content h3 {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -0.018em;
    line-height: 1.3;
    margin: 36px 0 12px;
    color: var(--vp-ink);
}
.venpick-page-content h4 {
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.012em;
    line-height: 1.35;
    margin: 28px 0 8px;
    color: var(--vp-ink);
}
.venpick-page-content p { margin: 0 0 18px; color: var(--vp-gray-600); }
.venpick-page-content p em { font-style: normal; font-size: 13px; letter-spacing: 0.03em; text-transform: uppercase; color: var(--vp-gray-400); display: block; }
.venpick-page-content ul, .venpick-page-content ol { margin: 0 0 20px; padding-left: 22px; color: var(--vp-gray-600); }
.venpick-page-content li { margin-bottom: 8px; }
.venpick-page-content li::marker { color: var(--vp-blue-400); }
.venpick-page-content strong { color: var(--vp-ink); font-weight: 700; }
.venpick-page-content a:not(.wp-block-button__link) {
    color: var(--vp-blue-600);
    font-weight: 600;
    text-decoration-color: rgba(37, 99, 235, 0.35);
    text-underline-offset: 3px;
    transition: text-decoration-color var(--vp-dur) var(--vp-ease-out);
}
.venpick-page-content a:hover { text-decoration-color: var(--vp-blue-600); }
.venpick-page-content blockquote {
    margin: 28px 0;
    padding: 20px 24px;
    border-left: 3px solid var(--vp-blue-400);
    background: var(--vp-surface-2);
    border-radius: 0 var(--vp-radius) var(--vp-radius) 0;
    color: var(--vp-gray-600);
    font-size: 15px;
}
.venpick-page-content table { width: 100%; border-collapse: collapse; margin: 24px 0; font-size: 14px; }
.venpick-page-content th {
    text-align: left;
    padding: 12px 14px;
    font-weight: 700;
    color: var(--vp-ink);
    background: var(--vp-surface-2);
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}
.venpick-page-content td { padding: 12px 14px; color: var(--vp-gray-600); border-bottom: 1px solid rgba(15, 23, 42, 0.06); }
.venpick-page-content .wp-block-quote { font-style: italic; }

/* Per-page layout tuning */
.venpick-page--contact-us .venpick-page-content,
.venpick-page--frequently-asked-questions .venpick-page-content { max-width: 860px; }
.venpick-page--cart .venpick-page-content,
.venpick-page--checkout .venpick-page-content,
.venpick-page--my-account .venpick-page-content,
.venpick-page--dashboard .venpick-page-content,
.venpick-page--store-listing .venpick-page-content,
.venpick-page--my-orders .venpick-page-content,
.venpick-page--vendor-onboarding .venpick-page-content,
.venpick-page--vendor-store .venpick-page-content { max-width: 1180px; padding-top: 56px; }

/* Contact page grid inside prose */
.venpick-page--contact-us .venpick-contact-grid { margin-top: 40px; }
.venpick-page--contact-us .venpick-contact-info {
    background: var(--vp-surface-2);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
    padding: 28px 32px;
    align-self: start;
}
.venpick-page--contact-us .venpick-contact-form {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: var(--vp-radius-lg);
    padding: 32px;
    box-shadow: var(--vp-shadow-lg);
}
.venpick-page--contact-us .vp-contact-form .vp-btn { width: 100%; }

/* FAQ page — question emphasis */
.venpick-page--frequently-asked-questions h4 {
    display: flex;
    gap: 12px;
    align-items: baseline;
    color: var(--vp-ink);
    padding-top: 4px;
}
.venpick-page--frequently-asked-questions h4::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--vp-blue-400), var(--vp-sky-400));
    flex: none;
    transform: translateY(2px);
}

/* ----------------------------------------------------------
   32. STORE LIST — premium vendor cards (Dokan)
   ---------------------------------------------------------- */
#dokan-seller-listing-wrap { margin-top: 12px; }
#dokan-seller-listing-wrap .dokan-seller-wrap {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 24px;
    list-style: none;
    padding: 0;
    margin: 0;
}
#dokan-seller-listing-wrap .dokan-single-seller { padding: 0; margin: 0; max-width: none; }
#dokan-seller-listing-wrap .store-wrapper {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: var(--vp-radius-lg);
    overflow: hidden;
    box-shadow: var(--vp-shadow);
    transition: transform var(--vp-dur) var(--vp-ease-out), box-shadow var(--vp-dur) var(--vp-ease-out), border-color var(--vp-dur) var(--vp-ease-out);
    height: 100%;
    display: flex;
    flex-direction: column;
}
#dokan-seller-listing-wrap .store-wrapper:hover {
    transform: translateY(-4px);
    box-shadow: var(--vp-shadow-xl);
    border-color: rgba(59, 130, 246, 0.28);
}
#dokan-seller-listing-wrap .store-header { position: relative; }
#dokan-seller-listing-wrap .store-banner img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    display: block;
    background: linear-gradient(135deg, var(--vp-navy-800), var(--vp-navy-900));
}
#dokan-seller-listing-wrap .featured-label {
    position: absolute;
    top: 12px;
    left: 12px;
    background: linear-gradient(135deg, #f59e0b, #f97316);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 5px 10px;
    border-radius: 999px;
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.4);
}
#dokan-seller-listing-wrap .dokan-store-is-open-close-status {
    position: absolute;
    top: 12px;
    right: 12px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 5px 10px;
    border-radius: 999px;
    text-transform: uppercase;
}
#dokan-seller-listing-wrap .dokan-store-is-open-status { background: #d1fae5; color: #047857; }
#dokan-seller-listing-wrap .dokan-store-is-closed-status { background: #fee2e2; color: #b91c1c; }
#dokan-seller-listing-wrap .store-content { padding: 20px 22px 14px; flex: 1; }
#dokan-seller-listing-wrap .store-data h2 { font-size: 17px; font-weight: 700; letter-spacing: -0.015em; margin: 0 0 10px; line-height: 1.3; }
#dokan-seller-listing-wrap .store-data h2 a { color: var(--vp-ink); }
#dokan-seller-listing-wrap .store-data h2 a:hover { color: var(--vp-blue-600); }
#dokan-seller-listing-wrap .dokan-seller-rating { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
#dokan-seller-listing-wrap .dokan-seller-rating .rating { margin: 0; font-size: 12.5px; color: var(--vp-gray-400); }
#dokan-seller-listing-wrap .store-address,
#dokan-seller-listing-wrap .store-phone {
    font-size: 13.5px;
    color: var(--vp-gray-500);
    margin: 0 0 6px;
    line-height: 1.6;
}
#dokan-seller-listing-wrap .store-phone { margin-bottom: 0; }
#dokan-seller-listing-wrap .store-phone i { color: var(--vp-blue-400); }
#dokan-seller-listing-wrap .store-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 22px;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    background: var(--vp-surface-2);
}
#dokan-seller-listing-wrap .seller-avatar img {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #fff;
    box-shadow: var(--vp-shadow);
}
#dokan-seller-listing-wrap .dokan-btn-theme.dokan-btn-round {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--vp-navy-800);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform var(--vp-dur) var(--vp-ease-out), background var(--vp-dur) var(--vp-ease-out);
}
#dokan-seller-listing-wrap .dokan-btn-theme.dokan-btn-round:hover {
    background: var(--vp-blue-600);
    transform: translateX(3px);
}
#dokan-seller-listing-wrap .dokan-clearfix { display: none; }

/* Store list search */
#dokan-store-listing-filter-wrap,
.dokan-seller-search-form {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: var(--vp-radius);
    padding: 18px 22px;
    margin-bottom: 28px;
    box-shadow: var(--vp-shadow);
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
    justify-content: space-between;
}
.dokan-seller-search-form input[type="search"] {
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: var(--vp-radius);
    padding: 11px 16px;
    font-size: 14px;
    min-width: 260px;
    font-family: var(--vp-font-body);
}
.dokan-seller-search-form input[type="search"]:focus { outline: none; border-color: var(--vp-blue-400); box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.14); }
.dokan-seller-search-form .dokan-btn,
#dokan-store-listing-filter-wrap .dokan-btn {
    border-radius: var(--vp-radius);
    font-weight: 600;
    font-size: 14px;
    padding: 11px 20px;
    background: var(--vp-navy-800);
    color: #fff;
    border: none;
    transition: background var(--vp-dur) var(--vp-ease-out), transform 100ms var(--vp-ease-out);
}
.dokan-seller-search-form .dokan-btn:hover,
#dokan-store-listing-filter-wrap .dokan-btn:hover { background: var(--vp-blue-600); }
.dokan-seller-search-form .dokan-btn:active,
#dokan-store-listing-filter-wrap .dokan-btn:active { transform: scale(0.97); }

/* Pagination under store list */
.venpick-page--store-listing .pagination-wrap ul.pagination {
    display: flex;
    gap: 6px;
    list-style: none;
    padding: 0;
    margin: 36px 0 0;
    justify-content: center;
}
.venpick-page--store-listing .pagination-wrap ul.pagination li a,
.venpick-page--store-listing .pagination-wrap ul.pagination li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
    border-radius: var(--vp-radius);
    font-size: 14px;
    font-weight: 600;
    color: var(--vp-gray-600);
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.08);
    transition: all var(--vp-dur) var(--vp-ease-out);
}
.venpick-page--store-listing .pagination-wrap ul.pagination li a:hover { background: var(--vp-surface-2); color: var(--vp-blue-600); border-color: rgba(59, 130, 246, 0.3); }
.venpick-page--store-listing .pagination-wrap ul.pagination li span.current { background: var(--vp-blue-600); color: #fff; border-color: var(--vp-blue-600); }

/* ----------------------------------------------------------
   33. VENDOR DASHBOARD — premium shell (Dokan)
   ---------------------------------------------------------- */
.venpick-page--dashboard .dokan-dashboard-wrap {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 28px;
    align-items: start;
}
.venpick-page--dashboard .dokan-dash-sidebar {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: var(--vp-radius-lg);
    padding: 20px 14px;
    box-shadow: var(--vp-shadow);
    position: sticky;
    top: 24px;
}
.venpick-page--dashboard .dokan-dash-sidebar ul { list-style: none; margin: 0; padding: 0; }
.venpick-page--dashboard .dokan-dash-sidebar li a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: var(--vp-radius);
    font-size: 14px;
    font-weight: 600;
    color: var(--vp-gray-600);
    transition: background var(--vp-dur) var(--vp-ease-out), color var(--vp-dur) var(--vp-ease-out);
}
.venpick-page--dashboard .dokan-dash-sidebar li a:hover,
.venpick-page--dashboard .dokan-dash-sidebar li.active a { background: rgba(59, 130, 246, 0.08); color: var(--vp-blue-600); }
.venpick-page--dashboard .dokan-dashboard-content { min-width: 0; }
.venpick-page--dashboard .dokan-dashboard-content .dokan-dashboard-header h1 {
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.03em;
    margin: 0 0 6px;
}
.venpick-page--dashboard .dokan-dashboard-content .dokan-dashboard-header p { color: var(--vp-gray-500); font-size: 14.5px; margin: 0 0 24px; }
.venpick-page--dashboard .dokan-big-counter-widget {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 18px;
    margin-bottom: 26px;
}
.venpick-page--dashboard .dokan-big-counter-widget li {
    list-style: none;
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: var(--vp-radius-lg);
    padding: 22px;
    box-shadow: var(--vp-shadow);
    transition: transform var(--vp-dur) var(--vp-ease-out), box-shadow var(--vp-dur) var(--vp-ease-out);
}
.venpick-page--dashboard .dokan-big-counter-widget li:hover { transform: translateY(-3px); box-shadow: var(--vp-shadow-xl); }
.venpick-page--dashboard .dokan-big-counter-widget .dokan-big-counter-icon {
    font-size: 30px;
    margin-bottom: 12px;
    color: var(--vp-blue-500);
}
.venpick-page--dashboard .dokan-big-counter-widget .dokan-big-counter-label { font-size: 13px; color: var(--vp-gray-500); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }
.venpick-page--dashboard .dokan-big-counter-widget .dokan-big-counter { font-size: 30px; font-weight: 800; letter-spacing: -0.03em; color: var(--vp-ink); }
.venpick-page--dashboard .dokan-dashboard-widget {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: var(--vp-radius-lg);
    padding: 24px;
    box-shadow: var(--vp-shadow);
    margin-bottom: 24px;
}
.venpick-page--dashboard .dokan-dashboard-widget h3.dokan-dashboard-widget-title {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin: 0 0 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

/* ----------------------------------------------------------
   34. MY ORDERS / ACCOUNT TABLES — premium data sheets
   ---------------------------------------------------------- */
.venpick-page--my-orders table,
.venpick-page--dashboard .dokan-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: var(--vp-radius-lg);
    overflow: hidden;
    box-shadow: var(--vp-shadow);
    font-size: 14px;
}
.venpick-page--my-orders table th,
.venpick-page--dashboard .dokan-table th {
    text-align: left;
    padding: 14px 16px;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--vp-gray-500);
    background: var(--vp-surface-2);
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}
.venpick-page--my-orders table td,
.venpick-page--dashboard .dokan-table td {
    padding: 14px 16px;
    color: var(--vp-gray-600);
    border-bottom: 1px solid rgba(15, 23, 42, 0.05);
}
.venpick-page--my-orders table tr:last-child td { border-bottom: none; }
.venpick-page--my-orders table a,
.venpick-page--dashboard .dokan-table a { color: var(--vp-blue-600); font-weight: 600; }
.venpick-page--my-orders .dokan-btn,
.venpick-page--dashboard .dokan-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: var(--vp-radius);
    padding: 9px 16px;
    font-size: 13px;
    font-weight: 600;
    background: var(--vp-navy-800);
    color: #fff;
    transition: background var(--vp-dur) var(--vp-ease-out), transform 100ms var(--vp-ease-out);
}
.venpick-page--my-orders .dokan-btn:hover,
.venpick-page--dashboard .dokan-btn:hover { background: var(--vp-blue-600); }
.venpick-page--my-orders .dokan-btn:active,
.venpick-page--dashboard .dokan-btn:active { transform: scale(0.97); }

/* Reduced transparency: fold new glass into solid surfaces */
@media (prefers-reduced-transparency: reduce) {
    #dokan-seller-listing-wrap .store-wrapper,
    #dokan-store-listing-filter-wrap,
    .dokan-seller-search-form,
    .venpick-page--dashboard .dokan-dash-sidebar,
    .venpick-page--dashboard .dokan-big-counter-widget li,
    .venpick-page--dashboard .dokan-dashboard-widget,
    .venpick-page--contact-us .venpick-contact-info,
    .venpick-page--contact-us .venpick-contact-form {
        background: var(--vp-surface) !important;
        border-color: rgba(15, 23, 42, 0.12) !important;
    }
}

/* ----------------------------------------------------------
   35. SINGLE PRODUCT — premium two-column material layout
   ---------------------------------------------------------- */
.single-product .site-content { padding-top: 24px; }
.single-product #secondary { display: none; }
.single-product #primary { width: 100% !important; float: none !important; margin: 0 !important; }

.venpick-single-product .container { max-width: var(--vp-container); margin: 0 auto; padding: 0 var(--vp-gutter); }
.venpick-single-product.woocommerce div.product {
    background: none;
    border: none;
    border-radius: 0;
    padding: 0;
    margin-bottom: 0;
    box-shadow: none;
}

/* Neutralize Storefront breadcrumb wrapper padding inside our container */
.venpick-single-product .storefront-breadcrumb { margin: 0 0 22px; padding: 0; }
.venpick-single-product .storefront-breadcrumb .col-full { width: auto; max-width: none; margin: 0; padding: 0; }

/* Breadcrumb — quiet, floating */
.venpick-single-product .woocommerce-breadcrumb {
    font-size: 13.5px;
    letter-spacing: 0.01em;
    margin: 0 0 22px;
    color: var(--vp-gray-400);
}
.venpick-single-product .woocommerce-breadcrumb a { color: var(--vp-gray-500); }
.venpick-single-product .woocommerce-breadcrumb a:hover { color: var(--vp-blue-600); }

/* Grid — media + summary on glass card */
.venpick-single-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: 48px;
    align-items: start;
}
.venpick-single-media { position: relative; }
.venpick-single-media .woocommerce-product-gallery {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    background: var(--vp-surface-2);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-xl);
    overflow: hidden;
    box-shadow: var(--vp-shadow);
}
.venpick-single-media .woocommerce-product-gallery__image { position: relative; border-radius: var(--vp-radius-xl) var(--vp-radius-xl) 0 0; }
.venpick-single-media .woocommerce-product-gallery__image img { width: 100%; height: auto; }

/* Magnifier lens — follows the cursor, shows a magnified crop */
.venpick-single-media .vp-has-lens { cursor: zoom-in; }
.venpick-single-media .vp-zoom-lens {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 6;
    width: 180px;
    height: 180px;
    border-radius: 14px;
    border: 2px solid #fff;
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.28);
    background-repeat: no-repeat;
    pointer-events: none;
    opacity: 0;
    transition: opacity 120ms var(--vp-ease-out);
}
.venpick-single-media .vp-zoom-lens.active { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
    .venpick-single-media .vp-zoom-lens { transition: none; }
}
.venpick-single-media .flex-control-thumbs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    padding: 14px;
    margin: 0;
    list-style: none;
}
.venpick-single-media .flex-control-thumbs li { width: 100% !important; float: none !important; margin: 0; }
.venpick-single-media .flex-control-thumbs img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: var(--vp-radius);
    border: 2px solid transparent;
    opacity: 0.75;
    transition: opacity var(--vp-dur) var(--vp-ease-out), border-color var(--vp-dur) var(--vp-ease-out), transform 100ms var(--vp-ease-out);
    cursor: pointer;
}
.venpick-single-media .flex-control-thumbs img:hover { opacity: 1; transform: scale(1.03); }
.venpick-single-media .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--vp-blue-500); }
.venpick-single-media .onsale {
    position: absolute;
    top: 16px; left: 16px;
    z-index: 5;
    background: #ef4444;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: var(--vp-radius-pill);
    box-shadow: var(--vp-shadow-sm);
}

/* Summary — refined typography.
   Storefront floats the summary at 52.94% width, which crams the
   column to ~300px inside the grid track and leaves dead space on
   the left. Neutralize that so the summary fills its grid track. */
.venpick-single-grid .summary {
    padding: 0 !important;
    width: 100% !important;
    float: none !important;
    max-width: none !important;
    margin-bottom: 0 !important;
}
.venpick-single-grid .summary .product_title {
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.08;
    letter-spacing: -0.035em;
    font-weight: 800;
    margin: 0 0 14px !important;
}
.venpick-single-grid .summary .price {
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -0.025em;
    margin: 0 0 8px !important;
    display: block;
}
.venpick-single-grid .summary .price del { font-size: 20px; color: var(--vp-gray-400); margin-right: 10px; font-weight: 600; }
.venpick-single-grid .summary .price ins { text-decoration: none; color: var(--vp-blue-600); }
.venpick-single-grid .summary .woocommerce-product-rating { margin: 0 0 16px !important; }
.venpick-single-grid .summary .woocommerce-product-rating .star-rating { font-size: 14px; }
.venpick-single-grid .summary .woocommerce-product-details__short-description {
    border: none !important;
    padding: 0 !important;
    margin: 0 0 18px !important;
    font-size: 15.5px;
    line-height: 1.7;
    color: var(--vp-gray-600);
    letter-spacing: 0.002em;
}
.venpick-single-grid .summary .woocommerce-product-details__short-description p { margin: 0; }

/* Cart form — pill panel, quantity stacked above the button */
.venpick-single-grid .summary form.cart {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    margin: 0 0 22px !important;
    padding: 18px !important;
    background: var(--vp-surface-2);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
}
/* Quantity stepper — segmented pill group filling the panel width.
   WooCommerce wraps the input in div.quantity; that wrapper stretches. */
.venpick-single-grid .summary form.cart .quantity {
    width: 100%;
    flex: none;
    margin: 0 !important;
}
.venpick-single-grid .summary form.cart .vp-qty-stepper {
    display: flex;
    align-items: center;
    width: 100%;
    height: 50px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: var(--vp-radius-pill);
    background: var(--vp-surface);
    overflow: hidden;
    transition: border-color var(--vp-dur) var(--vp-ease-out), box-shadow var(--vp-dur) var(--vp-ease-out);
}
body.vp-keyboard-focus .venpick-single-grid .summary form.cart .vp-qty-stepper:focus-within {
    border-color: var(--vp-blue-400);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.14);
}
.venpick-single-grid .summary form.cart .vp-qty-btn {
    width: 46px;
    height: 100%;
    border: none;
    background: transparent;
    color: var(--vp-gray-500);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color 120ms var(--vp-ease-out), color 120ms var(--vp-ease-out);
    -webkit-tap-highlight-color: transparent;
}
.venpick-single-grid .summary form.cart .vp-qty-btn:hover { background: var(--vp-surface-2); color: var(--vp-blue-600); }
.venpick-single-grid .summary form.cart .vp-qty-btn:active { background: rgba(37, 99, 235, 0.10); }
.venpick-single-grid .summary form.cart .vp-qty-btn svg.lucide,
.venpick-single-grid .summary form.cart .vp-qty-btn svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    min-width: 18px;
    min-height: 18px;
    display: block;
    pointer-events: none;
}
.venpick-single-grid .summary form.cart .vp-qty-btn:focus-visible { outline: none !important; }
.venpick-single-grid .summary form.cart .qty {
    flex: 1 1 auto;
    width: auto;
    min-width: 32px;
    height: 100%;
    border: none;
    border-radius: 0;
    background: transparent;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    -moz-appearance: textfield;
    appearance: textfield;
}
.venpick-single-grid .summary form.cart .qty::-webkit-outer-spin-button,
.venpick-single-grid .summary form.cart .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.venpick-single-grid .summary form.cart .qty:focus { outline: none; box-shadow: none; }
.venpick-single-grid .summary form.cart .button {
    width: 100%;
    flex: none;
    height: 50px;
    padding: 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.venpick-single-grid .summary form.cart .button::before {
    content: '\f07a';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 15px;
}
.venpick-single-grid .summary form.cart .button.added::after { display: none; }

/* Meta — quiet footer of summary */
.venpick-single-grid .summary .venpick-sold-by {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 22px;
    padding: 14px 18px;
    background: var(--vp-surface-2);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
}
.venpick-single-grid .summary .venpick-sold-by-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--vp-blue-500), var(--vp-sky-400));
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    flex: none;
    box-shadow: var(--vp-shadow-sm);
}
.venpick-single-grid .summary .venpick-sold-by-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--vp-gray-400);
    margin-bottom: 2px;
}
.venpick-single-grid .summary .venpick-sold-by a {
    font-size: 14.5px;
    font-weight: 700;
    color: var(--vp-ink);
    letter-spacing: -0.01em;
}
.venpick-single-grid .summary .venpick-sold-by a:hover { color: var(--vp-blue-600); }
.venpick-single-grid .summary .venpick-sold-by-link {
    margin-left: auto;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    transition: background var(--vp-dur-fast) var(--vp-ease-out), color var(--vp-dur-fast) var(--vp-ease-out), transform 100ms var(--vp-ease-out);
}
.venpick-single-grid .summary .venpick-sold-by-link:hover { background: var(--vp-blue-600); color: #fff; transform: translateX(2px); }

.venpick-single-grid .summary .product_meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 28px;
    padding-top: 16px !important;
    margin-top: 0;
    border-top: 1px solid rgba(15, 23, 42, 0.06) !important;
    font-size: 13px;
    color: var(--vp-gray-400);
    letter-spacing: 0.01em;
}
.venpick-single-grid .summary .product_meta span { margin: 0; }
.venpick-single-grid .summary .product_meta a { font-weight: 600; }

/* ----------------------------------------------------------
   35b. PRODUCT TABS — segmented glass pills
   ---------------------------------------------------------- */
.venpick-tabs { margin-top: 56px !important; }
.venpick-tabs-nav {
    display: flex;
    gap: 6px !important;
    padding: 6px !important;
    margin: 0 0 34px !important;
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-pill);
    background: var(--vp-surface-2);
    width: fit-content !important;
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
}
.venpick-tabs-nav::before,
.venpick-tabs-nav::after { display: none !important; }
.venpick-tabs-nav li::before,
.venpick-tabs-nav li::after,
.venpick-tabs-nav li.active::after { content: none !important; }
.venpick-tabs-nav::-webkit-scrollbar { display: none; }
.venpick-tabs-nav li { margin: 0 !important; flex: none; }
.venpick-tabs-nav li a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: var(--vp-radius-pill) !important;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--vp-gray-500);
    letter-spacing: -0.004em;
    transition: background var(--vp-dur-fast) var(--vp-ease-out),
                color var(--vp-dur-fast) var(--vp-ease-out),
                box-shadow var(--vp-dur-fast) var(--vp-ease-out);
}
.venpick-tabs-nav li a i { font-size: 12.5px; opacity: 0.7; }
.venpick-tabs-nav li a:hover { color: var(--vp-blue-700); background: rgba(37, 99, 235, 0.06); }
.venpick-tabs-nav li.active a {
    background: var(--vp-surface);
    color: var(--vp-blue-700);
    box-shadow: var(--vp-shadow-sm);
}
.woocommerce-tabs ul.tabs::before, .woocommerce-tabs ul.tabs::after { display: none; }

.venpick-tab-panel {
    max-width: 860px;
    margin: 0 !important;
    padding: 8px 0 0 !important;
    border: none !important;
    box-shadow: none;
}
.venpick-tab-eyebrow {
    display: inline-block;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--vp-blue-600);
    margin-bottom: 10px;
}
.venpick-tab-title {
    font-size: clamp(22px, 2.4vw, 27px);
    font-weight: 800;
    letter-spacing: -0.028em;
    margin: 0 0 22px;
    line-height: 1.2;
}

/* Description prose */
.venpick-description-prose p {
    font-size: 15.5px;
    line-height: 1.85;
    color: var(--vp-gray-600);
    margin: 0 0 18px;
    letter-spacing: 0.002em;
}
.venpick-description-prose h3 {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.015em;
    margin: 28px 0 10px;
    color: var(--vp-ink);
}
.venpick-description-prose ul { padding-left: 20px; color: var(--vp-gray-600); margin: 0 0 18px; }
.venpick-description-prose li { margin-bottom: 8px; }
.venpick-description-prose li::marker { color: var(--vp-blue-400); }

/* ----------------------------------------------------------
   35c. VENDOR INFO TAB — store profile card
   ---------------------------------------------------------- */
.venpick-vendor-card {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: var(--vp-radius-xl);
    padding: 30px;
    box-shadow: var(--vp-shadow);
}
.venpick-vendor-card-top {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}
.venpick-vendor-card-avatar-wrap { flex: none; }
.venpick-vendor-card-avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #fff;
    box-shadow: var(--vp-shadow);
    display: flex;
    align-items: center;
    justify-content: center;
}
.venpick-vendor-card-avatar-fallback {
    background: linear-gradient(135deg, var(--vp-blue-500), var(--vp-sky-400));
    color: #fff;
    font-size: 26px;
    font-weight: 800;
}
.venpick-vendor-card-id { flex: 1; min-width: 0; }
.venpick-vendor-card-id strong {
    display: block;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.015em;
    margin-bottom: 4px;
    color: var(--vp-ink);
}
.venpick-vendor-card-verified {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    font-weight: 600;
    color: #047857;
    background: #d1fae5;
    padding: 4px 10px;
    border-radius: var(--vp-radius-pill);
}
.venpick-vendor-card-verified i { font-size: 11px; }
.venpick-vendor-card-visit {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border-radius: var(--vp-radius-pill);
    background: var(--vp-navy-800);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background var(--vp-dur) var(--vp-ease-out), transform 100ms var(--vp-ease-out);
}
.venpick-vendor-card-visit:hover { background: var(--vp-blue-600); color: #fff; }
.venpick-vendor-card-visit:active { transform: scale(0.97); }
.venpick-vendor-card-rating {
    padding: 18px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}
.venpick-vendor-card-rating-empty { font-size: 13.5px; color: var(--vp-gray-400); }
.venpick-vendor-card-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
}
.venpick-vendor-card-list li {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    background: var(--vp-surface-2);
    border: 1px solid rgba(15, 23, 42, 0.05);
    border-radius: var(--vp-radius);
    padding: 14px 16px;
}
.venpick-vendor-card-list li > i {
    color: var(--vp-blue-500);
    font-size: 15px;
    margin-top: 3px;
    flex: none;
}
.venpick-vendor-card-list span {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--vp-gray-400);
    margin-bottom: 3px;
}
.venpick-vendor-card-list strong {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--vp-gray-700);
    line-height: 1.5;
}

/* ----------------------------------------------------------
   35d. REVIEWS — summary, cards, star picker
   ---------------------------------------------------------- */
.venpick-reviews { max-width: 860px; margin: 0 !important; }
.woocommerce-noreviews {
    font-size: 15px;
    color: var(--vp-gray-500);
    background: var(--vp-surface-2);
    border: 1px dashed rgba(15, 23, 42, 0.12);
    border-radius: var(--vp-radius);
    padding: 18px 22px;
}

/* Summary block */
.venpick-reviews-summary {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 36px;
    align-items: center;
    background: var(--vp-surface-2);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--vp-radius-lg);
    padding: 24px 28px;
    margin-bottom: 30px;
}
.venpick-reviews-summary-score { text-align: center; }
.venpick-reviews-summary-score strong {
    display: block;
    font-size: 46px;
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1;
    color: var(--vp-ink);
}
.venpick-reviews-summary-score .star-rating { font-size: 16px; margin: 10px auto 8px; display: block; }
.venpick-reviews-summary-total { font-size: 12.5px; color: var(--vp-gray-400); }
.venpick-reviews-bar-row {
    display: grid;
    grid-template-columns: 34px 1fr 28px;
    gap: 10px;
    align-items: center;
    margin-bottom: 8px;
}
.venpick-reviews-bar-row:last-child { margin-bottom: 0; }
.venpick-reviews-bar-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--vp-gray-500);
    display: flex;
    align-items: center;
    gap: 4px;
}
.venpick-reviews-bar-label i { color: var(--vp-star); font-size: 10px; }
.venpick-reviews-bar-track {
    height: 7px;
    border-radius: 99px;
    background: rgba(15, 23, 42, 0.08);
    overflow: hidden;
}
.venpick-reviews-bar-fill {
    display: block;
    height: 100%;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--vp-star), #fbbf24);
    transition: width 600ms var(--vp-ease-out);
}
.venpick-reviews-bar-count { font-size: 12px; font-weight: 600; color: var(--vp-gray-500); text-align: right; }

/* Review cards */
.venpick-review-list { list-style: none; margin: 0 0 34px; padding: 0; }
.venpick-review-list li.review {
    display: flex;
    gap: 18px;
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: var(--vp-radius-lg);
    padding: 24px;
    margin-bottom: 16px;
    box-shadow: var(--vp-shadow-sm);
}
.venpick-review-list .comment_container > img.avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    float: none !important;
    object-fit: cover;
    flex: none;
    border: 2px solid #fff;
    box-shadow: var(--vp-shadow-sm);
}
.venpick-review-list .comment-text {
    border: none !important;
    margin: 0;
    padding: 0;
}
.venpick-review-list .star-rating { font-size: 13px; margin: 0 0 6px; }
.venpick-review-list .meta {
    font-size: 13px;
    color: var(--vp-gray-400);
    margin: 0 0 10px;
    padding: 0;
    border: none;
}
.venpick-review-list .meta strong { color: var(--vp-ink); font-weight: 600; }
.venpick-review-list .description { font-size: 14.5px; line-height: 1.75; color: var(--vp-gray-600); }
.venpick-review-list .description p { margin: 0; }

/* Review form — glass card */
#review_form_wrapper { margin-top: 8px; }
#review_form {
    background: var(--vp-surface-2);
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: var(--vp-radius-xl);
    padding: 32px;
}
.venpick-review-form-title { font-size: 19px; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 20px; display: block; }
#review_form .comment-form { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
#review_form .comment-form > * { margin-bottom: 16px; }
#review_form .comment-form-rating,
#review_form .comment-form-comment,
#review_form .comment-notes,
#review_form .form-submit,
#review_form .must-log-in { grid-column: 1 / -1; }
#review_form .comment-form-rating { order: -1; }
#review_form label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--vp-gray-700);
    margin-bottom: 8px;
}
#review_form .comment-form-comment label { margin-bottom: 10px; }
#review_form .comment-form-author input,
#review_form .comment-form-email input,
#review_form .comment-form-comment textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: var(--vp-radius);
    background: var(--vp-surface);
    font-size: 14px;
    font-family: var(--vp-font-body);
    transition: border-color var(--vp-dur) var(--vp-ease-out), box-shadow var(--vp-dur) var(--vp-ease-out);
}
#review_form .comment-form-comment textarea { min-height: 120px; resize: vertical; }
#review_form .comment-form-author input:focus,
#review_form .comment-form-email input:focus,
#review_form .comment-form-comment textarea:focus {
    outline: none;
    border-color: var(--vp-blue-400);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.14);
}
.venpick-review-submit {
    width: 100%;
    height: 50px;
    padding: 0 34px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--vp-blue-600) !important;
    color: #fff !important;
    border-radius: var(--vp-radius-md) !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    letter-spacing: -0.005em !important;
    text-transform: none !important;
    border: none !important;
    box-shadow: var(--vp-shadow-sm) !important;
    cursor: pointer;
    transition: background var(--vp-dur-fast) var(--vp-ease-out),
                transform var(--vp-dur-fast) var(--vp-ease-out),
                box-shadow var(--vp-dur) var(--vp-ease-out);
}
.venpick-review-submit:hover { background: var(--vp-blue-700) !important; color: #fff !important; }
.venpick-review-submit:active { transform: scale(0.97); }

/* Star picker — five stars, radio based */
#review_form .venpick-star-picker-stars { display: flex; flex-direction: row-reverse; justify-content: flex-start; gap: 4px; }
#review_form .venpick-star-picker-stars input { position: absolute; opacity: 0; pointer-events: none; }
#review_form .venpick-star-picker-stars label {
    margin: 0 !important;
    font-size: 24px;
    color: #cbd5e1;
    cursor: pointer;
    line-height: 1;
    transition: color var(--vp-dur-fast) var(--vp-ease-out), transform 100ms var(--vp-ease-out);
}
#review_form .venpick-star-picker-stars label svg { transition: fill var(--vp-dur-fast) var(--vp-ease-out); }
#review_form .venpick-star-picker-stars label:hover,
#review_form .venpick-star-picker-stars label:hover ~ label,
#review_form .venpick-star-picker-stars input:checked ~ label { color: var(--vp-star); }
#review_form .venpick-star-picker-stars label:hover svg,
#review_form .venpick-star-picker-stars label:hover ~ label svg,
#review_form .venpick-star-picker-stars input:checked ~ label svg { fill: currentColor; }
#review_form .venpick-star-picker-stars label:hover { transform: scale(1.15); }

/* ----------------------------------------------------------
   35e. RELATED / MORE PRODUCTS — refined section headers
   ---------------------------------------------------------- */
.venpick-tab-panel .venpick-product-card { margin-bottom: 0 !important; }
.woocommerce-tabs .woocommerce-Tabs-panel--more_seller_product ul.products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 22px;
    padding: 0;
    margin: 0;
    list-style: none;
}
.woocommerce-tabs .woocommerce-Tabs-panel--more_seller_product ul.products li {
    float: none;
    width: auto !important;
    margin: 0;
}
.related.products { margin-top: 64px; padding-top: 40px; border-top: 1px solid rgba(15, 23, 42, 0.06); }
.related.products h2 {
    font-size: clamp(20px, 2.2vw, 25px);
    font-weight: 800;
    letter-spacing: -0.028em;
    margin-bottom: 26px;
}
.related.products > ul.products { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 22px; list-style: none; padding: 0; margin: 0; }
.related.products > ul.products li { float: none; width: auto !important; margin: 0; }

/* Responsive */
@media (max-width: 1024px) {
    .venpick-single-grid { grid-template-columns: 1fr; gap: 28px; }
    .venpick-single-media { max-width: 560px; }
}
@media (max-width: 768px) {
    .venpick-single-grid .summary form.cart { flex-direction: column; align-items: stretch; }
    .venpick-single-grid .summary form.cart .vp-qty-stepper { width: 100%; }
    .venpick-single-grid .summary form.cart .vp-qty-stepper .qty { flex: 1; width: auto; }
    .venpick-tabs-nav { width: 100%; }
    .venpick-reviews-summary { grid-template-columns: 1fr; gap: 18px; }
    #review_form .comment-form { grid-template-columns: 1fr; }
    #review_form .comment-form-author,
    #review_form .comment-form-email { grid-column: 1 / -1; }
    .venpick-vendor-card-top { flex-wrap: wrap; }
    .venpick-vendor-card-visit { margin-left: auto; }
    .venpick-review-list li.review { flex-direction: column; }
}
@media (prefers-reduced-transparency: reduce) {
    .venpick-single-media .woocommerce-product-gallery,
    .venpick-vendor-card,
    .venpick-review-list li.review,
    #review_form {
        background: var(--vp-surface) !important;
        border-color: rgba(15, 23, 42, 0.12) !important;
    }
}

/* ----------------------------------------------------------
   35f. CHECKOUT — Apple-style classic checkout
   Calm, card-based two-column flow. Left: steps as soft white
   cards. Right: translucent sticky order summary. Inputs get a
   defined 52px rhythm, hairline borders and blue focus rings.
   ---------------------------------------------------------- */

.woocommerce-checkout .venpick-page-content { max-width: var(--vp-container); }

/* Neutralize Storefront's fixed-width floats on the checkout columns */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading {
    width: auto;
    float: none;
    clear: none;
    margin-right: 0;
}

/* Intro header */
.venpick-checkout-intro { margin: 6px 0 34px; }
.venpick-checkout-intro h2 {
    font-size: clamp(28px, 3.4vw, 38px);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.08;
    margin: 0 0 10px;
    color: var(--vp-ink);
}
.venpick-checkout-intro p { margin: 0; font-size: 15.5px; line-height: 1.7; color: var(--vp-gray-500); }

/* Coupon toggle link */
.woocommerce-checkout form.checkout_coupon {
    background: rgba(15, 23, 42, 0.03);
    border: 1px dashed rgba(15, 23, 42, 0.14);
    border-radius: var(--vp-radius-md);
    padding: 18px 22px;
    margin: -14px 0 26px;
}
.woocommerce-checkout .showcoupon {
    font-weight: 600;
    color: var(--vp-blue-600);
    text-decoration: none;
}
.woocommerce-checkout .showcoupon:hover { text-decoration: underline; }
.woocommerce-checkout form.checkout_coupon .form-row { margin: 0; }
.woocommerce-checkout form.checkout_coupon .input-text { width: 100%; }

/* Two-column shell */
.woocommerce-checkout form.checkout.woocommerce-checkout {
    display: grid;
    grid-template-columns: 1.08fr 0.92fr;
    gap: 32px;
    align-items: start;
}
.woocommerce-checkout #customer_details {
    grid-column: 1;
    grid-row: 1 / span 2;
    margin: 0;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
    float: none;
    width: 100%;
    padding: 0;
    margin: 0;
}
.woocommerce-checkout #order_review_heading {
    grid-column: 2;
    grid-row: 1;
    margin: 8px 0 14px;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.02em;
}
.woocommerce-checkout #order_review {
    grid-column: 2;
    grid-row: 1;
}

/* Section cards */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .venpick-checkout-cardinfo,
.woocommerce-checkout #order_review {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: var(--vp-radius-xl);
    box-shadow: var(--vp-shadow-sm);
    padding: 34px 38px;
}
.woocommerce-checkout .woocommerce-shipping-fields { margin-top: 28px; }
.woocommerce-checkout .woocommerce-additional-fields { margin-top: 28px; }
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3 {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 16.5px;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin: 0 0 22px;
    color: var(--vp-ink);
}
.woocommerce-checkout .woocommerce-billing-fields > h3::before,
.woocommerce-checkout .woocommerce-shipping-fields > h3::before,
.woocommerce-checkout .venpick-checkout-cardinfo-head h3::before {
    content: attr(data-step);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--vp-blue-600);
    color: #fff;
    font-size: 12.5px;
    font-weight: 700;
    flex: none;
}
/* Ship-to-different-address becomes a pill toggle */
.woocommerce-checkout .woocommerce-shipping-fields h3 label.checkbox {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 600;
    color: var(--vp-ink);
    margin: 0;
}
.woocommerce-checkout .woocommerce-shipping-fields h3 input[type="checkbox"] {
    width: 20px;
    height: 20px;
    accent-color: var(--vp-blue-600);
    cursor: pointer;
}
.woocommerce-checkout .woocommerce-shipping-fields h3::before { content: "3"; }
.woocommerce-checkout .woocommerce-billing-fields > h3::before { content: "1"; }
.woocommerce-checkout .venpick-checkout-cardinfo-head h3::before { content: "2"; }

/* Additional information — its own card below the shipping fields */
.woocommerce-checkout .woocommerce-additional-fields > h3 {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 16.5px;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin: 0 0 18px;
    color: var(--vp-ink);
}
.woocommerce-checkout .woocommerce-additional-fields > h3::before { content: none; }

/* Card information — second card in the left column, Apple-style card fields */
.woocommerce-checkout .venpick-checkout-cardinfo { margin-top: 28px; }
.woocommerce-checkout .venpick-checkout-cardinfo-head {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0 0 22px;
}
.woocommerce-checkout .venpick-checkout-cardinfo-head h3 {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 16.5px;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin: 0;
    color: var(--vp-ink);
}
.venpick-card-field { margin: 0 0 16px; }
.venpick-card-field label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: var(--vp-gray-600);
    margin: 0 0 8px;
}
.venpick-card-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.venpick-card-row .venpick-card-field:last-child { margin-bottom: 0; }
.venpick-card-input-wrap { position: relative; }
.venpick-card-input {
    width: 100%;
    height: 52px;
    padding: 0 16px;
    font-size: 15px;
    font-weight: 500;
    color: var(--vp-ink);
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.14);
    border-radius: var(--vp-radius-md);
    box-shadow: none;
    transition: border-color var(--vp-dur-fast) var(--vp-ease-out),
                box-shadow var(--vp-dur-fast) var(--vp-ease-out);
}
.venpick-card-input::placeholder { color: var(--vp-gray-400); }
.venpick-card-input:focus {
    outline: none;
    border-color: var(--vp-blue-500);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.16);
}
.venpick-card-input-wrap .venpick-card-input { padding-right: 84px; }
.venpick-card-brands {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    pointer-events: none;
}
.venpick-card-brands svg { width: 24px; height: 16px; }

/* Field grid — first/last side by side */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-wide,
.woocommerce-checkout .form-row.notes { grid-column: 1 / -1; }
.woocommerce-checkout .form-row { float: none; width: auto; margin: 0; }

/* Inputs — 52px rhythm, hairline, blue focus ring */
.woocommerce-checkout .woocommerce-input-wrapper,
.woocommerce-checkout .select2-container--default .select2-selection--single {
    display: block;
}
.woocommerce-checkout .woocommerce-input-wrapper input[type="text"],
.woocommerce-checkout .woocommerce-input-wrapper input[type="tel"],
.woocommerce-checkout .woocommerce-input-wrapper input[type="email"],
.woocommerce-checkout .woocommerce-input-wrapper input[type="password"],
.woocommerce-checkout .woocommerce-input-wrapper textarea,
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout .select2-container--default .select2-selection--single {
    width: 100%;
    height: 52px;
    padding: 0 16px;
    font-size: 15px;
    font-weight: 500;
    color: var(--vp-ink);
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.14);
    border-radius: var(--vp-radius-md);
    box-shadow: none;
    transition: border-color var(--vp-dur-fast) var(--vp-ease-out),
                box-shadow var(--vp-dur-fast) var(--vp-ease-out);
}
.woocommerce-checkout .woocommerce-input-wrapper textarea { height: auto; min-height: 110px; padding: 14px 16px; resize: vertical; }
.woocommerce-checkout .woocommerce-input-wrapper select { appearance: auto; }
.woocommerce-checkout .woocommerce-input-wrapper input::placeholder,
.woocommerce-checkout .woocommerce-input-wrapper textarea::placeholder { color: var(--vp-gray-400); }
.woocommerce-checkout .woocommerce-input-wrapper input:focus,
.woocommerce-checkout .woocommerce-input-wrapper textarea:focus,
.woocommerce-checkout .woocommerce-input-wrapper select:focus,
.woocommerce-checkout .select2-container--default .select2-selection--single:focus {
    outline: none;
    border-color: var(--vp-blue-500);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.16);
}
.woocommerce-checkout .select2-container--default .select2-selection--single {
    display: flex;
    align-items: center;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 50px; padding: 0 16px; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { top: 15px; right: 12px; }
.woocommerce-checkout .select2-dropdown {
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: var(--vp-radius);
    box-shadow: var(--vp-shadow-md);
    overflow: hidden;
}
.woocommerce-checkout .select2-container--default .select2-results__option { padding: 10px 14px; font-size: 14.5px; }
.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--vp-blue-600); }

/* Labels */
.woocommerce-checkout .woocommerce-billing-fields label,
.woocommerce-checkout .woocommerce-shipping-fields label,
.woocommerce-checkout .woocommerce-additional-fields label,
.woocommerce-checkout #order_review label,
.woocommerce-checkout #payment label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: var(--vp-gray-600);
    margin: 0 0 8px;
}
.woocommerce-checkout label abbr[title="required"] {
    color: var(--vp-danger);
    text-decoration: none;
    margin-left: 2px;
}
.woocommerce-checkout label .optional { color: var(--vp-gray-400); font-weight: 500; }

/* Order review table — hairline rhythm */
.woocommerce-checkout #order_review table.shop_table,
.woocommerce-checkout #order_review table.shop_table thead,
.woocommerce-checkout #order_review table.shop_table tbody,
.woocommerce-checkout #order_review table.shop_table tfoot,
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
    background: transparent;
    border: none;
}
.woocommerce-checkout #order_review table.shop_table {
    margin: 0;
    font-size: 15px;
}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
    border: none;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    padding: 15px 0;
    vertical-align: middle;
}
.woocommerce-checkout #order_review table.shop_table thead { display: none; }
.woocommerce-checkout #order_review table.shop_table tbody .product-name { font-weight: 600; color: var(--vp-ink); }
.woocommerce-checkout #order_review table.shop_table tbody .product-total { text-align: right; color: var(--vp-gray-600); }
.woocommerce-checkout #order_review table.shop_table tfoot th { font-weight: 600; color: var(--vp-gray-500); }
.woocommerce-checkout #order_review table.shop_table tfoot td { text-align: right; color: var(--vp-gray-600); }
.woocommerce-checkout #order_review table.shop_table tr.order-total th,
.woocommerce-checkout #order_review table.shop_table tr.order-total td {
    border-bottom: none;
    padding-top: 18px;
    font-size: 19px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--vp-ink);
}
.woocommerce-checkout #order_review table.shop_table tr.order-total td { color: var(--vp-blue-600); }
.woocommerce-checkout #order_review .woocommerce-product-thumbnail { display: none; }
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .product-quantity { color: var(--vp-gray-400); font-weight: 500; }

/* Payment — selectable radio cards */
.woocommerce-checkout #payment {
    background: transparent;
    border: none;
    border-top: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: 0;
    padding: 22px 0 0;
    margin-top: 20px;
}
.woocommerce-checkout #payment ul.payment_methods {
    border: none;
    background: none;
    padding: 0;
    margin: 0 0 18px;
    display: grid;
    gap: 10px;
}
.woocommerce-checkout #payment ul.payment_methods li {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    gap: 12px;
    align-items: center;
    padding: 17px 20px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: var(--vp-radius-md);
    background: var(--vp-surface);
    cursor: pointer;
    transition: border-color var(--vp-dur-fast) var(--vp-ease-out),
                background var(--vp-dur-fast) var(--vp-ease-out);
}
.woocommerce-checkout #payment ul.payment_methods li:hover { border-color: rgba(37, 99, 235, 0.4); }
.woocommerce-checkout #payment ul.payment_methods li.selected {
    border-color: var(--vp-blue-500);
    background: rgba(37, 99, 235, 0.05);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.10);
}
.woocommerce-checkout #payment ul.payment_methods li input.input-radio {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid var(--vp-gray-300);
    border-radius: 50%;
    margin: 0;
    cursor: pointer;
    position: relative;
    transition: border-color var(--vp-dur-fast) var(--vp-ease-out);
}
.woocommerce-checkout #payment ul.payment_methods li input.input-radio:checked {
    border-color: var(--vp-blue-600);
    border-width: 6px;
}
.woocommerce-checkout #payment ul.payment_methods li label {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--vp-ink);
}
.woocommerce-checkout #payment .payment_box {
    grid-column: 1 / -1;
    grid-row: 2;
    margin: 0;
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: var(--vp-radius);
    padding: 12px 16px;
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--vp-gray-500);
}
.woocommerce-checkout #payment .payment_box p { margin: 0; }

/* Place order */
.woocommerce-checkout #payment .form-row.place-order { display: grid; gap: 0; }
.woocommerce-checkout #payment #place_order {
    width: 100%;
    height: 56px;
    background: var(--vp-blue-700);
    color: #fff;
    border: none;
    border-radius: var(--vp-radius-md);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.005em;
    text-transform: none;
    padding: 0;
    box-shadow: var(--vp-shadow-sm);
    transition: background var(--vp-dur-fast) var(--vp-ease-out),
                transform 120ms var(--vp-ease-out),
                box-shadow var(--vp-dur-fast) var(--vp-ease-out);
}
.woocommerce-checkout #payment #place_order:hover {
    background: #1840b5;
    transform: translateY(-1px);
}
.woocommerce-checkout #payment #place_order:active { transform: scale(0.985); }
.woocommerce-checkout #payment #place_order:disabled { opacity: 0.6; transform: none; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout .woocommerce-privacy-policy-text {
    font-size: 12.5px;
    color: var(--vp-gray-400);
    text-align: center;
    margin: 0 0 14px;
    line-height: 1.6;
}
.woocommerce-checkout .woocommerce-privacy-policy-text a { color: var(--vp-blue-600); font-weight: 600; text-decoration: none; }
.woocommerce-checkout .woocommerce-privacy-policy-text a:hover { text-decoration: underline; }

/* Validation errors — soft red ring */
.woocommerce-checkout .woocommerce-invalid input,
.woocommerce-checkout .woocommerce-invalid select,
.woocommerce-checkout .woocommerce-invalid textarea {
    border-color: var(--vp-danger) !important;
    box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.10) !important;
}
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info {
    border-radius: var(--vp-radius-md);
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: var(--vp-surface-2);
    color: var(--vp-gray-600);
    font-size: 14px;
    line-height: 1.6;
    box-shadow: none;
}

/* Checkout responsive */
@media (max-width: 960px) {
    .woocommerce-checkout form.checkout.woocommerce-checkout { grid-template-columns: 1fr; }
    .woocommerce-checkout #customer_details,
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; }
    .woocommerce-checkout #order_review { position: static; }
    .venpick-checkout-intro { margin-bottom: 26px; }
}
@media (max-width: 560px) {
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-shipping-fields,
    .woocommerce-checkout .woocommerce-additional-fields,
    .woocommerce-checkout .venpick-checkout-cardinfo,
    .woocommerce-checkout #order_review { padding: 24px 22px; }
}
@media (prefers-reduced-transparency: reduce) {
    .woocommerce-checkout #order_review,
    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-shipping-fields {
        background: var(--vp-surface) !important;
        border-color: rgba(15, 23, 42, 0.14) !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    .woocommerce-checkout #payment #place_order,
    .woocommerce-checkout #payment ul.payment_methods li,
    .woocommerce-checkout .woocommerce-input-wrapper input,
    .woocommerce-checkout .woocommerce-input-wrapper select,
    .woocommerce-checkout .woocommerce-input-wrapper textarea { transition: none !important; }
}

/* ----------------------------------------------------------
   35g. VENDOR DASHBOARD — Apple-style primary actions
   A distinct "Add Product" nav item in the sidebar plus a
   toolbar button above the performance overview.
   ---------------------------------------------------------- */

/* Toolbar above the overview */
.venpick-dash-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: var(--vp-radius-xl);
    box-shadow: var(--vp-shadow-sm);
    padding: 22px 26px;
    margin-bottom: 26px;
}
.venpick-dash-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--vp-blue-600);
    background: rgba(37, 99, 235, 0.07);
    border: 1px solid rgba(37, 99, 235, 0.14);
    padding: 5px 13px;
    border-radius: var(--vp-radius-pill);
    margin-bottom: 10px;
}
.venpick-dash-toolbar-text h2 {
    font-size: clamp(22px, 2.4vw, 28px);
    font-weight: 800;
    letter-spacing: -0.028em;
    line-height: 1.15;
    margin: 0;
    color: var(--vp-ink);
}

/* Apple primary button */
.venpick-add-product-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    height: 50px;
    padding: 0 22px;
    background: linear-gradient(180deg, var(--vp-blue-500), var(--vp-blue-600));
    color: #fff !important;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.005em;
    border-radius: var(--vp-radius-md);
    box-shadow: var(--vp-shadow-blue);
    text-decoration: none;
    transition: background var(--vp-dur-fast) var(--vp-ease-out),
                transform 120ms var(--vp-ease-out),
                box-shadow var(--vp-dur-fast) var(--vp-ease-out);
}
.venpick-add-product-btn i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.22);
    font-size: 11px;
}
.venpick-add-product-btn:hover {
    background: linear-gradient(180deg, var(--vp-blue-500), var(--vp-blue-700));
    box-shadow: var(--vp-shadow-blue-lg);
    transform: translateY(-1px);
}
.venpick-add-product-btn:active { transform: scale(0.97); }

/* Sidebar "Add Product" primary nav item */
.venpick-page--dashboard .dokan-dash-sidebar li.new_product { margin: 6px 0 4px; }
.venpick-page--dashboard .dokan-dash-sidebar li.new_product a {
    background: linear-gradient(180deg, var(--vp-blue-500), var(--vp-blue-600));
    color: #fff !important;
    border-radius: var(--vp-radius-md);
    box-shadow: var(--vp-shadow-blue);
    transition: background var(--vp-dur-fast) var(--vp-ease-out),
                transform 120ms var(--vp-ease-out),
                box-shadow var(--vp-dur-fast) var(--vp-ease-out);
}
.venpick-page--dashboard .dokan-dash-sidebar li.new_product a i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.22);
    font-size: 11px;
    flex: none;
}
.venpick-page--dashboard .dokan-dash-sidebar li.new_product a:hover,
.venpick-page--dashboard .dokan-dash-sidebar li.new_product.active a {
    background: linear-gradient(180deg, var(--vp-blue-500), var(--vp-blue-700));
    box-shadow: var(--vp-shadow-blue-lg);
    transform: translateY(-1px);
}
.venpick-page--dashboard .dokan-dash-sidebar li.new_product a:active { transform: scale(0.97); }

/* WooCommerce account sidebar "Add Product" link */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--add-product a {
    color: var(--vp-blue-600);
    font-weight: 700;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--add-product a::after {
    content: "\f067";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 11px;
    margin-left: 8px;
    opacity: 0.7;
}

/* Toolbar responsive */
@media (max-width: 640px) {
    .venpick-dash-toolbar { padding: 18px 20px; }
    .venpick-add-product-btn { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
    .venpick-add-product-btn,
    .venpick-page--dashboard .dokan-dash-sidebar li.new_product a { transition: none !important; }
}

/* ----------------------------------------------------------
   35i. DASHBOARD — My Products section on the overview
   ---------------------------------------------------------- */
.venpick-dash-products {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: var(--vp-radius-xl);
    box-shadow: var(--vp-shadow-sm);
    padding: 26px 28px;
    margin-top: 28px;
}
.venpick-dash-products-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}
.venpick-dash-products-head h2 {
    margin: 3px 0 0;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--vp-ink);
}
.venpick-dash-viewall {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--vp-blue-600);
    text-decoration: none;
    padding: 9px 16px;
    border-radius: var(--vp-radius-pill);
    background: var(--vp-blue-50);
    transition: background var(--vp-dur-fast) var(--vp-ease-out),
                color var(--vp-dur-fast) var(--vp-ease-out);
}
.venpick-dash-viewall:hover { background: #dbeafe; color: var(--vp-blue-700); }

.venpick-dash-product-list { display: grid; gap: 10px; }
.venpick-dash-product {
    display: grid;
    grid-template-columns: 56px 1fr auto;
    gap: 16px;
    align-items: center;
    padding: 12px 14px;
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: var(--vp-radius-lg);
    background: var(--vp-surface);
    transition: border-color var(--vp-dur-fast) var(--vp-ease-out),
                box-shadow var(--vp-dur-fast) var(--vp-ease-out);
}
.venpick-dash-product:hover { border-color: rgba(59, 130, 246, 0.35); box-shadow: var(--vp-shadow-sm); }
.venpick-dash-product-thumb {
    width: 56px;
    height: 56px;
    border-radius: var(--vp-radius-md);
    overflow: hidden;
    background: var(--vp-surface-2);
    display: flex;
    align-items: center;
    justify-content: center;
}
.venpick-dash-product-thumb img {
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: var(--vp-radius-md);
    margin: 0;
}
.venpick-dash-product-meta h3 {
    margin: 0 0 6px;
    font-size: 14.5px;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--vp-ink);
}
.venpick-dash-product-sub {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.venpick-dash-product-price {
    font-size: 13.5px;
    font-weight: 800;
    color: var(--vp-blue-600);
}
.venpick-dash-product-status {
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 3px 10px;
    border-radius: var(--vp-radius-pill);
}
.venpick-dash-product-status.vp-in { background: #dcfce7; color: #15803d; }
.venpick-dash-product-status.vp-out { background: #fee2e2; color: #b91c1c; }
.venpick-dash-product-status.vp-publish { background: var(--vp-blue-50); color: var(--vp-blue-600); }
.venpick-dash-product-status.vp-draft { background: var(--vp-surface-2); color: var(--vp-gray-500); }
.venpick-dash-product-status.vp-pending { background: #fef3c7; color: #b45309; }
.venpick-dash-edit-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(180deg, var(--vp-blue-500), var(--vp-blue-600));
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 9px 18px;
    border-radius: var(--vp-radius-pill);
    text-decoration: none;
    box-shadow: var(--vp-shadow-blue);
    transition: transform var(--vp-dur-fast) var(--vp-ease-out),
                box-shadow var(--vp-dur-fast) var(--vp-ease-out);
}
.venpick-dash-edit-btn:hover {
    color: #fff;
    transform: translateY(-1px);
    box-shadow: var(--vp-shadow-blue-lg);
}
.venpick-dash-edit-btn:active { transform: scale(0.97); }
.venpick-dash-products-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 36px 20px;
    text-align: center;
    border: 1px dashed rgba(15, 23, 42, 0.14);
    border-radius: var(--vp-radius-lg);
}
.venpick-dash-products-empty-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--vp-surface-2);
    color: var(--vp-gray-400);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}
.venpick-dash-products-empty p { margin: 0; font-size: 14px; color: var(--vp-gray-500); }
@media (max-width: 560px) {
    .venpick-dash-product { grid-template-columns: 48px 1fr; }
    .venpick-dash-product-thumb { width: 48px; height: 48px; }
    .venpick-dash-product-thumb img { width: 48px; height: 48px; }
    .venpick-dash-edit-btn { grid-column: 2; justify-self: start; }
}
/* ==========================================================================
   35j. Classic cart (shortcode)
   ========================================================================== */
.venpick-page--cart .venpick-page-content .woocommerce {
    display: grid;
    grid-template-columns: 1.3fr 0.85fr;
    gap: 32px;
    align-items: start;
}
.venpick-page--cart .venpick-page-content .woocommerce .woocommerce-notices-wrapper {
    grid-column: 1 / -1;
}
.venpick-page--cart .woocommerce-cart-form {
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: var(--vp-radius-xl);
    box-shadow: var(--vp-shadow-sm);
    padding: 34px 38px;
    margin: 0;
}
.venpick-page--cart table.cart {
    width: 100%;
    border: none;
    margin: 0;
    background: transparent;
}
.venpick-page--cart table.cart thead th {
    border: none;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    padding: 0 0 12px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--vp-gray-500);
    background: transparent;
}
.venpick-page--cart table.cart td {
    border: none;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    padding: 18px 0;
    vertical-align: middle;
    color: var(--vp-gray-600);
}
.venpick-page--cart table.cart .product-thumbnail {
    width: 100px;
    padding-right: 20px;
}
.venpick-page--cart table.cart .product-thumbnail a { display: block; }
.venpick-page--cart table.cart .product-thumbnail img {
    display: block;
    width: 80px !important;
    height: 80px !important;
    max-width: none;
    object-fit: cover;
    border-radius: var(--vp-radius);
    border: 1px solid rgba(15, 23, 42, 0.07);
}
.venpick-page--cart table.cart .product-name a {
    color: var(--vp-ink);
    font-weight: 600;
    font-size: 15.5px;
}
.venpick-page--cart table.cart .product-name a:hover { color: var(--vp-blue-600); }
.venpick-page--cart table.cart .product-name .variation {
    font-size: 13px;
    color: var(--vp-gray-500);
    margin: 4px 0 0;
}
.venpick-page--cart table.cart .product-price,
.venpick-page--cart table.cart .product-subtotal {
    font-size: 15px;
    font-weight: 600;
    color: var(--vp-ink);
}
.venpick-page--cart table.cart .product-quantity input.qty {
    width: 68px;
    height: 44px;
    border: 1px solid rgba(15, 23, 42, 0.14);
    border-radius: var(--vp-radius-md);
    background: #fff;
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    color: var(--vp-ink);
}
.venpick-page--cart table.cart .product-quantity input.qty:focus {
    outline: none;
    border-color: var(--vp-blue-500);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.16);
}
.venpick-page--cart table.cart .product-remove a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    font-size: 17px;
    line-height: 1;
    color: var(--vp-gray-400);
    background: transparent;
    border: none;
    padding: 0;
}
.venpick-page--cart table.cart .product-remove a:hover { color: var(--vp-danger); background: rgba(220, 38, 38, 0.08); }
.venpick-page--cart table.cart td.actions {
    text-align: right;
    border-bottom: none;
    padding-top: 22px;
}
.venpick-page--cart table.cart td.actions::after { content: ""; display: table; clear: both; }
.venpick-page--cart table.cart td.actions button.button {
    height: 46px;
    padding: 0 22px;
    background: var(--vp-surface-2);
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: var(--vp-radius-md);
    color: var(--vp-ink);
    font-size: 14px;
    font-weight: 600;
    box-shadow: none;
    transition: background var(--vp-dur-fast) var(--vp-ease-out), color var(--vp-dur-fast) var(--vp-ease-out);
}
.venpick-page--cart table.cart td.actions button.button:hover { background: var(--vp-ink); color: #fff; }
.venpick-page--cart table.cart td.actions button.button:active { transform: scale(0.97); }
.venpick-page--cart .cart-collaterals { float: none; width: auto; margin: 0; }
.venpick-page--cart .cart-collaterals .cart_totals {
    float: none;
    width: auto;
    background: #ffffff;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
    padding: 20px 22px;
}
.venpick-page--cart .cart_totals h2 {
    margin: 0 0 2px;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0;
    color: #111827;
}
.venpick-page--cart .venpick-item-count {
    margin: 0 0 18px;
    font-size: 13px;
    color: #6B7280;
}
.venpick-page--cart .venpick-receipt-items {
    list-style: none;
    margin: 0 0 16px;
    padding: 0 0 16px;
    border-bottom: 1px dashed #E5E7EB;
}
.venpick-page--cart .venpick-receipt-item {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 8px;
    font-size: 13.5px;
}
.venpick-page--cart .venpick-receipt-item:last-child { margin-bottom: 0; }
.venpick-page--cart .venpick-receipt-qty {
    color: #111827;
    font-weight: 500;
    line-height: 1.45;
}
.venpick-page--cart .venpick-receipt-count { font-weight: 700; color: #374151; }
.venpick-page--cart .venpick-receipt-price {
    flex: none;
    color: #111827;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

/* Cart toast notifications — slide in from the right near the order summary */
.venpick-toast-stack {
    position: fixed;
    top: 104px;
    right: 24px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
}
.venpick-toast {
    pointer-events: auto;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 240px;
    max-width: 320px;
    padding: 13px 16px;
    background: #ffffff;
    border: 1px solid #E5E7EB;
    border-left: 4px solid #0F6E56;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(16, 24, 40, 0.14);
    font-size: 14px;
    font-weight: 500;
    color: #111827;
    animation: venpick-toast-in 0.28s var(--vp-ease-out);
}
.venpick-toast.is-error { border-left-color: #DC2626; }
.venpick-toast.is-error .venpick-toast-icon { color: #DC2626; }
.venpick-toast.is-success .venpick-toast-icon { color: #0F6E56; }
.venpick-toast .venpick-toast-icon { flex: none; }
.venpick-toast.is-leaving {
    opacity: 0;
    transform: translateX(16px);
    transition: opacity 0.25s ease, transform 0.25s ease;
}
@keyframes venpick-toast-in {
    from { opacity: 0; transform: translateX(16px); }
    to   { opacity: 1; transform: translateX(0); }
}
.venpick-page--cart .cart_totals table.venpick-totals-table {
    width: 100%;
    border: none;
    background: transparent;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0 10px;
}
.venpick-page--cart .cart_totals table.venpick-totals-table th,
.venpick-page--cart .cart_totals table.venpick-totals-table td {
    border: none;
    padding: 0;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
    background: transparent;
    vertical-align: top;
}
.venpick-page--cart .cart_totals table.venpick-totals-table th {
    color: #6B7280;
    font-weight: 400;
    text-align: left;
}
.venpick-page--cart .cart_totals table.venpick-totals-table td {
    color: #111827;
    font-weight: 400;
    text-align: right;
}
.venpick-page--cart .cart_totals table.venpick-totals-table .cart-discount th,
.venpick-page--cart .cart_totals table.venpick-totals-table .cart-discount td,
.venpick-page--cart .cart_totals table.venpick-totals-table .cart-discount a {
    color: #0F6E56;
}
.venpick-page--cart .cart_totals table.venpick-totals-table .cart-discount td { font-weight: 500; }
.venpick-page--cart .cart_totals .woocommerce-shipping-totals ul.woocommerce-shipping-methods {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: right;
}
.venpick-page--cart .cart_totals .woocommerce-shipping-totals li { margin-bottom: 6px; }
.venpick-page--cart .cart_totals .woocommerce-shipping-destination {
    margin: 8px 0 0;
    font-size: 13px;
    color: #6B7280;
}
.venpick-page--cart .cart_totals .shipping-calculator-button {
    color: var(--vp-blue-600);
    font-size: 13px;
    font-weight: 600;
}
.venpick-page--cart .cart_totals .shipping-calculator-button:hover { color: var(--vp-blue-700); }
.venpick-page--cart .venpick-coupon {
    display: flex;
    gap: 8px;
    margin: 18px 0;
}
.venpick-page--cart .venpick-coupon input[type="text"] {
    flex: 1;
    min-width: 0;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 400;
    color: #111827;
    background: #ffffff;
    box-shadow: none;
    outline: none;
    transition: border-color var(--vp-dur-fast) var(--vp-ease-out),
                box-shadow var(--vp-dur-fast) var(--vp-ease-out);
}
.venpick-page--cart .venpick-coupon input[type="text"]:focus {
    border-color: #1D4ED8;
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.12);
}
.venpick-page--cart .venpick-coupon button.button {
    flex: none;
    height: 40px;
    padding: 0 16px;
    border: 1px solid #E5E7EB;
    background: #ffffff;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #111827;
    cursor: pointer;
    box-shadow: none;
    transition: background var(--vp-dur-fast) var(--vp-ease-out);
}
.venpick-page--cart .venpick-coupon button.button:hover { background: #F9FAFB; }
.venpick-page--cart .venpick-order-divider {
    border-top: 1px solid #E5E7EB;
    margin: 4px 0 16px;
}
.venpick-page--cart .venpick-order-total {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 18px;
}
.venpick-page--cart .venpick-order-total-label {
    font-weight: 600;
    font-size: 15px;
    color: #111827;
}
.venpick-page--cart .venpick-order-total-value {
    font-size: 24px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: #111827;
}
.venpick-page--cart .venpick-order-total-value strong { font-weight: 700; }
.venpick-page--cart .wc-proceed-to-checkout {
    text-align: center;
    margin: 0;
    padding: 0;
}
.venpick-page--cart .wc-proceed-to-checkout a.checkout-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    height: 46px;
    background: #1D4ED8;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0;
    padding: 0;
    box-shadow: none;
    text-transform: none;
    text-decoration: none;
    line-height: 1;
    transition: background 0.15s ease, transform 120ms var(--vp-ease-out);
}
.venpick-page--cart .wc-proceed-to-checkout a.checkout-button svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}
.venpick-page--cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: #1E40AF;
    transform: translateY(-1px);
    color: #fff;
}
.venpick-page--cart .wc-proceed-to-checkout a.checkout-button:active { transform: scale(0.97); }
.venpick-page--cart .wc-proceed-to-checkout a.checkout-button::after { content: none; }
.venpick-page--cart .cart-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    font-size: 16px;
    color: var(--vp-gray-500);
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: var(--vp-radius-xl);
    box-shadow: var(--vp-shadow-sm);
}
.venpick-page--cart .return-to-shop {
    grid-column: 1 / -1;
    text-align: center;
    margin: 0 0 24px;
}
.venpick-page--cart .return-to-shop .button {
    display: inline-block;
    height: 46px;
    line-height: 46px;
    padding: 0 24px;
    background: var(--vp-ink);
    color: #fff;
    border-radius: var(--vp-radius-md);
    font-size: 14.5px;
    font-weight: 600;
    box-shadow: var(--vp-shadow-sm);
}
.venpick-page--cart .return-to-shop .button:hover { background: var(--vp-blue-700); }
@media (max-width: 900px) {
    .venpick-page--cart .venpick-page-content .woocommerce { grid-template-columns: 1fr; }
    .venpick-page--cart .woocommerce-cart-form,
    .venpick-page--cart .cart_totals { padding: 20px 18px; }
}

/* ----------------------------------------------------------
   57. FLAT BUTTONS — strip 3D depth site-wide
   ---------------------------------------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce ul.products li.product .button,
.woocommerce div.product form.cart .button,
.woocommerce .cart_totals .button,
.woocommerce-checkout #payment #place_order,
.venpick-single-grid .summary form.cart .button,
.venpick-auth-submit,
.venpick-vendor-form-card p.form-row > input[type="submit"],
.venpick-vendor-form-card .form-row input[type="submit"],
.venpick-add-product-btn,
.venpick-dash-edit-btn,
.venpick-page--dashboard .dokan-dash-sidebar li.new_product a,
.venpick-page--cart table.cart td.actions button.button,
.venpick-page--cart .venpick-coupon button.button,
.venpick-page--cart .return-to-shop .button,
#dokan-seller-listing-wrap .dokan-btn-theme.dokan-btn-round,
.dokan-seller-search-form .dokan-btn,
#dokan-store-listing-filter-wrap .dokan-btn,
.venpick-page--dashboard .dokan-btn,
.dokan-vendor-registration .dokan-btn,
.register.dokan-vendor-register .dokan-btn,
.register.dokan-vendor-register button[type="submit"] {
    background-image: none !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Primary blue buttons — solid flat blue, no gradient */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce div.product form.cart .button,
.woocommerce .cart_totals .button,
.woocommerce-checkout #payment #place_order,
.venpick-single-grid .summary form.cart .button,
.venpick-auth-submit,
.venpick-vendor-form-card p.form-row > input[type="submit"],
.venpick-vendor-form-card .form-row input[type="submit"],
.venpick-add-product-btn,
.venpick-page--dashboard .dokan-dash-sidebar li.new_product a,
.dokan-vendor-registration .dokan-btn,
.register.dokan-vendor-register .dokan-btn,
.register.dokan-vendor-register button[type="submit"] {
    background-color: var(--vp-blue-600) !important;
}

/* Hover — flat blue-700, no lift, no glow */
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce div.product form.cart .button:hover,
.woocommerce .cart_totals .button:hover,
.woocommerce-checkout #payment #place_order:hover,
.venpick-single-grid .summary form.cart .button:hover,
.venpick-vendor-form-card p.form-row > input[type="submit"]:hover,
.venpick-vendor-form-card .form-row input[type="submit"]:hover,
.venpick-add-product-btn:hover,
.venpick-page--dashboard .dokan-dash-sidebar li.new_product a:hover,
.venpick-page--dashboard .dokan-dash-sidebar li.new_product.active a,
.dokan-vendor-registration .dokan-btn:hover,
.register.dokan-vendor-register .dokan-btn:hover,
.register.dokan-vendor-register button[type="submit"]:hover {
    background-image: none !important;
    background-color: var(--vp-blue-700) !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Preserve intentional non-blue button colors (still flat) */
.woocommerce ul.products li.product .button { background-color: var(--vp-ink) !important; }
.woocommerce ul.products li.product .button:hover { background-color: #141a2a !important; }
.venpick-page--cart table.cart td.actions button.button { background-color: var(--vp-surface-2) !important; }
.venpick-page--cart table.cart td.actions button.button:hover { background-color: var(--vp-ink) !important; color: #fff !important; }
.venpick-page--cart .venpick-coupon button.button { background-color: #ffffff !important; }
.venpick-page--cart .venpick-coupon button.button:hover { background-color: #F9FAFB !important; }
.venpick-page--cart .return-to-shop .button { background-color: var(--vp-ink) !important; }
.venpick-page--cart .return-to-shop .button:hover { background-color: var(--vp-blue-700) !important; }

/* Remove press-scale active states on flat buttons */
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce ul.products li.product .button:active,
.woocommerce div.product form.cart .button:active,
.venpick-auth-submit:active,
.venpick-vendor-form-card p.form-row > input[type="submit"]:active,
.venpick-vendor-form-card .form-row input[type="submit"]:active,
.venpick-add-product-btn:active,
.venpick-dash-edit-btn:active,
.venpick-page--dashboard .dokan-dash-sidebar li.new_product a:active,
.venpick-page--cart table.cart td.actions button.button:active,
.venpick-page--cart .venpick-coupon button.button:active,
.dokan-seller-search-form .dokan-btn:active,
#dokan-store-listing-filter-wrap .dokan-btn:active,
.venpick-page--dashboard .dokan-btn:active {
    transform: none !important;
}

/* ----------------------------------------------------------
   58. SAGE-SLATE PALETTE (site-wide)
   Primary #3C5A5A · Secondary #7A9E9E · Accent #C0704D ·
   Neutral #EDEFEE bg / #22282B text
   ---------------------------------------------------------- */
