/** Shopify CDN: Minification failed

Line 503:0 Unexpected "}"
Line 1663:5 Unexpected "{"
Line 1663:14 Expected ":"
Line 1672:5 Unexpected "{"
Line 1672:14 Expected ":"
Line 1674:5 Unexpected "{"
Line 1674:14 Expected ":"
Line 1678:5 Unexpected "{"
Line 1678:14 Expected ":"
Line 1685:5 Unexpected "{"
... and 3 more hidden warnings

**/
/* ===== Curved Hero ===== */
.curved-hero{
  position: relative;
  color: #fff;
  text-align: left;
  overflow: hidden;
}

/* Imagen: se adapta a su tamaño real */
.curved-hero .hero-image picture,
.curved-hero .hero-image .hero-image__img{
  display: block;
  width: 100%;
  height: auto;   /* mantiene proporción natural */
}

/* Contenido */
.curved-hero .hero-content{
  position: absolute;
  top: 20%;
  left: 5%;
  max-width: var(--content-width, 520px);
  z-index: 2;
}

.curved-hero .hero-title{
  font-family: 'Mochiy Pop P One', sans-serif;
  font-size: clamp(22px, 6vw, 52px); /* más flexible en mobile */
  margin: 0 0 0.5em;
  color: #fff; /* forzado blanco */
}
.curved-hero .hero-subtitle{
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(14px, 4vw, 18px);
  margin-bottom: 1.5em;
  color: #fff; /* forzado blanco */
}

/* Botón */
.curved-hero .hero-btn{
  display: inline-block;
  padding: 16px 47px;
  background: var(--btn-bg, #F3B823);
  color: #fff !important;  /* texto blanco */
  font-family: 'Mochiy Pop P One', sans-serif;
  border-radius: 999px;
  text-decoration: none;
  line-height: 1;
  transition: transform .15s ease, opacity .15s ease, box-shadow .15s ease;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}

/* Curva inferior */
.curved-hero .hero-curve{
  position: absolute;
  bottom: 0; left: 0; width: 100%; height: 120px;
  background: #F9F4EC;
  clip-path: ellipse(100% 100% at 50% 0%);
  z-index: 1;
}

/* Responsive */
@media (max-width: 768px){
  .curved-hero .hero-content{
    top: auto;
    bottom: 15%;
    left: 5%;
    transform: none;
    text-align: left;
    max-width: 90%;
  }
}
/* ===== Families Love (base) ===== */
.families-coded{
  position: relative;
  width: 100%;
  max-width: 100vw;
  height: var(--h);
  min-height: 520px;
  padding: 24px 16px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #F9F4EC;
}

/* Capas */
.families-coded .bg-svg{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  display: block; z-index: 0;
}
.families-coded .spiral{
  position: absolute; z-index: 2;
  pointer-events: none; user-select: none;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.06));
  transform: translateY(-50%);
}
.families-coded .families-container{
  position: relative; z-index: 3;
  width: 100%; max-width: 1200px; margin: 0 auto;
  display: flex; flex-direction: column; align-items: center;
  text-align: center;
}

/* Título */
.families-coded .title{
  font-size: var(--title); line-height: 1.1;
  margin: 0 0 16px 0; color: #fff;
}

/* Cards (desktop base) */
.families-coded .cards{
  width: 100%;
  display: flex; gap: var(--gap);
  align-items: stretch; justify-content: center;
  margin: 8px 0 24px 0;
}
.families-coded .card{
  width: 260px;
  background: #fff; border-radius: 12px;
  padding: 14px; text-align: left;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
  display: flex; flex-direction: column;
}
.families-coded .card img{
  width: 100%; height: 200px; object-fit: cover;
  border-radius: 8px; display: block; margin-bottom: 10px;
}
.families-coded .card-title{
  font-size: var(--card-title); line-height: 1.25;
  font-weight: 700; color: #222; margin: 6px 0;
}
.families-coded .card-text{
  font-size: var(--card-text); line-height: 1.4; color: #555; margin: 0;
  display: -webkit-box; -webkit-line-clamp: var(--card-lines);
  -webkit-box-orient: vertical; overflow: hidden;
}

/* CTA */
.families-coded .btn{
  background: #F3B823; color: #fff; font-weight: 700;
  text-decoration: none; border-radius: 1000px;
  padding: 20px 35px; display: inline-block;
}
@media (max-width:767px){
  .families-coded .cta .btn{
    width: 100%;
    margin-right: 21vw;
    text-align: center;
  }
}
/* =========================
   Families Love — MOBILE (<=768)
   ========================= */
@media (max-width: 768px){
  /* Sección y azul más alto sin deformar curvas */
  .families-coded{
    height: auto !important;
    overflow-x: hidden;
    /* aire extra arriba/abajo DEL CONTENIDO */
    --blue-extra-top: 36px;
    --blue-extra-bottom: 56px;
    --content-shift: 12px; /* baja un poquito el bloque */
    padding-top: calc(24px + var(--blue-extra-top) + var(--content-shift));
    padding-bottom: calc(28px + var(--blue-extra-bottom));
  }
  .families-coded .bg-svg{
    /* mueve y estira el svg para que haya más azul visible,
       sin tocar la geometría de las curvas */
    top: calc(-1 * var(--blue-extra-top));
    height: calc(100% + var(--blue-extra-top) + var(--blue-extra-bottom));
    z-index: 0;
  }

  /* Contenedor */
  .families-coded .families-container{
    width: 100%;
    max-width: 100%;
    padding-inline: 16px;
    display: grid;
    grid-template-rows: auto auto auto;
    row-gap: 12px;
    justify-items: center;
    text-align: left;
    margin: 0;
  }

  /* Título */
  .families-coded .title{
    width: 100%;
    text-align: center;
    font-size: clamp(20px, 6vw, 26px);
    line-height: 1.2;
    margin: 10px 0;
  }

  /* Carrusel (scroll solo aquí) */
  .families-coded .cards.m-carousel{
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 10px;
    width: calc(100vw - 32px);
    margin: 0; padding: 0;
    overflow-x: auto !important;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    scroll-snap-stop: always;
    touch-action: pan-x !important;
    overscroll-behavior-x: contain;
    overscroll-behavior-y: contain;
  }
  .families-coded .cards.m-carousel::-webkit-scrollbar{ display:none; }

  /* Slides: MISMO ANCHO y MISMA ALTURA VISUAL */
  .families-coded .cards.m-carousel .card{
    --slideW: calc(var(--mobile-card-w, 86vw) - 32px);
    flex: 0 0 var(--slideW);
    min-width: var(--slideW);
    max-width: var(--slideW);
    scroll-snap-align: start;
    box-sizing: border-box;

    padding: 12px;
    border-radius: 12px;

    display: flex;
    flex-direction: column;
    min-height: 360px;            /* uniforma altura total; ajusta 340–380 */
  }
  .families-coded .cards.m-carousel .card img{
    width: 100%;
    height: 160px;                 /* fija altura de imagen */
    object-fit: cover;
    border-radius: 10px;
    margin-bottom: 8px;
  }
  .families-coded .cards.m-carousel .card-title{
    font-size: 18px;
    line-height: 1.25;
    margin: 4px 0 6px;
    display: -webkit-box;
    -webkit-line-clamp: 2;         /* 2 líneas iguales en todas */
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .families-coded .cards.m-carousel .card-text{
    font-size: 14px;
    line-height: 1.4;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 4;         /* 4 líneas iguales en todas */
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* CTA más compacto */
  .families-coded .cta{ width: 100%; display: grid; place-items: center; }
  .families-coded .btn{ font-size: 14px; padding: 12px 77px; border-radius: 999px; margin-top: 12px;}
}
/* ===== Memories · Steps ===== */
.memories-steps{
  background: #F9F4EC; /* crema */
  padding: 48px 16px 36px;
}
.memories-steps .container{ max-width: var(--maxw); margin: 0 auto; }

/* Título 2 líneas y colores */
.memories-steps .memories-title{
  margin: 0 0 12px;
  text-align: center;
  line-height: 1.1;
  font-family: 'Mochiy Pop P One', sans-serif;
  font-weight: 700;
}
.memories-steps .memories-title .t1,
.memories-steps .memories-title .t2{ display:block; line-height:1.06; }
.memories-steps .memories-title .t1{ color: var(--title1-color); font-size: clamp(28px, 4.8vw, 40px); margin-top: -20px; }
.memories-steps .memories-title .t2{ color: var(--title2-color); font-size: clamp(28px, 4.8vw, 40px); }

/* Subtítulo */
.memories-steps .memories-subtitle{
  margin: 8px auto 24px;
  text-align: center;
  color: var(--subtitle_color);
  font-size: clamp(13px, 2.4vw, 16px);
  line-height: 1.6;
  max-width: 680px;
}

/* === 3 columnas fijas de 300px y separaciones chicas para encajar en 1040px === */
.memories-steps .card-grid{
  display: grid;
  grid-template-columns: repeat(3, 300px);
  justify-content: center;
  gap: 10px; /* 3*300 + 2*10 = 910px -> cabe dentro de 1040 */
  margin-top: -80px;
}

/* Cada card solo centra la imagen */
.memories-steps .card{ display:grid; place-items:center; background:none; border:0; padding:0; box-shadow:none; }

/* La imagen respeta los atributos de HTML (300×442). Evitamos que el tema la estire. */
.memories-steps .card img.card-img{
  width: 300px !important;
  height: 442px !important;
  object-fit: contain; /* por seguridad; no recorta */
  display: block;
}

/* Línea descontinuada negra debajo del grid */
.memories-steps .memories-divider{
  width: 100%;
  height: 0;                     /* no ocupa alto extra */
  margin: 28px 0 0;
  border: 0;
  border-top: 2px dashed #000 !important; /* <-- visible siempre */
  opacity: .9;
}

/* ===== Mobile (≤768px): las 3 siguen en fila pero mucho más chicas ===== */
@media (max-width: 768px){
  .memories-steps{ padding: 40px 14px 24px; }

  .memories-steps .card-grid{
    grid-template-columns: repeat(3, 1fr); /* quepan en pantalla */
    gap: 10px;
    margin-top: 5px;
  }

  /* Reducimos visualmente a 100×148 en móvil */
  .memories-steps .card img.card-img{
    width: 122px!important;
    height: 142px !important;
  }

  .memories-steps .memories-divider{
    margin-top: 18px;
    border-bottom-width: 1.5px;
  }
}
/* ===== Featured Product Card ===== */
.fp-wrap{
  background: var(--sec-bg, #F9F4EC);
  padding: 28px 16px;
  display: grid;
  place-items: center;
}
.fp-wrap .fp-card{
  width: 100%;
  max-width: var(--maxw, 760px);
  background: var(--card-bg, #fff);
  border-radius: var(--radius, 20px);
  box-shadow: 0 8px 28px rgba(0,0,0,.06);
  overflow: hidden;
}

/* Media / Slider */
.fp-wrap .fp-media{
  position: relative;
  background: var(--media-bg, #F9F4EC);
  padding: 12px;
}
.fp-wrap .fp-slider{
  width: 100%;
  border-radius: calc(var(--radius, 20px) - 8px);
  overflow: hidden;
  background: var(--media-bg, #F9F4EC);
}
.fp-wrap .fp-track{
  display: flex;
  transition: transform .35s ease;
}
.fp-wrap .fp-slide{
  min-width: 100%;
  aspect-ratio: 16 / 9;
  display: grid;
  place-items: center;
}
.fp-wrap .fp-img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Arrows */
.fp-wrap .fp-arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 0;
  display: grid;
  place-items: center;
  background: var(--accent, #E45530);   /* ← color pedido */
  color: #fff;
  box-shadow: 0 6px 16px rgba(228,85,48,.35);
  cursor: pointer;
  transition: transform .15s ease, filter .15s ease;
}
.fp-wrap .fp-prev{ left: 10px; }
.fp-wrap .fp-next{ right: 10px; }
.fp-wrap .fp-arrow:hover{
  transform: translateY(-50%) scale(1.06);
  filter: brightness(1.05);
}

/* Info */
.fp-wrap .fp-info{
  padding: 18px 18px 24px;
  text-align: center;
}
.fp-wrap .fp-title{
  margin: 4px 0 8px;
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.2;
  color: #262626;
}
.fp-wrap .fp-pricebox{
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 16px;
}
.fp-wrap .fp-compare{
  color: #9c9c9c;
  text-decoration: line-through;
  font-size: .95rem;
}
.fp-wrap .fp-price{
  color: #222;
  font-weight: 700;
  font-size: 1.15rem;
}

/* Botón Add to Cart */
.fp-wrap .fp-btn{
  width: min(296px, 90%);
  margin: 0 auto;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: var(--accent, #E45530);   /* ← color pedido */
  color: #fff;
  border: 0;
  border-radius: 999px;
  padding: 20px;
  font-size: 17px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .15s ease, filter .15s ease;
}
.fp-wrap .fp-btn:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
}
.fp-wrap .fp-btn[disabled]{
  opacity: 1.0;
  cursor: not-allowed;
}

/* Responsive */
@media (max-width: 640px){
  .fp-wrap .fp-card{ border-radius: 18px; }
  .fp-wrap .fp-arrow{ width: 34px; height: 34px; }
  .fp-wrap .fp-info{ padding: 14px 14px 18px; }
}
/* --- Hotfix: flecha izquierda se oculta bajo la imagen --- */
.fp-wrap .fp-media{ 
  position: relative;
  isolation: isolate;            /* garantiza que los z-index funcionen predecibles */
}
.fp-wrap .fp-slider{ 
  position: relative; 
  z-index: 1;                    /* slider por debajo de las flechas */
}
.fp-wrap .fp-arrow{ 
  z-index: 3;                    /* flechas siempre arriba */
}
/* opcional: por si algún tema fuerza z-index en imágenes */
.fp-wrap .fp-img{ position: relative; z-index: 1; }

}


/* ====== Sección: Comparativa (ajustes) ====== */

/* Fondo y contenedor */
.cmp-wrap{
  background: var(--sec-bg, #F9F4EC);
  padding: 40px 16px 88px;                 /* más bottom para el CTA */
}
.cmp-wrap .cmp-inner{
  max-width: 860px;                        /* ← más angosta la tabla */
  margin: 0 auto;
}

/* Heading bicolor (sin cambios de tamaño) */
.cmp-wrap .cmp-heading{
  margin: 0 0 18px;
  text-align: center;
  line-height: 1.08;
  font-family: 'Mochiy Pop P One', system-ui, sans-serif;
}
.cmp-wrap .cmp-heading__a{ color: #1a1a1a; font-size: clamp(26px, 4.2vw, 44px); }
.cmp-wrap .cmp-heading__b{ color: var(--cmp-blue, #1888C5); font-size: clamp(26px, 4.2vw, 44px); }

/* Tarjeta comparativa */
.cmp-wrap .cmp-table{
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: var(--radius, 12px);
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
  overflow: visible;                        /* ← permite que el CTA salga hacia abajo */
  background: #fff;
}

/* Columnas */
.cmp-wrap .cmp-col{
  padding: 22px 18px 28px;
  display: grid;
  grid-template-rows: auto 1fr;
  text-align: center;                       /* ← todo centrado */
}
.cmp-wrap .cmp-col--left{
  color: var(--cmp-gray, #797C7D);
  background: #fff;
}
.cmp-wrap .cmp-col--right{
  color: #fff;
  background: var(--cmp-blue, #1888C5);
  box-shadow: -1px 0 0 rgba(255,255,255,.35) inset;
}

/* Encabezados de columnas */
.cmp-wrap .cmp-col-h{ margin-bottom: 10px; }
.cmp-wrap .cmp-col-title{
  font-family: 'Mochiy Pop P One', system-ui, sans-serif;
  font-size: clamp(18px, 2.3vw, 24px);
  font-weight: 700;
}
.cmp-wrap .cmp-col-sub{
  opacity: .95;
  font-size: 1rem;                          /* ← más grande */
  margin-top: 3px;
}

/* Filas */
.cmp-wrap .cmp-list{ list-style: none; padding: 0; margin: 0; align-content: start; }
.cmp-wrap .cmp-item{
  padding: 12px 8px;
  font-size: clamp(13px, 1.6vw, 16px);
  line-height: 1.35;
  border-top: 1px dashed rgba(121,124,125,.35);
}
.cmp-wrap .cmp-col--right .cmp-item{
  border-top: 1px dashed rgba(255,255,255,.55);
}
.cmp-wrap .cmp-item:first-child{ border-top: 1px dashed rgba(121,124,125,.35); }
.cmp-wrap .cmp-col--right .cmp-item:first-child{ border-top: 1px dashed rgba(255,255,255,.55); }

/* CTA amarillo: mitad dentro / mitad fuera */
.cmp-wrap .cmp-cta{
  position: absolute;
  left: 50%;
  bottom: -26px;                            /* sobresale aprox. la mitad */
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  min-width: 200px;
  background: var(--cmp-cta, #F3B823);
  color: #fff;                               /* ← texto blanco */
  text-decoration: none;
  border-radius: 999px;
  font-weight: 700;
  box-shadow: 0 10px 22px rgba(0,0,0,.10);
  -webkit-appearance: none;
  appearance: none;
  z-index: 2;                                /* por encima de la tarjeta */
}
.cmp-wrap .cmp-cta::before,
.cmp-wrap .cmp-cta::after{ content: none !important; }

/* Responsive */
@media (max-width: 640px){
  .cmp-wrap{ padding: 32px 12px 76px; }
  .cmp-wrap .cmp-inner{ max-width: 560px; }
  .cmp-wrap .cmp-col{ padding: 18px 12px 24px; }
  .cmp-wrap .cmp-cta{ bottom: -22px; min-width: 180px; padding: 11px 20px; }
}
/* Bordes redondeados en la tabla sin cortar el CTA */
.cmp-wrap .cmp-table{
  border-radius: var(--radius, 12px);   /* sigue controlando el radio global */
  overflow: visible;                    /* CTA puede salir por fuera */
}

/* Redondeo por columnas (exteriores) */
.cmp-wrap .cmp-col--left{
  border-top-left-radius: var(--radius, 12px);
  border-bottom-left-radius: var(--radius, 12px);
  overflow: hidden;                     /* recorta líneas/punteado al borde */
  background-clip: padding-box;
}
.cmp-wrap .cmp-col--right{
  border-top-right-radius: var(--radius, 12px);
  border-bottom-right-radius: var(--radius, 12px);
  overflow: hidden;
  background-clip: padding-box;
}

/* (por si acaso) el CTA siempre por encima */
.cmp-wrap .cmp-cta{ z-index: 3; }

/* ===== Why Game (.wg-*) ===== */
.wg-wrap{
  position: relative;
  background: var(--cream, #F9F4EC);
  overflow: hidden;
}

/* Fondo: alto = SVG + franja azul */
.wg-bg{
  position: absolute;
  top: 0; left: 0; right: 0;
  height: calc(var(--curve-h, 120px) + var(--blue-h, 280px));
  z-index: 0;
  pointer-events: none;
}
.wg-bg-svg{ width: 100%; height: 100%; display: block; }
.wg-blue-rect{ fill: var(--blue, #1888C5); }
.wg-cream-path{ fill: var(--cream, #F9F4EC); }

/* Título dentro de la franja azul (centrado) */
.wg-curve-title-wrap{
  position: absolute;
  left: 0; right: 0;
  /* ubícalo cerca del borde inferior del azul;
     var(--pad-top) es donde empieza el contenido */
  top: calc(var(--pad-top, 220px) - var(--ovl-offset, 28px));
  z-index: 1;               /* por encima del fondo azul */
  pointer-events: none;     /* el texto no bloquea clics */
}
.wg-curve-title{
  max-width: var(--maxw, 980px);
  margin: 0 auto;
  padding: 0 16px;
  text-align: center;
  color: #fff;
  font-family: 'Mochiy Pop P One', system-ui, sans-serif;
  font-weight: 800;
  line-height: 1.05;
  font-size: clamp(26px, 4.5vw, 44px);
  
}

/* Contenido */
.wg-inner{
  position: relative; z-index: 1;
  max-width: var(--maxw, 980px);
  margin: 0 auto;
  padding: var(--pad-top, 220px) 16px 72px;
  text-align: center;
}
.wg-media{
  width: min(var(--imgw, 880px), 100%);
  aspect-ratio: var(--media-ar, 16/9);
  border-radius: var(--radius, 16px);
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
  background: #0001;
  margin: 0 auto;
}
.wg-img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Título negro debajo (usa el gap configurable) */
.wg-title{
  margin: var(--title-gap, 28px) 0 12px;
  font-family: 'Mochiy Pop P One', system-ui, sans-serif;
  font-size: clamp(28px, 4.5vw, 40px);
  color: #1a1a1a;
}

/* Texto y botón */
.wg-text{
  color: #4a4a4a;
  max-width: 760px;
  margin: 0 auto 22px;
  font-size: 15px;
  line-height: 1.65;
}
.wg-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 24px; border-radius:999px;
  background: var(--cta, #F3B823); color:#fff; text-decoration:none; font-weight:700;
  box-shadow: 0 10px 22px rgba(0,0,0,.10);
}
.wg-btn::before,.wg-btn::after{ content:none !important; }

/* Responsive */
@media (max-width: 640px){
  .wg-inner{ padding: calc(var(--pad-top, 220px) + 16px) 14px 64px; }
}

/* ===== Custom Header v2 ===== */
.tb-wrap{ position: relative; z-index: 10000; }

/* Pila (anuncio + barra) */
.tb-stack{ background: transparent; transition: transform .22s ease; }
.tb-stack.is-fixed{ position: absolute !important; top:0; left:0; right:0; z-index:10000; }
.tb-stack.is-fixed.is-hidden{ transform: translateY(-100%); }

/* Barra fija: inicia debajo del anuncio */
.tb-bar{
  position: fixed;
  left: 0; right: 0;
  top: var(--ann-h, 0px);
  width: 100%;
  transition: top .22s ease;
}

/* Cuando hay scroll, la barra se pega al top */
.tb-wrap.scrolled .tb-bar{ top: 0; }

/* Anuncio se pliega */
.tb-announce{ transition: transform .22s ease, opacity .22s ease; will-change: transform; }
.tb-wrap.scrolled .tb-announce{ transform: translateY(-100%); opacity:0; pointer-events:none; }

/* Spacer dinámico */
.tb-spacer{ height: var(--push, 0px); transition: height .22s ease; }

/* Contenedor centrado con padding lateral */
.tb-container{
  max-width: var(--maxw, 1200px);
  margin: 0 auto;
  padding-left: var(--px, 20px);
  padding-right: var(--px, 20px);
}

/* Announcement bar */
.tb-announce{
  background: var(--ann-bg, #1888C5);
  color: var(--ann-txt, #fff);
  font-size: var(--ann-fs, 14px);
}
.tb-announce .tb-container{
  display: grid; place-items: center;
  padding-top: var(--ann-py, 10px);
  padding-bottom: var(--ann-py, 10px);
  text-align: center;
}

/* Header bar */
.tb-bar{
  background: var(--bg, #F9F4EC);
  box-shadow: 0 1px 0 rgba(0,0,0,.06);
}
.tb-bar .tb-container{
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  padding-top: var(--pad-y, 14px);
  padding-bottom: var(--pad-y, 14px);
}

/* CTA izquierda (sin opacidad) */
.tb-buy{
  justify-self: start;
  display: inline-flex; align-items: center; justify-content: center;
  height: 38px; padding: 0 20px;
  background: var(--accent, #F3B823) !important;
  color: var(--txt, #fff) !important;
  border-radius: 999px; font-weight: 600; text-decoration: none;
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
  opacity: 1 !important; filter: none !important;
  font-size: 15px;
}
.tb-buy::before,.tb-buy::after{ content: none !important; background: none !important; }
.tb-buy--disabled{ opacity: .55 !important; cursor: not-allowed; }
.tb-buy:hover{ transform: translateY(-1px); }

/* Logo centro */
.tb-logo{ justify-self: center; display: inline-flex; align-items: center; min-width: 56px; }
.tb-logo-img{ width: var(--w-logo,140px); height: auto; display:block; }
.tb-logo-text{ font-weight: 800; }

/* Carrito derecha */
.tb-cart{
  position: relative;
  justify-self: end;
  display: inline-grid; place-items: center;
  width: 40px; height: 40px;
  color: var(--cart, #111);
  text-decoration: none;
}
.tb-cart-ico{ display:block; }
.tb-badge{
  position: absolute; right: -4px; top: -4px;
  min-width: 18px; height: 18px; padding: 0 5px;
  border-radius: 999px;
  background: var(--accent, #F3B823); color: #fff;
  font-size: 12px; line-height: 18px; font-weight: 800; text-align: center;
}
.tb-stack:not(.has-count) .tb-badge{ display: none; }

/* Responsive */
@media (max-width: 640px){
  .tb-bar .tb-container{
    padding-top: var(--pad-y-mo, 10px);
    padding-bottom: var(--pad-y-mo, 10px);
    gap: 12px;
  }
  .tb-logo-img{ width: var(--w-logo-mo, 110px); }
  .tb-buy{ height: 34px; padding: 0 14px; font-size: 14px; }
}
/* Header (stack) fijo/auto-hide por encima y empujando contenido */
.tb-wrap{ position: relative; z-index: 10000; }
.tb-stack.is-fixed{ position: fixed; top: 0; left: 0; right: 0; width: 100%; z-index: 10000; }
.tb-stack.is-fixed.is-hidden{ transform: translateY(-100%); transition: transform .22s ease; }
.tb-spacer{ display: block !important; height: 0; width: 100%; }

/* ===== Inspirado (.sb-*) ===== */
.sb-wrap{
  background: var(--cream, #F9F4EC);
  padding: var(--padY, 54px) 16px;
}
.sb-inner{
  max-width: var(--maxw, 900px);
  margin: 0 auto;
  text-align: center;
}
.sb-title{
  font-family: 'Mochiy Pop P One', system-ui, sans-serif;
  line-height: 1.05; color:#1a1a1a;
  font-size: clamp(28px, 4.8vw, 40px);
  margin: 0 0 14px;
}
.sb-title .sb-blue{ color: var(--blue, #1888C5); }

.sb-media{
  width: min(var(--imgw, 760px), 100%);
  margin: 0 auto 16px;
  border-radius: var(--radius, 16px);
  overflow: hidden; background:#0001;
  box-shadow: 0 14px 28px rgba(0,0,0,.12);
}
.sb-img{ width:100%; height:auto; display:block; }

.sb-text{
  color: var(--text, #3d3d3d);
  font-size: 15px; line-height:1.8;
  max-width: 760px; margin: 0 auto;
}
.sb-text p{ margin: 0 0 12px; }
.sb-text p:last-child{ margin-bottom: 0; }

/* ===== Reviews (.rv-*) ===== */
.rv-wrap{
  background: var(--bg, #F9F4EC);
  padding: var(--padY, 64px) 16px;
}
.rv-inner{ max-width: var(--maxw, 1080px); margin: 0 auto; }

/* Título dos colores */
.rv-title{
  text-align:center;
  font-family: 'Mochiy Pop P One', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  line-height:1.05;
  margin:0 0 22px;
  font-size:clamp(30px, 5vw, 44px);
  color:#1a1a1a;
}
.rv-title .rv-blue{ color: var(--blue, #1888C5) !important; }

/* Viewport y track (grid desktop / carrusel móvil) */
.rv-viewport{ position:relative; }
.rv-track{ display:grid; gap:20px; }

@media (min-width:900px){
  .rv-track{ grid-template-columns: repeat(3, 1fr); overflow:visible; }
}

@media (max-width:899.98px){
  .rv-track{
    grid-auto-flow: column;
    grid-auto-columns: 85%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding-bottom: 8px;
  }
  .rv-card{ scroll-snap-align: start; }
}

/* Tarjeta */
.rv-card{
  background:#fff;
  border-radius:16px;
  box-shadow:0 12px 28px rgba(0,0,0,.08);
  padding:18px 18px 14px;
  color:var(--text, #3d3d3d);
}

/* Estrellas */
.rv-stars{ display:flex; gap:6px; margin:2px 0 10px; }
.rv-star{ width:20px; height:20px; fill:#F3B823; } /* amarillo de marca */

/* Textos */
.rv-head{ margin:0 0 10px; font-weight:800; font-size:18px; color:#1a1a1a; }
.rv-body{ font-size:14px; line-height:1.7; opacity:.95; }
.rv-body p{ margin:0 0 10px; }
.rv-body p:last-child{ margin-bottom:0; }

/* Footer */
.rv-footer{
  display:flex; align-items:center; justify-content:space-between;
  margin-top:14px;
}
.rv-person{ display:flex; align-items:center; gap:10px; }
.rv-avatar{
  width:34px; height:34px; border-radius:999px; object-fit:cover; background:#eee;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.rv-avatar--ph{ display:inline-block; width:34px; height:34px; border-radius:999px; background:#eee; }
.rv-name{ font-size:13px; font-weight:600; color:#1a1a1a; }

/* Likes / Dislike */
.rv-actions{ display:flex; align-items:center; gap:10px; }
.rv-ico{ width:20px; height:20px; fill:#1a1a1a; opacity:.65; }
.rv-like{
  display:inline-flex; align-items:center; gap:6px;
  background:#fff; border-radius:8px; padding:6px 10px;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
  font-size:12px; font-weight:700;
}
.rv-count{ min-width:1ch; text-align:right; }
.rv-dislike .rv-ico{ opacity:.35; }

/* Flechas del carrusel (solo móvil) */
.rv-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  border:0; background:#fff; width:36px; height:36px; border-radius:999px;
  box-shadow:0 8px 18px rgba(0,0,0,.15);
  display:none; align-items:center; justify-content:center; font-size:22px; line-height:1;
}
.rv-prev{ left:-6px; }
.rv-next{ right:-6px; }
@media (max-width:899.98px){
  .rv-arrow{ display:flex; }
}

/* Evitar franjas entre secciones si el tema mete márgenes */
#MainContent .shopify-section{ margin-top:0; margin-bottom:0; }

/* ========== Micro Memories (tabs) ========== */
.mm-wrap{
  background: var(--cream, #F9F4EC);
  padding: var(--padY, 64px) 16px;
}
.mm-inner{ max-width: var(--maxw, 980px); margin: 0 auto; }

/* Contenedor tipo “pastilla” con 3 columnas iguales */
.mm-tabs{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  background: var(--accent, #F3B823);          /* amarillo */
  padding: 8px;
  border-radius: 999px;
  width: min(100%, 680px);
  margin: 0 auto 22px;                          /* separación con el título */
  box-shadow: 0 10px 22px rgba(0,0,0,.12);
}

/* Botón de tab */
.mm-tab{
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-decoration: none;
  color: #fff;
  font-weight: 800;
  background: transparent;
  border-radius: 999px;
  height: 44px;
  line-height: 1.1;
  padding: 0 10px;
  transition: background .15s ease, color .15s ease, transform .12s ease;
  white-space: normal;                           /* permite dos líneas (“Micro Memories”) */
}
.mm-tab.is-active{
  background: var(--active, #E45530) !important; /* naranja activo */
  color: #fff !important;
}
.mm-tab:focus-visible{ outline: 2px solid #fff; outline-offset: 2px; }

/* Título y texto */
.mm-title{
  text-align: center;
  font-family: 'Mochiy Pop P One', system-ui, sans-serif;
  font-size: clamp(30px, 5vw, 44px);
  line-height: 1.06;
  margin: 12px 0 12px;                           /* título más cerca del texto */
  color: #1a1a1a;
}
.mm-title .mm-blue{ color: var(--blue, #1888C5); }

.mm-text{
  max-width: 840px;
  margin: 8px auto 0;
  text-align: center;
  color: var(--text, #3d3d3d);
  line-height: 1.8;
  opacity: .95;
}
.mm-text p{ margin: 0 0 12px; }
.mm-text p:last-child{ margin-bottom: 0; }

/* ------- Mobile tweaks ------- */
@media (max-width: 480px){
  .mm-tabs{ gap: 6px; padding: 6px; width: 100%; border-radius: 20px; }
  .mm-tab{ height: 46px; font-size: 13px; padding: 0 8px; }
}
/* === Micro Memories: forzar 1 fila horizontal en móvil === */
/* Sobrescribe el grid y deja 3 tabs siempre en línea */
.mm-tabs{
  display: flex !important;              /* antes era grid */
  gap: 8px;
  background: var(--accent, #F3B823);
  padding: 8px;
  border-radius: 999px;
  width: min(100%, 680px);
  margin: 0 auto 22px;
  box-shadow: 0 10px 22px rgba(0,0,0,.12);
}

.mm-tab{
  flex: 1 1 0;                           /* los tres ocupan el mismo ancho */
  min-width: 0;                          /* evita desbordes */
  display: flex; align-items: center; justify-content: center;
  text-align: center;
  text-decoration: none;
  color: #fff;
  font-weight: 800;
  background: transparent;
  border-radius: 999px;
  padding: 0 10px;
  line-height: 1.15;
  height: auto;                          /* deja crecer si el texto ocupa 2 líneas */
  min-height: 44px;                      /* altura base */
  white-space: normal;                   /* permite 2 líneas en “Micro Memories” */
  transition: background .15s ease, color .15s ease, transform .12s ease;
}

.mm-tab.is-active{
  background: var(--active, #E45530) !important; /* naranja activo igual que desktop */
  color: #fff !important;
}

/* Ajustes finos para pantallas muy pequeñas */
@media (max-width: 480px){
  .mm-tabs{ gap: 6px; padding: 6px; }
  .mm-tab{ font-size: 13px; min-height: 48px; padding: 0 8px; }
}

/* (opcional) si quieres MUY compactos en 320px exactos: */
/*
@media (max-width: 360px){
  .mm-tab{ font-size: 12px; min-height: 46px; }
}
*/


/* ===== Product Hero (simple) con nav + zoom ===== */
.phs-wrap{ background: var(--cream,#F9F4EC); }
.phs-inner{
  max-width: var(--maxw,1160px);
  margin: 0 auto;
  padding: 28px 16px 36px;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 46px;
}
@media (max-width: 980px){
  .phs-inner{ grid-template-columns: 1fr; gap: 18px; }
}

/* Media */
.phs-media{
  position: relative;
  display:flex; align-items:center; justify-content:center;
  overflow: hidden; /* necesario para zoom */
  border-radius: var(--radius,16px);
}
.phs-img{ width:100%; height:auto; display:block; transition: transform .12s ease; }

/* Flechas naranja (#E45530) con fallback */
.phs-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border:0; border-radius:999px;
  background:#E45530; color:#fff; cursor:pointer; z-index:2;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 20px rgba(228,85,48,.25);
}
.phs-prev{ left:10px; }
.phs-next{ right:10px; }
.phs-nav-img{ width:18px; height:18px; display:block; }
/* triangulitos si no se suben iconos */
.phs-nav:before{
  content:""; width:0; height:0; border:7px solid transparent;
}
.phs-prev:before{ border-right-color:#fff; }
.phs-next:before{ border-left-color:#fff; }

/* Info */
.phs-info{ align-self:center; }
.phs-title{
  font-family:'Mochiy Pop P One', system-ui, sans-serif;
  font-size: clamp(28px, 4.6vw, 42px);
  line-height:1.1; margin: 4px 0 8px; color:#1a1a1a;
}
.phs-sub{ margin:0 0 12px; color:#6b6b6b; font-size:14px; line-height:1.5; }
.phs-price{ display:flex; align-items:baseline; gap:10px; margin: 2px 0 16px; }
.phs-compare{ color:#9b9b9b; text-decoration: line-through; font-size:16px; }
.phs-now{ color:#1a1a1a; font-weight:800; font-size:20px; }
.phs-form{ margin:0; }
.phs-btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:236px; height:56px; padding:0 18px;
  border:0; border-radius:999px; cursor:pointer;
  background:#E45530; color:#fff; font-weight:800;
  box-shadow:0 10px 20px rgba(228,85,48,.25);
}
.phs-btn[disabled]{ opacity:.5; cursor:not-allowed; }
@media (max-width:980px){ .phs-btn{ width:100%; } }

/* Estados de zoom */
.phs-media.zoomable{ cursor: zoom-in; }
.phs-media.is-zoomed{ cursor: zoom-out; }

/* Modal simple para zoom 'modal' */
.phs-modal{
  position: fixed; inset: 0;
  background: rgba(0,0,0,.75);
  display:flex; align-items:center; justify-content:center;
  z-index: 9999;
}
.phs-modal__in{ max-width: 92vw; max-height: 92vh; }
.phs-modal__in img{ width:100%; height:auto; display:block; border-radius: 8px; }

/* Normaliza los íconos subidos dentro de las flechas */
.phs-nav{ background:#E45530 !important; }
.phs-nav-img{
  width: 20px;            /* tamaño consistente */
  height: 20px;
  display:block;
  object-fit: contain;    /* evita deformaciones */
  /* Convierte iconos negros/a color a blanco */
  filter: brightness(0) invert(1) contrast(110%);
  opacity: 1;
  margin: 0;              /* centra */
}

/* ---- Product Hero (simple) – flechas con SVG subidos ---- */

/* Si alguna vez tuviste chevrons dibujados con CSS, apágalos aquí */
.phs-nav::before,
.phs-nav::after { content: none !important; border: 0 !important; }

/* Botones con tus imágenes (que ya traen el círculo naranja) */
.phs-nav{
  width:56px; height:56px;
  padding:0; border:0; border-radius:999px;
  background:transparent !important;
  box-shadow:none;
  position:absolute; top:50%; transform:translateY(-50%);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; z-index:2;
}
.phs-prev{ left:14px; }
.phs-next{ right:14px; }

/* Imagen interna: sin deformar y con pequeño hover */
.phs-nav-pic{
  width:100%; height:100%;
  object-fit:contain; display:block;
  transform:translateZ(0);
  transition: transform .15s ease;
}
.phs-nav:hover .phs-nav-pic{ transform: scale(1.04); }

@media (max-width:768px){
  .phs-nav{ width:48px; height:48px; }
}

/* Botón Add To Cart sólido (sin opacidad) */
.phs-btn{
  background:#E45530; color:#fff; border:0;
}
.phs-btn:disabled{ opacity:.5; cursor:not-allowed; }

/* Tamaño y posición de las flechas (ligeramente más pequeñas) */
.phs-nav{ width:48px; height:48px; }   /* antes 56px */
.phs-prev{ left:10px; }
.phs-next{ right:10px; }

@media (max-width:768px){
  .phs-nav{ width:42px; height:42px; } /* móvil */
}

/* Más pequeño (desktop) */
section[id^="phs-"].phs-wrap .phs-nav{
  width: 40px;   /* antes 48/56 */
  height: 40px;
}
section[id^="phs-"].phs-wrap .phs-prev{ left: 8px; }   /* antes 10–14px */
section[id^="phs-"].phs-wrap .phs-next{ right: 8px; }

/* Más pequeño (móvil) */
@media (max-width: 768px){
  section[id^="phs-"].phs-wrap .phs-nav{
    width: 36px;   /* antes 42–48 */
    height: 36px;
  }
  section[id^="phs-"].phs-wrap .phs-prev{ left: 6px; }
  section[id^="phs-"].phs-wrap .phs-next{ right: 6px; }
}

/* ===== ICWA · Ajustes finales ===== */

/* Contenedor */
.icwa-section { background: var(--icwa-bg,#F9F4EC); padding: 24px 16px 36px; }
.icwa-container { max-width: 1100px; margin: 0 auto; padding: 0; }

/* --- TARJETAS ----------------------------------------------------------- */
.icwa-cards{
  --icwa-card-h: 72px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;                 /* compactado */
  margin: 0 0 18px 0;        /* solo abajo */
}
.icwa-card{
  position: relative;
  height: var(--icwa-card-h);
  margin: 0; padding: 0;
  border-radius: 6px;
  overflow: hidden;
  background: transparent;
}
.icwa-card img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;         /* recorte suave arriba/abajo para compactar */
  object-position: 50% 50%;
}
.icwa-card-placeholder{
  display:grid; place-items:center;
  color:#777; font-size:14px; padding:36px 12px;
}

/* Responsive tarjetas */
@media (min-width:480px){
  .icwa-cards{ grid-template-columns: 1fr 1fr; }
  .icwa-card:nth-child(3){ grid-column: 1 / -1; }
}
@media (min-width:1024px){
  .icwa-cards{
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;               /* ARREGLADO */
    --icwa-card-h: 56px;     /* compacta un poco en desktop */
  }
  .icwa-card:nth-child(3){ grid-column: auto; }
}

/* --- DESPLEGABLES ------------------------------------------------------ */
.icwa-accordions{ display: grid; gap: 12px; margin: 0; max-width: 100%; }
.icwa-accordion{
  background:#fff;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 2px 0 rgba(0,0,0,.06);
  overflow:hidden;
  margin: 0; width: 100%;
}
.icwa-acc-summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  line-height:1.1;
  font-family: "Mochiy Pop P One", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 16px;
  /* el color se inyecta scoped desde el <style> inline del Liquid */
}
.icwa-acc-summary::-webkit-details-marker{ display:none; }
.icwa-acc-icon{
  width:22px; height:22px; flex:0 0 22px;
  stroke: currentColor; fill:none; stroke-width:2;  /* toma el color del summary */
  transform: rotate(-90deg);
  transition: transform .2s ease;
  opacity:.7;
}
.icwa-accordion[open] .icwa-acc-icon{ transform: rotate(0deg); }

.icwa-acc-panel{
  padding: 10px 16px 16px;
  color:#111;
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
}

/* Botón enlace/archivo */
.icwa-button{
  display:inline-block;
  padding:10px 14px;
  border-radius:10px;
  background:#1E73B7;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  line-height:1;
  transition:opacity .15s;
}
.icwa-button:hover{ opacity:.9; }

/* Compactar ligeramente en mobile/tablet */
@media (max-width: 640px){
  .icwa-cards{ --icwa-card-h: 60px; }
}
@media (min-width: 641px) and (max-width: 1023px){
  .icwa-cards{ --icwa-card-h: 58px; }
}

/* ===== Why Families Love (fondo azul + curvas + acordeones) ===== */

/* Estructura + fondo */
.wg-wrap{
  position: relative;
  background: var(--cream, #F9F4EC);
  overflow: hidden;
}
.wg-bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.wg-bg::before{
  content: "";
  position: absolute;
  inset: 0;
  background: var(--blue, #1888C5); /* azul cubre toda la sección */
}
.wg-curve-top,
.wg-curve-bottom{
  position: absolute;
  left: 0;
  width: 100%;
  height: var(--curve-h, 120px); /* alto visible de cada curva */
  display: block;
}
.wg-curve-top{ top: 0; }
.wg-curve-bottom{ bottom: 0; }
.wg-cream-path{ fill: var(--cream, #F9F4EC); }

/* Contenido */
.wg-inner{
  position: relative;
  z-index: 1;
  max-width: var(--maxw, 980px);
  margin: 0 auto;
  padding: var(--pad-top, 120px) 16px 72px; /* compactado por defecto */
  text-align: center;
}

/* Título principal */
.wg-title{
  margin: 0 0 16px;
  font-family: "Mochiy Pop P One", system-ui, sans-serif;
  font-size: clamp(28px, 4.5vw, 40px);
  line-height: 1.05;
  /* El color se fuerza scoped desde el <style> inline en el Liquid */
}

/* Acordeones */
.wf-accordions{
  display: grid;
  gap: 12px;
  margin-top: 16px;
}
.wf-accordion{
  background:#fff;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.08);
  box-shadow: 0 2px 0 rgba(0,0,0,.05);
  overflow:hidden;
}
.wf-summary{
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 16px;
  font-family: "Mochiy Pop P One", system-ui, sans-serif;
  font-size: 16px;
  font-weight:700;
  line-height:1.2;
  color:#1a1a1a;
}
.wf-summary::-webkit-details-marker{ display:none; }
.wf-icon{
  width:22px; height:22px; stroke: currentColor; fill:none; stroke-width:2;
  transform: rotate(-90deg);
  transition: transform .2s ease;
  opacity:.7;
}
.wf-accordion[open] .wf-icon{ transform: rotate(0deg); }
.wf-panel{
  padding: 12px 16px 16px;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.65;
  color:#333;
}

/* Responsive (opcional) — ajusta altura de curvas/padding en móvil */
@media (max-width: 640px){
  .wg-wrap{
    --curve-h: 100px;
    --pad-top: 100px;
  }
}
/* === Last (imagen con título superpuesto) === */
.last-wrap{ background: var(--cream,#F9F4EC); padding: 40px 16px 48px; }
.last-inner{ max-width: var(--maxw,980px); margin: 0 auto; }

.last-media{
  position: relative;
  width: min(var(--imgw,980px), 100%);
  margin: 0 auto;
  border-radius: var(--radius,16px);
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0,0,0,.14);
}
.last-img{ display:block; width:100%; height:auto; }

.last-title{
  position:absolute;
  left: 24px;
  bottom: 24px;
  max-width: 85%;
  color: var(--title-color,#fff);
  font-family: "Mochiy Pop P One", system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(26px, 4.5vw, 44px);
  line-height: .98;
  
}

/* responsive */
@media (max-width: 600px){
  .last-wrap{ padding: 32px 14px 40px; }
  .last-title{ left: 16px; bottom: 16px; max-width: 92%; }
}
.last-title .last-line{ display:block; }
.last-title{ color: var(--title-color,#fff); font-family:"Mochiy Pop P One",system-ui,sans-serif; }

/* ===== Navegación por anclas (global) ===== */
html{ scroll-behavior: smooth; }

/* Compensa el header fijo al hacer scroll a #id */
:root{ --anchor-offset: 112px; }           /* ajusta a la altura real de tu header */
@media (max-width: 640px){
  :root{ --anchor-offset: 96px; }

}
.wg-bg-svg {
  width: 100% !important;

  min-height: 220px; /* evita que se corte en iPhone */
  display: block;
}
.page-anchor {
  display: block;
  position: relative;
  top: -80px; /* ajusta a la altura de tu header */
  visibility: hidden;
}

.wg-bg{
  width: 100%;
}

.memories-steps,
.sb-wrap,
.icwa-section{
  position: relative;
}

.memories-steps::after{
  content: '';
  width: 90vw;
  height: 1px;
  bottom: 3em;
  margin: 0 auto;
  position: absolute;
  border-top: 2px dashed #d9d9d9;
  left: 0;
  right: 0;
}
.sb-wrap::after{
   content: '';
  width: 90vw;
  height: 1px;
  bottom: 1.5em;
  margin: 0 auto;
  position: absolute;
  border-top: 2px dashed #d9d9d9;
  left: 0;
  right: 0;
}
.icwa-section::after{
     content: '';
  width: 90vw;
  height: 1px;
  bottom: -1em;
  margin: 0 auto;
  position: absolute;
  border-top: 2px dashed #d9d9d9;
  left: 0;
  right: 0;
}

@media (max-width:767px){
  .memories-steps::after{
    bottom: 0.5em;
  }
}

.cmp-wrap{
  padding-bottom: 0 !important;
}

#fp-template--22806649536535__product_card_carousel_Nz4M4d h3::after,
#fp-template--21983596871703__product_card_carousel_qTHybz h3::after{
  content: 'The grab-and-go game for lasting family memories';
  font-size: 14px !important;
  display: inline-block;
  margin-top: 10px;
  font-weight: 400;
  padding: 0 40px;
  font-family: 'Montserrat', sans-serif !important;
}

#fp-template--22806649536535__product_card_carousel_Nz4M4d h3,
#fp-template--21983596871703__product_card_carousel_qTHybz h3{
  display: flex;
  flex-direction: column;
}
.wg-bg-svg{
  position: relative;
  bottom: 200px;
  height: 250%;
}

@media (max-width:767px){
  .wg-bg-svg{
    bottom: 30px;
    height: 85%;
  }

  .wg-inner{
    padding-top: 140px;
  }
}

#wg-template--22806649536535__why_game_J3F8Nt .wg-text{
  margin-bottom: -10px;
}

#wg-template--22806649536535__why_game_J3F8Nt .wg-title{
  display: none !important;
}

@media (max-width: 767px){
  .cta{
    display: flex !important;
    margin-left: 5vw;
  }

  .cards{
    margin-top: 30px !important;
    margin-left: 4vw !important;
  }

  .fp-wrap{
    padding-bottom: 10px !important;
  }

  .wg-inner{
    padding-bottom: 20px;
  }

  .icwa-cards{
    overflow: visible !important;
  }

  .icwa-cards figure{
    height: 65px !important;
    overflow: visible !important;
  }

    .icwa-cards figure img{
      border-radius: 20px !important;
    }
}

.wf-panel{
  text-align: left !important;
  margin-top: -12px !important;
}

.cmp-wrap .cmp-item{
  height: 60px;
display: flex;
align-items: center;
text-align: center;
justify-content: center;
}

/* Scope fuerte por ID del section para evitar overrides del tema */
#tb-{{ section.id }} .tb-bar{
  position: fixed;
  left: 0; right: 0;
  top: var(--ann-h, 0px);
  width: 100%;
  transition: top .22s ease;
  z-index: 10001; /* sobre el contenido, pero debajo de modales */
}

#tb-{{ section.id }}.scrolled .tb-bar{ top: 0; }

#tb-{{ section.id }} .tb-announce{
  transition: transform .22s ease, opacity .22s ease;
  will-change: transform;
}
#tb-{{ section.id }}.scrolled .tb-announce{
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}

/* Spacer bien específico para que no lo pisen */
#tb-{{ section.id }} .tb-spacer{
  height: var(--push, 0px) !important;
  transition: height .22s ease;
}

/* (opcional) Fondo de la barra para que no “transparente” sobre el hero */
#tb-{{ section.id }} .tb-bar{
  background: var(--bg, #fff);
  box-shadow: 0 1px 0 rgba(0,0,0,.06);
}
/* Habilita swipe horizontal sin bloquear el scroll vertical */
.phs-media{
  touch-action: pan-y;
}

.rv-card{
  display: flex;
  flex-direction: column;
}

.rv-body{
  flex: 1;
  margin-bottom: 25px;
}

.rv-footer{
  margin-top: auto;
}

#cmp-template--21983596871703__comparativa_qJXbJN,
#cmp-template--21983597035543__comparativa_99yJtt{
  background: color(srgb 0.976 0.9562 0.9264) !important;
}

@media (max-width:767px){
  #cmp-template--21983597035543__comparativa_99yJtt{
    margin-top: -54px;
  }
  #cmp-template--21983596871703__comparativa_qJXbJN{
    margin-top: -23px;
  }
}

@media (max-width:767px){
  .wg-curve-title-wrap{
    top: 96px;
  }

  .wg-inner{
    margin-top: 25px;
  }
  .mm-inner{
    margin: -47px auto;
  }
}

@media (max-width: 767px){
  .memories-steps .card-grid{
   display: flex;
    flex-direction: row;
    padding: 0;
  }
  .memories-steps .card img.card-img{
    width: 100% !important;
    height: auto !important;
  }
}

.memories-steps picture { display: block; }

@media (max-width:767px){
  .memories-steps .card{
    width: 100%;
  }
  .memories-steps .card picture{
    width: 93%;/* Esto le quita el espacio de ARRIBA al primer párrafo
   que está DENTRO de tu caja .phs-sub */
.phs-sub > :first-child {
  margin-top: 0;
}

/* Esto le quita el espacio de ABAJO al último párrafo
   que está DENTRO de tu caja .phs-sub */
.phs-sub > :last-child {
  margin-bottom: 0;
}
  }
}
