/* Privacy notice and website terms (static text pages), plus the small
   Privacy/Terms link groups added to existing footers. Loaded after
   style.css (and booking.css on the text pages). */

.policy { max-width: 42rem; }
.policy-updated { color: var(--muted); margin-top: 0.6rem; }
.policy h2 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.2rem, 1.7vw, 1.5rem);
  letter-spacing: -0.01em;
  line-height: 1.25;
  margin-top: 2.2rem;
}
.policy p, .policy li { color: var(--text); font-size: clamp(1rem, 1.1vw, 1.1rem); }
.policy p { margin-top: 0.8rem; }
.policy ul { list-style: disc; padding-left: 1.3rem; margin-top: 0.8rem; }
.policy li { margin-top: 0.45rem; }
.policy a { color: var(--text); text-decoration: underline; text-underline-offset: 0.18em; overflow-wrap: anywhere; }
.policy address { font-style: normal; }

/* Footer link groups: readable on dark and light footers, 44px targets */
.footer-legal, .bk-legal { display: flex; flex-wrap: wrap; gap: 0 1.2rem; }
.footer-legal a, .bk-legal a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
}
.footer-bar .footer-legal a { color: #b8b8b8; }
.footer-bar .footer-legal a:hover, .footer-bar .footer-legal a:focus-visible { color: #ebebeb; }
.footer-bar .footer-legal a:focus-visible { outline: 2px solid #ebebeb; outline-offset: 3px; }
.bk-legal a { color: var(--text); }

/* Policy pages only: with very large text the header nav wraps onto its own
   line(s) instead of running off-screen. Uses flex-wrap rather than an em
   media query so it also responds to a root font-size change. */
.policy-header { flex-wrap: wrap; row-gap: 0.2rem; }
.policy-header nav { min-width: 0; }

