
/* =========================================================
   V71 — native fluid swipe
   No JS during touchmove. No disappearing cards.
   ========================================================= */

[data-v39-slider].offer-slider-v71{
  display:flex!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  gap:8px!important;

  /* Native iOS/Android horizontal scrolling + momentum. */
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x pan-y!important;
  overscroll-behavior-x:contain!important;
  overscroll-behavior-y:auto!important;

  /* Critical: no snapping/jumping while the finger is moving. */
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
  scroll-padding:0!important;

  /* Do not make the entire scrolling layer a transformed/filtered surface. */
  transform:none!important;
  filter:none!important;
  perspective:none!important;
  contain:none!important;
  will-change:auto!important;

  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
[data-v39-slider].offer-slider-v71::-webkit-scrollbar{
  display:none!important;
}

/* Cards stay rendered 100% of the time.
   Overrides old reveal/hover/interaction systems that could hide them. */
[data-v39-slider].offer-slider-v71 > .offer-card-v71,
[data-v39-slider].offer-slider-v71 > .visit-card-v38,
[data-v39-slider].offer-slider-v71 > *{
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
  scroll-snap-align:none!important;
  scroll-snap-stop:normal!important;
  backface-visibility:visible!important;
  will-change:auto!important;
}

/* Disable old animations/transitions on individual slider cards.
   This removes the "touch -> disappear / stutter -> reappear" effect. */
[data-v39-slider].offer-slider-v71 > .offer-card-v71{
  animation:none!important;
  transition:none!important;
  transform:none!important;
}

/* A very light one-time entrance on the ROW, not on cards.
   It finishes before interaction matters and never repeats. */
[data-v39-slider].offer-slider-v71{
  opacity:0;
}
[data-v39-slider].offer-slider-v71.offer-slider-visible-v71{
  animation:v71RowIn .85s cubic-bezier(.16,1,.3,1) both!important;
}
@keyframes v71RowIn{
  from{opacity:0;transform:translate3d(0,12px,0)}
  to{opacity:1;transform:none}
}

/* Remove hover transforms inside the horizontal sliders on pointer devices too. */
@media (hover:hover) and (pointer:fine){
  [data-v39-slider].offer-slider-v71 > .visit-card-v38:hover{
    transform:none!important;
    filter:none!important;
  }
}

/* Mobile — native swipe area, next card remains visible. */
@media (max-width:760px){
  [data-v39-slider].offer-slider-v71{
    width:100%!important;
    max-width:100%!important;
    padding:0 2px 5px!important;
    gap:8px!important;
  }

  [data-v39-slider].offer-slider-v71 > .visit-card-v38{
    flex:0 0 86vw!important;
    width:86vw!important;
    max-width:520px!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
  }
}

/* iPad / tablet */
@media (min-width:761px) and (max-width:1024px){
  [data-v39-slider].offer-slider-v71 > .visit-card-v38{
    flex:0 0 min(72vw,580px)!important;
    width:auto!important;
    height:auto!important;
    min-height:0!important;
  }
}

@media (prefers-reduced-motion:reduce){
  [data-v39-slider].offer-slider-v71,
  [data-v39-slider].offer-slider-v71.offer-slider-visible-v71{
    opacity:1!important;
    transform:none!important;
    animation:none!important;
    transition:none!important;
  }
}
