:root {
  --button-color: #FF6A4D;
  --time-selection-color: #fff;
  --highlight-color: #FF6A4D;
  --default-font-family: Tahoma, Verdana, sans-serif;
}

#table-reservation {
  display: flex;
  justify-content: center;
  padding: 12px;
}

.reservation-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  max-width: 502px;
  align-items: center;
}

.reservation-row {
  display: flex;
  width: 100%;
  justify-content: center;
  gap: 24px;
}

.reservation-input {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  color: #000000;
}

.reservation-time .selected-time {
  display: flex;
  justify-content: center;
  align-items: center;
  max-height: 46px;
  height: 46px;
  padding: 0 8px;
  background-color: #fff;
  border: 1px solid #b3b3b3;
  color: #737373;
  border-radius: 4px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  outline: none;
  background-image: none;
  cursor: pointer;
}

.reservation-time label {
	color: #000000;
}

.reservation-input label {
  margin: 0;
  font-family: var(--default-font-family);
  font-size: 15px;
}

.reservation-row .reservation-input input,
.reservation-row .reservation-input select {
  text-align: center;
  font-family: var(--default-font-family);
  font-size: 15px;
  cursor: pointer;
  appearance: none;
}

.reservation-input input,
.reservation-input select{
  max-height: 46px;
  height: 46px;
  padding: 0 8px;
  background-color: #fff;
  border: 1px solid #b3b3b3;
  color: #737373;
  border-radius: 4px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  outline: none;
  background-image: none;
}

.dp__btn {
  padding: 0;
}

.reservation-input select:focus,
.reservation-input input:focus,
.reservation-input textarea:focus {
  border: 1px solid rgb(25, 103, 210);
  background-color: #fff;
}

.reservation-input textarea {
  height: 110px;
  padding: 10px 8px;
  background-color: #fff;
  border: 1px solid #b3b3b3;
  color: #737373;
  border-radius: 4px;
  resize: none;
  outline: none;
  font-family: var(--default-font-family);
  font-size: 15px;
}

.reservation-date {
  width: calc(100% - 172px);
}

.reservation-date .dp__input_icon {
  display: none;
}

.reservation-options {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}

.reservation-options p {
  color: #fff;
  text-align: center;
}

.reservation-options .reservation-input {
  width: 55px;
  height: 36px;
  margin-bottom: 8px;
}

.reservation-option {
  width: 100%;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--time-selection-color);
  border: 1px solid #00000017;
  border-radius: 6px;
  color: #252525;
  box-shadow: 0 3px 1px #00000014;
}

.reservation-option label {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
}

.reservation-option-selected {
  color: #fff;
  width: 100%;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #00000017;
  background-color: var(--highlight-color);
  border-radius: 6px;
  box-shadow: 0 4px 3px #00000014;
}

.reservation-option-off {
  color: rgb(211 211 211);
  width: 100%;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #00000017;
  background-color: rgb(161 161 161);;
  border-radius: 20px;
}

.reservation-text-input {
  width: 100%;
  max-width: 502px;
}

.reservation-btn {
  height: 40px;
  width: 100%;
}

.reservation-submit {
  background-color: var(--button-color);
  color: aliceblue;
  border: none;
  width: 100%;
  height: 100%;
  padding: 0;
  border-radius: 20px;
  text-align: center;
  font-family: var(--default-font-family);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 0;
  cursor: pointer;
}

.important-note {
  font-weight: 500;
  font-size: 14px;
  font-family: var(--default-font-family);
  line-height: 20px;
  color: #1f1f1f;
  background-color: whitesmoke;
  width: 100%;
  text-align: center;
  padding: 12px;
  border-radius: 6px;
}

.errors {
  display: flex;
  flex-direction: column;
  width: 100%;
  color: #FF6A4D;
  font-family: var(--default-font-family);
  font-size: 15px;
  font-weight: 300;
  font-style: italic;
}


.loading-spinner {
  position: fixed;
  top: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
  background: #00000036;
  z-index: 999;
}
.spinner-round {
  border: 6px solid #0000001a;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border-left-color: rgb(174, 0, 255);
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}




@media only screen and (max-width: 420px) {
  .reservation-row {
    flex-direction: column;
  }
  .reservation-input {
    width: 100%;
  }
}