.cart-page { min-height: calc(100svh - 73px); max-width: 1440px; margin: 0 auto; padding: 52px clamp(20px, 4vw, 72px) 120px; color: #191919; }
.cart-heading { margin-bottom: 28px; }
.cart-heading .eyebrow { margin: 0 0 8px; color: #f4511e; font-size: 13px; font-weight: 700; }
.cart-heading h1 { margin: 0; font-size: 32px; letter-spacing: 0; }
.cart-heading > p:last-child { margin: 9px 0 0; color: #777; font-size: 14px; }
.cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); align-items: start; gap: 28px; }
.cart-list-panel { min-width: 0; border-top: 2px solid #222; }
.cart-toolbar { min-height: 62px; display: flex; align-items: center; gap: 20px; border-bottom: 1px solid #e8e8e8; font-size: 14px; }
.cart-check { display: inline-flex; align-items: center; gap: 9px; cursor: pointer; }
.cart-check input, .cart-item-check { width: 18px; height: 18px; accent-color: #f4511e; }
.cart-text-button { padding: 0; border: 0; background: transparent; color: #777; cursor: pointer; font: inherit; }
.cart-text-button:hover { color: #f4511e; }
.cart-toolbar-count { margin-left: auto; color: #888; font-size: 13px; }
.cart-list { min-height: 210px; }
.cart-item { display: grid; grid-template-columns: 22px 112px minmax(0, 1fr) 126px 118px 54px; gap: 18px; align-items: center; padding: 24px 4px; border-bottom: 1px solid #ededed; }
.cart-item-image { width: 112px; height: 112px; object-fit: cover; background: #f4f4f4; }
.cart-item-copy { min-width: 0; align-self: stretch; display: flex; flex-direction: column; gap: 8px; }
.cart-item-copy h2 { margin: 0; font-size: 16px; line-height: 1.45; font-weight: 650; }
.cart-item-copy p { margin: 0; color: #848484; font-size: 13px; }
.cart-item-copy .cart-item-options { color: #333; font-weight: 600; }
.cart-item-price { font-weight: 700; font-size: 16px; text-align: right; }
.cart-quantity { display: grid; grid-template-columns: 30px 48px 30px; height: 34px; border: 1px solid #dcdcdc; }
.cart-quantity button { border: 0; background: #fff; cursor: pointer; font-size: 18px; line-height: 1; }
.cart-quantity button:hover { color: #f4511e; background: #fff7f4; }
.cart-quantity span { display: grid; place-items: center; border-inline: 1px solid #e5e5e5; font-size: 14px; }
.cart-remove { border: 0; padding: 4px; background: transparent; color: #858585; cursor: pointer; font-size: 13px; }
.cart-remove:hover { color: #f4511e; }
.cart-empty { display: grid; justify-items: center; gap: 14px; padding: 74px 24px; color: #8b8b8b; border-bottom: 1px solid #ededed; }
.cart-empty a { color: #f4511e; font-weight: 700; }
.cart-summary { position: sticky; top: 24px; padding: 25px; border: 1px solid #e6e6e6; border-radius: 8px; background: #fff; }
.cart-summary .eyebrow { margin: 0 0 8px; color: #f4511e; font-size: 12px; font-weight: 700; }
.cart-summary h2 { margin: 0; font-size: 17px; font-weight: 600; }
.cart-summary h2 strong { color: #f4511e; }
.cart-summary-lines { display: grid; gap: 10px; margin: 25px 0; padding: 0 0 22px; border-bottom: 1px solid #ededed; }
.cart-summary-line { display: flex; justify-content: space-between; gap: 16px; color: #717171; font-size: 13px; }
.cart-summary-line span:last-child { white-space: nowrap; color: #222; }
.cart-total { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 22px; }
.cart-total span { font-size: 14px; }
.cart-total strong { color: #f4511e; font-size: 27px; letter-spacing: 0; }
.cart-inquiry-button { width: 100%; min-height: 48px; border-radius: 5px; background: #f4511e; border-color: #f4511e; }
.cart-inquiry-button:hover { background: #db3f13; border-color: #db3f13; }
.cart-inquiry-button:disabled { cursor: not-allowed; opacity: .45; }
.cart-summary-note { margin: 13px 0 0; color: #888; font-size: 12px; line-height: 1.6; }
@media (max-width: 900px) { .cart-layout { grid-template-columns: 1fr; } .cart-summary { position: static; } }
@media (max-width: 620px) { .cart-page { padding: 32px 16px 56px; } .cart-item { grid-template-columns: 20px 78px minmax(0, 1fr) 34px; gap: 12px; padding: 18px 0; } .cart-item-image { width: 78px; height: 78px; } .cart-item-price { grid-column: 3; text-align: left; } .cart-quantity { grid-column: 3; } .cart-remove { grid-column: 4; grid-row: 1; } .cart-heading h1 { font-size: 27px; } }
