/* RC-13 restores a theme-independent public booking layout contract. */
.tiakari-booking-form {
  display: block !important;
  width: 100%;
  max-width: 76rem;
  overflow-wrap: normal;
  word-break: normal;
}

.tiakari-booking-form .tiakari-booking-upper {
  display: grid !important;
  grid-template-columns: minmax(0, .85fr) minmax(18rem, 1.15fr) !important;
  gap: clamp(1rem, 3vw, 2rem);
  align-items: start;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.tiakari-booking-form .tiakari-booking-upper > .tiakari-booking-choices,
.tiakari-booking-form .tiakari-booking-upper > .tiakari-availability-calendar,
.tiakari-booking-form .tiakari-booking-upper > .tiakari-calendar-prompt {
  grid-area: auto !important;
  align-self: stretch;
  justify-self: stretch;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.tiakari-booking-form .tiakari-booking-choices,
.tiakari-booking-form .tiakari-booking-choices > *,
.tiakari-booking-form .tiakari-calendar-heading,
.tiakari-booking-form .tiakari-calendar-heading > *,
.tiakari-booking-form .tiakari-booking-availability,
.tiakari-booking-form .tiakari-booking-details,
.tiakari-booking-form .tiakari-link-recovery {
  min-width: 0;
}

.tiakari-booking-form .tiakari-booking-choices input:not([type="radio"]),
.tiakari-booking-form .tiakari-booking-choices select,
.tiakari-booking-form .tiakari-booking-choices button {
  width: 100%;
  max-width: 100%;
}

.tiakari-booking-form .tiakari-public-calendar {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.tiakari-booking-form .tiakari-booking-availability,
.tiakari-booking-form .tiakari-link-recovery {
  grid-area: auto !important;
  display: block;
  clear: both;
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

.tiakari-booking-form .tiakari-booking-availability {
  margin-top: 1.5rem;
}

.tiakari-booking-form .tiakari-link-recovery {
  margin-top: 1.5rem;
}

@media (max-width: 900px) {
  .tiakari-booking-form .tiakari-booking-upper {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .tiakari-booking-form .tiakari-booking-upper > .tiakari-booking-choices,
  .tiakari-booking-form .tiakari-booking-upper > .tiakari-availability-calendar,
  .tiakari-booking-form .tiakari-booking-upper > .tiakari-calendar-prompt {
    grid-column: 1;
  }
}
