/* Reservation paths: scoped to the three reviewed editorial entry pages. */
.booking-path { margin: 1.5rem 0 2.5rem; padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid var(--hair-strong); border-radius: 20px; background: var(--bg-elev); color: var(--ink); }
.booking-path h2 { margin: .5rem 0 1rem; font-size: clamp(1.35rem, 3vw, 1.8rem); line-height: 1.25; }
.booking-path p { margin: 0 0 .8rem; }
.booking-path .booking-path__eyebrow { font-family: var(--f-mono); color: var(--mint-700); font-size: .72rem; letter-spacing: .06em; font-weight: 700; }
.booking-path .booking-path__price { font-size: clamp(1.15rem, 3vw, 1.4rem); color: var(--ink); }
.booking-path__actions { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; margin: 1.25rem 0; }
.booking-path .btn { min-height: 48px; padding: .85rem 1.1rem; font-size: .95rem; text-decoration: none; text-align: center; white-space: normal; }
.booking-path .btn-primary { color: var(--ink); }
.booking-path__direct { min-height: 44px; display: inline-flex; align-items: center; font-size: .95rem; }
.booking-path .booking-path__steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; list-style: none; margin: 1.4rem 0; padding: 0; font-size: .84rem; line-height: 1.45; }
.booking-path__steps li { display: flex; gap: .5rem; }
.booking-path__steps span { flex: 0 0 24px; height: 24px; display: grid; place-items: center; background: var(--bg-soft); border: 1px solid var(--hair); border-radius: 50%; font-family: var(--f-mono); }
.booking-path .booking-path__note { font-size: .82rem; line-height: 1.6; color: var(--ink-2); margin-bottom: 0; }
.booking-path__choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; margin: 1rem 0; }
.booking-path__choices a { display:flex; align-items:center; justify-content:space-between; gap:.5rem; min-height:52px; padding:.8rem; border:1px solid var(--hair-strong); border-radius:10px; text-decoration:none; color:var(--ink); background:var(--bg-soft); font-size:.95rem; }
.booking-path a:focus-visible { outline: 3px solid var(--ocean); outline-offset: 4px; }
@media (max-width:560px) { .booking-path__actions { align-items:stretch; } .booking-path .btn { width:100%; } .booking-path__direct { justify-content:center; width:100%; } .booking-path .booking-path__steps { grid-template-columns:1fr; } .booking-path__choices { grid-template-columns:1fr; } }

/* Compact editorial header keeps the useful next step near the article introduction. */
.booking-entry article > h1 { max-width: 22ch; }
@media (max-width: 560px) {
  .booking-entry main { padding-top: 96px; }
  .booking-entry .breadcrumb { margin-bottom: 16px; font-size: .75rem; gap: .4rem; }
  .booking-entry .breadcrumb .current { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
  .booking-entry article > div:first-child { margin-bottom: 14px; }
  .booking-entry article > h1 { font-size: 1.9rem; line-height: 1.2; margin-bottom: 16px; }
  .booking-entry article > p { font-size: 1rem; line-height: 1.5; margin-bottom: 20px; }
  .booking-entry article > .h-px { margin-bottom: 16px; }
  .booking-entry .blog-content > .booking-path:first-child { margin-top: 0; }
}
