/* ============================================================
   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;

    /* Muted accent - clinical, desaturated */
    --vp-teal-500: #4E7A77;
    --vp-teal-50:  #EDF3F1;

    /* 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: #F2F7FA;

    /* Semantic */
    --vp-success: #059669;
    --vp-warning: #d97706;
    --vp-danger:  #dc2626;
    --vp-star:    #C0704D;

    /* Surfaces - warm paper tones, no pure white */
    --vp-bg:        #F1F0EC;
    --vp-surface:   #F2F7FA;
    --vp-surface-2: #E7E6E2;

    /* Radii - restrained, editorial */
    --vp-radius-xs: 3px;
    --vp-radius-sm: 4px;
    --vp-radius:   6px;
    --vp-radius-md: 6px;
    --vp-radius-lg: 8px;
    --vp-radius-xl: 10px;
    --vp-radius-2xl: 12px;
    --vp-radius-pill: 999px;

    /* Shadows - none. Hairline borders carry hierarchy instead. */
    --vp-shadow-xs: none;
    --vp-shadow-sm: none;
    --vp-shadow:    none;
    --vp-shadow-md: none;
    --vp-shadow-lg: none;
    --vp-shadow-xl: none;
    --vp-shadow-blue: none;
    --vp-shadow-blue-lg: none;

    /* Glass materials - solid surfaces, no backdrop blur */
    --vp-glass-bg:      var(--vp-surface);
    --vp-glass-bg-strong: var(--vp-surface);
    --vp-glass-border:  rgba(15, 23, 42, 0.08);
    --vp-glass-blur:    0px;
    --vp-glass-saturate: 100%;

    /* Typography */
    --vp-font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
    --vp-font-primary: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'SF Pro Display', system-ui, sans-serif;
    --vp-font-body:    'Plus Jakarta Sans', -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 i.fa-solid {
    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: none;
    backdrop-filter: none;
    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: none;
    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);
}
.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: var(--vp-gray-100); }
.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 i.fa-solid {
    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 i.fa-solid { 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: none;
    backdrop-filter: none;
    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;
}
.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: 120px 0 104px;
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
.vp-hero .container {
    position: relative;
    z-index: 1;
}
.vp-hero-content {
    max-width: 760px;
}
.vp-hero-kicker {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 28px;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    color: rgba(255, 255, 255, 0.62);
}
.vp-hero-kicker-line {
    display: inline-block;
    width: 44px;
    height: 1px;
    background: rgba(255, 255, 255, 0.34);
}
.vp-hero h1 {
    font-family: var(--vp-font-display);
    font-weight: 300;
    font-size: clamp(44px, 7.5vw, 92px);
    line-height: 0.96;
    letter-spacing: -0.03em;
    color: #fff;
    margin: 0 0 28px;
}
.vp-maskline {
    display: block;
    overflow: hidden;
    padding-bottom: 0.06em;
}
.vp-maskline-inner {
    display: block;
}
.vp-maskline:nth-child(1) .vp-maskline-inner,
.vp-maskline:nth-child(2) .vp-maskline-inner { animation: none; }
.vp-maskline-accent {
    font-style: italic;
    font-weight: 400;
    color: var(--vp-blue-200);
}
@keyframes vp-mask-up {
    from { transform: translateY(112%); }
    to   { transform: translateY(0); }
}
@keyframes vp-fade-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}
.vp-hero-sub {
    font-size: clamp(17px, 1.6vw, 20px);
    color: rgba(255, 255, 255, 0.7);
    margin: 0 0 40px;
    line-height: 1.6;
    max-width: 560px;
    font-weight: 400;
}
.vp-hero-actions {
    display: flex;
    align-items: center;
    gap: 34px;
    flex-wrap: wrap;
}

/* Depth layers: noise + warm glow + faded decorative character */
.vp-hero-noise {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.045;
    mix-blend-mode: overlay;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.vp-hero-glow {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: transparent;
}
.vp-hero-deco {
    position: absolute;
    right: -3%;
    bottom: -12%;
    z-index: 0;
    pointer-events: none;
    font-family: var(--vp-font-display);
    font-style: italic;
    font-weight: 300;
    font-size: clamp(22rem, 42vw, 40rem);
    line-height: 1;
    letter-spacing: -0.05em;
    color: rgba(255, 255, 255, 0.05);
    user-select: none;
}
.vp-hero-hairline {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: rgba(255, 255, 255, 0.10);
}

/* Text links */
.vp-textlink {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    font-family: var(--vp-font-primary);
    text-decoration: none;
    padding-bottom: 4px;
    letter-spacing: -0.01em;
}
.vp-textlink-label {
    position: relative;
    z-index: 1;
}
.vp-textlink-underline {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: rgba(255, 255, 255, 0.30);
}
.vp-textlink:hover { color: #fff; }

/* Button arrow */
.vp-btn-arrow i.fa-solid {
    flex-shrink: 0;
}
.vp-btn-arrow:hover i.fa-solid {
}

/* Hero stat row - reinforces trust with premium restraint */
.vp-hero-stats {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: 52px;
}
.vp-hero-stat strong {
    display: block;
    font-size: 24px;
    font-weight: 600;
    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: 36px; }
    .vp-hero-stat strong { font-size: 20px; }
}
@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;
}
.vp-btn-primary:active { transform: scale(0.97); }

.vp-btn-white {
    background: var(--vp-surface);
    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);
}
.vp-btn-outline {
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.22);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
.vp-btn-outline:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.4);
    color: #fff;
}
.vp-btn-sm { padding: 9px 18px; font-size: 13px; }
.vp-btn-lg { padding: 16px 34px; font-size: 16px; }

/* 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:
        var(--vp-navy-900);
    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); }

/* Editorial lead section header - left aligned, display serif, anchored by a hairline */
.vp-section-header--lead {
    text-align: left;
    max-width: 720px;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 48px;
}
.vp-section-header--lead::before {
    content: '';
    display: block;
    width: 44px;
    height: 1px;
    background: var(--vp-blue-600);
    margin-bottom: 26px;
}
.vp-section-header--lead h2 {
    font-family: var(--vp-font-display);
    font-weight: 300;
    font-size: clamp(34px, 4.2vw, 52px);
    letter-spacing: -0.025em;
    line-height: 1.02;
    margin-bottom: 16px;
}
.vp-section-header--lead h2 em,
.vp-section-header--lead h2 i {
    font-style: italic;
    font-weight: 400;
    color: var(--vp-blue-700);
}
.vp-section-header--lead p {
    font-size: 17px;
    color: var(--vp-gray-500);
    line-height: 1.65;
}

/* ----------------------------------------------------------
   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: none;
    backdrop-filter: none;
    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 {
}
.vp-feature-icon {
    width: 44px;
    height: 44px;
    border-radius: var(--vp-radius);
    background: var(--vp-blue-50);
    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
   ---------------------------------------------------------- */
/* ----------------------------------------------------------
   10. CATEGORY INDEX - editorial rows, not identical tiles
   ---------------------------------------------------------- */
.vp-categories-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-top: 1px solid rgba(15, 23, 42, 0.10);
}
.vp-category-card {
    display: flex;
    align-items: baseline;
    gap: 18px;
    padding: 26px 8px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.10);
    border-right: 1px solid rgba(15, 23, 42, 0.10);
    text-decoration: none;
    color: var(--vp-ink);
    transition: background-color var(--vp-dur) var(--vp-ease-out),
                padding-left var(--vp-dur) var(--vp-ease-out);
}
.vp-category-card:nth-child(even) {
    border-right: none;
    padding-left: 34px;
}
.vp-category-index {
    font-family: var(--vp-font-display);
    font-style: italic;
    font-weight: 300;
    font-size: 15px;
    color: var(--vp-gray-400);
    flex-shrink: 0;
    min-width: 30px;
    transition: color var(--vp-dur) var(--vp-ease-out);
}
.vp-category-name {
    font-family: var(--vp-font-display);
    font-weight: 300;
    font-size: clamp(22px, 2.6vw, 30px);
    letter-spacing: -0.02em;
    line-height: 1.05;
    flex: 1;
    transition: color var(--vp-dur) var(--vp-ease-out);
}
.vp-category-meta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: var(--vp-gray-500);
}
.vp-category-meta i.fa-solid {
    flex-shrink: 0;
}
.vp-category-card:hover {
    background: var(--vp-blue-50);
    color: var(--vp-ink);
}
.vp-category-card:hover .vp-category-name {
    color: var(--vp-blue-700);
}
.vp-category-card:hover .vp-category-index {
    color: var(--vp-blue-600);
}
.vp-category-card:hover .vp-category-meta i.fa-solid {
}
@media (max-width: 768px) {
    .vp-categories-grid { grid-template-columns: 1fr; }
    .vp-category-card:nth-child(even) { border-right: none; padding-left: 8px; }
}

/* ----------------------------------------------------------
   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 {
    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 {}
.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 {
}

/* ----------------------------------------------------------
   12. CTA BANNER - premium gradient with depth
   ---------------------------------------------------------- */
.vp-cta-banner {
    background:
        var(--vp-blue-700);
    border-radius: var(--vp-radius-2xl);
    padding: 56px 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
    color: #fff;
    box-shadow: none;
    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 {
    border-color: rgba(37, 99, 235, 0.22);
    color: inherit;
}
.vp-vendor-avatar {
    width: 60px;
    height: 60px;
    border-radius: var(--vp-radius);
    background: var(--vp-blue-50);
    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: var(--vp-teal-500);
    padding: 3px 10px;
    border-radius: var(--vp-radius-pill);
    font-size: 11px;
    font-weight: 700;
    margin-top: 8px;
    letter-spacing: -0.005em;
}

/* ----------------------------------------------------------
   14. MOMENT CTA - destination sign-in section
   ---------------------------------------------------------- */
.vp-moment-cta {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background:
        var(--vp-navy-900);
    color: #fff;
    padding: 120px 0;
}
.vp-moment-cta .container { position: relative; z-index: 1; }
.vp-moment-cta-inner {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}
.vp-moment-cta-noise {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.05;
    mix-blend-mode: overlay;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.vp-moment-cta-deco {
    position: absolute;
    right: 2%;
    bottom: -20%;
    z-index: 0;
    pointer-events: none;
    font-family: var(--vp-font-display);
    font-style: italic;
    font-weight: 300;
    font-size: clamp(18rem, 34vw, 32rem);
    line-height: 1;
    letter-spacing: -0.05em;
    color: rgba(255, 255, 255, 0.04);
    user-select: none;
}
.vp-moment-cta h2 {
    font-family: var(--vp-font-display);
    font-weight: 300;
    font-size: clamp(40px, 6.4vw, 76px);
    line-height: 0.98;
    letter-spacing: -0.03em;
    color: #fff;
    margin: 0 0 24px;
}
.vp-moment-cta h2 .vp-maskline-accent { color: var(--vp-blue-200); }
.vp-moment-cta p {
    font-size: 18px;
    color: rgba(255, 255, 255, 0.7);
    max-width: 560px;
    margin: 0 auto 40px;
    line-height: 1.6;
}
.vp-moment-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
}
.vp-moment-cta .vp-signin-alt {
    margin-top: 0;
    color: rgba(255, 255, 255, 0.62);
}
.vp-moment-cta .vp-signin-alt a {
    color: var(--vp-blue-200);
    border-bottom: 1px solid rgba(148, 180, 180, 0.4);
    text-decoration: none;
    transition: border-color var(--vp-dur) var(--vp-ease-out);
}
.vp-moment-cta .vp-signin-alt a:hover {
    border-bottom-color: var(--vp-blue-200);
}
.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 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 6px;
    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 .footer-tagline {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--vp-blue-300);
    margin: 0 0 12px;
}
.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;
}
.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); }
.footer-disclaimer {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding: 16px 0 28px;
    font-size: 12.5px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.55);
}
.footer-disclaimer p { margin: 0; max-width: 900px; }

/* 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: none;
    backdrop-filter: none;
    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;
}
.vp-back-to-top:active { transform: scale(0.94); }

/* ----------------------------------------------------------
   17. PAGE HEADERS
   ---------------------------------------------------------- */
.woocommerce .page-header,
.page-header {
    background:
        var(--vp-navy-900);
    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: 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: var(--vp-blue-700);
    color: #fff;
}

.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: 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: var(--vp-blue-700);
    color: #fff;
}
.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: var(--vp-surface);
    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: var(--vp-navy-900);
    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: var(--vp-surface);
    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: var(--vp-navy-900);
    color: #fff;
    box-shadow: var(--vp-shadow-lg);
}
.venpick-auth-brand::before,
.venpick-auth-brand::after {
    content: none;
    display: none;
}
.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: var(--vp-surface);
    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: 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: var(--vp-blue-700);
    color: #fff;
}
.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: var(--vp-blue-600);
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce #respond input#submit.alt:hover {
    background: 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: 1px solid var(--vp-gray-300);
    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: var(--vp-surface);
    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 {}
.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: var(--vp-surface);
    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: var(--vp-surface);
    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:
        var(--vp-navy-900);
    border-radius: var(--vp-radius-2xl);
    padding: 88px 60px;
    margin: 40px 0;
    color: #fff;
    position: relative;
    overflow: hidden;
    box-shadow: none;
}
.venpick-sell-hero::before {
    content: '';
    position: absolute;
    top: -50%; right: -10%;
    width: 500px; height: 500px;
    background: transparent;
    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 {}
.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(2, 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);
}
.venpick-sell-benefit-icon {
    width: 56px; height: 56px;
    border-radius: var(--vp-radius);
    background: var(--vp-blue-50);
    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 {}
.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: 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:
        var(--vp-surface-2);
    border: 1px solid rgba(15, 23, 42, 0.06);
    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: var(--vp-surface);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.14);
}

/* Contact Form 7 output inside the contact block */
.venpick-contact-form .wpcf7-form p { margin: 0 0 16px; }
.venpick-contact-form .wpcf7-form label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 6px; color: var(--vp-gray-700); }
.venpick-contact-form .wpcf7-form-control-wrap { display: block; }
.venpick-contact-form .wpcf7-form-control.wpcf7-text,
.venpick-contact-form .wpcf7-form-control.wpcf7-email,
.venpick-contact-form .wpcf7-form-control.wpcf7-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;
}
.venpick-contact-form .wpcf7-form-control.wpcf7-text:focus,
.venpick-contact-form .wpcf7-form-control.wpcf7-email:focus,
.venpick-contact-form .wpcf7-form-control.wpcf7-textarea:focus {
    outline: none; border-color: var(--vp-blue-400); background: var(--vp-surface);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.14);
}
.venpick-contact-form .wpcf7-submit {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 13px 30px; border: none; border-radius: 999px;
    background: var(--vp-blue-600); color: #fff;
    font-size: 15px; font-weight: 700; cursor: pointer;
    transition: background var(--vp-dur-fast) var(--vp-ease-out), transform var(--vp-dur-fast) var(--vp-ease-out), opacity var(--vp-dur-fast) var(--vp-ease-out);
    width: 100%;
}
.venpick-contact-form .wpcf7-submit:hover { background: var(--vp-blue-700); }
.venpick-contact-form .wpcf7-submit:active { transform: scale(0.97); }
.venpick-contact-form .wpcf7-not-valid-tip { color: var(--vp-danger); font-size: 13px; margin-top: 6px; }
.venpick-contact-form .wpcf7-response-output { margin: 16px 0 0; padding: 12px 16px; border-radius: var(--vp-radius); font-size: 14px; }
.venpick-contact-form .wpcf7-form.sent .wpcf7-response-output { border: 1px solid rgba(16, 185, 129, 0.30); background: rgba(16, 185, 129, 0.08); color: #047857; }

/* ----------------------------------------------------------
   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: none;
    backdrop-filter: none;
    transition: transform var(--vp-dur) var(--vp-ease-spring), background var(--vp-dur) var(--vp-ease-out);
}
.vp-testimonial-card:hover {}
.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: var(--vp-surface);
    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: 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: var(--vp-blue-700) !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: 1200px) {
    .footer-main {
        grid-template-columns: repeat(4, 1fr);
        gap: 32px;
    }
    .footer-brand {
        grid-column: 1 / -1;
        padding-bottom: 8px;
    }
    .footer-brand p {
        max-width: 520px;
    }
}
@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; }
    .vp-section-header--lead h2 { font-size: clamp(30px, 6vw, 40px); }
    .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-moment-cta { padding: 72px 0; }
    .vp-moment-cta h2 { font-size: clamp(34px, 9vw, 52px); }
    .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: clamp(36px, 12vw, 52px); }
    .vp-category-card { padding: 22px 8px; gap: 14px; }
    .vp-category-name { font-size: 24px; }
    .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: 64px 0 56px; }
    .vp-hero-actions { gap: 24px; }
    .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:
        var(--vp-navy-900);
    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: none;
}
.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,
.vp-orb-1,
.vp-orb-2 {
    display: none;
}
.venpick-vendor-card-mock {
    position: relative;
    width: 300px;
    background: var(--vp-surface);
    border: 1px solid var(--vp-glass-border);
    border-radius: var(--vp-radius-lg);
    padding: 24px;
    box-shadow: none;
    color: var(--vp-ink);
    transform: rotate(-2deg);
}
.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: 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: var(--vp-teal-500);
    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: var(--vp-blue-50);
    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 {}
.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(78, 122, 119, 0.18);
    border-radius: var(--vp-radius);
    padding: 16px 18px;
}
.venpick-vendor-note i { color: var(--vp-teal-500); 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: none;
    backdrop-filter: none;
    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: 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: var(--vp-blue-700);
}
.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; }
    .vp-hero-kicker,
    .vp-hero-sub,
    .vp-hero-actions,
    .vp-hero-stats { animation: none !important; opacity: 1 !important; }
    .vp-maskline-inner { animation: none !important; transform: none !important; }
    .vp-hero-deco,
    .vp-moment-cta-deco { opacity: 0.05 !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:
        var(--vp-navy-900);
    color: #fff;
    padding: 88px 0 72px;
    overflow: hidden;
}
.venpick-page-hero-glow {
    position: absolute;
    inset: 0;
    background: transparent;
    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: 1px solid var(--vp-gray-300);
    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: var(--vp-blue-500);
    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 {
    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: var(--vp-navy-900);
}
#dokan-seller-listing-wrap .featured-label {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #b45309;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 5px 10px;
    border-radius: 999px;
    box-shadow: none;
}
#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);
}
#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 {}
.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: none;
    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; }
.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 i.fa-solid,
.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: var(--vp-blue-600);
    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; }

.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 DETAILS - Burberry editorial accordion
   Full-width sections with hairlines; only one open at a time.
   ---------------------------------------------------------- */
.venpick-accordion {
    margin-top: 56px !important;
    border-top: 1px solid rgba(15, 23, 42, 0.1);
}
.venpick-accordion-item {
    border-bottom: 1px solid rgba(15, 23, 42, 0.1);
}
.venpick-accordion-title {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 2px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: var(--vp-font-primary);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--vp-ink);
    transition: color var(--vp-dur-fast) var(--vp-ease-out);
}
.venpick-accordion-title:hover {
    color: var(--vp-blue-700);
}
.venpick-accordion-icon {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    color: var(--vp-gray-400);
    transition: transform 300ms var(--vp-ease-out), color var(--vp-dur-fast) var(--vp-ease-out);
}
.venpick-accordion-icon i { font-size: 13px; }
.venpick-accordion-item.is-open .venpick-accordion-icon {
    transform: rotate(180deg);
    color: var(--vp-blue-600);
}
.venpick-accordion-panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 420ms var(--vp-ease-out);
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none;
    max-width: none;
}
.venpick-accordion-item.is-open .venpick-accordion-panel {
    grid-template-rows: 1fr;
}
.venpick-accordion-panel-inner {
    overflow: hidden;
    min-height: 0;
    padding: 0 0 30px;
}
.venpick-accordion-panel-inner .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-accordion-panel-inner .venpick-description-prose h3 {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.015em;
    margin: 28px 0 10px;
    color: var(--vp-ink);
}
.venpick-accordion-panel-inner .venpick-description-prose ul { padding-left: 20px; color: var(--vp-gray-600); margin: 0 0 18px; }
.venpick-accordion-panel-inner .venpick-description-prose li { margin-bottom: 8px; }
.venpick-accordion-panel-inner .venpick-description-prose li::marker { color: var(--vp-blue-400); }
@media (prefers-reduced-motion: reduce) {
    .venpick-accordion-panel { transition: 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: var(--vp-blue-600);
    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: var(--vp-star);
    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 i.fa-solid { transition: color 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 i.fa-solid,
#review_form .venpick-star-picker-stars label:hover ~ label i.fa-solid,
#review_form .venpick-star-picker-stars input:checked ~ label i.fa-solid { color: 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: var(--vp-surface);
    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: var(--vp-surface);
    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;
}
.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: 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: var(--vp-blue-700);
}
.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: 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: var(--vp-blue-700);
}
.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: 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;
}
.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: var(--vp-surface);
    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: var(--vp-surface);
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    box-shadow: none;
    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: var(--vp-surface);
    border: 1px solid #E5E7EB;
    border-left: 1px solid var(--vp-gray-300);
    border-radius: 10px;
    box-shadow: none;
    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: var(--vp-surface);
    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: var(--vp-surface);
    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;
    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;
}

/* 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
   ---------------------------------------------------------- */

/* ----------------------------------------------------------
   59. COOKIE CONSENT BANNER
   ---------------------------------------------------------- */
.vp-cookie-banner {
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: 16px;
    z-index: 9999;
    max-width: 460px;
    margin: 0 auto;
    background: var(--vp-ink);
    color: #fff;
    border-radius: 16px;
    padding: 18px 20px;
    box-shadow: none;
    transform: translateY(24px);
    opacity: 0;
    transition: opacity .3s ease, transform .3s ease;
}
.vp-cookie-banner--show {
    opacity: 1;
    transform: translateY(0);
}
.vp-cookie-banner-inner p {
    font-size: 13px;
    line-height: 1.6;
    color: rgba(255, 255, 255, .85);
    margin: 0 0 14px;
}
.vp-cookie-banner-inner a {
    color: #fff;
    text-decoration: underline;
}
.vp-cookie-banner-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.vp-cookie-banner-actions .vp-btn {
    margin: 0;
    border-radius: 10px;
}
.vp-cookie-decline {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .35);
    color: #fff;
}
.vp-cookie-decline:hover {
    background: rgba(255, 255, 255, .1);
}

/* ----------------------------------------------------------
   60. STICKY MOBILE CTA
   ---------------------------------------------------------- */
.vp-mobile-cta {
    display: none;
}
@media (max-width: 768px) {
    .vp-mobile-cta {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 9000;
        display: flex;
        padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
        gap: 10px;
        background: rgba(237, 239, 238, .92);
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
        border-top: 1px solid var(--vp-gray-200);
        box-shadow: none;
    }
    .vp-mobile-cta a {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        flex: 1;
        height: 46px;
        border-radius: 12px;
        font-size: 14px;
        font-weight: 600;
        text-decoration: none;
        transition: opacity .2s ease;
    }
    .vp-mobile-cta a:active {
        opacity: .85;
    }
    .vp-mobile-cta-primary {
        background: var(--vp-navy-900);
        color: #fff;
    }
    .vp-mobile-cta-secondary {
        background: var(--vp-surface);
        color: var(--vp-ink);
        border: 1px solid var(--vp-gray-300);
    }
    body {
        padding-bottom: 72px;
    }
    .vp-back-to-top {
        bottom: 84px;
    }
}

/* ----------------------------------------------------------
   61. 404 PAGE ENHANCEMENTS
   ---------------------------------------------------------- */
.venpick-404-search {
    max-width: 420px;
    margin: 26px auto 0;
}
.venpick-404-search form {
    display: flex;
    gap: 8px;
}
.venpick-404-search input[type="search"] {
    flex: 1;
    min-width: 0;
    height: 46px;
    padding: 0 16px;
    border: 1px solid var(--vp-gray-300);
    border-radius: 12px;
    background: var(--vp-surface);
    color: var(--vp-ink);
    font: inherit;
}
.venpick-404-search input[type="search"]:focus {
    outline: none;
    border-color: var(--vp-navy-900);
    box-shadow: 0 0 0 3px rgba(60, 90, 90, .15);
}
.venpick-404-search .vp-btn {
    height: 46px;
    margin: 0;
    border-radius: 12px;
}

/* ----------------------------------------------------------
   62. THANK YOU / ORDER RECEIVED
   ---------------------------------------------------------- */
.venpick-thankyou {
    max-width: 640px;
    margin: 0 auto;
    padding: 40px 16px 64px;
    text-align: center;
}
.venpick-thankyou-icon {
    width: 88px;
    height: 88px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(60, 90, 90, .12);
    color: var(--vp-navy-900);
}
.venpick-thankyou .woocommerce-thankyou-order-received {
    font-size: 26px;
    font-weight: 700;
    color: var(--vp-ink);
    line-height: 1.3;
    margin: 0 0 8px;
}
.venpick-thankyou-overview {
    list-style: none;
    margin: 28px 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 12px;
    background: var(--vp-surface);
    border: 1px solid var(--vp-gray-200);
    border-radius: 16px;
    padding: 20px;
    box-shadow: none;
}
.venpick-thankyou-overview li {
    margin: 0;
    padding: 0;
    border: 0;
    text-transform: none;
    font-size: 13px;
    color: var(--vp-gray-600);
}
.venpick-thankyou-overview li strong {
    display: block;
    margin-top: 4px;
    font-size: 15px;
    font-weight: 700;
    color: var(--vp-ink);
}
.venpick-thankyou-panel {
    margin-top: 24px;
    text-align: left;
    background: var(--vp-surface);
    border: 1px solid var(--vp-gray-200);
    border-radius: 16px;
    padding: 24px;
    box-shadow: none;
}
.venpick-thankyou-panel h2,
.venpick-thankyou-panel h3 {
    font-size: 18px;
    color: var(--vp-ink);
}
.venpick-thankyou-panel table.shop_table {
    border: 0;
}
.venpick-thankyou-panel table.shop_table th,
.venpick-thankyou-panel table.shop_table td {
    border-color: var(--vp-gray-200);
}
.venpick-thankyou-actions {
    margin-top: 24px;
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}
.venpick-thankyou-actions .vp-btn {
    margin: 0;
    border-radius: 12px;
}
@media (max-width: 480px) {
    .venpick-thankyou {
        padding: 24px 12px 48px;
    }
    .venpick-thankyou .woocommerce-thankyou-order-received {
        font-size: 22px;
    }
}

/* ----------------------------------------------------------
   64. PROFESSIONAL ACCESS GATE
       Premium curtain reveal (EU professional-only consent)
   ---------------------------------------------------------- */
.vp-access-gate {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    overflow: hidden;
    background: rgba(11, 24, 21, 0);
    transition: background 700ms var(--vp-ease-out);
    --gate-ink: #22282B;
    --gate-deep: #1B2E2B;
    --gate-teal: #26413C;
    --gate-teal-soft: #5C7D76;
    --gate-cream: var(--vp-surface);
    --gate-line: #DED8CA;
    --gate-gold: #A98F5C;
    --gate-gold-soft: #C2A877;
    --gate-gold-hair: #E3D3A8;
}
@media (min-width: 640px) {
    .vp-access-gate {
        align-items: center;
    }
}
.vp-access-gate[hidden] {
    display: none;
}
.vp-access-gate.vp-access-gate--show {
    pointer-events: auto;
    background: rgba(11, 24, 21, 0.68);
}

/* ---- velvet curtain panels ---- */
.vp-curtain-panel {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 52%;
    z-index: 2;
    opacity: 0;
    background:
        repeating-linear-gradient(90deg,
            rgba(0, 0, 0, 0.16) 0px, rgba(0, 0, 0, 0.16) 3px,
            rgba(255, 255, 255, 0.05) 3px, rgba(255, 255, 255, 0.05) 6px,
            transparent 6px, transparent 22px),
        linear-gradient(120deg, #2A4742 0%, #213B36 45%, #182F2B 100%);
    box-shadow: inset -30px 0 60px rgba(0, 0, 0, 0.4), inset 30px 0 60px rgba(0, 0, 0, 0.25);
}
.vp-curtain-panel.left { left: 0; transform-origin: left center; }
.vp-curtain-panel.right { right: 0; transform-origin: right center; }
.vp-curtain-panel::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 90%, rgba(201, 172, 113, 0.55) 100%);
}
.vp-curtain-panel.left::after { background: linear-gradient(270deg, transparent 90%, rgba(201, 172, 113, 0.55) 100%); }
.vp-curtain-panel.left::before,
.vp-curtain-panel.right::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 3px;
    background: repeating-linear-gradient(180deg, var(--gate-gold-hair) 0px, var(--gate-gold-hair) 5px, transparent 5px, transparent 11px);
    opacity: 0.8;
}
.vp-curtain-panel.left::before { right: 0; }
.vp-curtain-panel.right::before { left: 0; }
.vp-access-gate--show .vp-curtain-panel.left { animation: vpCurtainLeft 1300ms cubic-bezier(.76, 0, .24, 1) 1200ms backwards; }
.vp-access-gate--show .vp-curtain-panel.right { animation: vpCurtainRight 1300ms cubic-bezier(.76, 0, .24, 1) 1200ms backwards; }
@keyframes vpCurtainLeft {
    0% { opacity: 1; transform: translateX(0); }
    100% { opacity: 1; transform: translateX(-104%); }
}
@keyframes vpCurtainRight {
    0% { opacity: 1; transform: translateX(0); }
    100% { opacity: 1; transform: translateX(104%); }
}

/* single soft bloom of light - restrained, premium */
.vp-bloom {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 10px;
    height: 10px;
    transform: translate(-50%, -50%) scale(0);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(228, 211, 164, 0.9) 0%, rgba(228, 211, 164, 0) 70%);
    z-index: 1;
    opacity: 0;
    filter: blur(2px);
}
.vp-access-gate--show .vp-bloom {
    animation: vpBloomOpen 1100ms ease-out 1750ms forwards;
}
@keyframes vpBloomOpen {
    0% { opacity: 0; transform: translate(-50%, -50%) scale(0); }
    35% { opacity: 0.8; transform: translate(-50%, -50%) scale(18); }
    100% { opacity: 0; transform: translate(-50%, -50%) scale(34); }
}

/* ---- modal ---- */
.vp-access-modal-wrap {
    position: relative;
    z-index: 4;
    width: 100%;
    display: flex;
    justify-content: center;
}
.vp-access-modal {
    width: 100%;
    max-width: 420px;
    background: var(--gate-cream);
    color: var(--gate-ink);
    border-radius: 16px;
    padding: 36px 28px 30px;
    position: relative;
    text-align: left;
    opacity: 0;
    transform: scale(0.94) translateY(10px);
    box-shadow:
        0 -2px 0 rgba(201, 172, 113, 0.5) inset,
        0 20px 60px rgba(0, 0, 0, 0.45);
}
.vp-access-gate--show .vp-access-modal {
    animation: vpModalIn 1000ms cubic-bezier(.19, 1, .22, 1) 2150ms forwards,
               vpEdgeBreath 2200ms ease 3800ms forwards;
}
@keyframes vpModalIn {
    0% { opacity: 0; transform: scale(0.94) translateY(10px); }
    100% { opacity: 1; transform: scale(1) translateY(0); }
}
@keyframes vpEdgeBreath {
    0% { box-shadow: 0 -2px 0 rgba(201, 172, 113, 0.5) inset, 0 20px 60px rgba(0, 0, 0, 0.45); }
    40% { box-shadow: 0 -2px 0 rgba(228, 211, 164, 0.95) inset, 0 20px 60px rgba(0, 0, 0, 0.45), 0 0 28px rgba(201, 172, 113, 0.28); }
    100% { box-shadow: 0 -2px 0 rgba(201, 172, 113, 0.5) inset, 0 20px 60px rgba(0, 0, 0, 0.45); }
}

.vp-access-modal h2 {
    font-family: var(--vp-font-display);
    font-size: 1.7rem;
    font-weight: 400;
    letter-spacing: 0.01em;
    margin: 0 0 8px;
    color: var(--gate-deep);
    opacity: 0;
    transform: translateY(8px);
    position: relative;
    background-image: linear-gradient(100deg,
        var(--gate-deep) 40%,
        var(--gate-gold-soft) 50%,
        var(--gate-deep) 60%);
    background-size: 300% 100%;
    background-position: 200% 0;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.vp-access-modal h3 {
    margin: 0 0 16px;
    font-size: 1rem;
    font-weight: 600;
    color: var(--gate-ink);
    opacity: 0;
    transform: translateY(8px);
}
.vp-access-modal p {
    font-size: 0.86rem;
    line-height: 1.6;
    color: var(--vp-gray-600);
    margin: 0 0 22px;
    opacity: 0;
    transform: translateY(8px);
}
.vp-access-hairline {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gate-line), transparent);
    margin: 0 0 22px;
    opacity: 0;
}
.vp-access-mark {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--gate-deep);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    position: relative;
    opacity: 0;
    transform: scale(0.5);
    border: 1px solid var(--gate-gold-hair);
}
.vp-access-gate--show .vp-access-mark {
    animation: vpMarkIn 700ms cubic-bezier(.34, 1.4, .4, 1) 2750ms forwards;
}
@keyframes vpMarkIn {
    to { opacity: 1; transform: scale(1); }
}
.vp-access-mark svg {
    width: 18px;
    height: 18px;
    stroke: var(--gate-gold-soft);
}

.vp-access-check-row {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    background: var(--vp-blue-50);
    border: 1px solid var(--vp-blue-100);
    border-radius: 8px;
    padding: 13px 14px;
    margin-bottom: 18px;
    font-size: 0.82rem;
    line-height: 1.4;
    cursor: pointer;
    opacity: 0;
    transform: translateY(8px);
}
.vp-access-check-row input[type="checkbox"] {
    flex: 0 0 auto;
    margin-top: 2px;
    width: 18px;
    height: 18px;
    accent-color: var(--gate-deep);
}
.vp-access-check-row span {
    font-size: 12.5px;
    line-height: 1.55;
    color: var(--vp-gray-700);
}
.vp-access-enter {
    width: 100%;
    background: var(--gate-deep);
    color: var(--gate-cream);
    border: 1px solid var(--gate-gold);
    padding: 14px;
    border-radius: 8px;
    font-size: 0.92rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    cursor: pointer;
    opacity: 0;
    transform: translateY(8px);
    transition: background var(--vp-dur-fast) var(--vp-ease-out);
}
.vp-access-enter:hover:not(:disabled) {
    background: var(--gate-teal);
    color: var(--gate-cream);
}
.vp-access-enter:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.vp-access-decline {
    display: block;
    width: 100%;
    text-align: center;
    margin-top: 16px;
    padding: 0;
    border: none;
    background: none;
    font-size: 0.8rem;
    color: var(--gate-teal-soft);
    text-decoration: underline;
    cursor: pointer;
    opacity: 0;
    transform: translateY(8px);
    font-family: var(--vp-font-body);
}
.vp-access-decline:hover {
    color: var(--gate-teal);
}

.vp-access-gate--show .vp-access-mark { animation: vpMarkIn 700ms cubic-bezier(.34, 1.4, .4, 1) 2750ms forwards; }
.vp-access-gate--show h2 {
    animation: vpItemIn 600ms ease 2820ms forwards,
               vpShimmerSweep 1800ms ease 3800ms forwards;
}
@keyframes vpShimmerSweep {
    0% { background-position: 200% 0; }
    100% { background-position: -50% 0; }
}
.vp-access-gate--show h3 { animation: vpItemIn 600ms ease 2920ms forwards; }
.vp-access-gate--show .vp-access-modal > p { animation: vpItemIn 600ms ease 3020ms forwards; }
.vp-access-gate--show .vp-access-hairline { animation: vpHairlineIn 600ms ease 3120ms forwards; }
.vp-access-gate--show .vp-access-check-row { animation: vpItemIn 600ms ease 3200ms forwards; }
.vp-access-gate--show .vp-access-enter { animation: vpItemIn 600ms ease 3300ms forwards; }
.vp-access-gate--show .vp-access-decline { animation: vpItemIn 600ms ease 3400ms forwards; }
@keyframes vpItemIn {
    to { opacity: 1; transform: translateY(0); }
}
@keyframes vpHairlineIn {
    to { opacity: 1; }
}

.vp-access-locked {
    overflow: hidden;
}
@media (max-width: 560px) {
    .vp-access-modal {
        padding: 30px 22px 26px;
        max-height: calc(100vh - 24px);
        overflow-y: auto;
    }
    .vp-access-modal h2 {
        font-size: 1.45rem;
    }
}
@media (prefers-reduced-motion: reduce) {
    .vp-curtain-panel,
    .vp-bloom,
    .vp-access-modal,
    .vp-access-modal *,
    .vp-access-mark {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
    .vp-access-modal h2 {
        background: none !important;
        -webkit-text-fill-color: var(--gate-deep) !important;
        color: var(--gate-deep) !important;
    }
    .vp-access-gate.vp-access-gate--show {
        background: rgba(11, 24, 21, 0.68);
    }
}

/* ----------------------------------------------------------
   63. BRAND NAV MEGA MENU (big laptop-style panel) + SHOP FILTER
   ---------------------------------------------------------- */
.primary-navigation .container {
    position: relative;
}
.primary-navigation .venpick-brands-nav {
    position: static;
}
.primary-navigation .venpick-brands-nav > a {
    padding: 8px 18px;
}
.primary-navigation .venpick-brands-nav .sub-menu {
    left: 50%;
    right: auto;
    width: 900px;
    max-width: calc(100vw - 24px);
    margin-left: -450px;
    min-width: 0;
    display: block;
    padding: 0;
    border-radius: var(--vp-radius-lg);
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: none;
    overflow: hidden;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    transform-origin: top center;
}
.primary-navigation .venpick-brands-nav .sub-menu li {
    display: block;
}
/* Header bar */
.primary-navigation .venpick-brands-nav .vp-brand-mega-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 12px 20px;
    background: var(--vp-blue-50);
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}
.vp-brand-mega-head-title strong {
    display: block;
    font-size: 15px;
    font-weight: 800;
    color: var(--vp-ink);
    letter-spacing: -0.02em;
    line-height: 1.2;
}
.vp-brand-mega-head-title span {
    display: block;
    font-size: 12px;
    color: var(--vp-gray-500);
    margin-top: 2px;
}
.primary-navigation .venpick-brands-nav .vp-brand-mega-head-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--vp-blue-600);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
    box-shadow: none;
    transition: background var(--vp-dur-fast) var(--vp-ease-out),
                transform var(--vp-dur-fast) var(--vp-ease-out),
                box-shadow var(--vp-dur-fast) var(--vp-ease-out);
}
.primary-navigation .venpick-brands-nav .vp-brand-mega-head-all:hover {
    background: var(--vp-blue-700);
    box-shadow: none;
    color: #fff;
}
/* Card grid */
.primary-navigation .venpick-brands-nav li.vp-brand-mega-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    padding: 14px 20px 16px;
}
.primary-navigation .venpick-brands-nav .sub-menu a.vp-brand-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 0;
    padding: 14px 10px 12px;
    font-size: 11px;
    white-space: normal;
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: var(--vp-radius-lg);
    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;
}
.primary-navigation .venpick-brands-nav .sub-menu a.vp-brand-card:hover {
    border-color: rgba(37, 99, 235, 0.25);
    box-shadow: none;
    color: inherit;
}
.vp-brand-logo {
    width: 42px;
    height: 42px;
    border-radius: var(--vp-radius);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 8px;
    background: var(--vp-surface);
    border: 1px solid var(--vp-gray-200);
    box-shadow: var(--vp-shadow-sm);
}
.vp-brand-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 6px;
}
.vp-brand-logo--mono {
    background: var(--vp-blue-50);
    border-color: transparent;
    color: var(--vp-blue-600);
    font-weight: 800;
    font-size: 18px;
}
.vp-brand-card-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
}
.vp-brand-name {
    font-weight: 700;
    font-size: 12px;
    color: var(--vp-ink);
    line-height: 1.2;
}
.vp-brand-count {
    font-size: 10px;
    color: var(--vp-gray-400);
    font-weight: 500;
}
.vp-brand-empty {
    grid-column: 1 / -1;
    padding: 40px 20px;
    color: var(--vp-gray-500);
    font-size: 14px;
    text-align: center;
}
/* Footer bar */
.primary-navigation .venpick-brands-nav .vp-brand-mega-foot {
    padding: 12px 20px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    background: var(--vp-surface);
    text-align: center;
}
.primary-navigation .venpick-brands-nav .vp-brand-mega-foot a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 20px;
    border-radius: 999px;
    background: #3C5A5A;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    transition: background var(--vp-dur-fast) var(--vp-ease-out),
                transform var(--vp-dur-fast) var(--vp-ease-out),
                box-shadow var(--vp-dur-fast) var(--vp-ease-out);
}
.primary-navigation .venpick-brands-nav .vp-brand-mega-foot a:hover {
    background: #2f4a4a;
    color: #fff;
}
@media (max-width: 768px) {
    .primary-navigation .venpick-brands-nav .sub-menu {
        width: 100%;
        left: 0;
        right: auto;
        margin-left: 0;
        border-radius: var(--vp-radius);
    }
    .primary-navigation .venpick-brands-nav .vp-brand-mega-head {
        flex-direction: column;
        align-items: flex-start;
        padding: 18px 20px;
        gap: 12px;
    }
    .primary-navigation .venpick-brands-nav li.vp-brand-mega-grid {
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
        gap: 10px;
        padding: 18px 20px 22px;
    }
    .primary-navigation .venpick-brands-nav .sub-menu a.vp-brand-card {
        padding: 20px 12px 16px;
    }
    .vp-brand-logo {
        width: 56px;
        height: 56px;
        margin-bottom: 12px;
    }
    .primary-navigation .venpick-brands-nav .vp-brand-mega-foot {
        padding: 14px 20px;
    }
}

/* ----------------------------------------------------------
   65. BRANDS PAGE (/brands/)
   ---------------------------------------------------------- */
.venpick-page--brands .venpick-brands-layout {
    max-width: 1080px;
    margin: 0 auto;
    padding: 48px 0 80px;
}
.venpick-brands-toolbar {
    margin-bottom: 20px;
}
.venpick-brands-search {
    position: relative;
    max-width: 480px;
    margin-bottom: 18px;
}
.venpick-brands-search i.fa-solid {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--vp-gray-400);
    pointer-events: none;
}
.venpick-brands-search input {
    width: 100%;
    padding: 13px 16px 13px 44px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 999px;
    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;
}
.venpick-brands-search input:focus {
    outline: none;
    border-color: var(--vp-blue-400);
    background: var(--vp-surface);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.14);
}
.venpick-brands-alpha {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.venpick-alpha-chip {
    min-width: 34px;
    padding: 7px 10px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 999px;
    background: var(--vp-surface-2);
    color: var(--vp-gray-700);
    font-size: 12.5px;
    font-weight: 700;
    cursor: pointer;
    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);
}
.venpick-alpha-chip:hover {
    border-color: var(--vp-blue-300);
    color: var(--vp-blue-700);
}
.venpick-alpha-chip.is-active {
    background: var(--vp-blue-600);
    border-color: var(--vp-blue-600);
    color: #fff;
}
.venpick-alpha-chip.is-empty {
    opacity: 0.35;
    cursor: default;
}
.venpick-alpha-chip.is-empty:hover {
    border-color: rgba(15, 23, 42, 0.10);
    color: var(--vp-gray-700);
}
.venpick-brands-count {
    font-size: 13px;
    color: var(--vp-gray-500);
    font-weight: 600;
    margin-bottom: 24px;
}
.venpick-brands-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 230px));
    gap: 18px;
}
.venpick-brand-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 28px 18px 24px;
    background: var(--vp-surface);
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: var(--vp-radius-lg);
    text-decoration: none;
    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;
}
.venpick-brand-tile:hover {
    border-color: rgba(37, 99, 235, 0.25);
    box-shadow: none;
}
.venpick-brand-tile-logo {
    width: 76px;
    height: 76px;
    border-radius: var(--vp-radius);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    background: var(--vp-surface);
    border: 1px solid var(--vp-gray-200);
    box-shadow: var(--vp-shadow-sm);
}
.venpick-brand-tile-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 10px;
}
.venpick-brand-tile-mono {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--vp-blue-50);
    color: var(--vp-blue-600);
    font-weight: 800;
    font-size: 32px;
}
.venpick-brand-tile-name {
    font-weight: 700;
    font-size: 15px;
    color: var(--vp-ink);
    line-height: 1.2;
    margin-bottom: 5px;
}
.venpick-brand-tile-count {
    font-size: 13px;
    color: var(--vp-gray-400);
    font-weight: 500;
}
.venpick-brands-empty {
    grid-column: 1 / -1;
    padding: 60px 20px;
    color: var(--vp-gray-500);
    font-size: 14px;
    text-align: center;
}
@media (max-width: 768px) {
    .venpick-page--brands .venpick-brands-layout {
        padding: 32px 0 56px;
    }
    .venpick-brands-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 12px;
    }
    .venpick-brand-tile {
        padding: 22px 12px 18px;
    }
    .venpick-brand-tile-logo {
        width: 60px;
        height: 60px;
        margin-bottom: 12px;
    }
}


/* ==========================================================
   BURBERRY OFFICIAL PDP STYLESHEET (1:1 LUXURY ARCHITECTURE)
   ========================================================== */

/* Full Bleed PDP Container — Breaks out of Storefront theme margins */
.single-product .site-content {
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
}
.single-product #secondary { display: none !important; }
.single-product #primary {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.single-product .storefront-breadcrumb { display: none !important; }

/* Burberry PDP Container */
.burberry-pdp-container {
    background-color: #ffffff;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: #000000;
    margin: 0;
    padding: 0;
}

/* Two-Column Flex Layout */
.product-details {
    display: flex;
    align-items: flex-start;
    position: relative;
    width: 100%;
    margin-bottom: 0;
}
@media only screen and (max-width: 1023px) {
    .product-details {
        flex-direction: column;
    }
}
@media only screen and (min-width: 1024px) {
    .product-details {
        flex-direction: row;
    }
}

/* LEFT: Gallery Wrapper */
.product-details__gallery-wrapper {
    background-color: #f6f6f6;
    position: relative;
}
@media only screen and (max-width: 1023px) {
    .product-details__gallery-wrapper {
        width: 100%;
    }
}
@media only screen and (min-width: 1024px) {
    .product-details__gallery-wrapper {
        width: 67%;
    }
}
@media only screen and (min-width: 1440px) {
    .product-details__gallery-wrapper {
        width: 74%;
    }
}

.gallery {
    width: 100%;
    position: relative;
}
.gallery__gallery-items {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
@media only screen and (max-width: 1023px) {
    .gallery__gallery-items {
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .gallery__gallery-items::-webkit-scrollbar { display: none; }
}

.gallery .gallery__gallery-item {
    width: 100%;
    position: relative;
}
@media only screen and (max-width: 1023px) {
    .gallery .gallery__gallery-item {
        flex: 0 0 100%;
        scroll-snap-align: start;
    }
}
@media only screen and (min-width: 1440px) {
    .gallery .gallery__gallery-item {
        width: 50%;
    }
}

/* Burberry 125% Aspect Ratio Image Frame */
.gallery__wrapper {
    overflow: hidden;
    position: relative;
    background-color: #f6f6f6;
    width: 100%;
}
.gallery__wrapper::before {
    content: "";
    display: block;
    padding-bottom: 125%; /* 4:5 luxury vertical ratio */
    width: 100%;
}
.gallery__image__media {
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.gallery__image__picture {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.gallery__image__source {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    mix-blend-mode: multiply;
}

/* Sticky Image Counter (e.g. 1 / 3) */
.gallery__counter {
    position: sticky;
    bottom: 24px;
    margin-left: 20px;
    margin-top: -44px;
    margin-bottom: 24px;
    color: #000000;
    width: fit-content;
    z-index: 2;
}
.item-counter-rolodex {
    align-items: center;
    display: inline-flex;
    gap: 4px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(8px);
    padding: 4px 10px;
    border-radius: 2px;
}

/* RIGHT: Transactional Wrapper — sticky container */
.product-details__transactional-wrapper {
    background: #ffffff;
    position: sticky;
    top: 0;
    align-self: flex-start;
}
@media only screen and (max-width: 1023px) {
    .product-details__transactional-wrapper {
        position: static;
        width: 100%;
    }
}
@media only screen and (min-width: 1024px) {
    .product-details__transactional-wrapper {
        width: 33%;
    }
}
@media only screen and (min-width: 1440px) {
    .product-details__transactional-wrapper {
        width: 26%;
    }
}

.product-details__transactional-panel {
    box-sizing: border-box;
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 32px 28px 32px;
}
@media only screen and (max-width: 1023px) {
    .product-details__transactional-panel {
        padding: 24px 20px;
    }
}

.product-details__transactional-mini-wrapper {
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* Product Info Panel: Label, Title & Price */
.product-info-panel {
    margin-bottom: 24px;
}
.product-info-panel__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
}
.product-info-panel__label,
.product-info-panel__sku {
    font-size: 11px;
    line-height: 16px;
    color: #888888;
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.product-info-panel__title-price-wrapper {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.product-info-panel__title {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 28px;
    line-height: 34px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #000000;
    margin: 0;
    padding: 0;
    border: none;
}
.product-info-panel__price {
    font-size: 34px;
    line-height: 1.1;
    font-weight: 700;
    color: #000000;
    letter-spacing: -0.02em;
}
.product-info-panel__price del {
    color: #aaaaaa;
    margin-right: 10px;
    font-weight: 400;
    font-size: 21px;
    letter-spacing: 0;
}
.product-info-panel__price ins {
    text-decoration: none;
    color: #000000;
}

/* Swatches / Vendor Row */
.product-swatches-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    margin-bottom: 20px;
    border-top: 1px solid #f0f0f0;
    border-bottom: 1px solid #f0f0f0;
}
.product-swatches-panel__colour {
    font-size: 13px;
    color: #444444;
}
.product-swatches-panel__colour strong {
    color: #000000;
}

/* Product Action Panel — Burberry Royal Blue CTA */
.product-actions-panel {
    margin-bottom: 24px;
}
.burberry-cart-form {
    margin: 0 !important;
    padding: 0 !important;
}
.burberry-action-row {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}
.burberry-qty-wrap {
    display: flex;
    align-items: center;
    border: 1px solid #000000;
    height: 48px;
    width: 100%;
    background: #ffffff;
}
.burberry-qty-btn {
    flex: 0 0 48px;
    height: 100%;
    background: transparent;
    border: none;
    cursor: pointer;
    font-size: 16px;
    font-weight: 400;
    color: #000000;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s;
}
.burberry-qty-btn:hover {
    background-color: #f0f0f0;
}
.burberry-qty-input {
    flex: 1;
    height: 100%;
    border: none;
    background: #ffffff !important;
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    color: #000000;
    -moz-appearance: textfield;
    appearance: textfield;
    padding: 0;
    margin: 0;
    box-shadow: none !important;
}
.burberry-qty-input::-webkit-outer-spin-button,
.burberry-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.burberry-qty-input:focus { outline: none; }

/* Burberry Iconic CTA Button (#0006cf Royal Blue) */
.burberry-buy-button {
    width: 100%;
    height: 48px;
    background-color: #0006cf !important;
    color: #ffffff !important;
    border: none !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 0.02em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.16s ease;
    padding: 0 24px;
    border-radius: 0 !important;
}
.burberry-buy-button:hover {
    background-color: #000f9f !important;
    color: #ffffff !important;
}
.burberry-out-of-stock {
    font-size: 14px;
    color: #666666;
    padding: 12px 0;
}

/* Secondary Action Link ("Contact Clinical Support") */
.product-details__actions-group {
    margin-bottom: 28px;
}
.product-details__actions-container {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.burberry-secondary-action {
    font-size: 14px;
    line-height: 20px;
    color: #0006cf;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 400;
    cursor: pointer;
    background: transparent;
    border: none;
    padding: 0;
    width: fit-content;
}
.burberry-secondary-action:hover {
    color: #000f9f;
}
.product-details__actions-sub-copy {
    font-size: 12.5px;
    line-height: 18px;
    color: #666666;
}

/* Clean Accordion – white background, hairline separators */
.product-details-accordion {
    list-style: none;
    padding: 0;
    margin: 24px 0 0;
    border-top: 1px solid #e0e0e0;
}
.product-details-accordion__item {
    border-bottom: 1px solid #e0e0e0;
    padding: 0;
    margin: 0;
    background: #ffffff;
    list-style: none;
}
.expandable {
    background: #ffffff;
}
.expandable__button {
    background: #ffffff;
    border: 0;
    padding: 18px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    cursor: pointer;
    text-align: left;
}
.expandable__button:hover {
    background: #ffffff;
}
.product-details-accordion__expandable-title {
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
    color: #000000;
    letter-spacing: 0;
}
/* Replace the SVG icon container with a simple + text icon */
.expandable__custom-icon-container {
    height: 24px;
    width: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000000;
    font-size: 20px;
    font-weight: 300;
    line-height: 1;
    flex-shrink: 0;
}
.product-details-accordion__icon {
    display: none !important;
}
/* Show a plain + / – via pseudo on the icon container */
.expandable__custom-icon-container::before {
    content: "+";
    font-size: 20px;
    font-weight: 300;
    color: #000000;
    line-height: 1;
    display: block;
}
.is-expanded .expandable__custom-icon-container::before {
    content: "−";
}
.expandable__content {
    overflow: hidden;
}
.product-details-accordion__content {
    padding: 0 0 20px;
    font-size: 13px;
    line-height: 20px;
    color: #333333;
}
.product-details-accordion__content p {
    margin: 0 0 12px;
}
.product-details-accordion__content ul {
    padding-left: 0;
    list-style: none;
    margin: 0;
}
.product-details-accordion__content li {
    padding-left: 1.2em;
    text-indent: -1.2em;
    margin-bottom: 6px;
}
.product-details-accordion__content li::before {
    content: "– ";
    color: #000000;
}
.product-details-accordion__content table.shop_attributes {
    width: 100%;
    border-collapse: collapse;
}
.product-details-accordion__content table.shop_attributes th,
.product-details-accordion__content table.shop_attributes td {
    padding: 6px 0;
    border-bottom: 1px solid #f0f0f0;
    font-size: 13px;
}
.product-details-accordion__content table.shop_attributes th {
    font-weight: 500;
    color: #000000;
    width: 40%;
}

/* Bottom Actions in Transactional Panel */
.product-details__bottom-actions {
    padding-top: 16px;
    border-top: 1px solid #f0f0f0;
    margin-top: 16px;
}
.product-details__contact-us {
    font-size: 13px;
    color: #000000;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.product-details__contact-us:hover {
    color: #0006cf;
}

/* Breadcrumbs Section Below 2-Column Grid */
.breadcrumbs-bar {
    padding: 40px 32px 20px;
    border-top: 1px solid #eeeeee;
    background: #ffffff;
}
.breadcrumbs {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    font-size: 12.5px;
    color: #888888;
}
.breadcrumbs__breadcrumbs-link {
    color: #444444;
    text-decoration: none;
}
.breadcrumbs__breadcrumbs-link:hover {
    color: #000000;
}
.breadcrumbs__seperator {
    color: #bbbbbb;
}
.breadcrumbs__current {
    color: #000000;
    font-weight: 500;
}

/* Recommendations ("We recommend" Section) */
.product-details__group-wrapper {
    padding: 40px 32px 80px;
    background: #ffffff;
}
.recommendations__title {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: #000000;
    margin: 0 0 32px;
}
.burberry-recommendations-grid ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
@media only screen and (max-width: 1023px) {
    .burberry-recommendations-grid ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
.burberry-recommendations-grid ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
.burberry-recommendations-grid ul.products li.product img {
    background: #f6f6f6;
    width: 100%;
    aspect-ratio: 4/5;
    object-fit: contain;
    mix-blend-mode: multiply;
}
.burberry-recommendations-grid ul.products li.product .woocommerce-loop-product__title {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #000000 !important;
    margin: 10px 0 4px !important;
}
.burberry-recommendations-grid ul.products li.product .price {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #000000 !important;
}

.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 */
#review_form_wrapper { margin-top: 0; }
#review_form {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 16px 0 0;
}
.venpick-review-form-title { font-size: 14px; font-weight: 600; letter-spacing: 0; margin-bottom: 20px; display: block; color: #000; }
#review_form .comment-form { display: flex; flex-direction: column; gap: 20px; }
#review_form .comment-form > * { margin-bottom: 0; }
/* Remove the 2-col grid override */
#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: unset; }
#review_form .comment-form-rating { order: -1; }
#review_form label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #555555;
    margin-bottom: 8px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
#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 14px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    background: #ffffff;
    font-size: 14px;
    font-family: inherit;
    color: #000000;
    box-sizing: border-box;
    transition: border-color 0.15s;
}
#review_form .comment-form-comment textarea { min-height: 100px; 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: #000000;
    box-shadow: none;
}
/* No-reviews notice */
.woocommerce-Reviews .woocommerce-info {
    background: #f5f5f5 !important;
    border-left: 3px solid #000000 !important;
    border-radius: 4px !important;
    color: #333333 !important;
    font-size: 13px !important;
    padding: 12px 16px !important;
    margin-bottom: 24px !important;
}
.woocommerce-Reviews .woocommerce-info::before { display: none !important; }
/* Reviews heading area */
.woocommerce-Reviews-title { display: none; }
.comment-reply-title { font-size: 15px !important; font-weight: 600 !important; color: #000 !important; margin-bottom: 20px !important; }
/* Cookie consent line */
#review_form .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 10px; }
#review_form .comment-form-cookies-consent input { margin-top: 3px; flex-shrink: 0; }
#review_form .comment-form-cookies-consent label { font-size: 12px; text-transform: none; letter-spacing: 0; color: #666; font-weight: 400; line-height: 1.5; }
/* Comment notes */
#review_form .comment-notes { font-size: 12px; color: #888888; line-height: 1.5; }

.venpick-review-submit {
    width: 100%;
    height: 48px;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #000000 !important;
    color: #fff !important;
    border-radius: 0 !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
    border: none !important;
    box-shadow: none !important;
    cursor: pointer;
    transition: background 0.15s;
}
.venpick-review-submit:hover { background: #333333 !important; color: #fff !important; }
.venpick-review-submit:active { background: #111111 !important; }

/* Star picker */
#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 0.15s, transform 100ms;
}
#review_form .venpick-star-picker-stars label svg { transition: fill 0.15s; }
#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
   ---------------------------------------------------------- */

/* More Products section (before footer) */
.venpick-more-products {
    background: #ffffff;
    border-top: 1px solid #e8e8e8;
    padding: 60px 0;
}
.venpick-more-products__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
}
.venpick-more-products__title {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #000000;
    margin: 0 0 32px;
}
.venpick-more-products__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
@media (max-width: 900px) {
    .venpick-more-products__grid { grid-template-columns: repeat(2, 1fr); }
    .venpick-more-products__inner { padding: 0 20px; }
}
@media (max-width: 500px) {
    .venpick-more-products__grid { grid-template-columns: 1fr; }
}

/* More Products custom card */
.vp-mp-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: #000000;
    transition: opacity 0.15s;
}
.vp-mp-card:hover { opacity: 0.85; }
.vp-mp-card__img {
    width: 100%;
    padding-bottom: 125%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #f6f6f6;
}
.vp-mp-card__body {
    padding: 12px 0 0;
}
.vp-mp-card__title {
    font-size: 13px;
    font-weight: 500;
    color: #000000;
    margin: 0 0 6px;
    line-height: 1.4;
}
.vp-mp-card__rating {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
}
.vp-mp-card__rating .star-rating {
    font-size: 12px;
    color: #f5a623;
    float: none;
    display: inline-block;
}
.vp-mp-card__count {
    font-size: 12px;
    color: #666666;
}
.vp-mp-card__price {
    font-size: 14px;
    font-weight: 600;
    color: #000000;
    margin: 0;
}
.vp-mp-card__price .woocommerce-Price-amount { color: #000000; }

/* Premium Curtain Reveal Animation */
.vp-curtain-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 999999;
    pointer-events: none;
    display: flex;
    overflow: hidden;
}
.vp-curtain-panel {
    width: 50vw;
    height: 100vh;
    background: #111b1b; /* Luxury deep dark forest green/slate */
    transition: transform 1.5s cubic-bezier(0.77, 0, 0.175, 1);
    will-change: transform;
}
.vp-curtain-left {
    transform-origin: left center;
    border-right: 1px solid rgba(255, 255, 255, 0.05);
}
.vp-curtain-right {
    transform-origin: right center;
    border-left: 1px solid rgba(255, 255, 255, 0.05);
}

/* Curtain Open Action */
.vp-curtain-loaded .vp-curtain-left {
    transform: scaleX(0);
}
.vp-curtain-loaded .vp-curtain-right {
    transform: scaleX(0);
}
.vp-curtain-loaded .vp-curtain-overlay {
    visibility: hidden;
    transition: visibility 0s 1.5s;
}




/* 2026-10-13: Calm product media stage */
/* VenPick PDP: calm, product-led media stage.
   Loaded last so it deliberately replaces the legacy full-bleed gallery. */
.single-product .burberry-pdp-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: clamp(28px, 4vw, 56px) clamp(20px, 4vw, 48px) clamp(44px, 6vw, 80px);
}

.single-product .product-details {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
    gap: clamp(32px, 5vw, 72px);
    align-items: start;
}

.single-product .product-details__gallery-wrapper {
    width: auto !important;
    background: #f7f9f8;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    overflow: hidden;
}

.single-product .gallery__gallery-items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
    padding: 12px;
}

.single-product .gallery .gallery__gallery-item {
    width: auto !important;
}

.single-product .gallery__wrapper {
    height: clamp(300px, 32vw, 440px);
    background: #fff;
    border-radius: 9px;
}

.single-product .gallery__wrapper::before {
    display: none;
}

.single-product .gallery__image__source {
    width: 72%;
    height: 72%;
    object-fit: contain;
    object-position: center;
    mix-blend-mode: multiply;
}

.single-product .gallery__counter {
    display: none;
}

.single-product .product-details__transactional-wrapper {
    width: auto !important;
    top: 28px;
}

.single-product .product-details__transactional-panel {
    padding: 8px 0 24px;
}

@media (max-width: 1023px) {
    .single-product .burberry-pdp-container {
        padding: 24px 20px 44px;
    }

    .single-product .product-details {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .single-product .gallery__wrapper {
        height: clamp(280px, 86vw, 420px);
    }

    .single-product .gallery__image__source {
        width: 76%;
        height: 76%;
    }
}


/* 2026-10-13: Compact product purchase panel */
/* VenPick PDP: compact purchase panel and deliberate media-to-detail ratio. */
@media (min-width: 1024px) {
    .single-product .product-details {
        grid-template-columns: minmax(0, 1.34fr) minmax(320px, 0.66fr);
        gap: clamp(32px, 4vw, 60px);
    }

    .single-product .product-details__transactional-wrapper {
        background: #fff;
        border: 1px solid rgba(15, 23, 42, 0.10);
        border-radius: 12px;
        overflow: hidden;
    }

    .single-product .product-details__transactional-panel {
        padding: 26px 24px 22px;
    }
}

.single-product .product-info-panel {
    margin-bottom: 18px;
}

.single-product .product-info-panel__title {
    font-size: clamp(23px, 2vw, 28px);
    line-height: 1.12;
}

.single-product .product-info-panel__price {
    font-size: 28px;
}

.single-product .product-swatches-panel {
    padding: 10px 0;
    margin-bottom: 16px;
}

.single-product .product-actions-panel {
    margin-bottom: 12px;
}

.single-product .burberry-action-row {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 10px;
    align-items: stretch;
}

.single-product .burberry-qty-wrap,
.single-product .burberry-buy-button {
    height: 46px;
}

.single-product .burberry-qty-wrap {
    width: 112px;
    border-color: rgba(15, 23, 42, 0.28);
}

.single-product .burberry-qty-btn {
    flex-basis: 34px;
}

.single-product .burberry-buy-button {
    width: 100%;
    min-width: 0;
    padding: 0 14px;
    border-radius: 8px !important;
    background: #3c5a5a !important;
    font-weight: 700 !important;
    letter-spacing: 0;
}

.single-product .burberry-buy-button:hover {
    background: #294646 !important;
}

@media (max-width: 1023px) {
    .single-product .product-details__transactional-wrapper {
        border-top: 1px solid rgba(15, 23, 42, 0.10);
        padding-top: 24px;
    }

    .single-product .burberry-action-row {
        grid-template-columns: 112px minmax(0, 1fr);
    }
}

@media (max-width: 420px) {
    .single-product .burberry-action-row {
        grid-template-columns: 1fr;
    }

    .single-product .burberry-qty-wrap {
        width: 100%;
    }
}

/* 2026-10-13: Keep the quantity stepper aligned with its cart CTA. */
.single-product .burberry-qty-wrap {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 34px;
    align-items: stretch;
    overflow: hidden;
    box-sizing: border-box;
}
.single-product .burberry-qty-btn {
    width: 34px;
    min-width: 0;
    padding: 0;
}
.single-product .burberry-qty-input {
    width: 100% !important;
    min-width: 0;
    box-sizing: border-box;
}
.single-product .burberry-buy-button {
    min-width: 0 !important;
}


/* ==========================================================================
   Dentalkart-Grade Clinical Product Page Architecture
   ========================================================================== */

.vp-pdp-top-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}
.vp-brand-pill {
    background: #F0F7FB;
    color: #005B94;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border: 1px solid #BAE6FD;
}
.vp-rating-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: #475569;
    background: #F8FAFC;
    padding: 3px 8px;
    border-radius: 6px;
    border: 1px solid #E2E8F0;
}
.vp-stars {
    color: #F59E0B;
    letter-spacing: 1px;
    font-size: 11px;
}
.vp-rating-score {
    font-weight: 700;
    color: #0F172A;
}
.vp-rating-count {
    font-size: 11px;
    color: #64748B;
}
.vp-stock-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    color: #16A34A;
    background: #F0FDF4;
    padding: 3px 9px;
    border-radius: 20px;
    border: 1px solid #BBF7D0;
}
.vp-stock-dot {
    width: 7px;
    height: 7px;
    background: #16A34A;
    border-radius: 50%;
    box-shadow: 0 0 0 2px rgba(22, 163, 74, 0.2);
}

.vp-pricing-meta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed #E2E8F0;
}
.vp-savings-badge {
    background: #FEF2F2;
    color: #DC2626;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 6px;
    border: 1px solid #FCA5A5;
}
.vp-tax-text {
    font-size: 11px;
    color: #64748B;
}
.vp-coins-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #FFFBEB;
    color: #B45309;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 6px;
    border: 1px solid #FDE68A;
}

.vp-highlights-card {
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    padding: 12px 14px;
    margin: 16px 0;
}
.vp-highlights-title {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #475569;
    margin-bottom: 10px;
}
.vp-highlights-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
.vp-highlight-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
.vp-highlight-item svg {
    flex-shrink: 0;
    margin-top: 2px;
}
.vp-highlight-item strong {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #0F172A;
    line-height: 1.2;
}
.vp-highlight-item span {
    display: block;
    font-size: 11px;
    color: #64748B;
    line-height: 1.2;
    margin-top: 2px;
}

.vp-delivery-card {
    background: #F0F7FB;
    border: 1px solid #BAE6FD;
    border-radius: 12px;
    padding: 12px 14px;
    margin: 16px 0;
}
.vp-delivery-header {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #0369A1;
    margin-bottom: 8px;
}
.vp-delivery-form {
    display: flex;
    gap: 8px;
}
.vp-pincode-input {
    flex: 1;
    padding: 7px 12px;
    border: 1px solid #CBD5E1;
    border-radius: 8px;
    font-size: 12px;
    background: #fff;
    outline: none;
}
.vp-pincode-input:focus {
    border-color: #005B94;
}
.vp-pincode-btn {
    padding: 7px 16px;
    background: #005B94;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 12px;
    cursor: pointer;
    transition: background 0.2s;
}
.vp-pincode-btn:hover {
    background: #004570;
}
.vp-pincode-result {
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.4;
}
.vp-delivery-subtext {
    margin-top: 6px;
    font-size: 11px;
    color: #64748B;
}

.vp-benefits-strip {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin: 16px 0;
    padding: 12px;
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
}
.vp-benefit-card {
    display: flex;
    align-items: center;
    gap: 8px;
}
.vp-benefit-icon {
    width: 32px;
    height: 32px;
    background: #F0F7FB;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.vp-benefit-text strong {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: #0F172A;
    line-height: 1.2;
}
.vp-benefit-text span {
    display: block;
    font-size: 10px;
    color: #64748B;
    line-height: 1.2;
}

/* Tabs & Accordion Content Styling */
.vp-pdp-tab-pane {
    padding: 12px 0;
}
.vp-tab-heading {
    font-size: 14px;
    font-weight: 700;
    color: #0F172A;
    margin: 0 0 10px 0;
}
.vp-tab-subtext {
    font-size: 12px;
    color: #64748B;
    margin-bottom: 12px;
    line-height: 1.5;
}
.vp-features-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.vp-features-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    list-style: none !important;
}
.vp-bullet-icon {
    flex-shrink: 0;
    margin-top: 1px;
}
.vp-feature-text {
    font-size: 12px;
    color: #334155;
    line-height: 1.5;
}

.vp-spec-table-wrap {
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    overflow: hidden;
}
.vp-spec-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}
.vp-spec-table tr:nth-child(even) {
    background: #F8FAFC;
}
.vp-spec-th {
    width: 38%;
    padding: 8px 12px;
    font-size: 11px;
    font-weight: 600;
    color: #475569;
    text-align: left;
    border-bottom: 1px solid #E2E8F0;
    background: #F1F5F9;
}
.vp-spec-td {
    padding: 8px 12px;
    font-size: 12px;
    color: #0F172A;
    border-bottom: 1px solid #E2E8F0;
}

.vp-packaging-card {
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    padding: 12px 14px;
    background: #F8FAFC;
}
.vp-packaging-header {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 12px;
    color: #0369A1;
    margin-bottom: 10px;
}
.vp-packaging-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.vp-packaging-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #334155;
    list-style: none !important;
}

.vp-protocol-steps {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.vp-protocol-step-card {
    display: flex;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    background: #fff;
}
.vp-step-num {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #005B94;
    color: #fff;
    font-weight: 700;
    font-size: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.vp-step-title {
    font-size: 12px;
    font-weight: 700;
    color: #0F172A;
    margin: 0 0 2px 0;
}
.vp-step-desc {
    font-size: 11px;
    color: #475569;
    margin: 0;
    line-height: 1.5;
}

.vp-warranty-box {
    border: 1px solid #BAE6FD;
    border-radius: 8px;
    padding: 12px 14px;
    background: #F0F7FB;
}
.vp-warranty-badge {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.vp-warranty-badge h4 {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    color: #0369A1;
}
.vp-warranty-badge p {
    margin: 0;
    font-size: 11px;
    color: #64748B;
}
.vp-warranty-details {
    font-size: 11px;
    color: #334155;
    line-height: 1.5;
}
.vp-warranty-details p {
    margin-bottom: 6px;
}

.vp-faq-accordion {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.vp-faq-item {
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}
.vp-faq-question {
    width: 100%;
    padding: 10px 12px;
    background: #fff;
    border: none;
    text-align: left;
    font-size: 12px;
    font-weight: 600;
    color: #0F172A;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    transition: background 0.2s;
}
.vp-faq-question:hover {
    background: #F8FAFC;
}
.vp-faq-answer {
    display: none;
    padding: 10px 12px;
    border-top: 1px solid #F1F5F9;
    font-size: 11px;
    color: #475569;
    line-height: 1.5;
    background: #F8FAFC;
}
.vp-faq-item.is-open .vp-faq-answer {
    display: block;
}
.vp-faq-item.is-open .vp-faq-arrow {
    transform: rotate(180deg);
}

@media (max-width: 640px) {
    .vp-highlights-grid,
    .vp-benefits-strip {
        grid-template-columns: 1fr;
    }
}


/* --- Fix for features & packaging bullet alignment in PDP accordion --- */
.product-details-accordion__content ul.vp-features-list,
.product-details-accordion__content ul.vp-packaging-list {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
}

.product-details-accordion__content ul.vp-features-list li,
.product-details-accordion__content ul.vp-packaging-list li,
.product-details-accordion__content .vp-features-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding-left: 0 !important;
    text-indent: 0 !important;
    margin-bottom: 10px !important;
    list-style: none !important;
}

.product-details-accordion__content ul.vp-features-list li::before,
.product-details-accordion__content ul.vp-packaging-list li::before,
.product-details-accordion__content .vp-features-item::before {
    content: none !important;
    display: none !important;
}

.vp-features-item .vp-bullet-icon {
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 2px !important;
}

.vp-features-item .vp-feature-text {
    flex: 1 !important;
    font-size: 13px !important;
    color: #334155 !important;
    line-height: 1.5 !important;
}

.vp-packaging-list li {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding-left: 0 !important;
    text-indent: 0 !important;
    margin-bottom: 8px !important;
}

.vp-packaging-list li svg {
    flex-shrink: 0 !important;
}


/* ==========================================================================
   ASA DENTAL-GRADE ITALIAN LUXURY CLINICAL LAYOUT
   ========================================================================== */

/* The main ASA Card */
.asa-product-card {
    background: #ffffff;
    border: 1px solid #E8ECEF;
    border-radius: 14px;
    padding: 24px 26px;
    box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.04);
    margin-bottom: 18px;
    transition: box-shadow 0.2s ease;
}

.asa-spec-rows {
    display: flex;
    flex-direction: column;
}

.asa-spec-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #F1F3F5;
}

.asa-spec-label {
    color: #64748B;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
    padding-right: 16px;
}

.asa-spec-value {
    color: #0F172A;
    font-size: 14px;
    font-weight: 600;
    text-align: right;
}

.asa-spec-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}

.asa-spec-code {
    color: #0088CC !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    font-size: 14px !important;
}

.asa-price-wrapper {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.asa-price-main .price,
.asa-price-main {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    margin: 0 !important;
}

.asa-price-main del {
    color: #94A3B8 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    margin-right: 4px;
}

.asa-price-main ins {
    text-decoration: none !important;
    color: #0F172A !important;
    font-weight: 700 !important;
}

.asa-discount-badge {
    background: #FEF2F2;
    color: #DC2626;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 6px;
}

/* ASA Pill Tags */
.asa-tags-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 14px 0;
    border-bottom: 1px solid #F1F3F5;
}

.asa-tag {
    background: #F8FAFC;
    color: #475569;
    border: 1px solid #E2E8F0;
    border-radius: 9999px;
    padding: 4px 12px;
    font-size: 11.5px;
    font-weight: 500;
    line-height: 1.4;
    transition: background 0.15s ease;
}

.asa-tag:hover {
    background: #F1F5F9;
    color: #1E293B;
}

/* ASA Reprocessing Notice */
.asa-reprocessing-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 14px;
}

.asa-reprocess-label {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #64748B;
    font-size: 12.5px;
    font-weight: 500;
}

.asa-reprocess-btn {
    display: inline-flex;
    align-items: center;
    padding: 5px 14px;
    border: 1.5px solid #0088CC;
    color: #0088CC;
    background: transparent;
    border-radius: 20px;
    font-size: 11.5px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.asa-reprocess-btn:hover {
    background: #0088CC;
    color: #ffffff;
    text-decoration: none;
}

/* Action Area (Quantity + Add to Cart) */
.asa-action-card {
    margin-bottom: 16px;
}

.asa-action-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.asa-qty-wrap {
    display: flex;
    align-items: center;
    border: 1px solid #CBD5E1;
    border-radius: 10px;
    background: #ffffff;
    height: 48px;
    padding: 0 4px;
}

.asa-qty-btn {
    width: 32px;
    height: 40px;
    background: transparent;
    border: none;
    font-size: 16px;
    color: #0F172A;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.15s;
}

.asa-qty-btn:hover {
    color: #0088CC;
}

.asa-qty-input {
    width: 38px;
    text-align: center;
    border: none;
    font-weight: 600;
    font-size: 14px;
    color: #0F172A;
    outline: none;
    background: transparent;
}

.asa-buy-button {
    flex: 1;
    height: 48px;
    background: #005B94 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    cursor: pointer;
    transition: background 0.2s ease !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.asa-buy-button:hover {
    background: #004570 !important;
}

/* Minimalist Clinic Assurance Strip */
.asa-assurance-strip {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    background: #F8FAFC;
    border: 1px solid #EDF2F7;
    border-radius: 10px;
    margin-bottom: 22px;
}

.asa-assurance-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 500;
    color: #475569;
}

/* Accordions Overhaul */
.asa-accordions-wrapper .product-details-accordion__item {
    border-bottom: 1px solid #EAECEF;
}

.asa-accordions-wrapper .product-details-accordion__expandable-button {
    padding: 16px 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #0F172A !important;
}

.asa-accordions-wrapper .product-details-accordion__content {
    padding-bottom: 20px;
    color: #334155;
    font-size: 13px;
    line-height: 1.6;
}

/* Hide old heavy card classes */
.vp-highlights-card,
.vp-delivery-card,
.vp-benefits-strip {
    display: none !important;
}

@media (max-width: 640px) {
    .asa-spec-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
    .asa-spec-value {
        text-align: left;
    }
    .asa-assurance-strip {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}


/* ==========================================================================
   VENPICK TRUE LUXURY SURGICAL PRODUCT LAYOUT
   ========================================================================== */

.vp-luxury-header {
    margin-bottom: 22px;
}

.vp-luxury-category {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #005B94;
    margin-bottom: 6px;
}

.vp-luxury-title {
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    margin: 0 0 10px 0 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.01em !important;
}

.vp-luxury-price-row {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
}

.vp-luxury-price,
.vp-luxury-price .price {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    margin: 0 !important;
}

.vp-luxury-price del {
    color: #94A3B8 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    margin-right: 6px;
}

.vp-luxury-price ins {
    text-decoration: none !important;
    color: #0F172A !important;
    font-weight: 700 !important;
}

.vp-luxury-discount {
    background: #FEF2F2;
    color: #DC2626;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 6px;
    display: inline-block;
}

.vp-luxury-action-area {
    margin-bottom: 20px;
}

.vp-luxury-cart-group {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
}

.vp-luxury-qty {
    display: flex;
    align-items: center;
    border: 1px solid #CBD5E1;
    border-radius: 8px;
    background: #ffffff;
    height: 48px;
    flex-shrink: 0;
    padding: 0 4px;
}

.vp-qty-btn {
    width: 32px;
    height: 40px;
    background: transparent;
    border: none;
    font-size: 18px;
    color: #0F172A;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vp-qty-input {
    width: 38px;
    text-align: center;
    border: none;
    font-weight: 600;
    font-size: 15px;
    color: #0F172A;
    outline: none;
    background: transparent;
}

.vp-luxury-btn {
    flex: 1 !important;
    height: 48px !important;
    background: #005B94 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s ease !important;
    min-width: 140px !important;
}

.vp-luxury-btn:hover {
    background: #004570 !important;
}

.vp-luxury-assurance {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 12px 14px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    margin-bottom: 22px;
}

.vp-assure-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 500;
    color: #475569;
}

.vp-assure-item svg {
    flex-shrink: 0;
}

.vp-luxury-accordions .product-details-accordion__item {
    border-bottom: 1px solid #EAECEF;
}

.vp-luxury-accordions .product-details-accordion__expandable-button {
    padding: 16px 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #0F172A !important;
}

.vp-luxury-accordions .product-details-accordion__content {
    padding-bottom: 20px;
    color: #334155;
    font-size: 13px;
    line-height: 1.6;
}

/* Hide old ASA table card if any */
.asa-product-card,
.asa-assurance-strip,
.asa-action-card {
    display: none !important;
}


/* ==========================================================================
   VENPICK PDP ROCK-SOLID ADD TO CART & QUANTITY ALIGNMENT
   ========================================================================== */

.vp-luxury-action-area {
    margin: 18px 0 20px 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.burberry-cart-form,
form.cart {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.vp-luxury-cart-group {
    display: grid !important;
    grid-template-columns: 110px 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    align-items: stretch !important;
}

.vp-luxury-qty {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border: 1px solid #CBD5E1 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    height: 48px !important;
    width: 110px !important;
    max-width: 110px !important;
    min-width: 110px !important;
    flex: 0 0 110px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.vp-qty-btn,
.single-product .burberry-qty-btn {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    flex: 0 0 34px !important;
    height: 100% !important;
    background: transparent !important;
    border: none !important;
    font-size: 18px !important;
    line-height: 1 !important;
    color: #0F172A !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: background-color 0.15s ease !important;
}

.vp-qty-btn:hover,
.single-product .burberry-qty-btn:hover {
    background-color: #F1F5F9 !important;
}

.vp-qty-input,
.single-product .burberry-qty-input {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    flex: 0 0 42px !important;
    height: 100% !important;
    text-align: center !important;
    border: none !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    color: #0F172A !important;
    outline: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}

.vp-qty-input::-webkit-outer-spin-button,
.vp-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.vp-luxury-btn,
.single_add_to_cart_button.vp-luxury-btn,
button.vp-luxury-btn {
    width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    background: #005B94 !important;
    background-color: #005B94 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    letter-spacing: 0.01em !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    transition: background-color 0.15s ease, transform 0.1s ease !important;
    box-shadow: 0 2px 8px rgba(0, 91, 148, 0.22) !important;
    text-transform: none !important;
    box-sizing: border-box !important;
    padding: 0 16px !important;
    margin: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.vp-luxury-btn:hover,
.single_add_to_cart_button.vp-luxury-btn:hover,
button.vp-luxury-btn:hover {
    background: #004570 !important;
    background-color: #004570 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(0, 91, 148, 0.35) !important;
    transform: translateY(-1px) !important;
}

.vp-luxury-btn:active,
.single_add_to_cart_button.vp-luxury-btn:active {
    transform: translateY(0) !important;
}

.vp-luxury-btn span {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 15px !important;
}

.vp-luxury-btn svg {
    color: #ffffff !important;
    stroke: #ffffff !important;
}

/* ==========================================================
   VENPICK SHIPPING PARTNERS (DHL, FedEx, UPS) STYLES
   ========================================================== */
.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 0;
    font-size: 13px;
    flex-wrap: wrap;
    gap: 20px;
}
.footer-bottom-copy p {
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
}
.footer-bottom-trust {
    display: flex;
    align-items: center;
    gap: 28px;
    flex-wrap: wrap;
}
.footer-trust-col {
    display: flex;
    align-items: center;
    gap: 12px;
}
.footer-trust-title {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.65);
    white-space: nowrap;
}
.footer-shipping-icons {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.vp-ship-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 28px;
    padding: 0 10px;
    background: #ffffff;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.22);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    cursor: default;
}
.vp-ship-badge:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.35);
}
.vp-ship-badge svg {
    display: block;
}

/* PDP Logistics Card */
.vp-pdp-logistics-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 13px 15px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    margin-bottom: 22px;
}
.vp-plc-head {
    display: flex;
    align-items: center;
    gap: 10px;
}
.vp-plc-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: rgba(60, 90, 90, 0.1);
    color: #3C5A5A;
    flex-shrink: 0;
}
.vp-plc-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.vp-plc-title {
    font-size: 13px;
    font-weight: 700;
    color: #0F172A;
}
.vp-plc-sub {
    font-size: 11.5px;
    color: #64748B;
    line-height: 1.35;
}
.vp-plc-badges {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 2px;
}
.vp-plc-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 11px;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 6px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    font-size: 11.5px;
    font-weight: 600;
    color: #334155;
    transition: all 0.2s ease;
}
.vp-plc-badge:hover {
    border-color: #3C5A5A;
    box-shadow: 0 2px 6px rgba(60, 90, 90, 0.12);
    transform: translateY(-1px);
}
.vp-plc-badge svg {
    display: block;
}

/* Checkout shipping carrier badges */
.vp-checkout-carrier-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10.5px;
    font-weight: 800;
    padding: 2px 7px;
    border-radius: 3px;
    margin-right: 6px;
    letter-spacing: 0.02em;
    vertical-align: middle;
}
.vp-pill-dhl {
    background: #FFCC00;
    color: #D40511;
    font-style: italic;
    box-shadow: 0 1px 2px rgba(0,0,0,0.1);
}
.vp-pill-fedex {
    background: #4D148C;
    color: #FFFFFF;
    box-shadow: 0 1px 2px rgba(0,0,0,0.1);
}
.vp-pill-ups {
    background: #351C15;
    color: #FFB500;
    box-shadow: 0 1px 2px rgba(0,0,0,0.1);
}
.vp-checkout-method-name {
    font-weight: 600;
    color: #1E293B;
}
.vp-checkout-method-cost {
    font-weight: 700;
    color: #0F172A;
}

/* --- VENPICK DESIGNER PDP STYLES --- */

/* UNIVERSAL INTER FONT ENFORCEMENT - IDENTICAL TO DESIGNER MOCKUP */
.vp-dp-container,
.vp-dp-container *,
.vp-dp-container h1,
.vp-dp-container h2,
.vp-dp-container h3,
.vp-dp-container h4,
.vp-dp-container h5,
.vp-dp-container h6,
.vp-dp-container p,
.vp-dp-container span,
.vp-dp-container div,
.vp-dp-container button,
.vp-dp-container input,
.vp-dp-container select,
.vp-dp-container a,
.vp-dp-container li,
.vp-dp-container td,
.vp-dp-container th {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeLegibility !important;
}
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* ==========================================================================
   VENPICK UNIVERSAL DESIGNER SINGLE PRODUCT PAGE (PDP) - BRAND HARMONY
   Colors: VenPick Surgical Sage-Teal (#3C5A5A / #244B4B)
   Zero blue tints. Zero grey focus rectangles.
   ========================================================================== */

/* Page Background & Reset for Single Product */
body.single-product {
    background-color: #FDFDFE !important;
}

body.single-product #content.site-content,
body.single-product .site-main {
    background-color: #FDFDFE !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

body.single-product .storefront-breadcrumb,
body.single-product .woocommerce-breadcrumb,
body.single-product .woocommerce-products-carousel {
    display: none !important;
}

/* ==========================================================================
   HEADER SEARCH BAR - IDENTICAL TO HOMEPAGE DESIGN
   ========================================================================== */
body.single-product .header-search,
.site-header .header-search {
    flex: 1 1 auto;
    width: 100%;
    max-width: 580px;
}

body.single-product .header-search form,
.site-header .header-search form {
    display: flex !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    align-items: center !important;
}

body.single-product .header-search .search-field,
.site-header .header-search .search-field {
    width: 100% !important;
    height: 40px !important;
    padding: 0 48px 0 20px !important;
    border: 1px solid rgba(15, 23, 42, 0.09) !important;
    border-radius: 9999px !important;
    font-size: 13.5px !important;
    font-family: inherit !important;
    background: #F8FAFB !important;
    color: #111827 !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
    outline: none !important;
}

body.single-product .header-search .search-field::placeholder,
.site-header .header-search .search-field::placeholder {
    color: #9CA3AF !important;
    font-size: 13px !important;
}

body.single-product .header-search .search-field:focus,
.site-header .header-search .search-field:focus {
    outline: none !important;
    border-color: #00967C !important;
    background: #FFFFFF !important;
    box-shadow: 0 0 0 3px rgba(87, 183, 219, 0.15) !important;
}

body.single-product .header-search .search-submit,
.site-header .header-search .search-submit {
    position: absolute !important;
    right: 5px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: #3C5A5A !important;
    color: #FFFFFF !important;
    border: none !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s ease, transform 0.2s ease !important;
    padding: 0 !important;
    box-shadow: 0 2px 6px rgba(87, 183, 219, 0.3) !important;
}

body.single-product .header-search .search-submit:hover,
.site-header .header-search .search-submit:hover {
    background: #2F4747 !important;
    transform: translateY(-50%) scale(1.05) !important;
}

body.single-product .header-search .search-submit i,
body.single-product .header-search .search-submit svg {
    color: #FFFFFF !important;
    font-size: 13px !important;
}

/* ==========================================================================
   GLOBAL RESET FOR BUTTONS & FOCUS (ELIMINATES UGLY GREY RECTANGLES)
   ========================================================================== */
.vp-dp-container button,
.vp-dp-container .vp-dp-tab-btn,
.vp-dp-container .vp-dp-acc-trigger,
.vp-dp-container .vp-dp-action-pill,
.vp-dp-container .vp-dp-nav-arrow,
.vp-dp-container .vp-dp-thumb,
.vp-dp-container .vp-dp-m-thumb {
    outline: none !important;
    -webkit-tap-highlight-color: transparent !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}

.vp-dp-container button:focus,
.vp-dp-container button:active,
.vp-dp-container .vp-dp-tab-btn:focus,
.vp-dp-container .vp-dp-tab-btn:active,
.vp-dp-container .vp-dp-acc-trigger:focus,
.vp-dp-container .vp-dp-acc-trigger:active,
.vp-dp-container .vp-dp-action-pill:focus,
.vp-dp-container .vp-dp-action-pill:active {
    outline: none !important;
    box-shadow: none !important;
    background-color: transparent !important;
}

/* Master Container */
.vp-dp-container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 20px 20px 60px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeLegibility !important;
    color: #111827;
    box-sizing: border-box;
}

.vp-dp-container * {
    box-sizing: border-box;
}

/* Breadcrumbs */
.vp-dp-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    color: #6B7280;
    margin-bottom: 18px;
    overflow-x: auto;
    white-space: nowrap;
}

.vp-dp-breadcrumbs a {
    color: #6B7280;
    text-decoration: none;
    transition: color 0.15s ease;
}

.vp-dp-breadcrumbs a:hover {
    color: #3C5A5A;
}

.vp-dp-bc-sep {
    color: #9CA3AF;
    font-size: 14px;
}

.vp-dp-bc-current {
    color: #111827;
    font-weight: 600;
}

/* Base Card */
.vp-dp-card {
    background: #FFFFFF;
    border-radius: 16px;
    border: 1px solid #E5EBEB;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
}

/* ==========================================================================
   TOP ROW: Gallery Card + Buy Box Card
   ========================================================================== */
.vp-dp-top-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(380px, 0.82fr);
    gap: 24px;
    margin-bottom: 24px;
}

/* LEFT CARD: Media Gallery */
.vp-dp-media-card {
    padding: 20px;
    position: relative;
}

.vp-dp-gallery-inner {
    display: flex;
    gap: 16px;
    align-items: stretch;
}

/* Vertical Thumbnails Strip (Desktop) */
.vp-dp-thumbs-strip {
    width: 74px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex-shrink: 0;
}

.vp-dp-thumb {
    width: 72px;
    height: 72px;
    border-radius: 10px !important;
    border: 1px solid #E2ECEA !important;
    background: #F8FAFA !important;
    overflow: hidden;
    cursor: pointer;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
    transition: all 0.2s ease;
}

.vp-dp-thumb:hover {
    border-color: #00967C !important;
}

.vp-dp-thumb.active {
    border: 2px solid #00967C !important;
    background: #FFFFFF !important;
}

.vp-dp-thumb img {
    max-width: 90%;
    max-height: 90%;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.vp-dp-thumb-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.48);
    color: #FFFFFF;
    font-weight: 700;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

/* Main Product Stage */
.vp-dp-main-stage {
    flex: 1;
    min-height: 480px;
    background: #FDFDFE;
    border-radius: 14px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.vp-dp-image-container {
    width: 100%;
    height: 100%;
    min-height: 480px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 40px;
}

#vp-dp-main-image {
    max-width: 90%;
    max-height: 390px;
    object-fit: contain;
    mix-blend-mode: multiply;
    transition: opacity 0.2s ease;
}

/* Circular Navigation Arrows */
.vp-dp-nav-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #FFFFFF;
    border: 1px solid #E5EBEB;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #244B4B;
    z-index: 5;
    transition: all 0.2s ease;
    padding: 0;
}

.vp-dp-nav-arrow:hover {
    background: #EDF3F1;
    border-/* cat-label uses blue */ color: #57B7DB;
    color: #3C5A5A;
    transform: translateY(-50%) scale(1.05);
}

.vp-dp-nav-prev { left: 14px; }
.vp-dp-nav-next { right: 14px; }

/* 3D Model Stage */
.vp-dp-3d-stage {
    width: 100%;
    height: 100%;
    min-height: 480px;
    position: relative;
}

.vp-dp-3d-stage model-viewer {
    width: 100%;
    height: 480px;
    --poster-color: transparent;
}

.vp-dp-exit-3d-btn {
    position: absolute;
    top: 14px;
    right: 14px;
    background: #FFFFFF;
    border: 1px solid #D1D5DB;
    border-radius: 20px;
    padding: 5px 13px;
    font-size: 11.5px;
    font-weight: 700;
    color: #374151;
    cursor: pointer;
    z-index: 10;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* Bottom Action Pills (Desktop Stage) - VenPick Brand Styling */
.vp-dp-stage-pills {
    position: absolute;
    bottom: 18px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 12px;
    z-index: 10;
}

.vp-dp-action-pill {
    background: #FFFFFF !important;
    border: 1px solid #D1DBE0 !important;
    border-radius: 30px !important;
    padding: 8px 18px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #3A7D78 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: all 0.2s ease !important;
}

.vp-dp-action-pill:hover,
.vp-dp-action-pill.active {
    background: #F2F7F9 !important;
    border-color: #A8C5C8 !important;
    color: #2C6B67 !important;
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(0,0,0,0.09) !important;
}

.vp-dp-action-pill svg.vp-pill-icon,
.vp-dp-action-pill svg.vp-pill-icon path,
.vp-dp-action-pill svg.vp-pill-icon polyline,
.vp-dp-action-pill svg.vp-pill-icon line,
.vp-dp-action-pill svg.vp-pill-icon rect {
    width: 16px !important;
    height: 16px !important;
    stroke: #3A7D78 !important;
    color: #3A7D78 !important;
}

.vp-dp-action-pill svg.vp-pill-chev,
.vp-dp-action-pill svg.vp-pill-chev polyline {
    width: 13px !important;
    height: 13px !important;
    stroke: #3A7D78 !important;
    color: #00967C !important;
}

/* Mobile Gallery Adjustments */
.vp-dp-mobile-top-pills { display: none; }
.vp-dp-mobile-thumbs { display: none; }
.vp-dp-mobile-action-cards { display: none; }

/* ==========================================================================
   RIGHT CARD: Buy Box & Product Info
   ========================================================================== */
.vp-dp-buybox-card {
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
}

.vp-dp-cat-label {
    color: #57B7DB;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 6px;
}

.vp-dp-title {
    color: #111827;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 10px;
    letter-spacing: -0.02em;
}

/* Subtitle */
.vp-dp-subtitle {
    color: #4B5563;
    font-size: 13px;
    color: #475569;
    line-height: 1.5;
    margin: 0 0 16px;
}

/* Price Row */
.vp-dp-price-row {
    display: flex;
    align-items: baseline;
    margin-bottom: 18px;
}

.vp-dp-price-current,
.vp-dp-price-current .woocommerce-Price-amount {
    font-size: 24px;
    font-weight: 700;
    color: #0F172A;
    letter-spacing: -0.02em;
}

.vp-dp-price-regular,
.vp-dp-price-regular .woocommerce-Price-amount {
    font-size: 16px;
    color: #9CA3AF;
    text-decoration: line-through;
    margin-left: 10px;
}

.vp-dp-price-discount {
    background: #FFE8E8;
    color: #EF4444;
    font-size: 11px;
    font-weight: 800;
    padding: 3px 8px;
    border-radius: 6px;
    margin-left: 10px;
    letter-spacing: 0.02em;
}

/* Quantity & Add to Cart Row - Compact & Refined Designer Scale */
.vp-dp-purchase-area {
    margin-bottom: 18px;
}

.vp-dp-cart-form {
    margin: 0;
}

.vp-dp-cart-row {
    display: flex;
    gap: 10px;
    align-items: center;
}

.vp-dp-qty-stepper {
    display: flex;
    align-items: center;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    height: 42px;
    background: #F8FAFC;
    flex-shrink: 0;
}

.vp-dp-qty-btn {
    width: 32px;
    height: 100%;
    border: none;
    background: none;
    font-size: 15px;
    font-weight: 500;
    color: #64748B;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s ease, color 0.15s ease;
}

.vp-dp-qty-btn:hover {
    background: #EDF2F7;
    color: #0F172A;
}

.vp-dp-qty-input {
    width: 36px;
    height: 100%;
    border: none;
    text-align: center;
    font-size: 13.5px;
    font-weight: 600;
    color: #0F172A;
    background: none;
    -moz-appearance: textfield;
}

.vp-dp-qty-input::-webkit-outer-spin-button,
.vp-dp-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.vp-dp-add-to-cart-btn {
    background: #174240 !important;
    color: #FFFFFF !important;
    height: 42px !important;
    border-radius: 8px !important;
    border: none !important;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(23, 66, 64, 0.20) !important;
    transition: all 0.2s ease !important;
    text-transform: none !important;
    padding: 0 16px !important;
}

.vp-dp-add-to-cart-btn:hover {
    background: #0E302E !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(23, 66, 64, 0.30) !important;
}

/* Trust Badges (3 items in soft teal pill card) */
.vp-dp-trust-badges {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 16px !important;
    padding: 12px 16px !important;
    background: #F3F9F8 !important;
    border: 1px solid #E2F2EE !important;
    border-radius: 12px !important;
}

.vp-dp-trust-item {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex: 1 !important;
}

.vp-dp-trust-item svg,
.vp-dp-trust-item svg path,
.vp-dp-trust-item svg rect {
    stroke: #00967C !important;
    color: #00967C !important;
    flex-shrink: 0 !important;
}

.vp-dp-trust-text {
    display: flex !important;
    flex-direction: column !important;
    text-align: left !important;
}

.vp-dp-trust-text strong {
    font-size: 11.5px !important;
    font-weight: 700 !important;
    color: #083D35 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
}

.vp-dp-trust-text span {
    font-size: 10px !important;
    font-weight: 500 !important;
    color: #2E6B61 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

/* Shipping Partners Strip */
.vp-dp-logistics-strip {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px dashed #E5EBEB;
}

.vp-dp-logistics-head {
    font-size: 11px;
    font-weight: 700;
    color: #6B7280;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
}

.vp-dp-carrier-pills {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.vp-dp-carrier-pill {
    background: #F8FAFA;
    border: 1px solid #E5E9E9;
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 10.5px;
    color: #4B5563;
}

/* ==========================================================================
   LOWER ROW: Tabs Column (Left) + Accordion Drawer (Right)
   ========================================================================== */
.vp-dp-lower-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(380px, 0.82fr);
    gap: 24px;
    align-items: start;
}

/* Tabs Navigation Bar (No Reviews) */
.vp-dp-tabs-nav {
    display: flex !important;
    gap: 32px !important;
    border-bottom: 2px solid #E5EBEB !important;
    padding-bottom: 0 !important;
    margin-bottom: 16px !important;
    position: relative !important;
}

.vp-dp-tab-btn {
    background: transparent !important;
    border: none !important;
    border-bottom: 3px solid transparent !important;
    padding: 8px 4px 12px 4px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #64748B !important;
    letter-spacing: -0.01em !important;
    cursor: pointer !important;
    position: relative !important;
    margin-bottom: -2px !important;
    transition: color 0.15s ease, border-color 0.15s ease !important;
    outline: none !important;
    box-shadow: none !important;
    user-select: none !important;
}

.vp-dp-tab-btn:hover {
    color: #00967C !important;
    background: transparent !important;
}

.vp-dp-tab-btn.active {
    color: #00967C !important;
    font-weight: 700 !important;
    border-bottom: 3px solid #00967C !important;
    background: transparent !important;
}

.vp-dp-tab-btn.active::after {
    display: none !important;
}

/* Tab Content Panel */
.vp-dp-tab-panel {
    padding: 24px;
    margin-bottom: 24px;
}

.vp-dp-panel-heading {
    font-size: 16px;
    font-weight: 700;
    color: #0F172A;
    margin: 0 0 10px;
    letter-spacing: -0.01em;
}

.vp-dp-desc-layout {
    display: flex;
    gap: 24px;
}

.vp-dp-desc-main {
    flex: 1.2;
}

.vp-dp-desc-text {
    color: #334155;
    font-size: 13px;
    line-height: 1.55;
    color: #475569;
}

.vp-dp-desc-text p {
    margin-bottom: 12px;
    color: #334155;
}

/* Key Features Checkmark Card - VenPick Soft Sage Tint */
.vp-dp-kf-card {
    flex: 1;
    max-width: 320px;
    background: #EDF3F1;
    border: 1px solid #DCE7E5;
    border-radius: 12px;
    padding: 18px 20px;
    height: fit-content;
}

.vp-dp-kf-title {
    font-size: 14px;
    font-weight: 800;
    color: #111827;
    margin: 0 0 12px;
}

.vp-dp-kf-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.vp-dp-kf-list li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 12.5px;
    color: #2D3748;
    line-height: 1.45;
    margin-bottom: 10px;
}

.vp-dp-kf-list li:last-child {
    margin-bottom: 0;
}

.vp-dp-check {
    color: #00967C !important;
    flex-shrink: 0;
    margin-top: 2px;
}

/* Specifications Table */
.vp-dp-specs-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    margin-top: 10px;
}

.vp-dp-specs-table th {
    width: 35%;
    padding: 10px 14px;
    text-align: left;
    font-weight: 600;
    color: #6B7280;
    background: #F9FAFA;
    border-bottom: 1px solid #E5EBEB;
}

.vp-dp-specs-table td {
    padding: 10px 14px;
    color: #111827;
    font-weight: 500;
    border-bottom: 1px solid #E5EBEB;
}

/* "You May Also Like" Grid */
.vp-dp-related-section {
    margin-top: 16px;
}

.vp-dp-related-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.vp-dp-related-title {
    font-size: 15px;
    font-weight: 800;
    color: #111827;
    margin: 0;
}

.vp-dp-view-all {
    color: #00967C;
    font-size: 12.5px;
    font-weight: 700;
    text-decoration: none;
}

.vp-dp-view-all:hover {
    text-decoration: underline;
}

.vp-dp-related-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.vp-dp-rel-card {
    background: #FFFFFF;
    border: 1px solid #E5EBEB;
    border-radius: 10px;
    padding: 14px 10px;
    text-align: center;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: all 0.2s ease;
}

.vp-dp-rel-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
    border-color: #D6E4E2;
}

.vp-dp-rel-img-wrap {
    width: 100%;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vp-dp-rel-img-wrap img {
    max-width: 80%;
    max-height: 90px;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.vp-dp-rel-meta {
    margin-top: 10px;
}

.vp-dp-rel-sku {
    font-size: 12px;
    font-weight: 700;
    color: #374151;
}

/* ==========================================================================
   RIGHT COLUMN: "Additional Information" Drawer / Accordion Card
   ========================================================================== */
.vp-dp-ai-card {
    padding: 22px 20px;
    height: fit-content;
}

.vp-dp-ai-title {
    font-size: 16px;
    font-weight: 800;
    color: #111827;
    margin: 0 0 12px;
}

.vp-dp-accordion-item {
    border-bottom: 1px solid #F0F4F4;
    background: transparent !important;
}

.vp-dp-accordion-item:last-child {
    border-bottom: none;
}

.vp-dp-acc-trigger {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 14px 4px !important;
    background: transparent !important;
    border: none !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #4B5563 !important;
    cursor: pointer !important;
    text-align: left !important;
    transition: color 0.15s ease !important;
    outline: none !important;
    box-shadow: none !important;
    user-select: none !important;
}

.vp-dp-acc-trigger:hover,
.vp-dp-accordion-item.active .vp-dp-acc-trigger {
    color: #00967C !important;
    background: transparent !important;
}

.vp-dp-acc-left {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.vp-dp-acc-left svg,
.vp-dp-acc-icon {
    width: 20px !important;
    height: 20px !important;
    color: #00967C !important;
    stroke: #00967C !important;
    flex-shrink: 0 !important;
}

.vp-dp-acc-left svg path,
.vp-dp-acc-left svg polyline,
.vp-dp-acc-left svg line,
.vp-dp-acc-left svg rect,
.vp-dp-acc-left svg circle {
    stroke: #00967C !important;
}

.vp-dp-acc-left span {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #1F2937 !important;
    transition: color 0.15s ease !important;
}

.vp-dp-accordion-item.active .vp-dp-acc-left span {
    color: #00967C !important;
}

.vp-dp-acc-chev {
    color: #9CA3AF !important;
    stroke: #9CA3AF !important;
    transition: transform 0.2s ease;
}

.vp-dp-accordion-item.active .vp-dp-acc-chev {
    transform: rotate(90deg);
}

.vp-dp-acc-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.25s ease;
    background: transparent !important;
}

.vp-dp-accordion-item.active .vp-dp-acc-body {
    max-height: 350px;
}

.vp-dp-acc-inner {
    padding: 0 4px 14px;
    font-size: 12.5px;
    color: #6B7280;
    line-height: 1.55;
    background: transparent !important;
}

.vp-dp-acc-inner p {
    margin: 0 0 8px;
}

.vp-dp-acc-inner p:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   DESKTOP AR QR CODE MODAL
   ========================================================================== */
.vp-dp-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    backdrop-filter: blur(4px);
}

.vp-dp-modal-card {
    background: #0D1E1E;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 20px;
    max-width: 440px;
    width: 100%;
    padding: 28px 24px;
    text-align: center;
    position: relative;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
    color: #FFFFFF;
}

.vp-dp-modal-close {
    position: absolute;
    top: 12px;
    right: 14px;
    background: none;
    border: none;
    color: #FFFFFF;
    font-size: 24px;
    cursor: pointer;
    line-height: 1;
}

.vp-dp-modal-badge {
    background: rgba(60, 90, 90, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #A3D9D9;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 3px 10px;
    border-radius: 14px;
    display: inline-block;
    margin-bottom: 10px;
}

.vp-dp-modal-title {
    font-size: 20px;
    font-weight: 800;
    margin: 0 0 8px;
    color: #FFFFFF;
}

.vp-dp-modal-sub {
    font-size: 12.5px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.45;
    margin-bottom: 20px;
}

.vp-dp-modal-qr-wrap {
    background: #FFFFFF;
    border-radius: 14px;
    padding: 14px;
    display: inline-block;
    margin-bottom: 14px;
}

.vp-dp-qr-img {
    width: 220px;
    height: 220px;
    display: block;
}

.vp-dp-modal-foot {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
}

.vp-dp-modal-foot a {
    color: #A3D9D9;
    text-decoration: none;
    font-weight: 600;
}

/* ==========================================================================
   MOBILE RESPONSIVE BREAKPOINTS (MATCHING MOBILE SCREENSHOT EXACTLY)
   ========================================================================== */
@media (max-width: 1023px) {
    .vp-dp-container {
        padding: 14px 14px 50px;
    }

    .vp-dp-top-grid,
    .vp-dp-lower-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    /* Left Card on Mobile */
    .vp-dp-media-card {
        padding: 14px;
    }

    /* Mobile Quick Top Pills */
    .vp-dp-mobile-top-pills {
        display: flex;
        justify-content: space-between;
        margin-bottom: 12px;
    }

    .vp-dp-top-pill {
        background: #FFFFFF !important;
        border: 1px solid #BDE7E0 !important;
        border-radius: 20px !important;
        padding: 6px 14px !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        color: #00967C !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        cursor: pointer !important;
    }

    .vp-dp-top-pill svg {
        color: #3C5A5A !important;
    }

    .vp-dp-thumbs-strip {
        display: none;
    }

    .vp-dp-stage-pills {
        display: none;
    }

    .vp-dp-main-stage {
        min-height: 340px;
    }

    .vp-dp-image-container {
        min-height: 340px;
        padding: 16px;
    }

    #vp-dp-main-image {
        max-height: 280px;
    }

    /* Horizontal Thumbnails Row below Image on Mobile */
    .vp-dp-mobile-thumbs {
        display: flex;
        gap: 8px;
        margin-top: 14px;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .vp-dp-m-thumb {
        width: 60px;
        height: 60px;
        border-radius: 8px;
        border: 1px solid #E5E9E9;
        background: #F8FAFA;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 4px;
        position: relative;
        cursor: pointer;
    }

    .vp-dp-m-thumb.active {
        border: 2px solid #00967C !important;
    }

    .vp-dp-m-thumb img {
        max-width: 90%;
        max-height: 90%;
        object-fit: contain;
    }

    /* Mobile Action Cards below Buy Box */
    .vp-dp-mobile-action-cards {
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-top: 16px;
    }

    .vp-dp-m-action-btn {
        background: #FFFFFF !important;
        border: 1px solid #BDE7E0 !important;
        border-radius: 12px !important;
        padding: 13px 16px !important;
        font-size: 13.5px !important;
        font-weight: 700 !important;
        color: #00967C !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        cursor: pointer !important;
    }

    .vp-dp-m-action-left {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .vp-dp-m-action-left svg {
        color: #3C5A5A !important;
    }

    /* Desc Layout on Mobile */
    .vp-dp-desc-layout {
        flex-direction: column;
        gap: 16px;
    }

    .vp-dp-kf-card {
        max-width: 100%;
    }

    /* Related Products 2 Columns on Mobile */
    .vp-dp-related-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
}


/* ==========================================================================
   DESIGNER 1:1 COMPACT REFINEMENTS (BUTTONS, BADGES, LOWER SECTION TEXT)
   ========================================================================== */

/* 1. QUANTITY STEPPER - NEAT 38PX COMPACT PILL */
.vp-dp-qty-stepper {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 8px !important;
    height: 38px !important;
    background: #FFFFFF !important;
    overflow: hidden !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
    flex-shrink: 0 !important;
}

.vp-dp-qty-btn {
    width: 32px !important;
    height: 38px !important;
    border: none !important;
    background: transparent !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #94A3B8 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.15s ease !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
}

.vp-dp-qty-btn:hover {
    background: #F8FAFC !important;
    color: #0F172A !important;
}

.vp-dp-qty-input {
    width: 36px !important;
    height: 38px !important;
    border: none !important;
    border-left: 1px solid #F1F5F9 !important;
    border-right: 1px solid #F1F5F9 !important;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #1E293B !important;
    background: #FFFFFF !important;
    padding: 0 !important;
    margin: 0 !important;
    -moz-appearance: textfield !important;
}

/* 2. ADD TO CART BUTTON - 38PX COMPACT DESIGNER SCALE */
.vp-dp-add-to-cart-btn {
    background: #1B4D4B !important;
    color: #FFFFFF !important;
    height: 38px !important;
    border-radius: 8px !important;
    border: none !important;
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    cursor: pointer !important;
    box-shadow: 0 1px 3px rgba(27, 77, 75, 0.2) !important;
    transition: all 0.2s ease !important;
    text-transform: none !important;
    padding: 0 16px !important;
    margin: 0 !important;
}

.vp-dp-add-to-cart-btn:hover {
    background: #143A39 !important;
    box-shadow: 0 3px 8px rgba(27, 77, 75, 0.3) !important;
    transform: translateY(-1px) !important;
}

.vp-dp-add-to-cart-btn svg {
    width: 15px !important;
    height: 15px !important;
    stroke-width: 1.8 !important;
}

/* 3. TRUST BADGES - COMPACT SOFT MINT TINT PILL */
.vp-dp-trust-badges {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 14px !important;
    padding: 8px 12px !important;
    background: #F3F9F8 !important;
    border: 1px solid #E2F2EE !important;
    border-radius: 8px !important;
}

.vp-dp-trust-item {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex: 1 !important;
}

.vp-dp-trust-item svg {
    width: 16px !important;
    height: 16px !important;
    stroke: #00967C !important;
    color: #00967C !important;
    flex-shrink: 0 !important;
}

.vp-dp-trust-text {
    display: flex !important;
    flex-direction: column !important;
    text-align: left !important;
    line-height: 1.2 !important;
}

.vp-dp-trust-text strong {
    font-size: 10px !important;
    font-weight: 600 !important;
    color: #0F172A !important;
    white-space: nowrap !important;
    letter-spacing: -0.01em !important;
}

.vp-dp-trust-text span {
    font-size: 9px !important;
    font-weight: 400 !important;
    color: #64748B !important;
    white-space: nowrap !important;
}

/* 4. TABS NAVIGATION */
.vp-dp-tabs-nav {
    display: flex !important;
    gap: 28px !important;
    border-bottom: 1.5px solid #E2E8F0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 14px !important;
}

.vp-dp-tab-btn {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #64748B !important;
    padding: 6px 2px 10px 2px !important;
    border-bottom: 2.5px solid transparent !important;
    margin-bottom: -1.5px !important;
    letter-spacing: -0.01em !important;
}

.vp-dp-tab-btn.active {
    color: #00967C !important;
    font-weight: 600 !important;
    border-bottom: 2.5px solid #00967C !important;
}

/* 5. DESCRIPTION & KEY FEATURES CARD */
.vp-dp-panel-heading {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #0F172A !important;
    margin: 0 0 8px !important;
    letter-spacing: -0.01em !important;
}

.vp-dp-desc-text,
.vp-dp-desc-text p {
    font-size: 13.5px !important;
    font-weight: 400 !important;
    color: #334155 !important;
    line-height: 1.65 !important;
    margin-bottom: 8px !important;
}

/* KEY FEATURES - AIRY & CLEAN (MATCHES DESIGNER REFERENCE) */
.vp-dp-kf-card {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 0 0 16px !important;
    border-left: 1px solid #F1F5F9 !important;
    max-width: 300px !important;
}

.vp-dp-kf-title {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #0F172A !important;
    margin: 0 0 10px !important;
    letter-spacing: -0.01em !important;
}

.vp-dp-kf-list li {
    font-size: 12.5px !important;
    font-weight: 400 !important;
    color: #64748B !important;
    line-height: 1.45 !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
}

.vp-dp-check {
    color: #00967C !important;
    width: 14px !important;
    height: 14px !important;
    margin-top: 2px !important;
}

/* 6. ADDITIONAL INFORMATION ACCORDION */
.vp-dp-ai-card {
    padding: 18px 18px !important;
}

.vp-dp-ai-title {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #0F172A !important;
    margin: 0 0 10px !important;
    letter-spacing: -0.01em !important;
}

.vp-dp-accordion-item {
    border-bottom: 1px solid #F1F5F9 !important;
}

.vp-dp-acc-trigger {
    padding: 10px 0 !important;
}

.vp-dp-acc-left {
    gap: 10px !important;
}

.vp-dp-acc-left svg,
.vp-dp-acc-icon {
    width: 17px !important;
    height: 17px !important;
    stroke: #00967C !important;
    color: #00967C !important;
}

.vp-dp-acc-left span {
    font-size: 12.5px !important;
    font-weight: 400 !important;
    color: #475569 !important;
    letter-spacing: -0.01em !important;
}

.vp-dp-accordion-item.active .vp-dp-acc-left span {
    font-weight: 600 !important;
    color: #00967C !important;
}

.vp-dp-acc-chev {
    width: 14px !important;
    height: 14px !important;
    stroke: #94A3B8 !important;
    color: #94A3B8 !important;
}

.vp-dp-acc-inner {
    font-size: 12px !important;
    color: #64748B !important;
    line-height: 1.5 !important;
    padding: 0 0 10px 0 !important;
}


/* ==========================================================================
   FINAL REFERENCE-MATCH BLOCK  — appended last, highest specificity
   Pixel-matches the clean reference design image provided by user
   ========================================================================== */

/* ── PAGE BACKGROUND ── cool light blue-grey matching reference */
body.single-product,
body.single-product #content.site-content,
body.single-product .site-main,
body.single-product #main {
    background: #FDFDFE !important;
    background-color: #FDFDFE !important;
    background-image: none !important;
}

/* ── CATEGORY LABEL ── */
.vp-dp-cat-label {
    color: #57B7DB !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    margin-bottom: 6px !important;
}

/* ── SEARCH ICON BUTTON ── */
body.single-product .header-search .search-submit,
.site-header .header-search .search-submit {
    background: #3C5A5A !important;
    box-shadow: 0 2px 6px rgba(60, 90, 90, 0.25) !important;
}
body.single-product .header-search .search-submit:hover,
.site-header .header-search .search-submit:hover {
    background: #2F4747 !important;
}
body.single-product .header-search .search-field:focus,
.site-header .header-search .search-field:focus {
    border-color: #3C5A5A !important;
    box-shadow: 0 0 0 3px rgba(60, 90, 90, 0.12) !important;
}

/* ── TABS NAV ── reference: clean grey text, blue underline on active */
.vp-dp-tabs-nav {
    gap: 24px !important;
    border-bottom: 1.5px solid #E8EEF2 !important;
    margin-bottom: 18px !important;
}
.vp-dp-tab-btn {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #64748B !important;
    padding: 7px 2px 11px !important;
    border-bottom: 2.5px solid transparent !important;
    background: transparent !important;
    margin-bottom: -1.5px !important;
    transition: color 0.15s, border-color 0.15s !important;
}
.vp-dp-tab-btn:hover {
    color: #334155 !important;
    background: transparent !important;
}
.vp-dp-tab-btn.active {
    color: #1A9DB5 !important;
    font-weight: 600 !important;
    border-bottom: 2.5px solid #1A9DB5 !important;
    background: transparent !important;
}

/* ── DESCRIPTION PANEL ── clean white, no tint */
.vp-dp-tab-panel {
    background: #FFFFFF !important;
    border: 1px solid #EEF2F6 !important;
    border-radius: 10px !important;
    padding: 22px 22px !important;
    margin-bottom: 0 !important;
}

/* ── PRODUCT DESCRIPTION heading ── */
.vp-dp-panel-heading {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    margin: 0 0 8px !important;
    letter-spacing: -0.015em !important;
}

/* ── DESCRIPTION BODY TEXT ── dark slate, no teal, ref style */
.vp-dp-desc-text,
.vp-dp-desc-text p,
.vp-dp-desc-text li,
.vp-dp-tab-panel .vp-dp-desc-text,
.vp-dp-tab-panel p {
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    margin-bottom: 0 !important;
}

/* ── KEY FEATURES CARD ── pure white, thin left border, no tinted box */
.vp-dp-kf-card {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    border-left: 1.5px solid #E8EEF2 !important;
    padding: 0 0 0 18px !important;
    max-width: 290px !important;
    box-shadow: none !important;
}

/* ── KEY FEATURES TITLE ── */
.vp-dp-kf-title {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    margin: 0 0 10px !important;
    letter-spacing: -0.01em !important;
}

/* ── KEY FEATURES LIST ITEMS ── dark text, not teal */
.vp-dp-kf-list li,
.vp-dp-kf-list li span,
.vp-dp-kf-list li p {
    font-size: 12.5px !important;
    font-weight: 400 !important;
    color: #475569 !important;
    line-height: 1.45 !important;
    gap: 8px !important;
    margin-bottom: 7px !important;
}
.vp-dp-kf-list li:last-child {
    margin-bottom: 0 !important;
}

/* ── CHECKMARK ICON ── reference: small dark teal/slate, not bright green */
.vp-dp-check {
    color: #00967C !important;
    width: 13px !important;
    height: 13px !important;
    margin-top: 3px !important;
    flex-shrink: 0 !important;
    stroke-width: 2.5 !important;
    opacity: 0.75 !important;
}

/* ── ADDITIONAL INFORMATION CARD ── reference exact match */
.vp-dp-ai-card {
    padding: 20px 20px !important;
    background: #FFFFFF !important;
    border: 1px solid #EEF2F6 !important;
    border-radius: 10px !important;
}
.vp-dp-ai-title {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    margin: 0 0 14px !important;
    letter-spacing: -0.01em !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
}

/* ── ACCORDION ROWS ── */
.vp-dp-accordion-item {
    border-top: 1px solid #F1F5F9 !important;
    border-bottom: none !important;
}
.vp-dp-accordion-item:last-child {
    border-bottom: 1px solid #F1F5F9 !important;
}
.vp-dp-acc-trigger {
    padding: 11px 0 !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
}
.vp-dp-acc-left {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
}

/* Icon stroke — keep subtle teal accent */
.vp-dp-acc-icon,
.vp-dp-acc-left > svg,
.vp-dp-acc-left > svg:first-child {
    width: 16px !important;
    height: 16px !important;
    stroke: #00967C !important;
    color: #00967C !important;
    flex-shrink: 0 !important;
    opacity: 0.8 !important;
}
.vp-dp-acc-left svg path,
.vp-dp-acc-left svg polyline,
.vp-dp-acc-left svg line,
.vp-dp-acc-left svg rect,
.vp-dp-acc-left svg circle {
    stroke: #00967C !important;
}

/* Row label text */
.vp-dp-acc-left span {
    font-size: 12.5px !important;
    font-weight: 400 !important;
    color: #374151 !important;
    letter-spacing: -0.005em !important;
    line-height: 1.3 !important;
}

/* Hover and active row states — stay dark, no teal text */
.vp-dp-acc-trigger:hover .vp-dp-acc-left span {
    color: #0F172A !important;
    font-weight: 500 !important;
}
.vp-dp-accordion-item.active .vp-dp-acc-left span {
    color: #0F172A !important;
    font-weight: 500 !important;
}

/* Chevron */
.vp-dp-acc-chev {
    width: 14px !important;
    height: 14px !important;
    stroke: #9CA3AF !important;
    color: #9CA3AF !important;
    flex-shrink: 0 !important;
    transition: transform 0.22s ease !important;
}
.vp-dp-accordion-item.active .vp-dp-acc-chev {
    transform: rotate(90deg) !important;
    stroke: #64748B !important;
    color: #64748B !important;
}

/* Accordion body */
.vp-dp-acc-body {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.25s ease !important;
}
.vp-dp-accordion-item.active .vp-dp-acc-body {
    max-height: 500px !important;
}
.vp-dp-acc-inner,
.vp-dp-acc-inner p {
    font-size: 12px !important;
    color: #6B7280 !important;
    line-height: 1.55 !important;
    padding: 2px 0 10px 27px !important;
    margin: 0 !important;
}

/* ── EXTRA: ensure all wrapper areas also get the cool background ── */
body.single-product .woocommerce,
body.single-product .woocommerce-page,
body.single-product #page,
body.single-product .site,
body.single-product .site-content {
    background: #FDFDFE !important;
    background-color: #FDFDFE !important;
    background-image: none !important;
}
/* Action pills final override - ensure muted teal icon */
.vp-dp-action-pill,
.vp-dp-action-pill svg,
.vp-dp-action-pill svg path,
.vp-dp-action-pill svg polyline,
.vp-dp-action-pill svg line,
.vp-dp-action-pill svg rect,
.vp-dp-action-pill svg circle {
    color: #3A7D78 !important;
    stroke: #3A7D78 !important;
}

/* ── THEME BODY BACKGROUND OVERRIDE ── #FDFDFE everywhere */
body.single-product,
html body.single-product,
body.woocommerce-page.single-product {
    background-color: #FDFDFE !important;
    background: #FDFDFE !important;
}
body.single-product #page,
body.single-product .site,
body.single-product #content,
body.single-product .site-content,
body.single-product #main,
body.single-product .site-main,
body.single-product .woocommerce,
body.single-product .woocommerce-page {
    background-color: #FDFDFE !important;
    background: #FDFDFE !important;
    background-image: none !important;
}

/* ==========================================================================
   HEADER REFERENCE-MATCH — Remove dark top bar, fix nav active underline
   ========================================================================== */

/* Remove dark/announcement top bar if present */
.site-header-top-bar,
.site-top-bar,
.header-top-bar,
.announcement-bar,
#top-bar,
.vp-top-bar {
    display: none !important;
}

/* Header background - clean white, no glass effect */
.site-header,
.site-header.scrolled {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    border-bottom: 1px solid #EEF2F4 !important;
    box-shadow: none !important;
}

/* Nav items - KEEP natural padding, just fix color + remove pill */
.primary-navigation ul li a,
.main-navigation ul li a {
    color: #374151 !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    background: transparent !important;
    /* Do NOT override padding - let theme handle spacing */
    position: relative !important;
    transition: color 0.15s ease !important;
}

/* Remove the blue pill background on hover/active - use underline instead */
.primary-navigation ul li a:hover,
.primary-navigation ul li.current-menu-item a,
.primary-navigation ul li.current_page_item a,
.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item a,
.main-navigation ul li.current_page_item a {
    background: transparent !important;
    color: #2E7D74 !important;
}

/* Teal bottom border on active nav item - underline style */
.primary-navigation ul li.current-menu-item > a,
.primary-navigation ul li.current_page_item > a,
.main-navigation ul li.current-menu-item > a,
.main-navigation ul li.current_page_item > a {
    border-bottom: 2.5px solid #2E7D74 !important;
    padding-bottom: 2px !important;
}

/* ==========================================================================
   ADDITIONAL INFORMATION — PIXEL-MATCH TO REFERENCE DESIGN
   Reference: Large title, generous row height, + icon, 14px label text
   ========================================================================== */

/* Card container */
.vp-dp-ai-card {
    padding: 24px 24px !important;
    background: #FFFFFF !important;
    border-radius: 12px !important;
    border: 1px solid #E8EEF2 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
}

/* Section title — reference shows ~17px bold */
.vp-dp-ai-title {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    margin: 0 0 6px !important;
    letter-spacing: -0.02em !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
}

/* Row separators */
.vp-dp-accordion-item {
    border-top: 1px solid #E8EEF2 !important;
    border-bottom: none !important;
}
.vp-dp-accordion-item:first-of-type {
    margin-top: 12px !important;
}
.vp-dp-accordion-item:last-child {
    border-bottom: 1px solid #E8EEF2 !important;
}

/* Trigger row — reference ~58px tall */
.vp-dp-acc-trigger {
    padding: 15px 0 !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    gap: 12px !important;
}

/* Left side: icon + label */
.vp-dp-acc-left {
    display: flex !important;
    align-items: center !important;
    gap: 13px !important;
    flex: 1 !important;
}

/* Icons — reference shows ~20px teal outline */
.vp-dp-acc-icon,
.vp-dp-acc-left > svg,
.vp-dp-acc-left svg {
    width: 20px !important;
    height: 20px !important;
    stroke: #2E7D74 !important;
    color: #2E7D74 !important;
    flex-shrink: 0 !important;
    opacity: 1 !important;
}
.vp-dp-acc-left svg path,
.vp-dp-acc-left svg polyline,
.vp-dp-acc-left svg line,
.vp-dp-acc-left svg rect,
.vp-dp-acc-left svg circle {
    stroke: #2E7D74 !important;
}

/* Row label — reference shows ~14px, #374151 */
.vp-dp-acc-left span {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #374151 !important;
    letter-spacing: -0.01em !important;
    line-height: 1.3 !important;
}
.vp-dp-acc-trigger:hover .vp-dp-acc-left span {
    color: #0F172A !important;
}
.vp-dp-accordion-item.active .vp-dp-acc-left span {
    color: #0F172A !important;
    font-weight: 500 !important;
}

/* PLUS / MINUS sign — reference uses + and becomes - when open */
.vp-dp-acc-plus {
    font-size: 20px !important;
    font-weight: 300 !important;
    color: #6B7280 !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    width: 20px !important;
    text-align: center !important;
    transition: transform 0.2s ease, color 0.15s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.vp-dp-accordion-item.active .vp-dp-acc-plus {
    color: #2E7D74 !important;
    transform: rotate(45deg) !important; /* + becomes × */
}

/* Accordion body */
.vp-dp-acc-body {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.28s ease !important;
}
.vp-dp-accordion-item.active .vp-dp-acc-body {
    max-height: 600px !important;
}
.vp-dp-acc-inner,
.vp-dp-acc-inner p {
    font-size: 13px !important;
    color: #6B7280 !important;
    line-height: 1.6 !important;
    padding: 0 0 14px 33px !important;
    margin: 0 0 4px !important;
}

/* ==========================================================================
   LOGISTICS STRIP — Reference-match: logo + name + days, horizontal pills
   ========================================================================== */
.vp-dp-carrier-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    background: #F8FAFB !important;
    border: 1px solid #E2E8ED !important;
    border-radius: 8px !important;
    padding: 7px 12px !important;
    font-size: 12px !important;
    color: #374151 !important;
    white-space: nowrap !important;
}
.vp-carrier-logo {
    flex-shrink: 0 !important;
    display: inline-block !important;
}
.vp-carrier-info {
    display: flex !important;
    flex-direction: column !important;
    line-height: 1.25 !important;
}
.vp-carrier-info strong {
    font-size: 11.5px !important;
    font-weight: 600 !important;
    color: #1F2937 !important;
}
.vp-carrier-info em {
    font-style: normal !important;
    font-size: 11px !important;
    color: #6B7280 !important;
}
.vp-dp-carrier-pills {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin-top: 8px !important;
}

/* ==========================================================================
   QUANTITY STEPPER & ADD TO CART — FINAL REFERENCE FIX
   - Remove black box from number input, keep +/- and number dark
   - Wider stepper, slimmer cart button
   ========================================================================== */

/* Stepper container: wider, same border as reference */
.vp-dp-qty-stepper {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    height: 42px !important;
    background: #FFFFFF !important;
    overflow: hidden !important;
    box-shadow: none !important;
    flex-shrink: 0 !important;
    min-width: 110px !important;   /* wider than before */
}

/* − and + buttons: dark/black color, wider */
.vp-dp-qty-btn {
    width: 38px !important;
    height: 42px !important;
    border: none !important;
    background: transparent !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #111827 !important;     /* dark, nearly black */
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.15s ease !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
}
.vp-dp-qty-btn:hover {
    background: #F3F4F6 !important;
    color: #000000 !important;
}

/* Number input: NO border (removes the box), dark text */
.vp-dp-qty-input {
    flex: 1 !important;
    width: 34px !important;
    height: 42px !important;
    border: none !important;          /* NO left/right borders = no box */
    border-left: none !important;
    border-right: none !important;
    outline: none !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #111827 !important;        /* dark/black */
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    -moz-appearance: textfield !important;
    box-shadow: none !important;
}
.vp-dp-qty-input:focus {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
}

/* Add to Cart: slightly less flex-grow so it doesn't stretch as wide */
.vp-dp-add-to-cart-btn {
    background: #1B4D4B !important;
    color: #FFFFFF !important;
    height: 42px !important;
    border-radius: 8px !important;
    border: none !important;
    flex: 1 !important;
    max-width: calc(100% - 126px) !important;   /* leaves room for wider stepper */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    cursor: pointer !important;
    box-shadow: 0 1px 3px rgba(27, 77, 75, 0.2) !important;
    transition: all 0.2s ease !important;
    text-transform: none !important;
    padding: 0 20px !important;
    margin: 0 !important;
    white-space: nowrap !important;
}
.vp-dp-add-to-cart-btn:hover {
    background: #143A39 !important;
    box-shadow: 0 3px 8px rgba(27, 77, 75, 0.28) !important;
    transform: translateY(-1px) !important;
}
.vp-dp-add-to-cart-btn svg {
    width: 15px !important;
    height: 15px !important;
    stroke-width: 1.8 !important;
    flex-shrink: 0 !important;
}

/* Cart row gap */
.vp-dp-cart-row {
    gap: 10px !important;
}

/* ==========================================================================
   LOGISTICS STRIP — FINAL REFERENCE MATCH
   - Light grey background card, all 3 on one row, larger logos, teal truck
   ========================================================================== */

.vp-dp-logistics-strip {
    background: #F3F6F7 !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
    margin-top: 14px !important;
    border: none !important;
    box-shadow: none !important;
}

.vp-dp-logistics-head {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin-bottom: 12px !important;
}
.vp-dp-logistics-head svg {
    stroke: #2E7D74 !important;
    flex-shrink: 0 !important;
    width: 16px !important;
    height: 16px !important;
}
.vp-dp-logistics-head span {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    white-space: nowrap !important;
}

/* All 3 pills on one row, equal width */
.vp-dp-carrier-pills {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    margin-top: 0 !important;
}

.vp-dp-carrier-pill {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    background: #FFFFFF !important;
    border: 1px solid #E2E8ED !important;
    border-radius: 8px !important;
    padding: 9px 10px !important;
    white-space: nowrap !important;
    min-width: 0 !important;
}

img.vp-carrier-logo[alt="DHL"]   { width: 40px !important; height: 16px !important; }
img.vp-carrier-logo[alt="FedEx"] { width: 48px !important; height: 16px !important; }
img.vp-carrier-logo[alt="UPS"]   { width: 22px !important; height: 22px !important; }

.vp-carrier-info {
    display: flex !important;
    flex-direction: column !important;
    line-height: 1.25 !important;
    min-width: 0 !important;
}
.vp-carrier-info strong {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #1F2937 !important;
    white-space: nowrap !important;
}
.vp-carrier-info em {
    font-style: normal !important;
    font-size: 11px !important;
    color: #6B7280 !important;
    white-space: nowrap !important;
}

/* ==========================================================================
   FIX: Remove blank space in buy box + fix truncated carrier pill text
   ========================================================================== */

/* Buy box card: don't stretch to match gallery height — wrap to content */
.vp-dp-buybox-card {
    align-self: flex-start !important;
    height: auto !important;
    min-height: 0 !important;
}

/* Also make the buybox column self-align to top */
.vp-dp-buybox-col,
.vp-dp-right-col {
    align-self: flex-start !important;
}

/* Carrier pills: reduce logo sizes so name+days fit without truncation */
img.vp-carrier-logo[alt="DHL"]   {
    width: 32px !important;
    height: 13px !important;
    flex-shrink: 0 !important;
}
img.vp-carrier-logo[alt="FedEx"] {
    width: 38px !important;
    height: 13px !important;
    flex-shrink: 0 !important;
}
img.vp-carrier-logo[alt="UPS"]   {
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
}

/* Pill: smaller padding and font so all 3 fit on one row */
.vp-dp-carrier-pill {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #FFFFFF !important;
    border: 1px solid #E2E8ED !important;
    border-radius: 8px !important;
    padding: 8px 8px !important;
    white-space: nowrap !important;
    min-width: 0 !important;
    overflow: visible !important;
}

.vp-carrier-info strong {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #1F2937 !important;
    white-space: nowrap !important;
    display: block !important;
}
.vp-carrier-info em {
    font-style: normal !important;
    font-size: 10.5px !important;
    color: #6B7280 !important;
    white-space: nowrap !important;
    display: block !important;
}

/* ==========================================================================
   FIX: Buy box card MUST stretch to match gallery height (= reference)
   Remove the flex-start that was causing the card to shrink + leave a gap
   ========================================================================== */

.vp-dp-buybox-card {
    align-self: stretch !important;   /* fill full row height = match gallery */
    height: auto !important;
    min-height: 0 !important;
}

/* Keep content inside flush to the top, not vertically centred */
.vp-dp-buybox-card > * {
    flex-shrink: 0 !important;
}

/* The outer 2-col top row: make sure items stretch */
.vp-dp-top-row,
.vp-dp-hero-row,
.vp-dp-grid {
    align-items: stretch !important;
}

/* Ensure the right column div also stretches */
.vp-dp-buybox-col,
.vp-dp-right-col {
    align-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Buybox card fills the column */
.vp-dp-buybox-col .vp-dp-card,
.vp-dp-right-col .vp-dp-card {
    flex: 1 !important;
}

/* ==========================================================================
   FIX: Reduce gallery height so buy box has no empty space
   Buy box content is ~370px tall — gallery min-height reduced to match
   ========================================================================== */

.vp-dp-main-stage {
    min-height: 360px !important;
}

.vp-dp-image-container {
    min-height: 360px !important;
    padding: 20px 32px !important;
}

#vp-dp-main-image {
    max-height: 310px !important;
}

.vp-dp-3d-stage {
    min-height: 360px !important;
}

.vp-dp-3d-stage model-viewer {
    height: 360px !important;
}

/* Also remove flex-start override from earlier — card should stretch */
.vp-dp-buybox-card {
    align-self: stretch !important;
    min-height: 0 !important;
    height: auto !important;
}

/* ==========================================================================
   FINAL REFERENCE MATCH — Tabs, Description, Key Features, FedEx pill
   ========================================================================== */

/* 1. TAB UNDERLINE: blue -> teal green (exact reference color) */
.vp-dp-tab-btn.active,
.vp-dp-container .vp-dp-tab-btn.active {
    color: #2E7D74 !important;
    font-weight: 600 !important;
    border-bottom: 2.5px solid #2E7D74 !important;
    background: transparent !important;
}
.vp-dp-tab-btn:hover,
.vp-dp-container .vp-dp-tab-btn:hover {
    color: #2E7D74 !important;
    background: transparent !important;
}

/* 2. DESCRIPTION PANEL: match reference — white bg, proper padding */
.vp-dp-tab-panel {
    background: #FFFFFF !important;
    border: 1px solid #E8EEF2 !important;
    border-radius: 10px !important;
    padding: 24px !important;
}

/* 3. PRODUCT DESCRIPTION HEADING: bold, dark */
.vp-dp-panel-heading {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    margin: 0 0 10px !important;
    letter-spacing: -0.015em !important;
}

/* 4. DESCRIPTION BODY TEXT: match reference (13.5px, #475569, no teal links) */
.vp-dp-desc-text,
.vp-dp-desc-text p,
.vp-dp-desc-text li,
.vp-dp-tab-panel .vp-dp-desc-text,
.vp-dp-tab-panel p,
.vp-dp-tab-panel .vp-dp-desc-text * {
    font-size: 13.5px !important;
    font-weight: 400 !important;
    color: #475569 !important;
    line-height: 1.65 !important;
    margin-bottom: 0 !important;
}
/* Remove blue from links in description */
.vp-dp-desc-text a,
.vp-dp-tab-panel p a {
    color: #475569 !important;
    text-decoration: none !important;
}

/* 5. KEY FEATURES CARD: light blue-grey bg EXACTLY like reference image 3 */
.vp-dp-kf-card {
    background: #EEF4F7 !important;   /* reference exact light blue-grey */
    border: none !important;
    border-left: none !important;
    border-radius: 10px !important;
    padding: 18px 20px !important;
    box-shadow: none !important;
    max-width: none !important;
    width: 100% !important;
}

/* 6. KEY FEATURES TITLE */
.vp-dp-kf-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    margin: 0 0 12px !important;
    letter-spacing: -0.01em !important;
}

/* 7. KEY FEATURES ITEMS: match reference text style */
.vp-dp-kf-list li,
.vp-dp-kf-list li span,
.vp-dp-kf-list li p {
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #374151 !important;
    line-height: 1.5 !important;
    margin-bottom: 9px !important;
}

/* 8. CHECKMARK: teal, matches reference */
.vp-dp-check,
.vp-dp-kf-list .vp-dp-check {
    color: #2E7D74 !important;
    stroke: #2E7D74 !important;
    width: 14px !important;
    height: 14px !important;
    flex-shrink: 0 !important;
    stroke-width: 2.5 !important;
    opacity: 1 !important;
}

/* 9. FEDEX PILL: clip the "Corporation" word from showing */
img.vp-carrier-logo[alt="FedEx"] {
    width: 46px !important;
    height: 14px !important;
    object-fit: cover !important;
    object-position: top left !important;
    overflow: hidden !important;
    display: block !important;
}

/* Carrier pill text — smaller to fit all 3 on one row without overflow */
.vp-carrier-info strong {
    font-size: 10px !important;
    font-weight: 600 !important;
    color: #1F2937 !important;
    white-space: nowrap !important;
    display: block !important;
    line-height: 1.3 !important;
}
.vp-carrier-info em {
    font-style: normal !important;
    font-size: 9.5px !important;
    color: #6B7280 !important;
    white-space: nowrap !important;
    display: block !important;
}
/* Also shrink the FedEx text logo slightly */
.vp-fedex-logo span {
    font-size: 12px !important;
}

/* ==========================================================================
   EXTEND WHITE CARD TO WRAP TABS NAV + CONTENT (reference match)
   The tabs-column itself becomes the card; inner tab-panel loses its own card
   ========================================================================== */

/* Make the whole tabs column a white card */
.vp-dp-tabs-column {
    background: #FFFFFF !important;
    border: 1px solid #E8EEF2 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    padding: 0 !important;
}

/* Tabs nav sits inside the card with padding */
.vp-dp-tabs-nav {
    padding: 0 22px !important;
    margin: 0 !important;
    border-bottom: 1.5px solid #E8EEF2 !important;
    gap: 24px !important;
    background: #FFFFFF !important;
}

/* Tab buttons get their own top padding */
.vp-dp-tab-btn {
    padding: 14px 2px 12px !important;
    margin-bottom: -1.5px !important;
}

/* Tab panels: remove their own card border/bg since column IS the card */
.vp-dp-card.vp-dp-tab-panel,
.vp-dp-tab-panel {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 22px 22px !important;
    margin: 0 !important;
    box-shadow: none !important;
}

/* You May Also Like section inside column */
.vp-dp-you-may-also-like,
.vp-dp-ymal-section {
    border-top: 1px solid #E8EEF2 !important;
    margin-top: 0 !important;
    padding: 18px 22px !important;
    background: transparent !important;
}

/* ==========================================================================
   LOWER GRID: Wider description (67%) / Narrower additional info (33%)
   Matches reference design proportions exactly
   ========================================================================== */

.vp-dp-lower-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) !important;
    gap: 20px !important;
    align-items: start !important;
}

/* ==========================================================================
   DESCRIPTION COLLAPSE + FADE + SHOW MORE BUTTON (reference match)
   ========================================================================== */

/* Collapsed state: fixed height, overflow hidden, relative for fade */
.vp-dp-desc-collapse {
    position: relative !important;
    max-height: 220px !important;
    overflow: hidden !important;
    transition: max-height 0.4s ease !important;
}

/* Expanded state: full height */
.vp-dp-desc-collapse.vp-desc-expanded {
    max-height: 2000px !important;
}

/* Gradient fade overlay — fades bottom of content */
.vp-dp-desc-fade {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 70px !important;
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.97) 100%) !important;
    pointer-events: none !important;
    z-index: 2 !important;
}

/* Show More button wrapper */
.vp-dp-show-more-wrap {
    display: flex !important;
    justify-content: center !important;
    padding: 14px 0 6px !important;
    border-top: 1px solid #EEF2F6 !important;
    margin-top: 4px !important;
}

/* Show More button — clean outlined teal, reference style */
.vp-dp-show-more-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: transparent !important;
    border: 1.5px solid #2E7D74 !important;
    color: #2E7D74 !important;
    border-radius: 8px !important;
    padding: 7px 20px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.18s ease !important;
    letter-spacing: -0.01em !important;
}
.vp-dp-show-more-btn:hover {
    background: #2E7D74 !important;
    color: #FFFFFF !important;
}
.vp-dp-show-more-btn svg {
    transition: transform 0.3s ease !important;
    flex-shrink: 0 !important;
}

/* ==========================================================================
   LOWER GRID: Both columns equal height (tabs card aligns with AI card)
   ========================================================================== */

.vp-dp-lower-grid {
    align-items: stretch !important;
}

/* Tabs column fills full grid row height */
.vp-dp-tabs-column {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

/* AI column also fills full row height */
.vp-dp-ai-column {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

/* AI card fills its column */
.vp-dp-ai-column .vp-dp-ai-card,
.vp-dp-ai-column .vp-dp-card {
    flex: 1 !important;
}

/* ==========================================================================
   LOWER GRID: align-items start — AI card stays at natural height
   Tabs column height is capped via JS to match AI card
   ========================================================================== */

.vp-dp-lower-grid {
    align-items: start !important;
}

.vp-dp-tabs-column {
    height: auto !important;
    overflow: hidden !important;   /* will be set by JS */
}

.vp-dp-ai-column,
.vp-dp-ai-column .vp-dp-ai-card {
    height: auto !important;
    align-self: start !important;
}

/* YMAL section — now lives outside the lower grid */
.vp-dp-related-section {
    margin-top: 24px !important;
    background: #FFFFFF !important;
    border: 1px solid #E8EEF2 !important;
    border-radius: 12px !important;
    padding: 20px 22px !important;
}

/* ==========================================================================
   LEFT WRAPPER: contains tabs card + YMAL — same width as tabs column
   Lower grid: left-wrapper (2fr) + ai-column (1fr)
   ========================================================================== */

.vp-dp-lower-grid {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) !important;
    align-items: start !important;
}

.vp-dp-left-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    min-width: 0 !important;
}

/* Tabs column inside left-wrapper — JS syncs height to AI card */
.vp-dp-left-wrapper .vp-dp-tabs-column {
    width: 100% !important;
    min-width: 0 !important;
}

/* YMAL inside left-wrapper — full width of left column only */
.vp-dp-left-wrapper .vp-dp-related-section {
    width: 100% !important;
    background: #FFFFFF !important;
    border: 1px solid #E8EEF2 !important;
    border-radius: 12px !important;
    padding: 18px 20px !important;
    margin-top: 0 !important;
}

/* AI column — stays at natural height, no stretch */
.vp-dp-ai-column {
    align-self: start !important;
    height: auto !important;
}
.vp-dp-ai-column .vp-dp-ai-card {
    height: auto !important;
}

/* ==========================================================================
   MOBILE RESPONSIVE — Full restack for screens <= 768px
   ========================================================================== */
@media (max-width: 768px) {

    /* Container padding */
    .vp-dp-container { padding: 12px !important; }

    /* ── TOP GRID (Gallery + Buybox) ── */
    .vp-dp-top-row,
    .vp-dp-hero-row,
    .vp-dp-top-grid,
    .vp-dp-grid {
        flex-direction: column !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    /* Gallery card full width */
    .vp-dp-gallery-card,
    .vp-dp-gallery-col,
    .vp-dp-left-col {
        width: 100% !important;
        min-width: 0 !important;
    }

    /* Thumbnail strip: horizontal row */
    .vp-dp-thumbs-col {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        gap: 6px !important;
        max-height: none !important;
        width: 100% !important;
        padding: 0 !important;
    }

    /* Gallery stage: shorter on mobile */
    .vp-dp-main-stage,
    .vp-dp-image-container {
        min-height: 240px !important;
    }
    #vp-dp-main-image { max-height: 220px !important; }

    /* Buy box: full width, less padding */
    .vp-dp-buybox-card,
    .vp-dp-buybox-col,
    .vp-dp-right-col {
        width: 100% !important;
        padding: 16px !important;
        align-self: auto !important;
    }

    /* Logistics strip: allow wrapping */
    .vp-dp-carriers-row {
        flex-wrap: wrap !important;
        gap: 6px !important;
    }
    .vp-dp-carrier-pill {
        flex: 0 0 calc(33% - 4px) !important;
        min-width: 0 !important;
        padding: 6px 6px !important;
    }

    /* ── LOWER GRID (Description + AI) ── */
    .vp-dp-lower-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    /* Left wrapper: full width */
    .vp-dp-left-wrapper {
        width: 100% !important;
        min-width: 0 !important;
    }

    /* Tabs column: full width, auto height — disable JS sync */
    .vp-dp-tabs-column {
        width: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        height: auto !important;
    }

    /* AI column: full width */
    .vp-dp-ai-column {
        width: 100% !important;
        align-self: auto !important;
    }

    /* Description collapse: taller on mobile (no sync) */
    #vp-desc-collapse,
    .vp-dp-desc-collapse {
        max-height: 200px !important;
        overflow: hidden !important;
    }
    #vp-desc-collapse.vp-desc-expanded {
        max-height: 2000px !important;
    }

    /* Description layout: stack vertically */
    .vp-dp-desc-layout {
        flex-direction: column !important;
        gap: 14px !important;
    }

    /* Key features: full width on mobile */
    .vp-dp-kf-card {
        max-width: 100% !important;
        width: 100% !important;
    }

    /* YMAL: 2x2 grid on mobile */
    .vp-dp-related-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

    /* Tabs nav: smaller text */
    .vp-dp-tab-btn {
        font-size: 12px !important;
        padding: 10px 2px 10px !important;
    }
    .vp-dp-tabs-nav { gap: 16px !important; }
}

@media (max-width: 480px) {
    .vp-dp-carrier-pill { flex: 0 0 calc(33% - 4px) !important; }
    .vp-dp-related-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .vp-dp-title { font-size: 20px !important; }
}

/* ==========================================================================
   TOP GRID MOBILE FIX — force single column stack on mobile
   The minmax(380px) was preventing stacking
   ========================================================================== */
@media (max-width: 768px) {

    /* Top grid: single column — gallery above, buybox below */
    .vp-dp-top-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 14px !important;
        margin-bottom: 14px !important;
    }

    /* Media card + buybox card both full width */
    .vp-dp-media-card,
    .vp-dp-buybox-card {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    /* Gallery inner: stack thumbs below image on mobile */
    .vp-dp-gallery-inner {
        flex-direction: column !important;
    }

    /* Thumbs strip: horizontal row on mobile */
    .vp-dp-thumbs-strip {
        flex-direction: row !important;
        width: 100% !important;
        overflow-x: auto !important;
        gap: 8px !important;
        max-height: none !important;
    }

    /* Buybox: no forced align-self */
    .vp-dp-buybox-card {
        align-self: auto !important;
        min-height: 0 !important;
    }
}

/* ==========================================================================
   MOBILE REFERENCE MATCH — Full single-column layout <= 768px
   ========================================================================== */
@media (max-width: 768px) {

    /* ── OVERALL CONTAINER ── */
    .vp-dp-container {
        padding: 0 12px 20px !important;
        background: #F2F7FA !important;
    }

    /* ── TOP GRID: stack gallery then buybox ── */
    .vp-dp-top-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        margin-bottom: 12px !important;
    }

    /* Gallery card: lighter, no heavy shadow */
    .vp-dp-media-card {
        width: 100% !important;
        padding: 12px 12px 0 !important;
        border-radius: 14px 14px 0 0 !important;
        box-shadow: none !important;
        border-bottom: none !important;
        margin-bottom: 0 !important;
    }

    /* Gallery inner: image + arrows on top, thumbs below */
    .vp-dp-gallery-inner {
        flex-direction: column !important;
        gap: 10px !important;
    }

    /* Thumbnail strip: horizontal row below the image */
    .vp-dp-thumbs-strip {
        flex-direction: row !important;
        width: 100% !important;
        overflow-x: auto !important;
        gap: 8px !important;
        max-height: none !important;
        height: auto !important;
        padding: 8px 0 12px !important;
        scrollbar-width: none !important;
    }
    .vp-dp-thumbs-strip::-webkit-scrollbar { display: none !important; }

    .vp-dp-thumb {
        width: 58px !important;
        height: 58px !important;
        flex-shrink: 0 !important;
    }

    /* Main stage: shorter on mobile */
    .vp-dp-main-stage,
    .vp-dp-image-container {
        min-height: 240px !important;
        border-radius: 10px !important;
    }
    #vp-dp-main-image { max-height: 210px !important; }

    /* 3D/AR pills at top of gallery */
    .vp-dp-mobile-top-pills {
        display: flex !important;
        justify-content: space-between !important;
        margin-bottom: 8px !important;
    }

    /* Buy box card: seamless with gallery on mobile */
    .vp-dp-buybox-card {
        width: 100% !important;
        min-width: 0 !important;
        padding: 16px 14px 18px !important;
        border-radius: 0 0 14px 14px !important;
        align-self: auto !important;
        min-height: 0 !important;
        border-top: none !important;
        box-shadow: none !important;
    }

    /* Price and buy buttons: full width */
    .vp-dp-qty-row {
        gap: 10px !important;
    }
    .vp-dp-add-to-cart {
        flex: 1 !important;
    }

    /* Logistics strip: carriers in one row, wrapping if needed */
    .vp-dp-logistics-strip {
        margin-top: 14px !important;
    }
    .vp-dp-carriers-row {
        flex-wrap: nowrap !important;
        gap: 6px !important;
        justify-content: space-between !important;
    }
    .vp-dp-carrier-pill {
        flex: 1 !important;
        padding: 6px 4px !important;
        min-width: 0 !important;
        gap: 4px !important;
    }

    /* ── LOWER GRID: single column ── */
    .vp-dp-lower-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
    }

    /* Left wrapper and AI column: both full width, stacked */
    .vp-dp-left-wrapper,
    .vp-dp-ai-column {
        width: 100% !important;
        min-width: 0 !important;
    }

    /* Order: description first, then AI accordion */
    .vp-dp-left-wrapper { order: 1 !important; }
    .vp-dp-ai-column    { order: 2 !important; }

    /* Tabs column: full width, natural height */
    .vp-dp-tabs-column {
        width: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        height: auto !important;
    }

    /* Description collapse: fixed height on mobile */
    #vp-desc-collapse,
    .vp-dp-desc-collapse {
        max-height: none !important;
        overflow: visible !important;
    }

    /* Description layout: stack vertically on mobile */
    .vp-dp-desc-layout {
        flex-direction: column !important;
        gap: 14px !important;
    }

    /* Key features card: full width when stacked */
    .vp-dp-kf-card {
        max-width: 100% !important;
        width: 100% !important;
    }

    /* AI card: no card border on mobile — inline with flow */
    .vp-dp-ai-card {
        border: 1px solid #E8EEF2 !important;
        border-radius: 12px !important;
        padding: 18px 16px !important;
    }

    /* Show More button: centered */
    .vp-dp-show-more-wrap {
        padding: 12px 0 0 !important;
    }

    /* ── YMAL: 3 columns on mobile ── */
    .vp-dp-related-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 8px !important;
    }
    .vp-dp-rel-card { padding: 8px 6px !important; }
    .vp-dp-rel-img-wrap { height: 70px !important; }
    .vp-dp-rel-sku { font-size: 10px !important; }

    /* Tab nav: fit in single row */
    .vp-dp-tabs-nav {
        gap: 12px !important;
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        padding: 0 14px !important;
    }
    .vp-dp-tab-btn {
        font-size: 12.5px !important;
        white-space: nowrap !important;
        padding: 12px 0 10px !important;
    }
}

/* ==========================================================================
   HIDE BREADCRUMB on product pages
   ========================================================================== */
.single-product .woocommerce-breadcrumb,
.single-product nav.woocommerce-breadcrumb,
.woocommerce-breadcrumb {
    display: none !important;
}

/* ==========================================================================
   VenPick Homepage Styles — vph-* namespace
   ========================================================================== */

/* ── Shared Helpers ── */
.vph-container { max-width: 1200px; margin: 0 auto; padding: 0 28px; }
.vph-section   { padding: 64px 0; }
.vph-section--white { background: #FFFFFF; }
.vph-section--gray  { background: #F5F8FA; }

.vph-dash { display: inline-block; width: 28px; height: 2px; background: #2E7D74; vertical-align: middle; margin-right: 8px; border-radius: 2px; }
.vph-section-label { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #2E7D74; margin: 0 0 8px; display: flex; align-items: center; }
.vph-section-title { font-size: 28px; font-weight: 700; color: #0F172A; margin: 0 0 6px; letter-spacing: -0.02em; line-height: 1.2; }
.vph-section-sub   { font-size: 14px; color: #6B7280; margin: 0; }
.vph-section-head  { margin-bottom: 32px; }
.vph-section-head--row { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 12px; }
.vph-view-all { font-size: 13.5px; font-weight: 500; color: #2E7D74; text-decoration: none; white-space: nowrap; transition: color 0.15s; }
.vph-view-all:hover { color: #1a5a52; }

/* ── HERO ── */
.vph-hero { background: #FFFFFF; overflow: hidden; border-bottom: 1px solid #EEF2F5; }
.vph-hero-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 28px;
    display: flex;
    align-items: center;
    min-height: 420px;
    gap: 32px;
    position: relative;
}
.vph-hero-text { flex: 0 0 480px; max-width: 480px; padding: 52px 0; z-index: 1; }
.vph-hero-label {
    font-size: 11px; font-weight: 700; letter-spacing: 0.13em;
    text-transform: uppercase; color: #2E7D74; margin: 0 0 16px;
}
.vph-hero-heading {
    font-size: 44px; font-weight: 800; color: #0F172A;
    line-height: 1.12; letter-spacing: -0.03em; margin: 0 0 16px;
}
.vph-hero-accent {
    font-style: italic; color: #2E7D74;
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 700;
}
.vph-hero-sub { font-size: 15px; color: #4B5563; line-height: 1.6; margin: 0 0 28px; max-width: 400px; }
.vph-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-bottom: 28px; }

.vph-btn-primary {
    display: inline-flex; align-items: center; gap: 8px;
    background: #2E7D74; color: #FFFFFF;
    padding: 11px 22px; border-radius: 8px;
    font-size: 14px; font-weight: 600; text-decoration: none;
    transition: background 0.18s, transform 0.15s;
}
.vph-btn-primary:hover { background: #1a5a52; transform: translateY(-1px); color: #fff; }
.vph-btn-arrow { font-size: 16px; }

.vph-btn-outline {
    display: inline-flex; align-items: center;
    border: 1.5px solid #D1D5DB; color: #374151;
    padding: 10px 20px; border-radius: 8px;
    font-size: 14px; font-weight: 500; text-decoration: none;
    transition: border-color 0.15s, color 0.15s;
    background: #FFFFFF;
}
.vph-btn-outline:hover { border-color: #2E7D74; color: #2E7D74; }

.vph-hero-dots { display: flex; gap: 6px; }
.vph-dot { width: 8px; height: 8px; border-radius: 50%; background: #D1D5DB; }
.vph-dot--active { background: #2E7D74; width: 22px; border-radius: 4px; }

.vph-hero-image-wrap {
    flex: 1; display: flex; justify-content: flex-end;
    align-items: flex-end; max-height: 420px; overflow: hidden;
}
.vph-hero-img { width: 100%; max-width: 680px; height: 420px; object-fit: cover; object-position: center; border-radius: 0; }

/* ── CATEGORY GRID ── */
.vph-cat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.vph-cat-card {
    background: #FFFFFF;
    border: 1px solid #EEF2F5;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    transition: box-shadow 0.18s, transform 0.15s;
    display: flex;
    flex-direction: column;
}
.vph-cat-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.09); transform: translateY(-2px); }
.vph-cat-img-wrap { height: 120px; overflow: hidden; background: #F5F8FA; display: flex; align-items: center; justify-content: center; }
.vph-cat-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.vph-cat-card:hover .vph-cat-img-wrap img { transform: scale(1.05); }
.vph-cat-placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, #EEF4F7, #D9E8E6); }
.vph-cat-footer {
    padding: 10px 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.vph-cat-name { font-size: 13.5px; font-weight: 600; color: #1E293B; }
.vph-cat-arrow { font-size: 13px; color: #2E7D74; font-weight: 600; }

/* ── PRODUCT GRID ── */
.vph-product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.vph-prod-card {
    background: #FFFFFF;
    border: 1px solid #EEF2F5;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    transition: box-shadow 0.18s, transform 0.15s;
    display: flex;
    flex-direction: column;
}
.vph-prod-card:hover { box-shadow: 0 8px 28px rgba(0,0,0,0.1); transform: translateY(-2px); }
.vph-sale-badge {
    position: absolute; top: 10px; left: 10px; z-index: 2;
    background: #EF4444; color: #fff;
    font-size: 10px; font-weight: 700; padding: 3px 8px;
    border-radius: 4px; text-transform: uppercase; letter-spacing: 0.05em;
}
.vph-prod-img-wrap {
    display: block; height: 160px; overflow: hidden; background: #F9FAFB;
    display: flex; align-items: center; justify-content: center;
}
.vph-prod-img-wrap img { width: 100%; height: 100%; object-fit: contain; padding: 12px; transition: transform 0.3s; }
.vph-prod-card:hover .vph-prod-img-wrap img { transform: scale(1.06); }
.vph-prod-body { padding: 14px; flex: 1; display: flex; flex-direction: column; gap: 8px; }
.vph-prod-title { font-size: 13.5px; font-weight: 600; color: #1E293B; margin: 0; line-height: 1.35; }
.vph-prod-title a { text-decoration: none; color: inherit; }
.vph-prod-title a:hover { color: #2E7D74; }
.vph-prod-price { font-size: 14px; font-weight: 700; color: #0F172A; }
.vph-prod-price ins { text-decoration: none; }
.vph-prod-price del { color: #9CA3AF; font-weight: 400; font-size: 12px; margin-left: 4px; }
.vph-add-to-cart {
    display: flex; align-items: center; justify-content: center; gap: 7px;
    background: #2E7D74; color: #FFFFFF;
    padding: 9px 14px; border-radius: 7px;
    font-size: 12.5px; font-weight: 600; text-decoration: none;
    transition: background 0.15s; margin-top: auto;
}
.vph-add-to-cart:hover { background: #1a5a52; color: #fff; }

/* ── NEWSLETTER ── */
.vph-newsletter {
    background: #2E4A4A;
    overflow: hidden;
    margin: 0;
}
.vph-newsletter-inner {
    max-width: 1200px; margin: 0 auto; padding: 0 28px;
    display: flex; align-items: stretch; min-height: 300px;
}
.vph-newsletter-text {
    flex: 1; padding: 52px 0; display: flex; flex-direction: column;
    justify-content: center; gap: 8px; max-width: 480px;
}
.vph-newsletter-label {
    font-size: 10px; font-weight: 700; letter-spacing: 0.15em;
    text-transform: uppercase; color: #81B4B0; margin: 0;
}
.vph-newsletter-title {
    font-size: 30px; font-weight: 700; color: #FFFFFF;
    margin: 4px 0; line-height: 1.2; letter-spacing: -0.02em;
}
.vph-newsletter-sub { font-size: 14px; color: #A8C5C2; margin: 0 0 16px; }
.vph-newsletter-form { display: flex; gap: 10px; flex-wrap: wrap; }
.vph-newsletter-input {
    flex: 1; min-width: 200px; height: 42px;
    padding: 0 16px; border: 1px solid rgba(255,255,255,0.15);
    border-radius: 8px; background: rgba(255,255,255,0.08);
    color: #FFFFFF; font-size: 13.5px;
    outline: none; transition: border-color 0.15s;
}
.vph-newsletter-input::placeholder { color: rgba(255,255,255,0.4); }
.vph-newsletter-input:focus { border-color: rgba(255,255,255,0.4); background: rgba(255,255,255,0.12); }
.vph-newsletter-btn {
    height: 42px; padding: 0 22px;
    background: #FFFFFF; color: #2E4A4A;
    border: none; border-radius: 8px;
    font-size: 13.5px; font-weight: 600; cursor: pointer;
    transition: background 0.15s, transform 0.12s;
}
.vph-newsletter-btn:hover { background: #EEF4F7; transform: translateY(-1px); }
.vph-newsletter-image {
    flex: 0 0 420px; display: flex; align-items: flex-end;
    overflow: hidden;
}
.vph-newsletter-image img { width: 100%; height: 100%; object-fit: cover; object-position: center left; }

/* ── MOBILE RESPONSIVE ── */
@media (max-width: 900px) {
    .vph-cat-grid { grid-template-columns: repeat(2, 1fr); }
    .vph-product-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .vph-hero-inner { flex-direction: column; min-height: auto; padding: 24px 16px 0; gap: 0; }
    .vph-hero-text { flex: none; max-width: 100%; padding: 32px 0 20px; }
    .vph-hero-heading { font-size: 28px; }
    .vph-hero-image-wrap { max-height: 220px; width: 100%; }
    .vph-hero-img { height: 220px; max-width: 100%; border-radius: 12px 12px 0 0; }
    .vph-section { padding: 40px 0; }
    .vph-container { padding: 0 16px; }
    .vph-section-head--row { flex-direction: column; align-items: flex-start; }
    .vph-newsletter-inner { flex-direction: column; padding: 0 16px; }
    .vph-newsletter-image { flex: none; height: 200px; width: 100%; }
    .vph-newsletter-text { padding: 32px 0 24px; }
    .vph-newsletter-title { font-size: 22px; }
}

@media (max-width: 480px) {
    .vph-cat-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .vph-product-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .vph-hero-heading { font-size: 24px; }
    .vph-section-title { font-size: 22px; }
}

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;0,500;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;0,500;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;0,500;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;0,500;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;0,500;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;0,500;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;0,500;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;0,500;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;0,500;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;0,500;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;0,500;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;0,500;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;0,500;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;0,500;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;0,500;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;0,500;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;0,500;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap');

/* ============================================================
   HIDE TOP STRIP (PHONE, EMAIL, MY ACCOUNT HEADER BAR)
   ============================================================ */
.vp-topbar {
    display: none !important;
}

/* ============================================================
   HEADER CATEGORIES MEGA MENU
   ============================================================ */
.primary-navigation ul.menu > li.venpick-cat-nav,
.primary-navigation .venpick-cat-nav {
    position: static !important;
}

.primary-navigation .venpick-cat-nav > a {
    position: relative !important;
}

/* Ensure default theme sub-menu rules are completely overridden */
.primary-navigation ul.menu > li.venpick-cat-nav > .sub-menu.vp-cat-mega-menu,
.primary-navigation .venpick-cat-nav .vp-cat-mega-menu {
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) translateY(6px) !important;
    width: 1100px !important;
    min-width: 900px !important;
    max-width: calc(100vw - 40px) !important;
    margin: 0 !important;
    background: #FFFFFF !important;
    border-radius: 20px !important;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.12), 0 4px 12px rgba(15, 23, 42, 0.05) !important;
    border: 1px solid rgba(226, 232, 240, 0.8) !important;
    padding: 14px !important;
    z-index: 9999 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: block !important;
    pointer-events: none !important;
    overflow: hidden !important;
}

.primary-navigation ul.menu > li.venpick-cat-nav:hover > .sub-menu.vp-cat-mega-menu,
.primary-navigation ul.menu > li.venpick-cat-nav:focus-within > .sub-menu.vp-cat-mega-menu,
.primary-navigation .venpick-cat-nav:hover .vp-cat-mega-menu,
.primary-navigation .venpick-cat-nav:focus-within .vp-cat-mega-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(-50%) translateY(0) !important;
    pointer-events: auto !important;
}

.primary-navigation ul.menu > li.venpick-cat-nav > .sub-menu.vp-cat-mega-menu .vp-cat-mega-inner,
.vp-cat-mega-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 16px !important;
    min-height: 440px !important;
    width: 100% !important;
}

/* Left list - seamless hover without jumping gray */
.primary-navigation ul.menu > li.venpick-cat-nav > .sub-menu.vp-cat-mega-menu .vp-cat-mega-list,
.vp-cat-mega-list {
    flex: 0 0 290px !important;
    width: 290px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

.vp-cat-mega-item {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 12px 16px !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    color: #334155 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
}

.vp-cat-mega-item:hover,
.vp-cat-mega-item.vp-cat-mega-item--active {
    background: #E8F2F1 !important;
    color: #204346 !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

.vp-cat-mega-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    color: #475569 !important;
    transition: color 0.15s ease !important;
}

.vp-cat-mega-item:hover .vp-cat-mega-icon,
.vp-cat-mega-item.vp-cat-mega-item--active .vp-cat-mega-icon {
    color: #204346 !important;
}

.vp-cat-mega-name {
    flex: 1 !important;
    white-space: nowrap !important;
    color: inherit !important;
}

.vp-cat-mega-chevron {
    color: #94A3B8 !important;
    transition: transform 0.15s ease, color 0.15s ease !important;
}

.vp-cat-mega-item:hover .vp-cat-mega-chevron,
.vp-cat-mega-item.vp-cat-mega-item--active .vp-cat-mega-chevron {
    color: #204346 !important;
    transform: translateX(2px) !important;
}

/* Right preview showcase */
.vp-cat-mega-preview {
    flex: 1 !important;
    position: relative !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    background: #F8FAFC !important;
}

.vp-cat-mega-bg {
    position: absolute !important;
    inset: 0 !important;
    background-size: cover !important;
    background-position: center right !important;
    background-repeat: no-repeat !important;
    transition: background-image 0.3s ease !important;
}

/* White gradient overlay fading smoothly to the right over a longer, gentler distance */
.vp-cat-mega-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(90deg, #FFFFFF 0%, rgba(255, 255, 255, 0.95) 20%, rgba(255, 255, 255, 0.82) 32%, rgba(255, 255, 255, 0.55) 45%, rgba(255, 255, 255, 0.28) 58%, rgba(255, 255, 255, 0.08) 70%, transparent 82%) !important;
    z-index: 1 !important;
}

.vp-cat-mega-content {
    position: relative !important;
    z-index: 2 !important;
    padding: 40px 44px !important;
    max-width: 380px !important;
}

.vp-cat-mega-tag {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: #204346 !important;
    margin: 0 0 14px !important;
}

.vp-cat-mega-heading {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 32px !important;
    font-weight: 300 !important;
    color: #0F172A !important;
    line-height: 1.18 !important;
    letter-spacing: -0.01em !important;
    margin: 0 0 14px !important;
}

.vp-cat-mega-desc {
    font-size: 14.5px !important;
    color: #64748B !important;
    line-height: 1.55 !important;
    margin: 0 0 28px !important;
}

/* Green View Products button matching site */
.vp-cat-mega-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: #204346 !important;
    color: #FFFFFF !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 6px rgba(32, 67, 70, 0.25) !important;
}

.vp-cat-mega-btn:hover {
    background: #162f31 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(32, 67, 70, 0.35) !important;
    color: #FFFFFF !important;
}

/* ============================================================
   SECTION HEADINGS - CLEAN SERIF TYPOGRAPHY MATCHING IMAGE
   ============================================================ */
.vph-section-title {
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
    font-weight: 400 !important;
    font-size: 32px !important;
    color: #0F172A !important;
    letter-spacing: -0.015em !important;
    line-height: 1.2 !important;
    margin: 4px 0 10px !important;
}

.vph-section-label {
    color: #204346 !important;
}

.vph-section-label .vph-dash {
    background: #204346 !important;
}

.vph-view-all {
    color: #204346 !important;
}

.vph-view-all:hover {
    color: #162f31 !important;
}

/* ============================================================
   ALL "ADD TO CART" & PRIMARY BUTTONS ON HOMEPAGE (#204346)
   ============================================================ */
.vph-add-to-cart,
.vph-prod-card .vph-add-to-cart,
.add_to_cart_button {
    background: #204346 !important;
    color: #FFFFFF !important;
    border-color: #204346 !important;
    transition: all 0.2s ease !important;
}

.vph-add-to-cart:hover,
.vph-prod-card .vph-add-to-cart:hover,
.add_to_cart_button:hover {
    background: #162f31 !important;
    border-color: #162f31 !important;
    transform: translateY(-1px) !important;
}

/* ============================================================
   PRODUCT CARDS (DEALS & HOMEPAGE PRODUCTS)
   ============================================================ */
.vph-prod-card {
    display: flex !important;
    flex-direction: column !important;
    background: #FFFFFF !important;
    border: 1px solid #EEF2F5 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    position: relative !important;
}

.vph-prod-body {
    padding: 14px !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

/* Reserve exactly two lines for product names & make bold */
.vph-prod-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1E293B !important;
    margin: 0 !important;
    line-height: 1.35 !important;
    height: 2.7em !important;
    min-height: 2.7em !important;
    max-height: 2.7em !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.vph-prod-title a {
    text-decoration: none !important;
    color: #0F172A !important;
    font-weight: 700 !important;
}

.vph-prod-title a:hover {
    color: #204346 !important;
}

/* Price: Actual / current sale price on LEFT ($20), Original / strikethrough price on RIGHT ($25) */
.vph-prod-price {
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    margin-top: auto !important;
    margin-bottom: 4px !important;
}

/* In WooCommerce sale price HTML, <del> comes first and <ins> comes second.
   We use flex-direction: row-reverse (or order) so <ins> appears on the LEFT and <del> on the RIGHT */
.vph-prod-price del {
    order: 2 !important;
    color: #94A3B8 !important;
    font-weight: 400 !important;
    font-size: 13.5px !important;
    text-decoration: line-through !important;
    margin-left: 0 !important;
}

.vph-prod-price ins {
    order: 1 !important;
    text-decoration: none !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
}

.vph-prod-price > .woocommerce-Price-amount:only-child {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
}

.vph-prod-card .vph-add-to-cart {
    margin-top: auto !important;
}

/* Hero Buttons matching reference:
   Browse Products -> Solid deep teal card with rounded corners
   Shop by Category -> Outline pill card with subtle border and dark teal text
*/
.vph-slide-actions {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 28px !important;
}

.vph-btn-primary {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    background: #204346 !important;
    color: #FFFFFF !important;
    border: 1.5px solid #204346 !important;
    padding: 14px 30px !important;
    border-radius: 12px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 1px 3px rgba(32, 67, 70, 0.15) !important;
}

.vph-btn-primary:hover {
    background: #162f31 !important;
    border-color: #162f31 !important;
    color: #FFFFFF !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 10px rgba(32, 67, 70, 0.25) !important;
}

.vph-btn-primary .vph-btn-arrow {
    font-size: 17px !important;
    transition: transform 0.18s ease !important;
}

.vph-btn-primary:hover .vph-btn-arrow {
    transform: translateX(3px) !important;
}

.vph-btn-slide-outline {
    display: inline-flex !important;
    align-items: center !important;
    background: rgba(255, 255, 255, 0.85) !important;
    color: #204346 !important;
    border: 1.5px solid #7E9E9F !important;
    padding: 14px 28px !important;
    border-radius: 12px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
    transition: all 0.2s ease !important;
}

.vph-btn-slide-outline:hover {
    background: #FFFFFF !important;
    border-color: #204346 !important;
    color: #162f31 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 10px rgba(32, 67, 70, 0.12) !important;
}

/* ============================================================
   CATEGORY CARDS & THUMBNAILS FIX
   ============================================================ */
.vph-cat-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
}

.vph-cat-card {
    background: #FFFFFF !important;
    border: 1px solid #EEF2F5 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    text-decoration: none !important;
    transition: all 0.22s ease !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
}

.vph-cat-card:hover {
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06) !important;
    transform: translateY(-3px) !important;
    border-color: #CBD5E1 !important;
}

.vph-cat-img-wrap {
    height: 140px !important;
    padding: 12px 14px 4px 14px !important;
    background: #FFFFFF !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.vph-cat-img-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    transition: transform 0.3s ease !important;
}

.vph-cat-card:hover .vph-cat-img-wrap img {
    transform: scale(1.05) !important;
}

.vph-cat-footer {
    padding: 12px 16px 14px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    background: #FFFFFF !important;
}

.vph-cat-name {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1E293B !important;
}

.vph-cat-arrow {
    font-size: 15px !important;
    color: #204346 !important;
    font-weight: 600 !important;
    transition: transform 0.2s ease !important;
}

.vph-cat-card:hover .vph-cat-arrow {
    transform: translateX(3px) !important;
}

/* ============================================================
   VENPICK HERO SLIDESHOW (STATIONARY IMAGES - NO ZOOM EFFECT)
   ============================================================ */
.vph-slider-hero {
    position: relative;
    width: 100%;
    min-height: 520px !important;
    height: 540px !important;
    background: #FFFFFF;
    overflow: hidden;
}

.vph-slider-track {
    position: relative;
    width: 100%;
    height: 100%;
}

.vph-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.7s ease;
    z-index: 1;
}

.vph-slide--active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}

/* Stationary background - completely still without scaling */
.vph-slide-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;
    transform: none !important;
    transition: none !important;
}

.vph-slide--active .vph-slide-bg {
    transform: none !important;
}

/* Elegant smooth white gradient overlay - softer, more gradual fade */
.vph-slide-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #FFFFFF 0%, rgba(255, 255, 255, 0.95) 20%, rgba(255, 255, 255, 0.82) 32%, rgba(255, 255, 255, 0.55) 45%, rgba(255, 255, 255, 0.28) 58%, rgba(255, 255, 255, 0.08) 70%, transparent 82%) !important;
}

.vph-slide-content {
    position: relative;
    z-index: 3;
    height: 100%;
    display: flex;
    align-items: center;
}

.vph-slide-container {
    max-width: 1260px;
    width: 100%;
    margin: 0 auto;
    padding: 0 32px;
}

.vph-slide-box {
    max-width: 640px;
    color: #1E293B;
}

.vph-slide-subtitle-tag {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #204346;
    margin: 0 0 14px;
    opacity: 0.9;
}

.vph-slide-heading {
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
    font-size: 56px !important;
    font-weight: 400;
    color: #0F172A;
    line-height: 1.12;
    letter-spacing: -0.015em;
    margin: 0 0 16px !important;
}

.vph-slide-heading .vph-hero-accent {
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
    font-style: italic;
    font-weight: 400;
    color: #204346;
}

.vph-slide-sub {
    font-size: 16.5px;
    font-weight: 400;
    color: #64748B;
    line-height: 1.55;
    margin: 0 0 26px !important;
    max-width: 520px;
}

.vph-slider-dots {
    display: flex;
    gap: 9px;
    align-items: center;
    padding-top: 4px;
}

.vph-slider-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #E2E8F0;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: all 0.25s ease;
}

.vph-slider-dot:hover {
    background: #CBD5E1;
}

.vph-slider-dot--active {
    background: #204346;
    width: 10px;
    height: 10px;
}

.vph-slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #1E293B;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0;
}

.vph-slider-arrow svg {
    display: block !important;
    width: 26px !important;
    height: 26px !important;
    stroke: #334155 !important;
    stroke-width: 2.4 !important;
    fill: none !important;
    transition: transform 0.2s ease, stroke 0.2s ease !important;
}

.vph-slider-arrow:hover {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    transform: translateY(-50%) scale(1.15) !important;
}

.vph-slider-arrow:hover svg {
    stroke: #204346 !important;
}

.vph-slider-arrow--prev {
    left: 18px;
}

.vph-slider-arrow--next {
    right: 18px;
}

/* ============================================================
   NEWSLETTER BANNER - SEAMLESS FADED HERO CARD
   ============================================================ */
.vph-newsletter {
    background: #FFFFFF !important;
    padding: 60px 0 70px !important;
    margin: 0 !important;
}

.vph-newsletter-inner {
    max-width: 1140px !important;
    margin: 0 auto !important;
    background-color: #385E60 !important;
    border-radius: 20px !important;
    padding: 0 0 0 56px !important;
    display: flex !important;
    align-items: stretch !important;
    min-height: 310px !important;
    overflow: hidden !important;
    position: relative !important;
    box-shadow: 0 12px 35px rgba(32, 67, 70, 0.12) !important;
}

.vph-newsletter-text {
    flex: 1 1 50% !important;
    max-width: 500px !important;
    padding: 48px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 8px !important;
    z-index: 3 !important;
    position: relative !important;
}

.vph-newsletter-label {
    font-family: 'Plus Jakarta Sans', -apple-system, sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: #A3C5C3 !important;
    margin: 0 0 6px !important;
}

.vph-newsletter-title {
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
    font-size: 40px !important;
    font-weight: 300 !important;
    color: #FFFFFF !important;
    margin: 0 0 10px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.015em !important;
}

.vph-newsletter-sub {
    font-family: 'Plus Jakarta Sans', -apple-system, sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 400 !important;
    color: #CFE0DF !important;
    margin: 0 0 26px !important;
    line-height: 1.55 !important;
}

.vph-newsletter-form {
    display: flex !important;
    gap: 12px !important;
    align-items: center !important;
    flex-wrap: wrap !important;
}

.vph-newsletter-input {
    flex: 1 1 240px !important;
    height: 48px !important;
    padding: 0 18px !important;
    border: none !important;
    border-radius: 10px !important;
    background: #FFFFFF !important;
    color: #1E293B !important;
    font-size: 14px !important;
    outline: none !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
}

.vph-newsletter-input::placeholder {
    color: #94A3B8 !important;
}

.vph-newsletter-btn {
    height: 48px !important;
    padding: 0 28px !important;
    background: #FFFFFF !important;
    color: #1E293B !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
}

.vph-newsletter-btn:hover {
    background: #F1F5F9 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
}

.vph-newsletter-image {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    right: 0 !important;
    left: 32% !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-end !important;
    overflow: hidden !important;
    z-index: 1 !important;
}

.vph-newsletter-image::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(90deg, 
        #385E60 0%, 
        #385E60 6%, 
        rgba(56, 94, 96, 0.92) 13%, 
        rgba(56, 94, 96, 0.75) 19%, 
        rgba(56, 94, 96, 0.50) 25%, 
        rgba(56, 94, 96, 0.25) 30%, 
        rgba(56, 94, 96, 0.06) 34%, 
        transparent 37%
    ) !important;
    z-index: 2 !important;
    pointer-events: none !important;
}

.vph-newsletter-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center right !important;
    z-index: 1 !important;
}

@media (max-width: 900px) {
    .vph-cat-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .vph-slider-hero { height: auto !important; min-height: 440px !important; }
    .vph-slide-heading { font-size: 34px !important; }
    .vph-section-title { font-size: 26px !important; }
    .vph-slide-overlay {
        background: linear-gradient(90deg, #FFFFFF 0%, rgba(255, 255, 255, 0.95) 50%, rgba(255, 255, 255, 0.6) 100%) !important;
    }
    .vph-newsletter-inner {
        padding: 0 0 0 32px !important;
        margin: 0 20px !important;
    }
    .vph-newsletter-title { font-size: 30px !important; }
    .primary-navigation .venpick-cat-nav .vp-cat-mega-menu { display: none !important; }
}

@media (max-width: 768px) {
    /* Header branding on mobile */
    .site-branding .site-title,
    .site-branding .site-title a {
        color: #204346 !important;
    }
    .site-branding .site-title span {
        color: #385E60 !important;
    }

    /* Hero Slideshow on Mobile: Sleek proportions with proper room for heading, text, and buttons */
    .vph-slider-hero {
        height: 480px !important;
        min-height: 480px !important;
        max-height: 500px !important;
        padding: 0 !important;
        position: relative !important;
        overflow: hidden !important;
    }

    .vph-slider-track {
        height: 100% !important;
        position: relative !important;
    }

    .vph-slide {
        height: 100% !important;
        position: absolute !important;
        inset: 0 !important;
    }

    .vph-slide-content {
        height: 100% !important;
        display: flex !important;
        align-items: center !important;
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    .vph-slide-overlay {
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.90) 65%, rgba(255, 255, 255, 0.75) 100%) !important;
    }

    .vph-slide-container {
        padding: 0 20px !important;
        width: 100% !important;
    }

    .vph-slide-box {
        max-width: 100% !important;
    }

    .vph-slide-subtitle-tag {
        font-size: 11px !important;
        margin: 0 0 8px !important;
        letter-spacing: 0.14em !important;
        display: block !important;
        opacity: 0.95 !important;
    }

    .vph-slide-heading {
        font-size: 30px !important;
        line-height: 1.16 !important;
        margin: 0 0 12px !important;
        display: block !important;
    }

    .vph-slide-sub {
        font-size: 14px !important;
        line-height: 1.5 !important;
        margin: 0 0 20px !important;
        color: #475569 !important;
    }

    /* Buttons flex side-by-side or cleanly stacked with equal weight */
    .vph-slide-actions {
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        gap: 10px !important;
        margin-bottom: 18px !important;
        width: 100% !important;
    }

    .vph-btn-primary,
    .vph-btn-slide-outline {
        flex: 1 1 50% !important;
        padding: 12px 14px !important;
        font-size: 13.5px !important;
        justify-content: center !important;
        text-align: center !important;
        white-space: nowrap !important;
        border-radius: 12px !important;
    }

    .vph-slider-arrow {
        display: none !important;
    }

    .vph-slider-dots {
        margin-top: 2px !important;
        gap: 8px !important;
    }

    /* Newsletter Banner Mobile: Card with soft image backdrop */
    .vph-newsletter {
        padding: 36px 0 44px !important;
    }

    .vph-newsletter-inner {
        position: relative !important;
        flex-direction: column !important;
        padding: 36px 24px 32px !important;
        margin: 0 16px !important;
        border-radius: 20px !important;
        background-color: #385E60 !important;
        min-height: auto !important;
        overflow: hidden !important;
    }

    .vph-newsletter-text {
        max-width: 100% !important;
        padding: 0 !important;
        z-index: 3 !important;
        position: relative !important;
        gap: 6px !important;
    }

    .vph-newsletter-label {
        font-size: 11px !important;
        margin: 0 0 6px !important;
    }

    .vph-newsletter-title {
        font-size: 26px !important;
        line-height: 1.2 !important;
        margin: 0 0 8px !important;
    }

    .vph-newsletter-sub {
        font-size: 13.5px !important;
        margin: 0 0 20px !important;
        line-height: 1.5 !important;
    }

    .vph-newsletter-form {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .vph-newsletter-input {
        width: 100% !important;
        flex: none !important;
        height: 46px !important;
        font-size: 14px !important;
        border-radius: 10px !important;
    }

    .vph-newsletter-btn {
        width: 100% !important;
        height: 46px !important;
        font-size: 14.5px !important;
        font-weight: 700 !important;
        background: #FFFFFF !important;
        color: #204346 !important;
        border-radius: 10px !important;
    }

    /* Mobile image treatment: subtle ambient background on the card */
    .vph-newsletter-image {
        position: absolute !important;
        top: 0 !important;
        bottom: 0 !important;
        right: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        opacity: 0.18 !important;
        pointer-events: none !important;
        z-index: 1 !important;
    }

    .vph-newsletter-image::before {
        display: none !important;
    }

    .vph-newsletter-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center center !important;
    }

    /* Sticky Bottom Mobile Bar & Scroll to Top button spacing */
    .vp-mobile-cta {
        background: rgba(255, 255, 255, 0.96) !important;
        border-top: 1px solid #E2E8F0 !important;
        box-shadow: 0 -4px 16px rgba(15, 23, 42, 0.08) !important;
        z-index: 9999 !important;
    }

    .vp-mobile-cta .vp-mobile-cta-primary {
        background: #204346 !important;
        color: #FFFFFF !important;
    }

    .vp-mobile-cta .vp-mobile-cta-secondary {
        background: #F8FAFC !important;
        color: #1E293B !important;
        border: 1px solid #CBD5E1 !important;
    }

    .vp-back-to-top {
        bottom: 86px !important;
        right: 16px !important;
        z-index: 9998 !important;
    }

    body {
        padding-bottom: 76px !important;
    }
}

@media (max-width: 480px) {
    .vph-slide-heading {
        font-size: 27px !important;
        line-height: 1.2 !important;
    }

    .vph-btn-primary,
    .vph-btn-slide-outline {
        font-size: 13.5px !important;
        padding: 12px 10px !important;
    }

    .vph-cat-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

    .vph-product-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }

    .vph-section-title {
        font-size: 23px !important;
    }

    .vph-newsletter-inner {
        padding: 30px 18px 28px !important;
        margin: 0 12px !important;
    }

    .vph-newsletter-title {
        font-size: 23px !important;
    }
}

/* ============================================================
   PRODUCT PAGE MOBILE REFINEMENTS
   1. Logistics Partners Strip & Badges Straightening
   2. "You May Also Like" Grid: Desktop shows 4, Mobile shows 6 (2 rows of 3)
   ============================================================ */

/* Desktop: hide the 5th and 6th product cards so desktop stays 4 cards */
.vp-dp-rel-card--mobile-only {
    display: none !important;
}

@media (max-width: 768px) {
    /* Mobile: show cards 5 and 6 so it fills 2 full rows of 3 */
    .vp-dp-rel-card--mobile-only {
        display: flex !important;
    }

    .vp-dp-related-grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 8px !important;
    }

    .vp-dp-rel-card {
        padding: 10px 6px 12px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        min-height: 140px !important;
        border-radius: 10px !important;
    }

    .vp-dp-rel-img-wrap {
        width: 100% !important;
        height: 68px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-bottom: 6px !important;
    }

    .vp-dp-rel-img-wrap img {
        max-width: 85% !important;
        max-height: 64px !important;
        object-fit: contain !important;
    }

    .vp-dp-rel-meta {
        width: 100% !important;
        margin-top: 0 !important;
        text-align: center !important;
    }

    .vp-dp-rel-sku {
        font-size: 11px !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
        color: #1E293B !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        height: 2.6em !important;
    }

    /* Logistics Strip on Mobile: Straightened layout with proper gaps and alignment */
    .vp-dp-logistics-strip {
        padding: 12px 14px 14px !important;
        margin-top: 16px !important;
        border-radius: 12px !important;
        background: #F4F7F8 !important;
    }

    .vp-dp-logistics-head {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        margin-bottom: 10px !important;
    }

    .vp-dp-logistics-head svg {
        width: 15px !important;
        height: 15px !important;
        flex-shrink: 0 !important;
    }

    .vp-dp-logistics-head span {
        font-size: 12px !important;
        font-weight: 600 !important;
        color: #334155 !important;
        line-height: 1.3 !important;
    }

    .vp-dp-carrier-pills {
        display: flex !important;
        flex-direction: row !important;
        gap: 6px !important;
        align-items: stretch !important;
        width: 100% !important;
    }

    .vp-dp-carrier-pill {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        padding: 8px 4px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        background: #FFFFFF !important;
        border: 1px solid #E2E8F0 !important;
        border-radius: 8px !important;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
        text-align: center !important;
    }

    .vp-carrier-logo {
        max-height: 14px !important;
        object-fit: contain !important;
    }

    .vp-carrier-info {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        line-height: 1.15 !important;
        width: 100% !important;
    }

    .vp-carrier-info strong {
        font-size: 10px !important;
        font-weight: 700 !important;
        color: #1E293B !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        max-width: 100% !important;
        display: block !important;
    }

    .vp-carrier-info em {
        font-size: 9.5px !important;
        font-style: normal !important;
        color: #64748B !important;
        white-space: nowrap !important;
        display: block !important;
        margin-top: 1px !important;
    }
}

/* =====================================================================
   Cart page reference layout
   ===================================================================== */
body.woocommerce-cart .vp-topbar {
    display: block !important;
    padding: 3px 0;
    background: #174D4B;
}
body.woocommerce-cart .vp-topbar .container { min-height: 18px; }
body.woocommerce-cart .header-inner { padding-top: 2px; padding-bottom: 2px; }
body.woocommerce-cart .primary-navigation ul li a { padding-top: 5px; padding-bottom: 5px; }
body.woocommerce-cart .site-header > .container,
body.woocommerce-cart .vp-topbar > .container {
    width: min(1320px, calc(100% - 48px));
    max-width: 1320px;
    padding-left: 10px;
    padding-right: 10px;
}
body.woocommerce-cart .primary-navigation > .container {
    width: min(1320px, calc(100% - 48px));
    max-width: 1320px;
    padding-left: 0;
    padding-right: 0;
}
body.woocommerce-cart .primary-navigation ul li > a {
    padding-right: 12px;
    padding-left: 12px;
}
body.woocommerce-cart .site-header .header-search { max-width: 635px; }
@media (min-width: 1200px) {
    body.woocommerce-cart .site-header .header-search { position: relative; left: 52px; }
    body.woocommerce-cart .header-actions { gap: 4px; }
    body.woocommerce-cart .header-action-btn { padding-right: 10px; padding-left: 10px; }
}
body.woocommerce-cart .primary-navigation ul li.current-menu-item > a,
body.woocommerce-cart .primary-navigation ul li.current_page_item > a {
    border-bottom: 0 !important;
    padding-bottom: 5px !important;
    color: var(--vp-gray-700) !important;
}
body.woocommerce-cart {
    background: #F4FAFB;
}
.venpick-page--cart .container {
    width: min(1320px, calc(100% - 48px));
    max-width: 1320px;
}
.venpick-page--cart .venpick-page-content {
    width: calc(100% + 64px);
    max-width: 1320px;
    margin-left: -32px;
    padding-top: 10px;
    padding-bottom: 0;
}
.venpick-page--cart .venpick-page-content > .woocommerce {
    display: grid;
    grid-template-columns: minmax(0, 1.85fr) minmax(360px, 0.95fr);
    grid-template-rows: auto auto auto;
    align-items: start;
    column-gap: 20px;
    row-gap: 10px;
}
.venpick-page--cart .venpick-page-content > .woocommerce > .woocommerce-notices-wrapper {
    grid-column: 1 / -1;
    margin: 0;
}
.venpick-page--cart .vp-cart-heading {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0 2px 2px;
}
.venpick-page--cart .vp-cart-breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #617987;
    font-size: 13px;
    line-height: 1.3;
}
.venpick-page--cart .vp-cart-breadcrumb a { color: #617987; text-decoration: none; }
.venpick-page--cart .vp-cart-breadcrumb a:hover { color: #155E5B; }
.venpick-page--cart .vp-cart-breadcrumb > span[aria-hidden="true"] { color: #8FA2AC; font-size: 18px; }
.venpick-page--cart .vp-cart-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.venpick-page--cart .vp-cart-title-copy { display: flex; align-items: baseline; gap: 18px; flex-wrap: wrap; }
.venpick-page--cart .vp-cart-title-copy h1 {
    margin: 0;
    color: #102D3E;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(32px, 3vw, 44px);
    font-weight: 500;
    letter-spacing: -0.025em;
    line-height: 1.08;
}
.venpick-page--cart .vp-cart-title-copy > span { color: #526B7D; font-size: 14px; }
.venpick-page--cart .vp-cart-clear,
.venpick-page--cart .vp-continue-shopping,
.venpick-page--cart table.cart td.actions button.button,
.venpick-page--cart .vp-cart-change-location,
.venpick-page--cart .venpick-coupon button.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 42px;
    padding: 0 15px;
    border: 1px solid #E1EAED;
    border-radius: 9px;
    background: #F2F7F9;
    color: #173A46;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    box-shadow: none;
    transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, transform 160ms ease;
}
.venpick-page--cart .vp-cart-clear svg,
.venpick-page--cart table.cart td.actions button.button svg,
.venpick-page--cart .vp-cart-remove svg,
.venpick-page--cart .vp-cart-recommendation-add svg,
.venpick-page--cart .vp-cart-destination-icon svg,
.venpick-page--cart .vp-cart-coupon-icon svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: none;
}
.venpick-page--cart .vp-cart-clear:hover,
.venpick-page--cart .vp-continue-shopping:hover,
.venpick-page--cart table.cart td.actions button.button:hover,
.venpick-page--cart .vp-cart-change-location:hover,
.venpick-page--cart .venpick-coupon button.button:hover {
    background: #E8F1F3;
    border-color: #C8DADD;
    color: #155E5B;
    transform: translateY(-1px);
}
.venpick-page--cart .woocommerce-cart-form {
    grid-column: auto;
    grid-row: auto;
    min-width: 0;
    margin: 0;
    padding: 14px 18px 8px;
    border: 1px solid #E0EBEE;
    border-radius: 13px;
    background: #FFFFFF;
    box-shadow: 0 2px 8px rgba(19, 52, 63, 0.035);
}
.venpick-page--cart .vp-cart-main {
    grid-column: 1;
    grid-row: 2;
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 15px;
}
.venpick-page--cart .woocommerce-cart-form table.cart {
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    table-layout: fixed;
    background: transparent;
}
.venpick-page--cart .woocommerce-cart-form table.cart thead th {
    padding: 0 8px 12px;
    border: 0;
    border-bottom: 1px solid #E6EEF0;
    background: transparent;
    color: #647A88;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.015em;
    line-height: 1.3;
    text-align: center;
    text-transform: none;
}
.venpick-page--cart .woocommerce-cart-form table.cart th.product-select { width: 36px; padding-left: 4px; text-align: left; }
.venpick-page--cart .woocommerce-cart-form table.cart th.product-thumbnail { width: 112px; }
.venpick-page--cart .woocommerce-cart-form table.cart th.product-name { text-align: left; }
.venpick-page--cart .woocommerce-cart-form table.cart th.product-price { width: 84px; }
.venpick-page--cart .woocommerce-cart-form table.cart th.product-quantity { width: 150px; }
.venpick-page--cart .woocommerce-cart-form table.cart th.product-subtotal { width: 92px; }
.venpick-page--cart .woocommerce-cart-form table.cart th:nth-child(1),
.venpick-page--cart .woocommerce-cart-form table.cart td:nth-child(1) { width: 34px; }
.venpick-page--cart .woocommerce-cart-form table.cart th:nth-child(2),
.venpick-page--cart .woocommerce-cart-form table.cart td:nth-child(2) { width: 112px; }
.venpick-page--cart .woocommerce-cart-form table.cart th:nth-child(4),
.venpick-page--cart .woocommerce-cart-form table.cart td:nth-child(4) { width: 82px; }
.venpick-page--cart .woocommerce-cart-form table.cart th:nth-child(5),
.venpick-page--cart .woocommerce-cart-form table.cart td:nth-child(5) { width: 142px; }
.venpick-page--cart .woocommerce-cart-form table.cart th:nth-child(6),
.venpick-page--cart .woocommerce-cart-form table.cart td:nth-child(6) { width: 82px; }
.venpick-page--cart .woocommerce-cart-form table.cart th.product-select label { display: flex; align-items: center; gap: 9px; white-space: nowrap; }
.venpick-page--cart .vp-cart-select-all,
.venpick-page--cart .vp-cart-select-item {
    appearance: none;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin: 0;
    border: 1.5px solid #93AABA;
    border-radius: 4px;
    background: #FFFFFF;
    cursor: pointer;
    transition: background-color 140ms ease, border-color 140ms ease;
}
.venpick-page--cart .vp-cart-select-all:checked,
.venpick-page--cart .vp-cart-select-item:checked { border-color: #247D78; background: #247D78; }
.venpick-page--cart .vp-cart-select-all:checked::after,
.venpick-page--cart .vp-cart-select-item:checked::after {
    content: "";
    display: block;
    width: 8px;
    height: 4px;
    margin: 4px 0 0 3px;
    border: solid #FFFFFF;
    border-width: 0 0 2px 2px;
    transform: rotate(-45deg);
}
.venpick-page--cart .vp-cart-select-all:focus-visible,
.venpick-page--cart .vp-cart-select-item:focus-visible { outline: 3px solid rgba(36, 125, 120, 0.2); outline-offset: 2px; }
.venpick-page--cart .woocommerce-cart-form table.cart tbody td {
    padding: 9.5px 8px;
    border: 0;
    border-bottom: 1px solid #E6EEF0;
    background: transparent;
    color: #142C3B;
    vertical-align: middle;
}
.venpick-page--cart .woocommerce-cart-form table.cart td.product-select { width: 36px; padding-left: 4px; }
.venpick-page--cart .woocommerce-cart-form table.cart td.product-thumbnail { width: 112px; padding-right: 10px; }
.venpick-page--cart .woocommerce-cart-form table.cart td.product-thumbnail a { display: block; }
.venpick-page--cart .woocommerce-cart-form table.cart td.product-thumbnail img {
    display: block;
    width: 100px !important;
    height: 100px !important;
    max-width: 100%;
    margin: 0 auto;
    border: 0;
    border-radius: 10px;
    background: #F2F6F7;
    object-fit: contain;
}
.venpick-page--cart .woocommerce-cart-form table.cart td.product-name { text-align: left; }
.venpick-page--cart .vp-cart-product-title {
    display: block;
    margin: 0 0 4px;
    color: #152B3B;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.35;
    text-decoration: none;
}
.venpick-page--cart .vp-cart-product-title:hover { color: #176B68; }
.venpick-page--cart .vp-cart-vendor,
.venpick-page--cart .vp-cart-stock { display: block; margin-top: 3px; color: #61788A; font-size: 13px; line-height: 1.4; }
.venpick-page--cart .vp-cart-stock { display: flex; align-items: center; gap: 7px; color: #137B59; font-weight: 600; }
.venpick-page--cart .vp-cart-stock i { width: 8px; height: 8px; border-radius: 50%; background: #18A36B; }
.venpick-page--cart .vp-cart-stock.is-out-of-stock { color: #A84040; }
.venpick-page--cart .vp-cart-stock.is-out-of-stock i { background: #C85050; }
.venpick-page--cart .vp-cart-remove { display: inline-flex; align-items: center; gap: 5px; margin-top: 5px; color: #657B88; font-size: 12px; text-decoration: none; }
.venpick-page--cart .vp-cart-remove svg { width: 14px; height: 14px; }
.venpick-page--cart .vp-cart-remove:hover { color: #A43E3E; }
.venpick-page--cart .woocommerce-cart-form table.cart td.product-price,
.venpick-page--cart .woocommerce-cart-form table.cart td.product-subtotal { color: #132A39; font-size: 15px; font-weight: 650; text-align: center; white-space: nowrap; }
.venpick-page--cart .vp-cart-quantity { display: flex; align-items: center; justify-content: center; width: max-content; margin: 0 auto; overflow: hidden; border: 1px solid #DCE7EA; border-radius: 8px; background: #FFFFFF; }
.venpick-page--cart .vp-cart-quantity .vp-qty-control { display: grid; place-items: center; width: 34px; height: 40px; padding: 0; border: 0; background: transparent; color: #173A46; font-size: 20px; line-height: 1; cursor: pointer; transition: background 140ms ease; }
.venpick-page--cart .vp-cart-quantity .vp-qty-control:hover { background: #EEF5F6; }
.venpick-page--cart .vp-cart-quantity .quantity { margin: 0; }
.venpick-page--cart .vp-cart-quantity input.qty {
    width: 44px;
    height: 40px;
    min-height: 40px;
    padding: 0;
    border: 0;
    border-right: 1px solid #E5ECEE;
    border-left: 1px solid #E5ECEE;
    border-radius: 0;
    background: #FFFFFF;
    color: #142C3B;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    box-shadow: none;
}
.venpick-page--cart .vp-cart-quantity input.qty::-webkit-outer-spin-button,
.venpick-page--cart .vp-cart-quantity input.qty::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
.venpick-page--cart .vp-cart-quantity input.qty { appearance: textfield; -moz-appearance: textfield; }
.venpick-page--cart .woocommerce-cart-form table.cart tr:last-child td.actions {
    display: table-cell;
    width: auto !important;
    padding: 11px 0 0;
    border: 0;
    text-align: left;
}
.venpick-page--cart .vp-cart-action-buttons { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; box-sizing: border-box; }
.venpick-page--cart .vp-continue-shopping { flex: 0 0 194px; min-width: 194px; margin-right: 0; white-space: nowrap; }
.venpick-page--cart .woocommerce-cart-form table.cart td.actions button.button { min-width: 150px; min-height: 42px; height: 42px; margin-left: auto; white-space: nowrap; }
.venpick-page--cart .cart-collaterals {
    grid-column: 2;
    grid-row: 1 / span 2;
    float: none;
    width: auto;
    min-width: 0;
    margin: 16px 0 0;
}
.venpick-page--cart .cart-collaterals .cart_totals {
    float: none;
    width: 100%;
    padding: 18px 19px 31px;
    border: 1px solid #E0EBEE;
    border-radius: 13px;
    background: #FFFFFF;
    box-shadow: 0 2px 8px rgba(19, 52, 63, 0.035);
}
.venpick-page--cart .cart_totals h2 { margin: 0 0 15px; color: #132B3A; font-size: 21px; font-weight: 700; letter-spacing: -0.02em; }
.venpick-page--cart .venpick-receipt-items { display: grid; gap: 8px; margin: 0; padding: 0 0 13px; border-bottom: 1px solid #E5ECEF; list-style: none; }
.venpick-page--cart .venpick-receipt-item { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0; font-size: 13px; }
.venpick-page--cart .venpick-receipt-qty,
.venpick-page--cart .venpick-receipt-count { color: #203747; font-size: 13px; font-weight: 600; }
.venpick-page--cart .venpick-receipt-price { flex: none; color: #142B3A; font-size: 13px; font-weight: 650; font-variant-numeric: tabular-nums; }
.venpick-page--cart .vp-cart-destination { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center; gap: 10px; margin: 13px 0 10px; padding: 10px 0 13px; border-bottom: 1px solid #E5ECEF; }
.venpick-page--cart .vp-cart-destination-icon,
.venpick-page--cart .vp-cart-coupon-icon { display: grid; place-items: center; width: 32px; height: 36px; border-radius: 8px; background: #F0F6F7; color: #176B68; }
.venpick-page--cart .vp-cart-destination-icon svg,
.venpick-page--cart .vp-cart-coupon-icon svg { width: 19px; height: 19px; }
.venpick-page--cart .vp-cart-destination-copy { display: grid; gap: 2px; min-width: 0; color: #435D6D; font-size: 12px; line-height: 1.35; }
.venpick-page--cart .vp-cart-destination-copy strong { overflow-wrap: anywhere; color: #203747; font-size: 12px; font-weight: 500; }
.venpick-page--cart .vp-cart-change-location { min-height: 36px; padding: 0 11px; font-size: 11px; white-space: nowrap; }
.venpick-page--cart .cart_totals table.venpick-totals-table { width: 100%; margin: 0; border: 0; border-spacing: 0; border-collapse: collapse; background: transparent; }
.venpick-page--cart .cart_totals table.venpick-totals-table th,
.venpick-page--cart .cart_totals table.venpick-totals-table td { padding: 5px 0; border: 0; background: transparent; color: #203747; font-size: 12px; vertical-align: top; }
.venpick-page--cart .cart_totals table.venpick-totals-table th { width: 1%; padding-right: 10px; font-weight: 600; text-align: left; white-space: nowrap; }
.venpick-page--cart .cart_totals table.venpick-totals-table td { text-align: right; }
.venpick-page--cart .cart_totals .woocommerce-shipping-totals ul.woocommerce-shipping-methods { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; text-align: left; }
.venpick-page--cart .cart_totals tr.woocommerce-shipping-totals th { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.venpick-page--cart .cart_totals tr.woocommerce-shipping-totals td { display: block; padding: 0; text-align: left; }
.venpick-page--cart .cart_totals tr.woocommerce-shipping-totals td::before { content: "Shipping Options"; display: block !important; float: none !important; width: 100%; margin: 4px 0 7px; color: #203747; font-size: 13px; font-weight: 700; text-align: left; }
.venpick-page--cart .cart_totals .woocommerce-shipping-totals li { position: relative; display: block; margin: 0; padding: 0; }
.venpick-page--cart .cart_totals .woocommerce-shipping-totals li label { display: flex; align-items: center; gap: 9px; min-height: 48px; padding: 5px 9px 5px 38px; border: 1px solid #E3ECEF; border-radius: 8px; color: #233A4A; font-size: 11px; line-height: 1.3; cursor: pointer; transition: background-color 150ms ease, border-color 150ms ease; }
.venpick-page--cart .cart_totals .woocommerce-shipping-totals li:has(input:checked) label { border-color: #49A49E; background: #F4FAFA; }
.venpick-page--cart .cart_totals .woocommerce-shipping-totals li input[type="radio"] { position: absolute; z-index: 1; left: 12px; top: 50%; width: 17px; height: 17px; margin: 0; accent-color: #247D78; transform: translateY(-50%); }
.venpick-page--cart .cart_totals .woocommerce-shipping-totals li label .amount { margin-left: auto; white-space: nowrap; }
.venpick-page--cart .cart_totals .woocommerce-shipping-totals .woocommerce-shipping-destination { display: none; }
.venpick-page--cart .vp-checkout-carrier-pill { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 27px; padding: 0 6px; border-radius: 5px; font-size: 10px; font-weight: 800; line-height: 1; }
.venpick-page--cart .vp-pill-dhl { background: #F8D40C; color: #C20E25; }
.venpick-page--cart .vp-pill-fedex { background: #4D148C; color: #FFFFFF; }
.venpick-page--cart .vp-pill-ups { background: #4A2A17; color: #FFFFFF; }
.venpick-page--cart .vp-cart-shipping-amount { padding-top: 1px; }
.venpick-page--cart .cart_totals .woocommerce-shipping-destination { margin: 8px 0 0; color: #607584; font-size: 11px; line-height: 1.4; }
.venpick-page--cart .cart_totals .shipping-calculator-button { color: #176B68; font-size: 11px; font-weight: 600; }
.venpick-page--cart .venpick-coupon { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 8px; margin: 20px 0 16px; }
.venpick-page--cart .vp-cart-coupon-icon { width: 36px; height: 40px; }
.venpick-page--cart .venpick-coupon input[type="text"] { min-width: 0; width: 100%; height: 40px; padding: 0 11px; border: 1px solid #DFE8EB; border-radius: 8px; background: #FFFFFF; color: #203747; font-size: 12px; box-shadow: none; }
.venpick-page--cart .venpick-coupon input[type="text"]::placeholder { color: #667C8B; opacity: 1; }
.venpick-page--cart .venpick-coupon input[type="text"]:focus { border-color: #247D78; outline: 3px solid rgba(36, 125, 120, 0.14); }
.venpick-page--cart .venpick-coupon button.button { min-height: 40px; height: 40px; padding: 0 14px; }
.venpick-page--cart .venpick-order-divider { margin: 0 0 12px; border-top: 1px solid #E5ECEF; }
.venpick-page--cart .venpick-order-total { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 17px; }
.venpick-page--cart .venpick-order-total-label { color: #132B3A; font-size: 14px; font-weight: 700; }
.venpick-page--cart .venpick-order-total-value,
.venpick-page--cart .venpick-order-total-value .amount { color: #102B3D; font-size: 27px; font-weight: 750; font-variant-numeric: tabular-nums; line-height: 1.1; }
.venpick-page--cart .wc-proceed-to-checkout { margin: 0; padding: 0; text-align: center; }
.venpick-page--cart .wc-proceed-to-checkout a.checkout-button { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 54px; padding: 0 16px; border: 0; border-radius: 9px; background: #12645F !important; color: #FFFFFF !important; font-size: 15px; font-weight: 650; text-decoration: none; box-shadow: none; transition: background-color 160ms ease, transform 160ms ease; }
.venpick-page--cart .wc-proceed-to-checkout a.checkout-button::before { content: ""; display: inline-block; width: 17px; height: 18px; background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='16' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 1 1 8 0v3'/%3E%3C/svg%3E"); }
.venpick-page--cart .wc-proceed-to-checkout a.checkout-button::after { content: none; }
.venpick-page--cart .wc-proceed-to-checkout a.checkout-button:hover { background: #0D514C !important; color: #FFFFFF !important; transform: translateY(-1px); }
.venpick-page--cart .vp-cart-recommendations { min-width: 0; }
.venpick-page--cart .vp-cart-recommendations-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin: 0 2px 5px; }
.venpick-page--cart .vp-cart-recommendations-heading h2 { margin: 0; color: #102D3E; font-family: Georgia, "Times New Roman", serif; font-size: 26px; font-weight: 500; letter-spacing: -0.02em; line-height: 1.15; }
.venpick-page--cart .vp-cart-recommendations-heading a { flex: none; color: #155E5B; font-size: 11px; font-weight: 650; text-decoration: none; }
.venpick-page--cart .vp-cart-recommendations-heading a span { margin-left: 4px; font-size: 15px; }
.venpick-page--cart .vp-cart-recommendation-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.venpick-page--cart .vp-cart-recommendation { display: flex; min-width: 0; flex-direction: column; padding: 5px; border: 1px solid #E0EBEE; border-radius: 10px; background: #FFFFFF; }
.venpick-page--cart .vp-cart-recommendation-image { display: grid; place-items: center; height: 80px; margin: -1px -1px 4px; overflow: hidden; border-radius: 7px; background: #F4F8F9; }
.venpick-page--cart .vp-cart-recommendation-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.venpick-page--cart .vp-cart-recommendation-name { display: -webkit-box; min-height: 22px; overflow: hidden; color: #193041; font-size: 11px; font-weight: 550; line-height: 1.3; text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.venpick-page--cart .vp-cart-recommendation-name:hover { color: #176B68; }
.venpick-page--cart .vp-cart-recommendation-price { margin: 2px 0 3px; color: #152E3E; font-size: 12px; font-weight: 700; line-height: 1.2; }
.venpick-page--cart .vp-cart-recommendation-price del { margin-left: 4px; color: #718593; font-size: 10px; font-weight: 400; }
.venpick-page--cart .vp-cart-recommendation-price ins { text-decoration: none; }
.venpick-page--cart .vp-cart-recommendation-add { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 31px; margin-top: auto; padding: 0 8px; border-radius: 6px; background: #145D59; color: #FFFFFF; font-size: 12px; font-weight: 550; line-height: 1; text-decoration: none; transition: background-color 150ms ease, transform 150ms ease; }
.venpick-page--cart .vp-cart-recommendation-add svg { width: 16px; height: 16px; }
.venpick-page--cart .vp-cart-recommendation-add:hover { background: #0F4D4A; color: #FFFFFF; transform: translateY(-1px); }
.venpick-page--cart .cart-empty { grid-column: 1 / -1; padding: 56px 24px; border: 1px solid #E0EBEE; border-radius: 13px; background: #FFFFFF; box-shadow: none; }

@media (max-width: 1050px) {
    .venpick-page--cart .venpick-page-content > .woocommerce { grid-template-columns: minmax(0, 1.45fr) minmax(330px, .9fr); gap: 14px; }
    .venpick-page--cart .woocommerce-cart-form { padding: 12px 12px 8px; }
    .venpick-page--cart .woocommerce-cart-form table.cart td.product-thumbnail { width: 88px; }
    .venpick-page--cart .woocommerce-cart-form table.cart td.product-thumbnail img { width: 78px !important; height: 84px !important; }
    .venpick-page--cart .woocommerce-cart-form table.cart th.product-quantity { width: 126px; }
    .venpick-page--cart .vp-cart-quantity .vp-qty-control { width: 30px; }
    .venpick-page--cart .vp-cart-quantity input.qty { width: 36px; }
}
@media (max-width: 800px) {
    body.woocommerce-cart .site-header > .container,
    body.woocommerce-cart .vp-topbar > .container { width: calc(100% - 28px); max-width: none; }
    body.woocommerce-cart .primary-navigation > .container { width: calc(100% - 28px); max-width: none; }
    .venpick-page--cart .container { width: min(100% - 28px, 640px); }
    .venpick-page--cart .venpick-page-content { width: 100%; max-width: none; margin-left: 0; padding-top: 8px; padding-bottom: 18px; }
    .venpick-page--cart .venpick-page-content > .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .venpick-page--cart .vp-cart-main { display: contents; }
    .venpick-page--cart .vp-cart-heading { grid-column: 1; grid-row: auto; }
    .venpick-page--cart .woocommerce-cart-form { grid-column: 1; padding: 10px 12px; }
    .venpick-page--cart .cart-collaterals { grid-column: 1; grid-row: auto; order: 1; }
    .venpick-page--cart .vp-cart-recommendations { grid-column: 1; grid-row: auto; order: 2; }
    .venpick-page--cart .woocommerce-cart-form table.cart,
    .venpick-page--cart .woocommerce-cart-form table.cart tbody { display: block; width: 100%; }
    .venpick-page--cart .woocommerce-cart-form table.cart thead { display: block; }
    .venpick-page--cart .woocommerce-cart-form table.cart thead tr { display: flex; min-height: 38px; }
    .venpick-page--cart .woocommerce-cart-form table.cart thead th { display: none; }
    .venpick-page--cart .woocommerce-cart-form table.cart thead th.product-select { display: block; width: auto; }
    .venpick-page--cart .woocommerce-cart-form table.cart tr.cart_item { display: grid; grid-template-columns: 22px 78px minmax(0, 1fr); grid-template-rows: auto auto auto; align-items: center; gap: 0 10px; padding: 12px 0; border-bottom: 1px solid #E6EEF0; }
    .venpick-page--cart .woocommerce-cart-form table.cart tr.cart_item td { display: block; width: auto; padding: 0; border: 0; text-align: left; }
    .venpick-page--cart .woocommerce-cart-form table.cart tr.cart_item td.product-select { grid-column: 1; grid-row: 1 / span 3; align-self: start; padding-top: 4px; }
    .venpick-page--cart .woocommerce-cart-form table.cart tr.cart_item td.product-thumbnail { grid-column: 2; grid-row: 1 / span 3; width: 78px; padding: 0; }
    .venpick-page--cart .woocommerce-cart-form table.cart tr.cart_item td.product-thumbnail img { width: 78px !important; height: 86px !important; }
    .venpick-page--cart .woocommerce-cart-form table.cart tr.cart_item td.product-name { grid-column: 3; grid-row: 1; min-width: 0; }
    .venpick-page--cart .woocommerce-cart-form table.cart tr.cart_item td.product-name::before,
    .venpick-page--cart .woocommerce-cart-form table.cart tr.cart_item td.product-price::before { display: none !important; content: none !important; }
    .venpick-page--cart .woocommerce-cart-form table.cart tr.cart_item td.product-price { grid-column: 3; grid-row: 2; padding-top: 5px; font-size: 14px; text-align: left; }
    .venpick-page--cart .woocommerce-cart-form table.cart tr.cart_item td.product-quantity { grid-column: 3; grid-row: 3; justify-self: start; padding-top: 7px; }
    .venpick-page--cart .woocommerce-cart-form table.cart tr.cart_item td.product-quantity::before { content: "Quantity"; display: inline-block; margin-right: 8px; color: #637987; font-size: 11px; }
    .venpick-page--cart .woocommerce-cart-form table.cart tr.cart_item td.product-subtotal { display: none; }
    .venpick-page--cart .woocommerce-cart-form table.cart tr:last-child { display: block; }
    .venpick-page--cart .woocommerce-cart-form table.cart tr:last-child td.actions { display: table-cell; padding-top: 12px; }
    .venpick-page--cart .vp-cart-action-buttons { flex-wrap: wrap; justify-content: space-between; gap: 8px; }
    .venpick-page--cart .vp-continue-shopping,
    .venpick-page--cart .woocommerce-cart-form table.cart td.actions button.button { flex: 1 1 auto; }
    .venpick-page--cart .vp-continue-shopping,
    .venpick-page--cart .woocommerce-cart-form table.cart td.actions button.button { min-width: 0; }
    .venpick-page--cart .vp-cart-title-copy { gap: 5px 12px; }
    .venpick-page--cart .vp-cart-title-copy h1 { font-size: 35px; }
    .venpick-page--cart .vp-cart-title-copy > span { font-size: 12px; }
    .venpick-page--cart .cart_totals { padding: 16px !important; }
    .venpick-page--cart .cart-collaterals { margin-top: 0; }
    .venpick-page--cart .vp-cart-recommendation-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .venpick-page--cart .vp-cart-recommendation-image { height: 112px; }
    .venpick-page--cart ~ .vp-mobile-cta,
    body.woocommerce-cart .vp-mobile-cta { display: none !important; }
}
@media (max-width: 420px) {
    .venpick-page--cart .container { width: calc(100% - 20px); }
    .venpick-page--cart .vp-cart-title-row { align-items: flex-end; }
    .venpick-page--cart .vp-cart-clear { min-height: 38px; padding: 0 10px; font-size: 11px; }
    .venpick-page--cart .vp-cart-clear svg { width: 15px; height: 15px; }
    .venpick-page--cart .vp-cart-destination { grid-template-columns: 30px minmax(0, 1fr); }
    .venpick-page--cart .vp-cart-change-location { grid-column: 2; justify-self: start; }
    .venpick-page--cart .vp-cart-recommendations-heading h2 { font-size: 23px; }
}
.venpick-page--cart .venpick-totals-table .shipping-calculator-button { display: none !important; }
.venpick-page--cart .cart_totals form.woocommerce-shipping-calculator { display: none !important; }
.venpick-page--cart .vp-shipping-location-modal[hidden] { display: none !important; }
.venpick-page--cart .vp-shipping-location-modal {
    position: fixed; z-index: 10050; inset: 0; display: grid; place-items: center;
    padding: 22px; opacity: 0; visibility: hidden;
    transition: opacity 180ms ease, visibility 180ms ease;
}
.venpick-page--cart .vp-shipping-location-modal.is-open { opacity: 1; visibility: visible; }
.venpick-page--cart .vp-shipping-location-backdrop {
    position: absolute; inset: 0; background: rgba(13, 34, 42, .48);
    -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
}
.venpick-page--cart .vp-shipping-location-dialog {
    position: relative; width: min(100%, 480px); max-height: min(90vh, 720px); overflow: auto;
    padding: 30px; border: 1px solid #DFE9EC; border-radius: 18px; background: #FBFEFD;
    box-shadow: 0 24px 80px rgba(11, 39, 47, .24); color: #183241;
    transform: translateY(10px) scale(.985); transition: transform 180ms ease;
}
.venpick-page--cart .vp-shipping-location-modal.is-open .vp-shipping-location-dialog { transform: translateY(0) scale(1); }
.venpick-page--cart .vp-shipping-location-close {
    position: absolute; top: 16px; right: 16px; display: grid; place-items: center;
    width: 36px; height: 36px; padding: 0; border: 1px solid #E0EAED; border-radius: 50%;
    background: #F3F8F9; color: #31515D; font-size: 23px; line-height: 1; cursor: pointer;
}
.venpick-page--cart .vp-shipping-location-eyebrow { display: block; margin: 0 42px 9px 0; color: #247D78; font-size: 10px; font-weight: 750; letter-spacing: .12em; }
.venpick-page--cart .vp-shipping-location-dialog h3 { margin: 0 42px 8px 0; color: #102D3E; font-family: Georgia, "Times New Roman", serif; font-size: 27px; font-weight: 500; line-height: 1.15; }
.venpick-page--cart .vp-shipping-location-dialog > p { margin: 0 0 22px; color: #617987; font-size: 14px; line-height: 1.55; }
.venpick-page--cart .vp-shipping-location-form form.woocommerce-shipping-calculator { display: block !important; margin: 0; }
.venpick-page--cart .vp-shipping-location-form .shipping-calculator-button { display: none !important; }
.venpick-page--cart .vp-shipping-location-form .shipping-calculator-form {
    display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas: "country country" "city state" "postcode postcode";
    column-gap: 16px; margin: 0; padding: 0;
}
.venpick-page--cart .vp-shipping-location-form .form-row { margin: 0 0 15px; padding: 0; }
.venpick-page--cart .vp-shipping-location-form #calc_shipping_country_field { grid-area: country; }
.venpick-page--cart .vp-shipping-location-form #calc_shipping_city_field { grid-area: city; }
.venpick-page--cart .vp-shipping-location-form #calc_shipping_state_field { grid-area: state; }
.venpick-page--cart .vp-shipping-location-form #calc_shipping_postcode_field { grid-area: postcode; }
.venpick-page--cart .vp-shipping-location-form .form-row label { display: block; margin: 0 0 6px; color: #314C5B; font-size: 12px; font-weight: 650; }
.venpick-page--cart .vp-shipping-location-form .form-row select,
.venpick-page--cart .vp-shipping-location-form .form-row input { width: 100%; min-height: 46px; padding: 0 12px; border: 1px solid #DCE7EA; border-radius: 9px; background: #FFFFFF; color: #193746; font-size: 14px; box-shadow: none; }
.venpick-page--cart .vp-shipping-location-form .form-row select:focus,
.venpick-page--cart .vp-shipping-location-form .form-row input:focus { border-color: #358D88; outline: 3px solid rgba(53, 141, 136, .13); }
.venpick-page--cart .vp-shipping-location-form .vp-shipping-location-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 5px; padding-top: 18px; border-top: 1px solid #E5ECEF; }
.venpick-page--cart .vp-shipping-location-form .vp-shipping-location-actions button { display: inline-flex; align-items: center; justify-content: center; min-width: 112px; min-height: 46px; padding: 0 18px; border: 1px solid #E1EAED; border-radius: 9px; background: #F2F7F9; color: #254653; font-size: 13px; font-weight: 600; cursor: pointer; }
.venpick-page--cart .vp-shipping-location-form .vp-shipping-location-actions button.vp-shipping-location-save { min-width: 148px; border-color: #176B66; background: #176B66; color: #FFFFFF; }
.venpick-page--cart .vp-shipping-location-form .vp-shipping-location-actions button.vp-shipping-location-save:hover { background: #105650; }
.venpick-page--cart .vp-shipping-location-form button.button:hover { background: #105650; }
body.vp-location-modal-open { overflow: hidden; }
@media (max-width: 520px) {
    .venpick-page--cart .vp-shipping-location-modal { padding: 14px; }
    .venpick-page--cart .vp-shipping-location-dialog { padding: 25px 20px 20px; border-radius: 15px; }
    .venpick-page--cart .vp-shipping-location-form .shipping-calculator-form { grid-template-columns: minmax(0, 1fr); grid-template-areas: "country" "city" "state" "postcode"; column-gap: 0; }
    .venpick-page--cart .vp-shipping-location-form .vp-shipping-location-actions { gap: 8px; }
    .venpick-page--cart .vp-shipping-location-form .vp-shipping-location-actions button { min-width: 0; flex: 1; padding: 0 10px; }
    .venpick-page--cart .vp-shipping-location-form .vp-shipping-location-actions button.vp-shipping-location-save { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .venpick-page--cart .vp-cart-clear,
    .venpick-page--cart .vp-continue-shopping,
    .venpick-page--cart .vp-cart-recommendation-add,
    .venpick-page--cart .wc-proceed-to-checkout a.checkout-button,
    .venpick-page--cart .vp-shipping-location-modal,
    .venpick-page--cart .vp-shipping-location-dialog { transition: none; }
}
/* Compact address chooser matching the cart reference. */
.venpick-page--cart .vp-shipping-location-dialog { width: min(100%, 500px); max-height: min(88vh, 660px); padding: 23px 24px 20px; border-radius: 16px; }
.venpick-page--cart .vp-shipping-location-close { top: 13px; right: 13px; width: 32px; height: 32px; font-size: 21px; }
.venpick-page--cart .vp-shipping-location-eyebrow { margin-bottom: 5px; font-size: 9px; letter-spacing: .1em; }
.venpick-page--cart .vp-shipping-location-dialog h3 { margin-bottom: 6px; font-size: 23px; }
.venpick-page--cart .vp-shipping-location-dialog > p { max-width: 420px; margin-bottom: 14px; font-size: 12px; line-height: 1.45; }
.venpick-page--cart .vp-location-search { position: relative; display: flex; align-items: center; gap: 9px; min-height: 40px; margin: 0 0 13px; padding: 0 11px; border: 1px solid #DFE8EB; border-radius: 8px; background: #FFFFFF; }
.venpick-page--cart .vp-location-search > svg { flex: none; width: 17px; height: 17px; fill: none; stroke: #176B68; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.venpick-page--cart .vp-location-search-input { width: 100%; min-width: 0; height: 38px; padding: 0; border: 0 !important; outline: 0; background: transparent !important; color: #193746; font-size: 12px; box-shadow: none !important; }
.venpick-page--cart .vp-location-search-input::placeholder { color: #7A8F9B; opacity: 1; }
.venpick-page--cart .vp-location-search-input:focus { outline: 0; box-shadow: none; }
.venpick-page--cart .vp-location-search:focus-within { border-color: #358D88; box-shadow: 0 0 0 3px rgba(53, 141, 136, .11); }
.venpick-page--cart .vp-location-search-results { position: absolute; z-index: 2; top: calc(100% + 5px); left: -1px; right: -1px; overflow: hidden; padding: 4px; border: 1px solid #DFE8EB; border-radius: 9px; background: #FFFFFF; box-shadow: 0 10px 24px rgba(17, 47, 57, .14); }
.venpick-page--cart .vp-location-search-results[hidden],
.venpick-page--cart .vp-popular-destinations[hidden] { display: none !important; }
.venpick-page--cart .vp-location-search-result { display: block; width: 100%; min-height: 34px; padding: 6px 9px; border: 0; border-radius: 5px; background: transparent; color: #294656; font-size: 12px; text-align: left; cursor: pointer; }
.venpick-page--cart .vp-location-search-result:hover,
.venpick-page--cart .vp-location-search-result:focus-visible { background: #F0F6F6; outline: 0; }
.venpick-page--cart .vp-shipping-location-form .shipping-calculator-form { column-gap: 14px; }
.venpick-page--cart .vp-shipping-location-form .form-row { margin-bottom: 10px; }
.venpick-page--cart .vp-shipping-location-form .form-row label { margin-bottom: 4px; font-size: 11px; }
.venpick-page--cart .vp-shipping-location-form .form-row select,
.venpick-page--cart .vp-shipping-location-form .form-row input { min-height: 40px; padding: 0 10px; border-radius: 8px; font-size: 13px; }
.venpick-page--cart .vp-shipping-location-form .select2-container { width: 100% !important; }
.venpick-page--cart .vp-shipping-location-form .select2-container--default .select2-selection--single { height: 40px !important; border: 1px solid #DCE7EA !important; border-radius: 8px !important; background: #FFFFFF !important; }
.venpick-page--cart .vp-shipping-location-form .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0 30px 0 10px !important; color: #193746 !important; font-size: 13px !important; line-height: 38px !important; }
.venpick-page--cart .vp-shipping-location-form .select2-container--default .select2-selection--single .select2-selection__arrow { top: 1px !important; right: 6px !important; height: 38px !important; }
.venpick-page--cart .vp-shipping-location-form .select2-container--focus .select2-selection--single { border-color: #358D88 !important; box-shadow: 0 0 0 3px rgba(53, 141, 136, .11) !important; }
.venpick-page--cart .vp-shipping-location-form .vp-popular-destinations { margin-top: 2px; padding-top: 12px; border-top: 1px solid #E5ECEF; }
.venpick-page--cart .vp-popular-destinations > span { display: block; margin-bottom: 7px; color: #324F5D; font-size: 11px; font-weight: 600; }
.venpick-page--cart .vp-popular-destinations > div { display: flex; flex-wrap: wrap; gap: 6px; }
.venpick-page--cart .vp-popular-destinations button { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 4px 9px; border: 1px solid #DFE8EB; border-radius: 7px; background: #FBFEFD; color: #304B5B; font-size: 11px; cursor: pointer; transition: background-color 150ms ease, border-color 150ms ease; }
.venpick-page--cart .vp-popular-destinations button:hover { border-color: #8EBBB7; background: #EFF7F6; }
.venpick-page--cart .vp-popular-destinations button[aria-pressed="true"] { border-color: #4C9F9A; background: #EFF7F6; color: #155E5B; }
.venpick-page--cart .vp-shipping-location-form .vp-shipping-location-actions { margin-top: 11px; padding-top: 12px; border-top: 0; }
.venpick-page--cart .vp-shipping-location-form .vp-shipping-location-actions button { min-height: 40px; font-size: 12px; }
/* Keep the primary actions in view when browser zoom or a short viewport makes the dialog scroll. */
.venpick-page--cart .vp-shipping-location-dialog { max-height: min(calc(100dvh - 28px), 660px); overscroll-behavior: contain; }
.venpick-page--cart .vp-shipping-location-form .vp-shipping-location-actions { position: sticky; bottom: 0; z-index: 3; margin: 8px -2px 0; padding: 10px 2px 0; border-top: 1px solid #E5ECEF; background: #FBFEFD; }
.venpick-page--cart .vp-location-search { gap: 9px; }
.venpick-page--cart .vp-location-search-input { flex: 1 1 auto; }
.venpick-page--cart .vp-location-locate { display: inline-flex; flex: none; align-items: center; justify-content: center; gap: 6px; min-height: 30px; margin-left: 3px; padding: 0 0 0 11px; border: 0; border-left: 1px solid #DFE8EB; background: transparent; color: #294656; font-size: 11px; font-weight: 600; white-space: nowrap; cursor: pointer; }
.venpick-page--cart .vp-location-locate svg { width: 16px; height: 16px; fill: none; stroke: #294656; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.venpick-page--cart .vp-location-locate:hover { color: #176B68; }
.venpick-page--cart .vp-location-locate:hover svg { stroke: #176B68; }
.venpick-page--cart .vp-location-locate:disabled { opacity: .62; cursor: progress; }
.venpick-page--cart .vp-location-locate.is-loading svg { animation: vp-location-spin 1.2s linear infinite; }
@keyframes vp-location-spin { to { transform: rotate(360deg); } }
.venpick-page--cart .vp-location-status { margin: -5px 0 9px; color: #617987; font-size: 11px; line-height: 1.4; }
.venpick-page--cart .vp-location-status[hidden] { display: none !important; }
.venpick-page--cart .vp-shipping-location-form .form-row select { appearance: none; -webkit-appearance: none; padding-right: 36px !important; background-color: #FFFFFF !important; 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='%23314C5B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 11px center !important; background-size: 15px 15px !important; }
.venpick-page--cart .vp-shipping-location-form .select2-container--default .select2-selection--single { display: flex; align-items: center; box-shadow: 0 1px 2px rgba(18, 46, 55, .025); }
.venpick-page--cart .vp-shipping-location-form .select2-container--default .select2-selection--single .select2-selection__arrow b { border-color: #496573 transparent transparent !important; border-width: 5px 4px 0 !important; }
.venpick-page--cart .vp-shipping-location-form .select2-container--open .select2-dropdown { border: 1px solid #DCE7EA; border-radius: 9px; box-shadow: 0 12px 28px rgba(17, 47, 57, .14); overflow: hidden; }
.venpick-page--cart .vp-shipping-location-form .select2-search--dropdown { padding: 8px; }
.venpick-page--cart .vp-shipping-location-form .select2-search--dropdown .select2-search__field { min-height: 36px; padding: 0 10px; border: 1px solid #DCE7EA; border-radius: 7px; outline: 0; }
.venpick-page--cart .vp-shipping-location-form .select2-results__option { padding: 8px 11px; color: #294656; font-size: 12px; }
.venpick-page--cart .vp-shipping-location-form .select2-results__option--highlighted[aria-selected] { background: #EAF4F3; color: #155E5B; }
.venpick-page--cart .vp-popular-destinations button { min-height: 44px; gap: 9px; padding: 6px 14px; font-size: 13px; }
.venpick-page--cart .vp-popular-destinations button > span { font-size: 16px; line-height: 1; }
@media (max-height: 700px) {
    .venpick-page--cart .vp-shipping-location-dialog { padding-top: 17px; padding-bottom: 14px; }
    .venpick-page--cart .vp-shipping-location-dialog > p { margin-bottom: 10px; }
    .venpick-page--cart .vp-location-search { min-height: 38px; margin-bottom: 9px; }
    .venpick-page--cart .vp-shipping-location-form .form-row { margin-bottom: 7px; }
    .venpick-page--cart .vp-shipping-location-form .form-row select,
    .venpick-page--cart .vp-shipping-location-form .form-row input { min-height: 38px; }
    .venpick-page--cart .vp-popular-destinations { padding-top: 8px; }
}
@media (max-width: 520px) {
    .venpick-page--cart .vp-shipping-location-dialog { padding: 22px 18px 17px; border-radius: 14px; }
    .venpick-page--cart .vp-shipping-location-form .shipping-calculator-form { grid-template-columns: minmax(0, 1fr); grid-template-areas: "country" "state" "city" "postcode"; column-gap: 0; }
    .venpick-page--cart .vp-popular-destinations > div { gap: 5px; }
    .venpick-page--cart .vp-popular-destinations button { min-height: 40px; padding: 5px 11px; font-size: 12px; }
}

/* Hide the phone, email and account strip site-wide, including the cart. */
html body .vp-topbar { display: none !important; }

/* Hide the phone, email and account strip site-wide, including the cart. */
html body .vp-topbar,
html body.woocommerce-cart .vp-topbar { display: none !important; }
