/** Shopify CDN: Minification failed

Line 78:0 Unexpected "}"

**/
/* Confort — avisos de promociones.
   Mismos tokens que la landing, definidos localmente para que
   funcionen también fuera de .cc-landing (carrito, ficha de producto). */

.cc-promos{
  --ink:#291C0E;
  --ink-soft:#6E473B;
  --sand:#E1D4C2;
  --sky:#A78D78;
  --sky-deep:#6E473B;
  --line:#BEB5A9;
  font-family:'Figtree',-apple-system,BlinkMacSystemFont,sans-serif;
  color:var(--ink);
  width:100%;
}

.cc-promos__ship{margin-bottom:14px;}
.cc-promos__ship-text{
  font-size:13px;line-height:1.5;
  margin:0 0 8px;
  color:var(--ink-soft);
}
.cc-promos__ship-text strong{color:var(--ink);font-weight:600;}

.cc-promos__bar{
  height:3px;
  background:var(--line);
  overflow:hidden;
}
.cc-promos__bar-fill{
  display:block;height:100%;
  background:var(--sky-deep);
  transition:width .45s cubic-bezier(.22,.61,.36,1);
}

.cc-promos__msg{
  font-size:12.5px;line-height:1.5;
  margin:6px 0 0;
  padding-left:14px;
  position:relative;
}
.cc-promos__msg::before{
  content:"";
  position:absolute;left:0;top:.55em;
  width:6px;height:6px;
}
.cc-promos__msg--ok{color:var(--ink);}
.cc-promos__msg--ok::before{background:var(--sky-deep);}
.cc-promos__msg--nudge{color:var(--ink-soft);}
.cc-promos__msg--nudge::before{border:1px solid var(--ink-soft);}

/* --- Ficha de producto --- */
.cc-promos--producto{
  border-top:1px solid var(--line);
  padding-top:18px;
  margin-top:18px;
}











@media (prefers-reduced-motion:reduce){
  .cc-promos__bar-fill,
  
  
}

/* ============================================================
   Barra de envío gratis (toda la tienda)
   ============================================================ */
.cc-envio{
  --ink:#291C0E;
  --ink-soft:#6E473B;
  --sand:#E1D4C2;
  --sky-deep:#6E473B;
  --line:#BEB5A9;
  /* Fija a la ventana. A diferencia de sticky, no depende de qué
     elemento scrollea ni de la altura del contenedor padre, que es
     donde Horizon nos venía complicando.
     Al salir del flujo, deja un hueco: lo compensa el padding-top de
     .page-wrapper, con la altura real que mide cc-envio-gratis.js. */
  /* Se pega justo debajo del encabezado, que a su vez queda fijo arriba.
     El alto del encabezado lo mide cc-envio-gratis.js y lo publica en
     --cc-header-h. El -1px replica el truco del tema para detectar el
     estado pegado sin que quede una rendija. */
  position:sticky;
  top:calc(var(--cc-header-h, 60px) - 1px);
  z-index:5;
  background:var(--sand);
  border-bottom:1px solid var(--line);
  font-family:'Figtree',-apple-system,BlinkMacSystemFont,sans-serif;
  color:var(--ink);
}
.cc-envio__inner{
  max-width:1400px;
  margin:0 auto;
  padding:9px clamp(16px,4vw,40px) 10px;
  display:flex;
  align-items:center;
  gap:16px;
}
.cc-envio__text{
  margin:0;
  font-size:12.5px;
  line-height:1.4;
  color:var(--ink-soft);
  white-space:nowrap;
}
.cc-envio__text strong{color:var(--ink);font-weight:600;}
.cc-envio__bar{
  flex:1 1 auto;
  height:3px;
  background:var(--line);
  overflow:hidden;
}
.cc-envio__fill{
  display:block;height:100%;
  background:var(--sky-deep);
  transition:width .45s cubic-bezier(.22,.61,.36,1);
}
.cc-envio.is-listo .cc-envio__fill{background:var(--ink);}

@media(max-width:560px){
  .cc-envio__inner{
    flex-direction:column;
    align-items:stretch;
    gap:7px;
    padding:8px 16px 9px;
  }
  .cc-envio__text{white-space:normal;font-size:12px;text-align:center;}
}
@media (prefers-reduced-motion:reduce){
  .cc-envio__fill{transition:none;}
}


/* ============================================================
   Texto corriendo en la barra de anuncios del encabezado
   ============================================================
   IMPORTANTE: dejá UN SOLO bloque de anuncio. Con dos o más, Horizon
   activa su propio pasaje de diapositivas y las dos animaciones se pisan.

   Velocidad: cambiá los 20s. Más segundos, más lento.
   Dirección: para que corra hacia la izquierda, invertí los valores
   del @keyframes (from 100% / to -100%). */

.announcement-bar{overflow:hidden;}

/* Cinta continua. El JS envuelve el anuncio en .cc-cinta y la repite las
   veces que haga falta para llenar la pantalla; acá se desplaza media
   cinta, que equivale a un grupo entero de copias.

   Va hacia la izquierda a propósito: así entra primero la primera palabra
   y el texto se lee en orden. Al revés entraría por el final.

   La velocidad se define en MARQUEE_PX_POR_SEGUNDO, en cc-envio-gratis.js */
.announcement-bar .announcement-bar__slides{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  width:max-content;
  max-width:none;
  min-width:0;
  flex:0 0 auto;
  margin-inline:0;
  white-space:nowrap;
  animation:cc-marquee 28s linear infinite;
  will-change:transform;
}
.announcement-bar .cc-cinta{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  white-space:nowrap;
  padding-inline-end:4rem;
}
.announcement-bar .announcement-bar__slides *{white-space:nowrap;}

/* El tema esconde las diapositivas con aria-hidden. Acá siempre se ven. */
.announcement-bar .cc-cinta .announcement-bar__slide,
.announcement-bar .cc-cinta > *{
  opacity:1;
  visibility:visible;
}

@keyframes cc-marquee{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* Se frena al pasar el cursor, para poder leerlo tranquilo */
.announcement-bar:hover .announcement-bar__slides{animation-play-state:paused;}

@media (prefers-reduced-motion:reduce){
  .announcement-bar__slides{animation:none;}
}



/* ============================================================
   Barra de envío: mismo sistema visual que la landing
   ============================================================ */
.cc-envio__inner{
  padding:11px clamp(16px,4vw,40px) 12px;
  gap:18px;
}
.cc-envio__text{
  font-size:13px;
  font-weight:500;
  letter-spacing:-.005em;
  color:var(--ink-soft);
}
.cc-envio__text strong{
  font-weight:800;
  letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
  color:var(--ink);
}
.cc-envio__bar{
  height:5px;
  border-radius:999px;
  background:rgba(41,28,14,.14);
  max-width:520px;
}
.cc-envio__fill{
  border-radius:999px;
  background:var(--ink);
}
/* Al llegar al objetivo, el mensaje pasa al color de marca */
.cc-envio.is-listo .cc-envio__text strong{color:var(--sky-deep);}
.cc-envio.is-listo .cc-envio__fill{background:var(--sky-deep);}

@media(max-width:560px){
  .cc-envio__inner{gap:8px;padding:9px 16px 11px;}
  .cc-envio__text{font-size:12.5px;}
  .cc-envio__bar{max-width:none;height:4px;}
}

/* El monto de la barra, en la misma tipografía que los precios de la landing */
.cc-envio__text strong{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  font-weight:600;
}

/* ============================================================
   Barra de envío: pista con textura y meta al final
   ============================================================ */
.cc-envio__inner{
  flex-direction:column;
  align-items:center;
  gap:9px;
  padding:12px clamp(16px,4vw,40px) 14px;
}
.cc-envio__text{
  display:flex;
  align-items:center;
  gap:8px;
  text-align:center;
  font-size:14px;
  white-space:normal;
}
.cc-envio__text::before{
  content:"";
  flex:0 0 auto;
  width:17px;height:17px;
  background-color:var(--sky-deep);
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%207.5%2012%203l9%204.5v9L12%2021l-9-4.5z%22%2F%3E%3Cpath%20d%3D%22M3%207.5%2012%2012l9-4.5M12%2012v9%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%207.5%2012%203l9%204.5v9L12%2021l-9-4.5z%22%2F%3E%3Cpath%20d%3D%22M3%207.5%2012%2012l9-4.5M12%2012v9%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
}

.cc-envio__pista{
  position:relative;
  width:100%;
  max-width:640px;
}
.cc-envio__bar{
  position:relative;
  height:22px;
  max-width:none;
  border-radius:999px;
  overflow:hidden;
  border:1px solid rgba(41,28,14,.16);
  /* rayado diagonal sobre crema: el tramo que falta */
  background:var(--sand);
  box-shadow:inset 0 2px 3px rgba(41,28,14,.13);
}
.cc-envio__fill{
  position:relative;
  height:100%;
  border-radius:999px;
  /* rampa cálida armada con los tres tonos de la paleta */
  background:linear-gradient(180deg,
    #E1D4C2 0%, #A78D78 42%, #6E473B 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    inset 0 -2px 4px rgba(41,28,14,.28),
    0 0 12px rgba(110,71,59,.30);
}

/* Meta: el tramo oscuro del extremo derecho */
.cc-envio__meta{
  position:absolute;
  top:0;right:0;bottom:0;
  width:52px;
  border-radius:999px;
  background:linear-gradient(180deg, #6E473B 0%, #291C0E 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
  display:flex;
  align-items:center;
  justify-content:center;
}
.cc-envio__meta::after{
  content:"";
  width:13px;height:13px;
  background-color:var(--sand);
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%207.5%2012%203l9%204.5v9L12%2021l-9-4.5z%22%2F%3E%3Cpath%20d%3D%22M3%207.5%2012%2012l9-4.5M12%2012v9%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%207.5%2012%203l9%204.5v9L12%2021l-9-4.5z%22%2F%3E%3Cpath%20d%3D%22M3%207.5%2012%2012l9-4.5M12%2012v9%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
  opacity:.85;
}
.cc-envio__meta-label{
  position:absolute;
  right:2px;
  top:calc(100% + 5px);
  font-size:8.5px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ink-soft);
  opacity:.75;
}

/* Al alcanzar la meta, el tramo oscuro se enciende */
.cc-envio.is-listo .cc-envio__meta{
  background:linear-gradient(180deg, #A78D78 0%, #6E473B 100%);
}
.cc-envio.is-listo .cc-envio__meta-label{color:var(--sky-deep);opacity:1;}

@media(max-width:560px){
  .cc-envio__inner{gap:8px;padding:10px 16px 13px;}
  .cc-envio__text{font-size:12.5px;gap:6px;}
  .cc-envio__text::before{width:15px;height:15px;}
  .cc-envio__bar{height:18px;}
  .cc-envio__meta{width:44px;}
  .cc-envio__meta::after{width:11px;height:11px;}
  .cc-envio__meta-label{font-size:8px;letter-spacing:.12em;}
}

/* ---------- Correcciones ----------
   El rótulo de meta aparece recién al llegar al monto.
   Y el relleno se anima siempre: el ancho lo actualiza el JS con el
   total real del carrito cada vez que cambia. */
.cc-envio__meta-label{
  opacity:0;
  transform:translateY(-3px);
  transition:opacity .35s ease, transform .35s cubic-bezier(.22,.61,.36,1);
  pointer-events:none;
}
.cc-envio.is-listo .cc-envio__meta-label{
  opacity:1;
  transform:none;
}

.cc-envio__fill{
  transition:width .5s cubic-bezier(.22,.61,.36,1),
             background .35s ease,
             box-shadow .35s ease;
}

/* espacio para que el rótulo entre sin empujar nada */
.cc-envio__inner{padding-bottom:20px;}
@media(max-width:560px){
  .cc-envio__inner{padding-bottom:18px;}
}
@media (prefers-reduced-motion:reduce){
  .cc-envio__fill,
  .cc-envio__meta-label{transition:none;}
}

/* ---------- Barra más fina ---------- */
.cc-envio__bar{height:14px;}
.cc-envio__meta{width:38px;}
.cc-envio__meta::after{width:10px;height:10px;}
.cc-envio__inner{gap:8px;}

@media(max-width:560px){
  .cc-envio__bar{height:12px;}
  .cc-envio__meta{width:32px;}
  .cc-envio__meta::after{width:9px;height:9px;}
}

/* ============================================================
   Ficha de producto: promos en tarjetas + banner del kit
   ============================================================ */
.cc-promos__cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.cc-promos__card{
  background:var(--paper, #fff);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 15px 15px;
}
.cc-promos__kicker{
  display:block;
  font-size:9.5px;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--ink-soft);
  padding-bottom:8px;
  border-bottom:1px solid var(--line);
}
.cc-promos__claim{
  font-size:16px;
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.15;
  margin:9px 0 5px;
  color:var(--ink);
}
.cc-promos__claim em{font-style:normal;color:var(--sky-deep);}
.cc-promos__detalle{
  font-size:12px;
  line-height:1.5;
  color:var(--ink-soft);
  margin:0;
}
.cc-promos__envio{
  font-size:12.5px;
  color:var(--ink-soft);
  margin:12px 0 0;
  padding-top:12px;
  border-top:1px solid var(--line);
}

.cc-promos__combo{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  background:var(--sand);
  border-radius:14px;
  padding:14px 16px;
  margin-top:14px;
}
.cc-promos__combo-txt{display:flex;flex-direction:column;gap:2px;}
.cc-promos__combo-label{
  font-size:9.5px;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--sky-deep);
}
.cc-promos__combo-title{font-size:14px;font-weight:700;color:var(--ink);}
.cc-promos__combo-price{
  font-family:'Inter',-apple-system,sans-serif;
  font-size:15px;font-weight:700;
  color:var(--ink);
}
.cc-promos__combo-btn{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  padding:11px 20px;
  border-radius:12px;
  background:var(--ink);
  color:var(--sand);
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  text-decoration:none;
  transition:transform .2s cubic-bezier(.22,.61,.36,1), background .2s ease;
}
.cc-promos__combo-btn:hover{transform:scale(1.04);background:var(--sky-deep);}

@media(max-width:600px){
  .cc-promos__cards{grid-template-columns:1fr;}
  .cc-promos__combo{flex-direction:column;align-items:stretch;}
  .cc-promos__combo-btn{justify-content:center;}
}

/* ============================================================
   Botones y precios del tema, iguales a los de la landing
   ============================================================ */
.button,
.button-secondary{
  transition:transform .22s cubic-bezier(.22,.61,.36,1),
             background-color .2s ease, color .2s ease, border-color .2s ease;
  will-change:transform;
}
.button:hover,
.button-secondary:hover{transform:scale(1.035);}
.button:active,
.button-secondary:active{transform:scale(.985);}

/* Reflejo especular en el botón principal, como en la landing */
.button{
  background-image:linear-gradient(180deg, rgba(255,255,255,.15), rgba(255,255,255,0) 46%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

/* Cifras en Inter, letras en la tipografía del tema */
.price,
.price-item__group,
.compare-at-price,
.cart__price,
.totals__total-value{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  font-weight:600;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.01em;
}

@media (prefers-reduced-motion:reduce){
  .button,
  .button-secondary,
  .cc-promos__combo-btn{transition:none;}
  .button:hover,
  .button-secondary:hover,
  .cc-promos__combo-btn:hover{transform:none;}
}

/* El botón de pago acelerado de Shopify usa sus propias clases */
.shopify-payment-button__button,
.shopify-payment-button__button--unbranded{
  transition:transform .22s cubic-bezier(.22,.61,.36,1), background-color .2s ease;
  will-change:transform;
  background-image:linear-gradient(180deg, rgba(255,255,255,.15), rgba(255,255,255,0) 46%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}
.shopify-payment-button__button:hover,
.shopify-payment-button__button--unbranded:hover{transform:scale(1.035);}
.shopify-payment-button__button:active{transform:scale(.985);}
@media (prefers-reduced-motion:reduce){
  .shopify-payment-button__button{transition:none;}
  .shopify-payment-button__button:hover{transform:none;}
}

/* ---------- Botón de pago acelerado ----------
   Shopify inyecta sus propios estilos para este botón y le ganaban a los
   míos, por eso el agrandado saltaba en vez de progresar. Con el
   contenedor delante, la regla pesa más. El !important va solo sobre la
   transición, que es lo que Shopify pisa. */
.shopify-payment-button .shopify-payment-button__button,
.shopify-payment-button .shopify-payment-button__button--unbranded{
  transition:transform .22s cubic-bezier(.22,.61,.36,1),
             background-color .2s ease !important;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:700;
}
.shopify-payment-button .shopify-payment-button__button:hover,
.shopify-payment-button .shopify-payment-button__button--unbranded:hover{
  transform:scale(1.035);
}
.shopify-payment-button .shopify-payment-button__button:active{
  transform:scale(.985);
}
@media (prefers-reduced-motion:reduce){
  .shopify-payment-button .shopify-payment-button__button{transition:none !important;}
  .shopify-payment-button .shopify-payment-button__button:hover{transform:none;}
}

/* ---------- Separador de dos imágenes ----------
   Una arriba de la otra, cuadradas y a todo el ancho del contenedor.
   El margen de abajo las despega del pie. */
.cc-separador{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  width:100%;
  margin-bottom:clamp(32px,5vw,72px);
}
.cc-separador img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
  aspect-ratio:1/1;
  background:var(--sand, #E1D4C2);
}
@media(max-width:600px){
  .cc-separador{gap:8px;margin-bottom:28px;}
}

/* ---------- Barra de envío más compacta ----------
   Menos alto en todo: relleno, texto y pista. También saco los
   will-change: forzaban capas grandes en el compositor y en pantallas
   modestas eso se siente como tirones. */
.cc-envio__inner{
  padding:8px clamp(14px,3vw,32px) 9px;
  gap:6px;
}
.cc-envio__text{font-size:12.5px;gap:7px;}
.cc-envio__text::before{width:15px;height:15px;}
.cc-envio__pista{max-width:520px;}
.cc-envio__bar{height:10px;}
.cc-envio__meta{width:30px;}
.cc-envio__meta::after{width:9px;height:9px;}
.cc-envio__meta-label{font-size:8px;top:calc(100% + 3px);}
.cc-envio__inner{padding-bottom:16px;}

.cc-envio__fill{will-change:auto;}
.announcement-bar .announcement-bar__slides{will-change:auto;}

@media(max-width:560px){
  .cc-envio__inner{padding:7px 14px 14px;gap:5px;}
  .cc-envio__text{font-size:11.5px;}
  .cc-envio__text::before{width:13px;height:13px;}
  .cc-envio__bar{height:9px;}
  .cc-envio__meta{width:26px;}
  .cc-envio__meta::after{width:8px;height:8px;}
}