.shop-bar { text-align: right; margin: 0 0 1rem; }
.shop-bar a { color: var(--global-color-ltblue); }
.products { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 1.5rem; }
.product { text-align: center; }
.product img { max-width: 100%; height: 16rem; object-fit: contain; }
.product h2 { font-size: 1.1rem; margin: .75rem 0 .25rem; }
.product p { margin: .25rem 0; }
.product .price { font-weight: 600; }
.product .button, .cart-actions .button { cursor: pointer; width: auto; min-width: 12rem; }
.cart-table { width: 100%; border-collapse: collapse; }
.cart-table th, .cart-table td { padding: .6rem .4rem; border-bottom: 1px solid #ddd; text-align: left; vertical-align: top; }
.cart-table td.num, .cart-table th.num { text-align: right; white-space: nowrap; }
.cart-table input[type=number] { width: 4rem; }
.cart-table input[type=text] { width: 100%; max-width: 18rem; }
.cart-totals { text-align: right; margin: 1rem 0; }
.cart-actions { text-align: center; }
#cart-error { color: #b00020; text-align: center; }
