/* Prime-Delivery 2.0 mobile-first customer experience. */
.prime-mobile-checkout-actions { display:none; }
.prime-product-choice { display:none; }

@media (max-width: 767px) {
  .myd-products__wrapper .myd-product-item { border-radius:18px; overflow:hidden; background:#fff; }
  .prime-products--modern .myd-product-item { display:grid; grid-template-columns:1fr 108px; gap:14px; align-items:center; padding:16px; margin-bottom:12px; box-shadow:0 6px 22px rgba(0,0,0,.06); }
  .prime-products--modern .myd-product-item__content { min-width:0; }
  .prime-products--modern .myd-product-item__title { font-size:17px; line-height:1.25; margin:0 0 6px; }
  .prime-products--modern .myd-product-item__desc { font-size:12px; line-height:1.45; opacity:.7; margin:0 0 10px; }
  .prime-products--modern .myd-product-item__img { grid-column:2; grid-row:1; width:108px; height:108px; border-radius:16px; overflow:hidden; }
  .prime-products--modern .myd-product-item__img img { width:100%; height:100%; object-fit:cover; }
  .prime-products--modern .myd-product-item__actions { display:flex; align-items:center; justify-content:space-between; gap:8px; }
  .prime-products--modern .myd-product-item__price { font-size:15px; font-weight:800; }
  .prime-products--modern .prime-product-choice { display:inline-flex; align-items:center; justify-content:center; min-width:76px; min-height:38px; padding:0 14px; border:0; border-radius:999px; background:#111; color:#fff; font-weight:800; cursor:pointer; }
  .prime-products--no-image .myd-product-item { display:block; }
  .prime-products--no-image .myd-product-item__img { display:none; }
  .prime-products--no-description .myd-product-item__desc { display:none; }
  .prime-products--no-price .myd-product-item__price { display:none; }
  .prime-products--no-button .prime-product-choice { display:none; }

  /* Full-screen mobile cart/checkout. */
  body.myd-cart-open { overflow:hidden; }
  .myd-checkout.myd-checkout--open { position:fixed !important; inset:0 !important; z-index:99990 !important; width:100vw !important; height:100dvh !important; background:#fff !important; }
  .myd-checkout.myd-checkout--open .myd-cart { width:100% !important; max-width:none !important; height:100dvh !important; max-height:none !important; border-radius:0 !important; display:flex !important; flex-direction:column !important; }
  .myd-checkout.myd-checkout--open .myd-cart__content { flex:1 1 auto; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; padding-bottom:128px; }
  /* On the bag step, keep the order and recommendations in one vertical column. */
  .myd-checkout.myd-checkout--open .myd-cart__content { flex-wrap:wrap; align-content:flex-start; }
  .myd-checkout.myd-checkout--open .myd-cart__products,
  .myd-checkout.myd-checkout--open .prime-mobile-checkout-actions { flex:0 0 100%; width:100%; max-width:100%; box-sizing:border-box; }
  .myd-checkout.myd-checkout--open .myd-cart__nav { flex:0 0 auto; position:sticky; top:0; z-index:3; }
  .myd-checkout.myd-checkout--open .myd-cart__button { position:fixed !important; left:14px !important; right:14px !important; bottom:calc(10px + env(safe-area-inset-bottom)) !important; width:auto !important; min-height:50px !important; z-index:20 !important; border-radius:16px !important; box-shadow:0 8px 24px rgba(0,0,0,.18); }

  .prime-mobile-checkout-actions[hidden] { display:none !important; }
  .prime-mobile-checkout-actions.prime-mobile-checkout-actions--active {
    display:block;
    flex:0 0 100%;
    width:100%;
    padding:8px 0 14px;
    box-sizing:border-box;
  }
  .prime-mobile-add-more { display:block; width:100%; min-height:46px; border:1px solid #d8d8d8; background:#fff; color:#222 !important; border-radius:14px; font-weight:800; font-size:14px; line-height:1.2; text-align:center; -webkit-text-fill-color:#222; appearance:none; -webkit-appearance:none; }
  .prime-mobile-add-more:focus-visible, .prime-mobile-add-more:hover { color:#222 !important; -webkit-text-fill-color:#222; border-color:#c9c9c9; }
  .prime-mobile-recommendations { margin-top:12px; padding:14px; border-radius:18px; background:#f7f7f8; }
  .prime-mobile-recommendations__heading { display:flex; flex-direction:column; gap:2px; margin-bottom:10px; }
  .prime-mobile-recommendations__heading strong { font-size:15px; }
  .prime-mobile-recommendations__heading span { font-size:11px; opacity:.65; }
  .prime-mobile-recommendations__list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
  .prime-mobile-rec { display:flex; flex-direction:column; gap:6px; min-width:0; width:100%; padding:0 0 8px; border:1px solid #e2e2e2; border-radius:14px; background:#fff !important; color:#222 !important; -webkit-text-fill-color:#222; text-align:left; cursor:pointer; overflow:hidden; box-sizing:border-box; box-shadow:0 2px 8px rgba(0,0,0,.04); appearance:none; -webkit-appearance:none; }
  .prime-mobile-rec img, .prime-mobile-rec > span:first-child { width:100%; aspect-ratio:1/1; border-radius:0; object-fit:cover; background:#eee; display:block; }
  .prime-mobile-rec__name { padding:0 8px; font-size:11px; font-weight:800; line-height:1.2; color:#222 !important; -webkit-text-fill-color:#222; }
  .prime-mobile-rec__price { padding:0 8px; font-size:10px; font-weight:700; color:#555 !important; -webkit-text-fill-color:#555; }
  .prime-mobile-rec:hover, .prime-mobile-rec:focus-visible, .prime-mobile-rec:active { background:#fff !important; color:#222 !important; -webkit-text-fill-color:#222; border-color:#d0d0d0; }

  /* Keep desktop untouched: all mobile presentation is opt-in above. */
}


/* Alcohol age confirmation */
.prime-alcohol-confirmation[hidden] {
  display: none !important;
}
.prime-alcohol-confirmation {
  margin: 14px 0 8px;
  padding: 12px 14px;
  border: 1px solid #e0b3b3;
  border-radius: 14px;
  background: #fff8f8;
}
.prime-alcohol-confirmation__label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
  cursor: pointer;
}
.prime-alcohol-confirmation__checkbox {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  margin-top: 1px;
}
.prime-alcohol-confirmation__notice {
  margin: 8px 0 0;
  font-size: 11px;
  line-height: 1.45;
  opacity: .78;
}
.prime-alcohol-confirmation__error {
  margin-top: 8px;
  font-size: 12px;
  font-weight: 700;
  color: #b42318;
}
.prime-alcohol-confirmation.prime-alcohol-confirmation--error {
  border-color: #d92d20;
}
