/* Bakery Gray storefront cart. */
.cart-page { padding: 28px 0 44px; }
.cart-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-bottom:18px; color:var(--site-text-soft); font-size:.78rem; }
.cart-breadcrumb a { color:var(--site-primary-dark); font-weight:700; }
.cart-breadcrumb a:hover { text-decoration:underline; }
.cart-heading { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:18px; }
.cart-heading h1 { margin:2px 0 0; color:var(--site-text); font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.9rem,4vw,2.6rem); line-height:1.12; }
.cart-heading__count { color:var(--site-text-soft); font-size:.8rem; font-weight:700; }
.cart-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,340px); gap:24px; align-items:start; }
.cart-items,.cart-summary,.cart-empty { background:var(--site-surface); border:1px solid var(--site-border); border-radius:calc(var(--site-radius) + 2px); }
.cart-update-form { margin:0; }
.cart-item { display:grid; grid-template-columns:112px minmax(0,1fr); gap:15px; padding:16px; border-bottom:1px solid var(--site-border); }
.cart-item:last-of-type { border-bottom:0; }
.cart-item__image-wrap { overflow:hidden; background:var(--site-background); border:1px solid var(--site-border); border-radius:8px; }
.cart-item__image { width:100%; aspect-ratio:1/1; object-fit:cover; }
.cart-item__details { min-width:0; }
.cart-item__title-row { display:flex; justify-content:space-between; gap:16px; }
.cart-item__title-row h2 { margin:0; font-size:1rem; color:var(--site-text); }
.cart-item__option { margin:3px 0 0; color:var(--site-text-soft); font-size:.76rem; }
.cart-item__line-total { flex:0 0 auto; font-size:.95rem; }
.cart-item__quantity { display:flex; align-items:center; gap:8px; margin-top:13px; color:var(--site-text-soft); font-size:.74rem; }
.cart-item__quantity label { font-weight:700; }
.cart-item__quantity input { width:64px; padding:7px 8px; color:var(--site-text); background:var(--site-background); border:1px solid var(--site-border); border-radius:7px; }
.cart-item__remove { margin-top:11px; padding:0; color:var(--site-primary-dark); background:none; border:0; cursor:pointer; font:inherit; font-size:.73rem; font-weight:750; text-decoration:underline; }
.cart-gift-details { display:grid; gap:4px; margin-top:12px; color:var(--site-text-soft); font-size:.75rem; line-height:1.45; }
.cart-gift-details strong { color:var(--site-text); }
.cart-update-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border-top:1px solid var(--site-border); }
.cart-update-actions > a { color:var(--site-primary-dark); font-size:.78rem; font-weight:750; }
.cart-summary { padding:18px; position:sticky; top:18px; }
.cart-summary h2 { margin:0 0 14px; font-size:1rem; }
.cart-summary__row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 0; border-block:1px solid var(--site-border); }
.cart-summary__row strong { font-size:1.15rem; }
.cart-summary p { margin:12px 0 0; color:var(--site-text-soft); font-size:.72rem; line-height:1.5; }
.cart-empty { padding:34px 24px; text-align:center; }
.cart-empty h2 { margin:0; font-size:1.2rem; }
.cart-empty p { margin:7px 0 18px; color:var(--site-text-soft); font-size:.84rem; }
@media (max-width:760px) {
  .cart-layout { grid-template-columns:1fr; }
  .cart-summary { position:static; }
  .cart-item { grid-template-columns:82px minmax(0,1fr); gap:11px; padding:13px; }
  .cart-item__title-row { align-items:flex-start; }
  .cart-update-actions { align-items:stretch; flex-direction:column; }
  .cart-update-actions .button { width:100%; }
}
