/* Receipt layout with the site's existing font families. */
.cart-drawer { border-top:3px solid var(--green); }
.cart-drawer .cart-header { padding:16px 18px; }
.cart-drawer .cart-header h2 { font-family:var(--font-display); }
.cart-drawer .cart-items { display:block; padding:0 18px; }
.cart-receipt-columns { display:flex; justify-content:space-between; gap:12px; margin:0 18px; padding:8px 0; border-block:1px dashed #526067; color:var(--muted); font-size:.68rem; font-weight:800; letter-spacing:.08em; }
.cart-drawer { grid-template-rows:auto auto auto minmax(0,1fr) auto; }
.cart-receipt-status { margin:0; padding:0 18px; font-size:.75rem; color:var(--green-soft); }
.cart-receipt-status:not(:empty) { padding-block:8px; }
.cart-receipt-items { min-width:0; }
.cart-receipt-item { display:grid; grid-template-columns:54px minmax(0,1fr) auto; grid-template-rows:auto auto; gap:4px 10px; padding:9px 0; border-bottom:1px dashed #526067; align-items:start; }
.cart-receipt-image { grid-row:1/3; align-self:center; width:54px; height:54px; overflow:hidden; border-radius:3px; background:#fff; position:relative; }
.cart-receipt-image img { display:block; width:100%; height:100%; object-fit:contain; }
.cart-receipt-image .product-photo__note { position:absolute; left:0; right:0; bottom:0; padding:0 1px; text-align:center; font-size:11px; line-height:1.2; background:rgba(255,255,255,.95); color:#242b24; border-radius:0; }
.cart-receipt-image .product-photo__note[hidden] { display:none; }
.cart-receipt-info { min-width:0; }
.cart-receipt-name { margin:0 0 3px; font-family:inherit; font-weight:800; font-size:.79rem; line-height:1.25; overflow-wrap:anywhere; }
.cart-receipt-unit { margin:0; color:var(--muted); font-size:.72rem; line-height:1.3; font-variant-numeric:tabular-nums; }
.cart-receipt-price { justify-self:end; color:var(--text); font-family:inherit; font-size:1.2rem; font-weight:900; line-height:1.25; white-space:nowrap; font-variant-numeric:tabular-nums; }
.cart-receipt-tools { grid-column:2/4; display:flex; align-items:center; gap:7px; min-width:0; }
.cart-quantity { display:flex; align-items:stretch; flex:none; border:1px solid #647078; border-radius:3px; overflow:hidden; }
.cart-quantity button,.cart-quantity input { margin:0; width:27px; min-width:0; height:28px; padding:2px; border:0; border-radius:0; background:#151d21; color:var(--text); font:inherit; font-size:.8rem; text-align:center; }
.cart-quantity input { border-inline:1px solid #526067; width:30px; background:#0d1417; font-variant-numeric:tabular-nums; }
.cart-quantity button { cursor:pointer; font-size:1rem; font-weight:800; }
.cart-quantity button:disabled { opacity:.45; cursor:default; }
.cart-quantity input:disabled { opacity:.65; }
.cart-quantity input:focus-visible,.cart-quantity button:focus-visible { outline:2px solid var(--green); outline-offset:-2px; }
.cart-alternative { display:inline-flex; align-items:center; justify-content:center; min-height:28px; padding:3px 6px; border:1px solid #526067; border-radius:3px; background:#152023; color:var(--green-soft); text-decoration:none; font-size:.67rem; font-weight:700; line-height:1.2; }
.cart-alternative:hover { border-color:var(--green); color:var(--green); }
.cart-receipt-remove { display:grid; place-items:center; flex:none; margin-left:auto; padding:4px; width:28px; height:28px; color:var(--muted); background:transparent; border:0; border-radius:3px; cursor:pointer; }
.cart-receipt-remove img { width:18px; height:18px; }
.cart-receipt-remove:hover { background:#243239; }
.cart-receipt-remove:disabled { opacity:.5; cursor:wait; }
.cart-receipt-empty { padding:20px 0; color:var(--muted); }
.cart-receipt-empty a { color:var(--green-soft); text-decoration:underline; }
.cart-drawer .cart-footer { padding:15px 18px; border-top:3px double #526067; }
.cart-drawer .cart-total { align-items:center; gap:12px; margin-bottom:6px; }
.cart-total > span:first-child,.cart-estimate-label { color:var(--muted); font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.cart-total [data-cart-total],#cart-estimate { font-family:inherit; font-size:1.85rem; font-weight:900; color:var(--green); line-height:1.2; font-variant-numeric:tabular-nums; }
.cart-photo-help { margin:9px 0 0; font-size:.68rem; color:var(--muted); line-height:1.4; }
.cart-save-hint { margin:7px 0; color:var(--muted); font-size:.72rem; line-height:1.4; }
.cart-continue { display:block; text-align:center; margin-top:12px; color:var(--muted); font-size:.8rem; text-decoration:underline; }
.cart-receipt-page .btn[aria-disabled="true"],.cart-drawer a[aria-disabled="true"] { opacity:.5; cursor:wait; }
body[data-account-page="cart"] .account-wrap { max-width:1100px; }
body[data-account-page="cart"] #account-status:empty { display:none; }
.cart-receipt-page { padding:24px; }
.cart-receipt-page > .account-links { margin-top:0; }
.cart-page-layout { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:24px; align-items:start; }
.cart-page-lines { min-width:0; }
.cart-page-lines .cart-receipt-columns { margin:0; }
.cart-page-lines .cart-receipt-status { padding-inline:0; }
.cart-receipt-page .cart-receipt-item { grid-template-columns:68px minmax(0,1fr) auto; padding-block:12px; }
.cart-receipt-page .cart-receipt-image { width:68px; height:68px; }
.cart-receipt-page .cart-receipt-name { font-size:.88rem; }
.cart-receipt-page .cart-receipt-price { font-size:1.3rem; }
.cart-receipt-page .cart-alternative { font-size:.72rem; }
.cart-page-summary { padding:18px; background:#0c1215; border:1px solid #435158; border-top:3px solid var(--green); border-radius:4px; }
.cart-estimate-label { margin:0 0 8px; }
#cart-estimate { display:block; margin:0 0 12px; font-size:2rem; }
.cart-page-summary .btn-row { display:grid; gap:10px; }
.cart-page-summary .btn { width:100%; margin:0; text-align:center; }
.cart-page-summary .account-help { font-size:.75rem; margin-bottom:0; }
@media(max-width:820px) { .cart-page-layout { grid-template-columns:1fr; gap:18px; } .cart-receipt-page { padding:18px; } }
@media(max-width:380px) { .cart-drawer .cart-items { padding-inline:12px; } .cart-receipt-item,.cart-receipt-page .cart-receipt-item { grid-template-columns:44px minmax(0,1fr) auto; column-gap:7px; } .cart-receipt-image,.cart-receipt-page .cart-receipt-image { width:44px; height:50px; } .cart-receipt-tools { gap:5px; } .cart-receipt-price,.cart-receipt-page .cart-receipt-price { font-size:1.05rem; } .cart-receipt-page { padding:12px; } .cart-alternative { font-size:.64rem; padding-inline:4px; } }
@media(any-pointer:coarse), (max-width:600px) { .cart-quantity button,.cart-quantity input { width:44px; height:44px; font-size:1rem; } .cart-receipt-remove { width:44px; height:44px; } .cart-alternative { min-height:44px; font-size:.75rem; } .cart-receipt-tools { flex-wrap:wrap; } }
@media(max-width:480px) { .cart-receipt-tools .cart-alternative { order:3; flex-basis:100%; } }
/* Item-specific problems never block removal of the other cart lines. */
.cart-availability { padding:18px;background:#332714;border:1px solid #d9a54f;border-radius:8px;margin:12px 0; }
.cart-availability p { margin:12px 0;line-height:1.5; }
.cart-availability button { margin:6px; }
.cart-availability-label { color:#ffd79a;font-weight:700; }
