/** Shopify CDN: Minification failed

Line 91:0 Unexpected "}"

**/
/* Overlay + panel independientes */
#zk-cart-root { position: fixed; inset: 0; z-index: 2147483647; pointer-events: none; }
#zk-cart-root .zk-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.75); opacity: 0; transition: opacity .25s ease; }
#zk-cart-root .zk-panel {
  position: absolute;
  top: env(safe-area-inset-top, 0);
  bottom: env(safe-area-inset-bottom, 0);
  right: max(0px, env(safe-area-inset-right));
  width: 80vw; max-width: 640px;
  background: #fff;
  border-radius: 14px 0 0 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  transform: translateX(100%);
  transition: transform .28s ease;
  overflow: hidden;
  display: flex; flex-direction: column;
}

/* Estado visible */
#zk-cart-root.zk-open { pointer-events: auto; }
#zk-cart-root.zk-open .zk-overlay { opacity: 1; }
#zk-cart-root.zk-open .zk-panel { transform: translateX(0); }
html.zk-noscroll, body.zk-noscroll { overflow: hidden; }
  
/* Header */
#zk-cart-root .zk-header{
  position: sticky; top: 0; z-index: 1;
  display:flex; align-items:center; justify-content:space-between;
  background:#fff; padding: 7px 14px 5px;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
#zk-cart-root .zk-title{
  margin:0; font-weight:800; letter-spacing:.08em; text-transform:uppercase; font-size:16px;text-decoration: none;  
}
#zk-cart-root .zk-close{
  appearance:none; border:0; background:transparent; font-size:28px; line-height:1; padding:6px 10px; cursor:pointer;
}

/* Body (contenido de tu sección) */
#zk-cart-root .zk-body { flex: 1 1 auto; overflow:auto; -webkit-overflow-scrolling:touch; }

/* Footer */
#zk-cart-root .zk-footer{
  position: sticky; bottom: 0; z-index: 1;
  background:#fff; border-top:1px solid rgba(0,0,0,.08);
  padding: 14px 16px calc(14px + env(safe-area-inset-bottom, 0));
  box-shadow: 0 -6px 18px rgba(0,0,0,.06);
}
#zk-cart-root .zk-subtotal { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:8px; }
#zk-cart-root .zk-subtotal span { font-weight:800; font-size:18px; }
#zk-cart-root .zk-subtotal strong { font-weight:900; font-size:18px; }
#zk-cart-root .zk-note { font-size:13px; color:#666; margin:6px 0 14px; }

/* Botones */
#zk-cart-root .zk-btn { width:100%; display:inline-flex; align-items:center; justify-content:center; border-radius:14px; padding:14px 16px; font-weight:800; text-decoration:none; border:0; cursor:pointer; font-family: 'fredoka', bold; }
#zk-cart-root .zk-btn + .zk-btn { margin-top:2px; }
#zk-cart-root .zk-btn-secondary { background:#FFBABC; color:#fff; }
#zk-cart-root .zk-btn-primary   { background:#5CA6D1; color:#fff; }
#zk-cart-root .zk-btn-cod       { background:#25d366; color:#fff; border:0px solid #cbe9df; }

/* Desktop */
@media (min-width: 992px){ #zk-cart-root .zk-panel{ width:480px; border-radius:0; } }

/* Ocultar UIs antiguas del tema */
cart-notification, cart-drawer, .cart-notification, .cart-drawer { display:none!important; }
/* ===== Items renderizados por ZK ===== */
#zk-cart-root .zk-items { list-style: none; margin: 0; padding: 12px 12px 4px; }
#zk-cart-root .zk-item {
  display: grid; grid-template-columns: 96px 1fr; gap: 12px;
  padding: 12px 4px; border-bottom: 1px solid rgba(0,0,0,.06);
}
#zk-cart-root .zk-img {
  width: 96px; height: 96px; object-fit: contain;
  border: 1px solid rgba(0,0,0,.05); border-radius: 8px; background:#fff;
}
#zk-cart-root .zk-title {
  font-size: 14.5px;           /* tamaño equilibrado */
  font-weight: 600;            /* menos pesado que 700 */
  color: #222;                 /* gris oscuro sólido */
  line-height: 1.3;            /* espacio visual limpio */
  text-transform: capitalize;  /* convierte a Capital Inicial */
  letter-spacing: 0.2px;       /* suaviza la lectura */
  margin-bottom: 4px;
}

}

#zk-cart-root .zk-variant {
  color: #666;
  font-size: 13px;
  margin-bottom: 6px;
}

#zk-cart-root .zk-price {
  color: #5CA6D1;
  font-weight: 800;
  margin-bottom: 8px;
}

#zk-cart-root .zk-qty {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding-left: 6px; /* da respiro al botón (-) */
}

#zk-cart-root .zk-qty-btn {
  appearance: none;
  border: none;              /* 👈 quita el borde */
  background: transparent;   /* mantiene fondo limpio */
  width: 28px;
  height: 28px;
  border-radius: 8px;
  font-size: 18px;
  line-height: 24px;
  cursor: pointer;
  text-decoration: none;
}

#zk-cart-root .zk-qty-num {
  min-width: 16px;
  text-align: center;
  font-weight: 700;
}
#zk-cart-root .zk-qty-btn:hover {
  background-color: #f2f2f2; /* leve gris al pasar el mouse */
  transition: background 0.2s ease;
}

#zk-cart-root .zk-remove {
  margin-left: 5px; appearance: none; border: 0; background: transparent; cursor: pointer; font-size: 18px;transform: translateX(-8px);
}
/* --- FIX: que el footer siempre quede visible y solo scrollee la lista --- */
#zk-cart-root .zk-panel{
  display: flex;
  flex-direction: column;
  /* La altura exacta del panel: toda la pantalla menos safe-areas */
  height: calc(100vh - env(safe-area-inset-top, 0) - env(safe-area-inset-bottom, 0));
  overflow: hidden !important;   /* evita que el panel entero scrollee */
  min-height: 0;                 /* necesario en iOS para que el hijo pueda scrollear */
}

#zk-cart-root .zk-header{
  flex: 0 0 auto;
}

#zk-cart-root .zk-body{
  flex: 1 1 auto;                /* ocupa el espacio libre */
  min-height: 0;                 /* clave para permitir overflow dentro de flex */
  overflow-y: auto;              /* solo el cuerpo scrollea */
  -webkit-overflow-scrolling: touch;
}

#zk-cart-root .zk-footer{
  flex: 0 0 auto;                /* no se colapsa */
  position: sticky;
  bottom: 0;                     /* pegado al borde inferior del panel */
  z-index: 1;
}

/* Si el botón COD es alto, evitamos que “salte” por padding extra en iOS */
#zk-cart-root .zk-footer .zk-btn { max-width: 100%; }
/* ===== Overlay y panel: robusto ===== */
#zk-cart-root{
  position: fixed;                 /* fuera de cualquier contenedor del tema */
  inset: 0;
  z-index: 2147483647;             /* por encima de TODO */
  pointer-events: none;            /* cerrado: no bloquea */
}
#zk-cart-root.zk-open{ pointer-events: auto; }

/* Overlay ocupa toda la pantalla y capta el click al abrir */
#zk-cart-root .zk-overlay{
  position: fixed;                 /* importante: fixed, no absolute */
  inset: 0;
  background: rgba(0,0,0,.70);
  opacity: 0;
  transition: opacity .22s ease;
  pointer-events: none;            /* cerrado: no capta */
  z-index: 1;                      /* por debajo del panel, por encima de la página */
}
#zk-cart-root.zk-open .zk-overlay{
  opacity: 1;
  pointer-events: auto;            /* abierto: sí capta clic/touch */
}

/* Panel fijo al borde derecho, por encima del overlay */
#zk-cart-root .zk-panel{
  position: fixed;                 /* importante: fixed */
  top: 0;
  right: 0;
  bottom: 0;
  width: 76vw;                     /* tu ancho reducido */
  max-width: 420px;
  background: #fff;
  transform: translateX(100%);
  transition: transform .28s ease;
  z-index: 2;                      /* encima del overlay */
  display: flex; flex-direction: column;
  border-radius: 14px 0 0 14px;
  overflow: hidden;
}

/* Que sólo scrollee la lista, el footer siempre visible */
#zk-cart-root .zk-header{ flex: 0 0 auto; }
#zk-cart-root .zk-body{
  flex: 1 1 auto; min-height: 0;
  overflow-y: auto; -webkit-overflow-scrolling: touch;
}
#zk-cart-root .zk-footer{
  flex: 0 0 auto;
  position: sticky; bottom: 0; z-index: 3;
  background: #fff; border-top: 1px solid rgba(0,0,0,.08);
  padding-bottom: calc(14px + env(safe-area-inset-bottom, 0));
}

/* Desktop */
@media (min-width: 992px){
  #zk-cart-root .zk-panel{ width: 420px; border-radius: 0; }
}
/* =============== FORCE OVERLAY DARK + ONLY BODY SCROLL =============== */

/* Root siempre por encima de todo */
#zk-cart-root{
  position: fixed;
  inset: 0;
  z-index: 2147483647;                 /* super alto */
  pointer-events: none;
}
#zk-cart-root.zk-open{ pointer-events: auto; }

/* Overlay: que SIEMPRE se vea oscuro y capture clics */
#zk-cart-root .zk-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.72) !important;  /* fuerza el oscuro */
  opacity: 0;
  transition: opacity .22s ease;
  pointer-events: none;
  z-index: 1;
}
#zk-cart-root.zk-open .zk-overlay{
  opacity: 1;
  pointer-events: auto;
}
/* (opcional) ligero blur del fondo */
@supports (backdrop-filter: blur(2px)){
  #zk-cart-root .zk-overlay{ backdrop-filter: blur(2px); }
}

/* Panel fijo en el borde derecho, por ENCIMA del overlay */
#zk-cart-root .zk-panel{
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 76vw;                 /* tu ancho reducido */
  max-width: 420px;
  background: #fff;
  transform: translateX(100%);
  transition: transform .28s ease;
  z-index: 2;
  display: flex;
  flex-direction: column;
  border-radius: 14px 0 0 14px;
  overflow: hidden !important; /* clave: el panel NO scrollea */
  height: 100dvh;              /* alto real en móviles (iOS/Chrome) */
}

/* Abierto */
#zk-cart-root.zk-open .zk-panel{ transform: translateX(0); }

/* Header fijo arriba */
#zk-cart-root .zk-header{ flex: 0 0 auto; }

/* SOLO el cuerpo hace scroll (los productos) */
#zk-cart-root .zk-body{
  flex: 1 1 auto;
  min-height: 0;                         /* imprescindible en iOS */
  overflow-y: auto !important;           /* solo aquí el scroll */
  -webkit-overflow-scrolling: touch;
  padding-bottom: 8px;                    /* respirito */
}

/* Footer siempre visible (no se va para abajo) */
#zk-cart-root .zk-footer{
  flex: 0 0 auto;
  position: sticky;
  bottom: 0;
  z-index: 3;
  background: #fff;
  border-top: 1px solid rgba(0,0,0,.08);
  padding: 14px 16px calc(14px + env(safe-area-inset-bottom, 0));
}

/* Botones al 100% y sin desbordes raros */
#zk-cart-root .zk-footer .zk-btn{
  width: 100%;
  max-width: 100%;
  display: inline-flex;
  justify-content: center;
}

/* Desktop */
@media (min-width: 992px){
  #zk-cart-root .zk-panel{ width: 420px; border-radius: 0; }
}
/* ROOT encima de todo */
#zk-cart-root{
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  pointer-events: none;
}
#zk-cart-root.zk-open{ pointer-events: auto; }

/* OVERLAY oscuro y clickeable */
#zk-cart-root .zk-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.72) !important;
  opacity: 0;
  transition: opacity .22s ease;
  pointer-events: none;
  z-index: 1;
}
#zk-cart-root.zk-open .zk-overlay{
  opacity: 1;
  pointer-events: auto;
}
@supports (backdrop-filter: blur(2px)){
  #zk-cart-root .zk-overlay{ backdrop-filter: blur(2px); }
}

/* PANEL fijo y más angosto, por encima del overlay */
#zk-cart-root .zk-panel{
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: 76vw;
  max-width: 420px;
  background: #fff;
  transform: translateX(100%);
  transition: transform .28s ease;
  z-index: 2;
  display: flex; flex-direction: column;
  border-radius: 14px 0 0 14px;
  overflow: hidden !important;          /* el panel NO scrollea */
  height: 100dvh !important;            /* alto real móvil */
}
#zk-cart-root.zk-open .zk-panel{ transform: translateX(0); }

/* SOLO el body scrollea; footer siempre visible */
#zk-cart-root .zk-header{ flex: 0 0 auto; }
#zk-cart-root .zk-body{
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}
#zk-cart-root .zk-footer{
  flex: 0 0 auto;
  position: sticky;
  bottom: 0;
  z-index: 3;
  background: #fff;
  border-top: 1px solid rgba(0,0,0,.08);
  padding: 14px 16px calc(14px + env(safe-area-inset-bottom, 0));
}
#zk-cart-root .zk-footer .zk-btn{ width:100%; max-width:100%; }

/* Desktop */
@media (min-width: 992px){
  #zk-cart-root .zk-panel{ width: 420px; border-radius: 0; }
}
/* ROOT por encima de todo */
#zk-cart-root{
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  pointer-events: none;
}
#zk-cart-root.zk-open{ pointer-events: auto; }

/* OVERLAY oscuro y clickeable */
#zk-cart-root .zk-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.72) !important;
  opacity: 0;
  transition: opacity .22s ease;
  pointer-events: none;
  z-index: 1;
}
#zk-cart-root.zk-open .zk-overlay{
  opacity: 1;
  pointer-events: auto;
}
@supports (backdrop-filter: blur(2px)){
  #zk-cart-root .zk-overlay{ backdrop-filter: blur(2px); }
}

/* PANEL fijo */
#zk-cart-root .zk-panel{
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: 76vw;
  max-width: 420px;
  background: #fff;
  transform: translateX(100%);
  transition: transform .28s ease;
  z-index: 2;
  display: flex; flex-direction: column;
  border-radius: 14px 0 0 14px;
  overflow: hidden !important;
  height: 100dvh !important;
}
#zk-cart-root.zk-open .zk-panel{ transform: translateX(0); }

/* SOLO el body scrollea */
#zk-cart-root .zk-header{ flex: 0 0 auto; }
#zk-cart-root .zk-body{
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}
#zk-cart-root .zk-footer{
  flex: 0 0 auto;
  position: sticky;
  bottom: 0;
  z-index: 3;
  background: #fff;
  border-top: 1px solid rgba(0,0,0,.08);
  padding: 14px 16px calc(14px + env(safe-area-inset-bottom, 0));
}
#zk-cart-root .zk-footer .zk-btn{ width:100%; max-width:100%; }

/* Desktop */
@media (min-width: 992px){
  #zk-cart-root .zk-panel{ width: 420px; border-radius: 0; }
}
/* ========= 1) OVERLAY GLOBAL A PRUEBA DE TODO =========
   Pinta el fondo SIEMPRE que el carrito esté abierto.
   No captura clics (eso ya lo hace nuestro overlay del root),
   solo oscurece. */
html.zk-noscroll::before{
  content:"";
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.78) !important; /* súbelo a .85 si quieres más oscuro */
  z-index: 2147483646;                    /* por debajo del panel (que va a 2147483647) */
  pointer-events: none;                   /* no bloquea; el click lo recoge #zk-cart-root .zk-overlay */
}

/* ========= 2) ROOT Y PANEL POR ENCIMA DE TODO ========= */
#zk-cart-root{
  position: fixed;
  inset: 0;
  z-index: 2147483647;    /* más alto que el overlay global del <html> */
  pointer-events: none;
}
#zk-cart-root.zk-open{ pointer-events: auto; }

#zk-cart-root .zk-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.01) !important; /* puede ser casi transparente (ya oscurece el ::before) */
  opacity: 1 !important;                   /* aseguramos que reciba clics */
  pointer-events: auto !important;         /* captura toques para cerrar */
  z-index: 1;
}

#zk-cart-root .zk-panel{
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: 85vw; max-width: 420px;
  background: #fff;
  transform: translateX(100%);
  transition: transform .28s ease;
  z-index: 2147483647;       /* explícito por si algún estilo raro pisa valores */
  display: flex; flex-direction: column;
  border-radius: 14px 0 0 14px;
  overflow: hidden !important;
  height: 100dvh !important;
}
#zk-cart-root.zk-open .zk-panel{ transform: translateX(0); }

/* ========= 3) SOLO SCROLLEA LA LISTA; FOOTER SIEMPRE VISIBLE ========= */
#zk-cart-root .zk-header{ flex: 0 0 auto; }
#zk-cart-root .zk-body{
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}
#zk-cart-root .zk-footer{
  flex: 0 0 auto;
  position: sticky;
  bottom: 0;
  z-index: 3;
  background: #fff;
  border-top: 1px solid rgba(0,0,0,.08);
  padding: 14px 16px calc(14px + env(safe-area-inset-bottom, 0));
}
#zk-cart-root .zk-footer .zk-btn{ width:100%; max-width:100%; }

/* Desktop */
@media (min-width: 992px){
  #zk-cart-root .zk-panel{ width: 420px; border-radius: 0; }
}
/* Separación entre botones del footer */
#zk-cart-root .zk-footer .zk-btn {
  margin-bottom: 10px; /* ajusta este valor a tu gusto */
}

#zk-cart-root .zk-footer .zk-btn:last-child {
  margin-bottom: ; /* el último no necesita espacio extra */
}

/* ===== Tamaños optimizados Baby On Col ===== */
#zk-cart-root .zk-btn-secondary {
  font-size: 15px !important;
  font-weight: 700;
}

#zk-cart-root .zk-btn-primary {
  font-size: 16px !important;
  font-weight: 800;
}

#zk-cart-root .zk-btn-cod {
  font-size: 17px !important;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
#zk-cart-root .zk-btn {
  padding: 14px 0 !important; /* mismos márgenes verticales */
  border-radius: 14px;
}

/* ===========================================================
   KAI BALANCE PLUS — MINI CARRITO (compacto, pero cómodo)
   =========================================================== */

/* Footer general */
#zk-cart-root .zk-panel footer.zk-footer {
  padding: 10px 12px !important; /* un poco más de aire */
  display: block !important;
}

/* Subtotal */
#zk-cart-root .zk-panel .zk-footer .zk-subtotal {
  margin-bottom: 6px !important;
}

/* Botones */
#zk-cart-root .zk-panel .zk-footer .zk-btn {
  font-size: 14px !important;       /* +0.5px más grande */
  font-weight: 600 !important;
  padding: 9px 0 !important;        /* +2px respecto al anterior */
  border-radius: 8px !important;
  line-height: 1.25 !important;
  margin: 5px 0 !important;
}

/* Separación uniforme */
#zk-cart-root .zk-panel .zk-footer .zk-btn + .zk-btn {
  margin-top: 5px !important;
}

/* Móvil: un toque más cómodo también */
@media (max-width: 480px) {
  #zk-cart-root .zk-panel footer.zk-footer {
    padding: 8px 10px !important;
  }

  #zk-cart-root .zk-panel .zk-footer .zk-btn {
    font-size: 13px !important;
    padding: 8px 0 !important;
    border-radius: 7px !important;
  }
}
/* === ✨ Baby On Col — Premium Visual Progress Bar (vFinal PRO — Camión Estático) === */

.zk-cart-free-shipping {
  background: #fff;
  border-radius: 12px;
  padding: 18px 14px 14px;
  margin: 10px 14px 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  text-align: center;
  font-family: 'Nunito', sans-serif;
  position: relative;
  overflow: visible;
  z-index: 3;
  transition: all 0.3s ease;
}

/* === 🔵 Contenedor de la barra === */
.zk-progress-wrap {
  position: relative;
  width: 100%;
  height: 8px;
  background: #f3f3f3;
  border-radius: 999px;
  overflow: visible;
  margin-top: 4px;
  margin-bottom: 8px;
}

/* === 🌈 Barra de progreso animada (fluida y elegante) === */
.zk-progress-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  border-radius: 999px;
 background: linear-gradient(90deg, #FFF3B0 0%, #FFD56B 50%, #FFC94D 100%);

  background-size: 200% 100%;
  width: 0%;
  transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  animation: zkGradientMove 6s ease-in-out infinite;
  box-shadow: inset 0 0 4px rgba(255,255,255,0.3);
}

@keyframes zkGradientMove {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* === 🚛 Camión (estático sobre la barra) === */
.zk-truck-icon {
  position: absolute;
  top: 50%;
  transform: translateY(-120%); /* 🟩 posición visual perfecta sobre la barra */
  left: 0%;
  font-size: 22px;
  transition: left 0.6s ease-in-out; /* solo se moverá lateralmente según el progreso */
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.25));
}


/* === 💬 Texto informativo === */
.zk-free-shipping-text {
  font-size: 14px;
  color: #444;
  margin: 3px 0 0 0;
  line-height: 1.4;
  transition: color 0.3s ease, transform 0.3s ease;
}

.zk-free-shipping-text strong {
  color: #2ecc71;
  font-weight: 600;
}

/* === 🟩 Estado: Envío gratis alcanzado === */
.zk-free-shipping-success .zk-progress-fill {
  background: linear-gradient(90deg, #FFF3B0 0%, #FFD56B 50%, #FFC94D 100%);

  animation: none;
}

.zk-free-shipping-success .zk-free-shipping-text {
  color: #27ae60;
  transform: scale(1.05);
}

/* === 📱 Ajustes móviles === */
@media (max-width: 600px) {
  .zk-cart-free-shipping {
    padding: 16px 12px 12px;
    margin: 8px 10px;
  }
  .zk-free-shipping-text {
    font-size: 13px;
  }
  .zk-truck-icon {
    font-size: 20px;
    transform: translateY(-115%);
  }
}


/* =========================================================
   🛠️ FIX: Alineación precisa del camión sobre la barra
   ========================================================= */

.zk-progress-wrap {
  position: relative;
  width: 100%;
  height: 8px;
  background: #f3f3f3;
  border-radius: 999px;
  overflow: visible; /* permitir que el camión sobresalga un poco */
  margin-top: 8px;
  margin-bottom: 6px;
}

/* Barra de progreso (relleno) */
.zk-progress-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #FFF3B0 0%, #FFD56B 50%, #FFC94D 100%);

  transition: width 0.4s ease;
  animation: zk-fill-pulse 3s ease-in-out infinite;
}

/* Camión */
.zk-truck-icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%); /* centra verticalmente */
  left: 0%;
  font-size: 20px;
  transition: left 0.4s ease;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.2));
  z-index: 3;
}

/* Pulso de color suave (mantén si te gusta el efecto) */
@keyframes zk-fill-pulse {
  0% { filter: brightness(1); }
  50% { filter: brightness(1.2); }
  100% { filter: brightness(1); }
}

/* Estado: Envío gratis alcanzado */
.zk-free-shipping-success .zk-progress-fill {
  background: linear-gradient(90deg, #27ae60 0%, #6ed784 100%);
  animation: none;
}
.zk-free-shipping-success .zk-free-shipping-text strong {
  color: #27ae60;
}
/* === 🎨 Camión SVG Baby On Col — Reemplazo del emoji === */
.zk-truck-icon svg {
  width: 1.6em;
  height: auto;
  display: block;
  transform: scaleX(1); /* asegura orientación normal hacia la derecha */
}
/* ===== Botón COD (Pago contra entrega) - más llamativo ===== */
.zk-btn.zk-btn-cod{
  width: 100%;
  padding: 14px 16px;
  border-radius: 16px;
  font-weight: 900;
  font-size: 15px;
  letter-spacing: .2px;
  border: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  background: linear-gradient(135deg, #16a34a, #22c55e);
  color: #fff;

  box-shadow: 0 12px 30px rgba(34, 197, 94, .25);
  transform: translateZ(0);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

.zk-btn.zk-btn-cod::before{
  content: "🚚";
  font-size: 16px;
  line-height: 1;
}

.zk-btn.zk-btn-cod:hover{
  transform: translateY(-1px);
  box-shadow: 0 16px 38px rgba(34, 197, 94, .32);
  filter: saturate(1.05);
}

.zk-btn.zk-btn-cod:active{
  transform: translateY(0);
  box-shadow: 0 10px 22px rgba(34, 197, 94, .22);
}

.zk-btn.zk-btn-cod:focus-visible{
  outline: 3px solid rgba(34, 197, 94, .35);
  outline-offset: 2px;
}

/* Mobile: un poquito más alto para dedo */
@media (max-width: 768px){
  .zk-btn.zk-btn-cod{
    padding: 15px 16px;
    font-size: 15px;
  }
}
/* === FIX: Centrar texto del botón COD + recuperar padding lateral (iOS/Android) === */
#zk-cart-root .zk-panel .zk-footer .zk-btn.zk-btn-cod{
  padding: 14px 16px !important;   /* recupera padding lateral (evita emoji pegado) */
  text-align: center !important;   /* centra el texto si hace salto de línea */
  justify-content: center !important;
  gap: 8px !important;
  line-height: 1.2 !important;
  white-space: normal !important;  /* permite 2 líneas sin romper centrado */
}

/* que el ícono no empuje raro */
#zk-cart-root .zk-panel .zk-footer .zk-btn.zk-btn-cod::before{
  flex: 0 0 auto;
  line-height: 1;
}
@media (max-width: 480px){
  #zk-cart-root .zk-panel .zk-footer .zk-btn.zk-btn-cod{
    padding: 15px 16px !important;
  }
}
/* === Animación CTA: micro vibración sutil (llamado a la acción) === */
@keyframes zk-cod-pulse {
  0%   { transform: translateX(0); }
  92%  { transform: translateX(0); }
  94%  { transform: translateX(-2px); }
  96%  { transform: translateX(2px); }
  98%  { transform: translateX(-1px); }
  100% { transform: translateX(0); }
}
/* Aplicar animación SOLO al botón Pago Contra Entrega */
#zk-cart-root .zk-panel .zk-footer .zk-btn.zk-btn-cod{
  animation: zk-cod-pulse 3s ease-in-out infinite;
}
#zk-cart-root .zk-panel .zk-footer .zk-btn.zk-btn-cod:hover{
  animation-play-state: paused;
}
/* Imagen única de métodos de pago */
#zk-cart-root .zk-paymethods-single {
  margin-top: 10px;
  padding: 10px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  background: #fff;
  text-align: center;
}

#zk-cart-root .zk-paymethods-title {
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 6px;
  opacity: .85;
}

#zk-cart-root .zk-paymethods-img{
  height: 26px;      /* ✅ más grande y legible */
  width: auto;
  max-width: 100%;
  object-fit: contain;
  display: block;
  opacity: .95;
}

/* ✅ Métodos de pago: sin borde, sin fondo, pegado al botón */
#zk-cart-root .zk-paymethods-single{
  margin-top: 6px !important;   /* 👈 más pegado al botón */
  padding: 0 !important;        /* sin caja */
  border: 0 !important;         /* sin borde */
  background: transparent !important;
  border-radius: 0 !important;
  text-align: center;
}

/* Título más discreto (si lo quieres) */
#zk-cart-root .zk-paymethods-title{
  margin: 0 0 4px 0 !important;
  font-size: 12px;
  font-weight: 800;
  opacity: .75;
}

/* Imagen horizontal limpia */
#zk-cart-root .zk-paymethods-img{
  height: 26px;      /* ✅ más grande y legible */
  width: auto;
  max-width: 100%;
  object-fit: contain;
  display: block;
  opacity: .95;
  
}
#zk-cart-root .zk-paymethods-img {
  display: inline-block;
}


/* ==============================
   Variantes en modo LISTA (custom)
   ============================== */
#zk-cart-root .zk-vp-wrap{ margin-top: 8px; position: relative; }

#zk-cart-root .zk-vp-label{
  display:block; font-size: 12px; opacity:.75; margin: 0 0 6px;
}

#zk-cart-root .zk-vp-btn{
  width:100%;
  display:flex; align-items:center; justify-content:space-between;
  padding: 10px 12px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  background:#fff;
  font-size: 14px;
  cursor:pointer;
}
#zk-cart-root .zk-vp-btn:disabled{ opacity:.6; cursor:not-allowed; }

#zk-cart-root .zk-vp-menu{
  position:absolute;
  left:0; right:0;
  top: calc(100% + 8px);
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(0,0,0,.14);
  z-index: 20;
  overflow:hidden;
}

#zk-cart-root .zk-vp-opt{
  padding: 12px 12px;
  display:flex; justify-content:space-between; gap: 10px;
  font-size: 14px;
  cursor:pointer;
}
#zk-cart-root .zk-vp-opt:hover{ background: rgba(0,0,0,.05); }
#zk-cart-root .zk-vp-opt.is-active{ font-weight: 800; }
#zk-cart-root .zk-vp-opt[aria-disabled="true"]{ opacity:.45; cursor:not-allowed; }
#zk-cart-root .zk-upsell{
  padding: 12px 14px;
  border-top: 1px solid rgba(0,0,0,.08);
  margin-top: 8px;
}

#zk-cart-root .zk-upsell-head{
  font-weight: 800;
  font-size: 16px;
  margin: 4px 0 10px;
}

#zk-cart-root .zk-upsell-row{
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 6px;
  -webkit-overflow-scrolling: touch;
}

#zk-cart-root .zk-upsell-card{
  min-width: 220px;
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 10px;
  align-items: center;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  background: #fff;
  padding: 10px;
  position: relative;
}

#zk-cart-root .zk-upsell-img img{
  width: 76px;
  height: 76px;
  object-fit: contain;
  border-radius: 12px;
  display: block;
  background: #f7f7f7;
}

#zk-cart-root .zk-upsell-title{
  font-weight: 800;
  font-size: 14px;
  line-height: 1.15;
  margin-bottom: 4px;
}

#zk-cart-root .zk-upsell-price{
  font-weight: 800;
  opacity: .85;
}

#zk-cart-root .zk-upsell-add{
  grid-column: 1 / -1;
  border: 0;
  border-radius: 12px;
  padding: 10px 12px;
  font-weight: 800;
  cursor: pointer;
}
/* === TU CSS COMPLETO (se mantiene) === */

zk-progress-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #FFF3B0 0%, #FFD56B 50%, #FFC94D 100%);

  transition: width 0.4s ease;
  animation: zk-fill-pulse 3s ease-in-out infinite;
}

/* Camión */
.zk-truck-icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%); /* centra verticalmente */
  left: 0%;
  font-size: 20px;
  transition: left 0.4s ease;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.2));
  z-index: 3;
}

/* Pulso de color suave (mantén si te gusta el efecto) */
@keyframes zk-fill-pulse {
  0% { filter: brightness(1); }
  50% { filter: brightness(1.2); }
  100% { filter: brightness(1); }
}

/* Estado: Envío gratis alcanzado */
.zk-free-shipping-success .zk-progress-fill {
  background: linear-gradient(90deg, #27ae60 0%, #6ed784 100%);
  animation: none;
}
.zk-free-shipping-success .zk-free-shipping-text strong {
  color: #27ae60;
}
/* === 🎨 Camión SVG Baby On Col — Reemplazo del emoji === */
.zk-truck-icon svg {
  width: 1.6em;
  height: auto;
  display: block;
  transform: scaleX(1); /* asegura orientación normal hacia la derecha */
}
/* ===== Botón COD (Pago contra entrega) - más llamativo ===== */
.zk-btn.zk-btn-cod{
  width: 100%;
  padding: 14px 16px;
  border-radius: 16px;
  font-weight: 900;
  font-size: 15px;
  letter-spacing: .2px;
  border: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  background: linear-gradient(135deg, #16a34a, #22c55e);
  color: #fff;

  box-shadow: 0 12px 30px rgba(34, 197, 94, .25);
  transform: translateZ(0);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

.zk-btn.zk-btn-cod::before{
  content: "🚚";
  font-size: 16px;
  line-height: 1;
}

.zk-btn.zk-btn-cod:hover{
  transform: translateY(-1px);
  box-shadow: 0 16px 38px rgba(34, 197, 94, .32);
  filter: saturate(1.05);
}

.zk-btn.zk-btn-cod:active{
  transform: translateY(0);
  box-shadow: 0 10px 22px rgba(34, 197, 94, .22);
}

.zk-btn.zk-btn-cod:focus-visible{
  outline: 3px solid rgba(34, 197, 94, .35);
  outline-offset: 2px;
}

/* Mobile: un poquito más alto para dedo */
@media (max-width: 768px){
  .zk-btn.zk-btn-cod{
    padding: 15px 16px;
    font-size: 15px;
  }
}
/* === FIX: Centrar texto del botón COD + recuperar padding lateral (iOS/Android) === */
#zk-cart-root .zk-panel .zk-footer .zk-btn.zk-btn-cod{
  padding: 14px 16px !important;   /* recupera padding lateral (evita emoji pegado) */
  text-align: center !important;   /* centra el texto si hace salto de línea */
  justify-content: center !important;
  gap: 8px !important;
  line-height: 1.2 !important;
  white-space: normal !important;  /* permite 2 líneas sin romper centrado */
}

/* que el ícono no empuje raro */
#zk-cart-root .zk-panel .zk-footer .zk-btn.zk-btn-cod::before{
  flex: 0 0 auto;
  line-height: 1;
}
@media (max-width: 480px){
  #zk-cart-root .zk-panel .zk-footer .zk-btn.zk-btn-cod{
    padding: 15px 16px !important;
  }
}
/* === Animación CTA: micro vibración sutil (llamado a la acción) === */
@keyframes zk-cod-pulse {
  0%   { transform: translateX(0); }
  92%  { transform: translateX(0); }
  94%  { transform: translateX(-2px); }
  96%  { transform: translateX(2px); }
  98%  { transform: translateX(-1px); }
  100% { transform: translateX(0); }
}

/* ... (mantengo todo tu CSS igual) ... */

/* ==============================
   ✅ UPSELL Slider (botones + dots)
   ============================== */
#zk-cart-root .zk-upsell-box{
  margin: 10px 12px 2px;
  padding: 12px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  background: #fff;
}

#zk-cart-root .zk-upsell-slider{
  position: relative;
}

#zk-cart-root .zk-upsell-viewport{
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
#zk-cart-root .zk-upsell-viewport::-webkit-scrollbar{ display:none; }

#zk-cart-root .zk-upsell-track{
  display: flex;
  gap: 10px;
  padding-bottom: 6px;
}

#zk-cart-root .zk-upsell-card{
  min-width: 240px;
  display: grid;
  grid-template-columns: 78px 1fr 34px;
  gap: 10px;
  align-items: center;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  background: #fff;
  padding: 10px;
}

#zk-cart-root .zk-upsell-img img{
  width: 78px;
  height: 78px;
  object-fit: contain;
  border-radius: 12px;
  background: #f7f7f7;
  display: block;
}

#zk-cart-root .zk-upsell-info{ min-width:0; }

#zk-cart-root .zk-upsell-title{
  display:block;
  text-decoration: none;
  color: #222;
  font-weight: 800;
  font-size: 14px;
  line-height: 1.15;
  margin-bottom: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#zk-cart-root .zk-upsell-price{
  display:inline-block;
  text-decoration: none;
  color: #5CA6D1;
  font-weight: 900;
  opacity: .95;
}

#zk-cart-root .zk-upsell-eye{
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#111;
  background: rgba(0,0,0,.04);
  text-decoration:none;
}

#zk-cart-root .zk-upsell-eye:active{ transform: scale(.98); }

#zk-cart-root .zk-upsell-actions{
  grid-column: 1 / -1;
}

#zk-cart-root .zk-upsell-add{
  width:100%;
  border:0;
  border-radius: 12px;
  padding: 10px 12px;
  font-weight: 900;
  cursor:pointer;
  background:#FFBABC;
  color:#fff;
}

#zk-cart-root .zk-upsell-nav{
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.10);
  background: #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
}
#zk-cart-root .zk-upsell-prev{ left: -10px; }
#zk-cart-root .zk-upsell-next{ right: -10px; }
#zk-cart-root .zk-upsell-nav:disabled{ opacity:.35; cursor:not-allowed; box-shadow:none; }

#zk-cart-root .zk-upsell-dots{
  display:flex;
  justify-content:center;
  gap: 6px;
  margin-top: 8px;
}

#zk-cart-root .zk-upsell-dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  border: 0;
  background: rgba(0,0,0,.18);
  cursor: pointer;
}

#zk-cart-root .zk-upsell-dot.is-active{
  background: rgba(0,0,0,.55);
  transform: scale(1.2);
}
/* ✅ Precio productos del mini-carrito en azul Zaes */
#zk-cart-root .zk-price-text{
  color: #5CA6D1;      /* Azul Zaes */
  font-weight: 800;
  font-size: 15px;     /* opcional, ajusta si quieres */
}
/* ===================================================
   FIX FINAL MÉTODOS DE PAGO (centrado + tamaño real)
   =================================================== */

#zk-cart-root .zk-paymethods-single{
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-top: 6px !important;
  text-align: center !important;
}

#zk-cart-root .zk-paymethods-img{
  display: block !important;
  height: 40px !important;      /* 👈 MÁS GRANDE Y LEGIBLE */
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
}
#zk-cart-root .zk-paymethods-single{
  margin-top: 8px !important;
}
/* ==============================
   FIX: pegar métodos de pago al botón azul
   ============================== */

#zk-cart-root .zk-footer .zk-btn-primary {
  margin-bottom: 4px !important; /* controla el espacio justo debajo del botón */
}

#zk-cart-root .zk-paymethods-single {
  margin-top: 0 !important;      /* elimina el hueco extra */
}
/* Override: COD button icon uses WhatsApp logo instead of truck */
.zk-btn.zk-btn-cod::before {
  content: "";
  width: 35px;
  height: 35px;
  display: inline-block;
  background: url("data:image/svg+xml,%3Csvg%20fill%3D%22%23ffffff%22%20width%3D%2270px%22%20height%3D%2230px%22%20viewBox%3D%220%200%2030.00%2032.00%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%220.00032%22%3E%3Cpath%20d%3D%22M26.576%205.363c-2.69-2.69-6.406-4.354-10.511-4.354-8.209%200-14.865%206.655-14.865%2014.865%200%202.732%200.737%205.291%202.022%207.491l-0.038-0.070-2.109%207.702%207.879-2.067c2.051%201.139%204.498%201.809%207.102%201.809h0.006c8.209-0.003%2014.862-6.659%2014.862-14.868%200-4.103-1.662-7.817-4.349-10.507l0%200zM16.062%2028.228h-0.005c-0%200-0.001%200-0.001%200-2.319%200-4.489-0.64-6.342-1.753l0.056%200.031-0.451-0.267-4.675%201.227%201.247-4.559-0.294-0.467c-1.185-1.862-1.889-4.131-1.889-6.565%200-6.822%205.531-12.353%2012.353-12.353s12.353%205.531%2012.353%2012.353c0%206.822-5.53%2012.353-12.353%2012.353h-0zM22.838%2018.977c-0.371-0.186-2.197-1.083-2.537-1.208-0.341-0.124-0.589-0.185-0.837%200.187-0.246%200.371-0.958%201.207-1.175%201.455-0.216%200.249-0.434%200.279-0.805%200.094-1.15-0.466-2.138-1.087-2.997-1.852l0.010%200.009c-0.799-0.74-1.484-1.587-2.037-2.521l-0.028-0.052c-0.216-0.371-0.023-0.572%200.162-0.757%200.167-0.166%200.372-0.434%200.557-0.65%200.146-0.179%200.271-0.384%200.366-0.604l0.006-0.017c0.043-0.087%200.068-0.188%200.068-0.296%200-0.131-0.037-0.253-0.101-0.357l0.002%200.003c-0.094-0.186-0.836-2.014-1.145-2.758-0.302-0.724-0.609-0.625-0.836-0.637-0.216-0.010-0.464-0.012-0.712-0.012-0.395%200.010-0.746%200.188-0.988%200.463l-0.001%200.002c-0.802%200.761-1.3%201.834-1.3%203.023%200%200.026%200%200.053%200.001%200.079l-0-0.004c0.131%201.467%200.681%202.784%201.527%203.857l-0.012-0.015c1.604%202.379%203.742%204.282%206.251%205.564l0.094%200.043c0.548%200.248%201.25%200.513%201.968%200.74l0.149%200.041c0.442%200.14%200.951%200.221%201.479%200.221%200.303%200%200.601-0.027%200.889-0.078l-0.031%200.004c1.069-0.223%201.956-0.868%202.497-1.749l0.009-0.017c0.165-0.366%200.261-0.793%200.261-1.242%200-0.185-0.016-0.366-0.047-0.542l0.003%200.019c-0.092-0.155-0.34-0.247-0.712-0.434z%22/%3E%3C/svg%3E")
    no-repeat center/contain;
  transform: scale(1.6);
  transform-origin: center;
}
