/* ===== Reset ===== */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html, body {
  width: 100%;
  height: auto;
  min-height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
  font-family: sans-serif;
  -webkit-overflow-scrolling: touch; /* smooth scrolling on iOS */
}

/* ===== Carousel Container ===== */
.carousel {
  display: flex;
  width: 100vw;
  height: 100vh;
  overflow-x: hidden; /* ⬅️ changed from scroll to hidden */
  scroll-snap-type: none; /* ⬅️ disables snapping */
}
.slide {
  flex: none;
  width: 100vw;
  min-height: 100vh; /* Use min-height to allow extra vertical scroll */
  scroll-snap-align: start;
  background: #f0ede4;
}
.product-view {
  overflow-y: auto;
  max-height: 100vh;
  display: flex;
  flex-direction: column;
  position: relative; /* ← This is what keeps .product-box and others in slide 2 only */
}

.product-scroll {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2vh;
  padding: 5vh 5vw 10vh; /* top, left/right, bottom */
  min-height: 140vh;
  box-sizing: border-box;
}
.product-display {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 3vh;
  margin-bottom: 2vh;
}

.product-img {
  width: 75vw;
  max-width: 400px;
  object-fit: contain;
  display: block;
  position: relative;
  z-index: 1;
}

/* Arrow styling */
.arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 8%;
  max-width: 50px;
  cursor: pointer;
  z-index: 2;
}
.product-display .arrow-left {
  left: -1vw !important;
}

.product-display .arrow-right {
  right: -1vw !important;
}







/* ===== Slide 1: Hero ===== */
.hero {
  overflow-y: auto;
  height: 100vh;
  background: #fff;
  display: flex;
  justify-content: center;
}

.hero-scroll {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start; /* changed from center to top-align */
  padding: 8vh 5vw 5vh;
  gap: 3vh;
  min-height: 100vh;
  width: 100%;
}
.hero-header { width: 80%; }
.hero-shop {
  width: 40vw;
  cursor: pointer;
  margin-top: 4vh; /* ⬅️ Move this number more negative to push it higher */
}
.hero-bottom { width: 60%; }

/* ===== Slide 2: Product ===== */
/* 1) Product frame */
.product-box {
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translateX(-50%);
  width: 75%;
  z-index: 1;
}

/* 2) Tracker bar background */
.tracker-bar {
  position: absolute;
  top: 1%;                 /* bar sits 1% down */
  left: 50%;
  transform: translateX(-50%);
  width: 60%;
  z-index: 1;
}

/* 3) Digit overlay moved below the bar */
.tracker {
  position: absolute;
  top: 12%;                 /* moved down to sit under the bar */
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 0.25rem;
  width: 60%;
  justify-content: center;
  z-index: 2;
}
.digit {
  width: 8%;
  height: auto;
  display: block;
}
.digit-100 {
  width: 12%;
  height: auto;
  display: block;
}

/* 4) Product image */
.product-img {
  width: 75vw;
  max-width: 400px;
  object-fit: contain;
  margin-top: 9vh; /* ⬅️ Move the image down */
  margin-bottom: 2vh;
  display: block;
}

/* 5) Navigation arrows */
.arrow {
  position: absolute;
  top: 53%;
  transform: translateY(-50%);
  width: 8%;
  cursor: pointer;
  z-index: 4;
}
.arrow-left  { left: 4%; display: none; }
.arrow-right { right: 4%; }

/* 6) Price */
.price-svg {
  width: 25vw;
  max-width: 160px;
  margin-top: -5vh;
}

.buy-svg {
  width: 65vw;
  max-width: 300px;
  margin-top: 2vh;
}
.site-footer {
  color: #000;
  font-size: 0.9rem;
  text-align: center;
  margin-top: -10vh;
  padding-bottom: 4vh;
}
