.CartItem{display:grid;gap:1rem;grid-template-columns:5.5em 1fr;padding:1em;background:var(--surface);border:1px solid var(--border);border-radius:1em;transition:border-color .2s ease}.CartItem:hover{border-color:var(--muted)}.CartItem .thumb{position:relative;width:5.5em;height:5.5em;border-radius:.7em;background-size:cover;background-position:50%;background-color:var(--elevated)}.CartItem .thumb .swatch{position:absolute;bottom:.4em;right:.4em;width:.85em;height:.85em;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.2)}.CartItem .body{flex-direction:column}.CartItem .body,.CartItem .row{display:flex;justify-content:space-between}.CartItem .row{align-items:flex-start;gap:.5rem}.CartItem .name{font-size:.95em;font-weight:600;letter-spacing:-.005em;line-height:1.3}.CartItem .meta{font-size:.82em;color:var(--muted);margin-top:.25em}.CartItem .remove{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.6em;height:1.6em;border-radius:.4em;color:var(--muted);transition:color .2s ease,background .2s ease}.CartItem .remove:hover{color:var(--text);background:var(--elevated)}.CartItem .remove span{display:block;width:.85em;height:.85em;background:currentColor;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") center/contain no-repeat}.CartItem .bottom{display:flex;align-items:center;justify-content:space-between;margin-top:.75em}.CartItem .qty{border:1px solid var(--border);border-radius:.5em;background:var(--bg)}.CartItem .qty,.CartItem .qty button{display:inline-flex;align-items:center}.CartItem .qty button{justify-content:center;width:1.8em;height:1.8em;font-size:.95em;color:var(--muted);transition:color .2s ease}.CartItem .qty button:hover:not(:disabled){color:var(--text)}.CartItem .qty button:disabled{opacity:.3;cursor:not-allowed}.CartItem .qty span{display:inline-block;text-align:center;min-width:1.6em;font-size:.85em;font-weight:500}.CartItem .price{font-size:.95em;font-weight:600}