.cart-page-intro { padding-block: 72px 52px; }
.cart-heading-card { display: flex; align-items: center; gap: 28px; min-height: 92px; padding: 20px 26px; border: 1px solid #dbe5e0; border-radius: 16px; background: #fff; box-shadow: 0 10px 24px rgba(24, 47, 58, .08); }
.cart-heading-card .eyebrow { flex: 0 0 auto; margin: 0; color: #2f8b57; }
.cart-heading-card h1 { flex: 0 0 auto; margin: 0; color: #173047; font-size: 38px; line-height: 1; white-space: nowrap; }
.cart-heading-card > p:last-child { margin: 0 0 0 auto; color: #607177; font-size: 13px; white-space: nowrap; }
.cart-layout { grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr); align-items: start; gap: 28px; padding-bottom: 90px; }
.cart-items { display: grid; gap: 14px; }
.cart-item { display: grid; grid-template-columns: 112px minmax(0, 1fr) 105px 105px; align-items: center; gap: 18px; min-height: 146px; padding: 16px; border: 1px solid #dbe5e0; border-radius: 16px; background: #fff; box-shadow: 0 10px 24px rgba(24, 47, 58, .09); }
.cart-thumb { width: 112px; height: 112px; border-radius: 12px; overflow: hidden; background: linear-gradient(135deg, #e5f1e9, #c7ddce); }
.cart-thumb span { color: rgba(37, 112, 73, .58); font-size: 68px; }
.cart-item-copy { min-width: 0; }
.cart-item-copy small { color: #3c8b5c; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cart-item-copy h2 { margin: 6px 0 8px; color: #173047; font-size: 19px; line-height: 1.2; }
.cart-item-copy h2 a:hover { color: #2f8b57; }
.cart-item-copy strong { color: #173047; font-size: 13px; }
.cart-quantity { display: flex; flex-direction: column; align-items: stretch; gap: 6px; }
.cart-quantity input { width: 100%; border: 1px solid #d6e1dc; border-radius: 7px; padding: 9px 7px; background: #f8fbf9; color: #173047; text-align: center; }
.cart-quantity button, .cart-line-total form button { border: 0; background: none; color: #2f8b57; font-size: 11px; cursor: pointer; }
.cart-quantity button:hover, .cart-line-total form button:hover { color: #d94b45; text-decoration: underline; }
.cart-line-total { align-self: center; color: #173047; font-size: 13px; font-weight: 800; text-align: right; white-space: nowrap; }
.cart-line-total form { margin-top: 8px; }
.cart-line-total form button { color: #b96862; }
.cart-layout > .order-summary { position: relative; overflow: hidden; align-self: start; padding: 28px; border: 1px solid #dbe5e0; border-radius: 18px; background: #fff; box-shadow: 0 14px 32px rgba(24, 47, 58, .1); }
.cart-layout > .order-summary::before { content: ''; position: absolute; inset: 0 0 auto; height: 5px; background: linear-gradient(90deg, #2f8b57, #d5a44b); }
.cart-layout > .order-summary .eyebrow { margin-top: 4px; color: #2f8b57; }
.cart-layout > .order-summary h2 { margin: 0 0 22px; color: #173047; font-size: 27px; }
.cart-layout > .order-summary .summary-row { padding-block: 12px; }
.cart-layout > .order-summary .summary-total { margin-top: 12px; padding-top: 20px; border-top-color: #dbe5e0; color: #173047; }
.cart-layout > .order-summary .summary-total strong { color: #d94b45; font-size: 20px; }
.cart-layout > .order-summary .checkout-button { width: 100%; margin-top: 20px; border-radius: 9px; }
.cart-layout > .order-summary .summary-note { color: #68777b; line-height: 1.5; }
.cart-items .alert { border-radius: 10px; }
.empty-cart { border: 1px solid #dbe5e0; border-radius: 16px; background: #fff; box-shadow: 0 10px 24px rgba(24, 47, 58, .08); }
@media (max-width: 800px) {
    .cart-page-intro { padding-block: 45px 35px; }
    .cart-heading-card { align-items: flex-start; flex-wrap: wrap; gap: 9px 18px; min-height: 0; padding: 20px 18px; }
    .cart-heading-card h1 { font-size: 30px; }
    .cart-heading-card > p:last-child { flex-basis: 100%; margin: 0; white-space: normal; }
    .cart-layout { grid-template-columns: 1fr; gap: 22px; padding-bottom: 65px; }
    .cart-item { grid-template-columns: 86px minmax(0, 1fr); gap: 12px; min-height: 0; padding: 13px; }
    .cart-thumb { width: 86px; height: 86px; grid-row: 1 / span 2; }
    .cart-thumb span { font-size: 54px; }
    .cart-item-copy h2 { font-size: 17px; }
    .cart-quantity { grid-column: 2; grid-row: 2; flex-direction: row; align-items: center; max-width: 150px; }
    .cart-quantity input { width: 62px; }
    .cart-line-total { grid-column: 2; grid-row: 1; justify-self: end; align-self: start; }
    .cart-line-total form { margin-top: 5px; }
    .cart-layout > .order-summary { padding: 24px 18px; border-radius: 14px; }
}
