/* Единый очень светлый фон форм.
   Эталон: визуальный тон формы на 3island.html */

:root {
  --booking-3island-start: #fcfaff;
  --booking-3island-middle: #fff9fc;
  --booking-3island-end: #fffdfd;
  --booking-3island-border: #eee1ea;
  --booking-field-border: #eadde6;
  --booking-shadow: rgba(126, 98, 134, .07);
}

/* Все главные карточки бронирования. */
#booking-root > #booking-form,
#booking-root > form#booking-form,
#booking-form-wrapper,
#order-form-root > form,
#booking-form-placeholder > form,
form#spa-booking-form,
form[data-booking-form] {
  background: linear-gradient(
    135deg,
    var(--booking-3island-start) 0%,
    var(--booking-3island-middle) 56%,
    var(--booking-3island-end) 100%
  ) !important;
  border: 1px solid var(--booking-3island-border) !important;
  border-radius: 1rem !important;
  box-shadow: 0 8px 22px var(--booking-shadow) !important;
}

/* В Cambodia форма находится внутри внешней карточки:
   второй фон ей не нужен. */
#booking-form-wrapper > form#booking-form {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Поля остаются чисто белыми. */
#booking-root input:not([type="radio"]):not([type="checkbox"]),
#booking-root select,
#booking-root textarea,
#booking-form-wrapper input:not([type="radio"]):not([type="checkbox"]),
#booking-form-wrapper select,
#booking-form-wrapper textarea,
#order-form-root input:not([type="radio"]):not([type="checkbox"]),
#order-form-root select,
#order-form-root textarea,
#booking-form-placeholder input:not([type="radio"]):not([type="checkbox"]),
#booking-form-placeholder select,
#booking-form-placeholder textarea,
form#spa-booking-form input:not([type="radio"]):not([type="checkbox"]),
form#spa-booking-form select,
form#spa-booking-form textarea {
  background: #ffffff !important;
  border-color: var(--booking-field-border) !important;
}

/* Светлая карточка итогов. */
#booking-root .booking-total,
#booking-root .booking-card,
#booking-root .rounded-lg.bg-gray-50,
#booking-root .rounded-xl.bg-gray-50,
#booking-form-wrapper .booking-total,
#booking-form-wrapper .booking-card,
#booking-form-wrapper .rounded-lg.bg-gray-50,
#booking-form-wrapper .rounded-xl.bg-gray-50 {
  background: rgba(255, 255, 255, .76) !important;
  border-color: #eee1ea !important;
}

/* Спокойное выделение полей. */
#booking-root input:focus,
#booking-root select:focus,
#booking-root textarea:focus,
#booking-form-wrapper input:focus,
#booking-form-wrapper select:focus,
#booking-form-wrapper textarea:focus {
  outline: none;
  border-color: #d9bdcf !important;
  box-shadow: 0 0 0 3px rgba(217, 189, 207, .20) !important;
}

/* Блок итоговой суммы в старых длинных формах:
   такой же нежный пудрово-розовый, как на 3island. */
#booking-form-wrapper .rounded-lg.bg-gray-50:has(#total-price),
#booking-form-wrapper .rounded-xl.bg-gray-50:has(#total-price) {
  background: linear-gradient(
    135deg,
    #fff2f4 0%,
    #fff7f7 58%,
    #fff1ef 100%
  ) !important;
  border: 1px solid #f6dfe3 !important;
  border-radius: .85rem !important;
  box-shadow: none !important;
}

/* Чуть заметнее цифры итогов, но без тяжёлого контраста. */
#booking-form-wrapper #total-price,
#booking-form-wrapper #prepay-price,
#booking-form-wrapper #due-price {
  color: #1f2937 !important;
  font-weight: 700 !important;
}

/* Итоговая сумма: плоский нежно-розовый блок, как на 3island.
   Без тени, свечения и градиента. */
#booking-form-wrapper .rounded-lg.bg-gray-50:has(#total-price),
#booking-form-wrapper .rounded-xl.bg-gray-50:has(#total-price) {
  background: #fff1f2 !important;
  background-image: none !important;
  border: 1px solid #f6dfe3 !important;
  border-radius: .85rem !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Чёткие, но спокойные цифры итогов. */
#booking-form-wrapper #total-price,
#booking-form-wrapper #prepay-price,
#booking-form-wrapper #due-price {
  color: #1f2937 !important;
  font-weight: 700 !important;
}
