/*
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}
.sabi-product-gallery .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0!important}
.sabi-product-gallery .woocommerce-product-gallery__wrapper{margin:0!important}
.sabi-product-gallery .woocommerce-product-gallery__image img{display:block;width:100%;height:auto;border-radius:22px}
.sabi-product-gallery .flex-control-thumbs{display:flex;gap:10px;margin:12px 0 0!important;overflow:auto}
.sabi-product-gallery .flex-control-thumbs li{float:none!important;width:76px!important;flex:0 0 76px;margin:0!important}
.sabi-product-gallery .flex-control-thumbs img{width:76px;height:76px;object-fit:cover;border-radius:12px}
.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:22px;border:1px solid #e7e0e4;border-radius:18px;background:#fff;box-shadow:0 8px 30px rgba(35,25,30,.06)}
.sabi-product-trust{display:grid;gap:9px;margin:0 0 20px;padding:0 0 18px;border-bottom:1px solid #ece6e9}
.sabi-product-trust span{display:block;font-size:14px;line-height:1.45}
.sabi-product-cart{margin:0}
.sabi-product-cart .cart{display:grid;grid-template-columns:92px 1fr;gap:10px;align-items:stretch;margin:0}
.sabi-product-cart .quantity{margin:0!important;display:flex;align-items:center}
.sabi-product-cart .quantity .qty{width:100%;height:52px;border:1px solid #dcd4d9;border-radius:11px;text-align:center;font-size:16px}
.sabi-product-cart .single_add_to_cart_button{width:100%;min-height:52px;padding:12px 20px;border-radius:11px;font-weight:700;font-size:15px;letter-spacing:.01em;background:#c63d72!important;color:#fff!important;border:0!important;transition:transform .18s ease,opacity .18s ease}
.sabi-product-cart .single_add_to_cart_button:hover{opacity:.92;transform:translateY(-1px)}
.sabi-buy-now-button{width:100%;min-height:52px;margin-top:10px;padding:12px 20px;border-radius:11px;font-weight:700;font-size:15px;letter-spacing:.01em;background:#fff!important;color:#c63d72!important;border:1px solid #c63d72!important;cursor:pointer;transition:transform .18s ease,background .18s ease,color .18s ease}
.sabi-buy-now-button:hover{background:#c63d72!important;color:#fff!important;transform:translateY(-1px)}
.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}
@media(max-width:1000px){.sabi-product-main{grid-template-columns:1fr;gap:38px}.sabi-product-summary{padding-top:0}.sabi-benefit-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.sabi-product-page{padding:10px 16px 55px}.sabi-product-main{gap:28px}.sabi-product-summary .product_title{font-size:32px}.sabi-product-buy-card{padding:17px}.sabi-product-cart .cart{grid-template-columns:82px 1fr}.sabi-product-highlights{grid-template-columns:1fr}.sabi-benefit-grid{grid-template-columns:1fr}.sabi-product-sections{margin-top:58px}.sabi-section-heading{padding-top:42px}.sabi-fact-list{grid-template-columns:1fr}.sabi-fact-value{text-align:left}.sabi-fact-row{display:block}.sabi-accordion-button{font-size:16px}}

/* ================================
   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;
}

.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;
  box-sizing: border-box !important;
}

/* Stock Indicator Styling */
.sabi-product-cart form.cart .stock {
  margin: 0 0 4px 0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #2e7d32 !important;
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
}
.sabi-product-cart form.cart .stock::before {
  content: '●' !important;
  display: inline-block !important;
  font-size: 10px !important;
}

/* Custom Centered Quantity Selector */
.sabi-product-cart form.cart .quantity {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1.5px solid #dcd4d9 !important;
  border-radius: 12px !important;
  background: #fff !important;
  overflow: hidden !important;
  height: 46px !important;
  width: 136px !important;
  min-width: 136px !important;
  max-width: 136px !important;
  padding: 0 !important;
  margin: 0 auto 6px auto !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.02) !important;
  box-sizing: border-box !important;
  float: none !important;
  position: relative !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;
  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;
}


/* Wompi & Mercado Pago Payment Gateways Section */
.sabi-payment-gateways {
  margin: 18px 0;
  padding: 16px;
  background: #fdfbfc;
  border: 1px solid #eee5ea;
  border-radius: 14px;
}

.sabi-payment-header {
  margin-bottom: 12px;
}

.sabi-payment-title {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: #252326;
  letter-spacing: -0.01em;
}

.sabi-payment-badges {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}

.sabi-payment-badge {
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid #e7dce2;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 2px;
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.sabi-payment-badge:hover {
  border-color: #c63d72;
  transform: translateY(-1px);
}

.sabi-badge-wompi .sabi-badge-name {
  color: #002244;
  font-weight: 800;
  font-size: 14px;
}

.sabi-badge-mercadopago .sabi-badge-name {
  color: #009ee3;
  font-weight: 800;
  font-size: 14px;
}

.sabi-badge-sub {
  font-size: 11px;
  color: #6d666b;
  line-height: 1.3;
}

.sabi-payment-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.sabi-pay-pill {
  font-size: 11px;
  font-weight: 700;
  padding: 4px 9px;
  background: #f2e9ee;
  color: #524a50;
  border-radius: 6px;
}

.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; } }

