/* Generado desde Apariencia → Personalizar → CSS adicional.
   No editar este archivo: se sobrescribe solo. */
/* B4D Header */
.site-header .site-logo img.custom-logo { max-height: 52px; width: auto; }
.site-header .header-inner { display:flex; align-items:center; justify-content:space-between; padding: 12px 32px; flex-wrap:nowrap; }
.site-header .site-branding { flex:0 0 auto; }
.site-header #site-navigation, .site-header .site-navigation { flex:1 1 auto; display:flex; justify-content:flex-end; }
.site-header .menu li a { color:#1a2e1c; font-weight:600; font-size:15px; padding:8px 16px; }
.site-header .menu li a:hover { color:#3A913F; }
.site-header { box-shadow:0 1px 8px rgba(0,0,0,.06); position:sticky; top:0; z-index:999; background:#fff; }

/* B4D Hide Title */
.page .page-header, .page .entry-header, .page-id-15 .entry-title, .page-id-16 .entry-title, .page-id-17 .entry-title, .page-id-18 .entry-title, .page-id-19 .entry-title { display:none !important; }
.hello-elementor-default .page .site-main &gt; .entry-header { display:none !important; }
.page .site-main { padding:0 !important; }



/* B4D Woo */
.woocommerce ul.products li.product .button, .woocommerce a.button, .woocommerce button.button, .woocommerce #respond input#submit, .woocommerce .single_add_to_cart_button {
  background:#3A913F !important; color:#fff !important; border-radius:8px !important; font-family:Montserrat,sans-serif !important; font-weight:700 !important; text-transform:none !important; padding:10px 20px !important;
}
.woocommerce ul.products li.product .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce .single_add_to_cart_button:hover { background:#46b24c !important; }
.woocommerce ul.products li.product { background:#fff; border:1px solid rgba(58,145,63,0.10); border-radius:14px; padding:14px !important; box-shadow:0 8px 28px -10px rgba(21,38,26,0.12); transition:transform .25s, box-shadow .25s; }
.woocommerce ul.products li.product:hover { transform:translateY(-6px); box-shadow:0 16px 40px -10px rgba(21,38,26,0.22); }
.woocommerce ul.products li.product img { border-radius:10px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family:Montserrat,sans-serif !important; font-weight:700 !important; font-size:16px !important; color:#111814 !important; }
.woocommerce ul.products li.product .price { color:#3A913F !important; font-weight:700 !important; font-size:18px !important; }
.woocommerce .star-rating span:before, .woocommerce .star-rating { color:#3A913F; }
.woocommerce-message, .woocommerce-info { border-top-color:#3A913F !important; }
.woocommerce-message::before, .woocommerce-info::before { color:#3A913F !important; }
.woocommerce span.onsale { background:#111814 !important; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color:#3A913F !important; font-weight:800 !important; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom:20px; }
/* END B4D Woo */

/* B4D Popup */
.pum-theme-default-theme .pum-content, .pum-content { font-family:Open Sans,sans-serif; color:#3a4a40; font-size:16px; line-height:1.7; }
.pum-content h2 { margin:0 0 14px; font-size:26px; }
.pum-content ul { padding-left:20px; margin:14px 0; }
.pum-content li { margin-bottom:8px; }
.pum-cta { display:inline-block; background:#3A913F; color:#fff !important; padding:11px 22px; border-radius:8px; font-family:Montserrat,sans-serif; font-weight:700; text-decoration:none; margin-top:10px; transition:background .2s; }
.pum-cta:hover { background:#46b24c; }
.pum-cta.pum-wa { background:#25d366; }
.pum-cta.pum-wa:hover { background:#1ebe5a; }
.pum-overlay { background:rgba(21,38,26,0.78) !important; }
div.pum-container { border-radius:16px !important; box-shadow:0 30px 80px -20px rgba(0,0,0,.5) !important; padding:34px !important; max-width:540px !important; }
/* END B4D Popup */

/* B4D Footer */
.site-footer { background:#ffffff !important; border-top:3px solid #018837 !important; padding:46px 32px 32px !important; }
.site-footer .footer-inner { display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center; }
.site-footer .site-branding { text-align:center; }
.site-footer .site-logo img.custom-logo { max-height:64px !important; width:auto !important; filter:none !important; }
.site-footer .copyright, .site-footer .site-description, .site-footer .copyright p, .site-footer .site-description { color:#4a5a4f !important; font-size:13px !important; line-height:1.75 !important; text-align:center !important; max-width:800px; margin-left:auto !important; margin-right:auto !important; }
.site-footer a { color:#018837 !important; }
/* END B4D Footer */

/* B4D Form */
.wpcf7 .b4d-frow{display:flex;gap:16px;flex-wrap:wrap;}
.wpcf7 .b4d-frow&gt;label{flex:1 1 220px;}
.wpcf7 label{display:block;font-family:Montserrat,sans-serif;font-weight:600;color:#15261a;font-size:14px;margin-bottom:16px;}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 textarea,.wpcf7 select{width:100%;padding:12px 14px;border:1px solid #cfe0cf;border-radius:8px;font-size:15px;font-family:Open Sans,sans-serif;margin-top:6px;background:#fff;color:#15261a;box-sizing:border-box;}
.wpcf7 input:focus,.wpcf7 textarea:focus,.wpcf7 select:focus{outline:none;border-color:#018837;box-shadow:0 0 0 3px rgba(1,136,55,.12);}
.wpcf7 input[type=submit]{background:#018837;color:#fff;border:none;padding:15px 32px;border-radius:10px;font-family:Montserrat,sans-serif;font-weight:700;font-size:16px;cursor:pointer;width:100%;transition:background .2s;margin-top:6px;}
.wpcf7 input[type=submit]:hover{background:#3A913F;}
.wpcf7-response-output{border-radius:8px;padding:12px 16px !important;margin:14px 0 0 !important;font-family:Open Sans,sans-serif;}
.wpcf7 form.sent .wpcf7-response-output{border-color:#018837 !important;background:#eafaef;color:#15261a;}
.wpcf7 .wpcf7-spinner{margin:10px auto 0;display:block;}
/* END B4D Form */

/* B4D HeadTag */
.site-header .site-branding{ text-align:center; }
.site-header .site-description{ display:block; width:132px; max-width:132px; text-align:center; margin:5px 0 0; font-size:12px; line-height:1.35; color:#5b6b60; font-family:Open Sans,sans-serif; }
@media(max-width:1024px){ .site-header .site-description{ margin-left:auto; margin-right:auto; } }
/* END B4D HeadTag */

/* B4D FootCenter */
.site-footer .footer-inner{ width:100%; max-width:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.site-footer .site-branding{ width:100%; text-align:center; display:flex; flex-direction:column; align-items:center; }
.site-footer .site-logo{ margin:0 auto; text-align:center; }
.site-footer .site-logo img.custom-logo{ display:inline-block; }
/* END B4D FootCenter */



/* B4D VerMas */
.b4dpop-122, .b4dpop-123, .b4dpop-124, .b4dpop-125{ display:inline-block; }
.elementor-widget-button:has(.b4dpop-122), .elementor-widget-button:has(.b4dpop-123), .elementor-widget-button:has(.b4dpop-124), .elementor-widget-button:has(.b4dpop-125){ text-align:center; }
/* END B4D VerMas */



/* B4D BtnRow */
.elementor-widget-wrap:has(&gt; .b4d-inline){ display:flex !important; flex-direction:row !important; flex-wrap:wrap; align-items:center; gap:14px; }
.elementor-widget-wrap:has(&gt; .b4d-inline-c){ justify-content:center !important; }
.elementor-widget-wrap:has(&gt; .b4d-inline-l){ justify-content:flex-start !important; }
.b4d-inline{ width:auto !important; max-width:none !important; }
.b4d-inline .elementor-button{ white-space:nowrap; }
@media(max-width:767px){ .elementor-widget-wrap:has(&gt; .b4d-inline){ flex-direction:column !important; align-items:center; } .b4d-inline{ width:100% !important; } .b4d-inline .elementor-button{ width:100%; } }
/* END B4D BtnRow */

/* B4D Eyebrow */
.b4d-eyebrow .elementor-heading-title{ font-size:36px !important; line-height:1.15 !important; }
@media(max-width:767px){ .b4d-eyebrow .elementor-heading-title{ font-size:24px !important; } }
/* END B4D Eyebrow */

/* B4D Premium */
/* Listas con iconos centradas como bloque */
.b4d-clist &gt; .elementor-widget-container{ text-align:center; }
.b4d-clist ul.elementor-icon-list-items{ display:inline-block; text-align:left; margin:0 auto; }
.b4d-clist .elementor-icon-list-item{ justify-content:flex-start; }
/* Imágenes contenidas: transición suave */
.elementor-widget-image img{ transition:transform .45s ease, box-shadow .45s ease; }
/* Carrito y checkout — estilo de marca, centrado y simétrico */
.woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce{ max-width:1120px; margin-left:auto; margin-right:auto; }
.woocommerce table.shop_table{ border-radius:14px !important; border:1px solid rgba(58,145,63,.15) !important; overflow:hidden; box-shadow:0 8px 28px -12px rgba(21,38,26,.12); }
.woocommerce table.shop_table thead th{ background:#15261a !important; color:#fff !important; font-family:Montserrat,sans-serif !important; font-weight:700 !important; padding:16px !important; }
.woocommerce table.shop_table td{ padding:16px !important; }
.woocommerce .cart_totals h2, .woocommerce-checkout h3, .woocommerce-cart h1, .woocommerce-checkout #order_review_heading{ font-family:Montserrat,sans-serif !important; color:#111814 !important; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce .checkout-button, .woocommerce #place_order, .woocommerce .wc-proceed-to-checkout a.checkout-button{ background:#018837 !important; color:#fff !important; border-radius:10px !important; font-family:Montserrat,sans-serif !important; font-weight:700 !important; padding:14px 28px !important; transition:background .2s; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce #place_order:hover, .woocommerce .checkout-button:hover{ background:#3A913F !important; }
.woocommerce .cart-collaterals .cart_totals{ float:none !important; width:100% !important; max-width:480px; margin:0 auto !important; }
.woocommerce .cart-collaterals{ text-align:center; }
.woocommerce .quantity .qty{ border-radius:8px; border:1px solid #cfe0cf; }
.woocommerce .woocommerce-message, .woocommerce .cart-empty{ text-align:center; border-radius:10px; }
.woocommerce-cart article, .woocommerce-checkout article{ }
/* END B4D Premium */


/* B4D Premium v2 (transiciones + WC) */

/* ── Transiciones globales (sitio entero) ── */
html { scroll-behavior: smooth; }
body { animation: b4d-fade-in .42s ease both; }
@keyframes b4d-fade-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
/* Scrollbar premium (Chromium/Edge/Safari) */
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: #eeF4ee; }
::-webkit-scrollbar-thumb { background: #3A913F; border-radius: 6px; border: 3px solid #eef4ee; }
::-webkit-scrollbar-thumb:hover { background: #018837; }
* { scrollbar-color: #3A913F #eef4ee; scrollbar-width: thin; }

/* ── Hover lift en tarjetas del hub (Limpieza/Servicios/Publicidad) ── */
.b4d-unit-card {
  transition: transform .35s cubic-bezier(0.22, 1, 0.36, 1),
              box-shadow .35s cubic-bezier(0.22, 1, 0.36, 1),
              filter .35s ease !important;
  will-change: transform;
}
.b4d-unit-card:hover {
  transform: translateY(-10px) scale(1.012);
  box-shadow: 0 26px 60px -8px rgba(0,0,0,.42) !important;
  filter: saturate(1.08);
}
.b4d-unit-card .elementor-icon-box-icon .elementor-icon {
  transition: transform .5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.b4d-unit-card:hover .elementor-icon-box-icon .elementor-icon { transform: translateY(-4px) scale(1.08); }
.b4d-unit-card .elementor-button {
  transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease !important;
}
.b4d-unit-card:hover .elementor-button:hover { transform: translateY(-2px) scale(1.04); }

/* ── Botones globales: translateY al hover más sutil ── */
.elementor-button, .elementor-button .elementor-button-content-wrapper {
  transition: transform .25s cubic-bezier(0.22, 1, 0.36, 1) !important;
}
.elementor-animation-grow:hover { transform: scale(1.04); }

/* ── Pulsado del botón (active) ── */
.elementor-button:active { transform: translateY(1px) scale(0.99) !important; }

/* ── Sticky header shrink en scroll (mediante :has se hace plain) ── */
.elementor-element:has(&gt; .elementor-section[data-elementor-type="header"]) { transition: box-shadow .3s ease; }
.site-header, .elementor-location-header { transition: box-shadow .3s ease, padding .3s ease; }

/* ───────────────── WOOCOMMERCE PREMIUM ───────────────── */

/* Tarjetas de producto */
.woocommerce ul.products li.product {
  background: #fff;
  border: 1px solid rgba(58,145,63,0.10);
  border-radius: 16px;
  box-shadow: 0 8px 28px -10px rgba(21,38,26,0.14);
  padding: 18px 14px 28px !important;
  margin: 0 8px 24px !important;
  text-align: center;
  transition: transform .35s cubic-bezier(0.22,1,0.36,1), box-shadow .35s ease, border-color .3s ease;
  will-change: transform;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-8px);
  box-shadow: 0 22px 44px -10px rgba(21,38,26,0.28);
  border-color: rgba(58,145,63,0.30);
}
.woocommerce ul.products li.product img {
  border-radius: 12px;
  transition: transform .4s ease;
}
.woocommerce ul.products li.product:hover img { transform: scale(1.04); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  color: #111814 !important;
  font-size: 18px !important;
  letter-spacing: -0.2px;
  padding: 14px 0 6px !important;
}
.woocommerce ul.products li.product .price {
  color: #3A913F !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 20px !important;
  display: block;
  padding: 4px 0 10px;
}
.woocommerce ul.products li.product .price ins { color: #018837 !important; }
.woocommerce ul.products li.product .price del { color: #8a958c !important; font-weight: 500; font-size: 15px; }

/* Badge de oferta */
.woocommerce span.onsale {
  background: linear-gradient(135deg, #3A913F, #018837) !important;
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 10px !important;
  padding: 5px 12px !important;
  top: 12px !important;
  left: 12px !important;
  box-shadow: 0 4px 14px rgba(58,145,63,0.42);
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1.3 !important;
  font-size: 11px !important;
}

/* Botones WooCommerce */
.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 {
  background: #3A913F !important;
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
  padding: 14px 28px !important;
  text-transform: none;
  letter-spacing: 0.2px;
  font-size: 15px !important;
  border: none !important;
  box-shadow: 0 6px 18px rgba(58,145,63,0.30) !important;
  transition: transform .25s cubic-bezier(0.22,1,0.36,1), background-color .25s ease, box-shadow .25s ease !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 {
  background: #46b24c !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(58,145,63,0.42) !important;
}
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active { transform: translateY(1px) scale(0.99); }

/* "Agregar al carrito" AJAX loader */
.woocommerce a.added_to_cart {
  display: inline-block;
  margin-top: 8px;
  font-size: 13px;
  color: #3A913F !important;
  font-weight: 600;
  font-family: 'Montserrat', sans-serif !important;
}

/* Mensajes de info/éxito/error */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews {
  border-top: 4px solid #3A913F !important;
  border-radius: 12px !important;
  background: #f9faf8 !important;
  box-shadow: 0 6px 22px -8px rgba(21,38,26,0.16);
  padding: 18px 22px !important;
  font-family: 'Open Sans', sans-serif;
  border-left: none !important;
  list-style: none !important;
  margin: 18px 0 !important;
  border-bottom: 1px solid rgba(58,145,63,0.08) !important;
}
.woocommerce-message::before { color: #3A913F !important; }
.woocommerce-error { border-top-color: #b91c1c !important; }
.woocommerce-error::before { color: #b91c1c !important; }

/* Cabecera de tablas (carrito / checkout / orden) */
.woocommerce table.shop_table {
  border: 1px solid rgba(58,145,63,0.12) !important;
  border-radius: 14px !important;
  overflow: hidden;
  box-shadow: 0 8px 24px -10px rgba(21,38,26,0.16);
}
.woocommerce table.shop_table th {
  background: #15261a !important;
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  font-size: 12px !important;
  padding: 14px 16px !important;
  border: none !important;
}
.woocommerce table.shop_table td {
  padding: 14px 16px !important;
  border-top: 1px solid rgba(58,145,63,0.08) !important;
  vertical-align: middle !important;
}
.woocommerce table.shop_table tbody tr:nth-child(even) td { background: #f9fdfa; }

/* Totales del carrito centrados */
.cart-collaterals .cart_totals h2,
.cart-collaterals .cart_totals table.shop_table,
.woocommerce-checkout-review-order .shop_table {
  text-align: center;
}
.cart-collaterals .cart_totals .shop_table th,
.woocommerce-checkout-review-order .shop_table th { text-align: center !important; }
.cart-collaterals .cart_totals .shop_table .order-total .amount,
.woocommerce-checkout-review-order .order-total .amount {
  color: #3A913F;
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 20px;
}

/* Inputs del checkout premium */
.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="tel"],
.woocommerce form .form-row input[type="password"],
.woocommerce form .form-row input[type="search"],
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1.5px solid rgba(58,145,63,0.18) !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  font-family: 'Open Sans', sans-serif;
  font-size: 15px !important;
  background: #fff !important;
  transition: border-color .25s ease, box-shadow .25s ease, transform .15s ease !important;
}
.woocommerce form .form-row input[type="text"]:focus,
.woocommerce form .form-row input[type="email"]:focus,
.woocommerce form .form-row input[type="tel"]:focus,
.woocommerce form .form-row input[type="password"]:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: #3A913F !important;
  box-shadow: 0 0 0 4px rgba(58,145,63,0.16) !important;
  outline: none !important;
  transform: translateY(-1px);
}
.woocommerce form .form-row label { font-family: 'Montserrat', sans-serif; font-weight: 600; color: #15261a; font-size: 13px; }

/* Select2 (state/county en checkout) */
.select2-container .select2-selection--single {
  border-radius: 10px !important;
  border-color: rgba(58,145,63,0.18) !important;
  height: 44px !important;
  padding: 6px 12px !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 30px !important; }

/* Coupons / "Aplicar cupón" */
.woocommerce .coupon input.input-text {
  border-radius: 10px !important;
  padding: 11px 14px !important;
  width: auto !important;
  min-width: 180px;
  margin-right: 8px;
}

/* Migas (breadcrumb) */
.woocommerce-breadcrumb {
  font-family: 'Open Sans', sans-serif;
  color: #5b6b60 !important;
  padding: 8px 0 !important;
  font-size: 13px;
}
.woocommerce-breadcrumb a { color: #3A913F !important; font-weight: 600; }
.woocommerce-breadcrumb a:hover { color: #018837 !important; }

/* Paginación de tienda */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border: 1px solid rgba(58,145,63,0.18) !important;
  border-radius: 8px !important;
  color: #15261a !important;
  margin: 0 3px !important;
  padding: 8px 14px !important;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  transition: all .25s ease !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: #3A913F !important; color: #fff !important; border-color: #3A913F !important; transform: translateY(-1px);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: #15261a !important; color: #fff !important; border-color: #15261a !important;
}

/* Sidebar widgets ( filtros / categorias ) */
.woocommerce .widget-area .widget h2,
.woocommerce .widget-area .widget .widget-title { font-family: 'Montserrat', sans-serif; color: #15261a; }

/* Producto individual */
.single-product div.product .product_title { font-family: 'Montserrat', sans-serif !important; color: #111814 !important; }
.single-product div.product .summary .price { color: #3A913F !important; font-family: 'Montserrat', sans-serif !important; }
.single-product div.product .woocommerce-product-gallery__image img { border-radius: 16px; box-shadow: 0 8px 28px -10px rgba(21,38,26,0.20); }

/* Tabs de producto */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-color: #3A913F !important; background: #fff !important; color: #3A913F !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #3A913F !important; font-weight: 700; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-radius: 10px 10px 0 0 !important; }

/* Mini-cart badge pulse (en header) */
.b4d-cart-count {
  font-family: 'Montserrat', sans-serif !important;
  transition: transform .3s ease;
  animation: b4d-cart-bounce .35s ease;
}
@keyframes b4d-cart-bounce { 0% { transform: scale(0.6); } 60% { transform: scale(1.2); } 100% { transform: scale(1); } }
.b4d-cart-link { transition: transform .25s ease, color .2s ease; }
.b4d-cart-link:hover { transform: scale(1.08); color: #018837; }

/* "Cantidad" input premium */
.woocommerce .quantity .qty,
.woocommerce #content .quantity .qty {
  border: 1.5px solid rgba(58,145,63,0.18) !important;
  border-radius: 8px !important;
  padding: 8px 10px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700;
  font-size: 15px !important;
  color: #15261a !important;
}

/* Botón de checkout (final) */
.woocommerce .checkout-button {
  background: linear-gradient(135deg, #3A913F, #018837) !important;
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  text-align: center;
  padding: 16px 24px !important;
  border-radius: 12px !important;
  font-size: 17px !important;
  display: block;
  box-shadow: 0 10px 28px rgba(58,145,63,0.36) !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
}
.woocommerce .checkout-button:hover { transform: translateY(-3px); box-shadow: 0 18px 36px rgba(58,145,63,0.46) !important; }
/* END B4D Premium v2 */



/* B4D Final Fixes (navbar + popups + counters) */

/* ── Ocultar navbar duplicado ── */
.site-header ~ .site-header { display: none !important; }
.header-main ~ .header-main { display: none !important; }
.elementor-location-header ~ .elementor-location-header { display: none !important; }

/* ── Ocultar popups de Popup Maker ── */
.pum-popup { display: none !important; }
.pum-popup.pum-is-open { display: block !important; }
.pum-container { display: none !important; }
.pum-container.pum-is-open { display: block !important; }

/* ── Forzar textos a la izquierda ── */
.elementor-widget-text-editor .elementor-widget-container { text-align: left !important; }
.elementor-text-editor { text-align: left !important; }
/* heading-align: controlado por Elementor por elemento */

/* END B4D Final Fixes */



/* B4D Editorial Design v4 */

/* ── Eyebrow con barra ── */
.b4d-eyebrow-line {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: inherit;
}
.b4d-eyebrow-bar {
  display: inline-block;
  width: 40px;
  height: 1px;
  background: currentColor;
  opacity: 0.7;
}

/* ── Hero título con em cursiva fluida ── */
.b4d-hero-title {
  font-family: 'Montserrat', sans-serif !important;
}
.b4d-hero-title em.b4d-em,
.b4d-em {
  font-style: italic;
  font-weight: 400 !important;
  font-family: 'Montserrat', sans-serif;
}

/* ── Lead text (intro del hero) ── */
.b4d-lead {
  font-family: 'Open Sans', sans-serif;
  max-width: 640px;
  font-weight: 300;
}

/* ── Stats editoriales (números gigantes) ── */
.b4d-num {
  font-family: 'Montserrat', sans-serif !important;
  font-style: normal;
  font-weight: 300;
  font-size: clamp(80px, 11vw, 160px);
  line-height: 0.92;
  letter-spacing: -0.06em;
  display: inline-block;
}
.b4d-suf {
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  font-size: clamp(40px, 5vw, 70px);
  color: rgba(154, 230, 160, 0.7);
  margin-left: 4px;
  letter-spacing: -0.04em;
  vertical-align: top;
  line-height: 1;
  position: relative;
  top: 0.2em;
}

/* ── Bloques de unidades ── */
.b4d-unit-block {
  position: relative;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.b4d-unit-block:hover {
  transform: translateY(-4px);
}
.b4d-unit-num {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 200 !important;
  letter-spacing: -0.05em !important;
  line-height: 0.85 !important;
  margin-bottom: 0 !important;
}
.b4d-unit-block h3 {
  margin-top: 0 !important;
}

/* ── Botón transparente con borde inferior sutil ── */
.elementor-widget-button .elementor-button {
  transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1) !important;
}
.elementor-widget-button .elementor-button:hover {
  transform: translateX(6px);
}

/* ── Tipografía fluida para todo el sitio ── */
.elementor-widget-heading .elementor-heading-title em.b4d-em,
.elementor-widget-heading em.b4d-em {
  font-style: italic;
  font-weight: 300 !important;
}

/* ── Smooth scroll ── */
html { scroll-behavior: smooth; }
*::selection { background: rgba(58,145,63,0.25); color: #111814; }

/* END B4D Editorial Design v4 */



/* B4D Fluid Typography v5 */

/* Tipografía fluida con clamp() — reemplaza breakpoints discretos */
.b4d-hero-title { font-size: clamp(34px, 7.5vw, 88px) !important; line-height: 0.98 !important; letter-spacing: -3.5px !important; }
.elementor-widget-heading h2 { font-size: clamp(28px, 5.4vw, 72px) !important; }

/* Eyebrow line más pequeño en mobile */
@media(max-width:767px){
  .b4d-eyebrow-bar{ width:24px !important; }
  .b4d-eyebrow-line{ gap:10px !important; }
}

/* Stats 2x2 en mobile */
@media(max-width:767px){
  .elementor-section-wrap &gt; section[data-stackable=true] .elementor-col-25,
  .elementor-col-25{ width:50% !important; }
}

/* Botones stop full-width stretch en mobile */
@media(max-width:767px){
  .b4d-inline .elementor-button{ max-width:340px !important; width:100% !important; margin:0 auto !important; }
}

/* Eliminar body fade-in animation (LCP fix) */
body{ animation: none !important; opacity: 1 !important; }

/* Stats labels contraste WCAG AAA large text */
.b4d-num + * { color: rgba(255,255,255,0.68) !important; }

/* Testimonials — quote italic destacada */
.b4d-testimonial-quote{ font-style: italic; }
.b4d-testimonial-name{ font-family: 'Montserrat', sans-serif; font-weight: 700; color: #111814; }

/* FAQ acordeón premium look */
.elementor-widget-accordion .elementor-accordion-item{ margin-bottom: 12px; border-radius: 12px; overflow: hidden; border: 1px solid rgba(58,145,63,0.12) !important; }
.elementor-widget-accordion .elementor-tab-title{ font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; padding: 18px 22px !important; background: #fff !important; }
.elementor-widget-accordion .elementor-tab-title.elementor-active{ color: #3A913F !important; border-bottom: 2px solid #3A913F !important; }
.elementor-widget-accordion .elementor-tab-content{ padding: 0 22px 20px !important; color: #5b6b60 !important; line-height: 1.6 !important; background: #fff !important; }

/* Trust badges row — icons grandes, descripción corta */
.elementor-icon-box-icon .elementor-icon{ transition: transform .35s ease; }
.b4d-trust:hover .elementor-icon-box-icon .elementor-icon{ transform: translateY(-4px) scale(1.08); }

/* Stats numbers wrap móvil: evitar overflow */
@media(max-width:480px){
  .b4d-num{ font-size: clamp(56px, 16vw, 100px) !important; }
  .b4d-suf{ font-size: clamp(28px, 8vw, 50px) !important; }
}

/* END B4D Fluid Typography v5 */

/* B4D CSS START */
/* ════════════════════════════════════════════════════════════
   B4D · refinamientos UI (pase de diseño)
   Se inyecta en post 45 entre marcadores B4D CSS START/END
   ════════════════════════════════════════════════════════════ */

/* ── Stats editoriales: evitar que el sufijo (%, h) se vaya de línea
      y tamaño más equilibrado para que las etiquetas alineen ── */
.b4d-num { font-size: clamp(58px, 6.8vw, 94px) !important; white-space: nowrap; }
.b4d-suf { font-size: clamp(26px, 3vw, 40px) !important; top: 0.1em; }

/* ── Tarjetas de categoría: ícono en círculo verde, centrado y con hover
      (.b4d-catbox es clase del widget icon-box, que sí se aplica) ── */
.b4d-catbox .elementor-icon-box-wrapper { text-align: center; }
.b4d-catbox .elementor-icon-box-icon { margin-bottom: 20px !important; }
.b4d-catbox .elementor-icon {
  width: 78px; height: 78px; border-radius: 50%;
  background: rgba(58, 145, 63, 0.10);
  display: inline-flex !important; align-items: center; justify-content: center;
  transition: background .35s cubic-bezier(.22, 1, .36, 1);
}
.b4d-catbox .elementor-icon i { font-size: 32px; }
.b4d-catbox:hover .elementor-icon { background: #3A913F; }
.b4d-catbox:hover .elementor-icon i { color: #fff !important; }
.b4d-catbox .elementor-icon-box-title { margin-bottom: 6px !important; }

/* ── Grilla de productos WooCommerce dentro del shortcode (Inicio) ── */
.elementor-widget-shortcode ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px; margin: 0 !important; padding: 0 !important; list-style: none;
}
.elementor-widget-shortcode ul.products::before,
.elementor-widget-shortcode ul.products::after { display: none !important; content: none !important; }
.elementor-widget-shortcode ul.products li.product {
  width: auto !important; margin: 0 !important; float: none !important; clear: none !important;
}
@media (max-width: 1024px) { .elementor-widget-shortcode ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .elementor-widget-shortcode ul.products { grid-template-columns: 1fr; } }

/* ── Tarjeta de producto WooCommerce: uniforme, pareja y con hover ── */
ul.products li.product {
  background: #fff;
  border: 1px solid rgba(58,145,63,0.12);
  border-radius: 16px;
  padding: 16px 16px 20px !important;
  text-align: center;
  display: flex !important; flex-direction: column;
  box-shadow: 0 8px 26px -16px rgba(21,38,26,0.22);
  transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s cubic-bezier(.22,1,.36,1);
}
ul.products li.product:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px -18px rgba(21,38,26,0.30);
}
ul.products li.product img {
  aspect-ratio: 1 / 1; object-fit: cover;
  width: 100% !important; height: auto; border-radius: 10px; margin-bottom: 16px !important;
}
ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Montserrat', sans-serif; font-weight: 600;
  font-size: 15px !important; line-height: 1.35; min-height: 40px; padding: 0 4px !important;
}
ul.products li.product .price { color: #3A913F !important; font-weight: 700; font-size: 18px; }
ul.products li.product .button { margin-top: auto !important; }

/* ════════════════════════════════════════════════════════════
   Pase profesional — refinamiento global
   ════════════════════════════════════════════════════════════ */

/* Eyebrows: línea-acento bajo la etiqueta verde */
.b4d-eyebrow .elementor-heading-title::after {
  content: ""; display: block; width: 46px; height: 3px; border-radius: 3px;
  background: currentColor; opacity: .55; margin: 12px auto 0;
}

/* Botones: sombra más sutil y refinada (menos "glow") */
.elementor-button {
  box-shadow: 0 8px 20px -10px rgba(21,38,26,0.40) !important;
  letter-spacing: .3px !important;
}

/* Tarjetas con sombra (categorías, testimonios, pilares): sombra premium y borde fino */
.elementor-widget-icon-box, .elementor-column { }
.b4d-stars { letter-spacing: 4px; margin: 0 !important; }

/* Estrellas de testimonios y tarjetas: igualar altura del grupo */
.elementor-section .elementor-row, .elementor-section .elementor-container { align-items: stretch; }

/* Hero: el eyebrow verde claro un poco más legible sobre la foto */
.b4d-hero-bg .b4d-eyebrow .elementor-heading-title,
.elementor-section .b4d-eyebrow .elementor-heading-title { text-shadow: 0 1px 10px rgba(0,0,0,0.25); }

/* Tipografía de cuerpo un poco más nítida */
body, .elementor-widget-text-editor { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* Navbar: leve sombra para separarlo del contenido (más pro) */
header.elementor-location-header, .elementor-location-header {
  box-shadow: 0 1px 0 rgba(21,38,26,0.06), 0 8px 24px -18px rgba(21,38,26,0.25);
}

/* ── Tarjetas de categoría: ícono mayor en círculo con degradado + elevación ── */
.b4d-catbox .elementor-icon {
  width: 86px !important; height: 86px !important;
  background: linear-gradient(145deg, rgba(58,145,63,0.16), rgba(58,145,63,0.05)) !important;
}
.b4d-catbox .elementor-icon i { font-size: 35px !important; }
.b4d-catbox .elementor-icon-box-title { font-size: 18px !important; font-weight: 700 !important; }
.b4d-catbox .elementor-icon-box-description { font-size: 15px !important; }
/* Elevar toda la tarjeta (columna) al pasar el mouse */
.elementor-column:has(.b4d-catbox) {
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s cubic-bezier(.22,1,.36,1);
}
.elementor-column:has(.b4d-catbox):hover {
  transform: translateY(-8px);
  box-shadow: 0 26px 50px -22px rgba(21,38,26,0.32) !important;
}

/* ── Tipografía de títulos: tracking y render más premium ── */
.elementor-heading-title { font-family: 'Montserrat', sans-serif; }
h1.elementor-heading-title { letter-spacing: -0.025em; }
h2.elementor-heading-title { letter-spacing: -0.02em; }
.b4d-em { letter-spacing: -0.01em; }

/* ── Ritmo vertical: un poco más de aire bajo los eyebrows ── */
.b4d-eyebrow { margin-bottom: 4px; }

/* ── Tarjetas de categoría: descripción + CTA "Ver productos" ── */
.b4d-cat .elementor-icon-box-description { font-size: 14px !important; color: #5b6b60 !important; margin-top: 4px; }
.b4d-cat .elementor-icon-box-content::after {
  content: "Ver productos  →";
  display: block; margin-top: 16px;
  color: #3A913F; font-family: 'Montserrat', sans-serif; font-weight: 700;
  font-size: 13px; letter-spacing: .3px; opacity: .9; transition: transform .3s, opacity .3s;
}
.b4d-cat:hover .elementor-icon-box-content::after { opacity: 1; transform: translateX(3px); }

/* ── Móvil: hero con más aire (titulares h1 más contenidos) ── */
@media (max-width: 767px) {
  h1.elementor-heading-title { font-size: 33px !important; line-height: 1.14 !important; }
  .elementor-widget-shortcode ul.products { gap: 18px; }
}

/* ════════════════════════════════════════════════════════════
   Animaciones de entrada más suaves
   (Elementor por defecto desplaza 100% → brusco; lo hacemos sutil)
   ════════════════════════════════════════════════════════════ */
.elementor-element.animated {
  animation-duration: .9s !important;
  animation-timing-function: cubic-bezier(.16, 1, .3, 1) !important;
  animation-fill-mode: both !important;
}
/* Forzamos keyframes propios (nombre único) para no competir con Elementor */
.elementor-element.animated.fadeInUp,
.elementor-element.animated.fadeInDown { animation-name: b4dFadeUp !important; }
.elementor-element.animated.fadeInLeft { animation-name: b4dFadeLeft !important; }
.elementor-element.animated.fadeInRight { animation-name: b4dFadeRight !important; }
.elementor-element.animated.fadeIn,
.elementor-element.animated.zoomIn { animation-name: b4dFadeIn !important; }

@keyframes b4dFadeUp    { from { opacity:0; transform: translate3d(0, 26px, 0);  } to { opacity:1; transform:none; } }
@keyframes b4dFadeLeft  { from { opacity:0; transform: translate3d(-28px, 0, 0); } to { opacity:1; transform:none; } }
@keyframes b4dFadeRight { from { opacity:0; transform: translate3d(28px, 0, 0);  } to { opacity:1; transform:none; } }
@keyframes b4dFadeIn    { from { opacity:0; } to { opacity:1; } }

/* Respeta a quien prefiere menos movimiento */
@media (prefers-reduced-motion: reduce) {
  .elementor-element.animated { animation: none !important; }
  .elementor-invisible { opacity: 1 !important; }
  #b4d-wa { animation: none !important; }
}

/* ════════════════════════════════════════════════════════════
   Microinteracciones
   ════════════════════════════════════════════════════════════ */
/* Menú: color verde de marca en hover y en el ítem actual */
.site-header .menu &gt; li &gt; a { transition: color .25s ease; }
/* (El estilo "pill" del ítem Acceso staff se inyecta desde el footer
   mu-plugin para cargar después del CSS del tema y ganar la cascada.) */
.site-header .menu &gt; li &gt; a:hover { color: #3A913F !important; }
.site-header .menu &gt; li.current-menu-item.current-menu-item &gt; a:hover,
.site-header .menu &gt; li.current_page_item.current_page_item &gt; a:hover { color: #3A913F !important; }

/* Botones: elevación suave al pasar el mouse (en vez del "grow" brusco) */
.elementor-button {
  transition: transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s ease, background-color .28s ease !important;
}
.elementor-button:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 14px 28px -12px rgba(21,38,26,0.45) !important;
}

/* WhatsApp flotante: pulso sutil + escala en hover */
#b4d-wa { animation: b4dPulse 2.6s ease-out infinite; }
#b4d-wa:hover { transform: scale(1.08); }
@keyframes b4dPulse {
  0%   { box-shadow: 0 0 0 0 rgba(37,211,102,0.45); }
  70%  { box-shadow: 0 0 0 16px rgba(37,211,102,0); }
  100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); }
}

/* ════════════════════════════════════════════════════════════
   Tienda · Carrito / Checkout / Mi cuenta
   ════════════════════════════════════════════════════════════ */
/* Encabezado de página (banda verde) */
.b4d-shop-head {
  background: linear-gradient(135deg,#0e2013 0%,#1c4a25 58%,#338a3f 100%);
  margin: 0 0 42px; padding: 52px 24px; text-align: center; border-radius: 16px;
}
.b4d-shop-head h1 { color:#fff; font-family:'Montserrat',sans-serif; font-weight:800; font-size:38px; line-height:1.1; margin:0 0 8px; letter-spacing:-.02em; }
.b4d-shop-head p { color:rgba(255,255,255,.85); font-size:16px; margin:0; }

/* Carrito/checkout: ensanchar el contenedor en tablet (el theme lo limita a 600px) */
@media (min-width: 768px) {
  .woocommerce-cart .site-main, .woocommerce-checkout .site-main {
    max-width: 1120px !important; padding-left: 24px !important; padding-right: 24px !important; box-sizing: border-box;
  }
}
/* Carrito: 2 columnas en tablet y desktop (productos | resumen) */
@media (min-width: 768px) {
  .woocommerce-cart .woocommerce { display:flex; flex-wrap:wrap; align-items:flex-start; gap:24px; }
  .woocommerce-cart .woocommerce-notices-wrapper { flex:0 0 100%; }
  .woocommerce-cart .woocommerce-cart-form { flex:1 1 55%; min-width:0; margin:0 !important; }
  .woocommerce-cart .cart-collaterals { flex:1 1 280px; width:auto !important; margin:0 !important; }
  .woocommerce-cart .cart-collaterals .cart_totals { width:100% !important; float:none !important; position:sticky; top:108px; }
}

/* Tabla del carrito */
.woocommerce-cart table.cart { border:1px solid rgba(58,145,63,.14) !important; border-radius:14px; overflow:hidden; box-shadow:0 12px 32px -20px rgba(21,38,26,.22); }
.woocommerce-cart table.cart td { vertical-align:middle !important; }
.woocommerce-cart table.cart img { width:66px !important; height:66px; object-fit:cover; border-radius:10px; }
.woocommerce-cart td.product-name a { color:#15261a !important; font-weight:600; }
.woocommerce-cart td.product-name a:hover { color:#3A913F !important; }
.woocommerce-cart .product-remove a { color:#c0392b !important; font-weight:700; font-size:17px; text-decoration:none; }
.woocommerce-cart input.qty { border:1px solid #d7e3d8 !important; border-radius:9px !important; padding:8px !important; }

/* Caja de totales */
.cart_totals { background:#fff; border:1px solid rgba(58,145,63,.16); border-radius:14px; padding:8px 24px 24px; box-shadow:0 14px 34px -20px rgba(21,38,26,.24); }
.cart_totals h2 { font-family:'Montserrat',sans-serif; font-weight:800; font-size:20px; }
.cart_totals .order-total .amount { color:#3A913F !important; font-size:20px; }
.wc-proceed-to-checkout .checkout-button {
  background:#3A913F !important; color:#fff !important; font-family:'Montserrat',sans-serif !important;
  font-weight:700 !important; border-radius:10px !important; padding:16px 22px !important; font-size:16px !important;
  box-shadow:0 10px 24px -10px rgba(58,145,63,.5) !important; transition:transform .25s, background-color .25s !important;
}
.wc-proceed-to-checkout .checkout-button:hover { background:#2f7d39 !important; transform:translateY(-2px); }

/* Cupón / actualizar */
.woocommerce-cart .coupon input { border:1px solid #d7e3d8 !important; border-radius:9px !important; }
.woocommerce-cart .actions .button, .woocommerce-cart .coupon .button { border-radius:9px !important; }

/* Carrito vacío */
.woocommerce-cart .cart-empty { text-align:center; font-size:19px; font-family:'Montserrat',sans-serif; }
.woocommerce-cart .return-to-shop { text-align:center; }
.woocommerce-cart .return-to-shop .button { background:#3A913F !important; color:#fff !important; border-radius:10px !important; padding:14px 28px !important; font-weight:700 !important; }

/* Checkout: campos y botón coherentes con la marca */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .select2-selection {
  border:1px solid #d7e3d8 !important; border-radius:9px !important; padding:12px !important; min-height:46px;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
  border-color:#3A913F !important; box-shadow:0 0 0 3px rgba(58,145,63,.15) !important; outline:none;
}
.woocommerce-checkout #payment { background:#f6f9f6 !important; border-radius:14px; }
.woocommerce-checkout #place_order {
  background:#3A913F !important; color:#fff !important; border-radius:10px !important;
  font-family:'Montserrat',sans-serif !important; font-weight:700 !important; padding:16px 22px !important; font-size:16px !important;
  box-shadow:0 10px 24px -10px rgba(58,145,63,.5) !important; transition:transform .25s, background-color .25s !important;
}
.woocommerce-checkout #place_order:hover { background:#2f7d39 !important; transform:translateY(-2px); }
.woocommerce-checkout table.shop_table { border-radius:14px; overflow:hidden; }
/* Checkout 2 columnas en desktop (datos | resumen STICKY).
   El mu-plugin b4d-checkout.php envuelve encabezado+resumen en
   .b4d-checkout-side, que con flex align-items:stretch toma la altura del
   formulario → el #order_review puede quedar fijo (sticky) dentro. */
@media (min-width:900px){
  .woocommerce-checkout form.checkout { display:flex; flex-wrap:wrap; align-items:stretch; align-content:flex-start; gap:0 38px; }
  .woocommerce-checkout #customer_details { flex:1 1 0; min-width:0; }
  .woocommerce-checkout #customer_details .col-1,
  .woocommerce-checkout #customer_details .col-2 { width:100% !important; float:none !important; margin:0 0 18px !important; }
  .woocommerce-checkout .b4d-checkout-side { flex:0 0 360px; }
  .woocommerce-checkout .b4d-checkout-side #order_review_heading { margin-top:0 !important; }
  .woocommerce-checkout .b4d-checkout-side #order_review { position:sticky; top:100px; }
}
/* Checkout en tablet/móvil: una sola columna centrada (no estirar el form) */
@media (max-width:899px){
  .woocommerce-checkout form.checkout { max-width:640px; margin-left:auto; margin-right:auto; }
  .woocommerce-checkout .b4d-checkout-side #order_review_heading { margin-top:28px; }
}

/* "Tu pedido": encabezado limpio (sin gradiente arcoíris) + tarjeta de resumen */
.woocommerce-checkout #order_review_heading {
  font-family:'Montserrat',sans-serif !important; font-weight:800 !important; font-size:20px !important;
  color:#15261a !important; -webkit-text-fill-color:#15261a !important; background:none !important;
  -webkit-background-clip:border-box !important; background-clip:border-box !important; margin-bottom:14px !important;
}
.woocommerce-checkout #order_review {
  background:#fff; border:1px solid rgba(58,145,63,.16); border-radius:16px;
  padding:6px 22px 20px; box-shadow:0 16px 40px -24px rgba(21,38,26,.34);
}
.woocommerce-checkout #order_review table.shop_table { border:0 !important; margin:0; background:transparent !important; box-shadow:none !important; }
.woocommerce-checkout #order_review table.shop_table thead th {
  background:transparent !important; color:#8aa091 !important; font-family:'Montserrat',sans-serif !important;
  font-size:11px !important; font-weight:700 !important; letter-spacing:.06em; text-transform:uppercase;
  border:0 !important; padding:16px 0 8px !important;
}
.woocommerce-checkout #order_review table.shop_table td,
.woocommerce-checkout #order_review table.shop_table tfoot th {
  border:0 !important; border-bottom:1px solid #eef2ee !important; background:transparent !important;
  padding:12px 0 !important; color:#3c4a41; font-size:14px;
}
.woocommerce-checkout #order_review .cart_item td.product-name { font-weight:600; color:#15261a; }
.woocommerce-checkout #order_review .cart_item td.product-total { text-align:right; white-space:nowrap; }
.woocommerce-checkout #order_review tfoot .order-total th { font-family:'Montserrat',sans-serif; font-weight:700; font-size:16px; color:#15261a; }
.woocommerce-checkout #order_review tfoot .order-total td { font-family:'Montserrat',sans-serif !important; font-weight:800 !important; font-size:22px !important; color:#3A913F !important; text-align:right; }
.woocommerce-checkout #order_review tfoot tr:last-child th, .woocommerce-checkout #order_review tfoot tr:last-child td { border-bottom:0 !important; }
/* Cuadrar columnas de "Tu pedido": encabezados alineados con los datos */
.woocommerce-checkout #order_review table.shop_table th.product-name,
.woocommerce-checkout #order_review table.shop_table td.product-name,
.woocommerce-checkout #order_review table.shop_table tfoot th { text-align: left !important; }
.woocommerce-checkout #order_review table.shop_table th.product-total,
.woocommerce-checkout #order_review table.shop_table td.product-total,
.woocommerce-checkout #order_review table.shop_table tfoot td { text-align: right !important; }

/* "Tu pedido": opciones de envío (despacho/retiro) como lista clara y legible */
.woocommerce-checkout #order_review tr.woocommerce-shipping-totals th { display:block; width:100%; text-align:left !important; padding:14px 0 2px !important; }
.woocommerce-checkout #order_review tr.woocommerce-shipping-totals td { display:block; width:100%; text-align:left !important; padding:0 0 6px !important; }
.woocommerce-checkout #order_review #shipping_method { list-style:none; margin:0; padding:0; }
.woocommerce-checkout #order_review #shipping_method li { display:flex; align-items:flex-start; gap:9px; padding:7px 10px; border:1px solid #eef2ee; border-radius:10px; margin:6px 0; transition:border-color .2s, background .2s; }
.woocommerce-checkout #order_review #shipping_method li:hover { border-color:#bfe0c3; background:#f6fbf6; }
.woocommerce-checkout #order_review #shipping_method li input { margin:2px 0 0; flex:0 0 auto; }
.woocommerce-checkout #order_review #shipping_method li label { margin:0; font-weight:600; color:#15261a; text-align:left; line-height:1.35; }
.woocommerce-checkout #order_review #shipping_method li label .amount { font-weight:700; color:#3A913F; }

/* ── Avisos WooCommerce (validación): caja limpia, a ancho completo, responsive ── */
.woocommerce-error, .woocommerce-info, .woocommerce-message {
  list-style:none !important; border-radius:10px !important; padding:14px 18px 14px 48px !important;
  margin:0 0 20px !important; box-shadow:none !important; font-family:'Open Sans',sans-serif !important;
  font-size:14px !important; line-height:1.5 !important;
  background-repeat:no-repeat !important; background-position:18px 14px !important; background-size:18px 18px !important;
}
/* El icono nativo sale de la fuente de iconos de WooCommerce y ese glifo ya no
   existe: se veía un cuadrado vacío pisando el texto. Lo apagamos y usamos SVG. */
.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before { content:none !important; display:none !important; }
.woocommerce-error { background-color:#fdeceb !important; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d4453e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 7v6'/%3E%3Cpath d='M12 16.5h.01'/%3E%3C/svg%3E") !important; border:1px solid #f1b0ad !important; border-left:4px solid #d4453e !important; color:#8a2b27 !important; }
.woocommerce-error li { padding:2px 0 !important; list-style:none !important; }
.woocommerce-info { background-color:#eef5ff !important; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233a7bd5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-5'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E") !important; border:1px solid #bcd6f5 !important; border-left:4px solid #3a7bd5 !important; color:#234a73 !important; }
.woocommerce-message { background-color:#eaf7ec !important; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233A913F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M8 12.5l2.5 2.5L16 9.5'/%3E%3C/svg%3E") !important; border:1px solid #b6e0bd !important; border-left:4px solid #3A913F !important; color:#1f5b29 !important; }
/* checkout: que el aviso ocupe todo el ancho arriba del formulario (no angosto a la izquierda) */
.woocommerce-checkout form.checkout .woocommerce-NoticeGroup { flex-basis:100% !important; width:100% !important; order:-1; box-sizing:border-box; }
/* campos inválidos resaltados (rojo) */
.woocommerce-invalid input.input-text, .woocommerce-invalid select, .woocommerce-invalid textarea,
.woocommerce form .woocommerce-invalid .select2-selection {
  border-color:#e05d5d !important; box-shadow:0 0 0 3px rgba(224,93,93,.12) !important;
}

/* ════════ Mi cuenta (cliente) ════════ */
.woocommerce-account h2, .woocommerce-account h3 { font-family:'Montserrat',sans-serif; font-weight:800; }
/* Formularios de login / registro */
.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register {
  border:1px solid rgba(58,145,63,.14) !important; border-radius:14px !important;
  padding:28px !important; box-shadow:0 12px 32px -20px rgba(21,38,26,.2);
}
.woocommerce-account form .form-row input.input-text,
.woocommerce-account .woocommerce-EditAccountForm input {
  border:1px solid #d7e3d8 !important; border-radius:9px !important; padding:12px !important; min-height:46px;
}
.woocommerce-account form .form-row input.input-text:focus,
.woocommerce-account .woocommerce-EditAccountForm input:focus {
  border-color:#3A913F !important; box-shadow:0 0 0 3px rgba(58,145,63,.15) !important; outline:none;
}
.woocommerce-account .woocommerce-form button.button,
.woocommerce-account .woocommerce-Button { background:#3A913F !important; color:#fff !important; border-radius:9px !important; font-family:'Montserrat',sans-serif !important; font-weight:700 !important; padding:13px 26px !important; }
.woocommerce-account .woocommerce-form button.button:hover { background:#2f7d39 !important; }

/* Panel logueado: navegación lateral + contenido */
@media (min-width:783px){
  /* SOLO logueado: nav + contenido en 2 columnas (si no, el aviso de error
     del login se volvía un ítem flex angosto y descuadrado) */
  .woocommerce-account.logged-in .woocommerce { display:flex; gap:34px; align-items:flex-start; }
  .woocommerce-account.logged-in .woocommerce-MyAccount-navigation { flex:0 0 250px; }
  .woocommerce-account.logged-in .woocommerce-MyAccount-content { flex:1 1 auto; min-width:0; margin:0; }
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:0; background:#fff; border:1px solid rgba(58,145,63,.14); border-radius:14px; overflow:hidden; box-shadow:0 12px 30px -20px rgba(21,38,26,.2); }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin:0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display:block; padding:13px 18px; color:#15261a !important; border-bottom:1px solid #eef2ee; font-family:'Montserrat',sans-serif; font-weight:600; text-decoration:none; transition:background .2s,color .2s; }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a { border-bottom:0; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background:#f1f8f1; color:#3A913F !important; box-shadow: inset 3px 0 0 #3A913F; }
/* Tabla de pedidos del cliente */
.woocommerce-account table.woocommerce-orders-table, .woocommerce-account table.shop_table { border:1px solid rgba(58,145,63,.14); border-radius:14px; overflow:hidden; }
.woocommerce-account table.shop_table thead th { background:#15261a; color:#fff; font-family:'Montserrat',sans-serif; font-size:13px; }
.woocommerce-account .woocommerce-orders-table__cell a.button, .woocommerce-account .button { background:#3A913F !important; color:#fff !important; border-radius:8px !important; }

/* ════════════════════════════════════════════════════════════
   FIX: tarjeta de categoría 100% clickeable (no solo el ícono)
   ════════════════════════════════════════════════════════════ */
.b4d-catbox { position: relative; }
.b4d-catbox .elementor-icon-box-icon a.elementor-icon { position: static; }
.b4d-catbox .elementor-icon-box-icon a.elementor-icon::after {
  content: ""; position: absolute; inset: 0; z-index: 4;
}
.b4d-catbox .elementor-icon-box-content { position: relative; z-index: 1; }
/* cursor de mano sobre toda la tarjeta */
.elementor-widget-icon-box.b4d-catbox, .b4d-catbox * { cursor: pointer; }

/* ════════════════════════════════════════════════════════════
   SISTEMA DE BOTONES — estructura consistente en todo el sitio
   ════════════════════════════════════════════════════════════ */
.elementor-button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce-cart .checkout-button,
.woocommerce-checkout #place_order, .wp-block-button__link {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: .2px !important;
  border-radius: 10px !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  transition: transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s ease, background-color .25s ease, color .25s ease, filter .25s ease !important;
}
.elementor-button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce-cart .checkout-button:hover, .woocommerce-checkout #place_order:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px -12px rgba(21,38,26,.45);
}
/* Botones secundarios (transparentes sobre fondo verde/oscuro): borde sutil */
.b4d-hero-bg .elementor-button[style*="rgba(0, 0, 0, 0)"],
.elementor-button.b4d-ghost {
  border: 1.5px solid rgba(255,255,255,.55) !important;
}

/* ════════════════════════════════════════════════════════════
   CARRITO — estructura más clara y espaciosa
   ════════════════════════════════════════════════════════════ */
.woocommerce-cart table.cart thead th { padding: 16px 18px !important; font-size: 12px !important; letter-spacing: .06em; }
.woocommerce-cart table.cart td { padding: 20px 18px !important; vertical-align: middle !important; }
.woocommerce-cart table.cart img { width: 86px !important; height: 86px; border-radius: 12px; }
.woocommerce-cart td.product-name { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 15px; }
.woocommerce-cart td.product-name a { color: #15261a !important; }
.woocommerce-cart .product-quantity input.qty { width: 76px !important; text-align: center; padding: 10px 6px !important; }
.woocommerce-cart td.product-price, .woocommerce-cart td.product-subtotal { font-weight: 600; color: #15261a; }
.woocommerce-cart .cart .actions { background: #f6f9f6; padding: 18px !important; border-top: 1px solid #eef2ee; }
.woocommerce-cart .cart .actions .coupon { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.woocommerce-cart .cart .actions .coupon input#coupon_code { flex: 1 1 150px; min-width: 0; height: 46px; }
.cart_totals { padding: 10px 26px 26px !important; }
.cart_totals h2 { padding-top: 14px; }
.cart_totals table.shop_table td, .cart_totals table.shop_table th { padding: 14px 0 !important; font-size: 15px; }
.cart_totals .order-total th, .cart_totals .order-total td { font-size: 18px; font-family: 'Montserrat', sans-serif; }
.cart_totals .wc-proceed-to-checkout { padding-top: 8px !important; }

/* Tiles de categoría (CATGRID, 5 columnas) — responsive tablet/móvil
   (Elementor solo los apila en ≤767, dejando overflow a 768px) */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-column:has(.b4d-cat) { width: 33.333% !important; }
}
@media (max-width: 767px) {
  .elementor-column:has(.b4d-cat) { width: 50% !important; }
}

/* Carrito móvil: evitar overflow del cupón/acciones */
@media (max-width: 600px) {
  .woocommerce-cart .shop_table_responsive .actions { padding: 14px !important; display: flex; flex-direction: column; gap: 10px; align-items: stretch; }
  .woocommerce-cart .shop_table_responsive .actions .coupon { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; float: none !important; }
  .woocommerce-cart .shop_table_responsive .actions .coupon input#coupon_code { min-width: 0 !important; flex: 1 1 100%; width: 100% !important; height: 46px; }
  .woocommerce-cart .shop_table_responsive .actions .coupon .button { flex: 1; }
  .woocommerce-cart .shop_table_responsive .actions button[name="update_cart"] { width: 100%; }
  .woocommerce-cart table.cart img { width: 58px !important; height: 58px; }
  .woocommerce-cart table.cart td { padding: 12px 12px !important; }
  .woocommerce-cart table.cart, .woocommerce-cart .cart_totals { max-width: 100%; }
}

/* ════════════════════════════════════════════════════════════
   MI CUENTA — refinamiento del panel
   ════════════════════════════════════════════════════════════ */
.woocommerce-account .b4d-shop-head { margin-bottom: 40px; }
.woocommerce-account .woocommerce-MyAccount-content {
  background: #fff; border: 1px solid rgba(58,145,63,.12); border-radius: 16px;
  padding: 30px 32px !important; box-shadow: 0 12px 32px -22px rgba(21,38,26,.2);
}
.woocommerce-account .woocommerce-MyAccount-content p { color: #4a5b50; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { font-size: 14px; padding: 14px 20px; }
/* item activo: barra verde con inset box-shadow → no desplaza el texto (queda alineado con los demás) */
/* Login + Registro: lado a lado (antes quedaban apilados y descuadrados) */
.woocommerce-account:not(.logged-in) .u-columns.col2-set::before,
.woocommerce-account:not(.logged-in) .u-columns.col2-set::after { display: none !important; content: none !important; }
@media (min-width: 992px) {
  .woocommerce-account:not(.logged-in) .u-columns.col2-set { display: flex !important; gap: 28px; align-items: stretch; }
  .woocommerce-account:not(.logged-in) .u-columns .u-column1,
  .woocommerce-account:not(.logged-in) .u-columns .u-column2 { width: 50% !important; float: none !important; margin: 0 !important; flex: 1 1 50%; }
  /* tarjetas parejas (llenan la altura de la columna) */
  .woocommerce-account:not(.logged-in) .u-column1 form.login,
  .woocommerce-account:not(.logged-in) .u-column2 form.register { height: 100%; }
}
/* Móvil y tablet: apiladas a ancho completo (evita que queden angostas/encimadas) */
@media (max-width: 991px) {
  .woocommerce-account:not(.logged-in) .u-columns.col2-set { display: block !important; }
  .woocommerce-account:not(.logged-in) .u-columns .u-column1,
  .woocommerce-account:not(.logged-in) .u-columns .u-column2 { width: 100% !important; float: none !important; clear: both !important; margin: 0 0 22px !important; }
  .woocommerce-account:not(.logged-in) .u-column2 { margin-bottom: 0 !important; }
}
/* Login/Registro: la COLUMNA es la tarjeta (título + formulario dentro, cohesivo) */
.woocommerce-account:not(.logged-in) .u-column1,
.woocommerce-account:not(.logged-in) .u-column2 {
  border: 1px solid rgba(58,145,63,.16); border-radius: 16px;
  padding: 30px 32px 32px; background: #fff;
  box-shadow: 0 14px 34px -24px rgba(21,38,26,.2);
}
.woocommerce-account:not(.logged-in) .u-column1 &gt; h2,
.woocommerce-account:not(.logged-in) .u-column2 &gt; h2 {
  margin-top: 0; margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid #eef2ee;
  font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 22px; color: #15261a;
}
/* el formulario ya no es la tarjeta (lo es la columna) */
.woocommerce-account:not(.logged-in) form.login,
.woocommerce-account:not(.logged-in) form.register {
  border: 0 !important; padding: 0 !important; box-shadow: none !important; background: transparent !important; margin: 0 !important;
}
/* Aviso de error/mensaje del login: a lo ancho y alineado (no descuadrado) */
.woocommerce-account .woocommerce-notices-wrapper { width: 100%; }
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info {
  width: 100% !important; box-sizing: border-box; border-radius: 12px !important; margin: 0 0 22px !important;
  font-family: 'Open Sans', sans-serif; padding: 14px 18px 14px 44px;
}

/* ════════════════════════════════════════════════════════════
   MI CUENTA · Escritorio — última compra + tarjetas de acción
   ════════════════════════════════════════════════════════════ */
.b4d-acc-last { display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; margin:20px 0 18px; padding:18px 22px; border-radius:14px; background:linear-gradient(135deg,#0e2013,#338a3f); color:#fff; box-shadow:0 14px 32px -20px rgba(21,38,26,.5); }
.b4d-acc-last .lbl { display:block; font-family:'Montserrat',sans-serif; font-weight:700; font-size:11px; letter-spacing:.07em; text-transform:uppercase; color:#9ae6a0; margin-bottom:4px; }
.b4d-acc-last .info { font-size:15px; color:#eaf5ec; }
.b4d-acc-reorder { background:#fff; color:#15261a !important; font-family:'Montserrat',sans-serif; font-weight:700; font-size:14px; padding:11px 20px; border-radius:10px; text-decoration:none !important; white-space:nowrap; transition:transform .2s, box-shadow .2s; }
.b4d-acc-reorder:hover { transform:translateY(-2px); box-shadow:0 10px 22px -10px rgba(0,0,0,.4); }
.b4d-acc-cards { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:18px 0 4px; }
.b4d-acc-card { display:flex; flex-direction:column; gap:5px; padding:20px; border:1px solid rgba(58,145,63,.16); border-radius:14px; background:#fff; text-decoration:none !important; transition:transform .2s, box-shadow .2s, border-color .2s; }
.b4d-acc-card:hover { transform:translateY(-3px); box-shadow:0 16px 32px -20px rgba(21,38,26,.32); border-color:#3A913F; }
.b4d-acc-card .ico { font-size:24px; line-height:1; }
.b4d-acc-card .t { font-family:'Montserrat',sans-serif; font-weight:700; color:#15261a; font-size:16px; }
.b4d-acc-card .d { color:#5b6b60; font-size:13px; line-height:1.4; }
.b4d-acc-card--shop { background:#f4f9f4; border-color:rgba(58,145,63,.22); }
@media (max-width:600px){ .b4d-acc-cards{ grid-template-columns:1fr; } .b4d-acc-last{ flex-direction:column; align-items:flex-start; } .b4d-acc-reorder{ width:100%; text-align:center; } }

/* ════════════════════════════════════════════════════════════
   MODO ENFOQUE — ocultar botones flotantes (WhatsApp / subir) en
   el flujo de compra y cuenta, para que no se sobrepongan a la estructura
   ════════════════════════════════════════════════════════════ */
.woocommerce-checkout #b4d-wa, .woocommerce-checkout #b4d-top,
.woocommerce-account #b4d-wa, .woocommerce-account #b4d-top,
.woocommerce-cart #b4d-wa, .woocommerce-cart #b4d-top { display: none !important; }

/* ════════════════════════════════════════════════════════════
   BOTONES DE FORMULARIO centrados/ancho completo (no a la izquierda):
   login, registro, datos de la cuenta, direcciones, y "Realizar el pedido"
   ════════════════════════════════════════════════════════════ */
.woocommerce-account form.login button[name="login"],
.woocommerce-account form.register button[name="register"],
.woocommerce-account form.edit-account button[type="submit"],
.woocommerce-account form.edit-address button[type="submit"],
.woocommerce-account .woocommerce-address-fields button[type="submit"],
.woocommerce-account .woocommerce-EditAccountForm button[type="submit"] {
  display: block !important; width: 100% !important; margin: 12px 0 0 !important;
}
.woocommerce-checkout #place_order { display: block !important; width: 100% !important; }

/* ════════════════════════════════════════════════════════════
   BTNROW — botones en fila con ancho uniforme (parejas parejas)
   ════════════════════════════════════════════════════════════ */
@media (min-width: 768px) {
  .elementor-widget-button.b4d-inline .elementor-button {
    min-width: 260px; justify-content: center;
  }
}

/* ════════════════════════════════════════════════════════════
   MI CUENTA · PANEL DE CONTROL PROFESIONAL
   ════════════════════════════════════════════════════════════ */
/* Ocultar el saludo por defecto de WooCommerce en el escritorio (lo reemplaza el panel propio) */
.b4d-is-dashboard .woocommerce-MyAccount-content &gt; p,
.woocommerce-MyAccount-content:has(.b4d-dash) &gt; p { display: none !important; }
/* Escritorio: hero de bienvenida */
.b4d-dash-hero { display:flex; align-items:center; gap:18px; padding:22px 26px; border-radius:16px; background:linear-gradient(135deg,#0e2013 0%,#235a2c 60%,#338a3f 100%); color:#fff; margin-bottom:22px; box-shadow:0 16px 38px -24px rgba(21,38,26,.5); }
.b4d-dash-avatar { width:58px; height:58px; border-radius:50%; background:rgba(255,255,255,.16); border:1.5px solid rgba(255,255,255,.3); display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-weight:800; font-size:24px; color:#fff; flex:0 0 auto; }
.b4d-dash-hello h2 { margin:0 !important; font-family:'Montserrat',sans-serif; font-weight:800; font-size:23px; color:#fff !important; }
.b4d-dash-hello p { margin:4px 0 0 !important; color:#cfe8d3 !important; font-size:14px; }
.b4d-dash-hello a { color:#9ae6a0 !important; text-decoration:underline; }

/* Estadísticas */
.b4d-dash-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:28px; }
.b4d-stat { background:#fff; border:1px solid rgba(58,145,63,.16); border-radius:14px; padding:20px 16px; text-align:center; box-shadow:0 10px 26px -20px rgba(21,38,26,.22); }
.b4d-stat i { color:#3A913F; font-size:19px; margin-bottom:9px; display:block; }
.b4d-stat .n { display:block; font-family:'Montserrat',sans-serif; font-weight:800; font-size:25px; color:#15261a; line-height:1.1; }
.b4d-stat .n .woocommerce-Price-amount { font-size:23px !important; color:#15261a !important; font-weight:800; }
.b4d-stat .l { display:block; font-size:12.5px; color:#5b6b60; margin-top:5px; }

/* Fidelización (puntos + membresía) */
.b4d-loyalty { display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; background:linear-gradient(120deg,#15261a,#2f7d39); border-radius:16px; padding:20px 26px; margin-bottom:28px; box-shadow:0 14px 32px -22px rgba(21,38,26,.5); }
.b4d-loyalty-main { display:flex; align-items:center; gap:14px; }
.b4d-loyalty-main &gt; i { font-size:30px; color:#ffd34d; }
.b4d-loyalty-main .n { display:block; font-family:'Montserrat',sans-serif; font-weight:800; font-size:30px; color:#fff; line-height:1; }
.b4d-loyalty-main .l { display:block; font-size:12.5px; color:#cfe6d3; margin-top:4px; }
.b4d-loyalty-side { text-align:right; }
.b4d-loyalty-lvl { display:inline-flex; align-items:center; gap:7px; background:rgba(255,255,255,.15); color:#fff; font-family:'Montserrat',sans-serif; font-weight:700; font-size:13px; padding:6px 14px; border-radius:999px; }
.b4d-loyalty-lvl i { color:#ffd34d; }
.b4d-loyalty-hint { display:block; font-size:12px; color:#cfe6d3; margin-top:8px; }
@media (max-width:600px) { .b4d-loyalty { flex-direction:column; align-items:flex-start; } .b4d-loyalty-side { text-align:left; } }

/* Bloques (pedidos recientes, accesos) */
.b4d-dash-block { margin-bottom:28px; }
.b4d-dash-block-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.b4d-dash-block-head h3 { margin:0 !important; font-family:'Montserrat',sans-serif; font-weight:800; font-size:17px; color:#15261a !important; }
.b4d-dash-all { font-family:'Montserrat',sans-serif; font-weight:700; font-size:13px; color:#3A913F !important; text-decoration:none !important; }
.b4d-dash-all:hover { color:#2f7d39 !important; }

/* Pedidos recientes */
.b4d-rorders { display:flex; flex-direction:column; gap:10px; }
.b4d-rorder { display:grid; grid-template-columns:auto auto 1fr auto; gap:14px; align-items:center; background:#fff; border:1px solid rgba(58,145,63,.14); border-radius:12px; padding:13px 16px; transition:box-shadow .2s; }
.b4d-rorder:hover { box-shadow:0 12px 26px -20px rgba(21,38,26,.3); }
.b4d-rorder-main { display:flex; flex-direction:column; }
.b4d-rorder-num { font-family:'Montserrat',sans-serif; font-weight:700; color:#15261a; font-size:15px; }
.b4d-rorder-date { font-size:12px; color:#8aa091; }
.b4d-rorder-total { font-size:13px; color:#3c4a41; white-space:nowrap; }
.b4d-rorder-total .woocommerce-Price-amount { font-weight:700; color:#15261a; }
.b4d-rorder-act { display:flex; gap:8px; }
.b4d-rbtn { font-family:'Montserrat',sans-serif; font-weight:700; font-size:12px; padding:8px 14px; border-radius:8px; text-decoration:none !important; border:1.5px solid #dce7dd; color:#15261a !important; white-space:nowrap; transition:all .2s; }
.b4d-rbtn:hover { border-color:#3A913F; color:#3A913F !important; }
.b4d-rbtn--green { background:#3A913F; border-color:#3A913F; color:#fff !important; }
.b4d-rbtn--green:hover { background:#2f7d39; border-color:#2f7d39; color:#fff !important; }
.b4d-dash-empty { text-align:center; padding:30px 20px; border:1px dashed #cfe0d2; border-radius:12px; }
.b4d-dash-empty p { margin:0 0 14px; color:#5b6b60; }

/* Badges de estado */
.b4d-badge { display:inline-block; font-family:'Montserrat',sans-serif; font-weight:700; font-size:11px; padding:5px 11px; border-radius:999px; white-space:nowrap; text-transform:uppercase; letter-spacing:.03em; }
.b4d-badge--completed { background:#e6f6e9; color:#1f7a2e; }
.b4d-badge--processing { background:#e7f0fe; color:#2257b8; }
.b4d-badge--on-hold { background:#fff3e0; color:#b76e00; }
.b4d-badge--pending, .b4d-badge--pending-payment { background:#eef0f1; color:#5b6b60; }
.b4d-badge--cancelled, .b4d-badge--failed, .b4d-badge--refunded { background:#fdecec; color:#b3261e; }

/* Tarjetas de acceso: ícono FA */
.b4d-acc-card i { font-size:22px; color:#3A913F; margin-bottom:2px; }

/* Menú lateral con íconos (FA via <i>, no via CSS unicode) */
.woocommerce-account .woocommerce-MyAccount-navigation li a i {
  width:18px; margin-right:11px; text-align:center; color:#8aa091; font-size:13px; transition:color .2s;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a i,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover i { color:#3A913F; }

/* Tabla de pedidos: estado como badge */
.woocommerce-orders-table__cell-order-status { font-family:'Montserrat',sans-serif; font-weight:700; font-size:13px; }

@media (max-width:600px) {
  .b4d-dash-stats { grid-template-columns:1fr; }
  .b4d-rorder { grid-template-columns:1fr auto; row-gap:10px; }
  .b4d-rorder-total { grid-column:1; }
  .b4d-rorder-act { grid-column:1 / -1; }
  .b4d-rbtn { flex:1; text-align:center; }
}

/* ════════════════════════════════════════════════════════════
   MI CUENTA · DETALLE DE PEDIDO (encabezado + progreso de estado)
   ════════════════════════════════════════════════════════════ */
.b4d-od-head { background:#fff; border:1px solid rgba(58,145,63,.16); border-radius:16px; padding:22px 26px 26px; margin-bottom:24px; box-shadow:0 12px 30px -22px rgba(21,38,26,.22); }
.b4d-od-head-top { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; flex-wrap:wrap; }
.b4d-od-id h2 { margin:0 !important; font-family:'Montserrat',sans-serif; font-weight:800; font-size:22px; color:#15261a !important; }
.b4d-od-id span { font-size:13px; color:#5b6b60; }
.b4d-od-id .woocommerce-Price-amount { font-weight:700; color:#15261a; }
.b4d-od-steps { display:flex; margin-top:24px; }
.b4d-od-step { flex:1; text-align:center; position:relative; }
.b4d-od-step::before { content:""; position:absolute; top:18px; left:-50%; width:100%; height:3px; background:#e6ece7; z-index:0; }
.b4d-od-step:first-child::before { display:none; }
.b4d-od-step.on::before { background:#3A913F; }
.b4d-od-dot { position:relative; z-index:1; width:38px; height:38px; border-radius:50%; background:#eef2ee; color:#b8c7bd; display:inline-flex; align-items:center; justify-content:center; font-size:15px; }
.b4d-od-step.on .b4d-od-dot { background:#3A913F; color:#fff; box-shadow:0 8px 18px -8px rgba(58,145,63,.6); }
.b4d-od-lbl { display:block; margin-top:9px; font-family:'Montserrat',sans-serif; font-weight:600; font-size:12px; color:#8aa091; }
.b4d-od-step.on .b4d-od-lbl { color:#15261a; }
.b4d-od-deliv { margin-top:18px; display:inline-flex; align-items:center; gap:8px; background:#eaf5eb; color:#1f7a2e; font-family:'Montserrat',sans-serif; font-weight:600; font-size:13px; padding:8px 14px; border-radius:9px; }
.b4d-od-cancelled { margin-top:18px; display:flex; align-items:center; gap:8px; background:#fdecec; color:#b3261e; font-family:'Montserrat',sans-serif; font-weight:600; font-size:14px; padding:12px 16px; border-radius:10px; }
.b4d-od-track { display:inline-flex; align-items:center; gap:8px; margin:14px 0 0 10px; font-family:'Montserrat',sans-serif; font-weight:600; font-size:13px; color:#3A913F; text-decoration:none; }
.b4d-od-track:hover { text-decoration:underline; }

/* Direcciones del detalle de pedido (customer-details) como tarjetas */
.woocommerce-account .woocommerce-customer-details .woocommerce-columns--addresses { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:0; }
.woocommerce-account .woocommerce-customer-details .woocommerce-column { background:#fff; border:1px solid rgba(58,145,63,.14); border-radius:14px; padding:20px 22px; margin:0 !important; width:auto !important; float:none !important; }
.woocommerce-account .woocommerce-customer-details h2 { font-family:'Montserrat',sans-serif; font-weight:800; font-size:18px; color:#15261a; margin-bottom:14px; }
.woocommerce-account .woocommerce-customer-details .woocommerce-column__title, .woocommerce-account .woocommerce-customer-details h3 { font-family:'Montserrat',sans-serif !important; font-weight:700 !important; font-size:14px !important; color:#15261a !important; }
.woocommerce-account .woocommerce-customer-details address { font-style:normal; color:#4a5b50; line-height:1.7; font-size:14px; border:0; padding:0; }
/* caso dirección única (sin envío): la dirección como tarjeta */
.woocommerce-account .woocommerce-customer-details &gt; h2 { font-family:'Montserrat',sans-serif; font-weight:800; font-size:18px; color:#15261a; margin:0 0 12px; }
.woocommerce-account .woocommerce-customer-details &gt; address { background:#fff; border:1px solid rgba(58,145,63,.14); border-radius:14px; padding:18px 22px; display:block; max-width:420px; }

/* ════════════════════════════════════════════════════════════
   MI CUENTA · DIRECCIONES (tarjetas con íconos)
   ════════════════════════════════════════════════════════════ */
.b4d-addr-intro { color:#5b6b60; margin-bottom:18px; }
.b4d-addr-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.b4d-addr-card { background:#fff; border:1px solid rgba(58,145,63,.16); border-radius:16px; padding:24px; box-shadow:0 12px 30px -22px rgba(21,38,26,.2); display:flex; flex-direction:column; transition:box-shadow .2s; }
.b4d-addr-card:hover { box-shadow:0 18px 38px -24px rgba(21,38,26,.32); }
.b4d-addr-card.is-empty { border-style:dashed; box-shadow:none; }
.b4d-addr-card-head { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.b4d-addr-ico { width:42px; height:42px; border-radius:50%; background:#eaf5eb; color:#3A913F; display:flex; align-items:center; justify-content:center; font-size:17px; flex:0 0 auto; }
.b4d-addr-card h3 { margin:0 !important; font-family:'Montserrat',sans-serif; font-weight:700; font-size:16px; color:#15261a !important; }
.b4d-addr-card address { font-style:normal; color:#4a5b50; line-height:1.7; font-size:14px; margin:0 0 18px; flex:1; }
.b4d-addr-empty { color:#8aa091; font-style:italic; }
.b4d-addr-edit { align-self:flex-start; font-family:'Montserrat',sans-serif; font-weight:700; font-size:13px; color:#3A913F !important; text-decoration:none !important; border:1.5px solid #cfe0d2; padding:8px 16px; border-radius:9px; transition:all .2s; }
.b4d-addr-edit:hover { background:#3A913F; color:#fff !important; border-color:#3A913F; }
@media (max-width:600px) {
  .b4d-addr-grid { grid-template-columns:1fr; }
  .woocommerce-account .woocommerce-customer-details .woocommerce-columns--addresses { grid-template-columns:1fr; }
  .b4d-od-head-top { flex-direction:column; }
  .b4d-od-lbl { font-size:11px; }
}

/* ════════════════════════════════════════════════════════════
   MI CUENTA · PEDIDOS (lista de tarjetas) + DETALLES (secciones) + DESCARGAS
   ════════════════════════════════════════════════════════════ */
.b4d-orders-list { display:flex; flex-direction:column; gap:12px; }
.b4d-orders-pag { display:flex; justify-content:space-between; gap:10px; margin-top:18px; }
.b4d-orders-pag .b4d-rbtn { padding:10px 18px; }

/* Detalles de la cuenta: secciones tipo tarjeta */
.b4d-acc-section { background:#fff; border:1px solid rgba(58,145,63,.14); border-radius:14px; padding:22px 24px; margin-bottom:18px; box-shadow:0 10px 26px -22px rgba(21,38,26,.18); }
.b4d-acc-section-head { display:flex; align-items:center; gap:11px; margin-bottom:18px; padding-bottom:13px; border-bottom:1px solid #eef2ee; }
.b4d-acc-section-ico { width:34px; height:34px; border-radius:50%; background:#eaf5eb; color:#3A913F; display:flex; align-items:center; justify-content:center; font-size:14px; flex:0 0 auto; }
.b4d-acc-section-head h3 { margin:0 !important; font-family:'Montserrat',sans-serif; font-weight:800; font-size:16px; color:#15261a !important; }
.b4d-acc-section .form-row { margin-bottom:14px; }
.b4d-acc-section label { font-family:'Montserrat',sans-serif; font-weight:600; font-size:13px; color:#3c4a41; display:block; margin-bottom:5px; }
.b4d-acc-section .form-row em { font-style:normal; font-size:12px; color:#8aa091; }
.b4d-acc-submit { margin-top:4px; }

/* Descargas: estado vacío como tarjeta centrada */
.b4d-is-downloads .woocommerce-MyAccount-content .woocommerce-info,
.b4d-is-downloads .woocommerce-MyAccount-content .woocommerce-Message {
  display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center;
  padding:48px 24px !important; border:1px dashed #cfe0d2 !important; border-left:1px dashed #cfe0d2 !important;
  background:#fafdfb !important; color:#5b6b60 !important; border-radius:14px !important; font-size:15px;
}

/* ════════════════════════════════════════════════════════════
   MI CUENTA · MIS DOCUMENTOS (facturas/notas/cotizaciones del CRM)
   ════════════════════════════════════════════════════════════ */
.b4d-cdoc--g { background:#e6f6e9; color:#1f7a2e; }
.b4d-cdoc--b { background:#e7f0fe; color:#2257b8; }
.b4d-cdoc--r { background:#fdecec; color:#b3261e; }
.b4d-cdoc--n { background:#eef0f1; color:#5b6b60; }
.b4d-doc-bar { display:flex; justify-content:space-between; gap:10px; margin-bottom:18px; flex-wrap:wrap; }
.b4d-doc-paper { background:#fff; border:1px solid rgba(58,145,63,.16); border-radius:16px; padding:32px 34px; box-shadow:0 14px 34px -24px rgba(21,38,26,.25); }
.b4d-doc-head { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; padding-bottom:20px; border-bottom:2px solid #15261a; margin-bottom:22px; }
.b4d-doc-brand strong { font-family:'Montserrat',sans-serif; font-weight:800; font-size:26px; color:#15261a; display:block; }
.b4d-doc-brand span { display:block; font-size:12px; color:#5b6b60; }
.b4d-doc-meta { text-align:right; }
.b4d-doc-meta h2 { margin:0 !important; font-family:'Montserrat',sans-serif; font-weight:800; font-size:20px; color:#3A913F !important; }
.b4d-doc-meta span { display:block; font-size:13px; color:#5b6b60; }
.b4d-doc-meta .b4d-badge { margin-top:6px; }
.b4d-doc-party { margin-bottom:22px; line-height:1.55; font-size:14px; color:#3c4a41; }
.b4d-doc-party .b4d-doc-lbl { display:block; font-family:'Montserrat',sans-serif; font-weight:700; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:#8aa091; margin-bottom:3px; }
.b4d-doc-party strong { display:block; color:#15261a; font-size:15px; margin-bottom:2px; }
.b4d-doc-table { width:100%; border-collapse:collapse; margin-bottom:18px; }
.b4d-doc-table th { background:#f4f8f4; text-align:left; font-family:'Montserrat',sans-serif; font-weight:700; font-size:12px; color:#5b6b60; padding:10px 12px; text-transform:uppercase; letter-spacing:.04em; }
.b4d-doc-table th:nth-child(n+2), .b4d-doc-table td:nth-child(n+2) { text-align:right; white-space:nowrap; }
.b4d-doc-table td { padding:11px 12px; border-bottom:1px solid #eef2ee; font-size:14px; color:#3c4a41; }
.b4d-doc-totals { max-width:280px; margin-left:auto; }
.b4d-doc-totals div { display:flex; justify-content:space-between; padding:6px 0; font-size:14px; color:#3c4a41; }
.b4d-doc-totals .t { border-top:2px solid #eef2ee; margin-top:4px; padding-top:10px; font-family:'Montserrat',sans-serif; font-weight:800; font-size:18px; color:#15261a; }
.b4d-doc-totals .t span:last-child { color:#3A913F; }
.b4d-doc-notes { margin-top:18px; padding:14px 16px; background:#f6f9f6; border-radius:10px; font-size:13px; color:#5b6b60; }
@media print {
  .site-header, header.site-header, .b4d-foot, footer, .woocommerce-MyAccount-navigation, .b4d-shop-head, .b4d-doc-bar, #b4d-wa, #b4d-top, .elementor-location-header { display:none !important; }
  .b4d-doc-paper { border:0; box-shadow:none; padding:0; }
  .woocommerce-account .woocommerce { display:block !important; }
  .woocommerce-MyAccount-content { width:100% !important; max-width:100% !important; margin:0 !important; padding:0 !important; border:0 !important; box-shadow:none !important; flex:1 1 100% !important; }
}

/* ════════════════════════════════════════════════════════════
   FICHA DE PRODUCTO (single product) — diseño de marca + confianza
   ════════════════════════════════════════════════════════════ */
.single-product div.product { display:grid; grid-template-columns:1fr 1fr; gap:42px; align-items:start; }
.single-product .woocommerce-product-gallery { margin:0 !important; width:auto !important; float:none !important; }
.single-product .woocommerce-product-gallery img { border-radius:16px; border:1px solid rgba(58,145,63,.12); }
.single-product .summary { margin:0 !important; width:auto !important; float:none !important; }
.single-product .product_title { font-family:'Montserrat',sans-serif; font-weight:800; font-size:30px; line-height:1.15; color:#15261a; margin:0 0 12px; }
.single-product .summary .price { font-family:'Montserrat',sans-serif; font-weight:800; font-size:30px; color:#3A913F !important; margin:0 0 14px; }
.single-product .summary .price del { color:#aab4ad; font-size:19px; font-weight:600; margin-right:8px; }
.single-product .summary .price ins { text-decoration:none; }
.single-product .woocommerce-product-details__short-description { color:#4a5b50; line-height:1.7; font-size:15px; margin-bottom:16px; }
.single-product p.stock.in-stock { display:inline-flex; align-items:center; gap:7px; background:#e6f6e9; color:#1f7a2e; font-weight:700; font-family:'Montserrat',sans-serif; font-size:13px; padding:6px 13px; border-radius:999px; margin:0 0 6px; }
.single-product p.stock.in-stock::before { content:"\2714"; }
.single-product p.stock.out-of-stock { display:inline-flex; align-items:center; gap:7px; background:#fdecec; color:#b3261e; font-weight:700; font-family:'Montserrat',sans-serif; font-size:13px; padding:6px 13px; border-radius:999px; }
.single-product form.cart { margin:18px 0 4px !important; display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.single-product form.cart .quantity input.qty { height:52px; width:84px; border:1.6px solid #cfe0d2; border-radius:10px; text-align:center; font-weight:700; font-family:'Montserrat',sans-serif; font-size:16px; }
.single-product .single_add_to_cart_button { height:52px; background:#3A913F !important; color:#fff !important; font-family:'Montserrat',sans-serif; font-weight:700 !important; border-radius:10px !important; padding:0 30px !important; font-size:15px !important; border:0 !important; transition:background .2s,transform .2s; }
.single-product .single_add_to_cart_button:hover { background:#2f7d39 !important; transform:translateY(-2px); }
.single-product .product_meta { font-size:13px; color:#8aa091; margin-top:16px; border-top:1px solid #eef2ee; padding-top:14px; }
.single-product .product_meta a { color:#3A913F; }
.b4d-freeship { background:#eaf5eb; color:#1f7a2e; border-radius:10px; padding:11px 15px; font-size:13.5px; font-family:'Montserrat',sans-serif; font-weight:600; margin:6px 0 16px; }
.b4d-trust { display:grid; grid-template-columns:1fr 1fr; gap:11px 18px; margin-top:10px; border-top:1px solid #eef2ee; padding-top:16px; }
.b4d-trust-i { display:flex; align-items:center; gap:9px; font-size:13px; color:#3c4a41; font-weight:500; }
.b4d-trust-i i { color:#3A913F; width:18px; text-align:center; font-size:15px; }
/* pestañas */
.woocommerce-tabs ul.tabs { padding:0 !important; border-bottom:2px solid #eef2ee; display:flex; gap:8px; }
.woocommerce-tabs ul.tabs::before { display:none !important; }
.woocommerce-tabs ul.tabs li { background:transparent !important; border:0 !important; border-radius:0 !important; margin:0 !important; padding:0 !important; }
.woocommerce-tabs ul.tabs li a { font-family:'Montserrat',sans-serif !important; font-weight:700 !important; color:#8aa091 !important; padding:12px 18px !important; display:block; }
.woocommerce-tabs ul.tabs li.active a { color:#15261a !important; box-shadow:inset 0 -3px 0 #3A913F; }
.woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after { display:none !important; }
.woocommerce-tabs .panel h2 { font-family:'Montserrat',sans-serif; font-weight:800; color:#15261a; }
/* relacionados */
.related.products &gt; h2, .up-sells &gt; h2 { font-family:'Montserrat',sans-serif; font-weight:800; color:#15261a; font-size:23px; margin:40px 0 22px; }
/* estrellas */
.star-rating span::before, .star-rating::before { color:#f5a623 !important; }
.comment-form-rating .stars a { color:#f5a623; }
@media (max-width:768px) {
  .single-product div.product { grid-template-columns:1fr; gap:26px; }
  .b4d-trust { grid-template-columns:1fr; }
  .single-product .product_title { font-size:24px; }
  .single-product .summary .price { font-size:26px; }
}

/* ════════════════════════════════════════════════════════════
   FIX iPad/tablet: productos relacionados en grid (no float) + columnas contacto
   ════════════════════════════════════════════════════════════ */
.related.products, .up-sells { clear:both; width:100%; }
.related.products ul.products, .up-sells ul.products { display:grid !important; grid-template-columns:repeat(4,1fr); gap:20px; margin:0 !important; padding:0 !important; }
.related.products ul.products li.product, .up-sells ul.products li.product { width:auto !important; float:none !important; margin:0 !important; }
@media (max-width:1024px) { .related.products ul.products, .up-sells ul.products { grid-template-columns:repeat(3,1fr); } }
@media (max-width:768px)  { .related.products ul.products, .up-sells ul.products { grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px)  { .related.products ul.products, .up-sells ul.products { grid-template-columns:1fr; } }
/* Contacto: cotización (form + mapa) se apilan a ancho completo en tablet/iPad */
@media (max-width:1024px) {
  .elementor-element-00050181 &gt; .elementor-container &gt; .elementor-column,
  .elementor-element-00050181 .elementor-col-55,
  .elementor-element-00050181 .elementor-col-45 { width:100% !important; }
}
/* refuerzo: apilar form+mapa de cotización (IDs directos + flex-direction) en tablet/iPad */
@media (max-width:1024px){
  .elementor-element-00050181 &gt; .elementor-container{ flex-direction:column !important; flex-wrap:nowrap !important; }
  .elementor-element-0005017a, .elementor-element-00050180{ width:100% !important; max-width:100% !important; flex:1 1 100% !important; }
}

/* B4D CSS END */