/* KMA FISHING CLUB 1.71r80: mobile, keyboard, reduced motion.
   Small, scoped layer; no JS or form/permission changes. */

/* Keyboard-only skip: remains invisible in normal/touch navigation. */
.r80-skip-link {
  position: fixed;
  left: 12px;
  top: -90px;
  z-index: 10001;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 16px;
  border: 2px solid #082f49;
  border-radius: 10px;
  background: #fff;
  color: #082f49;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 3px 12px #082f4933;
  transition: none !important;
}
.r80-skip-link:focus,
.r80-skip-link:focus-visible { top: 12px; outline: 3px solid #0d749f; outline-offset: 2px; }
#main-content:focus { outline: none; }

/* Keyboard users must see focus on actual actions, not only the header nav. */
.page-shell :is(a[href], button, summary, input:not([type=hidden]):not([type=checkbox]):not([type=radio]), select, textarea):focus-visible,
.site-footer :is(a[href], button):focus-visible,
.session-tools :is(a[href], button):focus-visible {
  outline: 3px solid #075985;
  outline-offset: 3px;
  box-shadow: 0 0 0 2px #fff;
}
/* Keep the header's light focus color against its navy background. */
.site-header :is(.primary-nav-link, .brand-wordmark, .brand-icon-link):focus-visible {
  outline: 3px solid #bae6fd;
  outline-offset: 3px;
}

/* A real touch target on commonly used buttons, without adding a new row. */
@media (pointer: coarse) {
  .home-next-trip-actions .trip-compact-action,
  .trip-primary-actions .trip-compact-action,
  .home-message-launch,
  .session-action-stack .header-logout-button {
    min-height: 44px;
  }
}

/* iOS avoids zooming the viewport when the editable input font is >= 16px. */
@media (max-width: 640px) {
  .page-shell :is(input[type=text], input[type=search], input[type=email], input[type=password], input[type=number], input[type=url], input[type=tel], textarea, select) {
    font-size: 16px;
    max-width: 100%;
    box-sizing: border-box;
  }
  .page-shell :is(.flash, .backup-note, .home-next-trip-fact dd) {
    overflow-wrap: anywhere;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .page-shell :is(a, button, summary, .trip-compact-action, .home-message-launch),
  .site-header :is(a, button) {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}
