.cart-page { min-height: 70vh; padding: 28px 0 80px; background: #f5f6f7; }
.cart-page:has(.home-product-section) { padding-bottom: 0; }
.cart-page .checkout-journey { min-height: 204px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); align-items: center; gap: 45px; margin: 0 0 30px; padding: 33px 40px; border-radius: 18px; color: #fff; background: #062b52; }
.cart-page .checkout-journey::after { inset: -200px auto auto -80px; width: 420px; height: 420px; border-color: rgb(210 172 103 / 17%); }
.cart-page .checkout-journey__intro p { margin-bottom: 10px; color: #d2ac67; font-size: .71rem; letter-spacing: 0; }
.cart-page .checkout-journey__intro h1 { font-size: clamp(1.6rem, 2.7vw, 2.25rem); font-weight: 500; }
.cart-page .checkout-journey__intro > span { margin-top: 12px; color: #b8cadb; font-size: .79rem; }
.cart-page .checkout-journey ol { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
.cart-page .checkout-journey li { position: relative; justify-items: center; align-content: start; gap: 12px; padding: 0 4px; border: 0; color: #91a9bd; text-align: center; }
.cart-page .checkout-journey li:not(:last-child)::after { position: absolute; z-index: -1; inset-block-start: 18px; inset-inline-start: 50%; width: 100%; border-top: 1px solid #34546e; content: ''; }
.cart-page .checkout-journey li small { width: 37px; height: 37px; display: grid; place-items: center; border: 1px solid #48667e; border-radius: 50%; background: #082c50; font-size: .75rem; letter-spacing: 0; }
.cart-page .checkout-journey li strong { font-size: .71rem; }
.cart-page .checkout-journey li.is-active { color: #f9e9c7; }
.cart-page .checkout-journey li.is-active small { border-color: #d2ac67; color: #07294b; background: #d2ac67; box-shadow: 0 0 0 5px rgb(210 172 103 / 9%); }
.cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 25px; align-items: start; }
.cart-items-column { min-width: 0; }
.cart-content-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0 0 18px; }
.cart-content-heading h2 { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0; font-size: 1rem; font-weight: 600; }
.cart-content-heading h2 span { padding: 3px 9px; border: 1px solid #dfe4e8; border-radius: 7px; color: var(--color-muted); background: #fff; font-size: .64rem; font-weight: 400; }
.cart-content-heading > a { display: flex; align-items: center; gap: 6px; min-height: 38px; color: var(--color-gold-dark); font-size: .72rem; }
.cart-content-heading .roz-icon { width: 16px; height: 16px; }
.cart-items-list { display: grid; gap: 16px; }
.cart-item-card { display: grid; grid-template-columns: 145px minmax(0, 1fr); gap: 22px; padding: 21px; border: 1px solid #e0e5e8; border-radius: 15px; background: #fff; transition: opacity .2s, border-color .2s; }
.cart-item-card[aria-busy='true'] { opacity: .6; }
.cart-item-card__media { aspect-ratio: 1; align-self: start; display: grid; place-items: center; overflow: hidden; border-radius: 11px; color: var(--color-gold-dark); background: #f8f7f2; font-size: 2rem; }
.cart-item-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.cart-item-card__media:hover img { transform: scale(1.04); }
.cart-item-card__body { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; }
.cart-item-card__category { margin: 0 0 5px; color: var(--color-gold-dark); font-size: .66rem; }
.cart-item-card h2 { margin: 0 0 10px; color: var(--color-ink); font-size: 1rem; font-weight: 600; line-height: 1.7; }
.cart-item-card__meta { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0; padding: 0; color: var(--color-muted); list-style: none; font-size: .67rem; }
.cart-item-card__availability { display: inline-flex; align-items: center; gap: 5px; margin-top: 12px; color: #447765; font-size: .65rem; }
.cart-item-card__availability .roz-icon { width: 14px; height: 14px; }
.cart-item-card__price { min-width: 115px; display: flex; align-items: flex-end; flex-direction: column; gap: 6px; padding-top: 27px; }
.cart-item-card__price strong { color: var(--color-ink); font-size: .96rem; font-weight: 600; white-space: nowrap; }
.cart-item-card__price strong small, .cart-item-card__price del { color: var(--color-muted); font-size: .65rem; font-weight: 400; }
.cart-item-card__price > span { padding: 2px 8px; border-radius: 6px; color: #87642e; background: #f7f0df; font-size: .62rem; }
.cart-item-card__actions { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 14px; border-top: 1px solid #edf0f2; }
.quantity-control { display: inline-grid; grid-template-columns: 36px 38px 36px; align-items: center; overflow: hidden; border: 1px solid #dce2e6; border-radius: 8px; }
.quantity-control button { min-height: 38px; border: 0; color: var(--color-ink); background: #f5f7f8; font: inherit; font-size: 1rem; cursor: pointer; }
.quantity-control button:disabled { opacity: .35; cursor: not-allowed; }
.quantity-control output { color: var(--color-ink); text-align: center; font-size: .85rem; font-weight: 600; }
.cart-item-card__unique { display: flex; align-items: center; gap: 6px; color: var(--color-gold-dark); font-size: .7rem; }
.cart-item-card__unique .roz-icon { width: 17px; height: 17px; }
.cart-item-card__remove { display: flex; align-items: center; gap: 5px; min-height: 40px; padding: 6px; border: 0; color: #9a6f6d; background: transparent; font: inherit; font-size: .7rem; cursor: pointer; }
.cart-item-card__remove .roz-icon { width: 17px; height: 17px; }
.cart-item-card__remove:hover { color: #a63a32; }
.cart-item-card__remove:disabled { opacity: .5; cursor: wait; }
.cart-items-note { display: flex; align-items: center; gap: 8px; margin: 19px 4px 0; color: #758798; font-size: .69rem; line-height: 1.9; }
.cart-items-note .roz-icon { width: 17px; height: 17px; }
.cart-summary-card { position: sticky; top: 135px; padding: 25px; border: 1px solid #dfe4e7; border-radius: 15px; background: #fff; box-shadow: 0 8px 30px rgb(6 50 99 / 3%); }
.cart-summary-card__heading { display: flex; align-items: center; gap: 12px; padding-bottom: 21px; border-bottom: 1px solid #edf0f2; }
.cart-summary-card__heading > span { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 11px; color: var(--color-gold-dark); background: #f8f4eb; }
.cart-summary-card__heading h2 { margin: 0 0 4px; font-size: 1rem; font-weight: 600; }
.cart-summary-card__heading p { margin: 0; color: var(--color-muted); font-size: .67rem; }
.cart-summary-card dl { display: grid; gap: 17px; margin: 23px 0; font-size: .76rem; }
.cart-summary-card dl > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cart-summary-card dt { color: var(--color-muted); }
.cart-summary-card dd { margin: 0; color: var(--color-ink); font-weight: 600; }
.cart-summary-card .cart-saving { color: #247355; }
.cart-summary-card dl .cart-summary-card__total { display: grid; justify-content: stretch; gap: 10px; padding: 18px; margin: 4px -3px 0; border: 1px solid #e8e1d1; border-radius: 10px; background: #faf8f2; }
.cart-summary-card__total dt { color: #7c6c4c; font-size: .73rem; }
.cart-summary-card__total dd { font-size: 1.5rem; text-align: left; line-height: 1.6; }
.cart-summary-card__total dd small { color: var(--color-muted); font-size: .7rem; font-weight: 400; }
.cart-summary-card > .ui-button { min-height: 52px; justify-content: space-between; padding-inline: 18px; border-radius: 9px; color: #fff; background: var(--color-ink); box-shadow: none; font-size: .82rem; }
.cart-summary-card > .ui-button .roz-icon { width: 18px; height: 18px; }
.cart-summary-card > p { margin: 13px 0 0; color: var(--color-muted); font-size: .68rem; line-height: 1.9; }
.cart-summary-card ul { display: grid; gap: 13px; margin: 20px 0 0; padding: 19px 0 0; border-top: 1px solid #edf0f2; list-style: none; }
.cart-summary-card li { display: flex; align-items: center; gap: 9px; color: #657b8c; font-size: .68rem; }
.cart-summary-card li .roz-icon { width: 17px; height: 17px; color: #8194a2; }
.cart-empty-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .47fr); gap: 24px; }
.cart-empty-state { display: flex; align-items: center; flex-direction: column; justify-content: center; min-width: 0; min-height: 440px; padding: 38px 25px; border: 1px solid #e0e5e8; border-radius: 16px; background: #fff; text-align: center; }
.cart-empty-state__art { position: relative; display: grid; place-items: center; width: 126px; height: 126px; margin-bottom: 25px; border: 1px solid #e5dcc7; border-radius: 50%; background: #faf8f2; }
.cart-empty-state__art::after { position: absolute; inset: -11px; border: 1px dashed #e4ded2; border-radius: 50%; content: ''; }
.cart-empty-state__art > .roz-icon { width: 48px; height: 48px; color: #aa8850; stroke-width: 1; }
.cart-empty-state__art span, .cart-empty-state__art i { position: absolute; z-index: 1; width: 9px; height: 9px; border: 1px solid #c4a260; background: #fff; transform: rotate(45deg); }
.cart-empty-state__art span { inset: 7px 2px auto auto; }
.cart-empty-state__art i { inset: auto auto 13px 0; width: 6px; height: 6px; }
.cart-empty-state__eyebrow { margin-bottom: 8px; color: var(--color-gold-dark); font-size: .73rem; }
.cart-empty-state h2 { margin: 0; color: var(--color-ink); font-size: clamp(1.3rem, 2.2vw, 1.75rem); line-height: 1.6; font-weight: 500; }
.cart-empty-state p { max-width: 43ch; margin: 13px 0 0; color: var(--color-muted); font-size: .83rem; line-height: 1.95; }
.cart-empty-state__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 25px; }
.cart-empty-state .ui-button { min-height: 49px; border-radius: 9px; font-size: .78rem; box-shadow: none; }
.cart-empty-state .ui-button--primary { color: #fff; background: var(--color-ink); }
.cart-empty-state .ui-button .roz-icon { width: 18px; height: 18px; }
.cart-empty-state > small { max-width: 40ch; margin-top: 19px; color: #80909c; font-size: .66rem; line-height: 1.9; }
.cart-discover { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: space-between; gap: 28px; padding: 35px; overflow: hidden; border-radius: 16px; color: #fff; background: #062b52; }
.cart-discover::after { position: absolute; z-index: -1; inset: -70px auto auto -100px; width: 280px; height: 280px; border: 1px solid rgb(210 172 103 / 18%); border-radius: 50%; content: ''; }
.cart-discover > .roz-icon { width: 43px; height: 43px; color: #d2ac67; }
.cart-discover > div > span { color: #d2ac67; font-family: Georgia, serif; font-size: .7rem; letter-spacing: .17em; }
.cart-discover h2 { margin: 14px 0; color: #fffaf1; font-size: clamp(1.6rem, 2.6vw, 2.1rem); font-weight: 500; line-height: 1.65; }
.cart-discover p { max-width: 28ch; margin: 0; color: #b9cbda; font-size: .78rem; line-height: 2; }
.cart-discover ul { display: grid; gap: 15px; margin: 0; padding: 23px 0 0; border-top: 1px solid rgb(210 172 103 / 24%); list-style: none; }
.cart-discover li { display: flex; align-items: center; gap: 10px; color: #c6d2dd; font-size: .72rem; }
.cart-discover li .roz-icon { width: 19px; height: 19px; color: #d2ac67; }
.cart-recommendations { margin-top: 60px; }
.cart-page button:focus-visible, .cart-page a:focus-visible { outline: 2px solid var(--color-gold-dark); outline-offset: 3px; }
@media (max-width: 1120px) {
    .cart-layout { grid-template-columns: minmax(0, 1fr) 315px; gap: 20px; }
    .cart-item-card { grid-template-columns: 120px minmax(0, 1fr); gap: 16px; padding: 18px; }
    .cart-item-card__body { grid-template-columns: 1fr; gap: 12px; }
    .cart-item-card__price { align-items: flex-start; padding: 0; }
}
@media (max-width: 940px) {
    .cart-page .checkout-journey { grid-template-columns: 1fr; gap: 30px; }
    .cart-page .checkout-journey ol { max-width: 550px; width: 100%; }
    .cart-layout { grid-template-columns: 1fr; }
    .cart-summary-card { position: static; }
    .cart-item-card__body { grid-template-columns: minmax(0, 1fr) auto; }
    .cart-item-card__price { align-items: flex-end; padding-top: 25px; }
    .cart-empty-grid { grid-template-columns: 1fr; }
    .cart-discover { display: grid; grid-template-columns: auto 1fr 1fr; align-items: center; gap: 25px; padding: 28px; }
    .cart-discover h2 { font-size: 1.55rem; margin-bottom: 0; }
    .cart-discover p { display: none; }
    .cart-discover ul { border-top: 0; border-inline-start: 1px solid rgb(210 172 103 / 24%); padding: 0 0 0 22px; }
}
@media (max-width: 640px) {
    .cart-page { padding: 18px 0 45px; }
    .cart-page .checkout-journey { gap: 26px; margin: 0 0 23px; padding: 25px 21px; border-radius: 14px; }
    .cart-page .checkout-journey__intro > span { margin-top: 10px; font-size: .73rem; }
    .cart-page .checkout-journey li strong { font-size: .58rem; }
    .cart-page .checkout-journey li small { width: 31px; height: 31px; font-size: .68rem; }
    .cart-page .checkout-journey li:not(:last-child)::after { inset-block-start: 15px; }
    .cart-content-heading h2 { font-size: .88rem; }
    .cart-item-card { grid-template-columns: 90px minmax(0, 1fr); gap: 13px; padding: 15px; border-radius: 12px; }
    .cart-item-card__body { grid-template-columns: 1fr; gap: 12px; }
    .cart-item-card__media { border-radius: 8px; }
    .cart-item-card h2 { font-size: .86rem; margin-bottom: 7px; }
    .cart-item-card__category { font-size: .59rem; }
    .cart-item-card__meta { font-size: .63rem; gap: 4px 8px; }
    .cart-item-card__price { align-items: flex-start; padding: 0; min-width: 0; }
    .cart-item-card__price strong { font-size: .9rem; }
    .cart-item-card__actions { padding-top: 10px; }
    .quantity-control { grid-template-columns: 30px 33px 30px; }
    .quantity-control button { min-height: 42px; }
    .cart-summary-card { padding: 22px; }
    .cart-empty-state { min-height: 0; padding: 35px 22px; }
    .cart-empty-state__art { width: 100px; height: 100px; margin-bottom: 26px; }
    .cart-empty-state h2 { font-size: 1.3rem; }
    .cart-empty-state p { font-size: .77rem; }
    .cart-empty-state__actions { width: 100%; gap: 8px; }
    .cart-empty-state__actions .ui-button { width: 100%; }
    .cart-discover { grid-template-columns: 1fr 2fr; padding: 25px; gap: 18px; }
    .cart-discover > .roz-icon { justify-self: center; width: 52px; height: 52px; }
    .cart-discover ul { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; gap: 10px; padding: 18px 0 0; border-inline-start: 0; border-top: 1px solid rgb(210 172 103 / 24%); }
    .cart-discover li { font-size: .62rem; gap: 7px; }
}
@media (prefers-reduced-motion: reduce) {
    .cart-item-card, .cart-item-card__media img { transition: none; }
    .cart-item-card__media:hover img { transform: none; }
}
