.cart-page { margin:0; background:#fff; color:#292929; font:14px/1.55 "Manrope",Arial,sans-serif; }
.cart-wrap,.cart-wrap * { box-sizing:border-box; }
.cart-wrap { max-width:1260px; margin:auto; padding:32px 32px 64px; }
.cart-wrap [hidden] { display:none !important; }
.cart-wrap a { color:inherit; text-decoration:none; }
.cart-wrap a:hover { color:#f00; }
.cart-wrap :is(button,input,select) { font:inherit; }
.cart-wrap :is(a,button,input,select):focus-visible { outline:2px solid #3b2a22; outline-offset:3px; }
.cart-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:20px; }
.cart-heading h1 { margin:0 0 12px; font:500 clamp(30px,3.5vw,44px)/1.15 "Manrope",Arial,sans-serif; letter-spacing:-.035em; }
.cart-heading p { margin:0; max-width:660px; color:#656560; }
.cart-heading > a { flex-shrink:0; padding-block:10px; }
.cart-status { min-height:24px; margin:0 0 16px; font-size:13px; }
.cart-storage-note { padding:16px; background:#fff4e9; border-radius:8px; }
.cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; align-items:start; gap:32px; }
.cart-items { display:grid; gap:16px; min-width:0; }
.cart-item { display:grid; grid-template-columns:116px minmax(0,1fr) 116px; gap:20px; align-items:start; padding:20px; background:#f7f7f5; border-radius:8px; min-width:0; }
.cart-item-image { display:block; aspect-ratio:1; background:var(--tf-product-background,#fff); border-radius:8px; overflow:hidden; }
.cart-item-image img { display:block; width:100%; height:100%; object-fit:contain; padding:10px; }
.cart-item-body { min-width:0; }
.cart-item h2 { margin:3px 0 10px; font-size:16px; font-weight:600; line-height:1.45; overflow-wrap:anywhere; }
.cart-brand { margin:0; color:#696966; font-size:11px; letter-spacing:.04em; text-transform:uppercase; overflow-wrap:anywhere; }
.cart-pack { margin:0 0 8px; color:#5d5d58; font-size:13px; overflow-wrap:anywhere; }
.cart-unit { margin:8px 0 0; font-size:13px; }
.cart-pack-field label,.cart-quantity label { display:block; margin-bottom:6px; font-size:12px; color:#60605b; }
.cart-pack-field select { width:100%; max-width:100%; min-height:44px; padding:10px 28px 10px 10px; border:1px solid #c7c7c2; border-radius:8px; background:#fff; color:#292929; font-size:13px; }
.cart-pack-hint { margin:8px 0; color:#8b2f22; font-size:12px; }
.cart-unavailable { margin:8px 0; color:#8b2f22; font-size:12px; line-height:1.6; }
.cart-item-controls { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-top:14px; }
.cart-quantity input { display:block; width:84px; min-height:44px; padding:8px 10px; border:1px solid #c7c7c2; border-radius:8px; background:#fff; color:#292929; text-align:center; }
.cart-remove { min-height:44px; padding:8px 0; border:0; background:transparent; color:#5e5e58; cursor:pointer; font-size:12px; }
.cart-remove:hover { color:#f00; }
.cart-line-total { display:flex; flex-direction:column; gap:8px; text-align:right; font-size:14px; font-weight:600; overflow-wrap:anywhere; }
.cart-money { font-variant-numeric:tabular-nums; }
.cart-small { color:#63635e; font-size:12px; line-height:1.7; font-weight:400; }
.cart-summary { position:sticky; top:24px; padding:24px; border-radius:8px; background:#f7f7f5; }
.cart-summary h2 { margin:0 0 14px; font-size:21px; font-weight:600; }
.cart-count { margin:0 0 20px; font-size:13px; color:#60605b; }
.cart-summary dl { margin:0 0 14px; }
.cart-summary dl > div { display:flex; flex-direction:column; gap:7px; }
.cart-summary dt { font-size:13px; }
.cart-summary dd { margin:0; font-size:23px; font-weight:600; overflow-wrap:anywhere; }
.cart-price-note,.cart-option-note { margin:14px 0; font-size:12px; line-height:1.65; color:#7a342c; }
.cart-actions { display:grid; gap:10px; margin:20px 0 14px; }
.cart-actions button,.cart-primary-link { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:11px 16px; border:1px solid #292929; border-radius:8px; background:#292929; color:#fff; font-size:13px; font-weight:600; text-align:center; cursor:pointer; }
.cart-actions button:hover:not(:disabled),.cart-primary-link:hover { border-color:#f00; background:#f00; color:#fff; }
.cart-actions button:disabled { cursor:not-allowed; opacity:.45; }
.cart-delivery { display:inline-block; padding-block:8px; font-size:12px; }
.cart-empty { padding:48px 24px; border-radius:8px; background:#f7f7f5; text-align:center; }
.cart-empty h2 { margin:0 0 14px; font-size:26px; font-weight:500; }
.cart-empty p { margin:0 auto 24px; max-width:560px; color:#62625c; }
.cart-empty a.cart-primary-link { color:#fff; }
@media(max-width:1099px) {
  .cart-wrap { padding-inline:24px; }
  .cart-layout { grid-template-columns:minmax(0,1fr) 280px; gap:20px; }
  .cart-item { grid-template-columns:88px minmax(0,1fr); gap:16px; padding:16px; }
  .cart-line-total { grid-column:2; flex-direction:row; justify-content:space-between; text-align:left; }
}
@media(max-width:849px) {
  .cart-layout { grid-template-columns:minmax(0,1fr); }
  .cart-summary { position:static; }
}
@media(max-width:549px) {
  .cart-wrap { padding:24px 16px 40px; }
  .cart-heading { align-items:start; flex-direction:column; gap:8px; }
  .cart-heading p { font-size:13px; }
  .cart-item { grid-template-columns:70px minmax(0,1fr); gap:12px; padding:14px; }
  .cart-item h2 { font-size:14px; }
  .cart-brand { font-size:10px; }
  .cart-item-body { display:contents; }
  .cart-item-image { grid-column:1; grid-row:1; }
  .cart-item-heading { grid-column:2; grid-row:1; min-width:0; }
  .cart-pack,.cart-pack-field,.cart-unit,.cart-item-controls,.cart-unavailable { grid-column:1 / -1; margin:0; }
  .cart-pack-field select,.cart-quantity input { font-size:16px; }
  .cart-line-total { grid-column:1 / -1; }
  .cart-summary { padding:20px; }
  .cart-empty { padding:34px 20px; }
  .cart-empty h2 { font-size:23px; }
}
@media(forced-colors:active) {
  .cart-item,.cart-summary,.cart-empty { border:1px solid CanvasText; }
  .cart-actions button:disabled { opacity:1; color:GrayText; }
}

/* Compact shopping bag in the storefront's warm editorial palette. */
html[data-font-choice="E"] body.cart-page { background:#faf8f6; color:#302b29; }
.cart-wrap { padding-top:26px; }
.cart-wrap a:hover { color:#852332; }
.cart-wrap :is(a,button,input,select):focus-visible { outline-color:#852332; }
.cart-heading { margin-bottom:12px; }
.cart-heading h1 { font-weight:400; margin-bottom:8px; font-size:clamp(28px,3vw,38px); }
.cart-heading p { color:#746a64; font-size:13px; }
.cart-heading > a { border:1px solid #cfc0b7; border-radius:999px; padding:9px 18px; font-size:12px; }
.cart-status { min-height:0; margin-bottom:12px; color:#852332; }
.cart-status:empty { display:none; }
.cart-layout { gap:22px; grid-template-columns:minmax(0,1fr) 290px; }
.cart-items { gap:10px; }
.cart-item { grid-template-columns:80px minmax(0,1fr) 96px; padding:14px; gap:14px; background:#fdfbf9; border-radius:12px; box-shadow:0 5px 18px #49352a09; }
.cart-item-image { background:#fffaf6; border-radius:9px; }
.cart-item-image img { padding:7px; mix-blend-mode:multiply; }
.cart-brand { color:#8b7770; font-size:10px; }
.cart-item h2 { margin:2px 0 5px; font-size:14px; line-height:1.35; }
.cart-pack { font-size:11px; margin-bottom:4px; color:#796b63; }
.cart-unit { margin-top:4px; font-size:12px; }
.cart-pack-field label,.cart-quantity label { margin-bottom:3px; font-size:11px; color:#796b63; }
.cart-pack-field select { min-height:36px; padding:6px 26px 6px 9px; background:#fffaf6; border-color:#d8cac1; font-size:12px; }
.cart-item-controls { margin-top:8px; gap:10px; justify-content:flex-start; }
.cart-quantity { display:flex; align-items:center; gap:8px; }
.cart-quantity label { margin:0; }
.cart-quantity input { width:64px; min-height:36px; padding:5px 7px; border-color:#d8cac1; border-radius:999px; background:#fffaf6; font-size:13px; }
.cart-remove { min-height:36px; padding:7px 10px; color:#852332; font-size:11px; }
.cart-remove:hover { color:#60202b; background:#f2e6dd66; border-radius:999px; }
.cart-line-total { gap:4px; font-size:14px; color:#852332; }
.cart-line-total .cart-small { font-size:10px; color:#8b7770; }
.cart-summary { padding:22px; background:#f5f1ee; border-radius:16px; box-shadow:0 8px 24px #49352a08; }
.cart-summary h2 { font-size:20px; font-weight:400; margin-bottom:10px; }
.cart-count { margin-bottom:10px; color:#796b63; }
.cart-small { color:#796b63; font-size:11px; }
.cart-summary dd { color:#852332; font-size:26px; font-weight:500; }
.cart-actions { margin-top:16px; }
.cart-actions button,.cart-primary-link { background:#852332; border-color:#852332; border-radius:999px; min-height:44px; }
.cart-actions button:hover:not(:disabled),.cart-primary-link:hover { background:#68202d; border-color:#68202d; color:#fff; }
.cart-delivery { font-size:11px; }
.cart-empty { background:#fdfbf9; border-radius:16px; }
@media(max-width:1099px) {
 .cart-layout { grid-template-columns:minmax(0,1fr) 260px; gap:16px; }
 .cart-item { grid-template-columns:68px minmax(0,1fr); padding:12px; gap:10px; }
 .cart-line-total { grid-column:2; flex-direction:row; justify-content:space-between; text-align:left; }
}
@media(max-width:849px) {
 .cart-layout { grid-template-columns:minmax(0,1fr); }
 .cart-summary { position:static; }
 .cart-item { grid-template-columns:72px minmax(0,1fr) 96px; }
 .cart-line-total { grid-column:auto; flex-direction:column; text-align:right; }
}
@media(max-width:549px) {
 .cart-wrap { padding:20px 12px 36px; }
 .cart-heading { gap:10px; }
 .cart-item { grid-template-columns:60px minmax(0,1fr); gap:8px 10px; padding:12px; }
 .cart-item-body { display:block; min-width:0; }
 .cart-item-image { grid-column:1; grid-row:1; }
 .cart-item h2 { font-size:13px; }
 .cart-pack-field select,.cart-quantity input { font-size:16px; min-height:40px; }
 .cart-remove { min-height:44px; }
 .cart-line-total { grid-column:2; flex-direction:row; justify-content:space-between; text-align:left; }
 .cart-summary { padding:20px; }
}
@media(forced-colors:active) {
 .cart-line-total,.cart-summary dd,.cart-remove { color:CanvasText; }
 .cart-item-image img { mix-blend-mode:normal; }
}
