/*
 * ==========================================================================
 * VOZ MERCADO — Custom Styles for WooCommerce & WCFM Pages
 * ==========================================================================
 *
 * File:        voz-mercado-custom.css
 * Location:    wp-content/themes/hello-elementor-child/css/voz-mercado-custom.css
 * Enqueue:     via functions.php (hello-elementor-child)
 * 
 * Covers:
 *   1. CSS Custom Properties (easy color/font adjustment)
 *   2. Global WooCommerce Resets
 *   3. Breadcrumbs
 *   4. Single Product Page
 *   5. Product Archive / Tag Pages
 *   6. WCFM Store Page
 *   7. Product Cards (shared grid styling)
 *   8. Pagination
 *   9. Buttons & Form Elements
 *  10. Responsive Overrides
 *
 * Migration note:
 *   Copy this file + the enqueue snippet in functions.php
 *   from staging → production. That's it.
 * ==========================================================================
 */
/* ==========================================================================
   1. CSS CUSTOM PROPERTIES
   ========================================================================== 
   Adjust these to match Global Styles if colors/fonts change.
   These were extracted from the live site's visual inspection.
   ========================================================================== */

:root {
  /* --- Brand Colors --- */
  --vm-primary:          #1B2A4A;   /* Navy / dark blue — header, headings */
  --vm-primary-light:    #2C3E6B;   /* Lighter navy — hover states */
  --vm-secondary:        #D94040;   /* Brand red — accent, hover highlights */
  --vm-secondary-light:  #E25555;   /* Red hover — lighter variant */
  --vm-text:             #333333;   /* Body text */
  --vm-text-light:       #666666;   /* Secondary text, meta */
  --vm-text-muted:       #999999;   /* Placeholders, disabled */
  --vm-bg:               #FFFFFF;   /* Page background */
  --vm-bg-soft:          #F7F7F7;   /* Soft background — cards, sections */
  --vm-bg-warm:          #FAF8F5;   /* Warm off-white — alt sections */
  --vm-border:           #E5E5E5;   /* Borders, dividers */
  --vm-border-light:     #F0F0F0;   /* Subtle borders */
  --vm-success:          #4CAF50;   /* Success / in-stock */
  --vm-sale:             #E53935;   /* Sale badge */
  --vm-star:             #F4A623;   /* Star ratings */

  /* --- Typography --- */
  --vm-font-heading:     'Inter', 'Helvetica Neue', Arial, sans-serif;
  --vm-font-body:        'Inter', 'Helvetica Neue', Arial, sans-serif;
  --vm-font-ui:          'Inter', 'Helvetica Neue', Arial, sans-serif;

  /* --- Spacing --- */
  --vm-space-xs:         0.5rem;
  --vm-space-sm:         0.75rem;
  --vm-space-md:         1rem;
  --vm-space-lg:         1.5rem;
  --vm-space-xl:         2rem;
  --vm-space-2xl:        3rem;

  /* --- Border Radius --- */
  --vm-radius-sm:        4px;
  --vm-radius-md:        8px;
  --vm-radius-lg:        12px;
  --vm-radius-pill:      50px;

  /* --- Shadows --- */
  --vm-shadow-sm:        0 1px 3px rgba(27, 42, 74, 0.06);
  --vm-shadow-md:        0 4px 12px rgba(27, 42, 74, 0.08);
  --vm-shadow-lg:        0 8px 30px rgba(27, 42, 74, 0.12);
  --vm-shadow-hover:     0 6px 20px rgba(27, 42, 74, 0.14);

  /* --- Transitions --- */
  --vm-transition:       all 0.25s ease;
  --vm-transition-slow:  all 0.4s ease;
}
/* ==========================================================================
   1b. INLINE STYLE OVERRIDES (plugin-injected junk)
   ==========================================================================
   Vendors paste product descriptions from external editors (Shopify, Etsy,
   etc.) which carry inline styles with custom fonts, sizes, spacing.
   We nuke everything inside description containers.
   ========================================================================== */

/* --- Nuclear reset for product descriptions --- */
.woocommerce-product-details__short-description *,
.woocommerce-product-details__short-description p,
.woocommerce-product-details__short-description ul,
.woocommerce-product-details__short-description ol,
.woocommerce-product-details__short-description li,
.woocommerce-product-details__short-description strong,
.woocommerce-product-details__short-description em,
.woocommerce-product-details__short-description span,
.woocommerce-product-details__short-description h1,
.woocommerce-product-details__short-description h2,
.woocommerce-product-details__short-description h3,
.woocommerce-product-details__short-description h4,
#tab-description *,
#tab-description p,
#tab-description ul,
#tab-description ol,
#tab-description li,
#tab-description strong,
#tab-description em,
#tab-description span,
#tab-description h1,
#tab-description h2,
#tab-description h3,
#tab-description h4 {
  font-family: var(--vm-font-body) !important;
  letter-spacing: normal !important;
  font-size: inherit !important;
}

/* Base font-size for the containers themselves */
.woocommerce-product-details__short-description,
#tab-description {
  font-family: var(--vm-font-body) !important;
  font-size: 0.95rem !important;
  line-height: 1.7;
  color: var(--vm-text);
}

/* Paragraphs inside descriptions */
.woocommerce-product-details__short-description p,
#tab-description p {
  font-size: 0.95rem !important;
  margin: 0 0 var(--vm-space-md) 0 !important;
  color: var(--vm-text);
}

/* Bold text used as pseudo-headings (e.g. "About this item") */
.woocommerce-product-details__short-description p strong,
#tab-description p strong {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--vm-primary);
  display: inline-block;
  margin-top: var(--vm-space-sm);
}

/* Lists inside descriptions */
.woocommerce-product-details__short-description ul,
.woocommerce-product-details__short-description ol,
#tab-description ul,
#tab-description ol {
  font-size: 0.95rem !important;
  padding-left: 1.4rem !important;
  margin: 0 0 var(--vm-space-md) 0 !important;
}

.woocommerce-product-details__short-description li,
#tab-description li {
  font-size: 0.92rem !important;
  margin-bottom: 0.5rem;
  color: var(--vm-text-light);
  line-height: 1.6;
}

/* --- Fallback: catch any other inline-styled elements on shop pages --- */
.woocommerce [style*="customfont"],
.woocommerce [style*="font-family: Assistant"],
.woocommerce-page [style*="customfont"],
.woocommerce-page [style*="font-family: Assistant"],
#wcfmmp-store [style*="customfont"],
#wcfmmp-store [style*="font-family: Assistant"] {
  font-family: var(--vm-font-body) !important;
  font-size: inherit !important;
  letter-spacing: normal !important;
}

/* Preserve intentional inline sizing on images/iframes */
.woocommerce img[style],
#wcfmmp-store img[style],
.woocommerce iframe[style] {
  font-family: inherit !important;
  font-size: inherit !important;
  letter-spacing: inherit !important;
}
/* --- WCFM clearfix spam — collapse empty divs --- */
.woocommerce div.product .wcfm-clearfix,
.woocommerce div.product .wcfmmp_sold_by_container_advanced .wcfm-clearfix,
.woocommerce div.product .wcfm_ele_wrapper .wcfm-clearfix,
#wcfmmp-store .wcfm-clearfix {
  display: block;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  clear: both;
}

/* Tighten the enquiry/ask-a-question wrapper */
.woocommerce div.product .wcfm_catalog_enquiry_button_wrapper {
  margin: var(--vm-space-md) 0 !important;
  padding: 0 !important;
}

/* --- "Ask a Question" button — override inline colors --- */
.woocommerce div.product a.wcfm_catalog_enquiry {
  font-family: var(--vm-font-ui) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 0.55rem 1.2rem !important;
  margin: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--vm-primary) !important;
  border: 1.5px solid var(--vm-primary) !important;
  border-radius: var(--vm-radius-pill) !important;
  border-bottom-color: var(--vm-primary) !important;
  transition: var(--vm-transition) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
}

.woocommerce div.product a.wcfm_catalog_enquiry:hover {
  background: var(--vm-primary) !important;
  background-color: var(--vm-primary) !important;
  color: var(--vm-bg) !important;
  border-color: var(--vm-primary) !important;
  border-bottom-color: var(--vm-primary) !important;
}

/* Kill the inline <style> hover block that WCFM injects */
.woocommerce div.product .wcfm_catalog_enquiry_button_wrapper > style {
  display: none;
}

/* --- Sold-by store info — tighten spacing --- */
.woocommerce div.product .wcfmmp_sold_by_container_advanced {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--vm-space-sm);
  margin: var(--vm-space-md) 0;
  padding: var(--vm-space-md) 0;
}

.woocommerce div.product .wcfmmp_sold_by_label {
  font-family: var(--vm-font-ui);
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--vm-text-muted);
  width: 100%;
  margin-bottom: calc(-1 * var(--vm-space-xs));
}

.woocommerce div.product .wcfmmp_sold_by_container_left img {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50%;
}

.woocommerce div.product .wcfmmp_sold_by_container_right {
  flex: 1;
}

.woocommerce div.product .wcfmmp_sold_by_store a {
  font-family: var(--vm-font-ui);
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--vm-primary);
}

.woocommerce div.product .wcfmmp_sold_by_store a:hover {
  color: var(--vm-secondary);
}

/* Store rating */
.woocommerce div.product .wcfmmp-store-rating {
  font-size: 0.78rem;
  color: var(--vm-text-muted);
}
/* ==========================================================================
   2. GLOBAL WOOCOMMERCE RESETS
   ========================================================================== */

.woocommerce,
.woocommerce-page {
  font-family: var(--vm-font-body);
  color: var(--vm-text);
}

.woocommerce h1,
.woocommerce h2,
.woocommerce h3,
.woocommerce h4 {
  font-family: var(--vm-font-heading);
  color: var(--vm-primary);
  font-weight: 600;
}

/* Remove default WooCommerce blue links */
.woocommerce a {
  color: var(--vm-primary);
  transition: var(--vm-transition);
}

.woocommerce a:hover {
  color: var(--vm-secondary);
}
/* ==========================================================================
   3. BREADCRUMBS
   ========================================================================== */

.woocommerce .woocommerce-breadcrumb {
  font-family: var(--vm-font-ui);
  font-size: 0.8rem;
  letter-spacing: 0.03em;
  color: var(--vm-text-muted);
  padding: var(--vm-space-md) 0;
  margin-bottom: var(--vm-space-lg);
  border-bottom: 1px solid var(--vm-border-light);
}

.woocommerce .woocommerce-breadcrumb a {
  color: var(--vm-text-light);
  text-decoration: none;
  transition: var(--vm-transition);
}

.woocommerce .woocommerce-breadcrumb a:hover {
  color: var(--vm-secondary);
}

/* Separator styling */
.woocommerce .woocommerce-breadcrumb > span,
.woocommerce .woocommerce-breadcrumb .breadcrumb-separator {
  margin: 0 0.4em;
  color: var(--vm-border);
}
/* ==========================================================================
   4. SINGLE PRODUCT PAGE
   ========================================================================== */

/* --- Product title --- */
.woocommerce div.product .product_title {
  font-family: var(--vm-font-heading);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 600;
  color: var(--vm-primary);
  line-height: 1.3;
  margin-bottom: var(--vm-space-sm);
}

/* --- Price --- */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--vm-font-body);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--vm-primary);
  margin-bottom: var(--vm-space-lg);
}

.woocommerce div.product p.price del {
  color: var(--vm-text-muted);
  font-weight: 400;
  font-size: 1.1rem;
}

.woocommerce div.product p.price ins {
  color: var(--vm-sale);
  text-decoration: none;
  font-weight: 700;
}

/* --- Product image --- */
.woocommerce div.product div.images {
  margin-bottom: var(--vm-space-xl);
}

.woocommerce div.product div.images img {
  border-radius: var(--vm-radius-md);
  box-shadow: var(--vm-shadow-sm);
  transition: var(--vm-transition);
}

.woocommerce div.product div.images a:hover img {
  box-shadow: var(--vm-shadow-md);
  transform: scale(1.01);
}

/* --- Gallery thumbnails --- */
.woocommerce div.product div.images .flex-control-thumbs li img {
  border-radius: var(--vm-radius-sm);
  border: 2px solid transparent;
  transition: var(--vm-transition);
}

.woocommerce div.product div.images .flex-control-thumbs li img:hover,
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active {
  border-color: var(--vm-secondary);
  opacity: 1;
}

/* --- Variations (Color select, etc.) --- */
.woocommerce div.product .variations {
  margin-bottom: var(--vm-space-lg);
}

.woocommerce div.product .variations td.label {
  font-family: var(--vm-font-ui);
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--vm-text);
  padding-right: var(--vm-space-md);
  vertical-align: middle;
}

.woocommerce div.product .variations select {
  font-family: var(--vm-font-ui);
  font-size: 0.9rem;
  padding: 0.6rem 1rem;
  border: 1px solid var(--vm-border);
  border-radius: var(--vm-radius-sm);
  background-color: var(--vm-bg);
  color: var(--vm-text);
  transition: var(--vm-transition);
  min-width: 160px;
  cursor: pointer;
}

.woocommerce div.product .variations select:focus {
  border-color: var(--vm-secondary);
  outline: none;
  box-shadow: 0 0 0 3px rgba(217, 64, 64, 0.12);
}

.woocommerce div.product .variations .reset_variations {
  font-size: 0.8rem;
  color: var(--vm-text-muted);
}

/* --- Quantity input --- */
.woocommerce div.product .quantity .qty {
  font-family: var(--vm-font-ui);
  font-size: 0.95rem;
  padding: 0.5rem 0.6rem;
  border: 1px solid var(--vm-border);
  border-radius: var(--vm-radius-sm);
  width: 70px;
  text-align: center;
  transition: var(--vm-transition);
}

.woocommerce div.product .quantity .qty:focus {
  border-color: var(--vm-secondary);
  outline: none;
  box-shadow: 0 0 0 3px rgba(217, 64, 64, 0.12);
}

/* --- Add to Cart button --- */
.woocommerce div.product .single_add_to_cart_button {
  font-family: var(--vm-font-ui) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.85rem 2.2rem !important;
  background-color: var(--vm-primary) !important;
  color: var(--vm-bg) !important;
  border: 2px solid var(--vm-primary) !important;
  border-radius: var(--vm-radius-pill) !important;
  cursor: pointer;
  transition: var(--vm-transition) !important;
  box-shadow: var(--vm-shadow-sm);
}

.woocommerce div.product .single_add_to_cart_button:hover {
  background-color: var(--vm-secondary) !important;
  border-color: var(--vm-secondary) !important;
  color: var(--vm-bg) !important;
  box-shadow: var(--vm-shadow-hover);
  transform: translateY(-1px);
}

/* --- SKU, Categories, Tags meta --- */
.woocommerce div.product .product_meta {
  font-size: 0.82rem;
}

.woocommerce div.product .product_meta > span {
  display: block;
}

.woocommerce div.product .product_meta a {
  color: var(--vm-primary);
  font-weight: 500;
}

.woocommerce div.product .product_meta a:hover {
  color: var(--vm-secondary);
}

/* --- Store info badge (WCFM) --- */
.woocommerce div.product .wcfmmp_sold_by_container,
.woocommerce div.product .wcfm-clearfix {
  font-family: var(--vm-font-ui);
  font-size: 0.85rem;
  padding: var(--vm-space-sm) 0;
}

.woocommerce div.product .wcfmmp_sold_by_container a {
  font-weight: 600;
  color: var(--vm-primary);
}

/* --- WCFM clearfix spam: collapse empty divs --- */
.woocommerce div.product .wcfm-clearfix {
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden;
  clear: both;
}

/* --- Sold by advanced container (product meta area) --- */
.woocommerce div.product .wcfmmp_sold_by_container_advanced {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--vm-space-sm);
  padding: var(--vm-space-md) 0;
  margin: var(--vm-space-sm) 0;
}

.woocommerce div.product .wcfmmp_sold_by_container_advanced .wcfm-clearfix {
  display: none !important;
}

.woocommerce div.product .wcfmmp_sold_by_label {
  font-family: var(--vm-font-ui);
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--vm-text-muted);
  width: 100%;
}

.woocommerce div.product .wcfmmp_sold_by_container_left img {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50%;
  vertical-align: middle;
}

.woocommerce div.product .wcfmmp_sold_by_container_right {
  flex: 1;
}

.woocommerce div.product .wcfmmp_sold_by_store a {
  font-family: var(--vm-font-ui) !important;
  font-weight: 600;
  color: var(--vm-primary);
  text-decoration: none;
}

.woocommerce div.product .wcfmmp_sold_by_store a:hover {
  color: var(--vm-secondary);
}

.woocommerce div.product .wcfmmp-store-rating {
  font-size: 0.8rem;
  color: var(--vm-star);
}

/* --- Ask a Question / Enquiry button --- */
.woocommerce div.product .wcfm_catalog_enquiry_button_wrapper {
  padding: var(--vm-space-md) 0;
  margin: 0;
}

.woocommerce div.product .wcfm_catalog_enquiry_button_wrapper .wcfm-clearfix {
  display: none !important;
}

.woocommerce div.product a.wcfm_catalog_enquiry,
.woocommerce div.product .wcfm_catalog_enquiry {
  font-family: var(--vm-font-ui) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 0.55rem 1.3rem !important;
  margin: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--vm-primary) !important;
  border: 1.5px solid var(--vm-primary) !important;
  border-bottom-color: var(--vm-primary) !important;
  border-radius: var(--vm-radius-pill) !important;
  transition: var(--vm-transition) !important;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  text-decoration: none !important;
}

.woocommerce div.product a.wcfm_catalog_enquiry:hover,
.woocommerce div.product .wcfm_catalog_enquiry:hover {
  background: var(--vm-primary) !important;
  background-color: var(--vm-primary) !important;
  border-color: var(--vm-primary) !important;
  border-bottom-color: var(--vm-primary) !important;
  color: var(--vm-bg) !important;
}

/* Override the inline <style> block WCFM injects for hover */
a.wcfm_catalog_enquiry:hover {
  background: var(--vm-primary) !important;
  background-color: var(--vm-primary) !important;
  border-bottom-color: var(--vm-primary) !important;
  color: var(--vm-bg) !important;
}

/* --- Enquiry icon */
.woocommerce div.product .wcfm_catalog_enquiry .wcfmfa {
  font-size: 0.9rem;
}

/* --- WCFM Enquiry Modal (Colorbox popup) --- */
#colorbox {
  border-radius: var(--vm-radius-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--vm-shadow-lg), 0 0 0 1px rgba(0,0,0,0.04) !important;
}

#cboxWrapper {
  border-radius: var(--vm-radius-lg);
}

#cboxContent {
  background: var(--vm-bg);
  padding: 0;
}

#cboxLoadedContent {
  padding: var(--vm-space-xl) var(--vm-space-2xl) !important;
  scrollbar-width: thin;
  scrollbar-color: var(--vm-border) transparent;
}

#cboxLoadedContent::-webkit-scrollbar {
  width: 6px;
}

#cboxLoadedContent::-webkit-scrollbar-thumb {
  background: var(--vm-border);
  border-radius: 3px;
}

/* Top/Bottom/Side chrome — hide the default colorbox frame */
#cboxTopLeft, #cboxTopCenter, #cboxTopRight,
#cboxBottomLeft, #cboxBottomCenter, #cboxBottomRight,
#cboxMiddleLeft, #cboxMiddleRight {
  background: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* Close button */
#cboxClose {
  font-family: var(--vm-font-ui) !important;
  font-size: 0 !important;
  width: 36px !important;
  height: 36px !important;
  top: var(--vm-space-md) !important;
  right: var(--vm-space-md) !important;
  bottom: auto !important;
  background: var(--vm-bg-soft) !important;
  border: 1px solid var(--vm-border-light) !important;
  border-radius: 50% !important;
  cursor: pointer;
  transition: var(--vm-transition) !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  text-indent: -9999px;
  position: absolute;
}

#cboxClose::after {
  content: "✕";
  font-size: 0.9rem;
  text-indent: 0;
  color: var(--vm-text-light);
  position: absolute;
}

#cboxClose:hover {
  background: var(--vm-primary) !important;
  border-color: var(--vm-primary) !important;
}

#cboxClose:hover::after {
  color: var(--vm-bg);
}

/* Enquiry form wrapper */
#enquiry_form_wrapper {
  font-family: var(--vm-font-body);
}

#enquiry_form.wcfm_popup_wrapper {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Form heading */
#enquiry_form h2 {
  font-family: var(--vm-font-heading) !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  color: var(--vm-primary) !important;
  margin: 0 !important;
  padding: 0 0 var(--vm-space-md) 0 !important;
  border-bottom: 1px solid var(--vm-border-light);
  float: none !important;
}

/* Labels */
#enquiry_form .wcfm_popup_label {
  margin: var(--vm-space-md) 0 var(--vm-space-xs) 0 !important;
}

#enquiry_form .wcfm_popup_label strong {
  font-family: var(--vm-font-ui) !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: var(--vm-text) !important;
  letter-spacing: 0.02em;
}

#enquiry_form .wcfm_popup_label .required {
  color: var(--vm-sale);
}

/* Text inputs */
#enquiry_form input.wcfm_popup_input,
#enquiry_form textarea.wcfm_popup_input {
  font-family: var(--vm-font-body) !important;
  font-size: 0.9rem !important;
  padding: 0.65rem 0.9rem !important;
  border: 1px solid var(--vm-border) !important;
  border-radius: var(--vm-radius-sm) !important;
  background: var(--vm-bg) !important;
  color: var(--vm-text) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: var(--vm-transition) !important;
  outline: none !important;
}

#enquiry_form textarea.wcfm_popup_textarea {
  min-height: 100px;
  resize: vertical;
}

#enquiry_form input.wcfm_popup_input:focus,
#enquiry_form textarea.wcfm_popup_input:focus {
  border-color: var(--vm-secondary) !important;
  box-shadow: 0 0 0 3px rgba(217, 64, 64, 0.12) !important;
}

/* Email note */
#enquiry_form .comment-notes {
  font-family: var(--vm-font-ui) !important;
  font-size: 0.78rem !important;
  color: var(--vm-text-muted) !important;
  margin: var(--vm-space-xs) 0 0 0 !important;
  text-align: left !important;
}

/* Clearfix spam inside modal */
#enquiry_form .wcfm_clearfix,
#enquiry_form .wcfm-clearfix,
#enquiry_form_wrapper .wcfm_clearfix,
#enquiry_form_wrapper .wcfm-clearfix {
  display: none !important;
}

/* Message area */
#enquiry_form .wcfm-message {
  font-family: var(--vm-font-ui);
  font-size: 0.85rem;
  border-radius: var(--vm-radius-sm);
  margin: var(--vm-space-sm) 0;
}

/* Submit button */
#enquiry_form input.wcfm_popup_button,
#enquiry_form #wcfm_enquiry_submit_button {
  font-family: var(--vm-font-ui) !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 0.75rem 2rem !important;
  background-color: var(--vm-primary) !important;
  color: var(--vm-bg) !important;
  border: 2px solid var(--vm-primary) !important;
  border-radius: var(--vm-radius-pill) !important;
  cursor: pointer !important;
  transition: var(--vm-transition) !important;
  box-shadow: var(--vm-shadow-sm);
  width: auto !important;
}

#enquiry_form input.wcfm_popup_button:hover,
#enquiry_form #wcfm_enquiry_submit_button:hover {
  background-color: var(--vm-secondary) !important;
  border-color: var(--vm-secondary) !important;
  color: var(--vm-bg) !important;
  box-shadow: var(--vm-shadow-hover);
  transform: translateY(-1px);
}

/* Colorbox overlay */
#cboxOverlay {
  background: rgba(27, 42, 74, 0.5) !important;
}
/* --- Tabs --- */
.woocommerce div.product .woocommerce-tabs {
  margin-top: var(--vm-space-2xl);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0 !important;
  margin: 0 0 var(--vm-space-xl) 0 !important;
  border-bottom: 2px solid var(--vm-border) !important;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  list-style: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
  display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--vm-font-ui);
  font-size: 0.85rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--vm-text-muted);
  padding: var(--vm-space-sm) var(--vm-space-lg);
  display: inline-block;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: var(--vm-transition);
  text-decoration: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--vm-primary);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--vm-primary);
  border-bottom-color: var(--vm-secondary);
  font-weight: 600;
}

/* Tab content */
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
  font-family: var(--vm-font-body);
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--vm-text);
  padding: var(--vm-space-lg) 0;
}

.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
  font-size: 1.3rem;
  margin-bottom: var(--vm-space-md);
}

/* --- Description tab lists --- */
.woocommerce div.product .woocommerce-Tabs-panel ul {
  padding-left: 1.2rem;
}

.woocommerce div.product .woocommerce-Tabs-panel ul li {
  margin-bottom: 0.4rem;
  color: var(--vm-text-light);
}
/* --- Related Products --- */
.woocommerce div.product .related.products {
  margin-top: var(--vm-space-2xl);
  padding-top: var(--vm-space-2xl);
  border-top: 1px solid var(--vm-border-light);
}

.woocommerce div.product .related.products > h2 {
  font-family: var(--vm-font-heading);
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--vm-primary);
  text-transform: none;
  margin-bottom: var(--vm-space-xl);
}

/* --- Reviews tab --- */
.woocommerce div.product #reviews .star-rating {
  color: var(--vm-star);
}

.woocommerce div.product #reviews #respond .comment-form-rating label {
  font-family: var(--vm-font-ui);
  font-weight: 600;
}

.woocommerce div.product #reviews #respond textarea,
.woocommerce div.product #reviews #respond input[type="text"],
.woocommerce div.product #reviews #respond input[type="email"] {
  font-family: var(--vm-font-body);
  border: 1px solid var(--vm-border);
  border-radius: var(--vm-radius-sm);
  padding: 0.7rem 1rem;
  transition: var(--vm-transition);
}

.woocommerce div.product #reviews #respond textarea:focus,
.woocommerce div.product #reviews #respond input:focus {
  border-color: var(--vm-secondary);
  outline: none;
  box-shadow: 0 0 0 3px rgba(217, 64, 64, 0.12);
}

/* Ask a question link */
.woocommerce div.product a[href="#wcfm_enquiry_tab"],
.woocommerce div.product .wcfm_enquiry_link {
  font-family: var(--vm-font-ui);
  font-size: 0.85rem;
  color: var(--vm-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}
/* ==========================================================================
   5. PRODUCT ARCHIVE / TAG PAGES
   ========================================================================== */

/* --- Page title (tag name) --- */
.tax-product_tag .woocommerce-products-header__title,
.tax-product_tag header.woocommerce-products-header h1,
.woocommerce-page .woocommerce-products-header__title {
  font-family: var(--vm-font-heading);
  font-size: clamp(1.6rem, 3.5vw, 2.2rem);
  font-weight: 600;
  color: var(--vm-primary);
  text-transform: none;
  margin-bottom: var(--vm-space-sm);
}

/* --- Result count & ordering row --- */
.woocommerce .woocommerce-result-count {
  font-family: var(--vm-font-ui);
  font-size: 0.82rem;
  color: var(--vm-text-muted);
}

.woocommerce .woocommerce-ordering select {
  font-family: var(--vm-font-ui);
  font-size: 0.85rem;
  padding: 0.5rem 1rem;
  border: 1px solid var(--vm-border);
  border-radius: var(--vm-radius-sm);
  background-color: var(--vm-bg);
  color: var(--vm-text);
  transition: var(--vm-transition);
  cursor: pointer;
}

.woocommerce .woocommerce-ordering select:focus {
  border-color: var(--vm-secondary);
  outline: none;
}
/* ==========================================================================
   6. WCFM STORE PAGE
   ==========================================================================
   Original WCFM uses #wcfmmp-store with absolute positioning, floats, 
   dark backgrounds (#2f2f2f, #212121) and white text everywhere.
   We need #wcfmmp-store prefix for specificity.
   ========================================================================== */

/* --- Main store container --- */
#wcfmmp-store {
  box-shadow: none !important;
}

/* --- Store Header --- */
#wcfmmp-store #wcfm_store_header {
  background: var(--vm-bg) !important;
  min-height: auto !important;
  border-bottom: 1px solid var(--vm-border-light);
  display: block;
}

#wcfmmp-store .header_wrapper {
  max-width: 1200px;
  margin: 0 auto !important;
  padding: var(--vm-space-xl) var(--vm-space-lg) !important;
}

#wcfmmp-store .header_area {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--vm-space-lg);
}

/* Kill all spacers */
#wcfmmp-store .spacer {
  display: none !important;
}

/* --- Header left: logo + info --- */
#wcfmmp-store .header_left {
  display: flex !important;
  align-items: center;
  gap: var(--vm-space-lg);
  flex: 1;
  min-width: 0;
  float: none !important;
  position: relative !important;
  margin-left: 0 !important;
  padding: 0 !important;
}

/* Logo — undo the absolute circle nightmare */
#wcfmmp-store .logo_area {
  width: 72px !important;
  height: 72px !important;
  border-radius: 50% !important;
  background: var(--vm-bg) !important;
  box-shadow: var(--vm-shadow-md) !important;
  position: relative !important;
  top: auto !important;
  flex-shrink: 0;
  float: none !important;
  overflow: hidden;
}

#wcfmmp-store .logo_area a img {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border-radius: 50% !important;
}

/* Logo after area (rating) — undo the absolute chaos */
#wcfmmp-store .logo_area_after {
  top: auto !important;
  position: relative !important;
  text-align: left !important;
  left: auto !important;
  display: flex;
  align-items: center;
  gap: var(--vm-space-sm);
}

#wcfmmp-store .wcfmmp_store_mobile_badges {
  display: none !important;
}

/* Star rating fix */
#wcfmmp-store #wcfm_store_header .wcfmmp-store-rating {
  overflow: hidden;
  position: relative !important;
  height: 1.2em;
  line-height: 1.2;
  font-size: 0.85rem;
  width: 5.5em !important;
  display: inline-block !important;
  float: none !important;
}

#wcfmmp-store #wcfm_store_header .wcfmmp-store-rating::before {
  position: relative !important;
  float: none !important;
  top: auto !important;
  left: auto !important;
  display: inline-block !important;
  color: var(--vm-border) !important;
  opacity: 0.5 !important;
}

#wcfmmp-store #wcfm_store_header .wcfmmp-store-rating span {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  float: none !important;
}

#wcfmmp-store #wcfm_store_header .wcfmmp-store-rating span::before {
  color: var(--vm-star) !important;
}

/* --- Address / Store info — undo absolute positioning --- */
#wcfmmp-store .address {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  padding-left: 0 !important;
  width: auto !important;
  float: none !important;
  flex: 1;
  min-width: 0;
}

/* Store title */
#wcfmmp-store h1.wcfm_store_title {
  font-family: var(--vm-font-heading) !important;
  font-size: clamp(1.3rem, 2.5vw, 1.7rem) !important;
  font-weight: 700 !important;
  color: var(--vm-primary) !important;
  margin: 0 0 var(--vm-space-xs) 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
  clear: none !important;
}

/* Contact row */
#wcfmmp-store .header_store_name {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--vm-space-sm) var(--vm-space-lg);
}

#wcfmmp-store div.store_info_parallal {
  font-family: var(--vm-font-ui) !important;
  font-size: 0.82rem !important;
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
  margin: 0 !important;
}

#wcfmmp-store .address i,
#wcfmmp-store .address .header_store_name i {
  font-size: 0.8rem !important;
  color: var(--vm-text-muted) !important;
  line-height: 1 !important;
  display: inline !important;
}

#wcfmmp-store .address span,
#wcfmmp-store .address .header_store_name span {
  font-size: 0.82rem !important;
  color: var(--vm-text-light) !important;
  margin-left: 0 !important;
  line-height: 1.4 !important;
  width: auto !important;
  display: inline !important;
}

#wcfmmp-store .address a {
  color: var(--vm-text-light) !important;
  transition: var(--vm-transition) !important;
}

#wcfmmp-store .address a:hover {
  color: var(--vm-secondary) !important;
}

#wcfmmp-store .address p {
  padding: 0 !important;
}

/* --- Header right: buttons + social --- */
#wcfmmp-store .header_right {
  display: flex !important;
  align-items: center;
  gap: var(--vm-space-md);
  float: none !important;
  text-align: left !important;
  position: relative !important;
}

/* Button area — undo absolute positioning */
#wcfmmp-store .bd_icon_area {
  display: flex !important;
  align-items: center;
  gap: var(--vm-space-sm);
  float: none !important;
  position: relative !important;
  right: auto !important;
  top: auto !important;
  margin: 0 !important;
}

#wcfmmp-store .bd_icon_box {
  float: none !important;
  margin: 0 !important;
}

/* Inquiry button — outlined pill */
#wcfmmp-store .bd_icon_box .wcfm_store_enquiry {
  font-family: var(--vm-font-ui) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 1.2rem !important;
  min-width: auto !important;
  height: auto !important;
  color: var(--vm-primary) !important;
  background: transparent !important;
  border: 1.5px solid var(--vm-primary) !important;
  border-radius: var(--vm-radius-pill) !important;
  transition: var(--vm-transition) !important;
  cursor: pointer;
}

#wcfmmp-store .bd_icon_box .wcfm_store_enquiry i {
  font-size: 0.75rem !important;
  color: inherit !important;
  margin-right: 0 !important;
}

#wcfmmp-store .bd_icon_box .wcfm_store_enquiry span {
  color: inherit !important;
  font-size: inherit !important;
  line-height: 1 !important;
  margin-left: 0 !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  opacity: 1 !important;
  cursor: pointer !important;
}

#wcfmmp-store .bd_icon_box .wcfm_store_enquiry:hover {
  background: var(--vm-primary) !important;
  color: var(--vm-bg) !important;
}

#wcfmmp-store .bd_icon_box .wcfm_store_enquiry:hover i,
#wcfmmp-store .bd_icon_box .wcfm_store_enquiry:hover span {
  color: var(--vm-bg) !important;
}

/* Follow button — text-only link, no bg/border */
#wcfmmp-store .bd_icon_box .follow,
#wcfmmp-store .bd_icon_box a#wcfm_follow_now {
  font-family: var(--vm-font-ui) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 0.6rem !important;
  min-width: auto !important;
  height: auto !important;
  color: var(--vm-text-light) !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  transition: var(--vm-transition) !important;
  cursor: pointer;
}

#wcfmmp-store .bd_icon_box .follow i {
  font-size: 0.75rem !important;
  color: inherit !important;
  margin-right: 0 !important;
}

#wcfmmp-store .bd_icon_box .follow span {
  color: inherit !important;
  font-size: inherit !important;
  line-height: 1 !important;
  margin-left: 0 !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  opacity: 1 !important;
  cursor: pointer !important;
}

#wcfmmp-store .bd_icon_box .follow:hover,
#wcfmmp-store .bd_icon_box a#wcfm_follow_now:hover {
  color: var(--vm-primary) !important;
  background: transparent !important;
}

#wcfmmp-store .bd_icon_box .follow:hover i,
#wcfmmp-store .bd_icon_box .follow:hover span {
  color: var(--vm-primary) !important;
}

/* --- Social area — undo dark box (#212121) --- */
#wcfmmp-store .social_area {
  width: auto !important;
  background: transparent !important;
  min-height: auto !important;
  position: relative !important;
  float: none !important;
}

#wcfmmp-store .social_area ul {
  padding: 0 !important;
  display: flex !important;
  align-items: center;
  gap: var(--vm-space-xs);
  position: relative !important;
  top: auto !important;
  transform: none !important;
  width: auto !important;
}

#wcfmmp-store .social_area ul li {
  padding: 0 !important;
  margin: 0 !important;
  width: 32px !important;
  height: 32px !important;
  background: var(--vm-bg-soft) !important;
  border: 1px solid var(--vm-border-light) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  transition: var(--vm-transition);
}

#wcfmmp-store .social_area ul li a i {
  color: var(--vm-text-light) !important;
  font-size: 0.85rem !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
}

#wcfmmp-store .social_area ul li:hover {
  background: var(--vm-primary) !important;
  border-color: var(--vm-primary) !important;
}

#wcfmmp-store .social_area ul li:hover a i {
  color: var(--vm-bg) !important;
}
/* --- Store tabs navigation --- */
#wcfmmp-store .tab_area .tab_links {
  border-bottom: 2px solid var(--vm-border) !important;
  background: transparent !important;
  padding: 0 !important;
  margin-bottom: var(--vm-space-xl) !important;
  display: flex !important;
  flex-wrap: wrap;
  float: none !important;
  width: 100% !important;
}

#wcfmmp-store .tab_area .tab_links li {
  padding: 0 !important;
  float: none !important;
  border: none !important;
  margin: 0 !important;
  position: relative;
}

#wcfmmp-store .tab_area .tab_links li::after {
  display: none !important;
}

#wcfmmp-store .tab_area .tab_links li a {
  font-family: var(--vm-font-ui) !important;
  font-size: 0.85rem !important;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--vm-text-muted) !important;
  padding: var(--vm-space-sm) var(--vm-space-lg) !important;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: var(--vm-transition) !important;
  display: inline-block !important;
}

#wcfmmp-store .tab_area .tab_links li:hover a {
  color: var(--vm-primary) !important;
}

#wcfmmp-store .tab_area .tab_links li.active {
  border: none !important;
  border-top: none !important;
  background: transparent !important;
}

#wcfmmp-store .tab_area .tab_links li.active a {
  color: var(--vm-primary) !important;
  border-bottom-color: var(--vm-secondary) !important;
  font-weight: 600;
}
/* --- Store sidebar (aside) ---
   Original: width:25%, padding:5% 3% 20% 3%, background:#efefef, border:1px solid #efefef
   Float-based layout. We convert to flexbox child + sticky.
   ------------------------------------------------------------------- */
#wcfmmp-store .left_sidebar {
  font-family: var(--vm-font-ui) !important;
  width: 260px !important;
  min-width: 260px;
  flex-shrink: 0;
  background: var(--vm-bg-soft) !important;
  border: 1px solid var(--vm-border-light) !important;
  border-radius: var(--vm-radius-md) !important;
  padding: var(--vm-space-lg) !important;
  height: auto !important;
  float: none !important;
  /* Sticky */
  position: sticky !important;
  top: 100px !important;
  align-self: flex-start;
  /* Kill original massive bottom padding */
  padding-bottom: var(--vm-space-lg) !important;
}

/* Clearfix kills inside sidebar */
#wcfmmp-store .left_sidebar .spacer,
#wcfmmp-store .left_sidebar .wcfm-clearfix {
  display: none !important;
}

/* --- Sidebar: Store info block (avatar + rating) --- */
#wcfmmp-store .left_sidebar .wcfmmp_store_info {
  margin: 0 0 var(--vm-space-lg) 0 !important;
  padding-bottom: var(--vm-space-md);
  border-bottom: 1px solid var(--vm-border-light);
}

#wcfmmp-store .left_sidebar .wcfmmp_store_info * {
  text-align: center;
}

#wcfmmp-store .left_sidebar .wcfmmp_store_info .star-rating {
  margin: var(--vm-space-xs) auto !important;
}

/* --- Sidebar: Widget blocks --- */
#wcfmmp-store .left_sidebar .widget {
  margin-bottom: var(--vm-space-xl);
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

#wcfmmp-store .left_sidebar .widget:last-child {
  margin-bottom: 0;
}

/* Widget heading */
#wcfmmp-store .sidebar_heading {
  margin-bottom: var(--vm-space-md) !important;
  padding-bottom: var(--vm-space-sm);
  border-bottom: 2px solid var(--vm-secondary);
}

#wcfmmp-store .sidebar_heading h4 {
  font-family: var(--vm-font-heading) !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  color: var(--vm-primary) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
}

/* --- Sidebar: Search widget --- */
#wcfmmp-store .left_sidebar .woocommerce-product-search {
  display: flex !important;
  gap: 0;
  border: 1px solid var(--vm-border);
  border-radius: var(--vm-radius-sm);
  overflow: hidden;
  transition: var(--vm-transition);
}

#wcfmmp-store .left_sidebar .woocommerce-product-search:focus-within {
  border-color: var(--vm-secondary);
  box-shadow: 0 0 0 3px rgba(217, 64, 64, 0.12);
}

#wcfmmp-store .left_sidebar .woocommerce-product-search input[type="search"],
#wcfmmp-store .left_sidebar .woocommerce-product-search .search-field {
  font-family: var(--vm-font-ui) !important;
  font-size: 0.85rem !important;
  padding: 0.6rem 0.9rem !important;
  border: none !important;
  background: var(--vm-bg) !important;
  color: var(--vm-text) !important;
  flex: 1;
  outline: none !important;
  box-shadow: none !important;
  min-width: 0;
  height: auto !important;
  margin: 0 !important;
}

#wcfmmp-store .left_sidebar .woocommerce-product-search input::placeholder {
  color: var(--vm-text-muted);
}

/* Show search button (original hides with display:none) */
#wcfmmp-store .woocommerce-product-search button,
#wcfmmp-store .left_sidebar .woocommerce-product-search button[type="submit"] {
  display: block !important;
  font-family: var(--vm-font-ui) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.6rem 1rem !important;
  background: var(--vm-primary) !important;
  color: var(--vm-bg) !important;
  border: none !important;
  cursor: pointer;
  transition: var(--vm-transition);
  white-space: nowrap;
}

#wcfmmp-store .left_sidebar .woocommerce-product-search button:hover {
  background: var(--vm-secondary) !important;
}

/* --- Sidebar: Categories widget --- */
#wcfmmp-store .categories_list ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#wcfmmp-store .categories_list ul li {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
}

#wcfmmp-store .categories_list ul li a {
  font-family: var(--vm-font-ui) !important;
  font-size: 0.88rem !important;
  color: var(--vm-text) !important;
  text-decoration: none !important;
  display: block;
  padding: 0.5rem 0.7rem;
  border-radius: var(--vm-radius-sm);
  transition: var(--vm-transition);
  line-height: 1.4 !important;
}

#wcfmmp-store .categories_list ul li a:hover {
  background: var(--vm-bg) !important;
  color: var(--vm-secondary) !important;
  padding-left: 1rem;
}

#wcfmmp-store .categories_list ul li a.active {
  color: var(--vm-primary) !important;
  font-weight: 600;
  background: var(--vm-bg) !important;
}

/* Sub-categories indentation */
#wcfmmp-store .categories_list ul li.child_cat { padding-left: 0.6rem !important; }
#wcfmmp-store .categories_list ul li.child2_cat { padding-left: 1.2rem !important; }
#wcfmmp-store .categories_list ul li.child3_cat { padding-left: 1.8rem !important; }

/* --- Sidebar: Store hours --- */
#wcfmmp-store .wcfmmp_store_hours .wcfmmp-store-hours-day {
  color: var(--vm-primary) !important;
  font-family: var(--vm-font-ui) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
}

/* --- Sidebar: Store coupons --- */
#wcfmmp-store .wcfmmp_store_coupons .wcfmmp-store-coupon-single {
  border-color: var(--vm-secondary) !important;
  background-color: rgba(217, 64, 64, 0.06) !important;
  color: var(--vm-text) !important;
  font-family: var(--vm-font-ui) !important;
  font-size: 0.85rem !important;
  border-radius: var(--vm-radius-sm);
}

/* --- Sidebar: Social links (sidebar version) --- */
#wcfmmp-store .left_sidebar .wcfmmp_store_info_store_social ul {
  padding: 0 !important;
  display: flex !important;
  justify-content: center;
  gap: var(--vm-space-xs);
}

#wcfmmp-store .left_sidebar .wcfmmp_store_info_store_social ul li {
  padding: 0 !important;
  margin: 0 !important;
  width: 30px !important;
  height: 30px !important;
  background: var(--vm-bg) !important;
  border: 1px solid var(--vm-border-light) !important;
  border-radius: 50% !important;
}

#wcfmmp-store .left_sidebar .wcfmmp_store_info_store_social ul li:hover {
  background: var(--vm-primary) !important;
  border-color: var(--vm-primary) !important;
}

#wcfmmp-store .left_sidebar .wcfmmp_store_info_store_social ul li:hover a i {
  color: var(--vm-bg) !important;
}

/* --- Sidebar: Product list widget --- */
#wcfmmp-store .left_sidebar ul.product_list_widget li {
  padding: var(--vm-space-sm) 0 var(--vm-space-sm) 60px !important;
  min-height: 60px;
  border-bottom: 1px solid var(--vm-border-light);
}

#wcfmmp-store .left_sidebar ul.product_list_widget li:last-child {
  border-bottom: none;
}

#wcfmmp-store .left_sidebar ul.product_list_widget li img {
  width: 44px !important;
  height: 44px !important;
  border-radius: var(--vm-radius-sm);
}

#wcfmmp-store .left_sidebar ul.product_list_widget li a {
  font-family: var(--vm-font-ui) !important;
  font-size: 0.85rem !important;
  color: var(--vm-text) !important;
  line-height: 1.3 !important;
}

#wcfmmp-store .left_sidebar ul.product_list_widget li a:hover {
  color: var(--vm-secondary) !important;
}
/* --- Store layout: sidebar + content area ---
   REAL DOM (from Berry Clean Soaps store):
   .body_area
     > .rgt.right_side        (comes FIRST in DOM)
     >   .tab_area > ... > .products-wrapper > ul.products.columns-4
     > .lft.left_sidebar       (comes SECOND in DOM)
   
   There is NO .padding_section wrapper. The container is .body_area.
   There is NO .woocommerce div wrapping ul.products.
   ------------------------------------------------------------------- */
#wcfmmp-store .body_area {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start;
  gap: var(--vm-space-xl);
  padding: 0 var(--vm-space-lg) !important;
  max-width: 1200px;
  margin: 0 auto;
}

/* Sidebar always first visually (left), regardless of DOM order */
#wcfmmp-store .body_area > .left_sidebar {
  order: -1 !important;
  float: none !important;
}

/* Kill the .lft/.rgt floats that WCFM puts on layout children */
#wcfmmp-store .body_area > .lft,
#wcfmmp-store .body_area > .rgt {
  float: none !important;
}

/* Kill spacers inside body_area */
#wcfmmp-store .body_area > .spacer,
#wcfmmp-store .body_area > .wcfm-clearfix {
  display: none !important;
}

/* Kill clearfix after body_area */
#wcfmmp-store .body_area + .wcfm-clearfix {
  display: none !important;
}

/* Style the result count and ordering form inside products */
#wcfmmp-store .woocommerce-result-count {
  font-family: var(--vm-font-ui) !important;
  font-size: 0.82rem !important;
  color: var(--vm-text-muted) !important;
  margin-bottom: var(--vm-space-md) !important;
}

#wcfmmp-store .woocommerce-ordering select.orderby {
  font-family: var(--vm-font-ui) !important;
  font-size: 0.82rem !important;
  padding: 0.4rem 0.7rem !important;
  border: 1px solid var(--vm-border) !important;
  border-radius: var(--vm-radius-sm) !important;
  background: var(--vm-bg) !important;
  color: var(--vm-text) !important;
}

/* Tab area clearfix kill */
#wcfmmp-store .tab_area > .wcfm-clearfix {
  display: none !important;
}

#wcfmmp-store .right_side {
  flex: 1 !important;
  width: auto !important;
  min-width: 0;
  padding: var(--vm-space-lg) 0 !important;
  float: none !important;
  order: 1;
}

#wcfmmp-store .right_side_full {
  width: 100% !important;
  padding: var(--vm-space-lg) 0 !important;
  float: none !important;
}

/* Also target .padding_section if some store configs use it */
#wcfmmp-store .body_area, #wcfmmp-store .padding_section {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start;
  gap: var(--vm-space-xl);
  padding: 0 var(--vm-space-lg) !important;
  max-width: 1200px;
  margin: 0 auto;
}

#wcfmmp-store .padding_section > .left_sidebar {
  order: -1 !important;
  float: none !important;
}

#wcfmmp-store .padding_section > .lft,
#wcfmmp-store .padding_section > .rgt {
  float: none !important;
}
/* --- Store product grid ---
   REAL DOM: .products-wrapper > ul.products.columns-4
   There is NO .woocommerce div wrapping ul.products inside the store.
   We must target ul.products directly under #wcfmmp-store.
   ------------------------------------------------------------------- */
#wcfmmp-store ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--vm-space-lg);
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

/* Override WooCommerce .columns-4 float-based widths */
#wcfmmp-store ul.products.columns-4,
#wcfmmp-store ul.products.columns-3,
#wcfmmp-store ul.products[class*="columns-"] {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--vm-space-lg);
}

#wcfmmp-store ul.products li.product {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  padding: 0 !important;
}

/* Also fight .woocommerce wrapper context specificity */
.woocommerce #wcfmmp-store ul.products li.product,
.woocommerce-page #wcfmmp-store ul.products li.product {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}

/* WCFM's own .product_box grid (non-WooCommerce fallback) */
#wcfmmp-store .product_area {
  margin: 0 !important;
}

#wcfmmp-store .product_box {
  width: calc(33.33% - 16px) !important;
  margin: 8px !important;
  float: left !important;
  text-align: center;
}

/* When .product_area contains ul.products, the grid handles it */
#wcfmmp-store .product_area .products-wrapper,
#wcfmmp-store .product_area .woocommerce {
  width: 100%;
}

/* Product title in store grid */
#wcfmmp-store ul.products li.product h2 {
  font-family: var(--vm-font-heading) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  margin: 0 !important;
  padding: var(--vm-space-sm) var(--vm-space-md) var(--vm-space-xs) !important;
  line-height: 1.4;
}

#wcfmmp-store h2.woocommerce-loop-product__title {
  font-size: 0.95rem !important;
}

/* Product image in store grid */
#wcfmmp-store ul.products li.product img {
  margin-bottom: 0 !important;
}

/* Product text styling */
#wcfmmp-store .product_text {
  font-family: var(--vm-font-ui) !important;
  color: var(--vm-text-light) !important;
  transition: var(--vm-transition);
}

#wcfmmp-store .product_box:hover .product_text {
  background: var(--vm-primary) !important;
}

/* Fix product area list items */
#wcfmmp-store .product_area ul li {
  padding: 0 !important;
}

#wcfmmp-store .product_area .products-wrapper ul li.product {
  padding: 0 !important;
  margin-bottom: 0 !important;
}
/* --- Store description / policies / reviews panels ---
   Original: box-shadow:0 0 4px 0 #ccc, padding:30px
   ------------------------------------------------------------------- */
#wcfmmp-store .wcfm_store_description,
#wcfmmp-store .policies_area,
#wcfmmp-store .reviews_area {
  box-shadow: none !important;
  border: 1px solid var(--vm-border-light);
  border-radius: var(--vm-radius-md);
  padding: var(--vm-space-xl) !important;
  margin: var(--vm-space-lg) 0 !important;
}

#wcfmmp-store .reviews_heading,
#wcfmmp-store .wcfm_policies_heading {
  font-family: var(--vm-font-heading) !important;
  font-size: 1.1rem !important;
  color: var(--vm-primary) !important;
  border-bottom-color: var(--vm-border-light) !important;
}

#wcfmmp-store .reviews_heading a {
  color: var(--vm-secondary) !important;
}

#wcfmmp-store .reviews_heading a:hover {
  color: var(--vm-primary) !important;
}

/* Review buttons */
#wcfmmp-store .add_review button {
  background: var(--vm-primary) !important;
  font-family: var(--vm-font-ui) !important;
  border-radius: var(--vm-radius-sm) !important;
}

#wcfmmp-store .add_review button:hover {
  background: var(--vm-secondary) !important;
}

#wcfmmp-store .reply_bt button:hover {
  background: var(--vm-primary) !important;
}

#wcfmmp-store .reviews_count a {
  color: var(--vm-secondary) !important;
}

#wcfmmp-store .user_rated {
  background: var(--vm-primary) !important;
}
/* --- Store paginations ---
   Original: ul width:217px fixed, li float:left, active bg:#17a2b8
   ------------------------------------------------------------------- */
#wcfmmp-store .paginations {
  padding-bottom: var(--vm-space-xl) !important;
}

#wcfmmp-store .paginations ul {
  width: auto !important;
  display: flex !important;
  justify-content: center;
  gap: var(--vm-space-xs);
  padding: 0 !important;
}

#wcfmmp-store .paginations ul li {
  padding: 0 !important;
  float: none !important;
}

#wcfmmp-store .paginations ul li a,
#wcfmmp-store .paginations ul li span {
  font-family: var(--vm-font-ui) !important;
  font-size: 0.85rem !important;
  padding: 0.5rem 0.85rem !important;
  background: var(--vm-bg) !important;
  color: var(--vm-text-light) !important;
  border: 1px solid var(--vm-border) !important;
  border-radius: var(--vm-radius-sm) !important;
  width: auto !important;
  height: auto !important;
  line-height: 1.4 !important;
  min-width: 38px;
  text-align: center;
  transition: var(--vm-transition);
  display: inline-block !important;
}

#wcfmmp-store .paginations ul li a:hover {
  background: var(--vm-bg-soft) !important;
  color: var(--vm-primary) !important;
  border-color: var(--vm-primary) !important;
}

#wcfmmp-store .paginations ul li a.active,
#wcfmmp-store .paginations ul li span.current {
  background: var(--vm-primary) !important;
  color: var(--vm-bg) !important;
  border-color: var(--vm-primary) !important;
  font-weight: 600;
}

#wcfmmp-store .paginations ul li:first-child a,
#wcfmmp-store .paginations ul li:last-child a {
  background: var(--vm-bg) !important;
}
/* ==========================================================================
   7. PRODUCT CARDS (shared grid styling)
   ========================================================================== */

.woocommerce ul.products li.product,
#wcfmmp-store ul.products li.product {
  background: var(--vm-bg);
  border: 1px solid var(--vm-border-light);
  border-radius: var(--vm-radius-md);
  padding: 0;
  overflow: hidden;
  transition: var(--vm-transition);
  position: relative;
}

.woocommerce ul.products li.product:hover,
#wcfmmp-store ul.products li.product:hover {
  border-color: var(--vm-border);
  box-shadow: var(--vm-shadow-hover);
  transform: translateY(-3px);
}

/* Product card image */
.woocommerce ul.products li.product a img,
#wcfmmp-store ul.products li.product a img {
  border-radius: var(--vm-radius-md) var(--vm-radius-md) 0 0;
  transition: var(--vm-transition-slow);
}

.woocommerce ul.products li.product:hover a img {
  transform: scale(1.03);
}

/* Product card content wrapper */
.woocommerce ul.products li.product a .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
#wcfmmp-store ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--vm-font-heading) !important;
  font-size: 0.95rem !important;
  font-weight: 500;
  color: var(--vm-primary);
  padding: var(--vm-space-sm) var(--vm-space-md) var(--vm-space-xs);
  line-height: 1.4;
  transition: var(--vm-transition);
}

.woocommerce ul.products li.product:hover .woocommerce-loop-product__title {
  color: var(--vm-secondary);
}

/* Product card price */
.woocommerce ul.products li.product .price,
#wcfmmp-store ul.products li.product .price {
  font-family: var(--vm-font-body);
  font-size: 1rem;
  font-weight: 700;
  color: var(--vm-primary);
  padding: 0 var(--vm-space-md) var(--vm-space-sm);
}

.woocommerce ul.products li.product .price del {
  color: var(--vm-text-muted);
  font-weight: 400;
  font-size: 0.85rem;
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none;
  color: var(--vm-sale);
}

/* --- Sale badge --- */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
  font-family: var(--vm-font-ui);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background-color: var(--vm-sale) !important;
  color: var(--vm-bg) !important;
  border-radius: var(--vm-radius-pill);
  padding: 0.3rem 0.8rem;
  min-height: auto;
  min-width: auto;
  line-height: 1.4;
  top: var(--vm-space-sm);
  left: var(--vm-space-sm);
  right: auto;
}

/* --- Add to cart button in grid --- */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button,
#wcfmmp-store ul.products li.product .button {
  font-family: var(--vm-font-ui) !important;
  font-size: 0.78rem !important;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.6rem 1.4rem !important;
  margin: 0 var(--vm-space-md) var(--vm-space-md);
  background-color: var(--vm-primary) !important;
  color: var(--vm-bg) !important;
  border: 1.5px solid var(--vm-primary) !important;
  border-radius: var(--vm-radius-pill) !important;
  transition: var(--vm-transition) !important;
  display: inline-block;
}

.woocommerce ul.products li.product .button:hover,
#wcfmmp-store ul.products li.product .button:hover {
  background-color: var(--vm-secondary) !important;
  border-color: var(--vm-secondary) !important;
  color: var(--vm-bg) !important;
}

/* --- Store badge inside product cards --- */
.woocommerce ul.products li.product .wcfmmp_sold_by_container,
.woocommerce ul.products li.product .wcfm-clearfix {
  font-family: var(--vm-font-ui);
  font-size: 0.78rem;
  color: var(--vm-text-muted);
  padding: 0 var(--vm-space-md);
}

.woocommerce ul.products li.product .wcfmmp_sold_by_container a {
  font-weight: 600;
  color: var(--vm-text-light);
}

.woocommerce ul.products li.product .wcfmmp_sold_by_container img {
  width: 14px !important;
  height: 14px !important;
  vertical-align: middle;
  margin-right: 3px;
}

/* --- Star rating in cards --- */
.woocommerce ul.products li.product .star-rating {
  font-size: 0.75rem;
  color: var(--vm-star);
  margin: 0 var(--vm-space-md) var(--vm-space-xs);
}

/* --- Placeholder image override --- */
.woocommerce ul.products li.product img[src*="woocommerce-placeholder"],
#wcfmmp-store ul.products li.product img[src*="woocommerce-placeholder"] {
  background: var(--vm-bg-warm);
  opacity: 0.7;
}
/* ==========================================================================
   8. PAGINATION
   ========================================================================== */

.woocommerce nav.woocommerce-pagination,
#wcfmmp-store .woocommerce-pagination {
  margin-top: var(--vm-space-2xl);
  padding-top: var(--vm-space-lg);
  border-top: 1px solid var(--vm-border-light);
}

.woocommerce nav.woocommerce-pagination ul,
#wcfmmp-store .woocommerce-pagination ul {
  border: none !important;
  display: flex;
  justify-content: center;
  gap: var(--vm-space-xs);
}

.woocommerce nav.woocommerce-pagination ul li,
#wcfmmp-store .woocommerce-pagination ul li {
  border: none !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
#wcfmmp-store .woocommerce-pagination ul li a,
#wcfmmp-store .woocommerce-pagination ul li span {
  font-family: var(--vm-font-ui) !important;
  font-size: 0.85rem;
  font-weight: 500;
  padding: 0.5rem 0.85rem !important;
  background: var(--vm-bg) !important;
  color: var(--vm-text-light) !important;
  border: 1px solid var(--vm-border) !important;
  border-radius: var(--vm-radius-sm) !important;
  transition: var(--vm-transition) !important;
  min-width: 38px;
  text-align: center;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--vm-bg-soft) !important;
  color: var(--vm-primary) !important;
  border-color: var(--vm-primary) !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--vm-primary) !important;
  color: var(--vm-bg) !important;
  border-color: var(--vm-primary) !important;
  font-weight: 600;
}

/* WCFM store pagination (may use different markup) */
#wcfmmp-store .page-numbers,
.wcfmmp-store-page .page-numbers {
  font-family: var(--vm-font-ui);
  font-size: 0.85rem;
  padding: 0.5rem 0.85rem;
  color: var(--vm-text-light);
  border: 1px solid var(--vm-border);
  border-radius: var(--vm-radius-sm);
  text-decoration: none;
  transition: var(--vm-transition);
  display: inline-block;
  min-width: 38px;
  text-align: center;
}

#wcfmmp-store .page-numbers:hover {
  background: var(--vm-bg-soft);
  color: var(--vm-primary);
  border-color: var(--vm-primary);
}

#wcfmmp-store .page-numbers.current {
  background: var(--vm-primary);
  color: var(--vm-bg);
  border-color: var(--vm-primary);
  font-weight: 600;
}
/* ==========================================================================
   9. BUTTONS & FORM ELEMENTS (global overrides)
   ========================================================================== */

/* Generic WooCommerce buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  font-family: var(--vm-font-ui);
  border-radius: var(--vm-radius-pill);
  transition: var(--vm-transition);
}

/* WooCommerce messages / notices */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
  font-family: var(--vm-font-ui);
  border-radius: var(--vm-radius-sm);
  font-size: 0.9rem;
}

.woocommerce .woocommerce-message {
  border-top-color: var(--vm-success);
}

.woocommerce .woocommerce-message::before {
  color: var(--vm-success);
}

/* ==========================================================================
   10. RESPONSIVE OVERRIDES
   ==========================================================================
   WCFM responsive CSS re-applies absolute positioning, floats, dark 
   backgrounds, and teal (#17a2b8) at TEN breakpoints:
   1200, 1024, 960, 768, 736, 667, 627, 568, 540, 480
   
   We neutralize EVERY one. The "immunity block" inside each breakpoint
   re-asserts our flexbox layout, position:relative, and brand colors
   to prevent WCFM from reverting our work.
   ========================================================================== */
/* ── 1200px ── (WCFM: wrapper width) ──────────────────────────────────── */
@media screen and (max-width: 1200px) {
  #wcfmmp-store .header_wrapper {
    max-width: 100% !important;
    padding: var(--vm-space-xl) var(--vm-space-lg) !important;
  }
}
/* ── 1024px ── (WCFM: sidebar 100%, logo top:-70px, logo_area_after 
   absolute, header_left/right width:100%, address float:left width:80%,
   social_area absolute top:0 right:10px) ──────────────────────────────── */
@media screen and (max-width: 1024px) {

  /* Layout: sidebar below content */
  #wcfmmp-store .body_area, #wcfmmp-store .padding_section {
    flex-direction: column !important;
    flex-wrap: wrap !important;
  }

  #wcfmmp-store .left_sidebar {
    width: 100% !important;
    min-width: 0 !important;
    margin-top: var(--vm-space-xl) !important;
    position: relative !important;
    top: auto !important;
    order: 2 !important;
  }

  #wcfmmp-store .right_side {
    width: 100% !important;
    padding: var(--vm-space-lg) 0 !important;
    order: 1 !important;
  }

  /* Grid: 3 cols still works on tablet */
  #wcfmmp-store ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  /* ─ IMMUNITY: header ─ */
  #wcfmmp-store .header_left {
    display: flex !important;
    align-items: center;
    gap: var(--vm-space-lg);
    flex-wrap: wrap;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #wcfmmp-store .logo_area {
    width: 72px !important;
    height: 72px !important;
    position: relative !important;
    top: auto !important;
    float: none !important;
  }

  #wcfmmp-store .logo_area_after {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    text-align: left !important;
  }

  #wcfmmp-store .address {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    float: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    transform: none !important;
  }

  #wcfmmp-store .header_right {
    display: flex !important;
    align-items: center;
    gap: var(--vm-space-md);
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #wcfmmp-store .bd_icon_area {
    display: flex !important;
    align-items: center;
    gap: var(--vm-space-sm);
    position: relative !important;
    top: auto !important;
    right: auto !important;
    float: none !important;
    margin: 0 !important;
  }

  /* ─ IMMUNITY: social ─ */
  #wcfmmp-store .social_area {
    width: auto !important;
    background: transparent !important;
    min-height: auto !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    float: none !important;
    margin-top: 0 !important;
    z-index: auto !important;
  }

  #wcfmmp-store .social_area ul {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    display: flex !important;
    text-align: left !important;
    width: auto !important;
    padding: 0 !important;
  }

  #wcfmmp-store .social_area ul li {
    margin-top: 0 !important;
  }
}
/* ── 960px ── (WCFM: address position:relative top:0 left:0 + 
   padding-left:10px margin-left:10px, bd_icon_box relative) ───────── */
@media screen and (max-width: 960px) {
  #wcfmmp-store .address {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
  }

  #wcfmmp-store .bd_icon_box {
    position: relative !important;
    margin: 0 !important;
  }
}
/* ── 768px ── (WCFM: repeats 1024 damage — logo top:-70px, 
   logo_area_after absolute, etc.) ────────────────────────────────────── */
@media screen and (max-width: 768px) {

  /* ─ WooCommerce product page ─ */
  .woocommerce .woocommerce-breadcrumb {
    font-size: 0.75rem;
    padding: var(--vm-space-sm) 0;
    margin-bottom: var(--vm-space-md);
  }

  .woocommerce div.product .product_title {
    font-size: 1.3rem;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs {
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar {
    display: none;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    white-space: nowrap;
    font-size: 0.78rem;
    padding: var(--vm-space-xs) var(--vm-space-md);
  }

  .woocommerce div.product .single_add_to_cart_button {
    width: 100% !important;
    text-align: center;
  }

  /* WooCommerce grid: 2 columns */
  .woocommerce ul.products[class*="columns-"] li.product {
    width: 48% !important;
    margin-right: 4% !important;
  }
  .woocommerce ul.products[class*="columns-"] li.product:nth-child(2n) {
    margin-right: 0 !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.85rem !important;
  }
  .woocommerce ul.products li.product .price {
    font-size: 0.9rem;
  }

  /* ─ Store grid: 2 columns ─ */
  #wcfmmp-store ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: var(--vm-space-md);
  }

  #wcfmmp-store .product_box {
    width: calc(50% - 16px) !important;
  }

  /* ─ Store tabs: horizontal scroll (NOT stack) ─ */
  #wcfmmp-store .tab_area .tab_links {
    overflow-x: auto;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch;
    display: flex !important;
    border-bottom: 2px solid var(--vm-border) !important;
    margin-bottom: var(--vm-space-xl) !important;
    float: none !important;
    width: 100% !important;
  }

  #wcfmmp-store .tab_area .tab_links li {
    width: auto !important;
    border: none !important;
    margin: 0 !important;
    float: none !important;
  }

  #wcfmmp-store .tab_area .tab_links li a {
    white-space: nowrap;
    font-size: 0.78rem !important;
    padding: var(--vm-space-xs) var(--vm-space-md) !important;
    display: inline-block !important;
  }

  #wcfmmp-store .tab_area .tab_links li.active {
    border: none !important;
    border-top: none !important;
  }

  #wcfmmp-store .tab_area .tab_links li.active a {
    border-bottom: 2px solid var(--vm-secondary) !important;
  }

  /* ─ IMMUNITY: header — re-assert against WCFM 768 damage ─ */
  #wcfmmp-store #wcfm_store_header .header_wrapper {
    padding: var(--vm-space-lg) var(--vm-space-md) !important;
  }

  #wcfmmp-store .header_area {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  #wcfmmp-store .header_left {
    display: flex !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    float: none !important;
  }

  #wcfmmp-store .logo_area {
    width: 64px !important;
    height: 64px !important;
    position: relative !important;
    top: auto !important;
    float: none !important;
    display: block !important;
  }

  #wcfmmp-store .logo_area_after {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    text-align: left !important;
  }

  #wcfmmp-store .address {
    width: auto !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    float: none !important;
    transform: none !important;
  }

  #wcfmmp-store .address span {
    font-size: 0.8rem !important;
    display: inline !important;
  }

  #wcfmmp-store h1.wcfm_store_title {
    font-size: 1.3rem !important;
  }

  #wcfmmp-store .header_right {
    display: flex !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    float: none !important;
    flex-wrap: wrap;
  }

  #wcfmmp-store .bd_icon_area {
    display: flex !important;
    position: relative !important;
    top: auto !important;
    float: none !important;
    margin: 0 !important;
    width: auto !important;
  }

  #wcfmmp-store .bd_icon_box {
    margin: 0 !important;
    position: relative !important;
  }

  /* Keep button text visible (WCFM hides at some breakpoints) */
  #wcfmmp-store .bd_icon_box .wcfm_store_enquiry span,
  #wcfmmp-store .bd_icon_box .follow span {
    display: inline !important;
    font-size: 0.75rem !important;
  }

  #wcfmmp-store .bd_icon_box .wcfm_store_enquiry,
  #wcfmmp-store .bd_icon_box .follow {
    padding: 0.4rem 0.8rem !important;
    height: auto !important;
  }

  /* ─ IMMUNITY: social ─ */
  #wcfmmp-store .social_area {
    width: auto !important;
    background: transparent !important;
    min-height: auto !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    float: none !important;
    margin-top: 0 !important;
  }

  #wcfmmp-store .social_area ul {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    padding: 0 !important;
    display: flex !important;
    text-align: left !important;
    width: auto !important;
  }

  #wcfmmp-store .social_area ul li {
    width: 28px !important;
    height: 28px !important;
    margin-top: 0 !important;
  }

  #wcfmmp-store .social_area ul li a i {
    font-size: 0.75rem !important;
  }

  /* Store banner shorter */
  #wcfmmp-store .banner_img {
    max-height: 180px !important;
    height: 180px !important;
  }

  /* Reviews area */
  #wcfmmp-store .reviews_area {
    padding: 20px !important;
  }

  /* Panels */
  #wcfmmp-store .wcfm_store_description,
  #wcfmmp-store .policies_area {
    padding: var(--vm-space-lg) !important;
  }

  /* WooCommerce pagination tighter */
  .woocommerce nav.woocommerce-pagination ul li a,
  .woocommerce nav.woocommerce-pagination ul li span {
    padding: 0.4rem 0.65rem !important;
    font-size: 0.8rem;
    min-width: 34px;
  }
}
/* ── 736px ── (WCFM: bd_icon_area float:left position:relative top:0,
   social_area position:relative float:right, button text 12px,
   button padding shrunk to 0 5px) ────────────────────────────────────── */
@media screen and (max-width: 736px) {
  #wcfmmp-store .bd_icon_area {
    float: none !important;
    position: relative !important;
    top: auto !important;
    display: flex !important;
    margin: 0 !important;
  }

  #wcfmmp-store .social_area {
    position: relative !important;
    float: none !important;
    right: auto !important;
    margin-top: 0 !important;
  }

  #wcfmmp-store .social_area ul li {
    margin-top: 0 !important;
  }

  #wcfmmp-store .bd_icon_box {
    margin-bottom: 0 !important;
  }

  /* Override WCFM's cramped padding */
  #wcfmmp-store .bd_icon_box .follow,
  #wcfmmp-store .bd_icon_box .wcfm_store_enquiry {
    padding: 0.4rem 0.8rem !important;
  }

  #wcfmmp-store .bd_icon_box span {
    font-size: 0.75rem !important;
    line-height: 1 !important;
  }
}
/* ── 667px ── (WCFM: address width:82%, button height:28px, 
   follow/chat span display:none, transforms re-applied) ──────────── */
@media screen and (max-width: 667px) {
  #wcfmmp-store .address {
    width: auto !important;
  }

  #wcfmmp-store .bd_icon_box {
    margin-right: 0 !important;
  }

  #wcfmmp-store .bd_icon_box .follow,
  #wcfmmp-store .bd_icon_box .wcfm_store_enquiry {
    height: auto !important;
  }

  /* WCFM hides follow span — we keep it */
  #wcfmmp-store .bd_icon_box .follow span,
  #wcfmmp-store .bd_icon_box .wcfm_store_enquiry span {
    display: inline !important;
    position: relative !important;
    margin-left: 0 !important;
    transform: none !important;
    opacity: 1 !important;
  }

  #wcfmmp-store .bd_icon_box .follow i {
    margin-right: 0 !important;
  }
}
/* ── 627px ── (WCFM: social tiny 20px circles, 10px font, 
   transform:translateY(10%), bd_icon_area margin-top:2px) ────────── */
@media screen and (max-width: 627px) {
  #wcfmmp-store .header_right {
    width: 100% !important;
  }

  #wcfmmp-store .bd_icon_area {
    float: none !important;
    margin-top: 0 !important;
    display: flex !important;
  }

  #wcfmmp-store .social_area {
    float: none !important;
    margin-top: 0 !important;
  }

  /* Override WCFM's tiny social icons — keep ours */
  #wcfmmp-store .social_area ul {
    transform: none !important;
    padding: 0 !important;
  }

  #wcfmmp-store .social_area ul li {
    width: 28px !important;
    height: 28px !important;
    background: var(--vm-bg-soft) !important;
    border: 1px solid var(--vm-border-light) !important;
  }

  #wcfmmp-store .social_area ul li a i {
    font-size: 0.75rem !important;
    color: var(--vm-text-light) !important;
  }

  #wcfmmp-store .social_area ul li:hover {
    background: var(--vm-primary) !important;
    border-color: var(--vm-primary) !important;
  }

  #wcfmmp-store .social_area ul li:hover a i {
    color: var(--vm-bg) !important;
  }

  /* Store banner shorter */
  #wcfmmp-store .banner_img {
    max-height: 160px !important;
    height: 160px !important;
  }
}
/* ── 568px ── (WCFM: address span font-size:12px) ────────────────── */
@media screen and (max-width: 568px) {
  #wcfmmp-store .address span {
    font-size: 0.78rem !important;
    line-height: 1.3 !important;
  }
}
/* ── 540px ── (WCFM: address width:78%) ──────────────────────────── */
@media screen and (max-width: 540px) {
  #wcfmmp-store .address {
    width: auto !important;
  }

  #wcfmmp-store .banner_img {
    max-height: 140px !important;
    height: 140px !important;
  }
}
/* ── 480px ── (WCFM: THE BIG ONE — logo float:none inline-block, 
   logo_area_after left:40%, address width:100%, tabs stacked vertically 
   with border-left:4px solid #17a2b8, product_box width:98%) ──────── */
@media screen and (max-width: 480px) {

  /* Single column products everywhere */
  .woocommerce ul.products[class*="columns-"] li.product {
    width: 100% !important;
    margin-right: 0 !important;
  }

  #wcfmmp-store ul.products {
    grid-template-columns: 1fr !important;
  }

  #wcfmmp-store .product_box {
    width: 100% !important;
    float: none !important;
    margin: 0 0 var(--vm-space-md) 0 !important;
  }

  /* ─ IMMUNITY: header at 480 ─ */
  #wcfmmp-store #wcfm_store_header {
    padding-bottom: var(--vm-space-md) !important;
  }

  #wcfmmp-store .header_left {
    text-align: left !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
  }

  #wcfmmp-store .logo_area {
    width: 56px !important;
    height: 56px !important;
    float: none !important;
    display: block !important;
    margin-bottom: 0 !important;
    position: relative !important;
    top: auto !important;
  }

  #wcfmmp-store .logo_area_after {
    left: auto !important;
    position: relative !important;
    top: auto !important;
    text-align: left !important;
  }

  #wcfmmp-store .address {
    width: 100% !important;
    border-left: 0 !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    float: none !important;
  }

  #wcfmmp-store .address span {
    display: inline !important;
  }

  #wcfmmp-store h1.wcfm_store_title {
    font-size: 1.1rem !important;
  }

  #wcfmmp-store .header_right {
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #wcfmmp-store .bd_icon_box .follow {
    line-height: 1 !important;
  }

  /* ─ CRITICAL: prevent WCFM from stacking tabs vertically ─
     Original 480px CSS does:
       li { width:100%; border-bottom:1px solid #93a8b3 }
       li.active { border-left:4px solid #17a2b8 }
     We keep our horizontal scroll design. */
  #wcfmmp-store .tab_area .tab_links {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    margin-bottom: var(--vm-space-lg) !important;
    border-bottom: 2px solid var(--vm-border) !important;
  }

  #wcfmmp-store .tab_area .tab_links li {
    width: auto !important;
    border: none !important;
    border-bottom: none !important;
    border-left: none !important;
    margin: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
  }

  #wcfmmp-store .tab_area .tab_links li:hover,
  #wcfmmp-store .tab_area .tab_links li.active {
    border: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-top: none !important;
  }

  #wcfmmp-store .tab_area .tab_links li.active a {
    color: var(--vm-primary) !important;
    border-bottom: 2px solid var(--vm-secondary) !important;
    font-weight: 600;
  }

  #wcfmmp-store .tab_area .tab_links li a {
    display: inline-block !important;
    white-space: nowrap;
    color: var(--vm-text-muted) !important;
  }

  /* Store paginations */
  #wcfmmp-store .paginations ul li {
    padding: 0 !important;
  }

  #wcfmmp-store .paginations ul li:first-child,
  #wcfmmp-store .paginations ul li:last-child {
    padding: 0 !important;
  }
}