/** Shopify CDN: Minification failed

Line 225:18 Unexpected "{"
Line 225:27 Expected ":"
Line 230:18 Unexpected "{"
Line 230:27 Expected ":"
Line 237:18 Unexpected "{"
Line 237:27 Expected ":"
Line 238:18 Unexpected "{"
Line 238:27 Expected ":"
Line 245:18 Unexpected "{"
Line 245:27 Expected ":"
... and 4 more hidden warnings

**/
.sb {
  --sb-gap: 48px;
  --sb-speed: 20s;

  /* lo setea JS con el ancho real del set */
  --sb-shift: 1200px;

  --sb-fade: 70px;

  --sb-sep-thickness: 2px;
  --sb-sep-height: 70%;
  --sb-sep-opacity: 0.2;

  --sb-text-size: 18px;

  --sb-btn-font: 13px;
  --sb-btn-py: 10px;
  --sb-btn-px: 14px;

  --sb-img-pad-y: 10px;
  --sb-img-pad-x: 14px;

  --sb-line-thickness: 2px;
  --sb-line-opacity: 0.2;
}

/* Dividing lines */
.sb--line-top { border-top: var(--sb-line-thickness) solid rgba(var(--color-foreground), var(--sb-line-opacity)); }
.sb--line-bottom { border-bottom: var(--sb-line-thickness) solid rgba(var(--color-foreground), var(--sb-line-opacity)); }

/* Height presets */
.sb__viewport {
  overflow: hidden;
  position: relative;
}
.sb__viewport--xs { padding: 10px 0; }
.sb__viewport--sm { padding: 14px 0; }
.sb__viewport--md { padding: 18px 0; }
.sb__viewport--lg { padding: 24px 0; }

/* Fade edges */
.sb--fade .sb__viewport::before,
.sb--fade .sb__viewport::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: var(--sb-fade);
  pointer-events: none;
  z-index: 2;
}
.sb--fade .sb__viewport::before {
  left: 0;
  background: linear-gradient(to right,
    rgba(var(--color-background), 1) 0%,
    rgba(var(--color-background), 0) 100%);
}
.sb--fade .sb__viewport::after {
  right: 0;
  background: linear-gradient(to left,
    rgba(var(--color-background), 1) 0%,
    rgba(var(--color-background), 0) 100%);
}

/* Track */
.sb__track {
  display: flex;
  width: max-content;
  align-items: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

/* Sets */
.sb__content {
  display: flex;
  gap: var(--sb-gap);
  align-items: center;
  width: max-content;
  padding-right: var(--sb-gap);
}

/* ✅ Animated: basado en px reales (sin blanco) */
.sb--rtl .sb__track {
  animation: sb-marquee-rtl var(--sb-speed) linear infinite;
}
.sb--ltr .sb__track {
  animation: sb-marquee-ltr var(--sb-speed) linear infinite;
}

@keyframes sb-marquee-rtl {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(calc(-1 * var(--sb-shift)),0,0); }
}
@keyframes sb-marquee-ltr {
  from { transform: translate3d(calc(-1 * var(--sb-shift)),0,0); }
  to { transform: translate3d(0,0,0); }
}

/* Pause on hover */
.sb--pause:hover .sb__track {
  animation-play-state: paused;
}

/* SEO / no animation mode */
.sb--no-anim .sb__track { animation: none !important; }
.sb__track--static {
  overflow-x: auto;
  width: 100%;
  -webkit-overflow-scrolling: touch;
}
.sb__track--static .sb__content {
  width: max-content;
  padding: 0 12px;
}

/* Items */
.sb__item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
  text-decoration: none;
  color: inherit;
}

/* Separators */
.sb--sep .sb__content > .sb__item + .sb__item {
  position: relative;
  padding-left: calc(var(--sb-gap) * 0.6);
  margin-left: calc(var(--sb-gap) * 0.4);
}
.sb--sep .sb__content > .sb__item + .sb__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  opacity: var(--sb-sep-opacity);
  background: rgba(var(--color-foreground), 1);
}
.sb--sep-line .sb__content > .sb__item + .sb__item::before {
  width: var(--sb-sep-thickness);
  height: var(--sb-sep-height);
  border-radius: 999px;
}
.sb--sep-dot .sb__content > .sb__item + .sb__item::before {
  width: calc(var(--sb-sep-thickness) * 3);
  height: calc(var(--sb-sep-thickness) * 3);
  border-radius: 999px;
}

/* Text */
.sb__text {
  font-size: var(--sb-text-size);
  letter-spacing: 0.02em;
  line-height: 1;
  font-weight: 900;
}
.sb__text--uc { text-transform: uppercase; }

/* Image */
.sb__imgwrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.sb__imgwrap--box {
  padding: var(--sb-img-pad-y) var(--sb-img-pad-x);
  border: 1px solid rgba(var(--color-foreground), 0.25);
  background: rgba(var(--color-foreground), 0.06);
}
.sb__img { display: block; height: 100%; width: auto; }

.sb__img-placeholder {
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Icon */
.sb__icon { display: inline-flex; flex: 0 0 auto; }
.sb__icon svg { width: 100%; height: 100%; fill: currentColor; display: block; }

/* Button */
.sb__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--sb-btn-py) var(--sb-btn-px);
  font-size: var(--sb-btn-font);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-weight: 800;
  border-radius: 0px;
  user-select: none;
  white-space: nowrap;
  flex: 0 0 auto;
}
.sb__btn--outline { border: 1px solid rgba(var(--color-foreground), 0.35); background: transparent; }
.sb__btn--solid { border: 1px solid rgba(var(--color-foreground), 1); background: rgba(var(--color-foreground), 1); color: rgb(var(--color-background)); }

@media (prefers-reduced-motion: reduce) {
  .sb__track { animation: none !important; }
}
/* ✅ CENTER LOGOS (IMAGES) IN SCROLLING BANNER */
#shopify-section-{{ section.id }} .sb__content {
  display: flex;
  align-items: center; /* centra verticalmente todos los items */
}

#shopify-section-{{ section.id }} .sb__item {
  display: inline-flex;
  align-items: center;   /* centra vertical dentro del item */
  justify-content: center;
}

/* Si tu template usa una clase específica para imágenes, mejor aún */
#shopify-section-{{ section.id }} .sb__item--image,
#shopify-section-{{ section.id }} .sb__item--img {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Asegura que el <img> no se alinee como texto (baseline) */
#shopify-section-{{ section.id }} .sb__item img {
  display: block;
  margin: 0 auto;
  vertical-align: middle;
}
#shopify-section-{{ section.id }} .sb__img-box,
#shopify-section-{{ section.id }} .sb__image-box {
  display: flex;
  align-items: center;
  justify-content: center;
}
/* =========================================
   FIX: centrar logos/imagenes en scrolling banner
   (vertical + horizontal dentro del box)
   ========================================= */

/* Asegura que todo el carril esté centrado verticalmente */
.sb .sb__viewport,
.sb .sb__track,
.sb .sb__content {
  display: flex;
  align-items: center;
}

/* Cada item centrado */
.sb .sb__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
}

/* Items de imagen: centra el contenido siempre */
.sb .sb__item--image,
.sb .sb__item--image > a,
.sb .sb__item--image > span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Si tu snippet usa una “caja” para el logo (muy común), la centramos sí o sí */
.sb .sb__img-box,
.sb .sb__image-box,
.sb .sb__image-wrap,
.sb .sb__image,
.sb .sb__media {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 0 !important;        /* evita que la línea empuje hacia abajo */
}

/* Imagen: que no “salte” por baseline y se mantenga contenida */
.sb .sb__item--image img,
.sb img.sb__img,
.sb img {
  display: block !important;
  height: auto !important;
  width: auto !important;
  max-height: 100%;
  object-fit: contain;
  vertical-align: middle !important;
}

/* Si hay separadores (líneas/puntos), también centrarlos */
.sb.sb--sep .sb__sep,
.sb .sb__separator {
  align-self: center !important;
}
/* Quitar separadores/divisiones del scrolling banner */
.sb .sb__sep,
.sb .sb__separator,
.sb.sb--sep .sb__sep,
.sb.sb--sep-line .sb__sep,
.sb.sb--sep-dot .sb__sep {
  display: none !important;
}

/* Si el banner dibuja líneas superior/inferior */
.sb.sb--line-top,
.sb.sb--line-bottom {
  border-top: none !important;
  border-bottom: none !important;
}

/* Por si las líneas se dibujan con pseudo-elementos */
.sb.sb--line-top::before,
.sb.sb--line-bottom::after,
.sb.sb--line-top::after,
.sb.sb--line-bottom::before {
  content: none !important;
  display: none !important;
}
/* ================================
   FIX: Separators centrados y con aire
   (evita que queden pegados al logo/texto)
   ================================ */

/* 1) Si hay separadores, NO uses gap del contenedor:
      el “gap” lo convertimos en padding por item (mitad y mitad) */
.sb.sb--sep .sb__content {
  gap: 0 !important;
}

/* Cada item recibe padding horizontal = gap/2 */
.sb.sb--sep .sb__item {
  position: relative;
  padding-inline: calc(var(--sb-gap) / 2);
}

/* Primer y último item sin padding externo para que no “corra” todo */
.sb.sb--sep .sb__item:first-child {
  padding-left: 0;
}
.sb.sb--sep .sb__item:last-child {
  padding-right: 0;
}

/* 2) Dibujo del separador (LINE) centrado en el espacio */
.sb.sb--sep-line .sb__item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0; /* en el borde del item, pero lo movemos al centro del “gap” */
  transform: translateX(50%) translateY(-50%);
  width: var(--sb-sep-thickness);
  height: calc(var(--sb-sep-height) * 1%);
  background: currentColor;
  opacity: var(--sb-sep-opacity);
  pointer-events: none;
}

/* 3) Dibujo del separador (DOT) centrado en el espacio */
.sb.sb--sep-dot .sb__item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateX(50%) translateY(-50%);
  width: calc(var(--sb-sep-thickness) * 2);
  height: calc(var(--sb-sep-thickness) * 2);
  border-radius: 999px;
  background: currentColor;
  opacity: var(--sb-sep-opacity);
  pointer-events: none;
}

/* 4) Opcional: evita que el “fade” ensucie visualmente logos cerca de bordes */
.sb.sb--fade .sb__viewport {
  overflow: hidden;
}

/* 5) Centrar contenido interno del item (especialmente imágenes/logos) */
.sb .sb__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}