
/* =========================================================
   V70 — oferta: płynny swipe + brązowe strzałki
   Dotyczy: wizyty, terapie specjalistyczne, masaże
   ========================================================= */

:root{
  --v70-bronze:#987d68;
  --v70-bronze-dark:#806754;
  --v70-card-gap:10px;
}

/* Controls — same appearance on desktop/tablet/mobile */
.visit-slider-controls-v39.offer-controls-v70{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:10px!important;
  margin:14px 0 12px!important;
  position:relative!important;
  z-index:8!important;
}

.visit-slider-controls-v39.offer-controls-v70 button{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  min-height:52px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border-radius:999px!important;
  border:1px solid var(--v70-bronze)!important;
  background:var(--v70-bronze)!important;
  color:#fff!important;
  font-size:1.45rem!important;
  font-weight:500!important;
  line-height:1!important;
  box-shadow:0 10px 24px rgba(98,73,57,.12)!important;
  cursor:pointer!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
  transition:background-color .22s ease, transform .22s ease, box-shadow .22s ease!important;
}
.visit-slider-controls-v39.offer-controls-v70 button:hover{
  background:var(--v70-bronze-dark)!important;
  transform:translateY(-2px)!important;
  box-shadow:0 13px 28px rgba(98,73,57,.17)!important;
}
.visit-slider-controls-v39.offer-controls-v70 button:active{
  transform:scale(.96)!important;
}
.visit-slider-controls-v39.offer-controls-v70 button:focus-visible{
  outline:3px solid rgba(152,125,104,.28)!important;
  outline-offset:3px!important;
}

/* The horizontal surface itself.
   auto = browser can decide pan-x/pan-y naturally; this avoids fighting vertical page scroll. */
[data-v39-slider].offer-slider-v70{
  display:flex!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  gap:var(--v70-card-gap)!important;
  padding:0 0 5px!important;
  margin:0!important;

  touch-action:auto!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-x:contain!important;
  overscroll-behavior-y:auto!important;

  scroll-behavior:auto!important;
  scroll-snap-type:none!important;
  scroll-padding:0!important;

  scrollbar-width:none!important;
  -ms-overflow-style:none!important;

  transform:none!important;
  filter:none!important;
  perspective:none!important;
  contain:layout paint!important;
}
[data-v39-slider].offer-slider-v70::-webkit-scrollbar{
  display:none!important;
}
[data-v39-slider].offer-slider-v70 > *{
  scroll-snap-align:none!important;
  scroll-snap-stop:normal!important;
}

/* Remove expensive transforms/filters from offer cards during horizontal interaction. */
[data-v39-slider].offer-slider-v70 > .visit-card-v38{
  filter:none!important;
  backface-visibility:visible!important;
  will-change:auto!important;
  transform:none;
}
[data-v39-slider].offer-slider-v70.is-user-scrolling-v70 > .visit-card-v38,
[data-v39-slider].offer-slider-v70.is-user-scrolling-v70 > *{
  animation:none!important;
  transition:none!important;
  transform:none!important;
  filter:none!important;
}

/* Entrance only once, when section becomes visible — never while swiping. */
.offer-slider-v70:not(.offer-slider-visible-v70) > .offer-card-v70{
  opacity:0;
  transform:translate3d(0,22px,0);
}
.offer-slider-v70.offer-slider-visible-v70 > .offer-card-v70{
  animation:v70OfferIn 1.05s cubic-bezier(.16,1,.3,1) both;
}
.offer-slider-v70.offer-slider-visible-v70 > .offer-card-v70:nth-child(2){animation-delay:.10s}
.offer-slider-v70.offer-slider-visible-v70 > .offer-card-v70:nth-child(3){animation-delay:.18s}
.offer-slider-v70.offer-slider-visible-v70 > .offer-card-v70:nth-child(4){animation-delay:.26s}

@keyframes v70OfferIn{
  from{opacity:0;transform:translate3d(0,22px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}

/* Desktop: cards can be wider but slider/controls remain usable with mouse/trackpad/arrows. */
@media (min-width:1025px){
  [data-v39-slider].offer-slider-v70 > .visit-card-v38{
    flex:0 0 min(48%,720px)!important;
    min-height:0!important;
    height:auto!important;
  }
  [data-v39-slider].offer-slider-v70.visit-grid-v38--three > .visit-card-v38{
    flex-basis:min(32.5%,560px)!important;
  }
}

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

/* Phone */
@media (max-width:760px){
  :root{--v70-card-gap:8px}

  .visit-slider-controls-v39.offer-controls-v70{
    margin:10px 2px 10px!important;
    gap:8px!important;
  }
  .visit-slider-controls-v39.offer-controls-v70 button{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    font-size:1.35rem!important;
  }

  [data-v39-slider].offer-slider-v70{
    width:100%!important;
    max-width:100%!important;
    padding:0 2px 4px!important;
  }
  [data-v39-slider].offer-slider-v70 > .visit-card-v38{
    flex:0 0 86vw!important;
    width:86vw!important;
    max-width:520px!important;
    min-height:0!important;
    height:auto!important;
    padding:24px 20px!important;
  }

  /* Keep enough of next card visible to communicate swipe. */
  [data-v39-slider].offer-slider-v70 > .visit-card-v38:last-child{
    margin-right:8vw!important;
  }
}

/* User preference */
@media (prefers-reduced-motion:reduce){
  .offer-slider-v70 > .offer-card-v70,
  .offer-slider-v70.offer-slider-visible-v70 > .offer-card-v70{
    opacity:1!important;
    transform:none!important;
    animation:none!important;
    transition:none!important;
  }
}
