/* 0.10.18 professional motion contract — one canonical, compositor-first
   visual owner for orb, compact Capsule and the full-magenta expanded shell. */
.lio-floating-cart {
  --lio-magenta: #d10c59;
  --lio-magenta-deep: #b9084a;
  --lio-teal: #0b7779;
  --lio-aqua: #55d4cf;
  --lio-white: #fff;
  --lio-shell: linear-gradient(135deg, var(--lio-magenta) 0%, var(--lio-magenta-deep) 100%);
  --lio-shell-shadow: 0 14px 32px rgba(78, 0, 31, .24);
  --lio-owner-width: 380px;
  --lio-panel-radius: 28px;
  --lio-motion-fast: 180ms;
  --lio-motion-panel: 220ms;
  --lio-ease-out: cubic-bezier(.22, 1, .36, 1);
  position: fixed;
  z-index: 900;
  right: max(24px, env(safe-area-inset-right));
  bottom: calc(24px + env(safe-area-inset-bottom));
  width: min(var(--lio-owner-width), calc(100vw - 48px));
  height: 72px;
  min-height: 72px;
  max-height: 72px;
  color: var(--lio-white);
  direction: rtl;
  font-family: fontsans, iranyekan, IRANYekan, IRANSansX, Tahoma, Arial, sans-serif;
  font-synthesis: none;
  isolation: isolate;
  pointer-events: none;
  transform-origin: bottom right;
  transition: none;
}

.lio-floating-cart[hidden] {
  display: none !important;
}

.lio-floating-cart,
.lio-floating-cart * {
  box-sizing: border-box;
}

.lio-floating-cart button,
.lio-floating-cart a {
  font: inherit;
}

.lio-floating-cart.is-expanded {
  width: min(var(--lio-owner-width), calc(100vw - 48px));
  height: 72px;
  min-height: 72px;
  max-height: 72px;
}

/* One fixed owner; only its interactive children receive pointer events. */
.lio-floating-cart__capsule,
.lio-floating-cart__panel {
  pointer-events: auto;
}

.lio-floating-cart > button.lio-floating-cart__capsule {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  display: grid;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 72px !important;
  min-height: 72px !important;
  max-height: 72px !important;
  grid-template-columns: 54px minmax(0, 1fr) 1px 32px;
  grid-template-rows: 1fr 4px;
  align-items: center;
  column-gap: 10px;
  margin: 0 !important;
  padding: 7px 16px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, .26) !important;
  border-radius: 999px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background: var(--lio-shell) !important;
  color: var(--lio-white) !important;
  box-shadow: var(--lio-shell-shadow) !important;
  line-height: normal !important;
  text-align: initial !important;
  text-transform: none !important;
  cursor: pointer;
  transform: translateZ(0);
  transform-origin: bottom right;
  transition:
    opacity 160ms ease,
    transform var(--lio-motion-panel) var(--lio-ease-out),
    visibility 0s linear 0s !important;
}

.lio-floating-cart > button.lio-floating-cart__capsule::after {
  content: '';
  position: absolute;
  inset: 1px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: inherit;
  pointer-events: none;
}

.lio-floating-cart > button.lio-floating-cart__capsule:hover {
  transform: translateY(-1px) translateZ(0);
}

.lio-floating-cart > button.lio-floating-cart__capsule:active {
  transform: translateY(0) scale(.985) translateZ(0);
}

.lio-floating-cart.is-expanded > button.lio-floating-cart__capsule {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(4px) scale(.97) translateZ(0) !important;
  transition:
    opacity 130ms ease,
    transform var(--lio-motion-panel) var(--lio-ease-out),
    visibility 0s linear var(--lio-motion-panel) !important;
}

.lio-floating-cart__thumbs {
  display: flex;
  width: 54px;
  min-width: 54px;
  max-width: 54px;
  align-items: center;
  flex-direction: row;
  direction: ltr;
  isolation: isolate;
}

.lio-floating-cart__thumb {
  display: grid;
  width: 50px;
  height: 52px;
  flex: 0 0 50px;
  place-items: center;
  margin: 0;
  overflow: hidden;
  border: 1.5px solid rgba(255, 255, 255, .94);
  border-radius: 15px;
  background: rgba(255, 255, 255, .94);
}

.lio-floating-cart__thumb:nth-child(n + 2) {
  display: none;
}

.lio-floating-cart__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lio-floating-cart__thumb.is-placeholder::before {
  content: '';
  width: 12px;
  height: 12px;
  border: 2px solid var(--lio-aqua);
  border-radius: 50%;
  opacity: .8;
}

.lio-floating-cart__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  direction: rtl;
  text-align: center;
}

.lio-floating-cart__copy strong {
  color: var(--lio-white);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.35;
}

.lio-floating-cart__copy small {
  display: block;
  max-width: 170px;
  margin-top: 2px;
  overflow: hidden;
  color: rgba(255, 255, 255, .92);
  font-size: 11.5px;
  font-weight: 500;
  line-height: 1.5;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lio-floating-cart__divider {
  display: block;
  width: 1px;
  height: 36px;
  background: rgba(255, 255, 255, .42);
}

.lio-floating-cart__chevron {
  position: relative;
  display: grid;
  width: 32px;
  height: 40px;
  place-items: center;
  color: transparent;
  font-size: 0;
}

.lio-floating-cart__chevron::before {
  content: '';
  width: 11px;
  height: 11px;
  border-right: 2.5px solid var(--lio-white);
  border-bottom: 2.5px solid var(--lio-white);
  transform: rotate(45deg) translate(-2px, -2px);
}

.lio-floating-cart__mini-progress {
  grid-column: 1 / -1;
  height: 4px;
  margin: 0 4px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(71, 0, 27, .34);
  direction: ltr;
}

.lio-floating-cart__mini-progress i {
  display: block;
  width: 0;
  height: 100%;
  margin: 0;
  border-radius: inherit;
  background: var(--lio-aqua);
  transform: scaleX(var(--lio-mini-progress-scale, 0));
  transform-origin: left center;
  transition: transform 360ms var(--lio-ease-out);
}

/* The owner keeps its final width during orb/panel crossfades. Only the visible
   trigger contracts to 72px; the non-interactive root never snaps the panel. */
.lio-floating-cart.is-orb > button.lio-floating-cart__capsule,
.lio-floating-cart[data-presentation='orb'] > button.lio-floating-cart__capsule {
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  padding: 0 !important;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  border-radius: 50% !important;
}

.lio-floating-cart__orb-mark {
  position: absolute;
  z-index: 4;
  inset: 0;
  display: grid;
  place-items: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: scale(.82) translateZ(0);
  transition:
    opacity 140ms ease,
    transform var(--lio-motion-fast) var(--lio-ease-out),
    visibility 0s linear var(--lio-motion-fast);
}

.lio-floating-cart__orb-mark svg {
  width: 38px;
  height: 38px;
  overflow: visible;
  filter: none;
}

.lio-floating-cart__orb-mark .orb-gift-shadow {
  fill: rgba(55, 0, 21, .22);
}

.lio-floating-cart__orb-mark .orb-gift-box,
.lio-floating-cart__orb-mark .orb-gift-lid rect:first-child {
  fill: var(--lio-white);
  stroke: rgba(255, 255, 255, .72);
  stroke-width: 1;
}

.lio-floating-cart__orb-mark .orb-gift-ribbon,
.lio-floating-cart__orb-mark .orb-gift-bow {
  fill: var(--lio-aqua);
  stroke: var(--lio-teal);
  stroke-width: 1;
}

.lio-floating-cart__orb-mark .orb-gift-shine {
  fill: rgba(209, 12, 89, .09);
}

.lio-floating-cart__orb-mark i {
  position: absolute;
  top: 6px;
  right: 5px;
  display: grid;
  min-width: 18px;
  height: 18px;
  place-items: center;
  padding: 0 4px;
  border: 1.5px solid var(--lio-white);
  border-radius: 999px;
  background: var(--lio-white);
  color: var(--lio-magenta-deep);
  font: 800 9px/1 Tahoma, Arial, sans-serif;
  font-style: normal;
}

.lio-floating-cart__orb-mark i[hidden] {
  display: none !important;
}

.lio-floating-cart.is-orb .lio-floating-cart__orb-mark,
.lio-floating-cart[data-presentation='orb'] .lio-floating-cart__orb-mark {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition-delay: 60ms, 60ms, 0s;
}

.lio-floating-cart__thumbs,
.lio-floating-cart__copy,
.lio-floating-cart__divider,
.lio-floating-cart__chevron,
.lio-floating-cart__mini-progress {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition:
    opacity 120ms ease,
    transform var(--lio-motion-fast) var(--lio-ease-out),
    visibility 0s;
}

.lio-floating-cart.is-orb .lio-floating-cart__thumbs,
.lio-floating-cart.is-orb .lio-floating-cart__copy,
.lio-floating-cart.is-orb .lio-floating-cart__divider,
.lio-floating-cart.is-orb .lio-floating-cart__chevron,
.lio-floating-cart.is-orb .lio-floating-cart__mini-progress,
.lio-floating-cart[data-presentation='orb'] .lio-floating-cart__thumbs,
.lio-floating-cart[data-presentation='orb'] .lio-floating-cart__copy,
.lio-floating-cart[data-presentation='orb'] .lio-floating-cart__divider,
.lio-floating-cart[data-presentation='orb'] .lio-floating-cart__chevron,
.lio-floating-cart[data-presentation='orb'] .lio-floating-cart__mini-progress {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: scale(.96);
}

/* The expanded surface remains one restrained deep-magenta owner. Its box is
   always absolute, so opening never switches positioning or animates layout. */
.lio-floating-cart__panel,
.lio-floating-cart.is-expanded .lio-floating-cart__panel {
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 100%;
  max-height: calc(100dvh - 48px - env(safe-area-inset-bottom));
  padding: 16px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: var(--lio-panel-radius);
  background: var(--lio-shell);
  color: var(--lio-white);
  box-shadow: var(--lio-shell-shadow);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(6px) scale(.96) translateZ(0);
  transform-origin: bottom right;
  transition:
    opacity var(--lio-motion-fast) ease,
    transform var(--lio-motion-panel) var(--lio-ease-out),
    visibility 0s linear var(--lio-motion-panel);
}

.lio-floating-cart.is-expanded .lio-floating-cart__panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1) translateZ(0);
  transition:
    opacity var(--lio-motion-fast) ease,
    transform var(--lio-motion-panel) var(--lio-ease-out),
    visibility 0s;
}

.lio-floating-cart button.lio-floating-cart__close {
  position: absolute;
  z-index: 10;
  top: 4px;
  left: 6px;
  display: grid;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  place-items: center;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: transparent !important;
  box-shadow: none !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: none !important;
  cursor: pointer;
}

.lio-floating-cart button.lio-floating-cart__close::before {
  content: '\00d7';
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 50%;
  background: rgba(68, 0, 26, .16);
  color: var(--lio-white);
  font-family: Arial, sans-serif;
  font-size: 24px;
  font-weight: 300;
  line-height: 1;
}

.lio-floating-cart button.lio-floating-cart__close:hover::before,
.lio-floating-cart button.lio-floating-cart__close:focus-visible::before {
  background: rgba(68, 0, 26, .28);
}

.lio-floating-cart__head {
  min-height: 48px;
  padding: 0 42px;
  text-align: center;
}

.lio-floating-cart__head strong,
.lio-floating-cart__head small {
  display: block;
}

.lio-floating-cart__head strong {
  color: var(--lio-white);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.55;
}

.lio-floating-cart__head small {
  margin-top: 2px;
  color: rgba(255, 255, 255, .9);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.7;
}

/* Restrained compositor-only reveal; the three beats finish within 270ms. */
.lio-floating-cart__head,
.lio-floating-cart__welcome,
.lio-floating-cart__rail,
.lio-floating-cart__reward,
.lio-floating-cart__actions,
.lio-floating-cart__success {
  opacity: 0;
  transform: translateY(4px) translateZ(0);
}

.lio-floating-cart.is-expanded .lio-floating-cart__head {
  animation: lio-content-reveal var(--lio-motion-fast) ease 30ms both;
}

.lio-floating-cart.is-expanded .lio-floating-cart__welcome,
.lio-floating-cart.is-expanded .lio-floating-cart__rail {
  animation: lio-content-reveal var(--lio-motion-fast) ease 60ms both;
}

.lio-floating-cart.is-expanded .lio-floating-cart__reward,
.lio-floating-cart.is-expanded .lio-floating-cart__actions,
.lio-floating-cart.is-expanded .lio-floating-cart__success {
  animation: lio-content-reveal var(--lio-motion-fast) ease 90ms both;
}

.lio-floating-cart[data-busy='true'] .lio-floating-cart__rail,
.lio-floating-cart[data-busy='true'] .lio-floating-cart__reward,
.lio-floating-cart[data-busy='true'] .lio-floating-cart__success,
.lio-floating-cart[data-busy='true'] .lio-floating-cart__hero-gift {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  animation: none !important;
}

.lio-floating-cart__welcome {
  display: grid;
  gap: 10px;
}

.lio-floating-cart__welcome[hidden] {
  display: none !important;
}

.lio-floating-cart__welcome-card {
  position: relative;
  display: grid;
  align-items: center;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 20px;
  background: rgba(255, 255, 255, .1);
}

.lio-floating-cart__welcome-reward {
  min-height: 158px;
  grid-template-columns: 42% 58%;
  direction: ltr;
}

.lio-floating-cart__welcome-shipping {
  min-height: 78px;
  grid-template-columns: 50% 50%;
  direction: ltr;
  border-color: rgba(85, 212, 207, .32);
  background: rgba(11, 119, 121, .28);
}

.lio-floating-cart__welcome-copy {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 12px 12px 12px 8px;
  direction: rtl;
  text-align: center;
}

.lio-floating-cart__welcome-copy strong,
.lio-floating-cart__welcome-copy small {
  display: block;
}

.lio-floating-cart__welcome-reward .lio-floating-cart__welcome-copy strong {
  color: var(--lio-white);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.3;
}

.lio-floating-cart__welcome-title-line {
  display: block;
}

.lio-floating-cart__welcome-title-amount {
  margin: 1px 0;
  color: #b8fffb;
  font-size: 27px;
  font-weight: 800;
  line-height: 1.15;
}

.lio-floating-cart__welcome-reward .lio-floating-cart__welcome-copy small {
  color: rgba(255, 255, 255, .9);
  font-size: 11.5px;
  font-weight: 550;
  line-height: 1.7;
}

.lio-floating-cart__welcome-shipping .lio-floating-cart__welcome-copy {
  gap: 1px;
  padding: 7px 10px 7px 7px;
}

.lio-floating-cart__welcome-shipping .lio-floating-cart__welcome-copy strong {
  color: #c4fffc;
  font-size: 23px;
  font-weight: 800;
  line-height: 1.18;
}

.lio-floating-cart__welcome-shipping .lio-floating-cart__welcome-copy strong span {
  display: block;
}

.lio-floating-cart__welcome-shipping .lio-floating-cart__welcome-copy small {
  color: rgba(255, 255, 255, .86);
  font-size: 10.5px;
  font-weight: 650;
  line-height: 1.45;
}

.lio-floating-cart__welcome-art {
  position: relative;
  z-index: 1;
  display: block;
  place-self: center;
  pointer-events: none;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.lio-floating-cart__welcome-gift-art {
  width: 128px;
  height: 128px;
  background-image: url('welcome-gift-3d-v1.webp');
}

.lio-floating-cart__welcome-truck-art {
  width: 120px;
  height: 80px;
  background-image: url('welcome-truck-3d-v1.webp');
}

.lio-floating-cart[data-motion='intro'][data-stage='offer'] .lio-floating-cart__panel {
  padding: 14px;
}

.lio-floating-cart[data-motion='intro'][data-stage='offer'] .lio-floating-cart__head {
  min-height: 70px;
  padding: 2px 42px 7px;
  text-align: center;
}

.lio-floating-cart[data-motion='intro'][data-stage='offer'] .lio-floating-cart__head strong {
  display: grid;
  gap: 0;
  place-items: center;
  white-space: normal;
  line-height: 1.3;
}

.lio-floating-cart__welcome-head-kicker {
  color: rgba(255, 255, 255, .86);
  font-size: 15px;
  font-weight: 700;
}

.lio-floating-cart__welcome-head-title {
  color: var(--lio-white);
  font-size: 27px;
  font-weight: 800;
  line-height: 1.25;
}

.lio-floating-cart[data-motion='intro'][data-stage='offer'] .lio-floating-cart__head small {
  position: relative;
  display: grid;
  width: 76px;
  margin: 4px auto 0;
  place-items: center;
  color: var(--lio-aqua);
  font-size: 15px;
  line-height: 1;
}

.lio-floating-cart[data-motion='intro'][data-stage='offer'] .lio-floating-cart__head small::before,
.lio-floating-cart[data-motion='intro'][data-stage='offer'] .lio-floating-cart__head small::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 24px;
  height: 1px;
  background: rgba(255, 255, 255, .34);
}

.lio-floating-cart[data-motion='intro'][data-stage='offer'] .lio-floating-cart__head small::before {
  right: 0;
}

.lio-floating-cart[data-motion='intro'][data-stage='offer'] .lio-floating-cart__head small::after {
  left: 0;
}

.lio-floating-cart[data-motion='intro'] .lio-floating-cart__rail,
.lio-floating-cart[data-motion='intro'] .lio-floating-cart__reward,
.lio-floating-cart[data-motion='intro'] .lio-floating-cart__actions,
.lio-floating-cart[data-motion='intro'] .lio-floating-cart__success {
  display: none;
}

/* One sub-second win story: a short anticipation compresses the present,
   the lid snaps open, a directional burst clears the box, and the turquoise
   confirmation lands after the burst. Only transform/opacity animate. */
.lio-floating-cart__prize {
  position: absolute;
  z-index: 8;
  top: 50px;
  left: 50%;
  width: 172px;
  height: 118px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) translateZ(0);
}

.lio-floating-cart__prize::before,
.lio-floating-cart__prize::after {
  content: '';
  position: absolute;
  z-index: 0;
  top: 34px;
  left: 50%;
  width: 82px;
  height: 82px;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%) scale(.42) translateZ(0);
}

.lio-floating-cart__prize::before {
  background: radial-gradient(circle, rgba(115, 235, 228, .44) 0 20%, rgba(255, 255, 255, .2) 42%, rgba(245, 23, 112, 0) 72%);
}

.lio-floating-cart__prize::after {
  width: 58px;
  height: 58px;
  border: 2px solid rgba(115, 235, 228, .82);
}

.lio-floating-cart__prize-gift {
  position: absolute;
  z-index: 2;
  bottom: 2px;
  left: 50%;
  width: 74px;
  height: 74px;
  transform: translateX(-50%) translateZ(0);
}

.lio-floating-cart__prize-gift svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.lio-floating-cart__prize-gift .gift-shadow {
  fill: rgba(55, 0, 21, .22);
}

.lio-floating-cart__prize-gift .gift-lid {
  transform-origin: 10px 18px;
}

.lio-floating-cart__prize-check {
  position: absolute;
  z-index: 4;
  top: 40px;
  left: 50%;
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 2px solid var(--lio-white);
  border-radius: 50%;
  background: var(--lio-teal);
  color: var(--lio-white);
  box-shadow: 0 8px 18px rgba(47, 0, 19, .24), 0 0 0 5px rgba(115, 235, 228, .16);
  font: 800 22px/1 Tahoma, Arial, sans-serif;
  transform: translateX(-50%) translateY(8px) rotate(-8deg) scale(.56);
}

.lio-floating-cart__prize-confetti,
.lio-floating-cart__prize-confetti i {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.lio-floating-cart__prize-confetti i {
  top: 70px;
  left: calc(50% - 3px);
  width: var(--w, 6px);
  height: var(--h, 11px);
  border-radius: var(--radius, 3px);
  background: var(--piece-color, var(--lio-aqua));
  opacity: 0;
  transform-origin: center;
}

.lio-floating-cart__prize-confetti i:nth-child(1) { --x: -76px; --y: -42px; --fy: -22px; --r: -250deg; --delay: 620ms; --piece-color: #55d4cf; }
.lio-floating-cart__prize-confetti i:nth-child(2) { --x: -61px; --y: -70px; --fy: -49px; --r: 190deg; --delay: 700ms; --piece-color: #ffbad3; --w: 7px; --h: 12px; }
.lio-floating-cart__prize-confetti i:nth-child(3) { --x: -42px; --y: -86px; --fy: -63px; --r: -165deg; --delay: 660ms; --piece-color: #ffbd59; --w: 8px; --h: 8px; --radius: 50%; }
.lio-floating-cart__prize-confetti i:nth-child(4) { --x: -20px; --y: -67px; --fy: -45px; --r: 280deg; --delay: 760ms; --piece-color: #fff; }
.lio-floating-cart__prize-confetti i:nth-child(5) { --x: -7px; --y: -91px; --fy: -65px; --r: -220deg; --delay: 640ms; --piece-color: #55d4cf; --w: 7px; --h: 7px; --radius: 50%; }
.lio-floating-cart__prize-confetti i:nth-child(6) { --x: 15px; --y: -74px; --fy: -52px; --r: 245deg; --delay: 720ms; --piece-color: #ffbad3; }
.lio-floating-cart__prize-confetti i:nth-child(7) { --x: 36px; --y: -88px; --fy: -64px; --r: -180deg; --delay: 680ms; --piece-color: #ffbd59; --w: 8px; --h: 8px; --radius: 50%; }
.lio-floating-cart__prize-confetti i:nth-child(8) { --x: 58px; --y: -68px; --fy: -45px; --r: 225deg; --delay: 780ms; --piece-color: #55d4cf; }
.lio-floating-cart__prize-confetti i:nth-child(9) { --x: 78px; --y: -38px; --fy: -17px; --r: -275deg; --delay: 630ms; --piece-color: #fff; --w: 7px; --h: 12px; }
.lio-floating-cart__prize-confetti i:nth-child(10) { --x: 67px; --y: -10px; --fy: 10px; --r: 200deg; --delay: 740ms; --piece-color: #f51770; --w: 8px; --h: 8px; --radius: 50%; }
.lio-floating-cart__prize-confetti i:nth-child(11) { --x: -72px; --y: -8px; --fy: 13px; --r: -235deg; --delay: 690ms; --piece-color: #ffbd59; }
.lio-floating-cart__prize-confetti i:nth-child(12) { --x: -48px; --y: -29px; --fy: -7px; --r: 175deg; --delay: 810ms; --piece-color: #55d4cf; --w: 8px; --h: 8px; --radius: 50%; }
.lio-floating-cart__prize-confetti i:nth-child(13) { --x: 45px; --y: -31px; --fy: -8px; --r: -155deg; --delay: 760ms; --piece-color: #ffbad3; }
.lio-floating-cart__prize-confetti i:nth-child(14) { --x: 5px; --y: -48px; --fy: -24px; --r: 310deg; --delay: 840ms; --piece-color: #fff; --w: 7px; --h: 7px; --radius: 50%; }

.lio-floating-cart.is-expanded[data-unlock='true'][data-celebrating='true'][data-unlock-kind='reward'] .lio-floating-cart__prize {
  visibility: visible;
  animation: lio-prize-scene 2160ms linear both;
  will-change: opacity;
}

.lio-floating-cart.is-expanded[data-unlock='true'][data-celebrating='true'][data-unlock-kind='reward'] .lio-floating-cart__prize::before {
  animation: lio-prize-glow 1100ms var(--lio-ease-out) 360ms both;
  will-change: transform, opacity;
}

.lio-floating-cart.is-expanded[data-unlock='true'][data-celebrating='true'][data-unlock-kind='reward'] .lio-floating-cart__prize::after {
  animation: lio-prize-ring 900ms var(--lio-ease-out) 560ms both;
  will-change: transform, opacity;
}

.lio-floating-cart.is-expanded[data-unlock='true'][data-celebrating='true'][data-unlock-kind='reward'] .lio-floating-cart__prize-gift {
  animation: lio-prize-box 1680ms var(--lio-ease-out) both;
  will-change: transform;
}

.lio-floating-cart.is-expanded[data-unlock='true'][data-celebrating='true'][data-unlock-kind='reward'] .lio-floating-cart__prize-gift .gift-lid {
  animation: lio-prize-lid 1560ms var(--lio-ease-out) both;
  will-change: transform;
}

.lio-floating-cart.is-expanded[data-unlock='true'][data-celebrating='true'][data-unlock-kind='reward'] .lio-floating-cart__prize-confetti i {
  animation: lio-prize-confetti 980ms cubic-bezier(.22, 1, .36, 1) var(--delay) both;
  will-change: transform, opacity;
}

.lio-floating-cart.is-expanded[data-unlock='true'][data-celebrating='true'][data-unlock-kind='reward'] .lio-floating-cart__prize-check {
  animation: lio-prize-check 520ms cubic-bezier(.34, 1.56, .64, 1) 1040ms both;
  will-change: transform, opacity;
}

.lio-floating-cart__hero-gift {
  position: absolute;
  z-index: 1;
  display: none;
  pointer-events: none;
}

.lio-floating-cart__hero-gift svg {
  width: 52px;
  height: 52px;
  overflow: visible;
  filter: none;
}

.lio-floating-cart[data-stage='offer']:not([data-motion='intro']) .lio-floating-cart__hero-gift {
  top: 12px;
  right: 14px;
  display: block;
}

.lio-floating-cart[data-stage='offer']:not([data-motion='intro']) .lio-floating-cart__head {
  padding-right: 58px;
}

.lio-floating-cart__hero-gift .gift-shadow,
.lio-floating-cart__gift .gift-shadow {
  fill: rgba(64, 0, 24, .18);
}

.lio-floating-cart__hero-gift .gift-box,
.lio-floating-cart__gift .gift-box {
  fill: rgba(255, 255, 255, .94);
  stroke: rgba(255, 255, 255, .72);
  stroke-width: 1;
}

.lio-floating-cart__hero-gift .gift-lid > rect:first-child,
.lio-floating-cart__gift .gift-lid > rect:first-child {
  fill: var(--lio-white);
  stroke: rgba(255, 255, 255, .72);
  stroke-width: 1;
}

.lio-floating-cart__hero-gift .gift-box-shine,
.lio-floating-cart__hero-gift .gift-lid-shine,
.lio-floating-cart__gift .gift-box-shine,
.lio-floating-cart__gift .gift-lid-shine {
  fill: rgba(209, 12, 89, .08);
}

.lio-floating-cart__hero-gift .gift-ribbon,
.lio-floating-cart__hero-gift .gift-bow,
.lio-floating-cart__gift .gift-ribbon,
.lio-floating-cart__gift .gift-bow {
  fill: var(--lio-aqua);
  stroke: var(--lio-teal);
  stroke-width: 1;
}

/* The win scene keeps the reference's pink present and turquoise ribbon.
   These fills are explicit because reusable inline SVG paths intentionally do
   not carry presentation attributes. */
.lio-floating-cart__prize-gift .gift-shadow {
  fill: rgba(64, 0, 24, .22);
}

.lio-floating-cart__prize-gift .gift-box {
  fill: #f51770;
  stroke: rgba(255, 177, 205, .9);
  stroke-width: 1;
}

.lio-floating-cart__prize-gift .gift-lid > rect:first-child {
  fill: #ff5b98;
  stroke: rgba(255, 194, 216, .94);
  stroke-width: 1;
}

.lio-floating-cart__prize-gift .gift-box-shine,
.lio-floating-cart__prize-gift .gift-lid-shine {
  fill: rgba(255, 255, 255, .28);
}

.lio-floating-cart__prize-gift .gift-ribbon,
.lio-floating-cart__prize-gift .gift-bow {
  fill: var(--lio-aqua);
  stroke: var(--lio-teal);
  stroke-width: 1;
}

.lio-floating-cart__rail {
  position: relative;
  height: 76px;
  margin: 8px 0 10px;
  direction: ltr;
}

.lio-floating-cart__track,
.lio-floating-cart__fill {
  position: absolute;
  top: 31px;
  height: 6px;
  border-radius: 999px;
}

.lio-floating-cart__track {
  right: 7%;
  left: 7%;
  background: rgba(255, 255, 255, .24);
}

.lio-floating-cart__fill {
  left: 7%;
  width: 0;
  background: var(--lio-aqua);
  transform: scaleX(var(--lio-progress-scale, 0));
  transform-origin: left center;
  transition: transform 360ms var(--lio-ease-out);
}

.lio-floating-cart__progress-badge {
  position: absolute;
  z-index: 4;
  top: 28px;
  width: 12px;
  min-width: 12px;
  height: 12px;
  padding: 0;
  border: 2px solid var(--lio-white);
  border-radius: 50%;
  background: var(--lio-aqua);
  font-size: 0;
  transform: translateX(-50%);
}

.lio-floating-cart__progress-badge::after {
  display: none;
}

.lio-floating-cart__progress-badge[hidden] {
  display: none !important;
}

.lio-floating-cart__milestone {
  position: absolute;
  top: 8px;
  display: grid;
  width: 48px;
  place-items: center;
  color: var(--lio-white);
  transform: translateX(-50%);
}

.lio-floating-cart__milestone[hidden] {
  display: none !important;
}

.lio-floating-cart__milestone svg {
  width: 38px;
  height: 34px;
  overflow: visible;
  filter: none;
}

.lio-floating-cart__milestone b {
  position: absolute;
  top: 44px;
  width: 118px;
  color: var(--lio-white);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.5;
  white-space: normal;
}

.lio-floating-cart__milestone i {
  position: absolute;
  top: -2px;
  right: 0;
  display: none;
  width: 18px;
  height: 18px;
  border: 1.5px solid var(--lio-white);
  border-radius: 50%;
  background: var(--lio-teal);
  color: var(--lio-white);
  font: 700 11px/16px Tahoma, Arial, sans-serif;
  font-style: normal;
  text-align: center;
}

.lio-floating-cart__truck b {
  right: 0;
  text-align: right;
}

.lio-floating-cart__gift b {
  left: 0;
  text-align: left;
}

.lio-floating-cart__gift-amount {
  display: inline;
  color: #b8fffb;
  font-size: 1.06em;
  font-weight: 800;
  line-height: 1;
}

.lio-floating-cart__truck svg {
  opacity: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* The milestone and the moving story reuse the exact optimized 3D truck from
   Welcome. This keeps one visual identity without adding another asset. */
.lio-floating-cart__truck {
  width: 60px;
  background: url('welcome-truck-3d-v1.webp') center 0 / 60px 40px no-repeat;
}

.lio-floating-cart__truck .truck-shadow,
.lio-floating-cart__success-truck .truck-shadow {
  fill: rgba(64, 0, 24, .18);
  stroke: none;
}

.lio-floating-cart__truck .truck-box,
.lio-floating-cart__success-truck .truck-box {
  fill: var(--lio-aqua);
}

.lio-floating-cart__truck .truck-box-shine,
.lio-floating-cart__success-truck .truck-box-shine {
  fill: rgba(255, 255, 255, .32);
  stroke: none;
}

.lio-floating-cart__truck .truck-cab,
.lio-floating-cart__success-truck .truck-cab,
.lio-floating-cart__truck .truck-wheel,
.lio-floating-cart__success-truck .truck-wheel {
  fill: var(--lio-white);
}

.lio-floating-cart__truck .truck-window,
.lio-floating-cart__truck .truck-hub,
.lio-floating-cart__success-truck .truck-window,
.lio-floating-cart__success-truck .truck-hub {
  fill: rgba(209, 12, 89, .18);
  stroke: none;
}

.lio-floating-cart__truck .truck-detail {
  opacity: .62;
}

.lio-floating-cart__gift .gift-lid {
  transform-origin: 10px 18px;
  transition: transform var(--lio-motion-panel) var(--lio-ease-out);
}

.lio-floating-cart[data-reward-complete='true'] .lio-floating-cart__gift .gift-lid {
  transform: translateY(-7px) rotate(-8deg);
}

.lio-floating-cart[data-stage='offer'] .lio-floating-cart__truck {
  opacity: 0;
  visibility: hidden;
}

.lio-floating-cart[data-stage='offer'] .lio-floating-cart__gift svg {
  display: none;
}

.lio-floating-cart[data-stage='offer'] .lio-floating-cart__gift b {
  right: 0;
  left: auto;
  text-align: right;
}

.lio-floating-cart[data-stage='offer'] .lio-floating-cart__rail::before {
  content: '';
  position: absolute;
  z-index: 2;
  top: 28px;
  left: calc(7% - 6px);
  width: 12px;
  height: 12px;
  border: 2px solid rgba(255, 255, 255, .74);
  border-radius: 50%;
  background: rgba(255, 255, 255, .34);
}

.lio-floating-cart[data-stage='offer'] .lio-floating-cart__rail::after {
  content: 'شروع';
  position: absolute;
  top: 54px;
  left: 0;
  color: rgba(255, 255, 255, .88);
  font-size: 11px;
  font-weight: 650;
}

.lio-floating-cart[data-stage='gift'] .lio-floating-cart__truck i,
.lio-floating-cart[data-stage='reward'] .lio-floating-cart__truck i,
.lio-floating-cart[data-stage='shipping_complete'] .lio-floating-cart__truck i,
.lio-floating-cart[data-stage='spend_complete'] .lio-floating-cart__truck i,
.lio-floating-cart[data-reward-complete='true'] .lio-floating-cart__gift i {
  display: block;
}

.lio-floating-cart[data-stage='reward'] .lio-floating-cart__gift .gift-lid {
  transform: translate(-3px, -7px) rotate(-11deg);
}

.lio-floating-cart[data-stage='contextual'] .lio-floating-cart__rail {
  display: none;
}

.lio-floating-cart.is-expanded[data-unlock='true'][data-celebrating='true'][data-unlock-kind='reward'] .lio-floating-cart__gift i {
  animation: lio-check-arrive 300ms var(--lio-ease-out) 1280ms both;
}

.lio-floating-cart.is-expanded[data-unlock='true'][data-celebrating='true'][data-unlock-kind='reward'] .lio-floating-cart__gift svg {
  animation: lio-gift-arrive 300ms var(--lio-ease-out) 1280ms both;
}

.lio-floating-cart.is-expanded[data-unlock='true'][data-celebrating='true'][data-unlock-kind='shipping'] .lio-floating-cart__truck i {
  animation: lio-check-arrive 320ms var(--lio-ease-out) 1380ms both;
}

.lio-floating-cart__success-truck {
  position: absolute;
  z-index: 4;
  top: -1px;
  left: 93%;
  display: none;
  width: 72px;
  height: 48px;
  background: url('welcome-truck-3d-v1.webp') center / contain no-repeat;
  color: var(--lio-white);
  transform: translateX(-50%);
}

.lio-floating-cart__shipping-parcel,
.lio-floating-cart__shipping-pickup-check {
  position: absolute;
  z-index: 6;
  left: 50%;
  display: none;
  pointer-events: none;
}

.lio-floating-cart__shipping-parcel {
  top: -3px;
  width: 27px;
  height: 23px;
  border: 1px solid rgba(255, 255, 255, .88);
  border-radius: 7px;
  background: linear-gradient(145deg, #fff 0 38%, #ffbad3 100%);
  box-shadow: 0 5px 12px rgba(47, 0, 19, .2);
  opacity: 0;
  transform: translateX(-50%) scale(.8) translateZ(0);
}

.lio-floating-cart__shipping-parcel::before,
.lio-floating-cart__shipping-parcel::after {
  content: '';
  position: absolute;
  border-radius: 999px;
  background: var(--lio-aqua);
}

.lio-floating-cart__shipping-parcel::before {
  top: 0;
  bottom: 0;
  left: 11px;
  width: 5px;
}

.lio-floating-cart__shipping-parcel::after {
  top: 9px;
  right: 0;
  left: 0;
  height: 5px;
}

.lio-floating-cart__shipping-parcel i {
  position: absolute;
  z-index: 1;
  top: -5px;
  left: 50%;
  width: 8px;
  height: 8px;
  border: 2px solid var(--lio-teal);
  border-right: 0;
  border-bottom: 0;
  border-radius: 7px 2px 0 2px;
  transform: translateX(-50%) rotate(45deg);
}

.lio-floating-cart__shipping-pickup-check {
  top: -9px;
  width: 25px;
  height: 25px;
  place-items: center;
  border: 2px solid var(--lio-white);
  border-radius: 50%;
  background: var(--lio-teal);
  color: var(--lio-white);
  font: 800 14px/1 Tahoma, Arial, sans-serif;
  opacity: 0;
  transform: translateX(-50%) scale(.5) translateZ(0);
}

.lio-floating-cart__success-truck svg {
  width: 72px;
  height: 48px;
  overflow: visible;
  opacity: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
}

.lio-floating-cart.is-expanded[data-unlock='true'][data-celebrating='true'][data-unlock-kind='shipping'] .lio-floating-cart__success-truck {
  display: block;
}

/* During the one-shot drive, keep the destination label/check but remove its
   duplicate parked vehicle. The same 3D truck returns as the parked milestone
   as soon as the moving pickup story has finished. */
.lio-floating-cart.is-shipping-driving .lio-floating-cart__truck {
  background-image: none;
}

.lio-floating-cart.is-shipping-driving .lio-floating-cart__success-truck {
  will-change: transform, opacity;
}

.lio-floating-cart.is-shipping-driving .lio-floating-cart__shipping-parcel {
  display: block;
  animation: lio-shipping-parcel-pickup 1760ms linear both;
  will-change: transform, opacity;
}

.lio-floating-cart.is-shipping-driving .lio-floating-cart__shipping-pickup-check {
  display: grid;
  animation: lio-shipping-pickup-check 1760ms linear both;
  will-change: transform, opacity;
}

.lio-floating-cart__success-truck::before,
.lio-floating-cart__success-truck::after {
  content: '';
  position: absolute;
  pointer-events: none;
  opacity: 0;
}

.lio-floating-cart__success-truck::before {
  top: 15px;
  left: -34px;
  width: 30px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(115, 235, 228, 0), rgba(115, 235, 228, .9));
  box-shadow: 0 8px 0 rgba(255, 255, 255, .42);
  transform: scaleX(.3) translateZ(0);
  transform-origin: right center;
}

.lio-floating-cart__success-truck::after {
  top: 8px;
  left: 50%;
  width: 38px;
  height: 38px;
  border: 2px solid rgba(115, 235, 228, .74);
  border-radius: 50%;
  transform: translateX(-50%) scale(.45) translateZ(0);
}

.lio-floating-cart.is-shipping-driving .lio-floating-cart__success-truck::before {
  animation: lio-truck-streak 1760ms linear both;
}

.lio-floating-cart.is-shipping-driving .lio-floating-cart__success-truck::after {
  animation: lio-truck-arrival-ring 1760ms var(--lio-ease-out) both;
}

.lio-floating-cart.is-shipping-driving .lio-floating-cart__success-truck .truck-shell {
  animation: lio-truck-suspension 1760ms linear both;
  transform-box: fill-box;
  transform-origin: center;
}

.lio-floating-cart__success-truck .truck-wheel-spokes {
  fill: none;
  stroke: rgba(255, 255, 255, .9);
  stroke-width: 1;
  stroke-linecap: round;
  transform-box: fill-box;
  transform-origin: center;
}

.lio-floating-cart.is-shipping-driving .lio-floating-cart__success-truck .truck-wheel-spokes {
  animation: lio-truck-wheel-spin 1760ms linear both;
}

.lio-floating-cart__reward {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 4px 10px;
  margin: 6px 0 10px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 16px;
  background: rgba(67, 0, 25, .18);
  color: var(--lio-white);
}

.lio-floating-cart__reward[hidden] {
  display: none !important;
}

.lio-floating-cart__reward > span {
  font-size: 12px;
  font-weight: 700;
}

.lio-floating-cart button.lio-floating-cart__reward-copy {
  display: inline-flex;
  min-width: 116px !important;
  min-height: 44px !important;
  align-items: center;
  justify-content: center;
  justify-self: end;
  gap: 8px;
  margin: 0 !important;
  padding: 7px 11px !important;
  border: 1px solid rgba(255, 255, 255, .34) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .1) !important;
  color: var(--lio-white) !important;
  box-shadow: none !important;
  text-transform: none !important;
  cursor: pointer;
}

.lio-floating-cart__reward-copy > strong {
  direction: ltr;
  color: #b8fffb;
  font: 800 17px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: .04em;
  user-select: all;
}

.lio-floating-cart__reward-copy > span {
  color: rgba(255, 255, 255, .9);
  font-size: 10.5px;
  font-weight: 700;
  white-space: nowrap;
}

.lio-floating-cart__reward-copy[data-copied='true'] {
  border-color: rgba(85, 212, 207, .72) !important;
  background: rgba(11, 119, 121, .4) !important;
}

.lio-floating-cart__reward-copy[data-copied='error'] {
  border-color: rgba(255, 255, 255, .54) !important;
}

.lio-floating-cart__reward > small {
  grid-column: 1 / -1;
  color: rgba(255, 255, 255, .9);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.75;
}

.lio-floating-cart__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.lio-floating-cart__continue,
.lio-floating-cart__cart-link {
  display: grid;
  width: 100% !important;
  min-inline-size: 44px;
  min-block-size: 44px;
  min-width: 44px;
  min-height: 44px;
  place-items: center;
  margin: 0;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  text-transform: none;
}

.lio-floating-cart__continue {
  border: 1px solid rgba(255, 255, 255, .42) !important;
  background: rgba(255, 255, 255, .08) !important;
  color: var(--lio-white) !important;
  box-shadow: none !important;
  cursor: pointer;
}

.lio-floating-cart__continue[hidden] {
  display: none !important;
}

.lio-floating-cart__cart-link,
.lio-floating-cart[data-action-mode='double'] .lio-floating-cart__cart-link {
  border: 1px solid rgba(255, 255, 255, .28) !important;
  background: var(--lio-teal) !important;
  color: var(--lio-white) !important;
  box-shadow: none !important;
}

.lio-floating-cart__continue:hover,
.lio-floating-cart__cart-link:hover {
  color: var(--lio-white);
  filter: brightness(1.05);
}

.lio-floating-cart[data-action-mode='double'] .lio-floating-cart__actions {
  grid-template-columns: 1fr 1fr;
}

.lio-floating-cart__success {
  display: grid;
  min-height: 54px;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 6px 8px 6px 12px;
  border: 1px solid rgba(85, 212, 207, .38);
  border-radius: 18px;
  background: rgba(11, 119, 121, .32);
  color: var(--lio-white);
}

.lio-floating-cart__success[hidden] {
  display: none !important;
}

.lio-floating-cart__success strong {
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.65;
}

.lio-floating-cart__capsule:focus-visible,
.lio-floating-cart__close:focus-visible,
.lio-floating-cart__reward-copy:focus-visible,
.lio-floating-cart__continue:focus-visible,
.lio-floating-cart__cart-link:focus-visible {
  outline: 3px solid var(--lio-white);
  outline-offset: 2px;
}

.lio-floating-cart__live {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.lio-floating-cart__fly {
  position: fixed;
  z-index: 100000;
  margin: 0;
  object-fit: cover;
  border: 1px solid rgba(255, 255, 255, .88);
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(48, 0, 19, .2);
  pointer-events: none;
  will-change: transform, opacity;
}

.lio-floating-cart__capsule.is-receiving {
  animation: lio-capsule-receive 320ms var(--lio-ease-out);
}

/* Cart uses the same fixed owner; only the panel itself scrolls when required. */
body.woocommerce-cart .lio-floating-cart.is-expanded .lio-floating-cart__panel {
  max-height: calc(100dvh - 126px - env(safe-area-inset-bottom));
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

@keyframes lio-content-reveal {
  from { opacity: 0; transform: translateY(4px) translateZ(0); }
  to { opacity: 1; transform: translateY(0) translateZ(0); }
}

@keyframes lio-capsule-receive {
  0% { transform: scale(1) translateZ(0); }
  50% { transform: scale(.97) translateZ(0); }
  100% { transform: scale(1) translateZ(0); }
}

@keyframes lio-check-arrive {
  from { opacity: 0; transform: scale(.8); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes lio-gift-arrive {
  from { opacity: 0; transform: translateY(3px) scale(.94); }
  to { opacity: 1; transform: none; }
}

@keyframes lio-prize-scene {
  0% { opacity: 0; }
  3%, 91% { opacity: 1; }
  100% { opacity: 0; }
}

@keyframes lio-prize-box {
  0% { transform: translateX(-50%) translateY(7px) rotate(0) scale(.82) translateZ(0); }
  11% { transform: translateX(-50%) translateY(2px) rotate(1.4deg) scale(.95) translateZ(0); }
  20% { transform: translateX(-50%) translateY(5px) rotate(-1.8deg) scale(.9) translateZ(0); }
  29% { transform: translateX(-50%) translateY(1px) rotate(1deg) scale(.98) translateZ(0); }
  38% { transform: translateX(-50%) translateY(6px) rotate(-2deg) scale(.86) translateZ(0); }
  48% { transform: translateX(-50%) translateY(-7px) rotate(1.2deg) scale(1.14) translateZ(0); }
  59% { transform: translateX(-50%) translateY(2px) rotate(-.6deg) scale(.97) translateZ(0); }
  69% { transform: translateX(-50%) translateY(-1px) rotate(.2deg) scale(1.025) translateZ(0); }
  78%, 100% { transform: translateX(-50%) translateY(0) rotate(0) scale(1) translateZ(0); }
}

@keyframes lio-prize-lid {
  0%, 31% { transform: none; }
  37% { transform: translate3d(1px, -3px, 0) rotate(4deg); }
  47% { transform: translate3d(-7px, -23px, 0) rotate(-29deg); }
  57% { transform: translate3d(-3px, -13px, 0) rotate(-14deg); }
  66% { transform: translate3d(-5px, -18px, 0) rotate(-20deg); }
  76%, 100% { transform: translate3d(-4px, -16px, 0) rotate(-18deg); }
}

@keyframes lio-prize-confetti {
  0% { opacity: 0; transform: translate3d(0, 0, 0) rotate(0) scale(.35); }
  9% { opacity: 1; }
  58% { opacity: 1; transform: translate3d(var(--x), var(--y), 0) rotate(var(--r)) scale(1.08); }
  74% { opacity: 1; transform: translate3d(var(--x), calc(var(--y) + 5px), 0) rotate(var(--r)) scale(1); }
  100% { opacity: 0; transform: translate3d(var(--x), var(--fy), 0) rotate(var(--r)) scale(.82); }
}

@keyframes lio-prize-check {
  0% { opacity: 0; transform: translateX(-50%) translateY(9px) rotate(-10deg) scale(.52); }
  46% { opacity: 1; transform: translateX(-50%) translateY(-3px) rotate(3deg) scale(1.18); }
  68% { opacity: 1; transform: translateX(-50%) translateY(1px) rotate(-1deg) scale(.95); }
  84% { opacity: 1; transform: translateX(-50%) translateY(-1px) rotate(0) scale(1.03); }
  100% { opacity: 1; transform: translateX(-50%) translateY(0) rotate(0) scale(1); }
}

@keyframes lio-prize-glow {
  0% { opacity: 0; transform: translateX(-50%) scale(.38) translateZ(0); }
  44% { opacity: .96; transform: translateX(-50%) scale(1.08) translateZ(0); }
  100% { opacity: 0; transform: translateX(-50%) scale(1.42) translateZ(0); }
}

@keyframes lio-prize-ring {
  0% { opacity: 0; transform: translateX(-50%) scale(.46) translateZ(0); }
  28% { opacity: .9; }
  100% { opacity: 0; transform: translateX(-50%) scale(1.72) translateZ(0); }
}

@keyframes lio-shipping-parcel-pickup {
  0%, 27% { opacity: 0; transform: translateX(-50%) translateY(5px) rotate(0) scale(.7) translateZ(0); }
  32% { opacity: 1; transform: translateX(-50%) translateY(-2px) rotate(-2deg) scale(1.06) translateZ(0); }
  38%, 43% { opacity: 1; transform: translateX(-50%) translateY(0) rotate(0) scale(1) translateZ(0); }
  50% { opacity: 1; transform: translateX(-50%) translateY(-13px) rotate(-8deg) scale(1.1) translateZ(0); }
  57% { opacity: .96; transform: translateX(-50%) translateY(13px) rotate(3deg) scale(.58) translateZ(0); }
  64%, 100% { opacity: 0; transform: translateX(-50%) translateY(17px) rotate(3deg) scale(.4) translateZ(0); }
}

@keyframes lio-shipping-pickup-check {
  0%, 54% { opacity: 0; transform: translateX(-50%) scale(.5) translateZ(0); }
  63% { opacity: 1; transform: translateX(-50%) scale(1.18) translateZ(0); }
  73% { opacity: 1; transform: translateX(-50%) scale(1) translateZ(0); }
  84%, 100% { opacity: 0; transform: translateX(-50%) translateY(-5px) scale(.92) translateZ(0); }
}

@keyframes lio-truck-streak {
  0%, 8% { opacity: 0; transform: scaleX(.3) translateZ(0); }
  18%, 34% { opacity: .9; transform: scaleX(1) translateZ(0); }
  41%, 58% { opacity: 0; transform: scaleX(.45) translateZ(0); }
  67%, 88% { opacity: .86; transform: scaleX(1) translateZ(0); }
  100% { opacity: 0; transform: scaleX(.28) translateZ(0); }
}

@keyframes lio-truck-arrival-ring {
  0%, 84% { opacity: 0; transform: translateX(-50%) scale(.45) translateZ(0); }
  91% { opacity: .88; transform: translateX(-50%) scale(.72) translateZ(0); }
  100% { opacity: 0; transform: translateX(-50%) scale(1.38) translateZ(0); }
}

@keyframes lio-truck-suspension {
  0%, 32%, 100% { transform: translateY(0) rotate(0); }
  38% { transform: translateY(1.5px) rotate(-1deg); }
  45% { transform: translateY(-1px) rotate(.7deg); }
  55% { transform: translateY(1px) rotate(-.5deg); }
  64% { transform: translateY(-1px) rotate(.5deg); }
  90% { transform: translateY(-1.5px) rotate(.5deg); }
  96% { transform: translateY(.8px) rotate(-.3deg); }
}

@keyframes lio-truck-wheel-spin {
  from { transform: rotate(0); }
  to { transform: rotate(900deg); }
}

@media (max-width: 560px) {
  .lio-floating-cart {
    --lio-owner-width: 358px;
    right: max(16px, env(safe-area-inset-right));
    bottom: calc(90px + env(safe-area-inset-bottom));
    width: min(var(--lio-owner-width), calc(100vw - 32px));
    transform-origin: bottom right;
  }

  .lio-floating-cart.is-expanded {
    width: min(var(--lio-owner-width), calc(100vw - 32px));
  }

  .lio-floating-cart__panel,
  .lio-floating-cart.is-expanded .lio-floating-cart__panel {
    max-height: calc(100dvh - 116px - env(safe-area-inset-bottom));
  }
}

@media (max-width: 360px) {
  .lio-floating-cart {
    --lio-owner-width: calc(100vw - 16px);
    --lio-panel-radius: 24px;
    right: max(8px, env(safe-area-inset-right));
    width: var(--lio-owner-width);
  }

  .lio-floating-cart.is-expanded {
    width: var(--lio-owner-width);
  }

  .lio-floating-cart > button.lio-floating-cart__capsule {
    grid-template-columns: 48px minmax(0, 1fr) 1px 28px;
    column-gap: 7px;
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  .lio-floating-cart__thumbs {
    width: 48px;
    min-width: 48px;
    max-width: 48px;
  }

  .lio-floating-cart__thumb {
    width: 44px;
    height: 48px;
    flex-basis: 44px;
  }

  .lio-floating-cart__copy strong {
    font-size: 15px;
  }

  .lio-floating-cart__copy small {
    max-width: 145px;
    font-size: 11px;
  }

  .lio-floating-cart__panel,
  .lio-floating-cart.is-expanded .lio-floating-cart__panel {
    padding: 14px;
  }

  .lio-floating-cart__head {
    min-height: 44px;
    padding-right: 38px;
    padding-left: 38px;
  }

  .lio-floating-cart__head strong {
    font-size: 15px;
  }

  .lio-floating-cart__head small {
    font-size: 11px;
  }

  .lio-floating-cart__milestone b {
    width: 104px;
    font-size: 11px;
  }

  .lio-floating-cart[data-action-mode='double'] .lio-floating-cart__actions {
    gap: 7px;
  }

  .lio-floating-cart__continue,
  .lio-floating-cart__cart-link {
    padding-right: 8px !important;
    padding-left: 8px !important;
    font-size: 12px;
  }

  .lio-floating-cart__welcome-reward {
    min-height: 150px;
    grid-template-columns: 40% 60%;
  }

  .lio-floating-cart__welcome-shipping {
    min-height: 72px;
  }

  .lio-floating-cart__welcome-gift-art {
    width: 112px;
    height: 112px;
  }

  .lio-floating-cart__welcome-truck-art {
    width: 106px;
    height: 72px;
  }

  .lio-floating-cart__welcome-copy {
    padding: 10px 8px 10px 5px;
  }

  .lio-floating-cart__welcome-reward .lio-floating-cart__welcome-copy strong {
    font-size: 16px;
  }

  .lio-floating-cart__welcome-title-amount {
    font-size: 24px;
  }

  .lio-floating-cart__welcome-reward .lio-floating-cart__welcome-copy small {
    font-size: 11px;
  }

  .lio-floating-cart__welcome-shipping .lio-floating-cart__welcome-copy strong {
    font-size: 21px;
  }
}

@media (max-width: 330px) {
  .lio-floating-cart__welcome-reward {
    min-height: 142px;
    grid-template-columns: 38% 62%;
  }

  .lio-floating-cart__welcome-gift-art {
    width: 94px;
    height: 94px;
  }

  .lio-floating-cart__welcome-truck-art {
    width: 96px;
    height: 64px;
  }

  .lio-floating-cart__welcome-reward .lio-floating-cart__welcome-copy strong {
    font-size: 15px;
  }

  .lio-floating-cart__welcome-title-amount {
    font-size: 22px;
  }

  .lio-floating-cart__welcome-reward .lio-floating-cart__welcome-copy small {
    font-size: 11px;
    line-height: 1.65;
  }
}

@media (prefers-reduced-motion: reduce) {
  /* Repeated class specificity intentionally beats every state selector and
     theme-important transition. Reduced motion is an immediate state change,
     not merely a shorter decorative animation. */
  .lio-floating-cart.lio-floating-cart.lio-floating-cart.lio-floating-cart,
  .lio-floating-cart.lio-floating-cart.lio-floating-cart.lio-floating-cart * {
    transition: none !important;
    animation: none !important;
  }

  .lio-floating-cart.lio-floating-cart::before,
  .lio-floating-cart.lio-floating-cart::after,
  .lio-floating-cart.lio-floating-cart *::before,
  .lio-floating-cart.lio-floating-cart *::after {
    transition: none !important;
    animation: none !important;
  }

  .lio-floating-cart,
  .lio-floating-cart > button.lio-floating-cart__capsule,
  .lio-floating-cart__panel,
  .lio-floating-cart__orb-mark,
  .lio-floating-cart__thumbs,
  .lio-floating-cart__copy,
  .lio-floating-cart__divider,
  .lio-floating-cart__chevron,
  .lio-floating-cart__mini-progress i,
  .lio-floating-cart__fill,
  .lio-floating-cart__gift .gift-lid {
    transition-duration: .01ms !important;
    transition-delay: 0s !important;
  }

  .lio-floating-cart__capsule.is-receiving,
  .lio-floating-cart.is-expanded .lio-floating-cart__head,
  .lio-floating-cart.is-expanded .lio-floating-cart__welcome,
  .lio-floating-cart.is-expanded .lio-floating-cart__rail,
  .lio-floating-cart.is-expanded .lio-floating-cart__reward,
  .lio-floating-cart.is-expanded .lio-floating-cart__actions,
  .lio-floating-cart.is-expanded .lio-floating-cart__success,
  .lio-floating-cart.is-expanded .lio-floating-cart__fill,
  .lio-floating-cart[data-unlock='true'][data-celebrating='true'] .lio-floating-cart__milestone i,
  .lio-floating-cart.is-expanded[data-unlock='true'][data-celebrating='true'] .lio-floating-cart__gift svg,
  .lio-floating-cart.is-expanded[data-unlock='true'][data-celebrating='true'][data-unlock-kind='shipping'] .lio-floating-cart__success-truck {
    animation: none !important;
  }

  .lio-floating-cart.is-expanded .lio-floating-cart__head,
  .lio-floating-cart.is-expanded .lio-floating-cart__welcome,
  .lio-floating-cart.is-expanded .lio-floating-cart__rail,
  .lio-floating-cart.is-expanded .lio-floating-cart__reward,
  .lio-floating-cart.is-expanded .lio-floating-cart__actions,
  .lio-floating-cart.is-expanded .lio-floating-cart__success {
    opacity: 1;
    transform: none;
  }

  .lio-floating-cart__fill {
    transform: scaleX(var(--lio-progress-scale, 0)) !important;
  }

  .lio-floating-cart__mini-progress i {
    transform: scaleX(var(--lio-mini-progress-scale, 0)) !important;
  }

  .lio-floating-cart.is-expanded[data-unlock='true'][data-celebrating='true'][data-unlock-kind='reward'] .lio-floating-cart__prize {
    opacity: 1 !important;
    visibility: visible !important;
  }

  .lio-floating-cart.is-expanded[data-unlock='true'][data-celebrating='true'][data-unlock-kind='reward'] .lio-floating-cart__prize-gift {
    transform: translateX(-50%) translateZ(0) !important;
  }

  .lio-floating-cart.is-expanded[data-unlock='true'][data-celebrating='true'][data-unlock-kind='reward'] .lio-floating-cart__prize-gift .gift-lid {
    transform: translate3d(-4px, -11px, 0) rotate(-14deg) !important;
  }

  .lio-floating-cart.is-expanded[data-unlock='true'][data-celebrating='true'][data-unlock-kind='reward'] .lio-floating-cart__prize-check {
    opacity: 1 !important;
    transform: translateX(-50%) translateY(0) scale(1) !important;
  }

  .lio-floating-cart__prize-confetti {
    display: none !important;
  }

  .lio-floating-cart.is-expanded[data-unlock='true'][data-celebrating='true'][data-unlock-kind='shipping'] .lio-floating-cart__success-truck {
    display: block !important;
    opacity: 1 !important;
    transform: translateX(-50%) !important;
  }

  .lio-floating-cart__shipping-parcel,
  .lio-floating-cart__shipping-pickup-check,
  .lio-floating-cart__success-truck::before,
  .lio-floating-cart__success-truck::after {
    display: none !important;
  }
}
