/* --------------------------------------------------------------------------
   Info pages (Legal, Booking policy)
   These pages also load class.css for the header, footer, background and
   policy rows, so this file only adds the page layout.
   -------------------------------------------------------------------------- */
.page-main {
  padding-bottom: 120px;
  /* Fill the screen under the header, so the footer starts just below it */
  min-height: calc(100vh - 90px);
  min-height: calc(100svh - 90px);
}
@media (max-width: 900px) {
  .page-main {
    min-height: calc(100vh - 74px);
    min-height: calc(100svh - 74px);
  }
}

.page-head {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 860px;
}

.page-lead {
  margin: 0;
  max-width: 640px;
  font-size: 17px;
  line-height: 1.65;
  color: #6B5750;
}

.page-body {
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-width: 860px;
}

.page-text {
  margin: 0;
  max-width: 680px;
  font-size: 18px;
  line-height: 1.7;
}

.page-note {
  margin: 0;
  font-size: 15px;
  color: #6B5750;
}

.page-text a,
.page-note a,
.policy-desc a {
  color: var(--rose);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Phone: no booking bar on these pages, so no space kept for it */
@media (max-width: 600px) {
  body {
    padding-bottom: 0;
  }
  .page-main {
    padding-bottom: 72px;
  }
  .page-text {
    font-size: 16px;
  }
}

/* Short pages: title and text sit in the middle of the screen (breadcrumbs stay at the top) */
.page-main > .page-head {
  margin-top: auto;
}
.page-main > .page-body {
  margin-bottom: auto;
}