/* Cart route only: original navigation, palette and checkout styles stay intact. */
#shopping-cart { position:fixed; inset:0; z-index:1100; box-sizing:border-box; display:flex; align-items:center; justify-content:center; padding:24px; margin:0; height:100dvh; background:linear-gradient(rgba(75,57,38,.20),rgba(75,57,38,.20)),url('../images/cart/artful-studio-5642036.jpg') center bottom / cover no-repeat; }
#shopping-cart .cart-shell { width:min(800px,100%); max-height:100%; display:flex; justify-content:center; }
#shopping-cart .cart-card { box-sizing:border-box; width:100%; max-height:calc(100dvh - 48px); overflow:auto; overscroll-behavior:contain; padding:36px; border:1px solid #e6ddd1; border-radius:20px; background:#fffdf9; color:#26231f; box-shadow:0 24px 80px rgba(30,24,18,.28); }
#shopping-cart .cart-card::before { display:none; }
#shopping-cart .cart-header { padding-right:32px; }
#shopping-cart .cart-title { color:#26231f; font-size:clamp(1.7rem,4vw,2.3rem); }
#shopping-cart .cart-subtitle, #shopping-cart .empty-copy p { color:#59534a; }
#shopping-cart .empty-copy h2 { color:#292722; }
#shopping-cart .cart-close { position:sticky; float:right; top:0; z-index:2; margin:-16px -16px 0 0; background:#fffdf9; display:grid; place-items:center; width:44px; height:44px; font-size:30px; text-decoration:none; color:#494237; border-radius:50%; }
#shopping-cart .cart-close:hover { background:#eee7dc; }
#shopping-cart :focus-visible { outline:3px solid #72512f; outline-offset:3px; }
#shopping-cart .cart-table { color:#26231f; }
#shopping-cart .cart-table th { background:#f2ece2; color:#26231f; }
#shopping-cart .cart-actions, #shopping-cart .empty-actions { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
#shopping-cart .empty-cart { text-align:center; padding:28px 0 12px; }
#shopping-cart .btn-cart-primary { background:#3f4b3b; color:#fff; border:1px solid #3f4b3b; }
#shopping-cart .btn-cart-secondary, #shopping-cart .btn-ghost { background:#fffdf9; color:#3f4b3b; border:1px solid #82776a; }
@media(max-width:900px) {
 #shopping-cart { padding:12px; }
 #shopping-cart .cart-card { max-height:calc(100dvh - 24px); padding:24px 16px; border-radius:16px; }
 #shopping-cart .cart-table th, #shopping-cart .cart-table td { padding:10px 8px; }
 #shopping-cart .cart-table, #shopping-cart .cart-table tbody { display:block; }
 #shopping-cart .cart-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 #shopping-cart .cart-table tr { display:block; border:1px solid #e6ddd1; border-radius:12px; margin-bottom:12px; }
 #shopping-cart .cart-table td { display:flex; align-items:center; justify-content:space-between; gap:16px; text-align:right; }
 #shopping-cart .cart-table td::before { content:attr(data-label); font-weight:600; color:#59534a; text-align:left; }
 #shopping-cart .cart-table .item-title { text-align:right; overflow-wrap:anywhere; }
 #shopping-cart .cart-table .item-actions { justify-content:flex-end; border-bottom:0; }
 #shopping-cart .cart-actions > a { width:100%; text-align:center; }
}
@media(prefers-reduced-motion:reduce) { #shopping-cart *, #shopping-cart *::before { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

#shopping-cart .cart-items h2 { font-family:var(--font-display); font-size:1.3rem; color:#383327; margin-bottom:6px; }
#shopping-cart .tote-item-count { margin:0 0 18px; color:#59534a; font-size:.9rem; }
#shopping-cart .cart-table { font-size:.875rem; }
#shopping-cart .tote-artwork { display:flex; gap:12px; align-items:center; text-align:left; min-width:0; }
#shopping-cart .tote-artwork > div { min-width:0; overflow-wrap:anywhere; }
#shopping-cart .tote-artwork a { color:#383327; font-weight:600; }
#shopping-cart .tote-thumbnail { width:64px; height:80px; flex:none; object-fit:contain; background:#f2ece2; border-radius:6px; }
#shopping-cart .tote-description { font-size:.825rem; color:#59534a; margin:6px 0 0; font-weight:400; }
#shopping-cart .btn { min-height:44px; box-sizing:border-box; }
#shopping-cart .tote-visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@media(max-width:900px) { #shopping-cart .cart-table .item-title { display:block; } #shopping-cart .cart-table .item-title::before { display:block; margin-bottom:10px; } }
