/* Book-page review popup. Primary buttons inherit the shared site colors. */
.booking-review { width: min(44rem, calc(100% - 2rem)); max-height: calc(100svh - 2rem); overflow: auto; border: 1px solid var(--line); padding: 0; background: var(--paper); color: var(--ink); }
.booking-review::backdrop { background: rgba(24, 35, 56, .78); }
.booking-review-panel { padding: clamp(1.4rem, 5vw, 2.5rem); }
.booking-review .eyebrow { margin: 0 0 1rem; }
.booking-review h2 { margin: 0 0 1rem; font: 400 clamp(2.3rem, 7vw, 3.4rem)/1 var(--serif); letter-spacing: -.05em; }
.booking-review-panel > p:not(.eyebrow) { font: 400 1rem/1.5 var(--sans); }
.booking-review-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.3rem 2rem; margin: 1.8rem 0; padding-block: 1.5rem; border-block: 1px solid var(--line); }
.booking-review-details dt { margin-bottom: .45rem; font: 700 .65rem var(--sans); letter-spacing: .1em; text-transform: uppercase; }
.booking-review-details dd { margin: 0; font: 400 1rem/1.5 var(--sans); overflow-wrap: anywhere; white-space: pre-wrap; }
.booking-review-message { grid-column: 1 / -1; }
.booking-review-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.4rem; }
.booking-review .button { border: 0; cursor: pointer; }
.booking-review-edit { padding: .8rem 0; border: 0; background: transparent; color: var(--ink); font: 700 .75rem var(--sans); text-decoration: underline; text-underline-offset: .25em; cursor: pointer; }
.booking-review-status:empty { display: none; }
.booking-review-status.is-error { color: #9b2046; }
.booking-review [hidden] { display: none !important; }
.booking-review button:disabled, [data-booking-submit]:disabled { opacity: .6; cursor: default; }
@media (max-width: 480px) {
  .booking-review-details { grid-template-columns: 1fr; }
  .booking-review-actions { flex-direction: column-reverse; align-items: stretch; }
  .booking-review-actions .button { justify-content: center; }
}
