/* Version 1.1.0 repair layer: document scrolling and mobile shopping controls. */
html,
body.site-shell {
  height: auto;
  min-height: 100%;
}

body.site-shell {
  overflow-x: hidden;
  overflow-y: auto;
}

body.site-shell .site-content,
body.site-shell .site-footer {
  position: relative;
  z-index: 1;
}

@media (max-width: 650px) {
  .site-header {
    gap: 12px;
    padding-inline: 14px;
  }

  .brand-lockup {
    gap: 8px;
  }

  .brand-mark {
    height: 22px;
    width: 22px;
  }

  .brand-name {
    font-size: 23px;
  }

  .header-actions {
    gap: 10px;
    margin-left: auto;
  }

  .header-wishlist {
    font-size: 23px;
  }

  .bag-button {
    align-items: center;
    border: 1px solid rgba(0, 39, 44, 0.22);
    gap: 5px;
    min-height: 38px;
    padding: 0 8px;
  }

  .bag-button > span:not(.bag-icon),
  .bag-icon {
    display: inline;
  }

  .bag-icon {
    font-size: 19px;
  }

  .bag-button b {
    flex: 0 0 18px;
    height: 18px;
    width: 18px;
  }

  .product-card-actions {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
    margin-top: 14px;
  }

  .add-button {
    align-items: center;
    background: var(--bloodwine);
    border: 1px solid var(--bloodwine);
    color: var(--ivory);
    justify-content: space-between;
    letter-spacing: 0.11em;
    margin: 0;
    min-height: 44px;
    padding: 0 13px;
    width: 100%;
  }

  .add-button[aria-busy='true'] {
    cursor: progress;
    opacity: 0.78;
  }

  .quick-view-link {
    align-self: flex-start;
    margin: 0;
    padding-bottom: 5px;
  }

  .cart-drawer,
  .wishlist-drawer {
    max-width: none;
    padding: calc(20px + env(safe-area-inset-top, 0px)) 18px calc(16px + env(safe-area-inset-bottom, 0px));
    width: 100vw;
  }

  .cart-drawer-head {
    gap: 15px;
  }

  .cart-drawer-head h2 {
    font-size: 34px;
  }

  .cart-items,
  .wishlist-items {
    margin: 20px 0;
    overscroll-behavior: contain;
  }

  .cart-line,
  .saved-line {
    align-items: flex-start;
    gap: 12px;
  }

  .cart-line img,
  .saved-line img {
    height: 64px;
    width: 54px;
  }

  .cart-line strong,
  .saved-line strong {
    font-size: 20px;
  }

  .cart-drawer-foot {
    background: var(--paper);
    padding-bottom: max(2px, env(safe-area-inset-bottom, 0px));
  }

  .cart-drawer-foot .button {
    min-height: 52px;
  }

  .quick-view-dialog {
    max-height: calc(100dvh - 24px);
    overflow: auto;
    width: calc(100% - 24px);
  }
}

@media (max-width: 380px) {
  .brand-name {
    font-size: 21px;
  }

  .bag-button > span:not(.bag-icon) {
    display: none;
  }
}
