/* Shared mobile presentation for the cart, cart drawer, and checkout. */
.cart-drawer__saving, .cart-drawer__mobile-label { display: none; }
.checkout-order-item__bottom { display: grid; gap: 2px; text-align: right; }
.checkout-order-item__bottom span { color: #62758e; font-size: 10px; font-weight: 700; letter-spacing: 0; text-transform: none; }
.order-product-card__meta { display: flex; flex-wrap: wrap; gap: 0 4px; }
.order-product-card__meta span { color: #62758e; font-size: 10px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.order-product-card__meta span + span::before { content: "· "; }
.checkout-order-item .order-product-card__meta span { color: #62758e; font-size: 10px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.cart-final-address { grid-template-columns: 28px minmax(0, 1fr); }
.cart-final-address .order-address-card__icon { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 9px; background: #eaf3ff; color: #1263e5; }
.cart-final-address .order-address-card__icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cart-final-address .order-address-card__heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.cart-final-address [data-cart-address-summary] { display: grid; gap: 2px; }
.cart-final-address [data-cart-address-summary] span { color: #61748f; }
.checkout-final .order-address-card__icon { display: none; }
@media (max-width: 767px) {
  .order-address-card {
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) !important;
    align-items: start;
    gap: 11px !important;
    min-width: 0;
    margin-block: 8px !important;
    padding: 15px !important;
    border: 1px solid #bad2f8 !important;
    border-radius: 14px !important;
    background: #f1f7ff !important;
  }
  .order-address-card.has-address { border-color: #dbe5f3 !important; background: #fff !important; }
  .order-address-card .order-address-card__icon {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 50%;
    background: #e3efff;
    color: var(--accent, #1763e8);
  }
  .checkout-final .order-address-card__icon { display: grid; }
  .order-address-card .order-address-card__icon svg { width: 21px; height: 21px; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .order-address-card__content { display: grid; min-width: 0; gap: 5px; }
  .order-address-card__heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; margin: 0 !important; }
  .order-address-card__heading h2 { margin: 0 !important; color: #102b59; font-size: 15px !important; font-weight: 800; }
  .order-address-card__heading button { flex: none; font-size: 12px; }
  .order-address-card:not(.has-address) .order-address-card__heading button { min-height: 34px; padding: 7px 11px; border-radius: 9px; background: #1763e8; color: #fff; }
  .order-address-card :is([data-cart-address-summary], [data-address-summary]) { display: grid; gap: 2px; min-width: 0; margin: 0; padding: 0; line-height: 1.4; }
  .order-address-card :is([data-cart-address-summary], [data-address-summary]) strong { color: #1c365b; font-size: 13px; font-weight: 750; }
  .order-address-card :is([data-cart-address-summary], [data-address-summary]) span { color: #63758d; font-size: 12px; overflow-wrap: anywhere; }
  .order-address-card.has-address :is([data-cart-address-summary], [data-address-summary]) span { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

  .order-product-card__meta { display: grid !important; gap: 2px; min-width: 0; }
  .order-product-card__meta span { color: #62758e !important; font-size: 11px !important; font-weight: 500 !important; line-height: 1.35; letter-spacing: 0 !important; text-transform: none !important; overflow-wrap: anywhere; }
  .order-product-card__meta span + span::before { content: none; }
  .order-product-card :is(.cart-page-item__details > span, .cart-item > div > span, .checkout-order-item__content > span) { color: #1763e8; font-size: 10px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }

  .checkout-final .checkout-final__products { margin-block: 8px; padding: 14px !important; border: 1px solid #dbe5f3 !important; border-radius: 13px !important; background: #fff !important; }
  .checkout-final .checkout-final__products .checkout-final__heading { margin-bottom: 5px; }
  .checkout-final .checkout-final__products .checkout-order-item:last-child { border-bottom: 0; }
  .checkout-final .checkout-order-item { grid-template-columns: 72px minmax(0, 1fr); grid-template-areas: "image content" "image price"; align-items: start; gap: 0 12px; min-height: 106px; padding: 12px 0; }
  .checkout-final .checkout-order-item img { width: 72px; height: 72px; border-radius: 10px; background: #f5f9ff; object-fit: contain; }
  .checkout-final .checkout-order-item img { grid-area: image; }
  .checkout-final .checkout-order-item__content { grid-area: content; display: grid; min-width: 0; gap: 3px; }
  .checkout-final .checkout-order-item__content > strong { color: #102b59; font-size: 15px; font-weight: 800; line-height: 1.3; }
  .checkout-final .checkout-order-item__bottom { grid-area: price; display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin-top: 5px; }
  .checkout-final .checkout-order-item__bottom b { color: #102b59; font-size: 16px; font-weight: 850; }
  .checkout-final .checkout-order-item__bottom span { flex: none; color: #536781; font-size: 12px; font-weight: 750; letter-spacing: 0; text-transform: none; }
  .checkout-final .checkout-final__gifts { padding-block: 12px !important; }
  .checkout-final .checkout-final__gifts .cart-page-gifts { margin: 0; padding: 0; border: 0; }
  .checkout-final .checkout-final__gifts .cart-page-gifts h3 { margin-bottom: 6px; }
  .checkout-final #checkout-shop-vouchers { padding-block: 12px !important; }
  .checkout-final #checkout-shop-vouchers .checkout-final__heading { margin-bottom: 7px; }
  .checkout-final #checkout-shop-vouchers .checkout-final__promotion-summary { gap: 3px; }
  .checkout-final #checkout-shop-vouchers.is-applied .checkout-final__promotion-summary strong { color: #168253; }

  .cart-drawer .cart-item { grid-template-columns: 72px minmax(0, 1fr); gap: 12px; padding: 15px 0; }
  .cart-drawer .cart-item img { width: 72px; height: 72px; border-radius: 10px; background: #f5f9ff; object-fit: contain; }
  .cart-drawer .cart-item > div { min-width: 0; gap: 3px; }
  .cart-drawer .cart-item a { color: #102b59; font-size: 15px; font-weight: 800; }
  .cart-drawer .cart-item__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px; margin-top: 5px; }
  .cart-drawer .cart-item__bottom > strong, .cart-drawer .cart-item__bottom .cart-price strong { color: #102b59; font-size: 16px; font-weight: 850; }
  .cart-drawer .cart-item__quantity { margin: 0; }
  .cart-drawer__footer { padding: 11px 16px calc(13px + env(safe-area-inset-bottom)); }
  .cart-drawer__desktop-label { display: none; }
  .cart-drawer__mobile-label { display: inline; }
  .cart-drawer__saving { display: block; margin: 0 0 6px; color: #168253; font-size: 12px; font-weight: 800; }
  .cart-drawer .cart-summary { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 0 0 10px; }
  .cart-drawer .cart-summary span { color: #102b59; font-size: 12px; font-weight: 850; }
  .cart-drawer .cart-summary strong { color: #d71935; font-size: 24px; font-weight: 900; white-space: nowrap; }
  .cart-drawer__actions { display: grid; grid-template-columns: 1fr; gap: 5px; }
  .cart-drawer__actions .button { width: 100%; min-height: 46px; }
  .cart-drawer__actions .button:last-child { order: -1; background: #1763e8; border-color: #1763e8; color: #fff; }
  .cart-drawer__actions .button:first-child { min-height: 30px; padding: 4px; border: 0; color: #1763e8; }

  .checkout-final .order-summary-card .is-total dt { color: #102b59; font-weight: 850; }
  .checkout-final .order-summary-submit { background: #1763e8; border-color: #1763e8; }
}

@media (max-width: 640px) {
  .commerce-page--cart { padding-bottom: calc(142px + env(safe-area-inset-bottom)); }
  .commerce-page--cart .cart-page-item { padding: 13px 14px; }
  .commerce-page--cart .cart-page-item__product { grid-template-columns: 72px minmax(0, 1fr) 24px; gap: 10px; }
  .commerce-page--cart .cart-page-item__image img { width: 72px; height: 72px; border-radius: 10px; }
  .commerce-page--cart .cart-page-item__details > span { color: #1763e8; font-size: 10px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
  .commerce-page--cart .cart-page-item__details > a { font-size: 15px; }
  .commerce-page--cart .cart-page-item__bottom { padding-left: 82px; }
  .commerce-page--cart .cart-price strong, .commerce-page--cart .cart-page-item__bottom > strong { font-size: 16px; }
  .cart-final-voucher > button { padding: 13px 14px; }
  .cart-final-sticky:not([hidden]) { display: grid; gap: 6px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); }
  .cart-final-sticky > span { color: #168253; font-size: 12px; font-weight: 800; }
  .cart-final-sticky > p { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin: 0; color: #102b59; font-size: 12px; font-weight: 850; }
  .cart-final-sticky > p strong { color: #d71935; font-size: 24px; font-weight: 900; }
  .cart-final-sticky > a { width: 100%; min-height: 49px; background: #1763e8; color: #fff; }
  .commerce-page--cart .cart-final-summary .order-summary-submit { display: none; }
}

@media (max-width: 375px) {
  .checkout-final .checkout-order-item { grid-template-columns: 66px minmax(0, 1fr); }
  .checkout-final .checkout-order-item img, .cart-drawer .cart-item img, .commerce-page--cart .cart-page-item__image img { width: 66px; height: 66px; }
  .cart-drawer .cart-item { grid-template-columns: 66px minmax(0, 1fr); }
  .commerce-page--cart .cart-page-item__product { grid-template-columns: 66px minmax(0, 1fr) 22px; gap: 8px; }
  .commerce-page--cart .cart-page-item__bottom { padding-left: 74px; }
}
