.modal-content {
  border: none;
  box-shadow: 0 0.5rem 1rem rgba(0,0,0,.1);
  border-radius: 12px;
}

.modal-header { border-bottom: none; padding: 2rem 2rem 1rem 2rem; }
.modal-title { margin: 0; font-weight: 600; }
.btn-close { position: absolute; top: 1rem; right: 1rem; }
.modal-body { padding: 1rem 2rem 2rem 2rem; }

.form-label { font-weight: 500; margin-bottom: 0.5rem; }
.form-control { border: 1px solid #e0e0e0; border-radius: 8px; padding: 0.75rem; font-size: 1rem; }

.room_name{
  font-weight: 700;
  font-size: 1.2rem;
}

.room_info{
  font-size: 0.9rem;
}

/* 에러 메시지 */
#reserveError {
  border: none;
  background-color: #ffeaea;
  color: #d63384;
  border-radius: 8px;
}
/* 로딩 */
#reserveLoading .spinner-border { width: 2rem; height: 2rem; }
#reserveLoading .mt-2 { color: #666; font-size: 0.9rem; }

/* 버튼 */
.btn-reserve {
  width: 200px;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  font-weight: 600;
  border: none;
  border-radius: 50px;
  background-color: #1C99A5;
  transition: all .2s ease;
}
.btn-reserve:hover { background-color: #168a94; transform: translateY(-1px); }

/* 카드 전체 클릭 가능 UX */
.custom-card { cursor: pointer; }

/* 모달 내 날짜 입력 줄이기(반응형) */
#reserveDatePicker {
  font-size: 0.9rem;
  height: 2.75rem;
}

/* input-group 안에서 폭이 쭉 늘어나는 걸 방지 */
.input-group.date-picker .form-control {
  flex: 0 0 auto;                          /* grow 막기 */
  width: clamp(10ch, 30vw, 16ch);          /* 10~16 글자 폭 사이, 화면 30vw 한도 */
  padding: 0.25rem 0.5rem;
}

/* 아주 작은 화면에선 다시 전체폭 사용 */
@media (max-width: 360px) {
  .input-group.date-picker .form-control {
    flex: 1 1 auto;
    width: 100%;
  }
}

/* 모달 내 컨트롤 높이 통일 */
.equalize .form-control,
.equalize .form-select,
.equalize .input-group-text {
  height: 2.75rem;              /* 통일 높이 (원하면 2.5rem/3rem 등으로 조정) */
}

.equalize .input-group-text {
  display: flex;
  align-items: center;          /* 아이콘 수직 가운데 정렬 */
  line-height: 1;               /* 라인높이 영향 제거 */
  padding-top: 0;               /* 세부 조정 (옵션) */
  padding-bottom: 0;            /* 세부 조정 (옵션) */
}

.btn-reserve{
  margin-top: 2rem;
}

/* 커스텀 백드롭 (모달처럼) */
.toast-backdrop{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 1055;
  opacity: 0;
  display: none;
  transition: opacity .15s linear;
}
.toast-backdrop.show{
  display: block;
  opacity: .5;
}

.success_toast {
  background-color: #168a94;
  color:white;
}

.toast-container{
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: fixed;
}