/*
 * MenuCard modern restaurant menu
 * Loaded only on WCFM restaurant/store pages by Menucard City Manager Pro.
 * Kept outside WCFM so marketplace updates cannot overwrite it.
 */
/* MenuCard modern restaurant menu — restaurant store pages only */
#wcfmmp-store,
#wcfmmp-store #wcfmmp-store-content,
#wcfmmp-store .right_side,
#wcfmmp-store .product_area,
#wcfmmp-store #products-wrapper,
#wcfmmp-store ul.products,
#wcfmmp-store ul.products li.product {
  background: transparent !important;
}

#wcfmmp-store,
#wcfmmp-store button,
#wcfmmp-store input,
#wcfmmp-store select,
#wcfmmp-store textarea {
  font-family: "Manrope", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
}

#wcfmmp-store .product_area {
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

#wcfmmp-store #products-wrapper {
  padding: 8px 0 24px !important;
  border: 0 !important;
  box-shadow: none !important;
}

#wcfmmp-store ul.products {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#wcfmmp-store ul.products::before,
#wcfmmp-store ul.products::after {
  display: none !important;
  content: none !important;
}

#wcfmmp-store ul.products li.product,
#wcfmmp-store ul.products li.product.type-product {
  float: none !important;
  clear: both !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 12px 4px !important;
  border: 0 !important;
  border-bottom: 1px solid #e9edf2 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: left !important;
}

#wcfmmp-store ul.products li.product:last-child {
  border-bottom: 0 !important;
}

/* Remove every product-image surface while preserving links and cart actions. */
#wcfmmp-store ul.products li.product img,
#wcfmmp-store ul.products li.product .attachment-woocommerce_thumbnail,
#wcfmmp-store ul.products li.product .woocommerce-loop-product__link > picture,
#wcfmmp-store ul.products li.product .product-thumbnail,
#wcfmmp-store ul.products li.product .product-image,
#wcfmmp-store ul.products li.product .image-fade_in_back,
#wcfmmp-store ul.products li.product .box-image,
#wcfmmp-store ul.products li.product .product-small .box-image {
  display: none !important;
}

#wcfmmp-store ul.products li.product .woocommerce-loop-product__link {
  display: contents !important;
  color: inherit !important;
  text-decoration: none !important;
}

#wcfmmp-store ul.products li.product .woocommerce-loop-product__title,
#wcfmmp-store ul.products li.product h2,
#wcfmmp-store ul.products li.product h3,
#wcfmmp-store ul.products li.product .product-title {
  grid-column: 1 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #172033 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.15px !important;
  text-transform: none !important;
}

#wcfmmp-store ul.products li.product .price {
  grid-column: 2 !important;
  justify-self: end !important;
  white-space: nowrap !important;
  margin: 0 !important;
  color: #111827 !important;
  font-size: 15px !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
}

#wcfmmp-store ul.products li.product .price del {
  color: #8a94a3 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  opacity: 1 !important;
}

#wcfmmp-store ul.products li.product .price ins {
  color: #111827 !important;
  font-weight: 750 !important;
  text-decoration: none !important;
}

#wcfmmp-store ul.products li.product .button,
#wcfmmp-store ul.products li.product .added_to_cart,
#wcfmmp-store ul.products li.product a.add_to_cart_button,
#wcfmmp-store ul.products li.product a.product_type_simple,
#wcfmmp-store ul.products li.product a.product_type_variable {
  grid-column: 3 !important;
  justify-self: end !important;
  align-self: center !important;
  min-width: 76px !important;
  margin: 0 !important;
  padding: 9px 14px !important;
  border: 1px solid #d8dee8 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04) !important;
  color: #172033 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

#wcfmmp-store ul.products li.product .button:hover,
#wcfmmp-store ul.products li.product .added_to_cart:hover {
  border-color: #b8c2d1 !important;
  background: #f8fafc !important;
}

#wcfmmp-store ul.products li.product .star-rating,
#wcfmmp-store ul.products li.product .onsale,
#wcfmmp-store ul.products li.product .wcfmmp_sold_by_container,
#wcfmmp-store ul.products li.product .wcfmmp_sold_by_wrapper,
#wcfmmp-store ul.products li.product .product-category,
#wcfmmp-store ul.products li.product .woocommerce-loop-category__title mark {
  display: none !important;
}

#wcfmmp-store .woocommerce-result-count {
  font-size: 13px !important;
  color: #667085 !important;
}

/* Restaurant pages only: remove WooCommerce's default product-sorting control.
 * This stylesheet is enqueued only for a WCFM store request. */
.woocommerce-ordering,
form.woocommerce-ordering,
#wcfmmp-store .woocommerce-ordering,
#wcfmmp-store form.woocommerce-ordering,
#wcfmmp-store select.orderby,
#wcfmmp-store .orderby,
#wcfmmp-store .store-products-woocommerce-ordering {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

#wcfmmp-store .woocommerce-pagination ul.page-numbers {
  border: 0 !important;
  background: transparent !important;
}

@media (max-width: 600px) {
  #wcfmmp-store ul.products li.product,
  #wcfmmp-store ul.products li.product.type-product {
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    gap: 8px !important;
    min-height: 58px !important;
    padding: 10px 2px !important;
  }

  #wcfmmp-store ul.products li.product .woocommerce-loop-product__title,
  #wcfmmp-store ul.products li.product h2,
  #wcfmmp-store ul.products li.product h3,
  #wcfmmp-store ul.products li.product .product-title {
    font-size: 14px !important;
  }

  #wcfmmp-store ul.products li.product .price {
    font-size: 13px !important;
  }

  #wcfmmp-store ul.products li.product .button,
  #wcfmmp-store ul.products li.product .added_to_cart,
  #wcfmmp-store ul.products li.product a.add_to_cart_button,
  #wcfmmp-store ul.products li.product a.product_type_simple,
  #wcfmmp-store ul.products li.product a.product_type_variable {
    min-width: 58px !important;
    padding: 8px 9px !important;
    border-radius: 9px !important;
    font-size: 12px !important;
  }
}

/* Restaurant-specific Menu dropdown. This stylesheet is enqueued only on WCFM store pages. */
#wcfmmp-store .mcmpro-restaurant-menu-dropdown {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 4px 0 14px !important;
  padding: 12px 14px !important;
  border: 1px solid #e4e8ef !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 4px 16px rgba(16, 24, 40, .06) !important;
}

#wcfmmp-store .mcmpro-restaurant-menu-dropdown label {
  flex: 0 0 auto !important;
  margin: 0 !important;
  color: #172033 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

#wcfmmp-store .mcmpro-restaurant-menu-dropdown select {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 40px 0 14px !important;
  border: 1px solid #d8dee8 !important;
  border-radius: 11px !important;
  background-color: #ffffff !important;
  color: #172033 !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 44px !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

#wcfmmp-store .mcmpro-restaurant-menu-dropdown select:focus {
  border-color: #172033 !important;
  outline: 2px solid rgba(23, 32, 51, .10) !important;
  outline-offset: 1px !important;
}

#wcfmmp-store .mcmpro-menu-category-empty {
  margin: 8px 0 16px !important;
  padding: 13px 14px !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
  color: #667085 !important;
  font-size: 14px !important;
  text-align: center !important;
}

@media (max-width: 600px) {
  #wcfmmp-store .mcmpro-restaurant-menu-dropdown {
    gap: 9px !important;
    margin-bottom: 10px !important;
    padding: 10px !important;
    border-radius: 12px !important;
  }

  #wcfmmp-store .mcmpro-restaurant-menu-dropdown label {
    font-size: 14px !important;
  }

  #wcfmmp-store .mcmpro-restaurant-menu-dropdown select {
    height: 42px !important;
    padding-left: 11px !important;
    font-size: 13px !important;
    line-height: 42px !important;
  }
}

/* v2.9.59.6 — compact modern food-app restaurant header. */
#wcfmmp-store .wcfm_banner_area,
#wcfmmp-store .banner_area,
#wcfmmp-store .wcfm_slider_area,
#wcfmmp-store .wcfm_slideshow_container {
  display: none !important;
}

#wcfmmp-store #wcfm_store_header {
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 8px 30px rgba(16, 24, 40, .08) !important;
  overflow: hidden !important;
}

#wcfmmp-store #wcfm_store_header .header_wrapper,
#wcfmmp-store #wcfm_store_header .header_area,
#wcfmmp-store #wcfm_store_header .header_left {
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

#wcfmmp-store #wcfm_store_header .header_area {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 18px !important;
}

#wcfmmp-store #wcfm_store_header .header_left {
  display: grid !important;
  grid-template-columns: 76px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 16px !important;
  float: none !important;
}

#wcfmmp-store #wcfm_store_header .logo_area {
  grid-column: 1 !important;
  width: 76px !important;
  height: 76px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

#wcfmmp-store #wcfm_store_header .logo_area img {
  width: 76px !important;
  height: 76px !important;
  border: 2px solid #fff !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  box-shadow: 0 4px 16px rgba(16, 24, 40, .14) !important;
}

#wcfmmp-store #wcfm_store_header .address {
  grid-column: 2 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  color: #667085 !important;
}

#wcfmmp-store #wcfm_store_header .wcfm_store_title {
  margin: 0 0 7px !important;
  color: #101828 !important;
  font-size: clamp(22px, 3vw, 30px) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: -.5px !important;
}

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

#wcfmmp-store #wcfm_store_header .wcfmmp_store_header_address,
#wcfmmp-store #wcfm_store_header .wcfmmp_store_header_phone,
#wcfmmp-store #wcfm_store_header .wcfmmp_store_header_email {
  margin: 5px 0 0 !important;
  color: #667085 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

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

#wcfmmp-store .mcmpro-store-meta-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 7px 12px !important;
  margin: 3px 0 0 !important;
  color: #475467 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}

#wcfmmp-store .mcmpro-store-meta-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}

#wcfmmp-store .mcmpro-store-status {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 26px !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

#wcfmmp-store .mcmpro-store-status.is-open {
  background: #ecfdf3 !important;
  color: #067647 !important;
}

#wcfmmp-store .mcmpro-store-status.is-closed {
  background: #fef3f2 !important;
  color: #b42318 !important;
}

#wcfmmp-store .mcmpro-menu-tools {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(210px, .55fr) !important;
  gap: 12px !important;
  align-items: center !important;
  margin: 4px 0 16px !important;
}

#wcfmmp-store .mcmpro-menu-search {
  position: relative !important;
  margin: 0 !important;
}

#wcfmmp-store .mcmpro-menu-search input {
  width: 100% !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 16px 0 44px !important;
  border: 1px solid #e4e7ec !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #101828 !important;
  box-shadow: 0 3px 12px rgba(16, 24, 40, .05) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  outline: none !important;
}

#wcfmmp-store .mcmpro-menu-search::before {
  content: "⌕" !important;
  position: absolute !important;
  left: 16px !important;
  top: 50% !important;
  transform: translateY(-52%) !important;
  color: #667085 !important;
  font-size: 24px !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

#wcfmmp-store .mcmpro-menu-tools .mcmpro-restaurant-menu-dropdown {
  margin: 0 !important;
  min-height: 48px !important;
  box-shadow: 0 3px 12px rgba(16, 24, 40, .05) !important;
}

@media (max-width: 700px) {
  #wcfmmp-store #wcfm_store_header .header_area { padding: 14px !important; }
  #wcfmmp-store #wcfm_store_header .header_left {
    grid-template-columns: 62px minmax(0, 1fr) !important;
    gap: 12px !important;
  }
  #wcfmmp-store #wcfm_store_header .logo_area,
  #wcfmmp-store #wcfm_store_header .logo_area img {
    width: 62px !important;
    height: 62px !important;
  }
  #wcfmmp-store #wcfm_store_header .wcfm_store_title { font-size: 21px !important; }
  #wcfmmp-store .mcmpro-menu-tools { grid-template-columns: 1fr !important; gap: 9px !important; }
}

/* v2.9.59.7 — clean image-free restaurant header. */
#wcfmmp-store #wcfm_store_header,
#wcfmmp-store #wcfm_store_header .header_wrapper,
#wcfmmp-store #wcfm_store_header .header_area,
#wcfmmp-store #wcfm_store_header .header_left,
#wcfmmp-store #wcfm_store_header .address {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
}

#wcfmmp-store #wcfm_store_header::before,
#wcfmmp-store #wcfm_store_header::after,
#wcfmmp-store #wcfm_store_header .header_wrapper::before,
#wcfmmp-store #wcfm_store_header .header_wrapper::after,
#wcfmmp-store #wcfm_store_header .header_area::before,
#wcfmmp-store #wcfm_store_header .header_area::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

#wcfmmp-store #wcfm_store_header {
  border: 1px solid #eaecf0 !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 16px rgba(16, 24, 40, .05) !important;
}

/* Remove the restaurant logo/image from the individual restaurant page. */
#wcfmmp-store #wcfm_store_header .logo_area,
#wcfmmp-store #wcfm_store_header .logo_area img,
#wcfmmp-store #wcfm_store_header .store_logo,
#wcfmmp-store #wcfm_store_header .wcfm_store_logo,
#wcfmmp-store #wcfm_store_header img.wcfm_store_logo {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

#wcfmmp-store #wcfm_store_header .header_left {
  display: block !important;
  grid-template-columns: none !important;
}

#wcfmmp-store #wcfm_store_header .address {
  display: block !important;
  width: 100% !important;
  grid-column: auto !important;
}

#wcfmmp-store #wcfm_store_header .wcfm_store_title,
#wcfmmp-store #wcfm_store_header .wcfm_store_title a {
  color: #101828 !important;
  text-shadow: none !important;
}

#wcfmmp-store #wcfm_store_header .header_area {
  padding: 18px 20px !important;
}

@media (max-width: 700px) {
  #wcfmmp-store #wcfm_store_header .header_area {
    padding: 16px !important;
  }
}

/* v2.9.59.9 — compact sticky restaurant tools and cleaner food-app layout. */
#wcfmmp-store #wcfm_store_header {
  margin-bottom: 12px !important;
}

#wcfmmp-store #wcfm_store_header .header_area {
  padding: 14px 18px !important;
}

#wcfmmp-store #wcfm_store_header .wcfm_store_title {
  margin-bottom: 5px !important;
  font-size: clamp(21px, 2.6vw, 28px) !important;
}

#wcfmmp-store .mcmpro-menu-tools {
  position: sticky !important;
  top: var(--mcmpro-sticky-top, 8px) !important;
  z-index: 35 !important;
  margin: 0 0 14px !important;
  padding: 8px !important;
  border: 1px solid rgba(228, 231, 236, .95) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 8px 24px rgba(16, 24, 40, .08) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  backdrop-filter: blur(10px) !important;
}

#wcfmmp-store .mcmpro-menu-search input,
#wcfmmp-store .mcmpro-menu-tools .mcmpro-restaurant-menu-dropdown {
  box-shadow: none !important;
}

#wcfmmp-store .mcmpro-menu-tools .mcmpro-restaurant-menu-dropdown {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#wcfmmp-store .mcmpro-menu-tools .mcmpro-restaurant-menu-dropdown label {
  padding-left: 2px !important;
}

#wcfmmp-store ul.products {
  scroll-margin-top: 112px !important;
}

#wcfmmp-store ul.products li.product {
  transition: background-color .18s ease !important;
}

#wcfmmp-store ul.products li.product:hover {
  background: #fbfcfe !important;
}

@media (max-width: 700px) {
  #wcfmmp-store #wcfm_store_header .header_area {
    padding: 13px 14px !important;
  }

  #wcfmmp-store #wcfm_store_header .wcfm_store_title {
    font-size: 20px !important;
  }

  #wcfmmp-store .mcmpro-menu-tools {
    top: 6px !important;
    gap: 7px !important;
    padding: 7px !important;
    border-radius: 14px !important;
  }

  #wcfmmp-store .mcmpro-menu-search input {
    height: 44px !important;
    border-radius: 11px !important;
  }

  #wcfmmp-store .mcmpro-menu-tools .mcmpro-restaurant-menu-dropdown {
    min-height: 44px !important;
  }

  #wcfmmp-store .mcmpro-menu-tools .mcmpro-restaurant-menu-dropdown select {
    height: 44px !important;
    line-height: 44px !important;
    border-radius: 11px !important;
  }

  #wcfmmp-store ul.products {
    scroll-margin-top: 164px !important;
  }
}

/* v2.9.59.10 — force all restaurant header text and icons dark on white background. */
#wcfmmp-store #wcfm_store_header,
#wcfmmp-store #wcfm_store_header .header_wrapper,
#wcfmmp-store #wcfm_store_header .header_area,
#wcfmmp-store #wcfm_store_header .header_left,
#wcfmmp-store #wcfm_store_header .address,
#wcfmmp-store #wcfm_store_header .address *,
#wcfmmp-store #wcfm_store_header .wcfm_store_title,
#wcfmmp-store #wcfm_store_header .wcfm_store_title a,
#wcfmmp-store #wcfm_store_header a,
#wcfmmp-store #wcfm_store_header span,
#wcfmmp-store #wcfm_store_header p,
#wcfmmp-store #wcfm_store_header div,
#wcfmmp-store #wcfm_store_header li,
#wcfmmp-store #wcfm_store_header i,
#wcfmmp-store #wcfm_store_header strong,
#wcfmmp-store #wcfm_store_header small {
  color: #101828 !important;
  text-shadow: none !important;
}

#wcfmmp-store #wcfm_store_header svg,
#wcfmmp-store #wcfm_store_header svg path,
#wcfmmp-store #wcfm_store_header svg circle,
#wcfmmp-store #wcfm_store_header svg rect,
#wcfmmp-store #wcfm_store_header svg polygon {
  fill: #101828 !important;
  stroke: #101828 !important;
}

/* Keep status badges readable while ensuring no white text remains. */
#wcfmmp-store #wcfm_store_header .mcmpro-store-status.is-open,
#wcfmmp-store .mcmpro-store-status.is-open {
  color: #067647 !important;
}

#wcfmmp-store #wcfm_store_header .mcmpro-store-status.is-closed,
#wcfmmp-store .mcmpro-store-status.is-closed {
  color: #b42318 !important;
}


/* v2.9.59.12 — hide the complete customer-facing Policies field and label. */
#wcfmmp-store a[href*="policy"],
#wcfmmp-store a[href*="policies"],
#wcfmmp-store [id*="wcfm_store_policy"],
#wcfmmp-store [id*="wcfm_store_policies"],
#wcfmmp-store [class*="wcfm_store_policy"],
#wcfmmp-store [class*="wcfm_store_policies"],
#wcfmmp-store .policies_area,
#wcfmmp-store .policy_area,
#wcfmmp-store .store-policies,
#wcfmmp-store .store-policy {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}


/* v2.9.59.15: Default 4.0 rating for a new restaurant with no reviews. */
#wcfmmp-store .mcmpro-default-rating{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  color:#176b2c!important;
  font-weight:800!important;
}
#wcfmmp-store .mcmpro-default-rating small{
  color:#59645c!important;
  font-size:11px!important;
  font-weight:700!important;
}

/* v2.9.59.30 — full food-app menu rows with diet icon, description and quantity. */
#wcfmmp-store ul.products li.product,
#wcfmmp-store ul.products li.product.type-product {
  position: relative !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-rows: auto auto auto !important;
  column-gap: 14px !important;
  row-gap: 5px !important;
  min-height: 104px !important;
  padding: 16px 4px 16px 36px !important;
}

#wcfmmp-store ul.products li.product.mcmpro-confirmed-veg::before,
#wcfmmp-store ul.products li.product.mcmpro-confirmed-nonveg::before {
  content: "" !important;
  position: absolute !important;
  left: 5px !important;
  top: 19px !important;
  width: 18px !important;
  height: 18px !important;
  box-sizing: border-box !important;
  border: 2px solid #16833b !important;
  border-radius: 3px !important;
  background: #fff !important;
  z-index: 2 !important;
}

#wcfmmp-store ul.products li.product.mcmpro-confirmed-veg::after,
#wcfmmp-store ul.products li.product.mcmpro-confirmed-nonveg::after {
  content: "" !important;
  position: absolute !important;
  left: 10px !important;
  top: 24px !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #16833b !important;
  z-index: 3 !important;
}

#wcfmmp-store ul.products li.product.mcmpro-confirmed-nonveg::before {
  border-color: #c62828 !important;
}
#wcfmmp-store ul.products li.product.mcmpro-confirmed-nonveg::after {
  background: #c62828 !important;
}

#wcfmmp-store ul.products li.product .woocommerce-loop-product__title,
#wcfmmp-store ul.products li.product h2,
#wcfmmp-store ul.products li.product h3,
#wcfmmp-store ul.products li.product .product-title {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: end !important;
}

#wcfmmp-store ul.products li.product .mcmpro-product-description {
  grid-column: 1 !important;
  grid-row: 2 !important;
  min-width: 0 !important;
  max-width: 620px !important;
  margin: 0 !important;
  color: #667085 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

#wcfmmp-store ul.products li.product .price {
  grid-column: 1 !important;
  grid-row: 3 !important;
  justify-self: start !important;
  margin-top: 2px !important;
}

#wcfmmp-store ul.products li.product .mcmpro-cart-controls {
  grid-column: 2 !important;
  grid-row: 1 / span 3 !important;
  align-self: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 7px !important;
  min-width: 92px !important;
}

#wcfmmp-store ul.products li.product .mcmpro-quantity-control {
  display: grid !important;
  grid-template-columns: 28px 34px 28px !important;
  align-items: center !important;
  height: 32px !important;
  border: 1px solid #d7dee8 !important;
  border-radius: 9px !important;
  overflow: hidden !important;
  background: #fff !important;
}

#wcfmmp-store .mcmpro-qty-minus,
#wcfmmp-store .mcmpro-qty-plus {
  width: 28px !important;
  height: 30px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #f7f9fc !important;
  color: #172033 !important;
  box-shadow: none !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 30px !important;
}

#wcfmmp-store .mcmpro-qty-input {
  width: 34px !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 1px solid #e4e8ef !important;
  border-right: 1px solid #e4e8ef !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #111827 !important;
  box-shadow: none !important;
  text-align: center !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  -moz-appearance: textfield !important;
}
#wcfmmp-store .mcmpro-qty-input::-webkit-inner-spin-button,
#wcfmmp-store .mcmpro-qty-input::-webkit-outer-spin-button { -webkit-appearance: none !important; margin: 0 !important; }

#wcfmmp-store ul.products li.product .mcmpro-cart-controls > .button,
#wcfmmp-store ul.products li.product .mcmpro-cart-controls > a.add_to_cart_button,
#wcfmmp-store ul.products li.product .mcmpro-cart-controls > a.product_type_simple,
#wcfmmp-store ul.products li.product .mcmpro-cart-controls > a.product_type_variable {
  grid-column: auto !important;
  min-width: 92px !important;
  width: 100% !important;
  color: #16833b !important;
  border-color: #b9ddc2 !important;
  font-weight: 800 !important;
}

@media (max-width: 600px) {
  #wcfmmp-store ul.products li.product,
  #wcfmmp-store ul.products li.product.type-product {
    grid-template-columns: minmax(0, 1fr) 86px !important;
    column-gap: 9px !important;
    min-height: 112px !important;
    padding: 15px 2px 15px 31px !important;
  }
  #wcfmmp-store ul.products li.product.mcmpro-confirmed-veg::before,
  #wcfmmp-store ul.products li.product.mcmpro-confirmed-nonveg::before { left: 3px !important; top: 18px !important; width: 17px !important; height: 17px !important; }
  #wcfmmp-store ul.products li.product.mcmpro-confirmed-veg::after,
  #wcfmmp-store ul.products li.product.mcmpro-confirmed-nonveg::after { left: 8px !important; top: 23px !important; width: 7px !important; height: 7px !important; }
  #wcfmmp-store ul.products li.product .mcmpro-product-description { font-size: 11px !important; line-height: 1.4 !important; }
  #wcfmmp-store ul.products li.product .mcmpro-cart-controls { min-width: 86px !important; }
  #wcfmmp-store ul.products li.product .mcmpro-quantity-control { grid-template-columns: 26px 32px 26px !important; }
  #wcfmmp-store .mcmpro-qty-minus,
  #wcfmmp-store .mcmpro-qty-plus { width: 26px !important; }
  #wcfmmp-store .mcmpro-qty-input { width: 32px !important; }
  #wcfmmp-store ul.products li.product .mcmpro-cart-controls > .button,
  #wcfmmp-store ul.products li.product .mcmpro-cart-controls > a { min-width: 86px !important; padding: 8px 5px !important; }
}

/* v2.9.60.32: visual restaurant categories + dish autocomplete. */
#wcfmmp-store .mcmpro-menu-tools{display:block!important;position:relative!important;margin:14px 0 18px!important}
#wcfmmp-store .mcmpro-menu-search{position:relative!important;margin:0 0 14px!important}
#wcfmmp-store .mcmpro-menu-search input{width:100%!important;height:48px!important;border:1px solid #ddd!important;border-radius:14px!important;padding:0 46px 0 16px!important;background:#fff!important;font-size:15px!important;box-shadow:0 3px 14px rgba(0,0,0,.06)!important}
#wcfmmp-store .mcmpro-menu-search:before{right:16px!important;left:auto!important;top:14px!important}
#wcfmmp-store .mcmpro-restaurant-category-grid{display:flex!important;gap:12px!important;overflow-x:auto!important;padding:2px 2px 10px!important;scrollbar-width:thin!important;-webkit-overflow-scrolling:touch!important}
#wcfmmp-store .mcmpro-category-card{appearance:none!important;border:0!important;background:transparent!important;min-width:76px!important;max-width:86px!important;padding:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:5px!important;color:#222!important;cursor:pointer!important;box-shadow:none!important}
#wcfmmp-store .mcmpro-category-image{width:64px!important;height:64px!important;border-radius:50%!important;overflow:hidden!important;background:#f3f3f3!important;border:2px solid transparent!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:.2s ease!important}
#wcfmmp-store .mcmpro-category-image img{width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important}
#wcfmmp-store .mcmpro-category-placeholder{font-size:25px!important}
#wcfmmp-store .mcmpro-category-name{font-size:12px!important;font-weight:700!important;line-height:1.15!important;text-align:center!important;white-space:normal!important}
#wcfmmp-store .mcmpro-category-card small{font-size:10px!important;color:#777!important}
#wcfmmp-store .mcmpro-category-card.is-active .mcmpro-category-image{border-color:#ff6b00!important;box-shadow:0 0 0 3px rgba(255,107,0,.14)!important}
#wcfmmp-store .mcmpro-category-card.is-active .mcmpro-category-name{color:#d95700!important}
#wcfmmp-store .mcmpro-restaurant-search-suggestions{position:absolute!important;z-index:9999!important;top:52px!important;left:0!important;right:0!important;background:#fff!important;border:1px solid #ddd!important;border-radius:12px!important;box-shadow:0 10px 30px rgba(0,0,0,.14)!important;max-height:320px!important;overflow-y:auto!important;padding:5px!important}
#wcfmmp-store .mcmpro-restaurant-search-suggestions[hidden]{display:none!important}
#wcfmmp-store .mcmpro-restaurant-search-option{display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;border:0!important;background:#fff!important;color:#222!important;text-align:left!important;padding:8px!important;border-radius:9px!important;cursor:pointer!important;box-shadow:none!important}
#wcfmmp-store .mcmpro-restaurant-search-option:hover,#wcfmmp-store .mcmpro-restaurant-search-option:focus{background:#f5f5f5!important;outline:none!important}
#wcfmmp-store .mcmpro-restaurant-search-option img{width:42px!important;height:42px!important;border-radius:8px!important;object-fit:cover!important;margin:0!important;flex:0 0 42px!important}
#wcfmmp-store .mcmpro-restaurant-search-option span{font-size:14px!important;font-weight:700!important}
#wcfmmp-store .mcmpro-restaurant-search-empty{padding:13px!important;color:#666!important;font-size:13px!important;text-align:center!important}
@media(max-width:520px){#wcfmmp-store .mcmpro-category-image{width:58px!important;height:58px!important}#wcfmmp-store .mcmpro-category-card{min-width:68px!important;max-width:74px!important}#wcfmmp-store .mcmpro-category-name{font-size:11px!important}}

/* v2.9.60.33: restaurant-wide category loading across all WCFM pages. */
#wcfmmp-store .mcmpro-menu-tools.is-loading{opacity:.72;pointer-events:none}
#wcfmmp-store .mcmpro-category-card.is-loading:after{content:"";display:inline-block;width:14px;height:14px;margin-left:6px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:mcmproCatSpin .7s linear infinite}
@keyframes mcmproCatSpin{to{transform:rotate(360deg)}}
.mcmpro-search-option-text{display:flex;flex-direction:column;align-items:flex-start;min-width:0;line-height:1.25}
.mcmpro-search-option-text strong{font-size:14px;color:#151515;white-space:normal;text-align:left}
.mcmpro-search-option-text small{margin-top:3px;font-size:11px;color:#6b6b6b;white-space:normal;text-align:left}


/* v2.9.60.37: restaurant-name marquee prompt and voice search. */
#wcfmmp-store .mcmpro-menu-search{overflow:visible!important}
#wcfmmp-store .mcmpro-menu-search input{padding-right:58px!important;position:relative!important;z-index:2!important;background:transparent!important}
#wcfmmp-store .mcmpro-search-marquee{position:absolute!important;left:17px!important;right:58px!important;top:0!important;height:48px!important;display:flex!important;align-items:center!important;overflow:hidden!important;pointer-events:none!important;z-index:1!important;color:#707070!important;font-size:15px!important;white-space:nowrap!important}
#wcfmmp-store .mcmpro-search-marquee>span{display:inline-block!important;min-width:max-content!important;padding-left:100%!important;animation:mcmproRestaurantMarquee 10s linear infinite!important}
#wcfmmp-store .mcmpro-menu-search.is-focused .mcmpro-search-marquee,#wcfmmp-store .mcmpro-menu-search.has-value .mcmpro-search-marquee{display:none!important}
#wcfmmp-store .mcmpro-restaurant-voice-search{position:absolute!important;right:8px!important;top:5px!important;width:38px!important;height:38px!important;border:0!important;border-radius:50%!important;background:transparent!important;color:#424242!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;z-index:4!important;cursor:pointer!important;box-shadow:none!important}
#wcfmmp-store .mcmpro-restaurant-voice-search svg{width:23px!important;height:23px!important;fill:currentColor!important;display:block!important}
#wcfmmp-store .mcmpro-restaurant-voice-search:hover,#wcfmmp-store .mcmpro-restaurant-voice-search:focus{background:#f1f1f1!important;color:#ff6b00!important;outline:none!important}
#wcfmmp-store .mcmpro-restaurant-voice-search.is-listening{color:#fff!important;background:#e53935!important;animation:mcmproRestaurantVoicePulse 1s ease-in-out infinite!important}
#wcfmmp-store .mcmpro-restaurant-voice-search.is-error{color:#b00020!important;background:#fff0f0!important}
@keyframes mcmproRestaurantMarquee{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}
@keyframes mcmproRestaurantVoicePulse{0%,100%{box-shadow:0 0 0 0 rgba(229,57,53,.35)}50%{box-shadow:0 0 0 8px rgba(229,57,53,0)}}
@media (prefers-reduced-motion:reduce){#wcfmmp-store .mcmpro-search-marquee>span{animation:none!important;padding-left:0!important}}


/* v2.9.60.38: compact, readable restaurant autocomplete. */
#wcfmmp-store .mcmpro-restaurant-search-suggestions{max-height:260px!important;padding:4px!important}
#wcfmmp-store .mcmpro-restaurant-search-option{min-height:58px!important;padding:7px 9px!important;gap:10px!important}
#wcfmmp-store .mcmpro-restaurant-search-option img{width:46px!important;height:46px!important;flex-basis:46px!important}
#wcfmmp-store .mcmpro-search-option-text{flex:1 1 auto!important;overflow:hidden!important}
#wcfmmp-store .mcmpro-search-option-text strong{display:block!important;width:100%!important;font-size:15px!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#wcfmmp-store .mcmpro-search-option-text small{display:block!important;width:100%!important;margin-top:4px!important;font-size:12px!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#666!important}

/* v2.9.60.39: keep voice and search icons in separate fixed slots. */
#wcfmmp-store .mcmpro-menu-search input{
  padding-right:104px!important;
}
#wcfmmp-store .mcmpro-search-marquee{
  right:104px!important;
}
#wcfmmp-store .mcmpro-menu-search::before{
  left:auto!important;
  right:55px!important;
  top:50%!important;
  transform:translateY(-52%)!important;
  width:32px!important;
  height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  z-index:3!important;
}
#wcfmmp-store .mcmpro-restaurant-voice-search{
  right:8px!important;
  top:5px!important;
  width:38px!important;
  height:38px!important;
}
#wcfmmp-store .mcmpro-menu-search input::-webkit-search-cancel-button{
  margin-right:76px!important;
}
