/*
Theme Name: Geminexu
Theme URI: https://example.com/
Author: Geminexu
Author URI: https://example.com/
Description: WordPress theme for Geminexu (black & gold). WooCommerce ready with modern e-commerce layout.
Version: 1.0.1
Requires at least: 5.9
Tested up to: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: geminexu
Tags: e-commerce, woocommerce, custom-menu, featured-images, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, two-columns

Geminexu - Black & gold watch e-commerce theme.
*/

:root {
  --va-primary: #0b0b0b;
  --va-secondary: #141414;
  --va-accent: #c9a227;
  --va-sale: #c00;
  --va-bg: #fff;
  --va-border: #e5e5e5;
  --va-text: #141414;
  --va-muted: #6a6a6a;
  --va-on-dark: #f5f0e6;
  --va-on-dark-muted: rgba(245,240,230,0.78);
  --va-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, sans-serif;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: var(--va-font);
  font-size: 15px;
  line-height: 1.5;
  color: var(--va-text);
  background: var(--va-bg);
  overflow-x: hidden;
}

a {
  color: var(--va-primary);
  text-decoration: none;
}

a:hover {
  color: var(--va-accent);
  text-decoration: underline;
}

/* Promo / Announcement bar */
.va-announcement-bar {
  background: var(--va-primary);
  color: #fff;
  text-align: center;
  padding: 10px 20px;
  font-size: 14px;
}

.va-announcement-bar a {
  color: var(--va-accent);
  text-decoration: none;
}

/* Second announcement bar */
.va-promo-bar {
  background: #1a1a1a;
  color: #fff;
  padding: 12px 20px;
  font-size: 13px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  align-items: center;
}

.va-promo-bar span {
  white-space: nowrap;
}

/* Header – Geminexu */
.va-header,
.va-header-elementor-wrap {
  background: var(--va-primary);
  border-bottom: 1px solid rgba(201, 162, 39, 0.25);
  padding: 12px 24px;
  position: sticky;
  top: 0;
  z-index: 200;
  flex-wrap: wrap;
}
/* Elementor header: full width like .va-header, 100px height, same padding as header.php */
.va-header-elementor-wrap {
  width: 100% !important;
  height: 100px;
  min-height: 100px;
  padding: 0 24px;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}
/* Section: full width of wrap (match old header structure) */
.va-header-elementor-wrap .elementor-section.va-header-elementor {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  display: flex;
  align-items: center;
}
/* Container: same as .va-header-inner – max-width 1400px, centered */
.va-header-elementor-wrap .elementor-section.va-header-elementor .elementor-container {
  max-width: 1400px !important;
  width: 100% !important;
  height: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: nowrap !important;
}
.va-header-elementor-wrap .elementor-section.va-header-elementor .elementor-column-wrap,
.va-header-elementor-wrap .elementor-section.va-header-elementor .elementor-widget-wrap {
  padding: 0;
  height: 100%;
  display: flex;
  align-items: center;
}
/* Columns: full height, vertically centered content */
.va-header-elementor-wrap .elementor-section.va-header-elementor .elementor-column {
  position: relative;
  padding-left: 0;
  padding-right: 0;
  max-width: none !important;
  height: 100% !important;
  display: flex;
  align-items: center;
}
.va-header-elementor-wrap .elementor-section.va-header-elementor .elementor-column:nth-child(1) {
  flex: 0 0 auto !important;
  width: auto !important;
}
/* Middle column = toggle + nav (same as theme’s two flex children); nav grows to fill */
.va-header-elementor-wrap .elementor-section.va-header-elementor .elementor-column:nth-child(2) {
  flex: 1 1 auto !important;
  min-width: 0;
  width: auto !important;
  display: flex;
  justify-content: flex-start;
}
.va-header-elementor-wrap .elementor-section.va-header-elementor .elementor-column:nth-child(3) {
  flex: 0 0 auto !important;
  width: auto !important;
  display: flex;
  justify-content: flex-end;
  flex-shrink: 0;
}
/* Shortcode wrappers: full width, no extra spacing */
.va-header-elementor-wrap .elementor-section.va-header-elementor .elementor-widget-shortcode {
  width: 100%;
}
/* Column 2 shortcode = flex row with gap like theme (toggle | nav); nav takes remaining space */
.va-header-elementor-wrap .elementor-section.va-header-elementor .elementor-column:nth-child(2) .elementor-widget-shortcode {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-width: 0;
  width: 100%;
}
.va-header-elementor-wrap .elementor-section.va-header-elementor .elementor-column:nth-child(2) .elementor-widget-shortcode .va-menu-toggle {
  flex: 0 0 auto;
}
.va-header-elementor-wrap .elementor-section.va-header-elementor .elementor-column:nth-child(2) .elementor-widget-shortcode .va-header-main-nav {
  flex: 1 1 auto;
  min-width: 0;
}
.va-header-elementor-wrap .elementor-section.va-header-elementor .elementor-column:nth-child(3) .elementor-widget-shortcode {
  display: flex;
  justify-content: flex-end;
  width: auto !important;
}

/* Right column: same as .va-header-right – flex row, gap; single row */
.va-header-elementor-wrap .elementor-section.va-header-elementor .elementor-column:nth-child(3) > .elementor-widget-wrap {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
  width: auto !important;
}
.va-header-elementor-wrap .elementor-section.va-header-elementor .elementor-column:nth-child(3) .va-header-right {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: center;
  gap: 20px;
}

/* Elementor Nav Menu: match theme nav (font, hover, dropdown) */
.va-header-elementor-wrap .elementor-nav-menu--main .elementor-item {
  padding: 10px 14px !important;
  font-size: 14px !important;
  color: var(--va-on-dark) !important;
  text-decoration: none !important;
}
.va-header-elementor-wrap .elementor-nav-menu--main .elementor-item:hover {
  color: var(--va-accent) !important;
}
.va-header-elementor-wrap .elementor-nav-menu--main .sub-menu,
.va-header-elementor-wrap .elementor-nav-menu--main .va-dropdown {
  background: var(--va-primary) !important;
  border: 1px solid rgba(201, 162, 39, 0.3);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.3);
  list-style: none;
  margin: 0;
  padding: 16px 0;
}
.va-header-elementor-wrap .elementor-nav-menu--main .sub-menu a,
.va-header-elementor-wrap .elementor-nav-menu--main .va-dropdown a {
  color: #fff !important;
  padding: 14px 24px !important;
  display: block;
}
.va-header-elementor-wrap .elementor-nav-menu--main .sub-menu a:hover,
.va-header-elementor-wrap .elementor-nav-menu--main .va-dropdown a:hover {
  background: rgba(201, 162, 39, 0.15) !important;
  color: var(--va-accent) !important;
}

/* Products dropdown: click to open (JS adds .va-dropdown-open); hide by default like theme */
.va-header-elementor-wrap .elementor-nav-menu--main .va-nav-products .sub-menu,
.va-header-elementor-wrap .elementor-nav-menu--main .va-nav-products .va-dropdown {
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
}
.va-header-elementor-wrap .elementor-nav-menu--main .va-nav-products.va-dropdown-open .sub-menu,
.va-header-elementor-wrap .elementor-nav-menu--main .va-nav-products.va-dropdown-open .va-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

@media (max-width: 768px) {
  .va-header-elementor-wrap .elementor-section.va-header-elementor .elementor-container {
    flex-wrap: wrap;
  }
  .va-header-elementor-wrap .elementor-section.va-header-elementor .elementor-column:nth-child(1) { order: 1; }
  .va-header-elementor-wrap .va-menu-toggle {
    display: flex !important;
    order: 2;
    margin-left: auto;
    z-index: 10;
  }
  .va-header-elementor-wrap .elementor-section.va-header-elementor .elementor-column:nth-child(2) { order: 3; width: 100%; }
  .va-header-elementor-wrap .elementor-section.va-header-elementor .elementor-column:nth-child(3) { order: 2; margin-left: 12px; }
  .va-header-elementor-wrap .elementor-section.va-header-elementor .elementor-column:nth-child(3) .elementor-widget-html:first-child,
  .va-header-elementor-wrap .elementor-section.va-header-elementor .elementor-column:nth-child(3) .elementor-widget-shortcode:nth-of-type(2) {
    display: none !important;
  }
  .va-header-elementor-wrap #va-main-nav,
  .va-header-elementor-wrap .elementor-nav-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--va-primary);
    border-top: 1px solid rgba(201, 162, 39, 0.25);
    padding: 12px 16px 20px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.2);
    order: 3;
    width: 100%;
    z-index: 100;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
  }
  .va-header-elementor-wrap.va-mobile-menu-open #va-main-nav,
  .va-header-elementor-wrap.va-mobile-menu-open .elementor-nav-menu {
    display: block !important;
  }
  .va-header-elementor-wrap .elementor-nav-menu--main {
    flex-direction: column;
    align-items: stretch;
  }
  .va-header-elementor-wrap .elementor-nav-menu--main .elementor-item {
    display: block;
    padding: 14px 12px !important;
  }
  .va-header-elementor-wrap .elementor-nav-menu--main .sub-menu,
  .va-header-elementor-wrap .elementor-nav-menu--main .va-dropdown {
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    box-shadow: none;
    border: none;
    background: rgba(0,0,0,0.25);
    margin: 0 0 4px 0;
    padding: 4px 0 8px 20px;
    display: none;
  }
  .va-header-elementor-wrap .elementor-nav-menu--main .va-nav-products.va-dropdown-open .sub-menu,
  .va-header-elementor-wrap .elementor-nav-menu--main .va-nav-products.va-dropdown-open .va-dropdown {
    display: block !important;
  }
}

/* Elementor section under header (e.g. elementor-117 product) – full width */
.va-main .elementor-117,
main .elementor-117,
.elementor.elementor-117 {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}
.elementor-117 .elementor-container {
  max-width: 100% !important;
}

.va-header-inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}

.va-logo {
  flex-shrink: 0;
}

.va-logo a {
  font-size: 22px;
  font-weight: 700;
  color: var(--va-accent);
  text-decoration: none;
}

.va-logo a:hover {
  text-decoration: none;
  color: var(--va-accent);
}

.va-logo img {
  display: block;
}

.va-logo .custom-logo,
.va-logo .va-logo-img {
  width: 210px;
  height: 72px;
  object-fit: contain;
  object-position: center;
}

.va-menu-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--va-on-dark);
  border-radius: 4px;
}
.va-menu-toggle-bar {
  display: block;
  width: 22px;
  height: 2px;
  background: currentColor;
  transition: transform 0.25s, opacity 0.25s;
}
.va-header.va-mobile-menu-open .va-menu-toggle-bar:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.va-header.va-mobile-menu-open .va-menu-toggle-bar:nth-child(2) {
  opacity: 0;
}
.va-header.va-mobile-menu-open .va-menu-toggle-bar:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* Main nav: Home, Products (dropdown), Customer Reviews, Contact Us, Blogs */
.va-header-main-nav {
  flex: 1;
  display: flex;
  justify-content: center;
  min-width: 0;
}

.va-nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.va-nav-list > li {
  position: relative;
}

.va-nav-list > li > a {
  display: block;
  padding: 10px 14px;
  font-size: 14px;
  color: var(--va-on-dark);
  text-decoration: none;
}

.va-nav-list > li > a:hover {
  color: var(--va-accent);
  text-decoration: none;
}

/* Dropdown – Products (click to open) & My Account (hover) */
.va-header .va-has-dropdown .va-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 200px;
  background: var(--va-primary);
  border: 1px solid rgba(201, 162, 39, 0.3);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.3);
  list-style: none;
  margin: 0;
  padding: 16px 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
  z-index: 50;
}

.va-header .va-account-wrap.va-has-dropdown .va-dropdown {
  left: auto;
  right: 0;
}

.va-header .va-nav-products .va-dropdown {
  opacity: 0;
  visibility: hidden;
}
.va-header .va-nav-products.va-dropdown-open .va-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.va-header .va-has-dropdown:not(.va-nav-products):hover .va-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.va-header .va-dropdown li {
  margin: 0;
}

.va-header .va-dropdown li a {
  display: block;
  padding: 14px 24px;
  font-size: 14px;
  color: #fff;
  text-decoration: none;
  transition: color 0.2s, background 0.2s;
}

.va-header .va-dropdown li a:hover {
  background: rgba(201, 162, 39, 0.15);
  color: var(--va-accent);
  text-decoration: none;
}

.va-header .va-account-wrap .va-dropdown {
  background: #fff;
  border-color: var(--va-border);
}
.va-header .va-account-wrap .va-dropdown li a {
  color: var(--va-text);
}
.va-header .va-account-wrap .va-dropdown li a:hover {
  background: #f5f5f5;
  color: var(--va-accent);
}

/* Header right: Search, My Account, Cart */
.va-header-right {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-shrink: 0;
}

.va-search-wrap {
  position: relative;
}

.va-search-toggle {
  background: none;
  border: none;
  font-size: 14px;
  color: var(--va-on-dark);
  cursor: pointer;
  padding: 8px 0;
}

.va-search-toggle:hover {
  color: var(--va-accent);
}

.va-search-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 8px;
  width: 320px;
  background: #fff;
  border: 1px solid var(--va-border);
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  padding: 12px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
  z-index: 60;
}

.va-search-wrap:hover .va-search-dropdown,
.va-search-wrap.va-search-open .va-search-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.va-search-form {
  display: flex;
}

.va-search-form input[type="search"] {
  flex: 1;
  padding: 10px 12px;
  border: 1px solid var(--va-border);
  border-right: 0;
  border-radius: 4px 0 0 4px;
  font-size: 14px;
}

.va-search-form button {
  padding: 10px 14px;
  background: var(--va-accent);
  color: var(--va-primary);
  border: 1px solid var(--va-accent);
  border-radius: 0 4px 4px 0;
  cursor: pointer;
  font-size: 13px;
}

.va-header .va-account-wrap > a,
.va-header .va-ico-link,
.va-header .va-cart-link {
  font-size: 14px;
  color: var(--va-on-dark);
  text-decoration: none;
}

.va-header .va-account-wrap > a:hover,
.va-header .va-ico-link:hover,
.va-header .va-cart-link:hover {
  color: var(--va-accent);
  text-decoration: none;
}

.va-cart-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.va-cart-count {
  background: var(--va-accent);
  color: var(--va-primary);
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 600;
}

/* Main content – full width so sections can control layout */
.va-main {
  width: 100%;
  padding: 0 0 48px;
  min-height: 50vh;
}

/* Hero – full width with banner image */
.va-hero {
  width: 100%;
  min-height: 400px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #1a1a1a;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
  padding-bottom: 12px;
  position: relative;
}

.va-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.3), rgba(0,0,0,0.1));
  pointer-events: none;
}

.va-hero-inner {
  text-align: center;
  padding: 48px 20px 24px;
  max-width: 900px;
  position: relative;
  z-index: 1;
}

/* Tighten gap between hero and first section */
.va-hero + .va-section .va-section-inner {
  padding-top: 24px;
}

.va-hero-title {
  font-size: clamp(32px, 5vw, 48px);
  font-weight: 700;
  margin: 0;
  color: #fff;
  text-shadow: 0 2px 8px rgba(0,0,0,0.7), 0 1px 3px rgba(0,0,0,0.5);
  letter-spacing: 0.5px;
}

/* Full-width sections with inner container */
.va-section-full {
  width: 100%;
  margin-bottom: 0;
}

.va-section-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 20px 48px;
}

/* Category sections (homepage) */
.va-section {
  margin-bottom: 0;
}

.va-section-title {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 24px;
  text-align: center;
}

.va-category-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 24px;
  margin-bottom: 0;
}

.va-category-grid-4 {
  grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 900px) {
  .va-category-grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Best Selling Collections – tab row (Vogue Alaska style: text tabs with underline) */
.va-collections-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 24px 32px;
  margin-bottom: 24px;
  padding-top: 8px;
  padding-bottom: 16px;
}

.va-collection-pill {
  display: inline-block;
  padding: 8px 4px 12px;
  background: transparent;
  border: none;
  border-radius: 0;
  font-size: 16px;
  font-weight: 600;
  color: #666;
  text-decoration: none;
  transition: color 0.2s, border-color 0.2s;
  border-bottom: 3px solid transparent;
}

.va-collection-pill:hover {
  color: var(--va-primary);
  text-decoration: none;
  border-bottom-color: transparent;
}

.va-collection-pill.va-collection-tab-active,
.va-collections-row .elementor-button.va-collection-tab-active {
  background: transparent;
  border: none;
  border-bottom: 3px solid var(--va-accent);
  color: var(--va-primary);
  text-decoration: none;
}

/* Blue banner for "Switch to Best Selling Collections" title */
.va-collections-title-section {
  background: #1e3a5f;
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}
.va-collections-title-section .va-collections-title,
.va-collections-title-section .elementor-heading-title,
.va-collections-title-section h2 {
  color: #fff !important;
  margin: 0 !important;
  text-shadow: none;
}

/* Elementor front page: full-width hero/banner, headings, category grid */
.va-main .va-front-page-content {
  width: 100%;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
  overflow-x: hidden;
}
.va-front-page-content .elementor {
  max-width: 100% !important;
}
/* First section / banner: full viewport width (no side gaps) */
.va-front-page-content .elementor-section.va-hero,
.va-front-page-content > .elementor-section:first-child,
.va-front-page-content .elementor-section:first-of-type,
.va-front-page-content .elementor > .elementor-inner > .elementor-section:first-child,
.va-front-page-content .elementor .elementor-section:first-child {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: 50% !important;
  transform: translateX(-50%) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
}
.va-front-page-content .elementor-section.va-hero .elementor-container,
.va-front-page-content > .elementor-section:first-child .elementor-container,
.va-front-page-content .elementor-section:first-of-type .elementor-container,
.va-front-page-content .elementor .elementor-section:first-child .elementor-container {
  max-width: 100% !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}
.va-front-page-content .elementor-section.va-hero {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.va-front-page-content .elementor-section:not(.va-hero) {
  width: 100% !important;
  padding-left: 0;
  padding-right: 0;
  display: flex !important;
  justify-content: center !important;
}
.va-front-page-content .elementor-section:not(.va-hero) .elementor-container {
  width: 100% !important;
  max-width: 1280px;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
  flex: 0 1 1280px;
}
.va-front-page-content .elementor-widget-heading .elementor-heading-title,
.va-front-page-content .elementor-section:not(.va-hero) h1,
.va-front-page-content .elementor-section:not(.va-hero) h2,
.va-front-page-content .elementor-section:not(.va-hero) h3 {
  color: #0b0b0b !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.va-front-page-content .elementor-section.va-hero .elementor-heading-title,
.va-front-page-content .elementor-section.va-hero h1 {
  color: #fff !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.7);
}
.va-front-page-content .elementor-section.va-section .elementor-widget-heading:first-child .elementor-heading-title {
  padding-top: 24px;
  padding-bottom: 24px;
}
.va-front-page-content .elementor-section:not(.va-hero) .elementor-widget-heading {
  text-align: center;
  width: 100%;
}
.va-front-page-content .elementor-section:not(.va-hero) .elementor-widget-heading .elementor-heading-title {
  text-align: center;
}
.va-front-page-content .elementor-button,
.va-front-page-content a.elementor-button {
  background: var(--va-primary) !important;
  color: var(--va-accent) !important;
  border: 2px solid var(--va-primary) !important;
  padding: 12px 24px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.va-front-page-content .elementor-button:hover,
.va-front-page-content a.elementor-button:hover {
  background: var(--va-primary) !important;
  color: #fff !important;
  border-color: var(--va-accent) !important;
}
/* Category-style sections: 4 columns, readable text */
.va-front-page-content .elementor-section.va-category-grid-4 .elementor-container,
.va-front-page-content .elementor-section:has(.elementor-container > .elementor-column:nth-child(4)) .elementor-container {
  grid-template-columns: repeat(4, minmax(240px, 1fr)) !important;
  gap: 28px !important;
  margin: 0 !important;
  padding: 0 20px !important;
  box-sizing: border-box;
}
.va-front-page-content .elementor-section.va-category-grid-4 .elementor-column,
.va-front-page-content .elementor-section:has(.elementor-container > .elementor-column:nth-child(4)) .elementor-column {
  min-width: 200px !important;
  max-width: 100%;
  overflow: visible;
}
.va-front-page-content .elementor-section.va-category-grid-4 .elementor-widget-image img,
.va-front-page-content .elementor-section.va-category-grid-4 .elementor-widget-image,
.va-front-page-content .elementor-section .elementor-widget-image img {
  width: 100%;
  display: block;
}
.va-front-page-content .elementor-widget-heading .elementor-heading-title,
.va-front-page-content .elementor-section h1,
.va-front-page-content .elementor-section h2,
.va-front-page-content .elementor-section h3 {
  white-space: normal !important;
  word-wrap: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  letter-spacing: normal !important;
  display: block !important;
  writing-mode: horizontal-tb !important;
}
.va-front-page-content .elementor-widget-heading {
  display: block !important;
}
.va-front-page-content .elementor-widget-heading .elementor-widget-container {
  display: block !important;
}
.va-front-page-content .elementor-section.va-collections-row .elementor-container {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 24px 32px;
}
.va-front-page-content .elementor-section.va-collections-row .elementor-button,
.va-front-page-content .elementor-section.va-collections-row a.elementor-button {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  color: #666 !important;
  padding: 8px 4px 12px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  border-bottom: 3px solid transparent !important;
  transition: color 0.2s, border-color 0.2s;
}
.va-front-page-content .elementor-section.va-collections-row .elementor-button:hover,
.va-front-page-content .elementor-section.va-collections-row a.elementor-button:hover {
  background: transparent !important;
  color: var(--va-primary) !important;
  border-bottom-color: transparent !important;
}
.va-front-page-content .elementor-section.va-collections-row .elementor-button.va-collection-tab-active,
.va-front-page-content .elementor-section.va-collections-row a.elementor-button.va-collection-tab-active {
  background: transparent !important;
  color: var(--va-primary) !important;
  border-bottom: 3px solid var(--va-accent) !important;
}
.va-front-page-content .elementor-section.va-collections-title-section {
  background: #000000 !important;
  padding-top: 20px !important;
  padding-bottom: 20px !important;
  margin-top: 60px;
}
.va-front-page-content .elementor-section.va-collections-title-section .elementor-heading-title,
.va-front-page-content .elementor-section.va-collections-title-section h2 {
  color: #C9A227 !important;
}

/* Collection panels (Straps / Chain / Sports) – toggled by tabs; only first visible by default */
.va-front-page-content .elementor-section.va-collection-panel,
.va-front-page-content [class*="va-collection-panel"],
.va-front-page-content .va-collection-tab-panel {
  margin-bottom: 0;
}
.va-front-page-content .va-collection-tab-hidden {
  display: none !important;
}
/* Hide 2nd and 3rd section after collections row so only one tab content shows (fallback before JS) */
.va-front-page-content .va-collections-row + * + *,
.va-front-page-content .va-collections-row + * + * + * {
  display: none !important;
}
.va-front-page-content .va-collection-tab-panel.va-collection-tab-visible,
.va-front-page-content .va-collections-row + * + *.va-collection-tab-visible,
.va-front-page-content .va-collections-row + * + * + *.va-collection-tab-visible {
  display: flex !important;
}
.va-front-page-content .va-collections-row + .elementor-section.va-product-section,
.va-front-page-content .va-collections-row + .elementor-section.va-collection-panel {
  margin-top: 0;
}
/* Mobile: simplify hero/full-width first row to avoid off-canvas issues */
@media (max-width: 768px) {
  .va-front-page-content .elementor-section.va-hero,
  .va-front-page-content > .elementor-section:first-child,
  .va-front-page-content .elementor-section:first-of-type,
  .va-front-page-content .elementor > .elementor-inner > .elementor-section:first-child,
  .va-front-page-content .elementor .elementor-section:first-child {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    transform: none !important;
  }
}
@media (max-width: 1024px) {
  .va-front-page-content .elementor-section.va-category-grid-4 .elementor-container,
  .va-front-page-content .elementor-section:has(.elementor-container > .elementor-column:nth-child(4)) .elementor-container {
    grid-template-columns: repeat(2, minmax(200px, 1fr)) !important;
  }
}
@media (max-width: 600px) {
  .va-front-page-content .elementor-section.va-category-grid-4 .elementor-container,
  .va-front-page-content .elementor-section:has(.elementor-container > .elementor-column:nth-child(4)) .elementor-container {
    grid-template-columns: 1fr !important;
  }
  .va-front-page-content .elementor-section.va-category-grid-4 .elementor-column,
  .va-front-page-content .elementor-section:has(.elementor-container > .elementor-column:nth-child(4)) .elementor-column {
    min-width: 0 !important;
  }
}

/* Category / brand cards with image on top */
.va-category-card {
  text-align: center;
  border: 1px solid var(--va-border);
  border-radius: 8px;
  overflow: hidden;
  transition: border-color 0.2s, box-shadow 0.2s;
  background: #fff;
}

.va-category-card:hover {
  border-color: var(--va-accent);
  box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}

.va-category-card a {
  text-decoration: none;
  color: var(--va-text);
  display: block;
}

.va-category-card-image {
  display: block;
  width: 100%;
  padding-bottom: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #f0f0f0;
}

.va-category-card h3 {
  font-size: 16px;
  margin: 0;
  padding: 20px 16px;
  font-weight: 600;
}

.va-category-card:hover h3 {
  color: var(--va-accent);
}

/* Product grid – 4 columns */
.va-products-grid,
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
}

.va-product-card,
.woocommerce ul.products li.product {
  border: none;
  border-radius: 8px;
  overflow: hidden;
  transition: box-shadow 0.2s, background 0.2s;
  background: #fff;
}

.va-product-card:hover,
.woocommerce ul.products li.product:hover {
  background: #fff !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.08);
}

.va-product-card:hover .va-product-inner,
.va-product-card:hover .va-product-info,
.woocommerce ul.products li.product:hover .va-product-inner,
.woocommerce ul.products li.product:hover .va-product-info {
  background: transparent !important;
}

.va-product-card .thumb,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
  aspect-ratio: 1;
  overflow: hidden;
  background: #f8f8f8;
}

.va-product-card .thumb img,
.woocommerce ul.products li.product img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.va-product-card .info,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding: 16px;
}

.va-product-card .title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 8px;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.va-product-card .price,
.woocommerce ul.products li.product .price {
  font-size: 15px;
  font-weight: 600;
  color: var(--va-sale);
}

.va-product-card .price del,
.woocommerce ul.products li.product .price del {
  color: var(--va-muted);
  font-weight: 400;
  margin-right: 6px;
}

/* Product card overlay (Add to wishlist, Quick view, Select options) */
.va-product-image-wrap {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  background: #f8f8f8;
}

.va-product-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
  display: block;
  background: #f8f8f8;
}

.va-product-image-wrap img[src*="product-watch"] {
  object-fit: contain;
  padding: 10px;
  background: #fff;
}

.va-product-image-wrap .va-product-link {
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  overflow: hidden;
}

.va-product-image-wrap img[src*="product-watch"],
.va-product-image-wrap img[src*="category-"] {
  object-fit: contain;
  padding: 15px;
  background: #fff;
  transition: transform 0.3s ease;
}

.va-product-card:hover .va-product-image-wrap img[src*="product-watch"],
.va-product-card:hover .va-product-image-wrap img[src*="category-"] {
  transform: scale(1.08);
}

.va-product-card:hover .va-product-image-wrap img {
  transform: scale(1.05);
}

.va-product-actions-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.4);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  opacity: 0;
  transition: opacity 0.25s;
}

.va-product-card:hover .va-product-actions-overlay {
  opacity: 1;
}

.va-action-link {
  padding: 8px 16px;
  background: #fff;
  color: var(--va-primary);
  font-size: 13px;
  text-decoration: none;
  border-radius: 4px;
  white-space: nowrap;
  transition: background 0.2s, color 0.2s;
}

.va-action-link:hover {
  background: var(--va-accent);
  color: #fff;
  text-decoration: none;
}

/* Color swatches on product card */
.va-product-image-wrap {
  position: relative;
}

.va-swatch-group {
  margin: 0 0 8px;
}

.va-swatch-label {
  margin: 0 0 8px;
  font-size: 13px;
  color: var(--va-text);
}

.va-swatch-label .va-swatch-attr-name {
  font-weight: 600;
}

.va-swatch-label .va-swatch-selected-label {
  font-weight: 400;
}

.va-color-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 0;
  padding: 0;
  justify-content: flex-start;
}

.va-product-card .va-swatch-group {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 10px 8px 8px;
  background: linear-gradient(to top, rgba(0,0,0,0.6), transparent);
  opacity: 0;
  transition: opacity 0.2s;
}

.va-product-card:hover .va-swatch-group {
  opacity: 1;
}

.va-product-card .va-swatch-label {
  color: #fff;
  margin-bottom: 6px;
  font-size: 12px;
}

.va-product-card .va-color-swatches {
  justify-content: center;
}

.va-swatch {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,0.8);
  padding: 0;
  cursor: pointer;
  background: var(--va-border);
  flex-shrink: 0;
  transition: transform 0.15s, box-shadow 0.15s;
}

.va-swatch:hover {
  transform: scale(1.1);
  box-shadow: 0 0 0 2px var(--va-accent);
}

.va-swatch-active {
  box-shadow: 0 0 0 2px var(--va-accent);
  border-color: #fff;
}

.va-swatch span {
  display: none;
}

.va-swatch img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  display: block;
  vertical-align: middle;
}

.va-product-info {
  padding: 16px;
}

.va-product-title {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 10px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.va-product-title a {
  color: var(--va-text);
  text-decoration: none;
}

.va-product-title a:hover {
  color: var(--va-accent);
  text-decoration: none;
}

.va-product-price-wrap {
  font-size: 13px;
  margin-bottom: 8px;
}

.va-price-label {
  display: block;
  color: var(--va-muted);
}

.va-product-price-wrap .price,
.va-product-price-wrap .amount {
  font-weight: 600;
  color: var(--va-primary);
}

.va-product-price-wrap del .amount {
  color: var(--va-muted);
  font-weight: 400;
  margin-right: 6px;
}

.va-unit-price {
  display: block;
  color: var(--va-muted);
  font-size: 12px;
  margin-top: 2px;
}

.va-product-variants {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}

.va-variant-pill {
  display: inline-block;
  padding: 4px 10px;
  background: #f0f0f0;
  border-radius: 4px;
  font-size: 12px;
  color: var(--va-text);
}

.va-variant-more {
  font-size: 12px;
  color: var(--va-muted);
}

.va-product-excerpt {
  font-size: 12px;
  color: var(--va-muted);
  margin: 0 0 12px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.va-btn-select {
  display: inline-block;
  padding: 10px 16px;
  background: var(--va-primary);
  color: var(--va-accent);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  border: 2px solid var(--va-primary);
  border-radius: 4px;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.va-btn-select:hover {
  background: var(--va-primary);
  color: #fff;
  border-color: var(--va-accent);
  text-decoration: none;
}

.va-product-card .actions,
.woocommerce ul.products li.product .button {
  padding: 10px 14px;
  margin: 0 16px 16px;
  display: inline-block;
  background: var(--va-primary);
  color: var(--va-accent);
  border: 2px solid var(--va-primary);
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.va-product-card .actions:hover,
.woocommerce ul.products li.product .button:hover {
  background: var(--va-primary);
  color: #fff;
  border-color: var(--va-accent);
}

/* Buttons – site-wide: black bg, gold text; hover: black bg, white text, gold border */
.va-btn,
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page .button,
.woocommerce-page a.button,
.woocommerce-page button.button {
  display: inline-block;
  padding: 12px 24px;
  background: var(--va-primary);
  color: var(--va-accent);
  border: 2px solid var(--va-primary);
  border-radius: 4px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.va-btn:hover,
.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce-page .button:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover {
  background: var(--va-primary);
  color: #fff;
  border-color: var(--va-accent);
  text-decoration: none;
}

.va-btn-outline {
  background: transparent;
  border: 2px solid var(--va-accent);
  color: var(--va-accent);
}

.va-btn-outline:hover {
  background: var(--va-primary);
  border-color: var(--va-accent);
  color: #fff;
}

.va-section-cta {
  text-align: center;
  margin-top: 24px;
}

/* Footer */
.va-footer {
  background: #1a1a1a;
  color: #ccc;
  margin-top: 60px;
}

.va-footer-top {
  max-width: 1280px;
  margin: 0 auto;
  padding: 48px 20px 32px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 32px;
}

.va-footer-column h4 {
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 16px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.va-footer-column ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.va-footer-column li {
  margin-bottom: 8px;
}

.va-footer-column a {
  color: #ccc;
  text-decoration: none;
  font-size: 14px;
}

.va-footer-column a:hover {
  color: var(--va-accent);
  text-decoration: none;
}

.va-footer-bottom {
  border-top: 1px solid #333;
  padding: 20px;
  text-align: center;
  font-size: 13px;
  color: #888;
}

.va-footer-bottom a {
  color: #aaa;
}

.va-footer-social {
  margin-top: 16px;
  display: flex;
  gap: 12px;
}

.va-footer-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #fff;
  color: #fff;
  text-decoration: none;
  transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.2s;
}

.va-footer-social-icon {
  width: 20px;
  height: 20px;
  font-size: 18px;
  line-height: 1;
}

.va-footer-social-link:hover {
  background: #fff;
  color: #000;
  border-color: #fff;
  transform: translateY(-1px);
}


/* Page content (non-front pages) */
.va-woocommerce-wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 24px 20px 48px;
}

/* Cart & Checkout – same main width and layout as other pages (1280px like shop) */
.woocommerce-cart .va-woocommerce-wrap,
.woocommerce-checkout .va-woocommerce-wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 32px 20px 48px;
}
.woocommerce-cart .va-main,
.woocommerce-cart main,
.woocommerce-cart .elementor-location-single,
.woocommerce-cart #content {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box;
}
.woocommerce-cart .va-page-header.va-cart-page-header {
  margin-bottom: 0;
  padding-bottom: 16px;
}
.woocommerce-cart .cart_totals,
.woocommerce-checkout .woocommerce-checkout-review-order {
  background: #fff;
  border: 1px solid var(--va-border);
  border-radius: 8px;
  padding: 24px;
  margin-top: 0;
}

.woocommerce-checkout .va-main,
.woocommerce-checkout main,
.woocommerce-checkout #content {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box;
}

/* Checkout: two-column layout – left: billing/shipping, right: order summary + payment + place order */
.woocommerce-checkout form.woocommerce-checkout {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 32px 48px;
  align-items: start;
  margin-bottom: 24px;
}
.woocommerce-checkout #customer_details {
  grid-column: 1;
  grid-row: 1 / -1;
  min-width: 0;
}
.woocommerce-checkout #order_review_heading {
  grid-column: 2;
  margin: 0 0 16px;
  font-size: 18px;
  font-weight: 600;
  color: var(--va-primary);
}
.woocommerce-checkout #order_review {
  grid-column: 2;
  position: sticky;
  top: 24px;
}
.woocommerce-checkout #payment {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--va-border);
}
.woocommerce-checkout .wc_payment_methods {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
}
.woocommerce-checkout .wc_payment_method {
  margin-bottom: 12px;
  padding: 14px 16px;
  background: #f9f9f9;
  border: 1px solid var(--va-border);
  border-radius: 6px;
}
.woocommerce-checkout .wc_payment_method input.input-radio {
  margin-right: 10px;
  vertical-align: middle;
}
.woocommerce-checkout .wc_payment_method label {
  cursor: pointer;
  font-weight: 600;
  display: inline;
}
.woocommerce-checkout .payment_box {
  margin-top: 12px;
  padding: 12px 0 0;
  font-size: 14px;
  color: var(--va-text);
  border-top: 1px solid var(--va-border);
}
.woocommerce-checkout .payment_box p:last-child {
  margin-bottom: 0;
}
.woocommerce-checkout #place_order,
button#place_order {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin-top: 16px !important;
  padding: 14px 24px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  background: var(--va-primary) !important;
  color: var(--va-accent) !important;
  border: 2px solid var(--va-primary) !important;
  border-radius: 4px !important;
}
.woocommerce-checkout #place_order:hover,
button#place_order:hover {
  background: var(--va-primary) !important;
  color: #fff !important;
  border-color: var(--va-accent) !important;
}

.woocommerce-cart table.cart,
.woocommerce-checkout .woocommerce-checkout {
  margin-bottom: 24px;
}

/* Cart totals: message above button + fixed Proceed to Checkout layout */
.wc-proceed-to-checkout {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--va-border, #e5e5e5);
}
.geminexu-shop-more-above-button {
  margin: 0 0 16px 0 !important;
  padding: 12px 16px !important;
  font-size: 15px;
  background: rgba(201, 162, 39, 0.12) !important;
  border-left: 4px solid var(--va-accent) !important;
  border-radius: 4px;
}
.wc-proceed-to-checkout a,
.wc-proceed-to-checkout .button {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  text-align: center !important;
  margin: 0 !important;
}

.woocommerce-cart .wc-proceed-to-checkout,
.woocommerce-checkout #place_order {
  margin-top: 16px;
}

/* Proceed to Checkout – black & gold (same as other shop buttons) */
.va-woocommerce-wrap .wc-proceed-to-checkout a,
.va-woocommerce-wrap .wc-proceed-to-checkout .button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a,
.woocommerce-cart .wc-proceed-to-checkout .button,
body.woocommerce-cart .wc-proceed-to-checkout a,
body.woocommerce-cart .wc-proceed-to-checkout .button,
.woocommerce-checkout #place_order,
.wc-block-cart__submit-container .wc-block-components-checkout-place-order-button,
.wc-block-cart .wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-container .wp-block-button__link,
.wc-block-cart .wp-block-button__link {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  text-align: center !important;
  padding: 14px 28px !important;
  background: var(--va-primary) !important;
  color: var(--va-accent) !important;
  border: 2px solid var(--va-primary) !important;
  border-radius: 4px;
  font-weight: 600;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
  text-decoration: none !important;
}

.va-woocommerce-wrap .wc-proceed-to-checkout a:hover,
.va-woocommerce-wrap .wc-proceed-to-checkout .button:hover,
.woocommerce-cart .wc-proceed-to-checkout a:hover,
.woocommerce-cart .wc-proceed-to-checkout .button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a:hover,
body.woocommerce-cart .wc-proceed-to-checkout .button:hover,
.woocommerce-checkout #place_order:hover,
.wc-block-cart__submit-container .wc-block-components-checkout-place-order-button:hover,
.wc-block-cart .wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-container .wp-block-button__link:hover,
.wc-block-cart .wp-block-button__link:hover {
  background: var(--va-primary) !important;
  color: #fff !important;
  border-color: var(--va-accent) !important;
}

/* Cart page: style any Proceed to Checkout link (shortcode or block) */
.va-woocommerce-wrap a[href*="checkout"],
.va-page-content a[href*="checkout"] {
  display: inline-block !important;
  padding: 14px 28px !important;
  margin-top: 16px;
  background: var(--va-primary) !important;
  color: var(--va-accent) !important;
  border: 2px solid var(--va-primary) !important;
  border-radius: 4px;
  font-weight: 600;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.va-woocommerce-wrap a[href*="checkout"]:hover,
.va-page-content a[href*="checkout"]:hover {
  background: var(--va-primary) !important;
  color: #fff !important;
  border-color: var(--va-accent) !important;
}

@media (max-width: 1024px) {
  .woocommerce-checkout form.woocommerce-checkout {
    grid-template-columns: 1fr;
  }
  .woocommerce-checkout #customer_details {
    grid-row: auto;
  }
  .woocommerce-checkout #order_review {
    position: static;
  }
}

@media (max-width: 768px) {
  .woocommerce-checkout form.woocommerce-checkout {
    gap: 24px;
  }
}

/* Empty cart message and return-to-shop – align with other pages */
/* Shop More discount message (from Geminexu Shop More Discount plugin) */
.geminexu-shop-more-message {
  padding: 14px 20px !important;
  margin: 0 0 20px !important;
  font-size: 15px;
  color: var(--va-text);
  background: rgba(201, 162, 39, 0.12);
  border-left: 4px solid var(--va-accent);
  border-radius: 4px;
}
.va-woocommerce-wrap .geminexu-shop-more-message {
  margin-bottom: 20px;
}

.woocommerce-cart .cart-empty.woocommerce-info {
  text-align: center;
  padding: 32px 20px;
  margin: 0 0 24px;
  font-size: 16px;
  color: var(--va-text);
}
.woocommerce-cart .return-to-shop {
  text-align: center;
  margin: 0 0 24px;
}
.woocommerce-cart .return-to-shop .button {
  padding: 12px 24px;
  background: var(--va-primary);
  color: var(--va-accent);
  border: 2px solid var(--va-primary);
  border-radius: 4px;
  font-weight: 600;
  text-decoration: none;
}
.woocommerce-cart .return-to-shop .button:hover {
  background: transparent;
  color: var(--va-primary);
}

/* Empty cart block – "Go to shop" button (theme style: black + gold) */
.wp-block-woocommerce-empty-cart-block .va-go-to-shop .wp-block-button__link,
.wc-block-cart__empty-cart .va-go-to-shop .wp-block-button__link {
  display: inline-block;
  padding: 12px 24px;
  background: var(--va-primary) !important;
  color: var(--va-accent) !important;
  border: 2px solid var(--va-primary) !important;
  border-radius: 4px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.wp-block-woocommerce-empty-cart-block .va-go-to-shop .wp-block-button__link:hover,
.wc-block-cart__empty-cart .va-go-to-shop .wp-block-button__link:hover {
  background: var(--va-primary) !important;
  color: var(--va-bg) !important;
  border-color: var(--va-accent) !important;
  text-decoration: none;
}

.woocommerce-checkout .woocommerce-form-row label {
  font-weight: 600;
  color: var(--va-text);
}

.woocommerce-checkout .input-text,
.woocommerce-checkout select {
  padding: 10px 14px;
  border: 1px solid var(--va-border);
  border-radius: 4px;
  width: 100%;
}

.va-page-header {
  margin-bottom: 32px;
}

.va-page-header h1 {
  font-size: 28px;
  margin: 0 0 8px;
}

.va-page-content {
  max-width: 800px;
}

/* WooCommerce overrides */
.woocommerce .woocommerce-breadcrumb {
  margin-bottom: 20px;
  font-size: 14px;
  color: var(--va-muted);
}

.woocommerce .woocommerce-breadcrumb a {
  color: var(--va-muted);
}

.woocommerce-result-count,
.woocommerce-ordering {
  margin-bottom: 20px;
}

/* ========== Single product page layout ========== */
.va-single-product-wrap .va-woo-inner {
  max-width: 1280px;
  margin: 0 auto;
}

.va-single-product-wrap .woocommerce-breadcrumb {
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--va-border);
}

/* Two-column layout wrapper: gallery left, summary right */
.va-single-product-inner {
  display: grid;
  grid-template-columns: 700px minmax(0, 1fr);
  gap: 40px 48px;
  align-items: flex-start;
  margin-top: 0;
  margin-bottom: 0;
}

.va-single-product-gallery {
  width: 100%;
  max-width: 700px;
}

.va-single-product-summary {
  width: 100%;
}

/* Tabs, related, upsells full width below */
.single-product > .woocommerce-tabs,
.single-product > .related.products,
.single-product > .upsells.products {
  grid-column: 1 / -1;
  width: 100%;
  margin-top: 24px;
  margin-bottom: 0;
}

/* Product gallery styling */
/* Product gallery styling – thumbs left, main image right */
.single-product .woocommerce-product-gallery {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.single-product .woocommerce-product-gallery__wrapper {
  position: relative;
  background: #f8f8f8;
  border-radius: 8px;
  overflow: hidden;
  flex: 1 1 auto;
}

.single-product .woocommerce-product-gallery__image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 420px;
  overflow-y: auto;
  flex: 0 0 96px;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li {
  margin: 0;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 4px;
  border: 2px solid transparent;
  cursor: pointer;
  display: block;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
  border-color: var(--va-primary);
}

/* Hide Woo zoom/search icon over main image */
.single-product .woocommerce-product-gallery__trigger {
  display: none !important;
}

/* Summary: title, price, add to cart */
.single-product .summary .product_title {
  font-size: 22px;
  font-weight: 600;
  margin: 0 0 12px;
  line-height: 1.3;
  color: var(--va-primary);
}

.single-product .summary .price {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 16px;
  color: var(--va-primary);
}

.single-product .summary .price del {
  color: var(--va-muted);
  font-weight: 400;
  margin-right: 8px;
}

.single-product .summary .price ins {
  text-decoration: none;
}

.single-product .summary .woocommerce-product-details__short-description {
  margin-bottom: 20px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--va-text);
}

.va-product-viewing {
  font-size: 13px;
  color: var(--va-sale);
  margin: 0 0 8px;
}

.va-product-promo {
  font-size: 14px;
  color: var(--va-accent);
  margin: 0 0 12px;
}

.va-product-save {
  display: inline-block;
  margin-bottom: 12px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 600;
  border-radius: 999px;
  background: rgba(201, 162, 39, 0.12);
  color: var(--va-accent);
}

.va-product-secondary-cta {
  margin: 12px 0 16px;
}

.va-btn-wa {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  background: #25D366;
  border-color: #25D366;
  color: #fff;
  padding: 10px 22px;
  border-radius: 999px;
  font-weight: 600;
  letter-spacing: 0.2px;
  box-shadow: 0 6px 16px rgba(37, 211, 102, 0.4);
  justify-content: center;
}

.va-btn-wa:hover {
  background: #1ebe5d;
  border-color: #1ebe5d;
  color: #fff;
}

.va-product-perks {
  margin: 8px 0 20px;
  font-size: 13px;
  color: var(--va-text);
}

.va-product-perks p {
  margin: 0 0 4px;
}

.single-product .summary .cart {
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.single-product .summary .quantity {
  margin: 0;
}

.single-product .summary .quantity input.qty {
  width: 80px;
  padding: 10px 12px;
  font-size: 16px;
  border: 1px solid var(--va-border);
  border-radius: 4px;
}

.single-product .summary button.single_add_to_cart_button,
.single-product .summary .single_add_to_cart_button {
  padding: 12px 28px;
  font-size: 15px;
  font-weight: 600;
  background: var(--va-primary);
  color: var(--va-accent);
  border: 2px solid var(--va-primary);
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
  white-space: nowrap;
}

.single-product .summary button.single_add_to_cart_button:hover,
.single-product .summary .single_add_to_cart_button:hover {
  background: var(--va-primary);
  color: #fff;
  border-color: var(--va-accent);
}

.single-product .summary .product_meta {
  padding-top: 16px;
  border-top: 1px solid var(--va-border);
  font-size: 13px;
  color: var(--va-muted);
}

.single-product .summary .product_meta > span {
  display: block;
  margin-bottom: 6px;
}

.single-product .summary .product_meta a {
  color: var(--va-text);
}

/* Tabs (Description, Additional info, Reviews) */
.single-product .woocommerce-tabs ul.tabs {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
  border-bottom: 2px solid var(--va-border);
  display: flex;
  gap: 4px;
}

.single-product .woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
}

.single-product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 12px 20px;
  font-size: 15px;
  font-weight: 600;
  color: var(--va-muted);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
}

.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--va-primary);
  border-bottom-color: var(--va-primary);
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
  padding: 24px 0;
  font-size: 15px;
  line-height: 1.6;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
  font-size: 18px;
  margin: 0 0 16px;
}

/* Reviews tab: form + stars */
.single-product .woocommerce-Reviews {
  max-width: 680px;
}

.single-product .woocommerce-Reviews .commentlist {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
}

.single-product .woocommerce-Reviews .comment-form p {
  margin: 0 0 16px;
}

.single-product .woocommerce-Reviews .comment-form-rating label,
.single-product .woocommerce-Reviews .comment-form-comment label,
.single-product .woocommerce-Reviews .comment-form-author label,
.single-product .woocommerce-Reviews .comment-form-email label {
  display: block;
  font-weight: 600;
  margin: 0 0 6px;
}

.single-product .woocommerce-Reviews .comment-form input[type="text"],
.single-product .woocommerce-Reviews .comment-form input[type="email"],
.single-product .woocommerce-Reviews .comment-form textarea {
  width: 100%;
  max-width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--va-border);
  border-radius: 4px;
  font-size: 14px;
}

.single-product .woocommerce-Reviews .comment-form textarea {
  min-height: 120px;
}

.single-product .woocommerce-Reviews .comment-form-rating .stars {
  display: inline-flex;
  margin: 6px 0 0;
  gap: 2px;
}

.single-product .woocommerce-Reviews .comment-form-rating .stars a {
  display: inline-block;
  text-indent: -9999px;
  position: relative;
  width: 1.4em;
  height: 1.4em;
}

/* Default: outline star, gray */
.single-product .woocommerce-Reviews .comment-form-rating .stars a::before {
  content: "☆";
  font-family: inherit;
  position: absolute;
  left: 0;
  top: 0;
  text-indent: 0;
  color: var(--va-border);
  font-size: 20px;
  line-height: 1;
}

/* Hover: fill stars 1..N when hovering star N */
.single-product .woocommerce-Reviews .comment-form-rating .stars:has(.star-1:hover) .star-1::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars:has(.star-2:hover) .star-1::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars:has(.star-2:hover) .star-2::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars:has(.star-3:hover) .star-1::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars:has(.star-3:hover) .star-2::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars:has(.star-3:hover) .star-3::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars:has(.star-4:hover) .star-1::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars:has(.star-4:hover) .star-2::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars:has(.star-4:hover) .star-3::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars:has(.star-4:hover) .star-4::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars:has(.star-5:hover) .star-1::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars:has(.star-5:hover) .star-2::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars:has(.star-5:hover) .star-3::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars:has(.star-5:hover) .star-4::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars:has(.star-5:hover) .star-5::before {
  content: "★";
  color: #f5a623;
}

/* Selected: fill stars 1..N when star N has .active (after click) */
.single-product .woocommerce-Reviews .comment-form-rating .stars.selected:has(.star-1.active) .star-1::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars.selected:has(.star-2.active) .star-1::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars.selected:has(.star-2.active) .star-2::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars.selected:has(.star-3.active) .star-1::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars.selected:has(.star-3.active) .star-2::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars.selected:has(.star-3.active) .star-3::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars.selected:has(.star-4.active) .star-1::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars.selected:has(.star-4.active) .star-2::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars.selected:has(.star-4.active) .star-3::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars.selected:has(.star-4.active) .star-4::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars.selected:has(.star-5.active) .star-1::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars.selected:has(.star-5.active) .star-2::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars.selected:has(.star-5.active) .star-3::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars.selected:has(.star-5.active) .star-4::before,
.single-product .woocommerce-Reviews .comment-form-rating .stars.selected:has(.star-5.active) .star-5::before {
  content: "★";
  color: #f5a623;
}

.single-product .woocommerce-Reviews .comment-form .form-submit {
  margin-top: 8px;
}

.single-product .woocommerce-Reviews .comment-form .form-submit input#submit {
  border: none;
  outline: none;
  cursor: pointer;
  display: inline-block;
  padding: 12px 24px;
  background: var(--va-accent);
  color: var(--va-primary);
  border-radius: 4px;
  font-size: 14px;
  font-weight: 600;
}

.single-product .woocommerce-Reviews .comment-form .form-submit input#submit:hover {
  background: var(--va-primary);
  color: var(--va-accent);
}

/* Related / upsells product list */
.single-product .related.products,
.single-product .upsells.products {
  margin-top: 48px;
  padding-top: 32px;
  border-top: 1px solid var(--va-border);
  clear: both;
  overflow: hidden;
}

.single-product .related.products h2,
.single-product .upsells.products h2 {
  font-size: 22px;
  margin: 0 0 24px;
  font-weight: 600;
  color: var(--va-primary);
  text-align: center;
}

.single-product .related.products ul.products,
.single-product .upsells.products ul.products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
  clear: both;
}

.single-product .related.products ul.products li.product,
.single-product .upsells.products ul.products li.product {
  margin: 0;
  width: 100%;
  float: none;
  display: block;
}

/* Ensure product cards in related/upsells use our styling */
.single-product .related.products .va-product-card,
.single-product .upsells.products .va-product-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.single-product .related.products .va-product-inner,
.single-product .upsells.products .va-product-inner {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.single-product .related.products .va-product-info,
.single-product .upsells.products .va-product-info {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Fix WooCommerce default product loop wrapper */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none !important;
}

.woocommerce ul.products {
  clear: both;
  overflow: visible !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  margin: 0 0 40px !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
}

.woocommerce ul.products li.product {
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
  display: block !important;
  list-style: none !important;
}

/* Clear floats that WooCommerce might add */
.single-product::before,
.single-product::after {
  display: none;
}

/* Variable product (variations) */
.single-product .variations {
  margin-bottom: 20px;
}

.single-product .variations tr {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 12px;
}

.single-product .variations .label {
  padding: 0 12px 0 0;
  font-weight: 600;
  min-width: 80px;
}

.single-product .variations .value select {
  padding: 8px 12px;
  min-width: 160px;
  border: 1px solid var(--va-border);
  border-radius: 4px;
  font-size: 14px;
}

.single-product .reset_variations {
  font-size: 13px;
  color: var(--va-muted);
  margin-left: 12px;
}

/* ========== Archive / Shop / Category pages ========== */
.va-archive-wrap {
  padding: 24px 20px 48px;
}

.va-archive-wrap .va-woo-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0;
}

/* Archive header (category title, description) */
.va-archive-wrap .woocommerce-products-header {
  margin-bottom: 32px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--va-border);
}

.va-archive-wrap .woocommerce-products-header h1.page-title,
.va-archive-wrap .woocommerce-products-header .woocommerce-products-header__title,
.va-archive-wrap .woocommerce-products-header h1 {
  font-size: 28px;
  font-weight: 600;
  margin: 0 0 12px;
  color: var(--va-primary);
}

.va-archive-wrap .woocommerce-products-header .term-description {
  font-size: 15px;
  color: var(--va-muted);
  margin: 0;
  line-height: 1.6;
}

/* Shop loop header (result count, ordering) */
.va-archive-wrap .woocommerce-result-count,
.va-archive-wrap .woocommerce-ordering {
  margin-bottom: 24px;
  font-size: 14px;
  color: var(--va-muted);
  display: inline-block;
}

.va-archive-wrap .woocommerce-ordering {
  float: right;
}

.va-archive-wrap .woocommerce-ordering select {
  padding: 8px 12px;
  border: 1px solid var(--va-border);
  border-radius: 4px;
  font-size: 14px;
  margin-left: 8px;
}

.va-archive-wrap .woocommerce-breadcrumb {
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--va-border);
  font-size: 14px;
  color: var(--va-muted);
}

.va-archive-wrap .woocommerce-breadcrumb a {
  color: var(--va-muted);
}

/* Product grid on archive pages - more specific selectors */
.va-archive-wrap ul.products,
.va-archive-wrap .woocommerce ul.products,
.woocommerce-page.va-archive-wrap ul.products,
.va-archive-wrap .va-woo-inner ul.products,
.va-archive-wrap .va-woo-inner .woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  margin: 0 0 40px !important;
  padding: 0 !important;
  list-style: none !important;
  clear: both !important;
  width: 100% !important;
  float: none !important;
}

.va-archive-wrap ul.products li.product,
.va-archive-wrap .woocommerce ul.products li.product,
.woocommerce-page.va-archive-wrap ul.products li.product,
.va-archive-wrap .va-woo-inner ul.products li.product,
.va-archive-wrap .va-woo-inner .woocommerce ul.products li.product {
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
  display: block !important;
  list-style: none !important;
  position: relative !important;
}

.va-archive-wrap ul.products::before,
.va-archive-wrap ul.products::after,
.va-archive-wrap .woocommerce ul.products::before,
.va-archive-wrap .woocommerce ul.products::after,
.va-archive-wrap .va-woo-inner ul.products::before,
.va-archive-wrap .va-woo-inner ul.products::after {
  display: none !important;
  content: none !important;
}

/* Pagination */
.va-archive-wrap .woocommerce-pagination {
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid var(--va-border);
}

.va-archive-wrap .woocommerce-pagination ul.page-numbers {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.va-archive-wrap .woocommerce-pagination .page-numbers {
  display: inline-block;
  padding: 8px 14px;
  border: none;
  border-radius: 4px;
  color: var(--va-text);
  text-decoration: none;
  font-size: 14px;
  transition: all 0.2s;
}

.va-archive-wrap .woocommerce-pagination ul.page-numbers li:hover .page-numbers:not(.dots),
.va-archive-wrap .woocommerce-pagination ul.page-numbers li .page-numbers.current {
  background: var(--va-primary);
  color: #fff;
}

.va-archive-wrap .woocommerce-pagination .page-numbers.dots {
  cursor: default;
}

.va-archive-wrap .woocommerce-pagination ul.page-numbers li:hover .page-numbers.dots,
.va-archive-wrap .woocommerce-pagination .page-numbers.dots:hover {
  background: transparent;
  color: var(--va-text);
}

/* Global pagination (search results, shop, archives) – horizontal row, no bullets */
.woocommerce-pagination,
.navigation.pagination {
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid var(--va-border);
  text-align: center;
}

.woocommerce-pagination ul.page-numbers,
.navigation.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-pagination ul.page-numbers li,
.navigation.pagination .nav-links > * {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-pagination .page-numbers,
.navigation.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  padding: 8px 14px;
  border: none;
  border-radius: 4px;
  color: var(--va-text);
  text-decoration: none;
  font-size: 14px;
  transition: all 0.2s;
}

/* Hover and current: apply on the li (parent) so the link inside gets the style */
.woocommerce-pagination ul.page-numbers li:hover .page-numbers:not(.dots),
.navigation.pagination .nav-links > *:hover .page-numbers {
  background: var(--va-primary);
  color: #fff;
}

.woocommerce-pagination ul.page-numbers li .page-numbers.current,
.navigation.pagination .nav-links .page-numbers.current {
  background: var(--va-primary);
  color: #fff;
}

.woocommerce-pagination .page-numbers.dots,
.navigation.pagination .page-numbers.dots {
  cursor: default;
}

.woocommerce-pagination ul.page-numbers li:hover .page-numbers.dots,
.navigation.pagination .nav-links > *:hover .page-numbers.dots,
.woocommerce-pagination .page-numbers.dots:hover,
.navigation.pagination .page-numbers.dots:hover {
  background: transparent;
  color: var(--va-text);
}

/* No products found */
.va-archive-wrap .woocommerce-info,
.va-archive-wrap .woocommerce-no-products-found {
  padding: 24px;
  background: #f8f8f8;
  border-radius: 8px;
  text-align: center;
  margin-bottom: 40px;
}

.va-archive-wrap .woocommerce-info p,
.va-archive-wrap .woocommerce-no-products-found p {
  margin: 0;
  font-size: 15px;
  color: var(--va-muted);
}

/* ========== My Account – Login / Register (centered, professional) ========== */
.woocommerce-account .va-myaccount-forms-wrap,
.woocommerce-account .va-myaccount-forms-inner {
  width: 100%;
}

.va-myaccount-forms-wrap {
  padding: 40px 20px 60px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.va-myaccount-forms-inner {
  max-width: 920px;
  margin: 0 auto;
}

.va-login-register-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  width: 100%;
}

.va-form-card {
  background: #fff;
  border: 1px solid var(--va-border);
  border-radius: 12px;
  padding: 32px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
}

.va-form-card-single {
  max-width: 420px;
  margin: 0 auto;
}

.va-form-title {
  margin: 0 0 24px;
  font-size: 22px;
  font-weight: 600;
  color: var(--va-primary);
  padding-bottom: 12px;
  border-bottom: 2px solid var(--va-accent);
}

.woocommerce-account .va-form-card .woocommerce-form label {
  display: block;
  font-weight: 600;
  margin: 0 0 6px;
  color: var(--va-text);
}

.woocommerce-account .va-form-card .woocommerce-form .form-row {
  margin-bottom: 18px;
}

.woocommerce-account .va-form-card .woocommerce-form input[type="text"],
.woocommerce-account .va-form-card .woocommerce-form input[type="email"],
.woocommerce-account .va-form-card .woocommerce-form input[type="password"] {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--va-border);
  border-radius: 6px;
  font-size: 15px;
}

.woocommerce-account .va-form-card .va-btn-submit,
.woocommerce-account .va-form-card .woocommerce-button {
  width: 100%;
  padding: 12px 24px;
  margin-top: 8px;
  background: var(--va-primary);
  color: var(--va-accent);
  border: 2px solid var(--va-primary);
  border-radius: 6px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.woocommerce-account .va-form-card .va-btn-submit:hover,
.woocommerce-account .va-form-card .woocommerce-button:hover {
  background: var(--va-primary);
  color: #fff;
  border-color: var(--va-accent);
}

.woocommerce-account .va-form-card .form-row-remember-submit {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.woocommerce-account .va-form-card .form-row-remember-submit .woocommerce-form-login__rememberme {
  margin: 0;
  order: 1;
}

.woocommerce-account .va-form-card .form-row-remember-submit .va-btn-submit,
.woocommerce-account .va-form-card .form-row-remember-submit .woocommerce-button {
  order: 2;
  width: auto;
  min-width: 120px;
}

.woocommerce-account .va-form-card .lost_password {
  margin: 12px 0 0;
}

.woocommerce-account .va-form-card .lost_password a {
  color: var(--va-accent);
}

.va-register-link-wrap {
  text-align: center;
  margin-top: 24px;
}

.va-register-link-wrap .va-btn-outline {
  padding: 12px 24px;
  font-size: 15px;
}

/* ========== My Account – Dashboard: center, heading padding, tab layout ========== */
/* Main body width same as home (1280px) with left/right padding */
.woocommerce-account .va-woocommerce-wrap,
.woocommerce-account .va-page-content {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
.woocommerce-account .va-woocommerce-wrap {
  padding-top: 24px;
  padding-bottom: 48px;
}
.woocommerce-account .va-page-content {
  padding-top: 24px;
  padding-bottom: 48px;
}

/* Center align all account page content */
.woocommerce-account .va-page-header,
.woocommerce-account .va-page-content,
.woocommerce-account .va-woocommerce-wrap {
  text-align: center;
}
.woocommerce-account .va-page-content .woocommerce,
.woocommerce-account .va-woocommerce-wrap .woocommerce {
  text-align: left;
}

/* More padding on My Account heading */
.woocommerce-account .va-page-header {
  padding-top: 32px;
  padding-bottom: 40px;
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 0;
}
.woocommerce-account .va-page-header .va-page-title,
.woocommerce-account .va-page-header h1 {
  margin: 0;
  font-size: 28px;
}

/* Dashboard: tab layout – nav left, content right */
.woocommerce-account .va-page-content .woocommerce:has(.woocommerce-MyAccount-navigation),
.woocommerce-account .va-woocommerce-wrap .woocommerce:has(.woocommerce-MyAccount-navigation) {
  display: flex;
  flex-wrap: wrap;
  gap: 32px 48px;
  align-items: flex-start;
  max-width: 1280px;
  margin: 0 auto;
  text-align: left;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  flex: 0 0 220px;
  width: 220px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid var(--va-border);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0;
  border-bottom: 1px solid var(--va-border);
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
  border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 12px 16px;
  color: var(--va-text);
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
  transition: background 0.2s, color 0.2s;
}

/* Tab hover: black bg, gold text */
.woocommerce-account .woocommerce-MyAccount-navigation li:hover a {
  background: #1a1a1a;
  color: var(--va-accent);
}

/* Selected tab: black bg, gold text */
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: #1a1a1a;
  color: var(--va-accent);
}

.woocommerce-account .woocommerce-MyAccount-content {
  flex: 1;
  min-width: 0;
}

/* Wishlist table – fix image stretching, larger remove icon */
.wishlist_table.wishlist_view .product-thumbnail {
  width: 100px;
  vertical-align: middle;
}

.wishlist_table.wishlist_view .product-thumbnail a {
  display: block;
  width: 80px;
  height: 80px;
  flex-shrink: 0;
  border-radius: 6px;
  overflow: hidden;
  background: var(--va-border);
}

.wishlist_table.wishlist_view .product-thumbnail a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.wishlist_table.wishlist_view .product-remove {
  width: 48px;
  vertical-align: middle;
}

.wishlist_table.wishlist_view .product-remove .remove,
.wishlist_table.wishlist_view .product-remove a.remove_from_wishlist {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  font-size: 22px;
  line-height: 1;
  color: var(--va-muted);
  text-decoration: none;
  border: 1px solid var(--va-border);
  border-radius: 4px;
  transition: color 0.2s, border-color 0.2s, background 0.2s;
}

.wishlist_table.wishlist_view .product-remove .remove:hover,
.wishlist_table.wishlist_view .product-remove a.remove_from_wishlist:hover {
  color: var(--va-primary);
  border-color: var(--va-primary);
  background: rgba(0,0,0,0.04);
}

/* Account details form – same style as login (va-form-card) */
.woocommerce-account .va-form-card .edit-account label,
.woocommerce-account .va-form-card .woocommerce-EditAccountForm label {
  display: block;
  font-weight: 600;
  margin: 0 0 6px;
  color: var(--va-text);
}
.woocommerce-account .va-form-card .edit-account .form-row,
.woocommerce-account .va-form-card .woocommerce-EditAccountForm .form-row {
  margin-bottom: 18px;
}
.woocommerce-account .va-form-card .edit-account input[type="text"],
.woocommerce-account .va-form-card .edit-account input[type="email"],
.woocommerce-account .va-form-card .edit-account input[type="password"],
.woocommerce-account .va-form-card .woocommerce-EditAccountForm input[type="text"],
.woocommerce-account .va-form-card .woocommerce-EditAccountForm input[type="email"],
.woocommerce-account .va-form-card .woocommerce-EditAccountForm input[type="password"] {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--va-border);
  border-radius: 6px;
  font-size: 15px;
}
.woocommerce-account .va-form-card .edit-account fieldset {
  border: 1px solid var(--va-border);
  border-radius: 6px;
  padding: 16px;
  margin: 16px 0;
}
.woocommerce-account .va-form-card .edit-account .woocommerce-Button,
.woocommerce-account .va-form-card .woocommerce-EditAccountForm .woocommerce-Button {
  padding: 12px 24px;
  background: var(--va-accent);
  color: var(--va-primary);
  border: 1px solid var(--va-accent);
  border-radius: 6px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}
.woocommerce-account .va-form-card .edit-account .woocommerce-Button:hover,
.woocommerce-account .va-form-card .woocommerce-EditAccountForm .woocommerce-Button:hover {
  background: var(--va-primary);
  color: var(--va-accent);
  border-color: var(--va-primary);
}

@media (max-width: 768px) {
  .woocommerce-account .va-page-content .woocommerce:has(.woocommerce-MyAccount-navigation),
  .woocommerce-account .va-woocommerce-wrap .woocommerce:has(.woocommerce-MyAccount-navigation) {
    flex-direction: column;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation {
    flex: 0 0 auto;
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
  }
  .va-login-register-columns {
    grid-template-columns: 1fr;
  }
  .va-form-card {
    padding: 24px;
  }
}

/* Single product responsive */
@media (max-width: 992px) {
  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products {
    grid-template-columns: repeat(2, 1fr);
  }

  .va-archive-wrap ul.products {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .va-single-product-inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  /* Stack gallery on mobile: main image above, thumbs below */
  .single-product .woocommerce-product-gallery {
    flex-direction: column;
  }

  .single-product .woocommerce-product-gallery .flex-control-thumbs {
    flex-direction: row;
    max-height: none;
    overflow: visible;
  }

  .single-product .summary .product_title {
    font-size: 20px;
  }

  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .va-archive-wrap ul.products,
  .va-archive-wrap .woocommerce ul.products,
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px;
  }

  .va-archive-wrap .woocommerce-products-header h1.page-title,
  .va-archive-wrap .woocommerce-products-header .woocommerce-products-header__title,
  .va-archive-wrap .woocommerce-products-header h1 {
    font-size: 24px;
  }

  .va-archive-wrap .woocommerce-ordering {
    float: none;
    display: block;
    width: 100%;
    margin-top: 12px;
  }
}

@media (max-width: 480px) {
  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products {
    grid-template-columns: 1fr;
  }

  .va-archive-wrap ul.products,
  .va-archive-wrap .woocommerce ul.products,
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }

  .va-archive-wrap .woocommerce-result-count,
  .va-archive-wrap .woocommerce-ordering {
    display: block;
    width: 100%;
    margin-bottom: 16px;
    float: none !important;
  }

  .va-archive-wrap .woocommerce-ordering select {
    width: 100%;
    margin-left: 0;
    margin-top: 8px;
  }
}

/* Responsive */
@media (max-width: 992px) {
  .va-products-grid,
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 991px) {
  .va-header {
    flex-wrap: wrap;
  }
  .va-header-inner {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }
  .va-logo {
    order: 1;
  }
  .va-menu-toggle {
    display: flex;
    order: 2;
    margin-left: auto;
    z-index: 10;
  }
  .va-header-right {
    order: 2;
    margin-left: 12px;
  }
  .va-header-right .va-search-wrap,
  .va-header-right .va-account-wrap {
    display: none !important;
  }
  .va-header-main-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--va-primary);
    border-top: 1px solid rgba(201, 162, 39, 0.25);
    padding: 12px 16px 20px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.2);
    order: 3;
    width: 100%;
    flex: none;
    z-index: 100;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
  }
  .va-header.va-mobile-menu-open .va-header-main-nav {
    display: block;
  }
  .va-nav-list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .va-nav-list > li {
    margin: 0;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }
  .va-nav-list > li:last-child {
    border-bottom: none;
  }
  .va-nav-list > li > a {
    display: block;
    padding: 14px 12px;
    font-size: 15px;
    color: var(--va-on-dark);
    text-decoration: none;
  }
  .va-nav-list > li > a:hover {
    color: var(--va-accent);
  }
  .va-header-main-nav .va-has-dropdown .va-dropdown {
    position: static;
    box-shadow: none;
    border: none;
    background: rgba(0,0,0,0.25);
    margin: 0 0 4px 0;
    padding: 4px 0 8px 20px;
    opacity: 1;
    visibility: visible;
    transform: none;
    display: none;
    list-style: none;
  }
  .va-header-main-nav .va-has-dropdown .va-dropdown {
    display: none !important;
  }
  .va-header-main-nav .va-has-dropdown.va-dropdown-open .va-dropdown {
    display: block !important;
  }
  .va-header-main-nav .va-dropdown li {
    margin: 0;
    border: none;
  }
  .va-header-main-nav .va-dropdown a {
    display: block;
    padding: 10px 0;
    font-size: 14px;
    color: #fff;
    text-decoration: none;
  }
  .va-header-main-nav .va-dropdown a:hover {
    color: var(--va-accent);
  }
}

@media (max-width: 768px) {
  .va-header-inner {
    gap: 12px;
    flex-wrap: wrap;
  }
  .va-nav-list > li > a {
    padding: 12px 12px;
    font-size: 14px;
  }
  .va-header-main-nav .va-dropdown a {
    padding: 8px 0;
    font-size: 13px;
  }

  .va-products-grid,
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .va-hero {
    min-height: 300px;
  }
  .va-front-page-content .elementor-section.va-hero {
    min-height: 320px;
  }

  .va-hero-title {
    font-size: 28px;
  }

  .va-section-inner {
    padding: 32px 16px 40px;
  }
  .va-front-page-content .elementor-section:not(.va-hero) {
    padding-left: 16px;
    padding-right: 16px;
  }

  .va-footer-top {
    grid-template-columns: 1fr 1fr;
  }

  .va-drawer-panel {
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .va-products-grid,
  .woocommerce ul.products {
    grid-template-columns: 1fr;
  }

  .va-category-grid-4 {
    grid-template-columns: 1fr;
  }

  .va-footer-top {
    grid-template-columns: 1fr;
  }
}

/* Age verification modal */
.va-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.va-modal[hidden] {
  display: none !important;
}

.va-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.6);
}

.va-modal-content {
  position: relative;
  background: #fff;
  border-radius: 8px;
  padding: 32px;
  max-width: 420px;
  width: 100%;
  text-align: center;
  box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}

.va-modal-title {
  font-size: 20px;
  margin: 0 0 12px;
}

.va-modal-text {
  margin: 0 0 24px;
  color: var(--va-muted);
}

.va-modal-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

.va-modal-actions .va-btn {
  min-width: 140px;
}

/* Quick view product popup */
.va-quick-view-modal .va-modal-content {
  max-width: 900px;
  width: 100%;
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-align: left;
  padding: 0;
  position: relative;
}

.va-quick-view-modal .va-modal-close {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  width: 40px;
  height: 40px;
  border: none;
  background: rgba(0,0,0,0.06);
  border-radius: 50%;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  color: var(--va-text);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.va-quick-view-modal .va-modal-close:hover {
  background: var(--va-border);
  color: var(--va-primary);
}

.va-quick-view-body {
  overflow-y: auto;
  flex: 1;
  padding: 40px 24px 24px 24px;
}

.va-quick-view-loading,
.va-quick-view-error {
  padding: 40px 20px;
  text-align: center;
  color: var(--va-muted);
}

.va-quick-view-product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start;
}

.va-quick-view-gallery {
  position: sticky;
  top: 0;
  min-height: 420px;
}

.va-quick-view-gallery .woocommerce-product-gallery__image {
  min-height: 380px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--va-border);
  border-radius: 8px;
}

.va-quick-view-gallery .woocommerce-product-gallery__image img {
  width: 100%;
  height: auto;
  max-height: 380px;
  object-fit: contain;
  border-radius: 8px;
}

.va-quick-view-gallery img {
  display: block;
}

.va-quick-view-swatch-group {
  margin-top: 16px;
  padding: 0;
  position: static;
  background: none;
  opacity: 1;
}

.va-quick-view-swatch-group .va-swatch-label {
  margin-bottom: 10px;
  font-size: 14px;
}

.va-quick-view-swatches {
  margin-top: 0;
  padding: 0;
  position: static;
  background: none;
  opacity: 1;
}

.va-quick-view-swatches .va-swatch {
  width: 48px;
  height: 48px;
  border-radius: 6px;
}

.va-quick-view-swatches .va-swatch img {
  border-radius: 6px;
}

/* Single product page swatches */
.va-single-product-swatch-group {
  margin-bottom: 20px;
}

.va-single-product-swatch-group .va-swatch-label {
  margin-bottom: 10px;
  font-size: 14px;
}

.va-single-product-swatches {
  margin-bottom: 0;
  padding: 0;
  position: static;
  background: none;
  opacity: 1;
}

.va-single-product-swatches .va-swatch {
  width: 48px;
  height: 48px;
  border-radius: 6px;
}

.va-single-product-swatches .va-swatch img {
  border-radius: 6px;
}

.va-quick-view-details {
  min-width: 0;
}

.va-quick-view-title {
  font-size: 22px;
  margin: 0 0 12px;
  line-height: 1.3;
}

.va-quick-view-title a {
  color: var(--va-text);
  text-decoration: none;
}

.va-quick-view-title a:hover {
  color: var(--va-primary);
}

.va-quick-view-price {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 16px;
}

.va-quick-view-price .amount {
  color: var(--va-primary);
}

.va-quick-view-excerpt {
  font-size: 14px;
  color: var(--va-muted);
  line-height: 1.5;
  margin-bottom: 20px;
}

.va-quick-view-excerpt p:last-child {
  margin-bottom: 0;
}

.va-quick-view-add-to-cart {
  margin-bottom: 16px;
}

.va-quick-view-add-to-cart .cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.va-quick-view-add-to-cart .quantity {
  margin: 0;
}

.va-quick-view-add-to-cart .single_add_to_cart_button,
.va-quick-view-add-to-cart .button {
  padding: 12px 24px;
  background: var(--va-primary);
  color: var(--va-accent);
  border: 2px solid var(--va-primary);
  cursor: pointer;
  font-size: 14px;
  border-radius: 4px;
}

.va-quick-view-add-to-cart .single_add_to_cart_button:hover,
.va-quick-view-add-to-cart .button:hover {
  background: var(--va-primary);
  color: #fff;
  border-color: var(--va-accent);
}

.va-quick-view-link {
  font-size: 14px;
  color: var(--va-primary);
  text-decoration: underline;
}

.va-quick-view-link:hover {
  color: var(--va-accent);
}
.va-quick-view-add-to-cart .qty {
  height: 44px;
}

@media (max-width: 768px) {
  .va-quick-view-product {
    grid-template-columns: 1fr;
  }
}

/* Cart drawer */
.va-drawer {
  position: fixed;
  inset: 0;
  z-index: 9998;
  pointer-events: none;
}

.va-drawer[aria-hidden="false"] {
  pointer-events: auto;
}

.va-drawer[aria-hidden="false"] .va-drawer-backdrop {
  opacity: 1;
}

.va-drawer[aria-hidden="false"] .va-drawer-panel {
  transform: translateX(0);
}

.va-drawer-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.4);
  opacity: 0;
  transition: opacity 0.3s;
}

.va-drawer-panel {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  max-width: 400px;
  height: 100%;
  background: #fff;
  box-shadow: -4px 0 24px rgba(0,0,0,0.15);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.3s ease;
}

#va-cart-drawer .va-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 24px 16px;
  border-bottom: 1px solid var(--va-border);
}

#va-cart-drawer .va-drawer-title {
  font-size: 18px;
  margin: 0;
}

#va-cart-drawer .va-drawer-close {
  background: none;
  border: none;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  color: var(--va-text);
  padding: 0;
  width: 36px;
  height: 36px;
}

#va-cart-drawer .va-drawer-close:hover {
  color: var(--va-accent);
}

#va-cart-drawer .va-drawer-body {
  flex: 1;
  overflow-y: auto;
  padding: 20px 24px 28px;
}

/* Cart drawer – mini-cart list: layout, image placeholder, padding */
#va-cart-drawer .woocommerce-mini-cart.cart_list {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
}

#va-cart-drawer .woocommerce-mini-cart-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--va-border);
  margin: 0;
}

#va-cart-drawer .woocommerce-mini-cart-item:last-of-type {
  border-bottom: none;
}

/* Product link in mini-cart contains thumbnail + name */
#va-cart-drawer .woocommerce-mini-cart-item > a[href] {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  text-decoration: none;
  color: var(--va-text);
  font-size: 14px;
  line-height: 1.35;
}

#va-cart-drawer .woocommerce-mini-cart-item > a[href] img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  flex-shrink: 0;
  border-radius: 6px;
  background: var(--va-border);
}

/* Only one image per item: hide extra thumbnails/placeholders */
#va-cart-drawer .woocommerce-mini-cart-item img:not(:first-of-type),
#va-cart-drawer .woocommerce-mini-cart-item > a[href] img ~ img {
  display: none !important;
}

/* Placeholder when no product image – theme placeholder (URL set via inline style in functions.php) */
/* #va-cart-drawer .woocommerce-mini-cart-item > a[href]:not(:has(img))::before {
  content: '';
  display: block;
  width: 72px;
  height: 72px;
  flex-shrink: 0;
  background: var(--va-border);
  border-radius: 6px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
} */
#va-cart-drawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button {
  flex: 0.1;
}
/* Remove item – icon only; keep link clickable for WooCommerce AJAX */
#va-cart-drawer .woocommerce-mini-cart-item .remove {
  order: -1;
  margin-left: auto;
  font-size: 0;
  line-height: 0;
  text-indent: -9999px;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
  padding: 0;
  border: none;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a6a6a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") no-repeat center;
  background-size: 18px 18px;
  color: transparent;
  text-decoration: none;
  cursor: pointer;
  position: relative;
  z-index: 2;
  flex-shrink: 0;
}

#va-cart-drawer .woocommerce-mini-cart-item .remove:hover {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E");
}

#va-cart-drawer .woocommerce-mini-cart-item .quantity {
  display: block;
  font-size: 13px;
  color: var(--va-muted);
  margin-top: 4px;
}

#va-cart-drawer .woocommerce-mini-cart__total {
  padding: 16px 0;
  margin: 0 0 16px;
  border-top: 1px solid var(--va-border);
  font-weight: 600;
  font-size: 16px;
}

#va-cart-drawer .woocommerce-mini-cart__buttons {
  margin: 0;
  padding: 0;
}

#va-cart-drawer .woocommerce-mini-cart__buttons a {
  display: block;
  width: 100%;
  text-align: center;
  padding: 12px 20px;
  margin-bottom: 10px;
  background: var(--va-primary);
  color: var(--va-accent);
  border: 2px solid var(--va-primary);
  border-radius: 4px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}

#va-cart-drawer .woocommerce-mini-cart__buttons a:hover {
  background: var(--va-primary);
  color: #fff;
  border-color: var(--va-accent);
  text-decoration: none;
}

.va-cart-empty {
  margin: 0 0 16px;
  color: var(--va-muted);
}

.va-drawer-notes {
  font-size: 13px;
  color: var(--va-muted);
  margin-bottom: 16px;
}

.va-drawer-subtotal {
  font-weight: 600;
  margin-bottom: 12px;
}

.va-btn-block {
  display: block;
  width: 100%;
  text-align: center;
  margin-bottom: 12px;
}

.va-drawer-view-cart {
  display: block;
  text-align: center;
  font-size: 14px;
  color: var(--va-accent);
}

.va-drawer-view-cart:hover {
  text-decoration: underline;
  color: var(--va-accent);
}

/* ========== Contact Us page (Elementor + legacy template) ========== */
.va-contact-details-block p {
  margin: 0 0 20px;
}
.va-contact-details-block p:last-child {
  margin-bottom: 0;
}
.va-contact-details-block a {
  color: var(--va-primary);
  font-weight: 500;
}
.va-contact-details-block a:hover {
  color: var(--va-accent);
}
.va-page-content .va-contact-content .elementor-container {
  max-width: 1200px;
  margin: 0 auto;
}
.va-page-content .wpcf7 input[type="text"],
.va-page-content .wpcf7 input[type="email"],
.va-page-content .wpcf7 input[type="tel"],
.va-page-content .wpcf7 textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--va-border);
  border-radius: 6px;
  font-size: 15px;
}
.va-page-content .wpcf7 .wpcf7-submit {
  background: var(--va-primary);
  color: var(--va-accent);
  border: 2px solid var(--va-primary);
  padding: 12px 24px;
  font-weight: 600;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.va-page-content .wpcf7 .wpcf7-submit:hover {
  color: #fff;
  border-color: var(--va-accent);
}

/* ========== Contact Form 7 – global (Elementor, shortcode on any page) ========== */
.wpcf7 {
  max-width: 100%;
  font-size: 15px;
  margin-top: 4px;
}
.wpcf7-form p {
  margin-bottom: 20px;
}
.wpcf7-form p:last-of-type {
  margin-bottom: 0;
}
.wpcf7-form label {
  display: block;
  font-weight: 500;
  color: var(--va-text);
  margin-bottom: 6px;
  font-size: 14px;
}
.wpcf7-form .wpcf7-form-control-wrap {
  display: block;
  margin-bottom: 0;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--va-border);
  border-radius: 6px;
  font-size: 15px;
  font-family: inherit;
  color: var(--va-text);
  background: #fff;
  transition: border-color 0.2s, box-shadow 0.2s;
  box-sizing: border-box;
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
  outline: none;
  border-color: var(--va-accent);
  box-shadow: 0 0 0 2px rgba(201, 162, 39, 0.15);
}
.wpcf7-form textarea {
  min-height: 120px;
  resize: vertical;
}
.wpcf7-form .wpcf7-submit {
  display: inline-block;
  padding: 12px 28px;
  background: var(--va-primary);
  color: var(--va-accent);
  border: 2px solid var(--va-primary);
  border-radius: 4px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
  margin-top: 8px;
}
.wpcf7-form .wpcf7-submit:hover {
  background: var(--va-primary);
  color: #fff;
  border-color: var(--va-accent);
}
.wpcf7-form .wpcf7-submit:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(201, 162, 39, 0.3);
}
.wpcf7-response-output {
  margin: 16px 0 0;
  padding: 12px 14px;
  border-radius: 6px;
  font-size: 14px;
  border: 1px solid var(--va-border);
}
.wpcf7-mail-sent-ok {
  border-color: #46b450;
  background: rgba(70, 180, 80, 0.08);
  color: #1e4620;
}
.wpcf7-validation-errors,
.wpcf7-mail-sent-ng {
  border-color: #dc3232;
  background: rgba(220, 50, 50, 0.06);
  color: #8b0000;
}
.wpcf7-not-valid-tip {
  font-size: 13px;
  color: #dc3232;
  margin-top: 4px;
}
.wpcf7-form .wpcf7-list-item {
  margin-left: 0;
  margin-right: 12px;
}

/* Contact form: Name + Email side by side, elegant spacing */
.wpcf7-form .va-cf7-row.va-cf7-name-email {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 24px;
  margin-bottom: 18px;
}
.wpcf7-form .va-cf7-row.va-cf7-name-email .va-cf7-half {
  margin: 0;
}
.wpcf7-form .va-cf7-acceptance {
  margin-bottom: 20px;
}
.wpcf7-form .va-cf7-acceptance .wpcf7-list-item-label {
  font-size: 14px;
  color: var(--va-muted);
  font-weight: 400;
  cursor: pointer;
}
.wpcf7-form .va-cf7-acceptance input[type="checkbox"] {
  margin-right: 10px;
  vertical-align: middle;
}
@media (max-width: 600px) {
  .wpcf7-form .va-cf7-row.va-cf7-name-email {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

/* Contact page heading and intro (when added via shortcode block) */
.va-contact-heading {
  font-size: 22px;
  font-weight: 600;
  color: var(--va-primary);
  margin: 0 0 12px;
  line-height: 1.35;
}
.va-contact-intro {
  font-size: 15px;
  color: var(--va-text);
  line-height: 1.6;
  margin: 0 0 28px;
}

.va-contact-header .va-woocommerce-wrap {
  padding-top: 32px;
  padding-bottom: 16px;
}

.va-contact-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 32px 24px 64px;
}

.va-contact-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 56px;
  align-items: start;
}

.va-contact-form-col {
  min-width: 0;
}

.va-contact-subtitle {
  font-size: 20px;
  font-weight: 600;
  color: var(--va-text);
  margin: 0 0 12px;
  line-height: 1.35;
}

.va-contact-details {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.va-contact-block {
  padding-bottom: 24px;
  border-bottom: 1px solid var(--va-border);
}

.va-contact-block:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.va-contact-block-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--va-primary);
  margin: 0 0 10px;
  text-transform: none;
  letter-spacing: 0;
}

.va-contact-block-text {
  font-size: 15px;
  color: var(--va-text);
  line-height: 1.6;
  margin: 0;
}

.va-contact-block-text a {
  color: var(--va-primary);
  font-weight: 500;
  text-decoration: none;
}

.va-contact-block-text a:hover {
  color: var(--va-accent);
  text-decoration: underline;
}

.va-contact-section-title {
  margin: 0 0 20px;
  font-size: 18px;
  font-weight: 600;
  color: var(--va-primary);
}

.va-contact-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.va-contact-list li {
  margin-bottom: 20px;
}

.va-contact-list li:last-child {
  margin-bottom: 0;
}

.va-contact-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--va-muted);
  margin-bottom: 4px;
}

.va-contact-list a {
  color: var(--va-primary);
  font-weight: 500;
}

.va-contact-list a:hover {
  color: var(--va-accent);
}

.va-contact-address {
  color: var(--va-text);
  line-height: 1.5;
}

.va-contact-form-col .wpcf7 {
  max-width: 100%;
}

.va-contact-form-hint {
  color: var(--va-muted);
  font-size: 14px;
}

.va-contact-form-col .wpcf7 input[type="text"],
.va-contact-form-col .wpcf7 input[type="email"],
.va-contact-form-col .wpcf7 input[type="tel"],
.va-contact-form-col .wpcf7 textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--va-border);
  border-radius: 6px;
  font-size: 15px;
}

.va-contact-form-col .wpcf7 .wpcf7-submit {
  background: var(--va-primary);
  color: var(--va-accent);
  border: 2px solid var(--va-primary);
  padding: 12px 24px;
  font-weight: 600;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.va-contact-form-col .wpcf7 .wpcf7-submit:hover {
  background: var(--va-primary);
  color: #fff;
  border-color: var(--va-accent);
}

@media (max-width: 768px) {
  .va-contact-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

@media (max-width: 768px) {
  .va-contact-wrap {
    padding: 24px 16px 48px;
  }

  .va-contact-subtitle {
    font-size: 18px;
  }

  .va-contact-intro {
    font-size: 14px;
    margin-bottom: 24px;
  }
}

/* ========== Blog page ========== */
.va-blog-wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 24px 20px 48px;
}

.va-posts-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px 24px;
}

.va-post-item {
  display: flex;
  flex-direction: column;
  padding: 0;
  border: none;
  margin: 0;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--va-border);
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}

.va-post-item:first-child {
  padding-top: 0;
}

.va-post-thumb {
  display: block;
  border-radius: 8px 8px 0 0;
  overflow: hidden;
  background: var(--va-border);
  aspect-ratio: 16/10;
}

.va-post-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.va-post-item .va-post-content {
  padding: 20px 18px 22px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.va-post-title {
  margin: 0 0 8px;
  font-size: 17px;
  line-height: 1.35;
}

.va-post-title a {
  color: var(--va-text);
}

.va-post-title a:hover {
  color: var(--va-accent);
}

.va-post-date {
  font-size: 13px;
  color: var(--va-muted);
  display: block;
  margin-bottom: 12px;
}

.va-post-excerpt {
  font-size: 14px;
  line-height: 1.55;
  color: var(--va-text);
  margin-bottom: 14px;
  flex: 1;
}

.va-post-excerpt p:last-child {
  margin-bottom: 0;
}

.va-read-more {
  margin-top: 0;
}

.va-no-posts {
  color: var(--va-muted);
  max-width: 560px;
}

.va-blog-page-header .va-woocommerce-wrap {
  padding-top: 32px;
  padding-bottom: 16px;
}

.va-single-post .va-post-meta {
  font-size: 14px;
  color: var(--va-muted);
  display: block;
  margin-top: 4px;
}

.va-single-post-content {
  font-size: 16px;
  line-height: 1.7;
  color: var(--va-text);
}

.va-single-post-content p {
  margin-bottom: 1.2em;
}

.va-single-post-content p:last-child {
  margin-bottom: 0;
}

.va-blog-wrap .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--va-border);
}

.va-blog-wrap .nav-links a,
.va-blog-wrap .nav-links span {
  padding: 8px 14px;
  border: 1px solid var(--va-border);
  border-radius: 4px;
  color: var(--va-text);
  text-decoration: none;
  font-size: 14px;
}

.va-blog-wrap .nav-links a:hover {
  border-color: var(--va-accent);
  color: var(--va-accent);
}

.va-blog-wrap .nav-links .current {
  background: var(--va-primary);
  color: var(--va-accent);
  border-color: var(--va-primary);
}

/* Single post: content left, image right */
.va-single-post-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 48px 40px;
  align-items: start;
}

.va-single-post-main {
  min-width: 0;
}

.va-single-post-sidebar {
  position: sticky;
  top: 24px;
}

.va-single-post-thumb {
  border-radius: 8px;
  overflow: hidden;
  background: var(--va-border);
}

.va-single-post-thumb img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

@media (max-width: 1024px) {
  .va-posts-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .va-posts-list {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .va-post-item .va-post-content {
    padding: 16px 14px 18px;
  }
  .va-post-thumb {
    aspect-ratio: 16/10;
  }
  .va-single-post-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .va-single-post-sidebar {
    position: static;
    order: -1;
  }
  .va-single-post-thumb img {
    width: 100%;
    max-height: 280px;
    object-fit: cover;
  }
}

/* Newsletter popup – black & gold theme */
.va-newsletter-popup {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  box-sizing: border-box;
}
.va-newsletter-popup[hidden] {
  display: none !important;
}
.va-newsletter-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
}
.va-newsletter-box {
  position: relative;
  width: 100%;
  max-width: 720px;
  max-height: 90vh;
  overflow: auto;
  background: #0b0b0b;
  border: 2px solid var(--va-accent);
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}
.va-newsletter-close {
  position: absolute;
  top: 12px;
  right: 16px;
  z-index: 2;
  width: 36px;
  height: 36px;
  padding: 0;
  font-size: 24px;
  line-height: 1;
  color: var(--va-accent);
  background: transparent;
  border: none;
  cursor: pointer;
}
.va-newsletter-close:hover {
  color: #fff;
}
.va-newsletter-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 320px;
}
.va-newsletter-left {
  padding: 40px 32px 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.va-newsletter-logo {
  display: block;
  max-width: 160px;
}
.va-newsletter-logo img {
  display: block;
  width: 100%;
  height: auto;
}
.va-newsletter-heading {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--va-accent);
}
.va-newsletter-text {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(245, 240, 230, 0.9);
}
.va-newsletter-form {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.va-newsletter-email {
  flex: 1;
  min-width: 180px;
  padding: 12px 14px;
  font-size: 14px;
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(201, 162, 39, 0.4);
  border-radius: 6px;
}
.va-newsletter-email::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.va-newsletter-email:focus {
  outline: none;
  border-color: var(--va-accent);
}
.va-newsletter-submit {
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #0b0b0b;
  background: var(--va-accent);
  border: 2px solid var(--va-accent);
  border-radius: 6px;
  cursor: pointer;
}
.va-newsletter-submit:hover {
  background: transparent;
  color: var(--va-accent);
}
.va-newsletter-message {
  margin: 0;
  font-size: 13px;
  min-height: 1.4em;
}
.va-newsletter-message.va-success {
  color: var(--va-accent);
}
.va-newsletter-message.va-error {
  color: #e74c3c;
}
.va-newsletter-dont-show {
  margin: 0;
  font-size: 13px;
  color: rgba(245, 240, 230, 0.78);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
}
.va-newsletter-dont-show input {
  accent-color: var(--va-accent);
}
.va-newsletter-right {
  background: rgba(201, 162, 39, 0.08);
  position: relative;
  overflow: hidden;
  padding: 0;
  border-radius: 0 10px 10px 0;
}
.va-newsletter-watch-img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  display: block;
}
@media (max-width: 640px) {
  .va-newsletter-inner {
    grid-template-columns: 1fr;
  }
  .va-newsletter-right {
    min-height: 180px;
    border-radius: 0;
  }
}
