/**
 * Verymarts Modern Clean Header Styles
 * Luxury D2C Minimalist aesthetic
 */

/* ==========================================================
   1. MAIN HEADER & LOGO
   ========================================================== */
.header-main,
.header-wrapper,
#masthead {
  background-color: #ffffff !important;
  border-bottom: none !important;
}

#logo img {
  max-height: 42px !important;
  width: auto !important;
  transition: transform 0.2s ease;
}

#logo:hover img {
  transform: scale(1.02);
}

/* ==========================================================
   2. DESKTOP NAVIGATION BAR (CLEAN WHITE & NO ORPHAN BORDERS)
   ========================================================== */
#wide-nav {
  background-color: #ffffff !important;
  background-image: none !important;
  border-bottom: none !important;
}

/* No extra divider under main menu: Flatsome's header already draws one between search row and nav.
   (Two lines with different widths looked broken.) */
#wide-nav > .flex-row {
  border-bottom: none !important;
}

.header-bottom,
.header-bottom .flex-row,
.wide-nav,
.nav-dark,
.header-bottom .header-bg-color,
.header-bottom .header-bg-container,
.header-bottom .header-bg-image,
div[style*="background-color:#dda602"],
div[style*="background-color: #dda602"] {
  background-color: #ffffff !important;
  background-image: none !important;
  border-bottom: none !important;
}

/* Ensure empty flex elements don't show borders or shadows */
.header-bottom-nav,
.header-bottom-nav.nav-right,
.flex-col.hide-for-medium.flex-right {
  border-bottom: none !important;
  box-shadow: none !important;
}

/* Navigation Links - Bolder font weight */
.header-bottom .nav > li > a,
.header-bottom-nav > li > a,
#wide-nav .nav > li > a {
  color: #111827 !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  padding: 12px 18px !important;
  transition: color 0.15s ease;
  position: relative;
}

.header-bottom .nav > li > a:hover,
.header-bottom .nav > li.active > a,
.header-bottom .nav > li.current-menu-item > a,
#wide-nav .nav > li > a:hover,
#wide-nav .nav > li.active > a,
#wide-nav .nav > li.current-menu-item > a {
  color: #c89a3f !important;
  background: transparent !important;
}

/* Elegant Underline Indicator on Hover */
.header-bottom .nav > li > a::after,
#wide-nav .nav > li > a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 18px;
  right: 18px;
  height: 2px;
  background-color: #c89a3f;
  transform: scaleX(0);
  transition: transform 0.2s ease;
}

.header-bottom .nav > li > a:hover::after,
.header-bottom .nav > li.active > a::after,
.header-bottom .nav > li.current-menu-item > a::after,
#wide-nav .nav > li > a:hover::after,
#wide-nav .nav > li.active > a::after,
#wide-nav .nav > li.current-menu-item > a::after {
  transform: scaleX(1);
}

/* Dropdown Menus */
.nav-dropdown {
  background-color: #ffffff !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08) !important;
  border: 1px solid #f1f5f9 !important;
  padding: 10px 0 !important;
}

.nav-dropdown > li > a {
  color: #1f2937 !important;
  padding: 10px 20px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.nav-dropdown > li > a:hover {
  background-color: #f9fafb !important;
  color: #c89a3f !important;
}

/* ==========================================================
   3. MODERN SEARCH CONTAINER & FIBOSEARCH PRO (DESKTOP)
   ========================================================== */
.header-search-form,
.dgwt-wcas-search-wrapp,
.header-search-form-wrapper {
  width: 100% !important;
  max-width: 540px !important;
  margin: 0 auto !important;
}

/* Fix desktop search icon padding */
.header-search-form input[type="search"],
.header-search-form-wrapper .dgwt-wcas-search-input {
  background-color: #f9fafb !important;
  border: 1.5px solid #e5e7eb !important;
  border-radius: 9999px !important;
  padding: 10px 20px 10px 48px !important;
  font-size: 14px !important;
  color: #1f2937 !important;
  height: 44px !important;
  box-shadow: none !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.header-search-form input[type="search"]:focus,
.header-search-form-wrapper .dgwt-wcas-search-input:focus {
  background-color: #ffffff !important;
  border-color: #18181b !important;
  box-shadow: 0 0 0 3px rgba(24, 24, 27, 0.08) !important;
  outline: none !important;
}

/* FiboSearch Autocomplete Popup */
.dgwt-wcas-suggestions-wrapp {
  border-radius: 10px !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
  border: 1px solid #f1f5f9 !important;
  overflow: hidden !important;
  margin-top: 6px !important;
}

.dgwt-wcas-suggestion {
  padding: 10px 14px !important;
  border-bottom: 1px solid #f9fafb !important;
  transition: background 0.15s ease;
}

.dgwt-wcas-suggestion:hover,
.dgwt-wcas-suggestion.dgwt-wcas-suggestion-selected {
  background: #f9fafb !important;
}

/* ==========================================================
   4. HEADER CART BUTTON (MODERN REPLACEMENT)
   ========================================================== */
.header-nav .cart-item .cart-icon,
.header-nav .header-cart-link,
.cart-link {
  color: #1f2937 !important;
  display: inline-flex !important;
  align-items: center !important;
}

.header-nav .cart-item .cart-icon.button,
.header-nav .header-cart-link.button {
  background-color: #18181b !important;
  border-color: #18181b !important;
  color: #ffffff !important;
  border-radius: 9999px !important;
  padding: 0 16px !important;
  height: 40px !important;
  line-height: 40px !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06) !important;
  transition: background-color 0.2s ease, transform 0.15s ease !important;
}

.header-nav .cart-item .cart-icon.button:hover,
.header-nav .header-cart-link.button:hover {
  background-color: #27272a !important;
  transform: translateY(-1px) !important;
}

.cart-icon strong,
.header-cart-link strong,
.cart-count {
  background-color: #c89a3f !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  border-radius: 9999px !important;
  min-width: 18px !important;
  height: 18px !important;
  line-height: 18px !important;
  text-align: center !important;
  padding: 0 4px !important;
}

/* ==========================================================
   5. MOBILE HEADER & MOBILE DRAWER NAVIGATION (PIXEL-PERFECT)
   ========================================================== */
@media (max-width: 849px) {
  .header-mobile {
    background-color: #ffffff !important;
    height: 60px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
  }

  .header-mobile #logo img {
    max-height: 34px !important;
  }

  /* Hamburger Menu Button */
  .mobile-menu-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
  }

  /* Mobile Slide-out Drawer Container
     Width comes from Flatsome's --drawer-width (theme mod drawer_width = 320px),
     so open/close transform and real width stay in sync. Only cap on tiny screens. */
  .off-canvas-left .mfp-content {
    background-color: #ffffff !important;
    max-width: 85vw;
    box-shadow: 4px 0 25px rgba(0, 0, 0, 0.15) !important;
  }

  #main-menu {
    background-color: #ffffff !important;
    width: 100% !important;
    max-width: 100% !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #main-menu .sidebar-menu {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #main-menu .sidebar-menu ul.nav-sidebar {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  /* Search Container in Mobile Drawer */
  #main-menu .header-search-form,
  #main-menu .sidebar-menu > ul > li.header-search-form {
    padding: 16px 20px 12px 20px !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border-bottom: 1px solid #f3f4f6 !important;
  }

  #main-menu .dgwt-wcas-search-wrapp,
  #main-menu .dgwt-wcas-sf-wrapp {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
  }

  #main-menu .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input {
    width: 100% !important;
    height: 44px !important;
    border-radius: 9999px !important;
    padding: 10px 16px 10px 48px !important;
    font-size: 14px !important;
    background-color: #f9fafb !important;
    border: 1.5px solid #e5e7eb !important;
    box-sizing: border-box !important;
  }

  #main-menu .dgwt-wcas-sf-wrapp .dgwt-wcas-ico-magnifier {
    left: 16px !important;
    right: auto !important;
    max-width: 18px !important;
    max-height: 18px !important;
    opacity: 0.55 !important;
    pointer-events: none !important;
  }

  /* Menu Item Links inside Drawer - Full Width, No Gap */
  #main-menu .sidebar-menu ul.nav-sidebar > li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #main-menu .sidebar-menu ul.nav-sidebar > li.menu-item > a {
    width: 100% !important;
    color: #1f2937 !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    padding: 14px 20px !important;
    border-bottom: 1px solid #f3f4f6 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
  }

  #main-menu .sidebar-menu ul.nav-sidebar > li.menu-item > a:active,
  #main-menu .sidebar-menu ul.nav-sidebar > li.menu-item.active > a {
    background-color: #f9fafb !important;
    color: #c89a3f !important;
  }

  /* Backdrop / Overlay for mobile drawer */
  .main-menu-overlay,
  .mfp-bg.main-menu-overlay,
  .mfp-bg {
    background-color: rgba(0, 0, 0, 0.45) !important;
    cursor: pointer !important;
    pointer-events: auto !important;
  }

  /* Mobile Drawer Track Order CTA button */
  .vm-mobile-drawer-cta {
    padding: 20px !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border-top: 1px solid #f3f4f6 !important;
  }

  .vm-mobile-drawer-cta .vm-btn-track {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    background-color: #18181b !important;
    color: #ffffff !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) !important;
    box-sizing: border-box !important;
  }

  .vm-mobile-drawer-cta .vm-support-link {
    display: block !important;
    text-align: center !important;
    margin-top: 12px !important;
    font-size: 13px !important;
    color: #6b7280 !important;
  }

  /* Search row in drawer: breathing room top/bottom/right.
     Needs li.header-search-form specificity to beat the generic `ul.nav-sidebar > li { padding:0 }` rule. */
  #main-menu .sidebar-menu ul.nav-sidebar > li.header-search-form {
    padding: 20px 20px 16px !important;
    margin: 0 !important;
    border-bottom: 1px solid #f3f4f6 !important;
  }

  /* Flatsome adds border-top on every li+li; we already use border-bottom on links -> kill duplicates */
  #main-menu .nav-sidebar.nav-vertical > li + li {
    border-top: 0 !important;
  }
}

/* ==========================================================
   6. MINI CART DROPDOWN (hover on header cart)
   ========================================================== */
.cart-item .nav-dropdown {
  padding: 18px 20px !important;
  min-width: 340px !important;
}

.cart-item .nav-dropdown .woocommerce-mini-cart-item {
  position: relative !important;
  min-height: 78px;
  padding: 14px 30px 14px 76px !important;
  border-bottom: 1px solid #f3f4f6 !important;
}
.cart-item .nav-dropdown .woocommerce-mini-cart-item:first-child { padding-top: 0 !important; }
.cart-item .nav-dropdown .woocommerce-mini-cart-item img {
  position: absolute !important;
  left: 0 !important;
  top: 14px !important;
  width: 62px !important;
  height: 62px !important;
  object-fit: cover;
  margin: 0 !important;
  border-radius: 10px !important;
  background: #f3f4f6;
}
.cart-item .nav-dropdown .woocommerce-mini-cart-item:first-child img { top: 0 !important; }
.cart-item .nav-dropdown .woocommerce-mini-cart-item > a:not(.remove) {
  display: block;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #18181b !important;
}
.cart-item .nav-dropdown .woocommerce-mini-cart-item dl.variation,
.cart-item .nav-dropdown .woocommerce-mini-cart-item .quantity {
  font-size: 12px !important;
  color: #6b7280 !important;
  margin: 4px 0 0 !important;
}
.cart-item .nav-dropdown .woocommerce-mini-cart-item dl.variation img { display: none !important; }
.cart-item .nav-dropdown .woocommerce-mini-cart-item a.remove {
  position: absolute !important;
  right: 0 !important;
  top: 14px !important;
}
.cart-item .nav-dropdown .woocommerce-mini-cart-item:first-child a.remove { top: 0 !important; }
.cart-item .nav-dropdown .woocommerce-mini-cart { max-height: 320px; overflow-y: auto; }

.cart-item .nav-dropdown .woocommerce-mini-cart__total {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 14px 0 !important;
  margin: 0 !important;
  border-top: 0 !important;
  border-bottom: 1px solid #f3f4f6 !important;
  font-size: 15px !important;
}

.cart-item .nav-dropdown .woocommerce-mini-cart__buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  padding-top: 14px !important;
  margin: 0 !important;
}

.cart-item .nav-dropdown .woocommerce-mini-cart__buttons .button {
  width: 100% !important;
  margin: 0 !important;
  height: 46px !important;
  line-height: 46px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  box-shadow: none !important;
}

/* View cart = outline, Checkout = solid dark */
.cart-item .nav-dropdown .woocommerce-mini-cart__buttons .button:not(.checkout) {
  background: #ffffff !important;
  color: #18181b !important;
  border: 1.5px solid #18181b !important;
}

.cart-item .nav-dropdown .woocommerce-mini-cart__buttons .button.checkout {
  background: #18181b !important;
  color: #ffffff !important;
  border: 1.5px solid #18181b !important;
}

.cart-item .nav-dropdown .woocommerce-mini-cart__buttons .button.checkout:hover {
  background: #27272a !important;
}

/* ==========================================================
   7. PRODUCT CARDS (shop, category, collection, home grids)
   ========================================================== */
.product-small.col > .col-inner { height: 100%; }
.product-small .box,
.product-small.box {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 14px !important;
  overflow: hidden;
  box-shadow: none !important;
  height: 100%;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.product-small .box:hover {
  transform: translateY(-3px);
  border-color: #d1d5db !important;
  box-shadow: 0 14px 30px -14px rgba(24,24,27,.22) !important;
}
.product-small .box-image { border-radius: 0 !important; background: #f9fafb; }
.product-small .box-image img { transition: transform .4s ease; }
.product-small .box:hover .box-image img { transform: scale(1.04); }
.product-small .box-text {
  padding: 12px 14px 16px !important;
  text-align: left !important;
}
.product-small .box-text .category {
  font-size: 10px !important;
  letter-spacing: .06em !important;
  color: #9ca3af !important;
  text-transform: uppercase;
  margin-bottom: 4px !important;
  opacity: 1 !important;
}
.product-small .box-text .product-title,
.product-small .box-text .product-title a {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: #18181b !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product-small .box-text .price,
.product-small .box-text .price .amount {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #18181b !important;
}
.product-small .box-text .price del .amount { color: #9ca3af !important; font-weight: 500 !important; }
.product-small .badge-container .badge-inner {
  border-radius: 999px !important;
  background: #18181b !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 4px 10px !important;
}

/* ==========================================================
   8. GLOBAL BUTTONS – Load more / view more / pagination
   ========================================================== */
.view-more-button,
.ux-relay__load-more-button,
.page-load-more .button {
  min-width: 200px;
  height: 48px !important;
  line-height: 46px !important;
  padding: 0 28px !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #18181b !important;
  border: 1.5px solid #18181b !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase;
  box-shadow: none !important;
  transition: background .2s, color .2s;
}
.view-more-button:hover,
.ux-relay__load-more-button:hover,
.page-load-more .button:hover {
  background: #18181b !important;
  color: #fff !important;
}
.woocommerce-pagination .page-numbers li > .page-number,
.woocommerce-pagination .page-numbers li > span,
.woocommerce-pagination .page-numbers li > a {
  border-radius: 10px !important;
  border: 1px solid #e5e7eb !important;
  min-width: 40px; height: 40px; line-height: 38px !important;
  color: #18181b !important;
  font-weight: 600;
}
.woocommerce-pagination .page-numbers .current {
  background: #18181b !important; border-color: #18181b !important; color: #fff !important;
}

/* 7b. Product card: kill Flatsome's col-inner shadow/border (double border fix) */
.product-small.col > .col-inner,
.products .product-small > .col-inner {
  box-shadow: none !important;
  border: 0 !important;
  background: transparent !important;
}
.product-small .box-image .image-tools,
.product-small .box .box-image > div { border: 0 !important; box-shadow: none !important; }

/* ==========================================================
   9. GLOBAL DESIGN SYSTEM – buttons, inputs, selects, notices
   One source of truth so every page (shop, cart, empty cart,
   account, track order, contact...) shares the same style.
   ========================================================== */
:root { --vm-btn-h: 46px; --vm-field-h: 46px; }

/* Buttons (exclude header pill, qty steppers, icon/social buttons) */
body .button:not(#header .button):not(.quantity .button):not(.icon):not(.is-link):not(.header-cart-link):not(.plus):not(.minus):not(.ux-swatch),
body button.button:not(#header .button):not(.searchform .button):not(.quantity .button),
body input[type="submit"].button:not(#header .button),
body .return-to-shop .button,
body a.wc-backward,
body .woocommerce-message .button,
body .woocommerce-info .button {
  border-radius: 10px !important;
  min-height: var(--vm-btn-h);
  line-height: 1.2 !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase;
  box-shadow: none !important;
  transition: background .2s, color .2s, border-color .2s, transform .15s;
}
body .button.primary:not(#header .button):not(.is-outline):not(.icon),
body .button.alt:not(.is-outline),
body .button.secondary:not(.is-outline):not(.icon),
body .return-to-shop .button,
body a.wc-backward {
  background: #18181b !important;
  border: 1.5px solid #18181b !important;
  color: #fff !important;
}
body .button.primary:not(#header .button):not(.is-outline):not(.icon):hover,
body .button.alt:not(.is-outline):hover,
body .return-to-shop .button:hover,
body a.wc-backward:hover { background: #27272a !important; transform: translateY(-1px); }
body .button.is-outline:not(#header .button):not(.icon) {
  background: #fff !important;
  border: 1.5px solid #18181b !important;
  color: #18181b !important;
}
body .button.is-outline:not(#header .button):not(.icon):hover { background: #18181b !important; color: #fff !important; }
/* Form fields */
body select,
body input[type="text"]:not(.dgwt-wcas-search-input):not(#header input):not(#main-menu input):not(.searchform input),
body input[type="email"], body input[type="tel"], body input[type="password"],
body input[type="url"], body input[type="search"]:not(.dgwt-wcas-search-input):not(#header input):not(#main-menu input):not(.searchform input),
body input[type="number"]:not(.qty),
body textarea,
body .select2-container .select2-selection--single {
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  background-color: #fff !important;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  color: #18181b;
  transition: border-color .2s, box-shadow .2s;
}
body select,
body input[type="text"]:not(.dgwt-wcas-search-input):not(#header input):not(#main-menu input):not(.searchform input),
body input[type="email"], body input[type="tel"], body input[type="password"],
body input[type="url"], body input[type="number"]:not(.qty) {
  min-height: var(--vm-field-h);
  padding: 0 14px;
}
body select {
  -webkit-appearance: none; appearance: none;
  padding-right: 40px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2318181b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 12px !important;
  cursor: pointer;
  font-weight: 500;
}
body select:focus,
body input:not(.dgwt-wcas-search-input):not(#header input):not(#main-menu input):not(.searchform input):focus,
body textarea:focus {
  border-color: #18181b !important;
  box-shadow: 0 0 0 3px rgba(24,24,27,.08) !important;
  outline: none;
}
.woocommerce-ordering select { min-width: 200px; }
.dgwt-wcas-search-input { border-radius: 999px !important; }

/* Notices (added / removed / info) */
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.message-wrapper, .cart-empty.woocommerce-info {
  border-radius: 10px !important;
  font-size: 14px !important;
  color: #18181b !important;
}
.woocommerce-message, .message-wrapper .success-color, .message-container.success-color { color: #18181b !important; }
.woocommerce-message .icon-checkmark, .message-wrapper .icon-checkmark { color: #16a34a !important; }
.woocommerce-message a:not(.button), .message-wrapper a:not(.button) { color: #18181b !important; font-weight: 600; text-decoration: underline; }

/* Empty cart */
.woocommerce-cart .cart-empty { font-size: 16px !important; color: #6b7280 !important; margin: 24px 0 8px !important; }
.woocommerce-cart .return-to-shop { margin: 16px 0 40px !important; }

/* default (non-primary) buttons e.g. Update cart = outline */
body .button:not(.primary):not(.alt):not(.secondary):not(.checkout):not(.is-outline):not(#header .button):not(.quantity .button):not(.icon):not(.is-link):not(.wc-backward) {
  background: #fff !important; color: #18181b !important; border: 1.5px solid #18181b !important;
}
body .button:not(.primary):not(.alt):not(.secondary):not(.checkout):not(.is-outline):not(#header .button):not(.quantity .button):not(.icon):not(.is-link):hover { background: #18181b !important; color: #fff !important; }
body .button[disabled], body .button:disabled { opacity: .45 !important; cursor: not-allowed; transform: none !important; }/* keep round icon buttons round (back-to-top, social) */
body .back-to-top, body .button.icon.circle, body .social-icons .button {
  border-radius: 50% !important; padding: 0 !important; min-height: 0 !important;
  width: 40px; height: 40px; letter-spacing: 0 !important;
}

/* ==========================================================
   10. ADD-TO-CART NOTICE (Flatsome .message-wrapper)
   ========================================================== */
.woocommerce-message.message-wrapper {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 16px 0 20px !important;
}
.woocommerce-message .message-container {
  display: flex !important;
  align-items: center;
  gap: 14px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-left: 4px solid #16a34a;
  border-radius: 12px;
  padding: 12px 12px 12px 16px !important;
  box-shadow: 0 8px 24px -16px rgba(24,24,27,.25);
  font-size: 14px !important;
  font-weight: 500;
  line-height: 1.45;
  color: #18181b !important;
  text-align: left !important;
  animation: vmNoticeIn .35s ease-out;
}
.woocommerce-message .message-container .icon-checkmark {
  flex: 0 0 28px;
  width: 28px; height: 28px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: #dcfce7;
  color: #16a34a !important;
  font-size: 13px;
  margin: 0 !important;
}
.woocommerce-message .message-container .button.wc-forward:not(#vm1):not(#vm2) {
  order: 3;
  margin: 0 0 0 auto !important;
  flex: 0 0 auto;
  min-height: 40px !important;
  padding: 0 18px !important;
  background: #18181b !important;
  color: #fff !important;
  border: 0 !important;
  font-size: 12px !important;
}
.woocommerce-message .message-container .button.wc-forward:not(#vm1):not(#vm2):hover { background: #27272a !important; }
@keyframes vmNoticeIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@media (max-width: 549px) {
  .woocommerce-message .message-container { flex-wrap: wrap; font-size: 13px !important; }
  .woocommerce-message .message-container .button.wc-forward:not(#vm1):not(#vm2) { width: 100%; margin: 4px 0 0 !important; }
}
/* notice aligns with page content (Flatsome container gutter 15px) */
.woocommerce-message .message-container { margin: 0 15px !important; width: auto !important; max-width: calc(100% - 30px); }
@media (min-width: 1110px) { .woocommerce-message .message-container { max-width: 1050px; margin: 0 auto !important; } }
@media (max-width: 549px) {
  .woocommerce-message .message-container { display: grid !important; grid-template-columns: 28px 1fr; column-gap: 12px; row-gap: 10px; }
  .woocommerce-message .message-container .button.wc-forward:not(#vm1):not(#vm2) { grid-column: 1 / -1; width: 100%; margin: 0 !important; }
}

/* ==========================================================
   11. CONTACT FORM 7 + softer focus state for every field
   ========================================================== */
body select:focus, body textarea:focus,
body input:not(.dgwt-wcas-search-input):not(#header input):not(#main-menu input):not(.searchform input):focus,
.wpcf7 .wpcf7-form-control:focus {
  border-color: #a1a1aa !important;
  box-shadow: 0 0 0 3px rgba(24,24,27,.06) !important;
  outline: none !important;
}
.wpcf7 .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-checkbox):not(.wpcf7-radio):not(.wpcf7-acceptance) {
  width: 100%;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  background-color: #fff !important;
  box-shadow: none !important;
  font: 400 14px 'Poppins', sans-serif !important;
  color: #18181b;
}
.wpcf7 textarea.wpcf7-form-control { min-height: 120px; padding: 12px 14px !important; line-height: 1.5; resize: vertical; }
.wpcf7 select.wpcf7-form-control { min-height: 46px; padding: 0 40px 0 14px !important; }
.wpcf7 .wpcf7-form-control::placeholder { color: #9ca3af; }
.wpcf7 input.wpcf7-submit:not(#vm1):not(#vm2) {
  width: 100%;
  min-height: 48px;
  border-radius: 10px !important;
  background: #18181b !important;
  border: 1.5px solid #18181b !important;
  color: #fff !important;
  font: 700 13px 'Poppins', sans-serif !important;
  letter-spacing: .05em;
  text-transform: uppercase;
  cursor: pointer;
}
.wpcf7 input.wpcf7-submit:not(#vm1):not(#vm2):hover { background: #27272a !important; }
.wpcf7 .wpcf7-not-valid { border-color: #ef4444 !important; }
.wpcf7 .wpcf7-not-valid-tip { font-size: 12px; margin-top: 4px; }
.wpcf7 form .wpcf7-response-output { border-radius: 10px; font-size: 13px; margin: 12px 0 0 !important; }

/* ==========================================================
   12. BANNERS (Flatsome UX Builder) – rounded + clean CTA
   ========================================================== */
.page-wrapper .banner:not(.is-full-height),
.section .banner:not(.is-full-height) {
  border-radius: 16px;
  overflow: hidden;
}
.banner .banner-layers .button:not(#vm1):not(#vm2) {
  min-height: 46px;
  padding: 0 26px !important;
  border-radius: 10px !important;
  background: #fff !important;
  border: 0 !important;
  color: #18181b !important;
  font: 700 13px 'Poppins', sans-serif !important;
  letter-spacing: .05em !important;
  text-transform: uppercase;
  box-shadow: 0 8px 20px -8px rgba(0,0,0,.35) !important;
  transition: transform .15s, background .2s;
}
.banner .banner-layers .button:not(#vm1):not(#vm2):hover { background: #f4f4f5 !important; transform: translateY(-1px); }
.banner .banner-layers h1, .banner .banner-layers h2, .banner .banner-layers h3 {
  font-weight: 700 !important;
  letter-spacing: .01em;
}

/* 12b. Banner radius – broad selector (Flatsome bg layers ignore parent radius) */
div.banner:not(.is-full-height):not(#vm1),
div.banner:not(.is-full-height) .banner-inner,
div.banner:not(.is-full-height) .banner-bg,
div.banner:not(.is-full-height) .bg { border-radius: 16px !important; overflow: hidden; }
@media (max-width: 549px) {
  div.banner:not(.is-full-height):not(#vm1),
  div.banner:not(.is-full-height) .banner-inner,
  div.banner:not(.is-full-height) .banner-bg,
  div.banner:not(.is-full-height) .bg { border-radius: 12px !important; }
}

/* ==========================================================
   13. ROUND/ICON BUTTONS ??? beat global button specificity
   ========================================================== */
body .back-to-top:not(#vm1):not(#vm2),
body .button.circle:not(#vm1):not(#vm2),
body .social-icons .button:not(#vm1):not(#vm2) {
  border-radius: 50% !important; padding: 0 !important; min-height: 0 !important;
  width: 42px !important; height: 42px !important; line-height: 1 !important;
  display: inline-flex !important; align-items: center; justify-content: center;
  letter-spacing: 0 !important;
}
body .back-to-top:not(#vm1):not(#vm2) {
  background: #18181b !important; color: #fff !important; border: 0 !important;
  box-shadow: 0 6px 16px -6px rgba(0,0,0,.4) !important;
}
body .back-to-top:not(#vm1):not(#vm2) i { color: #fff !important; margin: 0 !important; }

/* Mobile hamburger: no tap flash */
.header-wrapper .nav-icon a, .header-wrapper [data-open="#main-menu"],
.header-wrapper .nav-icon a:hover, .header-wrapper .nav-icon a:active, .header-wrapper .nav-icon a:focus {
  -webkit-tap-highlight-color: transparent !important; transition: none !important;
}
* { -webkit-tap-highlight-color: transparent; }

/* Drawer close X ??? clearly visible */
.mfp-close, .off-canvas .mfp-close, button.mfp-close {
  opacity: 1 !important; color: #fff !important; mix-blend-mode: normal !important;
  font-size: 34px !important; text-shadow: 0 1px 6px rgba(0,0,0,.5);
}
.mfp-close svg { stroke: #fff !important; stroke-width: 2.5 !important; opacity: 1 !important; }
