/* rtp-wheel.css — Scroll-snap DOB wheel picker */

.rtp-wheel {
  display: flex;
  gap: 0;
  position: relative;
  overflow: hidden;
  height: 280px;
  margin: 24px 0;
}

.rtp-wheel__col {
  flex: 1;
  overflow-y: scroll;
  scroll-snap-type: y mandatory;
  height: 280px;
  padding: 112px 0; /* (280 - 56) / 2 = 112px top/bottom padding for centering */
  list-style: none;
  margin: 0;
  -webkit-overflow-scrolling: touch;
  /* Hide scrollbar */
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.rtp-wheel__col::-webkit-scrollbar {
  display: none;
}

.rtp-wheel__col li {
  scroll-snap-align: center;
  height: 56px;
  line-height: 56px;
  font-size: 18px;
  text-align: center;
  color: #aaa;
  cursor: pointer;
  user-select: none;
  transition: color 0.15s, font-weight 0.15s;
}

.rtp-wheel__col li:focus {
  outline: none;
}

/* Visual center highlight — handled by JS class or position-based CSS */
/* The guide element provides the orange border at center */

.rtp-wheel__guide {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 56px;
  transform: translateY(-50%);
  border-top: 2px solid var(--rtp-orange, #ff6b35);
  border-bottom: 2px solid var(--rtp-orange, #ff6b35);
  pointer-events: none;
  z-index: 2;
}

/* Fade top and bottom to indicate scroll */
.rtp-wheel::before,
.rtp-wheel::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 112px;
  z-index: 1;
  pointer-events: none;
}

.rtp-wheel::before {
  top: 0;
  background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
}

.rtp-wheel::after {
  bottom: 0;
  background: linear-gradient(to top, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
}

@media (prefers-reduced-motion: reduce) {
  .rtp-wheel__col {
    scroll-behavior: auto;
  }
}
