/* Touch controls verified against the mobile layouts, including narrow phones. */
.dialog-close,
.photo-prev,
.photo-next {
  min-width: 44px;
  min-height: 44px;
}
@media (max-width: 1100px) {
  .site-header .menu-toggle {
    min-width: 44px;
    min-height: 44px;
    justify-content: center;
  }
  .site-header #main-nav > a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}
@media (max-width: 1100px) {
  .catalog-filters button,
  .events-filters button,
  .sound-toggle,
  .roulette-versions a {
    min-height: 44px;
  }
  .site-header .plans-menu-footer > a,
  .site-header .plans-menu-heading > a {
    min-height: 44px;
  }
  .hero-actions .text-link,
  .detail-hero-actions .text-link,
  .result-actions .text-link,
  .roulette-jump,
  .gallery-bottom .text-link,
  .plan-select,
  .team .text-link,
  .related-plans .section-heading > a,
  .home-discovery .section-heading .text-link {
    min-height: 44px;
    align-items: center;
  }
  .experience-facts > a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  .channel-email > a,
  .channel-phone > a {
    min-height: 44px;
  }
  .footer-top > div > a,
  .footer-bottom > a {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
  .dialog-close,
  .photo-prev,
  .photo-next {
    min-width: 44px;
    min-height: 44px;
  }
}
@media (max-width: 340px) {
  .site-header .brand {
    width: 80px;
  }
  .site-header .header-cta {
    padding-inline: 6px;
  }
}
@media (max-height: 500px) {
  .photo-dialog figure img {
    height: calc(100dvh - 160px);
    max-height: 65dvh;
    object-fit: contain;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Legal navigation in the shared footer. */
.footer-legal {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 20px;
  margin-left: auto;
  margin-right: 152px;
}
.footer-legal a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 12px;
  line-height: 1.4;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.footer-bottom {
  align-items: center;
  flex-wrap: wrap;
}
.footer-legal a:hover,
.footer-legal a[aria-current="page"] {
  color: var(--orange);
}
@media (max-width: 640px) {
  .footer-legal {
    order: 4;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-bottom: 58px;
    gap: 4px 24px;
  }
  .footer-legal a {
    font-size: 12px;
  }
}
