.booking-availability-check {
  color: #30271f;
  background: #fffaf2;
  border: 1px solid #897765;
  border-radius: 14px;
  margin: 18px 0;
  padding: clamp(12px, 3vw, 22px);
  font-size: 1rem;
  line-height: 1.55;
  min-width: 0;
}
.booking-availability-check h3 { font-size: 1.25rem; margin: 0 0 10px; }
.booking-availability-check h4 { font-size: 1.08rem; margin: 14px 0 8px; }
.booking-availability-check p, .booking-availability-check li { overflow-wrap: anywhere; }
.booking-availability-check button, .booking-availability-check .availability-check-link {
  box-sizing: border-box; min-height: 48px; max-width: 100%; padding: 10px 14px;
  margin: 6px 8px 6px 0; border: 1px solid #5e4936; border-radius: 9px;
  font: inherit; font-weight: 650; color: #fffaf2; background: #483424;
  cursor: pointer; overflow-wrap: anywhere; white-space: normal;
}
.booking-availability-check button:disabled { background: #e4d8c8; color: #554432; border-color: #897765; cursor: default; opacity: 1; }
.booking-availability-check .availability-check-link { display: inline-flex; align-items: center; background: #fffaf2; color: #483424; text-decoration: underline; }
.booking-availability-check :focus-visible { outline: 3px solid #175d8a; outline-offset: 3px; }
.booking-availability-check .availability-check-ack { display: flex; align-items: flex-start; gap: 10px; min-height: 48px; padding: 10px 0; cursor: pointer; }
.booking-availability-check input[type="checkbox"] { flex: 0 0 22px; width: 22px; height: 22px; margin: 2px 0 0; accent-color: #483424; }
.booking-availability-check .availability-check-error { color: #8c2020; font-weight: 650; }
.booking-availability-check .availability-check-status, .booking-availability-check .availability-check-emphasis { font-weight: 650; }
.booking-availability-check article, .booking-availability-check .availability-check-report { border-top: 1px solid #897765; padding: 12px 0; }
.booking-availability-check details { margin: 10px 0; }
.booking-availability-check summary { min-height: 48px; box-sizing: border-box; padding: 11px 0; cursor: pointer; overflow-wrap: anywhere; }
.booking-availability-check .availability-check-history-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.booking-availability-check ul { padding-left: 24px; }
@media (max-width: 440px) {
  .booking-availability-check { margin: 12px 0; padding: 12px; }
  .booking-availability-check button, .booking-availability-check .availability-check-link { width: 100%; margin-right: 0; }
}
