/* Homepage structure and responsive refinements. */
html { background: #fbf9f3; }
.hero h1 { font-size: clamp(40px, 4.25vw, 64px); text-wrap: balance; }
.header-booking { margin-left: auto; }
html:not(.has-dock-navigation) .header-booking { display: none; }
.header-booking { white-space: nowrap; }
.urgent-section { padding-block: 0 24px; }
.urgent-section .urgent-help {
  margin-block: 0;
  padding: 26px 30px;
  border: 1px solid #d6c3ac;
  border-radius: 18px;
  background: linear-gradient(115deg, #eee3d5, #f6eee4);
  color: #332a22;
}
.urgent-section .urgent-help > div { min-width: 0; }
.urgent-section .urgent-help p { color: inherit; }
.urgent-section .urgent-help > a {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 48px;
  padding: 12px 20px;
  border: 1px solid #a36112;
  border-radius: 999px;
  background: #ffad43;
  color: #232323;
  font-size: 16px;
}
.urgent-section .urgent-help > a:hover { background: #f59a26; }
.urgent-section .urgent-help > a:focus-visible { outline: 3px solid #232323; outline-offset: 4px; }
@media (max-width: 700px) {
  .hero h1 { font-size: clamp(34px, 8.3vw, 48px); }
  .urgent-section { padding-block: 4px 0; }
  .urgent-section .urgent-help { padding: 24px; align-items: stretch; }
  .urgent-section .urgent-help > a { align-self: flex-start; }
}
@media (max-width: 370px) {
  .site-header .header-booking { padding: 12px 18px; min-height: 48px; font-size: 16px; }
  .site-header .header-booking > span { display: none; }
}
.footer__socials { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; padding: 20px 0; }
.footer__socials a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: inherit; font-size: 16px; }
.footer__socials svg { flex: none; width: 22px; height: 22px; fill: currentColor; }
.footer__socials a:hover { text-decoration: underline; text-underline-offset: 4px; }
.footer__socials a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.footer__bottom { flex-wrap: wrap; gap: 16px 24px; }
.footer__privacy { display: flex; flex-wrap: wrap; gap: 8px 20px; min-width: 0; }
.footer__privacy a { display: inline-flex; align-items: center; min-height: 44px; }
.footer__privacy a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.not-found-page main { display: grid; align-content: center; gap: 24px; min-height: 90svh; padding-block: 48px; }
.not-found-page h1 { font-size: clamp(36px, 6vw, 72px); }
.not-found-page main > div { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; }
