/* Plain pages: Prices, Find us, Book. See design/DESIGN.md section 8. */
.page { padding: 180px var(--inset) 120px; display: grid; gap: 28px; align-content: start; min-height: 100vh; min-height: 100svh; }
.page-title { font-size: clamp(44px, 7vw, 100px); max-width: 1100px; }
.page-lede { max-width: 560px; color: var(--muted); }
.page-actions { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; }

.price-table { max-width: 760px; margin-top: 16px; }
.price-table li { display: grid; grid-template-columns: 1fr auto 96px; gap: 24px; align-items: baseline; padding: 18px 0; border-top: 1px solid var(--hairline); }
.price-table li:last-child { border-bottom: 1px solid var(--hairline); }
.pt-p { font-weight: 800; font-size: 32px; line-height: 32px; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.price-table .meta { text-align: right; }

.page-two { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 72px; }
.page-two > div { display: grid; gap: 28px; align-content: start; }
.find-list { max-width: 640px; }
.find-list li { gap: 12px; flex-wrap: wrap; }
.find-list .link-plain { min-height: 0; }
.find-photo img { width: 100%; height: auto; filter: grayscale(1) contrast(1.08) brightness(.85); }

.resova-space {
  margin-top: 28px; min-height: 720px; max-width: 1100px;
  border: 1px dashed var(--muted); background: var(--panel);
  display: grid; gap: 12px; place-content: center; text-align: center; padding: 40px;
}
.resova-space .body { max-width: 440px; color: var(--muted); }

@media (max-width: 759.98px) {
  .page { padding: 116px var(--inset) 72px; }
  .page-two { grid-template-columns: 1fr; gap: 40px; }
  .price-table li { grid-template-columns: 1fr auto 76px; gap: 14px; }
  .pt-p { font-size: 26px; }
  .resova-space { min-height: 480px; }
  .page-actions .btn-book.is-large { width: 100%; }
  /* Phone and email: a 44px tap area that reaches into the row's own padding, so the rows keep their height. */
  .find-list .link-plain { min-height: 44px; margin: -11px 0; }
}
