/*
Theme Name: Mercado
Theme URI: https://mercado.es
Author: Mercado
Author URI: https://mercado.es
Description: Theme para Mercado - Material Industrial de Segunda Mano en Madrid
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mercado
*/

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  /* 'hidden' convierte html/body en scroll containers y rompe position:sticky
     (la barra de categorías del puesto y el propio header); 'clip' recorta el
     desbordamiento horizontal sin crear scroll container. Se deja 'hidden'
     como fallback para navegadores sin soporte de 'clip'. */
  overflow-x: hidden;
  overflow-x: clip;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Montserrat', sans-serif;
  width: 100%;
}

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.scrollbar-hide::-webkit-scrollbar {
  display: none;
}

.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.puestos-carousel {
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.puestos-carousel .flex {
  scroll-snap-type: x mandatory;
}

.puestos-carousel .flex > * {
  scroll-snap-align: start;
}

/* Primary brand color: azul del diseño */
.bg-primary {
  background-color: #0363B6;
}

.hover\:bg-primaryDark:hover {
  background-color: #0363B6;
}

.text-primary {
  color: #0363B6;
}

.border-primary {
  border-color: #0363B6;
}

.shadow-primary\/30 {
  --tw-shadow-color: rgba(0, 86, 168, 0.3);
}

/* Top bar dark */
.bg-topbar {
  background-color: #1a1a2e;
}

/* Nav bar */
.bg-nav {
  background-color: #0363B6;
}

/* Custom product card styles */
.product-card {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
  background: white;
  transition: box-shadow 0.2s;
}

.product-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Category circle */
.category-circle {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 8px;
  border: 2px solid #f3f4f6;
}

/* Benefits bar */
.benefits-bar {
  background-color: #0363B6;
  border-radius: 9999px;
}

/* Button styles */
.btn-primary {
  background-color: #0363B6;
  color: white;
  padding: 10px 24px;
  border-radius: 6px;
  font-weight: 600;
  transition: background-color 0.2s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn-primary:hover {
  background-color: #0363B6;
}

.btn-outline {
  border: 1px solid #0363B6;
  color: #0363B6;
  padding: 10px 24px;
  border-radius: 6px;
  font-weight: 600;
  transition: all 0.2s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn-outline:hover {
  background-color: #0363B6;
  color: white;
}

/* WooCommerce Price Filter Widget Styling */
.widget_price_filter .price_slider {
  margin-top: 15px;
  margin-bottom: 20px;
  background: #e5e7eb !important;
  /* tailwind gray-200 */
  height: 6px !important;
  border-radius: 9999px !important;
  position: relative !important;
  border: none !important;
}

.widget_price_filter .price_slider_wrapper .ui-slider-range {
  position: absolute !important;
  z-index: 1 !important;
  display: block !important;
  border: 0 !important;
  background-color: #0363B6 !important;
  /* primary color */
  height: 6px !important;
  border-radius: 9999px !important;
}

.widget_price_filter .price_slider_wrapper .ui-slider-handle {
  position: absolute !important;
  z-index: 2 !important;
  width: 18px !important;
  height: 18px !important;
  background-color: #0363B6 !important;
  border: 2px solid #ffffff !important;
  border-radius: 9999px !important;
  cursor: pointer !important;
  outline: none !important;
  top: -6px !important;
  /* center vertically: (6px - 18px)/2 */
  margin-left: -9px !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) !important;
  transition: transform 0.1s ease, background-color 0.1s ease !important;
}

.widget_price_filter .price_slider_wrapper .ui-slider-handle:hover,
.widget_price_filter .price_slider_wrapper .ui-slider-handle:active {
  background-color: #0363B6 !important;
  transform: scale(1.1) !important;
}

/* ==========================================================================
   WOOCOMMERCE GLOBAL STYLES OVERRIDES
   ========================================================================== */

/* Buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
  background-color: #0363B6 !important;
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  padding: 12px 24px !important;
  font-size: 0.875rem !important;
  transition: background-color 0.2s !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  height: auto !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover {
  background-color: #0363B6 !important;
}

/* Secondary/Action buttons (like update cart, apply coupon) */
.woocommerce button[name="apply_coupon"],
.woocommerce button[name="update_cart"] {
  background-color: #e5e7eb !important;
  color: #374151 !important;
}

.woocommerce button[name="apply_coupon"]:hover,
.woocommerce button[name="update_cart"]:hover {
  background-color: #d1d5db !important;
}

/* Inputs */
.woocommerce input[type="text"],
.woocommerce input[type="tel"],
.woocommerce input[type="email"],
.woocommerce input[type="password"],
.woocommerce select,
.woocommerce textarea {
  border: 1px solid #d1d5db !important;
  border-radius: 6px !important;
  padding: 10px 14px !important;
  font-size: 0.875rem !important;
  color: #374151 !important;
  background-color: #fff !important;
  height: auto !important;
  outline: none !important;
  font-family: 'Montserrat', sans-serif !important;
  width: 100% !important;
}

.woocommerce input:focus,
.woocommerce select:focus,
.woocommerce textarea:focus {
  border-color: #0363B6 !important;
  box-shadow: 0 0 0 3px rgba(3, 99, 182, 0.1) !important;
}

/* Form rows grid layouts */
.woocommerce form .form-row {
  margin-bottom: 16px !important;
}

.woocommerce form .form-row-first {
  width: 48% !important;
  float: left !important;
  margin-right: 4% !important;
}

.woocommerce form .form-row-last {
  width: 48% !important;
  float: left !important;
  margin-right: 0 !important;
}

.woocommerce form .form-row-wide {
  width: 100% !important;
  clear: both !important;
}

.woocommerce form .form-row::after {
  content: "" !important;
  display: table !important;
  clear: both !important;
}

.woocommerce form .form-row label {
  font-weight: 600 !important;
  font-size: 0.8125rem !important;
  color: #4b5563 !important;
  font-family: 'Montserrat', sans-serif !important;
  margin-bottom: 6px !important;
  display: block !important;
}

.woocommerce form .form-row label span.required {
  color: #ef4444 !important;
}

/* Fieldsets */
.woocommerce fieldset {
  margin-top: 24px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  padding: 20px !important;
  margin-bottom: 20px !important;
}

.woocommerce fieldset legend {
  font-weight: 700 !important;
  font-size: 0.9375rem !important;
  padding: 0 8px !important;
  color: #111827 !important;
}

/* Address Cards on Account Page */
.woocommerce .addresses,
.woocommerce .col2-set.addresses {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 24px !important;
  float: none !important;
  width: 100% !important;
  margin: 20px 0 0 0 !important;
}

.woocommerce .addresses::before,
.woocommerce .addresses::after {
  display: none !important;
  /* prevent clear floats from breaking flex */
}

.woocommerce .addresses .woocommerce-Address,
.woocommerce .addresses .col-1,
.woocommerce .addresses .col-2 {
  flex: 1 1 300px !important;
  width: auto !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  padding: 20px !important;
  box-sizing: border-box !important;
}

.woocommerce .addresses .woocommerce-Address header,
.woocommerce .addresses .col-1 header,
.woocommerce .addresses .col-2 header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 12px !important;
  border-bottom: 1px solid #f3f4f6 !important;
  padding-bottom: 8px !important;
}

.woocommerce .addresses .woocommerce-Address header h3,
.woocommerce .addresses .col-1 header h3,
.woocommerce .addresses .col-2 header h3 {
  font-size: 1rem !important;
  font-weight: 700 !important;
  margin: 0 !important;
  color: #111827 !important;
}

.woocommerce .addresses .woocommerce-Address address {
  font-style: normal !important;
  font-size: 0.875rem !important;
  color: #6b7280 !important;
  line-height: 1.6 !important;
}

.woocommerce .addresses .woocommerce-Address .edit {
  font-size: 0.8125rem !important;
  color: #0056A8 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

.woocommerce .addresses .woocommerce-Address .edit:hover {
  color: #0363B6 !important;
  text-decoration: underline !important;
}

/* Notices and alerts */
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-message {
  background-color: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-left: 4px solid #0363B6 !important;
  color: #374151 !important;
  padding: 16px 20px !important;
  border-radius: 8px !important;
  font-size: 0.875rem !important;
  margin-bottom: 24px !important;
  list-style: none !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before,
.woocommerce .woocommerce-message::before {
  display: none !important;
}

.woocommerce .woocommerce-info a,
.woocommerce .woocommerce-error a,
.woocommerce .woocommerce-message a {
  color: #0363B6;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* Remove outer table borders */
.woocommerce table.shop_table {
  border: none !important;
}

/* Fix buttons inside notices - don't stretch full width */
.woocommerce .woocommerce-info a.button,
.woocommerce .woocommerce-message a.button,
.woocommerce .woocommerce-error a.button {
  width: auto !important;
  display: inline-flex !important;
  padding: 10px 20px !important;
  font-size: 0.8125rem !important;
}

/* Fix general account/cart buttons - auto width unless checkout */
.woocommerce-account .woocommerce a.button,
.woocommerce-cart .woocommerce a.button {
  width: auto !important;
}

/* Only proceed-to-checkout button should be full width */
.woocommerce .wc-proceed-to-checkout a.checkout-button {
  width: 100% !important;
  display: flex !important;
}

/* ==========================================================================
   SINGLE PRODUCT PAGE STYLES
   ========================================================================== */

/* Quantity Input Container - override WooCommerce default with high specificity */
.woocommerce div.product form.cart div.quantity,
.woocommerce-page div.product form.cart div.quantity,
body.woocommerce div.product form.cart div.quantity,
body.woocommerce-page div.product form.cart div.quantity {
  display: inline-flex !important;
  align-items: stretch !important;
  gap: 0 !important;
  position: relative !important;
  border: 1px solid #d1d5db !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #fff !important;
  margin-right: 12px !important;
  vertical-align: middle !important;
  height: 48px !important;
}

/* Quantity Input - high specificity to override WooCommerce */
.woocommerce div.product form.cart div.quantity input.qty,
.woocommerce-page div.product form.cart div.quantity input.qty,
body.woocommerce div.product form.cart div.quantity input.qty,
body.woocommerce-page div.product form.cart div.quantity input.qty,
.quantity input.qty,
input.qty.input-text.text {
  width: 60px !important;
  min-width: 60px !important;
  height: 48px !important;
  line-height: 48px !important;
  text-align: center !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: #111827 !important;
  border: none !important;
  border-radius: 0 !important;
  background-color: #fff !important;
  padding: 0 8px !important;
  margin: 0 !important;
  outline: none !important;
  -moz-appearance: textfield !important;
  box-shadow: none !important;
  display: inline-block !important;
  float: none !important;
}

.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.quantity input.qty:focus {
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Quantity +/- Buttons - high specificity */
.quantity .qty-btn,
.woocommerce div.product form.cart div.quantity .qty-btn,
body.woocommerce div.product form.cart div.quantity .qty-btn,
body.woocommerce-page div.product form.cart div.quantity .qty-btn,
button.qty-btn {}

.quantity .qty-btn.qty-minus {
  border-right: 1px solid #e5e7eb !important;
}

.quantity .qty-btn.qty-plus {
  border-left: 1px solid #e5e7eb !important;
}

.quantity .qty-btn:hover {
  background-color: #0363B6 !important;
  color: white !important;
}



/* Variations Table Styling */
.woocommerce div.product form.cart table.variations,
.woocommerce form.cart table.variations {
  margin-bottom: 20px !important;
  table-layout: auto !important;
  border-collapse: collapse !important;
}

.woocommerce div.product form.cart table.variations td,
.woocommerce form.cart table.variations td {
  padding: 10px 0 !important;
  vertical-align: middle !important;
  border: none !important;
}

.woocommerce div.product form.cart table.variations td.label,
.woocommerce form.cart table.variations td.label {
  padding-right: 16px !important;
  min-width: 100px !important;
  display: table-cell !important;
}

.woocommerce div.product form.cart table.variations td.label label,
.woocommerce form.cart table.variations td.label label {
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  color: #374151 !important;
  font-family: 'Montserrat', sans-serif !important;
  margin: 0 !important;
  display: block !important;
}

.woocommerce div.product form.cart table.variations td.value select,
.woocommerce form.cart table.variations td.value select {
  width: 100% !important;
  min-width: 200px !important;
  max-width: 300px !important;
  height: 44px !important;
  padding: 0 40px 0 14px !important;
  border: 1px solid #d1d5db !important;
  border-radius: 8px !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg fill='none' stroke='%236b7280' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 16px !important;
  font-size: 0.875rem !important;
  color: #374151 !important;
  font-family: 'Montserrat', sans-serif !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  transition: border-color 0.15s ease !important;
}

.woocommerce div.product form.cart table.variations td.value select:focus,
.woocommerce form.cart table.variations td.value select:focus {
  outline: none !important;
  border-color: #0363B6 !important;
  box-shadow: 0 0 0 3px rgba(3, 99, 182, 0.1) !important;
}

/* Reset variations link */
.woocommerce div.product form.cart table.variations a.reset_variations,
.woocommerce form.cart table.variations a.reset_variations {
  display: inline-block !important;
  margin-left: 12px !important;
  font-size: 0.75rem !important;
  color: #9ca3af !important;
  text-decoration: underline !important;
  font-family: 'Montserrat', sans-serif !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
}

.woocommerce div.product form.cart table.variations a.reset_variations:hover,
.woocommerce form.cart table.variations a.reset_variations:hover {
  color: #0363B6 !important;
}

/* Single variation wrap */
.woocommerce div.product form.cart div.single_variation_wrap,
.woocommerce form.cart div.single_variation_wrap {
  margin-top: 16px !important;
  margin-bottom: 16px !important;
}

.woocommerce div.product form.cart div.single_variation_wrap .single_variation,
.woocommerce form.cart div.single_variation_wrap .single_variation {
  margin-bottom: 12px !important;
}

.woocommerce div.product form.cart div.single_variation_wrap .price,
.woocommerce form.cart div.single_variation_wrap .price {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: #0363B6 !important;
  font-family: 'Montserrat', sans-serif !important;
}

.woocommerce div.product form.cart div.single_variation_wrap .price del,
.woocommerce form.cart div.single_variation_wrap .price del {
  font-size: 1rem !important;
  color: #9ca3af !important;
  margin-right: 8px !important;
}

.woocommerce div.product form.cart div.single_variation_wrap .price ins,
.woocommerce form.cart div.single_variation_wrap .price ins {
  text-decoration: none !important;
}

/* Single add to cart button on product page */
.woocommerce div.product form.cart button.single_add_to_cart_button,
.woocommerce form.cart button.single_add_to_cart_button {
  width: auto !important;
  min-height: 48px !important;
}

/* Stock status */
.woocommerce div.product p.stock,
.woocommerce div.product .stock {
  color: #374151 !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  margin-bottom: 16px !important;
}

.woocommerce div.product p.stock.out-of-stock,
.woocommerce div.product .stock.out-of-stock {
  color: #ef4444 !important;
}

.woocommerce div.product p.stock.in-stock,
.woocommerce div.product .stock.in-stock {
  color: #10b981 !important;
}

.woocommerce div.product p.stock.available-on-backorder,
.woocommerce div.product .stock.available-on-backorder {
  color: #f59e0b !important;
}

/* ==========================================================================
   WCFM SINGLE STORE PAGE CUSTOM DESIGN OVERRIDES
   ========================================================================== */

/* Main page layout */
.wcfm-store-page-wrap,
#wcfmmp-store {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 2rem 1rem !important;
  background-color: #f9fafb !important;
  /* light gray bg */
}

/* 1. Header Banner & Area */
.wcfm_store_banner_wrap,
.wcfmmp_store_header_banner_wrap {
  width: 100% !important;
  margin: 0 0 1.5rem 0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
}

.wcfm_store_banner,
.wcfmmp_store_header_banner {
  width: 100% !important;
  height: auto !important;
  max-height: 480px !important;
  object-fit: cover !important;
  display: block !important;
}

/* Hide Default avatar/logo overlaying banner to match layout */
.wcfm_store_logo_wrap,
.wcfmmp-store-logo,
.store-avatar,
.store-logo,
.wcfm_store_avatar_wrap,
.wcfmmp_store_header_left {
  display: none !important;
}

/* Store profile details section */
.wcfmmp_store_header,
.wcfmmp_store_header_right {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 2rem 0 !important;
  width: 100% !important;
  float: none !important;
}

/* Left portion: Category, Title, Description */
.wcfmmp_store_header_info,
.wcfm_store_info_wrapper {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
  width: 100% !important;
}

/* Align Title and Social icons */
.wcfm_store_title_wrap,
.wcfmmp_store_title_social_wrap {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  flex-wrap: wrap !important;
  gap: 1rem !important;
  width: 100% !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

/* Subtitle (Category) like "Frutería y Verdulería" */
.wcfmmp-store-taxonomy,
.wcfm_store_category,
.wcfm_store_sub_title,
.wcfmmp_store_header_right .store-phone {
  font-size: 0.875rem !important;
  color: #9ca3af !important;
  /* gray-400 */
  font-weight: 500 !important;
  order: -1 !important;
  /* display first */
  display: block !important;
  margin: 0 0 0.25rem 0 !important;
}

/* Bold Title */
.wcfmmp_store_header_info h1,
.wcfm_store_title,
.wcfm_store_name,
.wcfmmp_store_header_right h1 {
  font-size: 2.25rem !important;
  font-weight: 700 !important;
  color: #111827 !important;
  /* gray-900 */
  margin: 0 !important;
  line-height: 1.2 !important;
  font-family: 'Montserrat', sans-serif !important;
}

/* Social icons on the right */
.wcfm_social_profile_wrap,
.wcfmmp-social-profile,
.wcfmmp_store_header_right .wcfmmp-social-profile {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  float: none !important;
}

.wcfm_social_profile_wrap a,
.wcfmmp-social-profile a,
.wcfm_social_profile_wrap li a {
  color: #374151 !important;
  /* gray-700 */
  font-size: 1.25rem !important;
  transition: color 0.2s !important;
  text-decoration: none !important;
  background: transparent !important;
  border: none !important;
  width: auto !important;
  height: auto !important;
  line-height: 1 !important;
}

.wcfm_social_profile_wrap a:hover,
.wcfmmp-social-profile a:hover {
  color: #0363B6 !important;
  /* primary color */
}

/* Description Text */
.wcfm_store_description,
.wcfm_store_about,
.wcfm_store_description_wrap,
.wcfmmp_store_about_descr {
  font-size: 0.95rem !important;
  color: #4b5563 !important;
  /* gray-600 */
  line-height: 1.6 !important;
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
  max-width: 800px !important;
  float: none !important;
}

/* Clean Separator */
.wcfmmp_store_header_info_wrap,
.wcfmmp_store_header_right {
  border-bottom: 1px solid #e5e7eb !important;
  padding-bottom: 2rem !important;
  margin-bottom: 2.5rem !important;
}

/* Hide email, phone, location metadata in main profile to maintain design clean */
.wcfmmp-store-info-wrap,
.wcfm-store-info,
.wcfmmp_store_header_right .wcfmmp-store-info {
  display: none !important;
}

/* 2. Product Search Bar */
.wcfmmp-store-search,
.wcfmmp_store_search_wrap {
  margin: 0 auto 2.5rem auto !important;
  max-width: 100% !important;
}

.wcfmmp-store-search input[type="text"],
.wcfmmp-store-search input[type="search"],
#wcfmmp-store-search-taxonomies {
  width: 100% !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 9999px !important;
  padding: 0.85rem 1.5rem 0.85rem 3rem !important;
  font-size: 0.95rem !important;
  color: #111827 !important;
  outline: none !important;
  background-color: #ffffff !important;
  background-image: url("data:image/svg+xml;utf8,<svg fill='none' stroke='%239ca3af' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path stroke-linecap='round' stroke-linejoin='round' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'></path></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: 1.25rem center !important;
  background-size: 1.25rem !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}

/* 3. Layout Grid & Sidebar */
#wcfmmp-store-wrapper {
  display: flex !important;
  gap: 2.5rem !important;
  align-items: flex-start !important;
  width: 100% !important;
}

#wcfmmp-store-sidebar,
.wcfm-store-sidebar {
  width: 280px !important;
  min-width: 280px !important;
  flex-shrink: 0 !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

#wcfmmp-store-products,
.wcfmmp-store-products-col {
  flex-grow: 1 !important;
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Sidebar Widgets as Cards */
.wcfmmp-store-sidebar-widget,
.wcfm-store-sidebar-widget,
#wcfmmp-store-sidebar .widget,
#wcfmmp-store-sidebar .wcfm_widget {
  background: #ffffff !important;
  border: 1px solid #f3f4f6 !important;
  border-radius: 16px !important;
  padding: 1.5rem !important;
  margin-bottom: 1.5rem !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px -1px rgba(0, 0, 0, 0.01) !important;
}

/* Widget titles */
.wcfmmp-store-sidebar-widget .widget-title,
#wcfmmp-store-sidebar .widget-title,
#wcfmmp-store-sidebar h2,
#wcfmmp-store-sidebar .widgettitle {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #111827 !important;
  margin-top: 0 !important;
  margin-bottom: 1.25rem !important;
  padding-bottom: 0.75rem !important;
  border-bottom: 1px solid #f3f4f6 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* Star rating styles in filters */
.wcfm_filter_rating_list,
.widget_rating_filter ul {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
}

/* Hide WooCommerce default rating field in comment form */
#review-form select#rating,
#review-form .comment-form-rating select,
.comment-form-rating select {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  position: absolute !important;
  pointer-events: none !important;
  height: 0 !important;
  width: 0 !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* Hide default page layout sidebars or wrap elements that break columns */
.wcfm-store-page-wrap::after,
#wcfmmp-store-wrapper::after {
  content: none !important;
  display: none !important;
}

/* Make products list look awesome */
#wcfmmp-store-products ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 1200px) {
  #wcfmmp-store-products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1024px) {
  #wcfmmp-store-wrapper {
    flex-direction: column !important;
  }

  #wcfmmp-store-sidebar,
  .wcfm-store-sidebar {
    width: 100% !important;
  }

  #wcfmmp-store-products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  #wcfmmp-store-products ul.products {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}

/* Ocultar el link "Ver carrito" que WooCommerce inserta tras el botón Añadir en el listado de tienda: es redundante con el drawer de carrito lateral. */
a.added_to_cart.wc-forward {
  display: none !important;
}

/* Formulario de suscripción del footer (WPForms) — pill inline como el diseño original */
.mercado-newsletter-form .wpforms-container {
  margin: 0 !important;
}
.mercado-newsletter-form .wpforms-form {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media (min-width: 640px) {
  .mercado-newsletter-form .wpforms-form {
    flex-direction: row;
  }
}
.mercado-newsletter-form .wpforms-field-container {
  flex: 1;
}
.mercado-newsletter-form .wpforms-field {
  padding: 0 !important;
  margin: 0 !important;
}
.mercado-newsletter-form .wpforms-field label,
.mercado-newsletter-form .wpforms-field-description {
  display: none !important;
}
.mercado-newsletter-form input[type="email"] {
  width: 100%;
  padding: 0.625rem 1rem !important;
  border-radius: 9999px !important;
  border: 1px solid #e5e7eb !important;
  font-size: 0.875rem !important;
  color: #111827 !important;
}
.mercado-newsletter-form .wpforms-submit-container {
  margin: 0 !important;
}
.mercado-newsletter-form button.wpforms-submit {
  background-color: #0363B6 !important;
  color: #fff !important;
  padding: 0.625rem 1.5rem !important;
  border-radius: 9999px !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  white-space: nowrap;
  border: none !important;
  width: 100%;
}
@media (min-width: 640px) {
  .mercado-newsletter-form button.wpforms-submit {
    width: auto;
  }
}