/* Phase 11: division-aware, premium motion for all cart states. */
.cart-motion-page { overflow: clip; }

.cart-motion-header { position: relative; margin-bottom: 1.75rem; padding: clamp(1.8rem, 4vw, 3rem); overflow: hidden; border-radius: .85rem; color: #fff; background: linear-gradient(128deg, var(--cart-ink), color-mix(in srgb, var(--color-primary, #fe5500) 55%, var(--cart-ink))); box-shadow: 0 1.4rem 3rem rgb(62 33 18 / 12%); }
.cart-motion-header::after { position: absolute; width: 16rem; height: 16rem; top: -9rem; right: -3rem; border: 1px solid rgb(255 255 255 / 15%); border-radius: 50%; content: ""; }
.cart-motion-header > span { display: block; margin-bottom: .7rem; color: var(--color-accent-light, #ffaf01); font-size: .68rem; font-weight: 800; letter-spacing: .17em; }
.cart-motion-page .cart-motion-header h1 { position: relative; z-index: 1; margin: 0; color: #fff; font-size: clamp(2rem, 4vw, 3.2rem); }
.cart-motion-header p { position: relative; z-index: 1; max-width: 39rem; margin: .75rem 0 0; color: rgb(255 255 255 / 72%); font-size: .92rem; line-height: 1.6; }

.cart-motion-page .cart-division-badge { box-shadow: 0 .5rem 1.2rem color-mix(in srgb, var(--color-primary, #fe5500) 22%, transparent); }
.cart-motion-page .cart-table { box-shadow: 0 1.1rem 2.6rem rgb(76 42 23 / 7%); }
.cart-motion-page .cart-table tbody tr { transition: background-color 260ms ease; }
.cart-motion-page .cart-table tbody tr:hover { background: color-mix(in srgb, var(--cart-surface) 52%, white); }
.cart-motion-page .cart-qty__input { transition: border-color 240ms ease, box-shadow 280ms ease, transform 280ms ease; }
.cart-motion-page .cart-qty:focus-within .cart-qty__input { transform: translateY(-.08rem); }
.cart-motion-page .cart-remove { transition: background 220ms ease, border-color 220ms ease, transform 300ms cubic-bezier(.16, 1, .3, 1); }
.cart-motion-page .cart-remove:hover { transform: rotate(6deg) scale(1.05); }
.cart-motion-page .cart-summary { position: relative; overflow: hidden; box-shadow: 0 .8rem 2rem rgb(76 42 23 / 6%); }
.cart-motion-page .cart-summary::before { position: absolute; inset: 0 auto 0 0; width: .22rem; background: linear-gradient(180deg, var(--color-primary, #fe5500), var(--color-accent-light, #ffaf01)); content: ""; transform: scaleY(0); transform-origin: top; transition: transform 900ms cubic-bezier(.16, 1, .3, 1) 300ms; }
.cart-motion-page .cart-actions__btn { transition: background 260ms ease, color 260ms ease, transform 340ms ease, box-shadow 340ms ease; }
.cart-motion-page .cart-actions__btn:hover { transform: translateY(-.18rem); box-shadow: 0 .8rem 1.5rem color-mix(in srgb, var(--color-primary, #fe5500) 16%, transparent); }

.cart-motion-page .cart-empty { position: relative; overflow: hidden; border-radius: 1rem; box-shadow: 0 1.5rem 3.5rem rgb(76 42 23 / 7%); }
.cart-motion-page .cart-empty__icon { transition: transform 650ms cubic-bezier(.16, 1, .3, 1), box-shadow 500ms ease; }
.cart-motion-page .cart-empty:hover .cart-empty__icon { transform: translateY(-.25rem) rotate(-3deg); box-shadow: 0 .85rem 1.6rem color-mix(in srgb, var(--color-primary, #fe5500) 15%, transparent); }
.cart-motion-page .cart-empty__icon path,
.cart-motion-page .cart-empty__icon circle { stroke-dasharray: 42; stroke-dashoffset: 0; }

.cart-motion-page .cart-conflict { position: relative; overflow: hidden; border-radius: 1rem; box-shadow: 0 1.5rem 3.5rem rgb(76 42 23 / 8%); }
.cart-motion-page .cart-conflict::before { position: absolute; inset: 0 0 auto; height: .22rem; background: linear-gradient(90deg, #d97706, #fbbf24); content: ""; transform: scaleX(0); transform-origin: left; transition: transform 950ms cubic-bezier(.16, 1, .3, 1) 320ms; }
.cart-motion-page .cart-conflict__icon { transition: transform 700ms cubic-bezier(.16, 1, .3, 1); }

.cart-motion-ready [data-cart-reveal] { opacity: 0; transform: translateY(2rem); }
.cart-motion-ready [data-cart-reveal="header"] { transform: translateY(1.25rem) scale(.992); transition: opacity 900ms ease, transform 1150ms cubic-bezier(.16, 1, .3, 1); }
.cart-motion-ready [data-cart-reveal="message"] { transform: translateY(-.8rem); transition: opacity 650ms ease, transform 800ms cubic-bezier(.16, 1, .3, 1); }
.cart-motion-ready [data-cart-reveal="badge"] { transform: translateX(-1rem); transition: opacity 650ms ease, transform 800ms cubic-bezier(.16, 1, .3, 1); }
.cart-motion-ready [data-cart-reveal="table"] { transition: opacity 820ms ease, transform 1050ms cubic-bezier(.16, 1, .3, 1); }
.cart-motion-ready [data-cart-reveal="summary"],
.cart-motion-ready [data-cart-reveal="actions"] { transition: opacity 760ms ease, transform 950ms cubic-bezier(.16, 1, .3, 1); }
.cart-motion-ready [data-cart-reveal="empty"] { transform: translateY(2rem) scale(.985); transition: opacity 850ms ease, transform 1100ms cubic-bezier(.16, 1, .3, 1); }
.cart-motion-ready [data-cart-reveal="conflict"] { transform: translateY(2rem) scale(.98); transition: opacity 850ms ease, transform 1100ms cubic-bezier(.16, 1, .3, 1); }
.cart-motion-ready [data-cart-reveal].cart-is-visible { opacity: 1; transform: none; }

.cart-motion-ready [data-cart-row] { opacity: 0; transform: translateX(-1.2rem); transition: opacity 650ms ease, transform 850ms cubic-bezier(.16, 1, .3, 1), background-color 260ms ease; transition-delay: calc(250ms + var(--cart-row-delay, 0ms)); }
.cart-motion-ready .cart-is-visible [data-cart-row] { opacity: 1; transform: none; }
.cart-motion-ready [data-cart-reveal="summary"].cart-is-visible::before,
.cart-motion-ready [data-cart-reveal="conflict"].cart-is-visible::before { transform: scale(1); }
.cart-motion-ready [data-cart-reveal="empty"].cart-is-visible .cart-empty__icon path,
.cart-motion-ready [data-cart-reveal="empty"].cart-is-visible .cart-empty__icon circle { animation: cart-icon-draw 1100ms ease 450ms both; }
.cart-motion-ready [data-cart-reveal="conflict"].cart-is-visible .cart-conflict__icon { animation: cart-conflict-settle 900ms cubic-bezier(.16, 1, .3, 1) 380ms both; }

@keyframes cart-icon-draw { from { stroke-dashoffset: 42; } to { stroke-dashoffset: 0; } }
@keyframes cart-conflict-settle { from { transform: scale(.72) rotate(-8deg); } to { transform: scale(1) rotate(0); } }

@media (max-width: 42rem) {
  .cart-motion-header { padding: 1.6rem 1.25rem; }
  .cart-motion-page .cart-table { display: block; overflow-x: auto; }
  .cart-motion-page .cart-actions { flex-direction: column; }
  .cart-motion-page .cart-actions__btn { justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  .cart-motion-page *,
  .cart-motion-page *::before,
  .cart-motion-page *::after { animation: none !important; transition-duration: .01ms !important; transition-delay: 0ms !important; }
  .cart-motion-ready [data-cart-reveal],
  .cart-motion-ready [data-cart-row] { opacity: 1; transform: none; }
}
