/* ZENITH SPA | Korean Master | UI/UX polish 01
   Common elements only: typography, footer, mobile navigation. */
:root { color-scheme: light; }
html { scroll-padding-top: var(--header); }
body { word-break: keep-all; }
:where(h1, h2, h3, p, strong, small, address) { overflow-wrap: break-word; }
:where(.btn, .header-contact, .footer-map-link, .text-link, .footer-links a,
       .mobile-menu-item, .bottom-navigation a) { touch-action: manipulation; }
:where(.bottom-navigation a, .mobile-menu-item, .footer-links a, .footer-map-link):focus-visible {
  outline: 2px solid #ceb88b; outline-offset: -3px;
}
@media (min-width: 901px) {
  .desktop-navigation a { font-size: 12px; letter-spacing: .075em; }
  .header-contact { font-size: 13px; }
  .eyebrow { font-size: 12px; }
  .section-heading p { font-size: 15px; line-height: 1.75; }
  .text-link { font-size: 14px; }
  .footer-content { padding-top: 44px; gap: 20px 62px; }
  .footer-logo { font-size: 27px; }
  .footer-main p { font-size: 14px; line-height: 1.75; }
  .footer-address, .footer-hours, .footer-map-link { font-size: 13px; }
  .footer-links { margin-top: 18px; }
  .footer-links a { font-size: 12px; }
  .footer-bottom { margin-top: 23px; padding: 17px 0; font-size: 11px; }
}
@media (max-width: 900px) {
  .mobile-menu { padding-top: 26px; }
  .mobile-menu-item { min-height: 62px; padding: 15px 2px; }
  .mobile-menu-item small { font-size: 12px; }
  .bottom-navigation {
    height: calc(63px + env(safe-area-inset-bottom));
    min-height: calc(63px + env(safe-area-inset-bottom));
  }
  .bottom-navigation a { min-height: 63px; gap: 4px; font-size: 11px; }
  .bottom-navigation a svg { width: 22px; height: 22px; }
  .footer { padding-bottom: calc(63px + env(safe-area-inset-bottom)); }
}
@media (max-width: 600px) {
  .footer-content { padding-top: 34px; gap: 21px; }
  .footer-main p { margin-top: 11px; font-size: 12.5px; line-height: 1.65; }
  .footer-info .eyebrow { font-size: 10.5px; }
  .footer-address { margin-top: 11px; font-size: 12.5px; line-height: 1.65; }
  .footer-address span { margin-top: 4px; }
  .footer-hours { margin-top: 9px; font-size: 12.5px; }
  .footer-map-link { margin-top: 9px; font-size: 12.5px; }
  /* Same destinations are available in the fixed bottom navigation. */
  .footer-links { display: none; }
  .footer-bottom { margin-top: 8px; padding: 15px 0 14px; font-size: 9.5px; line-height: 1.8; }
  .footer-logo { font-size: 26px; }
}
@media (max-width: 360px) {
  .mobile-menu-item { font-size: 20px; }
  .mobile-menu-item small { font-size: 11px; margin-left: 8px; }
  .bottom-navigation a { font-size: 10px; }
}
