/* Shared product choices: never trap scrolling at a nested list boundary. */
#variant-form.choice-cart-v160[data-choice-enhanced] .choice-groups-v160 {
  overscroll-behavior-y: auto;
}

/* On mobile there is one vertical scroll area: the document itself.
   Keep the existing collapse/open and individual add-to-cart controls. */
@media screen and (max-width: 767px) {
  #variant-form.choice-cart-v160[data-choice-enhanced] .choice-groups-v160 {
    max-height: none;
    overflow: visible;
    overscroll-behavior-y: auto;
  }
}

.sm-mobile-dock { display: none; }
@media screen and (max-width: 1050px) {
  .sf-contact { display: none !important; }
  .sm-mobile-dock {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 80;
    background: #fff;
    box-shadow: 0 -3px 12px #19212d14;
  }
  .sm-mobile-contact {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: #e51e2a;
  }
  .sm-mobile-contact a,
  .sm-mobile-contact a:visited,
  .sm-mobile-contact a:hover,
  .sm-mobile-contact a:focus-visible {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    min-height: 46px;
    padding: 4px 2px;
    color: #fff !important;
    background: transparent !important;
    text-decoration: none;
  }
  .sm-mobile-contact svg { width: 16px; height: 16px; display: block; }
  .sm-mobile-contact small { font-size: 11px; line-height: 1.15; font-weight: 700; color: #fff; }
  .sm-mobile-contact .sm-contact-mark { font-size: 13px; line-height: 1; font-weight: 800; }
  .sm-retail .sm-mobile-bottom {
    position: static;
    display: grid;
    box-shadow: none;
    border-top: 0;
    padding-bottom: calc(4px + env(safe-area-inset-bottom));
  }
  .sm-retail { padding-bottom: calc(112px + env(safe-area-inset-bottom)) !important; }
  .sm-retail .sm-header-core {
    height: auto !important;
    grid-template-rows: auto 40px !important;
    align-items: center;
    row-gap: 8px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .sm-retail .sm-header .sm-logo,
  .sm-retail .sm-header .sm-logo-v139 {
    width: auto !important;
    height: auto !important;
    max-height: 46px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    overflow: hidden !important;
  }
  .sm-retail .sm-header .sm-logo-v139 .sm-logo-art-v139 {
    width: 150px !important;
    max-height: 46px !important;
    overflow: hidden !important;
  }
  .sm-retail .sm-header .sm-logo-v139 .sm-logo-art-v139 img {
    width: auto !important;
    max-width: 150px !important;
    height: auto !important;
    max-height: 46px !important;
  }
  .sm-retail .sm-search { height: 40px !important; }
}
