/* =========================
   BOOKING PAGE
========================= */

.booking-page {
  min-height: 100svh;

  padding: 88px 20px 28px;

  display: flex;
  align-items: center;
  justify-content: center;
}

.form-box {
  width: 100%;
  max-width: 400px;

  padding: 20px;

  background: #0b0b0b;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;

  box-shadow: 0 20px 60px rgba(0,0,0,.6);
}

.form-box h1 {
  margin: 0 0 6px;

  font-size: 24px;
  font-weight: 400;
  text-align: center;
}

.form-box p {
  margin: 0 0 16px;

  color: #aaa;

  font-size: 14px;
  line-height: 1.35;
  text-align: center;
}

.form-box label {
  display: block;

  margin: 9px 0 5px;

  font-size: 13px;
  color: #ccc;
}

.form-box input,
.form-box select {
  width: 100%;
  max-width: 100%;
  min-width: 0;

  height: 40px;

  padding: 0 14px;

  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;

  background: #151515;
  color: #fff;

  font-size: 15px;

  outline: none;
  box-sizing: border-box;
}

.form-box input:focus,
.form-box select:focus {
  border-color: rgba(255,255,255,.35);
}

input[type="date"] {
  appearance: none;
  -webkit-appearance: none;

  color-scheme: dark;
  cursor: pointer;
}

input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(1);
  cursor: pointer;
  opacity: .85;
}

.checkbox {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;

  margin: 14px 0 !important;

  color: #aaa;

  font-size: 12px;
  line-height: 1.35;
}

.checkbox input {
  width: 16px;
  height: 16px;

  margin-top: 1px;

  flex: 0 0 auto;
}

.form-box button {
  width: 100%;
  height: 40px;

  border: none;
  border-radius: 12px;

  background: #5c1717;
  color: #fff;

  font-size: 15px;
  font-weight: 700;

  cursor: pointer;

  transition: .25s ease;
}

.form-box button:hover {
  background: #751f1f;
  transform: translateY(-2px);
}

.back-button {
  width: 100%;
  height: 40px;

  margin-top: 10px;

  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.08);

  background: #1a1a1a;
  color: #fff;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 14px;
  font-weight: 700;
  text-decoration: none;

  transition:
    background .25s ease,
    transform .25s ease,
    border-color .25s ease;
}

.back-button:hover {
  background: #242424;
  border-color: rgba(255,255,255,.14);
  transform: translateY(-2px);
}

.status {
  margin-top: 12px;

  text-align: center;
  font-size: 13px;
  color: #aaa;
}

/* На странице заявки футер лучше скрыть,
   иначе он добавляет лишнюю высоту и появляется скролл */

.booking-page + .footer {
  display: none !important;
}

/* =========================
   MOBILE
========================= */

@media (max-width: 768px) {

  .booking-page {
    padding: 74px 14px 20px;
  }

  .form-box {
    max-width: 390px;
    padding: 18px;
    border-radius: 16px;
  }

  .form-box h1 {
    font-size: 22px;
  }

  .form-box p {
    margin-bottom: 14px;
    font-size: 13px;
  }

  .form-box label {
    margin: 8px 0 4px;
    font-size: 12px;
  }

  .form-box input,
  .form-box select {
    height: 38px;
    font-size: 14px;
  }

  .form-box button,
  .back-button {
    height: 38px;
  }

  .checkbox {
    margin: 12px 0 !important;
    font-size: 11px;
  }
}