/* Star Alliance shared UX, accessibility and mobile fixes. */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
img, video, svg { max-width: 100%; }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid rgba(184, 134, 11, .55); outline-offset: 3px; }

/* Discourage casual copying of site imagery. The protection script handles
   context menus and shortcuts; these rules handle native image gestures. */
body.sa-protected,
body.sa-protected img,
body.sa-protected picture,
body.sa-protected svg {
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}
body.sa-protected img { pointer-events: none; }
body.sa-protected input,
body.sa-protected textarea,
body.sa-protected select,
body.sa-protected [contenteditable="true"] {
  -webkit-user-select: text;
  user-select: text;
}

.skip-link {
  position: fixed;
  left: 12px;
  top: -60px;
  z-index: 100000;
  padding: 10px 14px;
  border-radius: 8px;
  background: #172126;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
.skip-link:focus { top: 12px; }

/* Keep fixed navigation and bottom actions inside the viewport. */
.navbar { min-height: 72px; }
.footer-sticky-strip {
  overflow-x: auto;
  justify-content: space-around;
  gap: 0;
  scrollbar-width: none;
}
.footer-sticky-strip::-webkit-scrollbar { display: none; }
.sticky-item { flex: 1 1 0; min-width: 0; text-align: center; }
.sticky-item a { min-height: 56px; justify-content: center; }
.search-circle { width: 60px; height: 60px; }
.middle-search { top: -15px; }

/* Let the raised search button show naturally above the straight footer bar. */
@media (min-width: 769px) {
  .footer-sticky-strip {
    overflow: visible;
  }
}

/* Prevent long product/category labels from widening the page. */
h1, h2, h3, h4, p, a, span, button { overflow-wrap: anywhere; }
.container, .sa-container { max-width: 100%; }

@media (max-width: 768px) {
  .navbar { height: 68px; padding-inline: 12px !important; }
  .logo-img { max-width: 170px; height: 44px; object-fit: contain; }
  .mobile-sidebar { width: min(88vw, 360px); }
  .footer-sticky-strip { height: 70px; padding-inline: 6px; justify-content: flex-start; }
  .sticky-item { flex: 0 0 84px; min-width: 84px; }
  .sticky-item span { font-size: 10px; white-space: nowrap; }
  .search-circle { width: 58px; height: 58px; }
  .middle-search { top: -15px; }
  .sa-intro-grid, .sa-products-head, .sa-section-heading { display: block; }
  .sa-intro-mark { display: none; }
  .sa-intro-copy h1 { font-size: clamp(2.25rem, 12vw, 3.8rem); }
  #main-content-area { padding-top: 38px; }
  .sa-category-grid, #products-grid { row-gap: 18px; }
  .sa-catalog-intro { margin-top: 68px; padding-bottom: 34px; }
  .sp-product-breadcrumb { margin-top: 82px !important; }
  .sp-page { padding-inline: 12px !important; }
  .promo-box, #navMenuPopup, #loginPopup { max-height: calc(100dvh - 110px); overflow-y: auto; }
}

@media (max-width: 420px) {
  .logo-img { max-width: 145px; }
  .footer-sticky-strip { gap: 0; }
  .sticky-item { flex-basis: 78px; min-width: 78px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
