/*
Theme Name: SABI Child
Theme URI: https://sabi.com.co/
Description: Child theme de Botiga para SABI - Salud y Bienestar.
Author: SABI
Template: botiga
Version: 3.0.0
Text Domain: sabi-child
*/

/* ================================
   SABI — Product page v3
   ================================ */
.sabi-product-page{max-width:1280px;margin:0 auto;padding:18px 24px 80px;color:#252326}
.sabi-product-main{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:64px;align-items:start}
.sabi-product-gallery{min-width:0}

/* Premium Gradient Backdrop for Central Hero Product Image */
.sabi-main-image-frame {
  position: relative !important;
  width: 100% !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  background: radial-gradient(circle at 50% 45%, #ffffff 35%, #fcf0f5 85%, #f7e2ec 100%) !important;
  border: 1.5px solid #f2e2ea !important;
  box-shadow: 0 12px 36px rgba(198,61,114,0.08) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.sabi-main-image-frame::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 28% !important;
  background: linear-gradient(to top, rgba(253, 240, 245, 0.4) 0%, rgba(255, 255, 255, 0) 100%) !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

#sabi-main-image-link {
  display: block !important;
  width: 100% !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  cursor: crosshair !important;
}

#sabi-main-image-img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 520px !important;
  border-radius: 24px !important;
  object-fit: contain !important;
  position: relative !important;
  z-index: 1 !important;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,0.06)) !important;
  transition: transform 0.3s ease !important;
}

/* Native Hover Zoom Styling */
#sabi-main-image-link img.zoomImg {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  opacity: 0;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  border-radius: 24px !important;
  pointer-events: none !important;
  background-color: #ffffff !important;
  z-index: 3 !important;
}

/* Category Pill Badge with Gradient Accent */
.sabi-product-summary .sabi-product-kicker {
  display: inline-flex !important;
  align-items: center !important;
  background: linear-gradient(135deg, #fdf1f6 0%, #f7e0ea 100%) !important;
  color: #c63d72 !important;
  border: 1px solid #f0cfde !important;
  padding: 5px 14px !important;
  border-radius: 20px !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 14px !important;
  box-shadow: 0 2px 6px rgba(198,61,114,0.06) !important;
}

/* Title & Price High-Contrast Styling */
.sabi-product-summary .product_title {
  margin: 0 0 14px 0 !important;
  font-size: clamp(30px, 3.8vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
  color: #1a1819 !important;
  font-weight: 800 !important;
}

.sabi-product-summary .price {
  margin: 0 0 20px 0 !important;
  font-size: 32px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  color: #c63d72 !important;
}



/* Stock Badge Styling (Disponible / Agotado) */
.stock.in-stock,
p.stock.in-stock {
  color: #10b981 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  margin: 0 0 14px 0 !important;
}

.stock.out-of-stock,
p.stock.out-of-stock {
  color: #ef4444 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  margin: 0 0 14px 0 !important;
}

.sabi-product-summary{min-width:0;padding:18px 0 0}
.sabi-product-summary .sabi-product-kicker{margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#777178}
.sabi-product-summary .product_title{margin:0 0 13px;font-size:clamp(34px,4vw,52px);line-height:1.02;letter-spacing:-.035em}
.sabi-product-summary .woocommerce-product-rating{margin:0 0 18px;display:flex;align-items:center;gap:8px}
.sabi-product-summary .star-rating{margin:0!important}
.sabi-product-summary .price{margin:0 0 20px;font-size:30px;line-height:1.1;font-weight:700}
.sabi-product-summary .woocommerce-product-details__short-description{margin:22px 0 22px;font-size:16px;line-height:1.65;color:#4f4a50}
.sabi-product-buy-card{padding:24px;border:1px solid #e7e0e4;border-radius:18px;background:#fff;box-shadow:0 8px 30px rgba(35,25,30,.06)}

/* Amplio margen y elegante separador visual debajo del botón de compra */
.sabi-product-trust {
  display: grid !important;
  gap: 12px !important;
  margin: 32px 0 24px 0 !important;
  padding: 24px 0 24px 0 !important;
  border-top: 1.5px solid #eee5ea !important;
  border-bottom: 1.5px solid #eee5ea !important;
}

.sabi-product-trust span {
  display: flex !important;
  align-items: center !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
  color: #383236 !important;
}
.sabi-product-cart{margin:0}
.sabi-product-cart .cart,.sabi-product-cart form.cart{display:flex !important;flex-direction:column !important;align-items:center !important;width:100% !important;gap:12px !important;margin:0 0 12px 0 !important;grid-template-columns:none !important}

.sabi-buy-now-button.is-loading{opacity:.65;cursor:wait}
.sabi-product-cart .variations_form .single_variation_wrap{margin-top:14px}
.sabi-product-meta{margin-top:18px;padding-top:18px;border-top:1px solid #ece6e9;font-size:13px;color:#6d666b}
.sabi-product-meta .product_meta{margin:0}
.sabi-product-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.sabi-highlight{padding:13px 12px;border:1px solid #ece6e9;border-radius:12px;background:#faf8f9;font-size:12px;line-height:1.35;text-align:center}
.sabi-highlight strong{display:block;font-size:13px;margin-bottom:3px;color:#2d292c}
.sabi-product-sections{margin-top:82px;border-top:1px solid #e7e0e4}
.sabi-section-heading{padding:58px 0 28px;text-align:center}
.sabi-section-heading h2{margin:0 0 9px;font-size:clamp(30px,4vw,42px);line-height:1.08;letter-spacing:-.025em}
.sabi-section-heading p{max-width:650px;margin:0 auto;color:#6a6469;line-height:1.6}
.sabi-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sabi-benefit-card{padding:25px 20px;border:1px solid #e7e0e4;border-radius:16px;background:#fff}
.sabi-benefit-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;margin-bottom:15px;background:#f9e3eb;color:#c63d72;font-weight:800}
.sabi-benefit-card h3{margin:0 0 7px;font-size:17px}
.sabi-benefit-card p{margin:0;font-size:14px;line-height:1.55;color:#686168}
.sabi-accordion{max-width:900px;margin:0 auto;border-top:1px solid #e7e0e4}
.sabi-accordion-item{border-bottom:1px solid #e7e0e4}
.sabi-accordion-button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 2px;background:transparent;border:0;text-align:left;font:inherit;font-size:17px;font-weight:700;cursor:pointer;color:#282428}
.sabi-accordion-icon{font-size:22px;font-weight:400;color:#8a8187;transition:transform .2s ease}
.sabi-accordion-panel{display:none;padding:0 34px 24px 2px;color:#5d565c;line-height:1.7}
.sabi-accordion-item.is-open .sabi-accordion-panel{display:block}
.sabi-accordion-item.is-open .sabi-accordion-icon{transform:rotate(45deg)}
.sabi-accordion-panel>*:first-child{margin-top:0}
.sabi-accordion-panel>*:last-child{margin-bottom:0}
.sabi-fact-list{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
.sabi-fact-row{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid #eee8eb;font-size:14px}
.sabi-fact-label{font-weight:700}.sabi-fact-value{text-align:right}
.sabi-reviews,.sabi-related{margin-top:78px;padding-top:58px;border-top:1px solid #e7e0e4}
.sabi-section-title{margin:0 0 30px;text-align:center;font-size:clamp(30px,4vw,40px);line-height:1.1}
.sabi-reviews #reviews{margin:0}.sabi-related .related>h2{margin:0 0 30px;text-align:center;font-size:clamp(30px,4vw,40px)}
.sabi-product-description{font-size:15px;line-height:1.75}
.sabi-product-description img{max-width:100%;height:auto}
.sabi-product-description ul,.sabi-product-description ol{padding-left:22px}
/* =========================================================
   1000% MOBILE RESPONSIVE OPTIMIZATION & HERO POLISH
   ========================================================= */
@media (max-width: 991px) {
  .sabi-product-page {
    padding: 12px 16px 60px !important;
  }

  .sabi-product-main {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
  }

  .sabi-product-gallery {
    width: 100% !important;
    margin-bottom: 8px !important;
  }

  .sabi-product-summary {
    width: 100% !important;
    padding-top: 12px !important;
    margin-top: 0 !important;
  }

  .sabi-product-summary .sabi-product-kicker {
    display: inline-block !important;
    background: #fbf0f4 !important;
    color: #c63d72 !important;
    padding: 4px 12px !important;
    border-radius: 20px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    margin-bottom: 12px !important;
  }

  .sabi-product-summary .product_title {
    font-size: clamp(24px, 6vw, 32px) !important;
    line-height: 1.18 !important;
    margin-bottom: 14px !important;
    color: #1a1819 !important;
    word-break: break-word !important;
  }

  .sabi-product-summary .price {
    font-size: 26px !important;
    margin-bottom: 18px !important;
    color: #252326 !important;
  }

  .sabi-product-buy-card {
    padding: 20px 16px !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05) !important;
  }

  .sabi-benefit-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  .sabi-product-highlights {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
}

@media (max-width: 600px) {
  .sabi-benefit-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .sabi-section-heading {
    padding: 42px 0 20px !important;
  }

  .sabi-accordion-button {
    font-size: 16px !important;
  }
}

@media (max-width: 480px) {
  .sabi-product-summary .product_title {
    font-size: 24px !important;
    line-height: 1.2 !important;
  }

  .sabi-product-highlights {
    grid-template-columns: 1fr !important;
  }

  .sabi-product-buy-card {
    padding: 16px 14px !important;
  }
}


/* ================================
   v5 conversion polish & Quantity Fix
   ================================ */

/* Total cleanup of parent theme quantity hacks & pseudo-elements */
.quantity::before, .quantity::after,
.quantity *::before, .quantity *::after,
.sabi-product-cart form.cart .quantity::before,
.sabi-product-cart form.cart .quantity::after {
  content: none !important;
  display: none !important;
}

.sabi-product-cart form.cart .quantity button:not(.sabi-qty-btn),
.sabi-product-cart form.cart .quantity .minus,
.sabi-product-cart form.cart .quantity .plus,
.sabi-product-cart form.cart .quantity .quantity-button,
.sabi-product-cart form.cart .botiga-quantity-button {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  left: -9999px !important;
}

/* ABSOLUTE BULLETPROOF CENTERING FOR QUANTITY SELECTOR ON PRODUCT & CART PAGES */
.woocommerce div.product form.cart,
.sabi-product-cart form.cart,
.sabi-product-cart .cart,
form.cart {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 0 0 12px 0 !important;
  float: none !important;
  box-sizing: border-box !important;
}

.woocommerce div.product form.cart .quantity,
.sabi-product-cart .quantity,
.sabi-product-cart form.cart .quantity,
.sabi-product-buy-card .quantity,
.quantity.sabi-custom-quantity,
.quantity {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1.5px solid #dcd4d9 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  overflow: hidden !important;
  height: 46px !important;
  width: 136px !important;
  min-width: 136px !important;
  max-width: 136px !important;
  padding: 0 !important;
  margin: 0 auto 10px auto !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.02) !important;
  box-sizing: border-box !important;
  float: none !important;
  clear: both !important;
  position: relative !important;
  align-self: center !important;
}



.sabi-qty-btn {
  width: 42px !important;
  min-width: 42px !important;
  height: 46px !important;
  background: transparent !important;
  border: 0 !important;
  color: #252326 !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.15s ease, color 0.15s ease !important;
  user-select: none !important;
  padding: 0 !important;
  outline: none !important;
  margin: 0 !important;
  position: static !important;
  float: none !important;
}

.sabi-qty-btn:hover {
  background: #f4ecf0 !important;
  color: #c63d72 !important;
}

.sabi-product-cart form.cart .quantity .qty {
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  height: 46px !important;
  border: 0 !important;
  border-left: 1px solid #efe6eb !important;
  border-right: 1px solid #efe6eb !important;
  background: transparent !important;
  text-align: center !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #252326 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  -moz-appearance: textfield !important;
  position: static !important;
  float: none !important;
}

.sabi-product-cart form.cart .quantity .qty::-webkit-outer-spin-button,
.sabi-product-cart form.cart .quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Secondary Action: Añadir al carrito */
.sabi-product-cart form.cart .single_add_to_cart_button {
  width: 100% !important;
  height: 48px !important;
  border-radius: 12px !important;
  margin: 0 !important;
  background: #fff !important;
  color: #252326 !important;
  border: 1.5px solid #dcd4d9 !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.02) !important;
}

.sabi-product-cart form.cart .single_add_to_cart_button:hover {
  background: #fdf5f8 !important;
  border-color: #c63d72 !important;
  color: #c63d72 !important;
}

/* Primary High-converting Action: Comprar ahora */
.sabi-buy-now-button {
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  margin-top: 6px !important;
  margin-bottom: 24px !important;
  border-radius: 12px !important;
  background: #c63d72 !important;
  color: #ffffff !important;
  border: 0 !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  cursor: pointer !important;
  box-shadow: 0 6px 18px rgba(198,61,114,0.28) !important;
  transition: all 0.2s ease !important;
}

.sabi-buy-now-button:hover {
  background: #b33263 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 22px rgba(198,61,114,0.38) !important;
}

.sabi-buy-now-button.is-loading {
  opacity: .65;
  cursor: wait;
}


/* Ultra-Compact Clean E-Commerce Payment Badge Strip */
.sabi-payment-gateways {
  margin: 14px 0 0 0 !important;
  padding: 10px 0 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid #f0e6eb !important;
  text-align: center !important;
}

.sabi-payment-title {
  display: block !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #777176 !important;
  margin-bottom: 8px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

.sabi-payment-logos-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  align-items: center !important;
  justify-content: center !important;
}

.sabi-pay-card {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 3px 7px !important;
  height: 24px !important;
  border-radius: 5px !important;
  border: 1px solid #e5dcde !important;
  background: #ffffff !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.02) !important;
  transition: transform 0.15s ease, border-color 0.15s ease !important;
  user-select: none !important;
  box-sizing: border-box !important;
}

.sabi-pay-card:hover {
  transform: translateY(-1px) !important;
  border-color: #c63d72 !important;
}

.sabi-payment-gateways svg,
.sabi-payment-logos-grid svg,
.sabi-pay-card svg,
svg.sabi-pay-svg {
  width: auto !important;
  max-height: 14px !important;
  height: 14px !important;
  display: inline-block !important;
  vertical-align: middle !important;
  float: none !important;
}





.sabi-product-highlights { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px !important; margin-top:16px; }
.sabi-highlight { min-height:74px; border:1px solid #eee0e7; border-radius:12px; padding:12px; display:flex; flex-direction:column; justify-content:center; gap:3px; background:#fff; color:#222; }
.sabi-highlight strong { font-size:13px; }
.sabi-highlight small { color:#777; font-size:11px; line-height:1.35; }
.sabi-highlight-icon { color:#c83f78; font-weight:800; margin-bottom:1px; }
a.sabi-highlight-action { text-decoration:none; }
.sabi-payment-note { font-size:11px; color:#777; margin:10px 0 0; line-height:1.45; }
.sabi-service-strip { max-width:1120px; margin:34px auto 8px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.sabi-service-card { border:1px solid #eee0e7; border-radius:14px; padding:15px; display:flex; gap:11px; align-items:center; background:#fff; }
.sabi-service-card strong,.sabi-service-card span { display:block; }
.sabi-service-card strong { font-size:13px; }
.sabi-service-card div span { color:#777; font-size:11px; margin-top:2px; }
.sabi-service-icon { color:#c83f78; font-weight:800; font-size:18px; }
@media (max-width: 800px) { .sabi-service-strip { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 520px) { .sabi-payment-badges { grid-template-columns: 1fr; } .sabi-product-highlights { grid-template-columns:1fr; } .sabi-service-strip { grid-template-columns:1fr; } .sabi-product-cart form.cart .single_add_to_cart_button { flex:1; min-width:0; } }

/*/* =========================================================
   SABI — High-Converting 2-Column Checkout Layout v4
   ========================================================= */

/* Main Page Container */
.woocommerce-checkout {
  background: #fdfafb !important;
  color: #252326 !important;
}

.woocommerce-checkout .entry-content,
.woocommerce-checkout .woocommerce,
.woocommerce-checkout .site-main {
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 0 16px !important;
  float: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Reset parent theme checkout wrapper hacks */
.woocommerce-checkout .botiga-checkout-wrapper,
.woocommerce-checkout .botiga-checkout-billing,
.woocommerce-checkout .botiga-checkout-order-review {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

/* Outer Flexbox Wrapper */
.sabi-checkout-wrapper {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 32px !important;
  width: 100% !important;
  max-width: 1120px !important;
  margin: 24px auto 80px auto !important;
  box-sizing: border-box !important;
}

/* Column 1 (Left): Customer Details (57% width) */
.sabi-checkout-col-left {
  flex: 1 1 520px !important;
  width: 57% !important;
  min-width: 320px !important;
  max-width: 610px !important;
  box-sizing: border-box !important;
}

/* Column 2 (Right): Order Review & Payment (43% width) */
.sabi-checkout-col-right {
  flex: 1 1 420px !important;
  width: 43% !important;
  min-width: 320px !important;
  max-width: 470px !important;
  box-sizing: border-box !important;
}

@media (max-width: 991px) {
  .sabi-checkout-wrapper {
    flex-direction: column !important;
    gap: 24px !important;
    max-width: 620px !important;
  }
  .sabi-checkout-col-left,
  .sabi-checkout-col-right {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Container Cards */
.sabi-checkout-card {
  background: #ffffff !important;
  border: 1.5px solid #e9dfe4 !important;
  border-radius: 20px !important;
  padding: 28px !important;
  box-shadow: 0 6px 28px rgba(35,25,30,0.04) !important;
  box-sizing: border-box !important;
  width: 100% !important;
  margin-bottom: 24px !important;
}

/* Hide redundant inner heading inside Card 1 (already in card header) */
.sabi-billing-fields > h3,
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3,
#customer_details h3 {
  display: none !important;
}

/* Card Header & Step Badges */
.sabi-checkout-card-header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 22px !important;
  padding-bottom: 14px !important;
  border-bottom: 1.5px solid #f2e8ed !important;
}

.sabi-card-step-badge {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  border-radius: 50% !important;
  background: #c63d72 !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 3px 10px rgba(198,61,114,0.3) !important;
}

.sabi-card-title {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #252326 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  border: 0 !important;
}

.sabi-card-subtitle {
  display: block !important;
  font-size: 12.5px !important;
  color: #10b981 !important;
  font-weight: 600 !important;
  margin-top: 3px !important;
}

.sabi-same-address-notice {
  margin: 18px 0 10px 0 !important;
  padding: 12px 16px !important;
  background: #fdf5f8 !important;
  border: 1.5px solid #f6dbe6 !important;
  border-radius: 12px !important;
}

.sabi-same-address-label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 13.5px !important;
  color: #353034 !important;
  cursor: default !important;
  margin: 0 !important;
}

.sabi-same-address-label input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  accent-color: #c63d72 !important;
  margin: 0 !important;
}

/* Form Fields Layout */
.woocommerce-checkout .form-row {
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout .form-row label {
  display: block !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #353034 !important;
  margin-bottom: 6px !important;
  float: none !important;
}

.woocommerce-checkout .form-row label .required {
  color: #c63d72 !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  width: 100% !important;
  height: 50px !important;
  min-height: 50px !important;
  border: 1.5px solid #ded6db !important;
  border-radius: 12px !important;
  padding: 0 16px !important;
  font-size: 15px !important;
  color: #252326 !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
  box-shadow: 0 2px 5px rgba(0,0,0,0.02) !important;
  transition: all 0.2s ease !important;
}

.woocommerce-checkout .form-row textarea {
  height: 96px !important;
  min-height: 96px !important;
  padding: 12px 16px !important;
  line-height: 1.5 !important;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
  border-color: #c63d72 !important;
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(198,61,114,0.12) !important;
  background: #ffffff !important;
}

/* Order Summary Table */
.woocommerce-checkout table.shop_table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1.5px solid #eee4e9 !important;
  border-radius: 14px !important;
  background: #faf7f9 !important;
  margin: 0 0 22px 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
  padding: 14px 16px !important;
  border-bottom: 1px solid #efe6eb !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout table.shop_table th.product-name,
.woocommerce-checkout table.shop_table td.product-name {
  width: 62% !important;
  text-align: left !important;
  color: #353034 !important;
  font-weight: 600 !important;
  word-wrap: break-word !important;
}

.woocommerce-checkout table.shop_table th.product-total,
.woocommerce-checkout table.shop_table td.product-total {
  width: 38% !important;
  text-align: right !important;
  color: #252326 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

.woocommerce-checkout table.shop_table tr.order-total th,
.woocommerce-checkout table.shop_table tr.order-total td {
  border-bottom: 0 !important;
  font-weight: 800 !important;
  font-size: 18px !important;
  color: #c63d72 !important;
  background: #fdf2f6 !important;
}

/* Payment Methods & Wompi Card Styling */
.woocommerce-checkout #payment {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  padding: 0 !important;
  margin: 0 0 16px 0 !important;
  list-style: none !important;
  border: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
  margin-bottom: 14px !important;
  list-style: none !important;
  padding: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  color: #252326 !important;
  cursor: pointer !important;
}

.sabi-wompi-card {
  background: #faf7f9 !important;
  border: 1.5px solid #e8dbe2 !important;
  border-radius: 14px !important;
  padding: 16px 18px !important;
  margin-top: 10px !important;
  box-shadow: none !important;
  color: #252326 !important;
  text-align: left !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.sabi-wompi-card-header {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid #efe4e9 !important;
}

.sabi-wompi-card-header-text {
  display: flex !important;
  flex-direction: column !important;
}

.sabi-wompi-card-title {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #252326 !important;
  line-height: 1.25 !important;
}

.sabi-wompi-card-sub {
  font-size: 11px !important;
  color: #777176 !important;
  margin-top: 2px !important;
}

.sabi-wompi-channels-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}

.sabi-channel-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  background: #ffffff !important;
  border: 1px solid #e5dcde !important;
  border-radius: 6px !important;
  padding: 4px 8px !important;
  transition: all 0.15s ease !important;
  user-select: none !important;
}

.sabi-channel-badge:hover {
  border-color: #c63d72 !important;
  transform: translateY(-1px) !important;
}

.sabi-channel-badge span {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #353034 !important;
  white-space: nowrap !important;
}

.sabi-wompi-card-footer {
  margin: 0 !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  color: #666064 !important;
  padding-top: 8px !important;
  margin-top: 8px !important;
  border-top: 1px dashed #efe4e9 !important;
}

.sabi-wompi-card-footer strong {
  color: #c63d72 !important;
}

/* Button "REALIZAR PEDIDO" */
.woocommerce-checkout #place_order,
#payment #place_order {
  width: 100% !important;
  height: 56px !important;
  min-height: 56px !important;
  background: #c63d72 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 14px !important;
  font-size: 16.5px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  cursor: pointer !important;
  box-shadow: 0 6px 20px rgba(198,61,114,0.32) !important;
  transition: all 0.2s ease !important;
  margin-top: 18px !important;
}

.woocommerce-checkout #place_order:hover,
#payment #place_order:hover {
  background: #b33263 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 24px rgba(198,61,114,0.42) !important;
}

/* 100% Mobile & Tablet Responsive Design (< 991px) */
@media (max-width: 991px) {
  .sabi-checkout-wrapper {
    flex-direction: column !important;
    gap: 20px !important;
    margin: 16px auto 40px auto !important;
  }

  .sabi-checkout-col-left,
  .sabi-checkout-col-right {
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }

  .sabi-checkout-card {
    padding: 20px 16px !important;
    border-radius: 16px !important;
  }

  .sabi-card-title {
    font-size: 18px !important;
  }
}

/* =========================================================
   SABI — Sticky Gallery & Full-Width Extended Info Layout
   ========================================================= */
@media (min-width: 992px) {
  .sabi-product-gallery {
    position: sticky !important;
    top: 100px !important;
    align-self: start !important;
  }
}

.sabi-product-sections {
  max-width: 980px !important;
  margin: 60px auto 0 auto !important;
  padding: 0 16px !important;
}

.sabi-section-block {
  margin-bottom: 48px !important;
}

.sabi-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 14px !important;
  background: #faf7f9 !important;
  border-radius: 12px !important;
  border: 1px solid #f2e6ec !important;
}

.sabi-trust-icon {
  font-size: 20px !important;
}

.sabi-trust-item strong {
  display: block !important;
  font-size: 13px !important;
  color: #1a1819 !important;
}

.sabi-trust-item small {
  display: block !important;
  font-size: 11.5px !important;
  color: #6b6368 !important;
}

.sabi-trust-link {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
  color: inherit !important;
}

/* =========================================================
   SABI — High-Converting Sticky Buy Bar ("Comprar Ahora")
   ========================================================= */
.sabi-sticky-buy-bar {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 99999 !important;
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-top: 1.5px solid #ebdbe2 !important;
  box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.08) !important;
  transform: translateY(100%) !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  padding: 12px 20px !important;
}

.sabi-sticky-buy-bar.is-visible {
  transform: translateY(0) !important;
}

.sabi-sticky-bar-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

.sabi-sticky-bar-product {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-width: 0 !important;
}

.sabi-sticky-bar-thumb {
  width: 48px !important;
  height: 48px !important;
  object-fit: cover !important;
  border-radius: 10px !important;
  border: 1px solid #e7d8e0 !important;
  flex-shrink: 0 !important;
}

.sabi-sticky-bar-meta {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
}

.sabi-sticky-bar-name {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1a1819 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 320px !important;
}

.sabi-sticky-bar-price {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #c63d72 !important;
}

.sabi-sticky-buy-btn {
  background: linear-gradient(135deg, #c63d72 0%, #e05288 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 14px !important;
  padding: 13px 30px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow: 0 4px 16px rgba(198, 61, 114, 0.38) !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.sabi-sticky-buy-btn:hover {
  background: linear-gradient(135deg, #b03262 0%, #c63d72 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 22px rgba(198, 61, 114, 0.5) !important;
}

.sabi-sticky-buy-btn.is-out-of-stock {
  background: #9ca3af !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}

@media (max-width: 640px) {
  .sabi-sticky-buy-bar {
    padding: 10px 14px !important;
  }
  .sabi-sticky-bar-name {
    display: none !important;
  }
  .sabi-sticky-bar-price {
    font-size: 17px !important;
  }
  .sabi-sticky-buy-btn {
    padding: 12px 20px !important;
    font-size: 14px !important;
    width: 100% !important;
  }
}

/* =========================================================
   SABI — Mobile Checkout Sticky Submit Button ("Realizar Pedido")
   ========================================================= */
.sabi-mobile-checkout-bar {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 999999 !important;
  background: rgba(255, 255, 255, 0.98) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  border-top: 1.5px solid #ebdbe2 !important;
  box-shadow: 0 -8px 26px rgba(0, 0, 0, 0.1) !important;
  padding: 12px 16px !important;
  transform: translateY(100%) !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: none;
}

@media (max-width: 768px) {
  .sabi-mobile-checkout-bar {
    display: block !important;
  }
}

.sabi-mobile-checkout-bar.is-visible {
  transform: translateY(0) !important;
}

.sabi-mobile-checkout-inner {
  width: 100% !important;
  max-width: 500px !important;
  margin: 0 auto !important;
}

.sabi-mobile-place-order-btn {
  width: 100% !important;
  background: linear-gradient(135deg, #c63d72 0%, #e05288 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 14px !important;
  padding: 14px 20px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow: 0 4px 18px rgba(198, 61, 114, 0.42) !important;
  transition: all 0.2s ease !important;
  text-align: center !important;
}

.sabi-mobile-place-order-btn:active {
  transform: scale(0.98) !important;
}

/* Discrete terms and conditions line text styling */
.woocommerce-terms-and-conditions-wrapper,
.form-row.terms {
  font-size: 13px !important;
  color: #666065 !important;
  margin-top: 14px !important;
  margin-bottom: 14px !important;
  line-height: 1.5 !important;
}

.woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
  display: none !important;
}

.woocommerce-terms-and-conditions-wrapper a,
.form-row.terms a {
  color: #c63d72 !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}

/* =========================================================
   SABI — High-Converting Checkout Payment Cards & Clean UI
   ========================================================= */
.woocommerce-checkout #payment,
.sabi-payment-methods-card {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-top: 24px !important;
}

/* Eliminate bullet points completely */
.woocommerce-checkout #payment ul.payment_methods,
ul.wc_payment_methods,
ul.sabi-payment-list {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li,
li.sabi-payment-method-card {
  list-style-type: none !important;
  list-style: none !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
  border: 1.5px solid #e7d8e0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.woocommerce-checkout #payment ul.payment_methods li::before,
li.sabi-payment-method-card::before {
  content: none !important;
  display: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li.is-selected,
li.sabi-payment-method-card.is-selected {
  border-color: #c63d72 !important;
  box-shadow: 0 4px 14px rgba(198, 61, 114, 0.08) !important;
  background: #fffdfd !important;
}

.sabi-payment-method-label {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 16px 18px !important;
  margin: 0 !important;
  cursor: pointer !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  color: #1a1819 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.sabi-payment-method-label input[type="radio"] {
  accent-color: #c63d72 !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  cursor: pointer !important;
}

.sabi-payment-box {
  padding: 16px 18px 20px 18px !important;
  border-top: 1px solid #f2e6ec !important;
  background: #faf7f9 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #4f4a50 !important;
}

.sabi-terms-conditions-line {
  margin: 18px 0 !important;
  font-size: 13px !important;
  color: #6b6368 !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

.sabi-terms-link {
  color: #c63d72 !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}

/* Single High-Converting Pink Place Order Button */
#place_order.sabi-btn-place-order,
.woocommerce-checkout #place_order {
  display: block !important;
  width: 100% !important;
  background: linear-gradient(135deg, #c63d72 0%, #e05288 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 14px !important;
  padding: 16px 24px !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow: 0 6px 20px rgba(198, 61, 114, 0.38) !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  text-align: center !important;
  margin-top: 12px !important;
}

#place_order.sabi-btn-place-order:hover,
.woocommerce-checkout #place_order:hover {
  background: linear-gradient(135deg, #b03262 0%, #c63d72 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(198, 61, 114, 0.48) !important;
}

/* Hide duplicate default terms checkbox wrapper */
.woocommerce-terms-and-conditions-wrapper,
.wc-terms-and-conditions {
  display: none !important;
}












/* Homepage typography: preserve the blocks' layout, scale fixed text on phones. */
@media (max-width: 767px) {
  .home #athemes-blocks-block-d6069d60 .wp-block-heading {
    font-size: clamp(28px, 8vw, 36px) !important;
    line-height: 1.2;
  }
  .home #post-362 blockquote p {
    font-size: clamp(20px, 5.6vw, 24px);
    line-height: 1.5;
  }
}

/* Checkout: one field flow and a separate order summary. Reset Botiga's nested widths. */
body.woocommerce-checkout .site-main { max-width:1180px!important; padding:0 24px!important; }
body.woocommerce-checkout .entry-content, body.woocommerce-checkout .entry-content > .woocommerce { padding:0!important; }
form.sabi-checkout-form .sabi-checkout-wrapper { display:grid!important; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:28px!important; max-width:none!important; margin:24px 0 48px!important; }
form.sabi-checkout-form .sabi-checkout-col { width:100%!important; min-width:0!important; max-width:none!important; }
form.sabi-checkout-form #customer_details, form.sabi-checkout-form #order_review { float:none!important; width:100%!important; max-width:none!important; margin:0!important; }
form.sabi-checkout-form #customer_details { display:block!important; }
form.sabi-checkout-form .sabi-checkout-card { padding:24px!important; margin:0!important; border-radius:14px!important; box-shadow:none!important; }
form.sabi-checkout-form .sabi-card-subtitle { color:#655d62!important; font-size:13px!important; font-weight:400!important; margin-top:6px!important; }
form.sabi-checkout-form .sabi-card-step-badge { box-shadow:none!important; }
form.sabi-checkout-form .form-row { margin-bottom:14px!important; }
form.sabi-checkout-form .form-row label { font-size:14px!important; font-weight:600!important; line-height:1.5; }
form.sabi-checkout-form .form-row input.input-text, form.sabi-checkout-form .form-row select, form.sabi-checkout-form .form-row textarea { font-size:16px!important; border-radius:8px!important; box-shadow:none!important; padding-left:12px!important; }
form.sabi-checkout-form .select2-container { width:100%!important; }
form.sabi-checkout-form .select2-selection--single { height:50px!important; border:1px solid #ded6db!important; border-radius:8px!important; }
form.sabi-checkout-form .select2-selection__rendered { line-height:48px!important; padding-left:12px!important; font-size:16px; }
form.sabi-checkout-form .select2-selection__arrow { top:12px!important; }
form.sabi-checkout-form .sabi-same-address-notice { padding:12px!important; margin:8px 0 0!important; font-size:13px; line-height:1.5; border:0!important; border-radius:8px!important; }
form.sabi-checkout-form table.shop_table { background:white!important; border:0!important; border-radius:0!important; margin-bottom:20px!important; }
form.sabi-checkout-form table.shop_table th, form.sabi-checkout-form table.shop_table td { border:0!important; border-bottom:1px solid #eee5e9!important; padding:12px 0!important; text-align:left!important; }
form.sabi-checkout-form table.shop_table td:last-child, form.sabi-checkout-form table.shop_table th:last-child { text-align:right!important; padding-left:12px!important; }
form.sabi-checkout-form table.shop_table .product-name { width:66%!important; }
form.sabi-checkout-form table.shop_table .product-total { width:34%!important; }
form.sabi-checkout-form table.shop_table tr.order-total th, form.sabi-checkout-form table.shop_table tr.order-total td { background:white!important; color:#252326!important; font-size:21px!important; padding-top:16px!important; }
form.sabi-checkout-form #shipping_method { list-style:none!important; padding:0!important; margin:0!important; }
form.sabi-checkout-form #shipping_method li { list-style:none!important; padding:0!important; margin:0!important; }
form.sabi-checkout-form #payment ul.payment_methods > li { padding:14px!important; border-radius:10px!important; position:relative; }
form.sabi-checkout-form #payment ul.payment_methods > li:has(> input:checked) { border-color:#c63d72!important; background:#fffbfd!important; }
form.sabi-checkout-form #payment ul.payment_methods > li > input { accent-color:#b33263; margin:0 8px 0 0; }
form.sabi-checkout-form #payment ul.payment_methods > li > label { display:inline!important; font-size:14px!important; line-height:1.7; }
form.sabi-checkout-form #payment .payment_box { padding:12px 0 0!important; margin:10px 0 0!important; background:transparent!important; border-top:1px solid #eee5e9; font-size:14px!important; color:#51484d; }
form.sabi-checkout-form #payment .payment_box::before { display:none!important; }
form.sabi-checkout-form .sabi-wompi-card { border:0!important; background:transparent!important; padding:0!important; margin:0!important; }
form.sabi-checkout-form .woocommerce-terms-and-conditions-wrapper { display:block!important; font-size:13px!important; line-height:1.6!important; }
form.sabi-checkout-form .woocommerce-terms-and-conditions-wrapper input[type=checkbox] { display:inline-block!important; width:18px; height:18px; margin-right:6px; accent-color:#b33263; }
form.sabi-checkout-form .woocommerce-terms-and-conditions-wrapper label { font-size:13px!important; font-weight:400!important; }
form.sabi-checkout-form .woocommerce-privacy-policy-text p { margin-bottom:12px; }
form.sabi-checkout-form #place_order { height:auto!important; min-height:52px!important; border-radius:8px!important; background:#b33263!important; font-size:16px!important; letter-spacing:0!important; text-transform:none!important; box-shadow:none!important; }
form.sabi-checkout-form #place_order:hover { background:#962650!important; transform:none!important; }
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { padding:12px 16px!important; margin:0 0 20px!important; background:#f7f3f5; font-size:14px; }
@media(max-width:900px) {
 form.sabi-checkout-form .sabi-checkout-wrapper { grid-template-columns:minmax(0,1fr); gap:20px!important; max-width:640px!important; margin-left:auto!important; margin-right:auto!important; }
}
@media(max-width:540px) {
 body.woocommerce-checkout .site-main { padding:0 16px!important; }
 form.sabi-checkout-form .sabi-checkout-card { padding:18px 16px!important; }
 form.sabi-checkout-form .sabi-card-title { font-size:20px!important; }
 form.sabi-checkout-form .sabi-checkout-card-header { align-items:flex-start!important; gap:10px!important; }
 form.sabi-checkout-form table.shop_table th, form.sabi-checkout-form table.shop_table td { font-size:13px!important; }
}

/* Real payment brands: a single quiet row, without duplicate badges. */
.woocommerce-checkout #payment .sabi-checkout-brands { display:flex; align-items:center; justify-content:flex-start; gap:22px; padding:6px 0 12px; flex-wrap:nowrap; }
.woocommerce-checkout #payment .sabi-checkout-brands img { display:block!important; float:none!important; object-fit:contain; padding:0!important; margin:0!important; border:0!important; border-radius:0!important; max-height:none!important; flex-shrink:1; min-width:0; }
.woocommerce-checkout #payment .sabi-checkout-brands .sabi-brand-pse { width:38px!important; height:38px!important; max-width:38px!important; }
.woocommerce-checkout #payment .sabi-checkout-brands .sabi-brand-visa { width:56px!important; height:24px!important; max-width:56px!important; }
.woocommerce-checkout #payment .sabi-checkout-brands .sabi-brand-mastercard { width:46px!important; height:30px!important; max-width:46px!important; }
.woocommerce-checkout #payment .sabi-checkout-brands .sabi-brand-nequi { width:76px!important; height:26px!important; max-width:76px!important; }
.woocommerce-checkout #payment .sabi-checkout-processor { margin:0!important; font-size:13px!important; line-height:1.5; color:#625961; }
/* Keep Select2's hidden native controls from inheriting full-width input rules. */
form.sabi-checkout-form .form-row select.select2-hidden-accessible { width:1px!important; height:1px!important; min-height:0!important; padding:0!important; border:0!important; }
@media(max-width:400px) { .woocommerce-checkout #payment .sabi-checkout-brands { gap:14px; } }

/* Consistent SABI rose for WooCommerce actions and sale badges. */
body .woocommerce a.button, body .woocommerce button.button, body .woocommerce input.button,
body.woocommerce a.button, body.woocommerce button.button, body.woocommerce input.button,
body .woocommerce-message a.button, body .woocommerce-info a.button,
body .widget_shopping_cart a.button, body .woocommerce-mini-cart__buttons a.button,
body a.added_to_cart.wc-forward, body .wc-block-components-button:not(.is-link) {
 background:#c63d72!important; background-image:none!important; border-color:#c63d72!important; color:#fff!important;
}
body .woocommerce a.button:hover, body .woocommerce button.button:hover, body .woocommerce input.button:hover,
body.woocommerce a.button:hover, body.woocommerce button.button:hover, body.woocommerce input.button:hover,
body .woocommerce-message a.button:hover, body .woocommerce-info a.button:hover,
body .widget_shopping_cart a.button:hover, body .woocommerce-mini-cart__buttons a.button:hover,
body a.added_to_cart.wc-forward:hover, body .wc-block-components-button:not(.is-link):hover {
 background:#a92f5f!important; border-color:#a92f5f!important; color:#fff!important;
}
body .woocommerce a.button:focus-visible, body .woocommerce button.button:focus-visible,
body.woocommerce a.button:focus-visible, body.woocommerce button.button:focus-visible,
body .widget_shopping_cart a.button:focus-visible, body a.added_to_cart.wc-forward:focus-visible {
 outline:3px solid #832349!important; outline-offset:3px;
}
body .woocommerce span.onsale, body.woocommerce span.onsale, body .wc-block-components-product-sale-badge {
 background:#c63d72!important; color:#fff!important; border-color:#c63d72!important;
}

html body .woocommerce-mini-cart__buttons.buttons a.button.wc-forward:not(.checkout) { background:#c63d72!important; background-image:none!important; color:#fff!important; border-color:#c63d72!important; }
html body .woocommerce-mini-cart__buttons.buttons a.button.wc-forward:not(.checkout):hover { background:#a92f5f!important; border-color:#a92f5f!important; }

/* Preserve the supplied transparent artwork and its 2:1 canvas. */
body .custom-logo-link img.sabi-current-logo { width:180px!important; max-width:180px!important; height:auto!important; max-height:none!important; object-fit:contain; }
@media(max-width:767px) { body .custom-logo-link img.sabi-current-logo { width:145px!important; max-width:145px!important; } }

/* Cart: compact summary and persistent mobile checkout, using native Woo totals. */
body.woocommerce-cart .entry-header { margin-bottom:24px; }
body.woocommerce-cart .cart_totals { width:100%!important; float:none!important; background:#fff!important; border:1px solid #eadfe4; border-radius:16px; padding:24px!important; box-sizing:border-box; margin:20px 0 32px!important; }
body.woocommerce-cart .cart_totals h2 { font-size:23px!important; line-height:1.3; margin:0 0 18px!important; }
body.woocommerce-cart .cart_totals table { width:100%; border:0!important; margin:0!important; background:transparent!important; }
body.woocommerce-cart .cart_totals th, body.woocommerce-cart .cart_totals td { border:0!important; border-bottom:1px solid #eee5e9!important; padding:14px 0!important; background:transparent!important; font-size:15px; }
body.woocommerce-cart .cart_totals th { text-align:left; text-transform:none; }
body.woocommerce-cart .cart_totals td { text-align:right; }
body.woocommerce-cart .cart_totals #shipping_method { list-style:none; margin:0; padding:0; }
body.woocommerce-cart .cart_totals #shipping_method li { list-style:none; margin:0; }
body.woocommerce-cart .cart_totals .woocommerce-shipping-destination { font-size:13px; line-height:1.5; margin:8px 0; color:#665d63; }
body.woocommerce-cart .cart_totals .shipping-calculator-button { font-size:13px; text-transform:none; color:#a92f5f; text-decoration:underline; }
body.woocommerce-cart .cart_totals .order-total td, body.woocommerce-cart .cart_totals .order-total th { font-size:21px; border-bottom:0!important; padding-top:18px!important; }
body.woocommerce-cart .wc-proceed-to-checkout { padding:18px 0 0!important; margin:0!important; }
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button { display:block; width:100%; margin:0!important; border-radius:10px; padding:17px 16px!important; font-size:16px!important; line-height:1.3!important; text-transform:none!important; text-align:center; box-sizing:border-box; }
.sabi-cart-pay-total { display:none; }
.sabi-cart-next-step { font-size:13px; line-height:1.5; color:#665d63; text-align:center; margin:12px 0 0; }
body.woocommerce-cart .cart_totals .shipping-calculator-form input, body.woocommerce-cart .cart_totals .shipping-calculator-form select { width:100%; min-height:44px; font-size:16px; }
@media(min-width:1000px) {
 body.woocommerce-cart .entry-content > .woocommerce { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(330px,1fr); gap:28px; align-items:start; }
 body.woocommerce-cart .entry-content > .woocommerce > * { grid-column:1/-1; }
 body.woocommerce-cart .entry-content > .woocommerce > .woocommerce-cart-form { grid-column:1; min-width:0; width:100%!important; float:none!important; }
 body.woocommerce-cart .entry-content > .woocommerce > .cart_totals { grid-column:2; margin-top:0!important; }
}
@media(max-width:767px) {
 body.woocommerce-cart:has(.cart_totals) { padding-bottom:108px; }
 body.woocommerce-cart .cart_totals { padding:20px 16px!important; margin-top:20px!important; }
 body.woocommerce-cart .cart_totals h2 { font-size:22px!important; }
 body.woocommerce-cart .cart_totals td::before { font-weight:600; }
 body.woocommerce-cart .wc-proceed-to-checkout { position:fixed; bottom:0; left:0; right:0; z-index:999; padding:12px 16px calc(12px + env(safe-area-inset-bottom))!important; background:#fff; border-top:1px solid #eadfe4; box-shadow:0 -4px 18px #30202a10; display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px; align-items:center; }
 body.woocommerce-cart .sabi-cart-pay-total { display:flex; flex-direction:column; gap:3px; font-size:12px; color:#665d63; }
 body.woocommerce-cart .sabi-cart-pay-total strong { color:#252326; font-size:18px; white-space:nowrap; }
 body.woocommerce-cart .wc-proceed-to-checkout .checkout-button { font-size:15px!important; padding:16px 10px!important; }
 body.woocommerce-cart .wc-proceed-to-checkout .ppc-button-wrapper:empty { display:none; }
 body.woocommerce-cart .wc-proceed-to-checkout .ppc-button-wrapper { grid-column:1/-1; }
 body.woocommerce-cart .wc-proceed-to-checkout .ppc-button-wrapper:not(:has(iframe)) { display:none; }
 body.woocommerce-cart .woocommerce-cart-form .product-name { word-break:normal!important; overflow-wrap:normal!important; }
 body.woocommerce-cart .woocommerce-cart-form .coupon { display:flex!important; width:100%!important; gap:8px; }
 body.woocommerce-cart .woocommerce-cart-form .coupon input { flex:1; min-width:0; width:100%!important; font-size:16px; }
 body.woocommerce-cart .woocommerce-cart-form .coupon button { flex:0 0 auto; font-size:12px; padding-left:12px; padding-right:12px; }
}

@media(max-width:767px) {
 body.woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon { display:grid!important; grid-template-columns:minmax(0,1fr) auto!important; flex-direction:row!important; gap:8px!important; }
 body.woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon input.input-text { width:100%!important; min-width:0!important; margin:0!important; }
 body.woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon button.button { width:auto!important; margin:0!important; }
 body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]:disabled { display:none!important; }
}

@media(max-width:767px) {
 body.woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon { display:grid!important; grid-template-columns:minmax(0,1fr) auto!important; flex-direction:row!important; gap:8px!important; }
 body.woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon input.input-text { width:100%!important; max-width:none!important; min-width:0!important; margin:0!important; }
 body.woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon button.button { width:auto!important; max-width:none!important; white-space:nowrap!important; margin:0!important; }
 body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]:disabled { display:none!important; }
}

/* Homepage reference: clean supplied image, live text and accessible CTA. */
.home #athemes-blocks-block-d6069d60 > .athemes-blocks-block-container-wrapper { padding:0!important; min-height:420px; aspect-ratio:1600/595; background:#fbdce5; }
.home #athemes-blocks-block-d6069d60 .athemes-blocks-block-container-wrapper-content { width:100%; max-width:1440px!important; padding:40px 7%!important; box-sizing:border-box; }
.home #athemes-blocks-block-d6069d60 .wp-block-columns { margin:0!important; }
.home #athemes-blocks-block-d6069d60 .wp-block-column:first-child { flex-basis:58%!important; }
.home #athemes-blocks-block-d6069d60 .wp-block-heading { font-size:clamp(34px,4.3vw,70px)!important; font-weight:750; line-height:1.08!important; letter-spacing:-.035em; margin:0 0 26px!important; }
.home #athemes-blocks-block-d6069d60 .wp-block-button__link { background:#f71968!important; color:#fff!important; border-radius:5px!important; padding:18px 26px!important; font-size:18px; }
.home #athemes-blocks-block-d6069d60 .wp-block-button__link::after { content:' →'; margin-left:14px; font-size:24px; line-height:1; }
.home #athemes-blocks-block-d6069d60 .wp-block-button__link:hover { background:#cf1054!important; }
.home #athemes-blocks-block-e33314b8 > .athemes-blocks-block-container-wrapper { padding:36px 20px!important; }
.home .sabi-home-promise { text-align:center; }
.home .sabi-home-promise p { font-size:clamp(23px,3vw,42px); line-height:1.2; font-weight:700; letter-spacing:-.02em; margin:0; color:#181818; }
.home .sabi-home-promise span { color:#dc2368; }
@media(max-width:767px) {
 .home #athemes-blocks-block-d6069d60 > .athemes-blocks-block-container-wrapper { aspect-ratio:auto; min-height:280px; padding:0!important; justify-content:center; }
 .home #athemes-blocks-block-d6069d60 .sabi-clean-hero-image { top:0!important; bottom:0!important; height:100%!important; width:100%!important; object-fit:cover!important; object-position:72% center!important; }
 .home #athemes-blocks-block-d6069d60 .athemes-blocks-block-container-wrapper-content { padding:24px 16px!important; display:flex; flex-direction:column; justify-content:center; min-height:280px; }
 .home #athemes-blocks-block-d6069d60 .wp-block-heading { font-size:clamp(25px,6.4vw,40px)!important; margin-bottom:22px!important; max-width:54%; }
 .home #athemes-blocks-block-d6069d60 .wp-block-columns { gap:0!important; }
 .home #athemes-blocks-block-d6069d60 .wp-block-column:empty { display:none; }
 .home #athemes-blocks-block-d6069d60 .wp-block-button__link { font-size:12px; padding:15px 14px!important; }
 .home #athemes-blocks-block-e33314b8 > .athemes-blocks-block-container-wrapper { padding:28px 18px!important; }
}

/* Four visual goals: real text, full-card links and reference photography. */
.home .sabi-goal-categories { max-width:1440px; margin:48px auto 12px; padding:0 24px; box-sizing:border-box; font-family:Arial,Helvetica,sans-serif; }
.home .sabi-goal-categories h2 { text-align:center; font-size:clamp(30px,4vw,56px); line-height:1.12; font-weight:750; letter-spacing:-.035em; color:#202428; margin:0 0 12px; }
.home .sabi-goal-categories h2 span { color:#ed2a70; }
.home .sabi-goals-intro { text-align:center; color:#303438; font-size:clamp(17px,1.8vw,25px); line-height:1.4; margin:0 0 28px; }
.home .sabi-goals-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.home a.sabi-goal-card { display:block; text-decoration:none; color:#202428; min-width:0; }
.home .sabi-goal-photo { display:block; width:100%; aspect-ratio:1; border-radius:8px; background-image:url('../images/categories-20260928/category-reference.png'); background-repeat:no-repeat; background-size:426.667% 173.067%; background-position-y:58.03%; transition:box-shadow .2s; }
.home .sabi-goal-photo-1 { background-position-x:1.878%; }
.home .sabi-goal-photo-2 { background-position-x:34.367%; }
.home .sabi-goal-photo-3 { background-position-x:66.122%; }
.home .sabi-goal-photo-4 { background-position-x:98.122%; }
.home .sabi-goal-card h3 { font-family:inherit; font-size:clamp(18px,1.7vw,25px); font-weight:600; line-height:1.2; text-align:center; margin:16px 4px 0; letter-spacing:-.025em; }
.home .sabi-goal-card:hover h3 { color:#c63d72; }
.home .sabi-goal-card:hover .sabi-goal-photo { box-shadow:0 0 0 3px #ed2a7026; }
.home .sabi-goal-card:focus-visible { outline:3px solid #c63d72; outline-offset:6px; border-radius:8px; }
@media(max-width:767px) {
 .home .sabi-goal-categories { padding:0 18px; margin-top:32px; }
 .home .sabi-goals-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 14px; }
 .home .sabi-goal-card h3 { font-size:17px; line-height:1.3; margin-top:12px; }
 .home .sabi-goals-intro { margin-bottom:22px; }
}

/* Center the headline and CTA together within the desktop hero. */
@media(min-width:768px) {
 .home #athemes-blocks-block-d6069d60 .athemes-blocks-block-container-wrapper-content { display:flex; flex-direction:column; justify-content:center; }
 .home #athemes-blocks-block-d6069d60 .athemes-blocks-block-container-wrapper-content > .wp-block-columns { width:100%; }
}

@media(max-width:767px) { .home #athemes-blocks-block-d6069d60 .wp-block-button__link::after { font-size:18px; margin-left:8px; } }

/* Compact only the spacer between the promise and products. */
.home #athemes-blocks-block-e33314b8 + .wp-block-spacer { height:24px!important; }
@media(max-width:767px) { .home #athemes-blocks-block-e33314b8 + .wp-block-spacer { height:8px!important; } }

/* SABI: Eliminar completamente el Agree Terms / Términos del checkout */
.wc-block-checkout__terms,
.wc-block-components-checkout-terms,
.woocommerce-terms-and-conditions-wrapper,
.woocommerce-privacy-policy-text,
.woocommerce-terms-and-conditions-checkbox-text,
.sabi-terms-notice,
#terms,
label[for="terms"],
.wc-block-components-checkbox[name*="terms"],
.wc-block-components-checkbox[name*="privacy"],
.form-row.validate-required:has(#terms) {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
}

/* =========================================================
   SABI — Buy Box Essential Benefits ("Conoce lo esencial")
   ========================================================= */
.sabi-buybox-essential {
  margin: 18px 0 16px 0 !important;
  padding: 16px 14px !important;
  background: #fdfafc !important;
  border: 1.5px solid #f2e2eb !important;
  border-radius: 18px !important;
}

.sabi-essential-header {
  margin-bottom: 12px !important;
}

.sabi-essential-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #c63d72 !important;
  background: #fae4ee !important;
  padding: 3px 10px !important;
  border-radius: 999px !important;
  margin-bottom: 6px !important;
}

#sabi-essential-title {
  font-size: 14px !important;
  font-weight: 750 !important;
  color: #252225 !important;
  margin: 0 !important;
  line-height: 1.35 !important;
}

.sabi-essential-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.sabi-essential-card {
  background: #ffffff !important;
  border: 1.2px solid #ede1e8 !important;
  border-radius: 14px !important;
  padding: 12px 10px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 6px !important;
  box-sizing: border-box !important;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.sabi-essential-card:hover {
  transform: translateY(-2px) !important;
  border-color: #c63d72 !important;
  box-shadow: 0 6px 16px rgba(198,61,114,0.08) !important;
}

.sabi-essential-icon {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  border-radius: 50% !important;
  background: #fdf0f5 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 15px !important;
  flex-shrink: 0 !important;
  box-shadow: inset 0 0 0 1px #f3d8e3 !important;
}

.sabi-essential-content {
  width: 100% !important;
}

.sabi-essential-content strong {
  display: block !important;
  font-size: 12.5px !important;
  font-weight: 750 !important;
  color: #202428 !important;
  line-height: 1.25 !important;
  margin-bottom: 3px !important;
}

.sabi-essential-content p {
  font-size: 11px !important;
  line-height: 1.4 !important;
  color: #625c61 !important;
  margin: 0 !important;
}

@media (max-width: 480px) {
  .sabi-essential-grid {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
}

/* =========================================================
   SABI — Botón Flotante Oficial de WhatsApp
   ========================================================= */
.sabi-floating-whatsapp {
  position: fixed !important;
  bottom: 26px !important;
  right: 24px !important;
  z-index: 9998 !important;
  width: 58px !important;
  height: 58px !important;
  border-radius: 50% !important;
  background: #25D366 !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 6px 20px rgba(37,211,102,0.4) !important;
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.25s ease, bottom 0.3s ease !important;
  text-decoration: none !important;
}

.sabi-floating-whatsapp:hover {
  transform: scale(1.1) !important;
  box-shadow: 0 8px 26px rgba(37,211,102,0.55) !important;
  color: #ffffff !important;
}

.sabi-wa-svg {
  width: 32px !important;
  height: 32px !important;
  fill: #ffffff !important;
}

.sabi-wa-tooltip {
  position: absolute !important;
  right: 68px !important;
  white-space: nowrap !important;
  background: #202428 !important;
  color: #ffffff !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  padding: 6px 12px !important;
  border-radius: 8px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateX(10px) !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.18) !important;
}

.sabi-wa-tooltip strong {
  color: #25D366 !important;
}

.sabi-floating-whatsapp:hover .sabi-wa-tooltip {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

@media (max-width: 767px) {
  .sabi-floating-whatsapp {
    bottom: 20px !important;
    right: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
  .sabi-wa-svg {
    width: 26px !important;
    height: 26px !important;
  }
  .sabi-wa-tooltip {
    display: none !important;
  }
  /* En páginas de producto para no tapar la barra flotante rosada */
  .single-product .sabi-floating-whatsapp {
    bottom: 84px !important;
  }
}



