
/* Fixes visuales finales */
.bc-simple-coupon-note{margin-top:10px;padding:12px 14px;border-radius:16px;background:#eef9f0;border:1px solid #bde4c4;color:#17693a;font-weight:700;line-height:1.45}
.bc-simple-coupon-note.err{background:#fff4f4;border-color:#f4c4c4;color:#b42318}
.summary-before-coupon span,.subtotal-row span{font-weight:700}
.summary-before-coupon b{color:#102a63}
.gift-credit-discount b{color:#117a37}
.detail-image,.product-img,.detail-thumb{background:#fff}
.product-img img,#modalMainImage,.detail-thumb img{background:#fff;object-fit:contain}
.detail-thumbs .detail-thumb{overflow:hidden}
.color-gallery-tip{font-size:12px;color:#6b7ca8;margin-top:8px}
.checkout-summary .summary-total span{font-weight:800}
.checkout-summary .summary-total b{font-size:18px}
#checkoutModal.show,#bcCheckoutFinalModal.show{display:flex!important}
#cartDrawer.open{transform:translateX(0)!important}


/* Contador real del carrito: nav superior y botón flotante */
.nav-cart,.float-cart{position:relative!important;overflow:visible!important}
#cartCountTop,#cartCountFloat,.bc-real-cart-count{
  position:absolute!important;
  top:-7px!important;
  right:-7px!important;
  min-width:20px!important;
  height:20px!important;
  padding:0 6px!important;
  border-radius:999px!important;
  background:#ff3655!important;
  color:#fff!important;
  border:2px solid #fff!important;
  box-shadow:0 8px 18px rgba(255,54,85,.32)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font:900 11px/1 Poppins,Arial,sans-serif!important;
  z-index:20!important;
  pointer-events:none!important;
}
.nav-cart #cartCountTop,.nav-cart .bc-real-cart-count{top:-8px!important;right:-8px!important}
.float-cart #cartCountFloat,.float-cart .bc-real-cart-count{top:-8px!important;right:-8px!important}

/* SKU y mejoras de producto */
.product-sku-badge{display:inline-flex;align-items:center;gap:6px;margin-top:8px;margin-bottom:6px;padding:7px 11px;border-radius:999px;background:#f5f8ff;border:1px solid #cfe0ff;color:#2048a0;font:800 11px/1.1 Poppins,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;width:max-content} 
.detail-price-row{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:0 0 8px} 
.detail-sku-pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#f5f8ff;border:1px solid #cfe0ff;color:#2048a0;font:800 12px/1 Poppins,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase} 
.product-card-color-row .color-swatch-group{flex-wrap:wrap} 
@media(max-width:640px){.product-sku-badge{font-size:10px;padding:6px 10px}.detail-sku-pill{font-size:11px}}

/* Fix thumbnails: mostrar miniaturas inmediatamente sin tener que mover el mouse */
#modalProductGallery button,
#modalThumbs .detail-thumb,
.detail-gallery button,
.detail-thumbs .detail-thumb{background:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;opacity:1!important;visibility:visible!important;}
#modalProductGallery img,
#modalThumbs img,
.detail-gallery img,
.detail-thumbs img{display:block!important;opacity:1!important;visibility:visible!important;width:100%!important;height:100%!important;object-fit:contain!important;background:#fff!important;}
.detail-gallery-wrap,.detail-thumbs-strip,#modalProductGallery,#modalThumbs{opacity:1!important;visibility:visible!important;}


/* FIX MODAL PRODUCTO: que la información se lea bien y no quede apretada */
#productDetailModal .product-detail-modal,
#productModal .product-detail-modal,
.product-detail-modal{
  width:min(96vw,1180px)!important;
  max-width:1180px!important;
  padding:28px!important;
}
.product-detail-modal .product-detail-grid.product-detail-grid-enhanced,
.product-detail-modal.bc-support-left-active-modal .product-detail-grid.product-detail-grid-enhanced{
  grid-template-columns:minmax(280px,340px) minmax(340px,1fr)!important;
  gap:30px!important;
  align-items:start!important;
  padding:0!important;
}
.product-detail-modal .detail-gallery-wrap,
.product-detail-modal.bc-support-left-active-modal .detail-gallery-wrap{
  max-width:340px!important;
  width:100%!important;
  margin:0 auto!important;
  padding:0 0 12px!important;
}
.product-detail-modal .detail-image.detail-image-enhanced,
.product-detail-modal.bc-support-left-active-modal .detail-image.detail-image-enhanced{
  min-height:300px!important;
  max-height:330px!important;
  padding:16px!important;
}
.product-detail-modal .detail-image #modalMainImage,
.product-detail-modal .detail-image #modalProductImage,
.product-detail-modal.bc-support-left-active-modal .detail-image #modalMainImage,
.product-detail-modal.bc-support-left-active-modal .detail-image #modalProductImage{
  max-height:235px!important;
  min-height:235px!important;
  object-fit:contain!important;
}
.product-detail-modal .detail-thumbs-strip,
.product-detail-modal.bc-support-left-active-modal .detail-thumbs-strip{
  grid-template-columns:38px 1fr 38px!important;
  gap:8px!important;
  margin-top:12px!important;
}
.product-detail-modal .detail-thumbs.detail-thumbs-visible,
.product-detail-modal.bc-support-left-active-modal .detail-thumbs.detail-thumbs-visible{
  display:flex!important;
  gap:10px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:2px 0 8px!important;
}
.product-detail-modal .detail-thumb,
.product-detail-modal.bc-support-left-active-modal .detail-thumb{
  flex:0 0 60px!important;
  width:60px!important;
  height:60px!important;
  border-radius:14px!important;
  padding:4px!important;
}
.product-detail-modal .detail-info,
.product-detail-modal.bc-support-left-active-modal .detail-info{
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
  overflow:visible!important;
  padding:4px 0 0!important;
}
.product-detail-modal .detail-info h2,
.product-detail-modal.bc-support-left-active-modal .detail-info h2{
  font-size:clamp(30px,3vw,42px)!important;
  line-height:1.08!important;
  letter-spacing:-1px!important;
  margin:12px 0 12px!important;
  max-width:100%!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.product-detail-modal .detail-lead-copy,
.product-detail-modal .detail-description-box,
.product-detail-modal .detail-info p,
.product-detail-modal.bc-support-left-active-modal .detail-lead-copy,
.product-detail-modal.bc-support-left-active-modal .detail-description-box,
.product-detail-modal.bc-support-left-active-modal .detail-info p{
  font-size:14px!important;
  line-height:1.7!important;
  max-width:100%!important;
  color:#566b98!important;
}
.product-detail-modal .detail-price,
.product-detail-modal.bc-support-left-active-modal .detail-price{
  font-size:clamp(40px,4vw,56px)!important;
  line-height:1!important;
  margin:12px 0 6px!important;
}
.product-detail-modal .detail-options,
.product-detail-modal.bc-support-left-active-modal .detail-options{
  grid-template-columns:minmax(86px,110px) minmax(180px,1fr)!important;
  gap:12px!important;
  margin:16px 0 16px!important;
}
.product-detail-modal .color-field,
.product-detail-modal.bc-support-left-active-modal .color-field{
  grid-column:1 / -1!important;
}
.product-detail-modal .detail-actions,
.product-detail-modal .centered-actions,
.product-detail-modal.bc-support-left-active-modal .detail-actions,
.product-detail-modal.bc-support-left-active-modal .centered-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  width:100%!important;
}
.product-detail-modal .detail-actions button,
.product-detail-modal .centered-actions button,
.product-detail-modal.bc-support-left-active-modal .detail-actions button,
.product-detail-modal.bc-support-left-active-modal .centered-actions button{
  width:100%!important;
  min-height:54px!important;
  white-space:normal!important;
  line-height:1.2!important;
}
.product-detail-modal .detail-support-left,
.product-detail-modal.bc-support-left-active-modal .detail-support-left{
  max-width:340px!important;
  width:100%!important;
  margin:12px auto 0!important;
}
@media(max-width:760px){
  #productDetailModal .product-detail-modal,
  #productModal .product-detail-modal,
  .product-detail-modal{width:96vw!important;padding:20px!important;}
  .product-detail-modal .product-detail-grid.product-detail-grid-enhanced,
  .product-detail-modal.bc-support-left-active-modal .product-detail-grid.product-detail-grid-enhanced{grid-template-columns:1fr!important;gap:18px!important;}
  .product-detail-modal .detail-gallery-wrap,
  .product-detail-modal.bc-support-left-active-modal .detail-gallery-wrap,
  .product-detail-modal .detail-support-left,
  .product-detail-modal.bc-support-left-active-modal .detail-support-left{max-width:100%!important;}
  .product-detail-modal .detail-options,
  .product-detail-modal.bc-support-left-active-modal .detail-options{grid-template-columns:1fr!important;}
}


/* --- Fix global: bolitas de color siempre redondas --- */
.color-swatch-group,
#modalColorSwatches{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:10px!important;
}
.color-swatch-btn,
#modalColorSwatches .color-swatch-btn,
.product-card .color-swatch-btn,
.product-detail-modal .color-swatch-btn{
  width:28px!important;
  min-width:28px!important;
  max-width:28px!important;
  height:28px!important;
  min-height:28px!important;
  max-height:28px!important;
  aspect-ratio:1 / 1!important;
  border-radius:50%!important;
  padding:0!important;
  display:inline-block!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  box-sizing:border-box!important;
  background:var(--swatch-bg,#dbeafe)!important;
}
.color-swatch-btn.active,
#modalColorSwatches .color-swatch-btn.active{
  transform:none!important;
}
@media(max-width:767px){
  .color-swatch-btn,
  #modalColorSwatches .color-swatch-btn,
  .product-card .color-swatch-btn,
  .product-detail-modal .color-swatch-btn{
    width:26px!important;
    min-width:26px!important;
    max-width:26px!important;
    height:26px!important;
    min-height:26px!important;
    max-height:26px!important;
  }
}

/* --- Zoom global de respaldo para páginas que no lo tenían funcional --- */
#bcGlobalZoomModal.bc-global-zoom-modal{z-index:30000!important;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(16,42,99,.75)!important;backdrop-filter:blur(5px)!important;}
#bcGlobalZoomModal.show{display:flex!important;}
#bcGlobalZoomModal .bc-global-zoom-dialog{position:relative;width:min(96vw,980px);max-height:92vh;overflow:auto;background:#fff;border-radius:28px;padding:18px;box-shadow:0 25px 80px rgba(16,42,99,.35);}
#bcGlobalZoomModal .bc-global-zoom-main-wrap{position:relative;display:flex;align-items:center;justify-content:center;min-height:420px;background:#f7faff;border:1px solid #d8e5fb;border-radius:22px;padding:20px;}
#bcGlobalZoomImage{display:block;max-width:100%;max-height:66vh;object-fit:contain;background:#fff;border-radius:16px;}
#bcGlobalZoomModal .bc-global-zoom-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#2048a0;font:900 26px/1 Poppins,Arial,sans-serif;box-shadow:0 8px 20px rgba(16,42,99,.15);cursor:pointer;z-index:2;}
#bcGlobalZoomModal .bc-global-zoom-nav.prev{left:12px;}
#bcGlobalZoomModal .bc-global-zoom-nav.next{right:12px;}
#bcGlobalZoomModal .bc-global-zoom-thumbs{display:flex;gap:10px;overflow-x:auto;padding:14px 4px 2px;}
#bcGlobalZoomModal .bc-global-zoom-thumb{flex:0 0 74px;width:74px;height:74px;border-radius:16px;border:2px solid #d7e2fb;background:#fff;padding:4px;cursor:pointer;}
#bcGlobalZoomModal .bc-global-zoom-thumb.active{border-color:#2048a0;box-shadow:0 0 0 3px rgba(32,72,160,.14);}
#bcGlobalZoomModal .bc-global-zoom-thumb img{width:100%;height:100%;object-fit:contain;border-radius:10px;background:#fff;display:block;}
@media(max-width:767px){
  #bcGlobalZoomModal .bc-global-zoom-dialog{width:96vw;padding:14px;border-radius:22px;}
  #bcGlobalZoomModal .bc-global-zoom-main-wrap{min-height:300px;padding:14px;}
  #bcGlobalZoomModal .bc-global-zoom-nav{width:40px;height:40px;}
  #bcGlobalZoomModal .bc-global-zoom-thumb{flex-basis:64px;width:64px;height:64px;}
}
