.booking-entry {
  max-width: 720px;
  margin: 0 auto;
  padding: 56px 24px 40px;
}

.booking-entry h1 {
  margin: 12px 0;
  font-size: 32px;
  line-height: 1.4;
  letter-spacing: 0;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.booking-entry-lead { margin: 0 0 28px; color: #526762; }
.booking-entry .booking-start { display: flex; width: 100%; min-height: 56px; }
.booking-entry-note { margin: 14px 0 28px; font-size: 14px; color: #526762; }
.booking-entry-hours { margin: 0; padding: 20px 0; border-top: 1px solid #dce7e3; }
.booking-entry-hours div { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 8px 0; }
.booking-entry-hours dt { min-width: 120px; color: #526762; }
.booking-entry-hours dd { margin: 0; font-weight: 600; }
.booking-entry-contact { margin-top: 20px; padding-top: 28px; border-top: 1px solid #dce7e3; }
.booking-entry-contact h2 { font-size: 20px; line-height: 1.5; margin: 0 0 18px; }
.booking-entry-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.booking-entry-links .button { padding: 12px 8px; white-space: normal; text-align: center; min-height: 48px; }
.booking-entry .contact-owner { margin-top: 26px; }
.booking-entry-social { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 18px; font-size: 14px; color: #526762; }
.booking-entry a:focus-visible { outline: 3px solid #168b74; outline-offset: 4px; }

@media (max-width: 540px) {
  .booking-entry { padding: 36px 20px; }
  .booking-entry h1 { font-size: 26px; }
  .booking-entry-links { gap: 8px; }
}
