.sf-cart-page { padding: 34px 0 92px; }
.sf-cart-heading { max-width: 760px; padding: 50px 0 36px; }
.sf-cart-heading h1 { margin: 18px 0 18px; font: 600 clamp(44px, 6vw, 72px)/.98 'DM Sans', Arial, sans-serif; letter-spacing: -.055em; }
.sf-cart-heading > p:last-child { max-width: 620px; color: var(--sf-muted); font-size: 14px; line-height: 1.65; }
.sf-cart-items { display: grid; gap: 14px; }
.sf-cart-item { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; gap: 22px; align-items: center; border-top: 1px solid var(--sf-line); padding: 20px 0; }
.sf-cart-item > img { display: block; width: 150px; max-height: 190px; object-fit: contain; background: #f3f3f1; }
.sf-cart-item-copy h2 { margin: 0 0 8px; font: 600 22px/1.15 'DM Sans', Arial, sans-serif; }
.sf-cart-item-copy p { margin: 0 0 14px; color: var(--sf-muted); font-size: 12px; }
.sf-cart-personalization-block { margin: 14px 0 16px; border-top: 1px solid var(--sf-line); padding-top: 12px; }
.sf-cart-personalization-block h3 { margin: 0 0 8px; color: var(--sf-ink); font: 600 11px 'DM Mono', monospace; letter-spacing: .06em; text-transform: uppercase; }
.sf-cart-personalization { display: grid; gap: 7px; margin: 0; }
.sf-cart-personalization > div { display: grid; grid-template-columns: minmax(120px, .7fr) minmax(0, 1.3fr); gap: 12px; }
.sf-cart-personalization dt { color: var(--sf-muted); font: 10px/1.4 'DM Mono', monospace; }
.sf-cart-personalization dd { margin: 0; color: var(--sf-ink); font: 12px/1.45 'DM Sans', Arial, sans-serif; overflow-wrap: anywhere; }
.sf-cart-personalization-empty { margin: 0 !important; color: var(--sf-muted); font-style: italic; }
.sf-cart-item-copy label { display: flex; align-items: center; gap: 9px; color: var(--sf-muted); font: 10px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .06em; }
.sf-cart-item-copy input { width: 64px; border: 1px solid var(--sf-line); padding: 8px; }
.sf-cart-item-actions { display: grid; justify-items: end; gap: 10px; min-width: 190px; }
.sf-cart-item-actions strong { font: 600 21px 'DM Sans', Arial, sans-serif; }
.sf-cart-item-actions .button { width: 100%; min-width: 190px; }
.sf-cart-item-actions button.text-link { border: 0; background: transparent; cursor: pointer; }
.sf-cart-total { display: grid; grid-template-columns: 1fr auto; gap: 7px 20px; border-top: 2px solid var(--sf-ink); margin-top: 18px; padding-top: 18px; }
.sf-cart-total > span { font: 11px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .08em; }
.sf-cart-total > strong { font: 600 24px 'DM Sans', Arial, sans-serif; }
.sf-cart-total > small { grid-column: 1 / -1; color: var(--sf-muted); font-size: 11px; }
.sf-cart-empty { border-top: 1px solid var(--sf-line); padding: 35px 0 50px; }
.sf-cart-empty h2 { margin: 0 0 8px; }
.sf-cart-empty p { color: var(--sf-muted); }
.sf-add-to-cart { width: 100%; margin-top: 8px; }
@media (max-width: 760px) {
  .sf-cart-item { grid-template-columns: 90px minmax(0, 1fr); align-items: start; }
  .sf-cart-item > img { width: 90px; max-height: 120px; }
  .sf-cart-item-actions { grid-column: 1 / -1; justify-items: stretch; min-width: 0; }
  .sf-cart-item-actions .button { min-width: 0; }
  .sf-cart-personalization > div { grid-template-columns: 1fr; gap: 2px; }
}
