/* Palm mobile — pulse-2017 soft-lean Till from-live v2 */
@media (max-width: 860px) {
  a.skip-link, a.skip {
    min-height: 44px !important;
    padding: 0.65rem 1rem !important;
    display: inline-flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }
  header.site-header a.lockup {
    min-height: 44px !important;
    padding-block: 0.4rem !important;
    display: inline-flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }
  header.site-header .nav-desktop a,
  header.site-header a.nav-bug,
  details.nav-mobile > summary,
  details.nav-mobile .nav-mobile__sheet a {
    min-height: 44px !important;
    min-width: 44px !important;
    padding: 0.55rem 0.65rem !important;
    display: inline-flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }
  /* footer + legal — were ~15–18px */
  footer.site-footer a,
  .footer-nav a,
  .footer-legal a,
  .legal-mail a {
    min-height: 44px !important;
    min-width: 44px !important;
    padding: 0.55rem 0.5rem !important;
    display: inline-flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }
  /* in-body text links (not shop tiles) */
  .ledger-ctas a,
  .get-this-row a,
  .home-cite a,
  .lede a,
  p a:not(.dshop-go):not(.gear-tile):not(.get-this) {
    min-height: 44px !important;
    min-width: 44px !important;
    padding: 0.45rem 0.35rem !important;
    display: inline-flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }
  /* shop/gear tiles: height only — do NOT force inline-flex (blows horizontal rows) */
  a.dshop-go,
  a.gear-tile,
  a.get-this,
  .dshop-go,
  .gear-tile {
    min-height: 44px !important;
    box-sizing: border-box !important;
  }
  summary, details > summary {
    min-height: 44px !important;
    min-width: 44px !important;
    box-sizing: border-box !important;
  }
  input:not([type="hidden"]), select, textarea {
    min-height: 44px !important;
    box-sizing: border-box !important;
  }
  table, .ledger-sheet, .run-grid, .run-strip, main, .site-main, .home-band {
    max-width: 100% !important;
  }
  .run-grid, .gear-row, .take-doors, .shop-grid {
    max-width: 100% !important;
    overflow-x: auto !important;
  }
  img, svg, video { max-width: 100%; height: auto; }
  body { overflow-x: hidden; }
  button, [role="button"], .btn {
    min-height: 44px !important;
    min-width: 44px !important;
  }
  /* cookie-consent overflow contain — additive only, no markup */
  #cookie-consent-banner.cookie-consent,
  #cookie-consent-banner,
  .cookie-consent {
    max-height: none !important;
    width: auto !important;
    left: 0.75rem !important;
    right: 0.75rem !important;
    bottom: 0.75rem !important;
    max-width: calc(100vw - 1.5rem) !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  #cookie-consent-banner .cookie-consent__inner,
  .cookie-consent .cookie-consent__inner {
    flex-wrap: wrap !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    align-items: flex-start !important;
    gap: 0.65rem !important;
  }
  #cookie-consent-banner .cookie-consent__text,
  .cookie-consent .cookie-consent__text {
    flex: 1 1 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  #cookie-consent-banner a,
  .cookie-consent a {
    min-height: 44px !important;
    min-width: 44px !important;
    padding: 0.45rem 0.35rem !important;
    display: inline-flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }
  #cookie-consent-banner .cookie-consent__btn,
  .cookie-consent button,
  button.cookie-consent__btn {
    min-height: 44px !important;
    min-width: 44px !important;
    height: auto !important;
    padding: 0.55rem 0.85rem !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 860px) {
  /* pulse-2017 v3 — nav-mobile summary must not spill past viewport */
  header.site-header {
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: clip !important;
  }
  details.nav-mobile {
    max-width: 100% !important;
    flex-shrink: 1 !important;
  }
  details.nav-mobile > summary {
    min-height: 44px !important;
    min-width: 44px !important;
    padding: 0.5rem 0.3rem !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
  }
}

