.rd-booking-error-dialog {
  position: fixed; inset: 0; width: min(520px, calc(100% - 32px)); max-width: none;
  max-height: calc(100dvh - 32px); margin: auto; padding: 24px; overflow: auto;
  box-sizing: border-box; border: 1px solid #bfd2c9; border-radius: 16px;
  background: #fffefb; color: #163d39; box-shadow: 0 20px 80px #092a3055;
}
.rd-booking-error-dialog:not([open]) { display: none; }
.rd-booking-error-dialog::backdrop { background: rgb(8 33 31 / 60%); }
.rd-booking-error-dialog header { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.rd-booking-error-dialog h2 { margin: 0; padding-top: 6px; color: #163d39; font-size: clamp(1.35rem, 4vw, 1.7rem); line-height: 1.25; }
.rd-booking-error-dialog p { margin: 16px 0 24px; line-height: 1.6; overflow-wrap: anywhere; white-space: pre-line; }
.rd-booking-error-dialog button { min-height: 44px; cursor: pointer; font: inherit; }
.rd-booking-error-dialog .rd-booking-error-close {
  display: flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; padding: 0;
  border: 1px solid #bdd1c7; border-radius: 9px; color: #163d39; background: #f0f6f2; font-size: 28px; line-height: 1;
}
.rd-booking-error-dialog .rd-booking-error-accept { width: 100%; padding: 12px 18px; border: 0; border-radius: 9px; color: #fff; background: #195146; font-weight: 700; white-space: normal; }
.rd-booking-error-dialog button:focus-visible { outline: 3px solid #a46424; outline-offset: 3px; }
.rd-booking-field-error { display: block; margin-top: 6px; color: #a32c2c; font-size: .9375rem; font-weight: 600; line-height: 1.45; }
input[aria-invalid="true"], select[aria-invalid="true"], textarea[aria-invalid="true"] { border-color: #b33b31; }
@media (max-width: 600px) {
  .rd-booking-error-dialog { width: calc(100% - 24px); max-height: calc(100dvh - 24px); padding: 18px; border-radius: 12px; }
}
