/* K.Daily V29 - accessible shopping bag scrolling + iPhone layout */
#cartDrawer.drawer {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100vw;
  max-height: 100dvh;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
}
#cartDrawer .drawer-head {
  position: sticky;
  top: 0;
  z-index: 5;
  flex: 0 0 auto;
  min-width: 0;
  background: #fffcf8;
}
#cartDrawer .cart-lines {
  flex: 0 0 auto;
  min-width: 0;
  overflow: visible;
}
#cartDrawer .cart-foot {
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  padding-bottom: max(28px, calc(env(safe-area-inset-bottom, 0px) + 22px));
}
#cartDrawer .cart-foot *,
#cartDrawer .cart-lines * {
  box-sizing: border-box;
}
#cartDrawer .cart-item {
  grid-template-columns: 80px minmax(0, 1fr);
  min-width: 0;
}
#cartDrawer .cart-item > div {
  min-width: 0;
  overflow-wrap: anywhere;
}
#cartDrawer .cart-foot .totals,
#cartDrawer .bag-shipping-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, auto);
  align-items: start;
  column-gap: 12px;
  min-width: 0;
}
#cartDrawer .totals > *,
#cartDrawer .bag-shipping-row > * {
  min-width: 0;
  overflow-wrap: anywhere;
}
#cartDrawer #subtotal,
#cartDrawer #bagDeliveryEstimate,
#cartDrawer #bagCartTotal {
  text-align: right;
  white-space: nowrap;
}
#cartDrawer .bag-postal-wrap,
#cartDrawer .bag-postal-row,
#cartDrawer .bag-auto-region,
#cartDrawer .kd-express-consent {
  min-width: 0;
  max-width: 100%;
}
#cartDrawer .bag-postal-row input,
#cartDrawer .kd-express-extras input {
  min-width: 0;
  max-width: 100%;
}
#cartDrawer #kdExpressCheckoutButton {
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 50px;
  padding: 13px 12px;
  white-space: normal;
  overflow-wrap: anywhere;
}
@media (max-width: 720px) {
  #cartDrawer.drawer {
    width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
  }
  #cartDrawer .drawer-head {
    padding: 18px 18px;
  }
  #cartDrawer .cart-lines {
    padding: 16px 18px;
  }
  #cartDrawer .cart-foot {
    padding: 17px 18px max(28px, calc(env(safe-area-inset-bottom, 0px) + 22px));
  }
  #cartDrawer .cart-item {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 12px;
  }
  #cartDrawer .cart-item img {
    width: 72px;
    max-width: 100%;
    height: 94px;
  }
  #cartDrawer #bagPostal,
  #cartDrawer #kdCheckoutSocial {
    font-size: 16px;
  }
  #cartDrawer #kdExpressCheckoutButton {
    position: sticky;
    bottom: max(6px, env(safe-area-inset-bottom, 0px));
    z-index: 3;
    background: #594236;
    color: #fff;
    box-shadow: 0 3px 14px rgba(65, 42, 30, .15);
  }
}
@media (prefers-reduced-motion: reduce) {
  #cartDrawer.drawer { scroll-behavior: auto; }
}