:host { display: block; --item-media-size: 90px; --item-divider-inset: 1rem; } :host(:first-child) .cart-item, :host .cart-item { position: relative; } :host(:first-child) .cart-item::before, :host .cart-item::after { content: ""; position: absolute; right: var(--item-divider-inset); left: var(--item-divider-inset); height: 1px; background-color: #ffffff; } :host(:first-child) .cart-item::before { top: 0; } :host .cart-item::after { bottom: 0; } .cart-item { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.75rem; background-color: #f5f5f5; } .cart-item-with-media { grid-template-columns: var(--item-media-size) minmax(0, 1fr); } .cart-item-media { width: var(--item-media-size); aspect-ratio: 1 / 1; border-radius: 5px 0 0 5px; background-color: #ffffff; border: 1px solid #eaeaea; overflow: hidden; img { width: 100%; height: 100%; object-fit: cover; } } .cart-item-discount-badge { width: 44px; height: 22px; display: flex; align-items: center; justify-content: center; border-bottom-right-radius: 4px; background-color: var(--bs-primary); color: #ffffff; font-size: 10px; font-weight: 500; line-height: 1; } .cart-item-content { gap: 0.5rem; } .cart-item-top-row { grid-template-columns: minmax(0, 1fr) auto; gap: 0.75rem; } .cart-item-product { color: #666666; font-size: 12px; line-height: 1.25; font-weight: 325; } .cart-item-prices { display: grid; justify-items: end; line-height: 1.1; } .cart-item-original-price { color: #a0a0a0; font-size: 10px; font-weight: 325; } .cart-item-discounted-price { color: #a0a0a0; font-size: 13px; font-weight: 425; } .cart-item-attributes { gap: 0.125rem; } .cart-item-attribute { color: #666666; font-size: 11px; line-height: 1.2; } .cart-item-attribute-label { font-weight: 325; } .cart-item-actions { gap: 0.125rem; } .cart-item-remove-btn { margin-left: 0.35rem; }