#mini-booking-form,
#mini-booking-form label,
#mini-booking-form input,
#mini-booking-form button {
  color: #241b16;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.1rem;
  letter-spacing: 0px;
}

#mini-booking-form input,
#mini-booking-form select {
  color: #2d2d2e;
  font-weight: 400;
  border-radius: 1.2rem;
  background-color: #fff;
}

#mini-booking-form button {
  color: #fff;
  font-weight: 500;
  line-height: 1.2;
  padding: 1.15rem 1.6rem;
  background-color: #145fe0;
  border-radius: 99rem;
  text-align: center;
}

#mini-booking-form {
  position: relative;
  padding: 2.4rem;
  background-color: hsla(0, 0%, 100%, 0.6);
  backdrop-filter: blur(24px);
  border: 1px solid #f2ede9;
  border-radius: 0.8rem;
}

#mini-booking-form form {
  display: flex;
  align-items: flex-end;
  gap: 2.4rem;
}

#mini-booking-form .hide {
  display: none !important;
}

#mini-booking-form .dates input {
  border: none;
  line-height: 3.98rem;
  width: 11rem;
}

#mini-booking-form .row {
  display: flex;
  gap: 0.8rem;
  align-items: flex-end;
}

#mini-booking-form .loader-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
  z-index: 10;
}

@keyframes spinner {
  0% {
    transform: rotate(0deg) scale(1);
  }
  25% {
    transform: rotate(360deg);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}

#mini-booking-form .loader-overlay__inner {
  display: none;
  /* position: fixed; */
  top: calc(50% - 2rem);
  left: calc(50% - 2rem);
  width: 4rem;
  animation: spinner 2.5s ease infinite;
  /* opacity: 0.9; */
}

#mini-booking-form.loading {
  pointer-events: none;
  cursor: none;
}

#mini-booking-form.loading > *:not(.loader-overlay) {
  opacity: 0.6;
}

#mini-booking-form.loading .loader-overlay__inner {
  display: block;
}

@media screen and (max-width: 1300px) {
  #mini-booking-form form {
    flex-direction: column;
  }

  #mini-booking-form .row:last-of-type,
  #mini-booking-form button {
    width: 100%;
  }

  #mini-booking-form .row:last-of-type {
    display: block;
  }
}

@media screen and (max-width: 600px) {
  #mini-booking-form {
    padding: 1.6rem;
  }

  #mini-booking-form .row {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  #mini-booking-form .row:last-of-type {
    grid-template-columns: 1fr;
  }

  #mini-booking-form .row > *:first-child {
    grid-column: span 2;
  }

  #mini-booking-form .dates input {
    width: 100%;
  }
}
