/* Picker Container */
/* .picker-container {
  display: flex;
  justify-content: center;
  gap: 12px;
  height: 200px;
  position: relative;
  margin: 20px 0 30px;
  mask-image: linear-gradient(to bottom, transparent, black 40%, black 60%, transparent);
  -webkit-mask-image: linear-gradient(to bottom, transparent, black 40%, black 60%, transparent);
} */
.picker-container {
  display: flex;
  justify-content: center;
  gap: 12px;
  height: 200px;
  position: relative;
  margin: 20px 0 30px;
  mask-image: linear-gradient(to bottom, transparent, black 40%, black 60%, transparent);
  -webkit-mask-image: linear-gradient(to bottom, transparent, black 40%, black 60%, transparent);
  
  /* 드래그 시 텍스트 선택 방지 (중요) */
  user-select: none; 
  -webkit-user-select: none;
}


/* 휠 중앙 하이라이트 바 */
.picker-highlight {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 40px;
  margin-top: -20px;
  background: var(--primary-soft);
  border-radius: 8px;
  z-index: -1;
  pointer-events: none; /* 클릭 통과 */
}

/* 개별 컬럼 (Year, Month, Day) */
.picker-col {
  flex: 1;
  max-width: 100px;
  height: 100%;
  overflow-y: scroll;
  scroll-snap-type: y mandatory; /* 스냅 효과 */
  scrollbar-width: none; /* 파이어폭스 스크롤바 숨김 */
  text-align: center;
  position: relative;
  /* padding: 80px 0; */
  padding: 0; /* JS에서 빈 div로 패딩 처리하므로 0으로 변경 */
  
  /* 마우스 커서 변경 */
  cursor: grab;
}

.picker-col.active {
  cursor: grabbing;
  scroll-snap-type: none; /* 드래그 중에는 스냅 해제하여 부드럽게 */
  scroll-behavior: auto; /* 드래그 중 스무스 스크롤 해제 */
}

.picker-col::-webkit-scrollbar {
  display: none; /* 크롬/사파리 스크롤바 숨김 */
}

/* 숫자 아이템 */
.picker-item {
  height: 40px;
  line-height: 40px;
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--text-muted);
  scroll-snap-align: center; /* 중앙에 멈춤 */
  transition: all 0.2s;
  cursor: pointer;
}

/* 선택된 아이템 (JS로 활성화 클래스 부여 필요, 혹은 중앙 위치 시각적 효과) */
.picker-item.selected {
  color: var(--primary);
  font-weight: 700;
  font-size: 1.25rem;
}

/* 필드 에러 메시지 */
.fieldError {
  text-align: center;
  margin-top: -10px;
  margin-bottom: 20px;
  font-size: 0.88rem;
  color: #b42318;
}

/* 결과 박스 개선 */
.result-card {
  background: white;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 24px;
  text-align: center;
  box-shadow: var(--shadow);
  margin-top: 30px;
}

.result-main-val {
  font-size: 3rem;
  font-weight: 800;
  color: var(--primary);
  line-height: 1;
  margin: 10px 0;
}

.result-label {
  color: var(--text-muted);
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 600;
}

.result-divider {
  height: 1px;
  background: var(--border);
  margin: 20px 0;
}

.result-sub-text {
  font-size: 1.1rem;
  color: var(--text-main);
  font-weight: 600;
}

.result-sub-desc {
  font-size: 0.9rem;
  color: var(--text-muted);
  margin-top: 4px;
}