.custom-input {
  width: 100%;
  height: 48px;
  padding: 15px 15px 14px;
  border-radius: 5px;
  border: solid 0.8px rgba(0, 0, 0, 0.12);
  background-color: rgba(249, 249, 249, 0.5);
  outline: none;
}
.custom-input.active,
.custom-input:focus {
  border: solid 0.8px #000;
  background-color: #ffffff;
}

.custom-input-rounded {
  width: 100%;
  height: 55px;
  padding: 16px 100px 15px 30px;
  border-radius: 27.5px;
  border: solid 1.5px #377dff;
  background-color: #fff;
  font-size: 18px;
}

.custom-input-rounded:focus + button {
  display: block;
}

.custom-button {
  border: none;
  height: 50px;
  padding: 16px 16px 15px;
  border-radius: 5px;
  background-color: #377dff;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
}

.custom-button.info {
  background-color: #d9d9d9;
}

.custom-button:disabled {
  background-color: #c3d8ff;
}

.custom-button.info:disabled {
  background-color: #d9d9d9;
}

.custom-button-ractangle {
  width: 110px;
  height: 31px;
  border: solid 0.5px #008fff;
  background-color: rgba(0, 143, 255, 0.08);
  font-size: 14px;
  color: #5fb9ff;
  border-radius: 5px;
}

.tag {
  width: 28px;
  padding: 1px 5px;
  border-radius: 3px;
  background-color: #377dff;
  display: block;
  text-align: center;
  font-size: 9px;
  font-weight: 500;
  color: #fff;
}
.button-radio {
  width: 100%;
}

.button-radio span {
  width: 100%;
  height: 41px;
  padding: 13px 15px;
  border-radius: 5px;
  border: solid 1px #dbdbdb;
  background-color: #fff;
  display: block;
  text-align: center;
  font-size: 13px;
  font-weight: 500;
  text-align: center;
  color: #4b4b4b;
  cursor: pointer;
}
.button-radio input:checked + span {
  background: #377dff;
  color: #fff;
}
.button-radio input {
  display: none;
}

.button-checkbox-but-single {
  display: block;
  width: 155px;
  height: 40px;
}
.button-checkbox-but-single .bg {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0 15px;
  border-radius: 5px;
  font-size: 15px;
  font-weight: 600;
  color: #000;
  cursor: pointer;
  border: solid 1px #dbdbdb;
  background-color: #f4f4f4;
}
.button-checkbox-but-single input {
  display: none;
}
.button-checkbox-but-single span {
  display: block;
  width: 22px;
  height: 22px;
  margin: 0 10px 0 0;
  object-fit: contain;
  border-radius: 11px;
  border: solid 2px #dedede;
  background-color: #fff;
  position: relative;
}
.button-checkbox-but-single input:checked + .bg {
  background-color: #377dff;
  border-color: #377dff;
  color: #fff;
}
.button-checkbox-but-single input:checked + .bg span:before {
  content: "";
  display: block;
  width: 8px;
  height: 5px;
  border: 3px solid #377dff;
  border-top: none;
  border-right: none;
  transform: rotate(-45deg);
  position: absolute;
  top: 4px;
  left: 4px;
}
.calendar-deem deem {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  display: none;
}
.calendar-wrap {
  display: none;
  width: 450px;
  padding: 0 50px 50px;
  border-radius: 15px;
  box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.15);
  background-color: #fff;
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 9999;
  transform: translate(-50%, -50%);
}
#closeCalendar {
  position: absolute;
  top: 25px;
  right: 55px;
  width: 24px;
}

.calendar-title {
  font-size: 22px;
  font-weight: 600;
  color: #000;
  text-align: center;
  padding-top: 45px;
}
.calendar-category {
  font-size: 18px;
  font-weight: 600;
  color: #000;

  padding-top: 30px;
}

.calendar {
  margin-top: 16px;
  width: 350px;
  padding: 0 15px 39px;
  border-radius: 5px;
  border: solid 0.8px #000;
  background-color: #fff;
}

.calendar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 25px 0;
}
.calendar-btns {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0 10px;
}

#currentDate {
  font-size: 18px;
  font-weight: 600;
  color: #212121;
}

.calendar-days {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #f4f4f4;
  text-align: center;
  padding: 24px 0 39px;
}

.calendar-day {
  width: 60px;
  font-size: 16px;
  font-weight: 600;
  color: #377dff;
}

.calendar-dates {
  display: grid;
  text-align: center;
  grid-template-columns: repeat(7, 1fr);

  gap: 39px 0;
}

.calendar-date {
  width: 45px;
  font-size: 16px;
  color: #212121;
  position: relative;
  cursor: pointer;
}

.calendar-date.selected .calendar-date-inner {
  width: 40px;
  height: 40px;
  background-color: #007bff;
  color: #fff;
  margin: auto;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.calendar-date.disabled {
  color: #999;
  cursor: not-allowed;
}

.calendar-date.today {
  font-weight: 800;
  color: #000;
}

.calendar-time-picker {
  display: flex;
  justify-content: space-between;
  gap: 0 22px;
  padding-top: 20px;
}
.calendar-time-desc {
  font-size: 14px;
  font-weight: normal;
  color: #4b4b4b;
  display: flex;
  align-items: center;
  gap: 0 5px;
  padding-top: 15px;
}
.calendar-time-desc img {
  width: 22px;
}

.calendar-wrap .custom-button {
  width: 320px;
  height: 48px;
  font-size: 16px;
  margin: 60px auto 0;
  display: block;
}

.custom-select {
  width: 100%;
  position: relative;
}

.select-selected {
  width: 100%;
  height: 41px;
  padding: 13.5px 15px 12.5px 20px;
  border-radius: 5px;
  border: solid 1px #dbdbdb;
  background-color: #fff;
  font-size: 13px;
  cursor: pointer;
  background: url("../images/icon-ic-dropdown@3x.png") no-repeat right 15px
    center;
  background-size: 7px 11px;
}

/* 옵션 목록 스타일 */
.select-options {
  display: none;
  width: 100%;
  height: 200px;
  overflow-y: auto;
  border-radius: 5px;
  box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.2);
  background-color: #fff;
  z-index: 999;
  font-size: 13px;
  font-weight: 500;
  color: #4b4b4b;
  position: absolute;
  top: 0;
  left: 0;
}

/* 옵션 항목 스타일 */
.select-options li {
  padding: 10px;
  cursor: pointer;
}

/* 마우스 오버 시 옵션 항목 스타일 */
.select-options li:hover {
  color: #377dff;
  font-weight: bold;
}

/* 라디오 버튼 및 체크박스 스타일 */
.custom-input-wrap input {
  display: none; /* 기본 input 요소 숨김 */
}

.custom-label {
  cursor: pointer;
  display: flex;
  align-items: center;
  font-size: 13px;
  font-weight: 500;
  color: #4b4b4b;
}

.custom-input[type="radio"] + .custom-label span {
  width: 16px;
  height: 16px;
  border-radius: 100%;
  display: block;
  border: 2px solid #000;
  background-color: #fff;
  position: relative;
}

.custom-input[type="radio"]:checked + .custom-label span::before {
  content: "";
  display: block;
  background-color: #000;
  border-color: #000;
  width: 12px;
  height: 12px;
  display: block;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.custom-input[type="checkbox"] + .custom-label span {
  width: 22px;
  height: 22px;
  border-radius: 100%;
  display: block;
  border: 2px solid #377dff;
  background-color: #fff;
  position: relative;
  margin-right: 10px;
}

.custom-input[type="checkbox"]:checked + .custom-label span::before {
  content: "";
  display: block;
  width: 8px;
  height: 4px;
  display: block;
  border: 2px solid #377dff;
  border-top: none;
  border-right: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -69%) rotate(317deg);
}

.custom-toggle {
  display: block;
  width: 39px;
  height: 24px;
  border-radius: 18px;
  overflow: hidden;
  cursor: pointer;
}
.custom-toggle input {
  display: none;
}
.custom-toggle span {
  display: block;
  width: 100%;
  height: 100%;
  background: #ebebeb;
  position: relative;
}
.custom-toggle span:before {
  display: block;
  content: "";
  width: 18px;
  height: 18px;
  background: #fff;
  border-radius: 100%;
  position: absolute;
  top: 3px;
  left: 3px;
  box-shadow: 2px 0 2px 0 rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
}

.custom-toggle input:checked + span {
  background: #377dff;
}

.custom-toggle input:checked + span:before {
  left: 15px;
  box-shadow: -2px 0 2px 0 rgba(0, 0, 0, 0.1);
}

.custom-button.rounded {
  border-radius: 999px;
  height: auto;
  padding: 6px 9px !important;
  font-size: 11px !important;
}

.custom-button.rounded.line {
  background-color: #fff;
  color: #377dff;
  border: 1px solid #377dff;
}

#goods-reservation span{
  border-color: #E63757;
  color: #E63757;
}