/* Card 04 art, high-detail pass: lock-screen notifications, no phone chrome. A cart reminder arrives, then a discount nudge,
   then the order confirmation. */
.art--lock { flex: 1; min-height: 196px; margin: 18px -8px 16px; display: flex; align-items: center; position: relative; }
/* the lock-screen light the notifications sit on */
.art--lock::before { content: ""; position: absolute; inset: -10% -6%; z-index: -1; pointer-events: none;
  background: radial-gradient(60% 55% at 50% 58%, rgba(122, 244, 208, 0.10), transparent 70%); }

.lock-stack { width: 100%; display: grid; gap: 7px; }
.note { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 9px; align-items: center; padding: 9px 11px 9px 9px; border-radius: 15px;
  background: linear-gradient(180deg, rgba(48, 50, 51, 0.62), rgba(34, 36, 37, 0.62)); -webkit-backdrop-filter: blur(20px) saturate(160%); backdrop-filter: blur(20px) saturate(160%);
  box-shadow: inset 0 0.5px 0 rgba(250, 250, 248, 0.14), inset 0 0 0 0.5px rgba(250, 250, 248, 0.07), 0 12px 28px -14px rgba(0, 0, 0, 0.9); }
.note-ic { width: 26px; height: 26px; border-radius: 7px; display: grid; place-items: center;
  background: linear-gradient(180deg, #3a3d3e, #27292a); box-shadow: inset 0 0.5px 0 rgba(250, 250, 248, 0.18); }
.note-ic svg { width: 14px; height: 14px; }
.note-tx { min-width: 0; display: block; }
.note-top { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.note-t { min-width: 0; font-size: 12px; font-weight: 500; line-height: 1.3; letter-spacing: -0.005em; color: var(--milk); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.note-when { flex: none; font-size: 11px; color: rgba(250, 250, 248, 0.42); }
.note-b { display: block; font-size: 11.5px; line-height: 1.35; color: rgba(250, 250, 248, 0.62); text-wrap: balance; }

/* the recovered order carries the Growth mint */
.note--won { background: linear-gradient(180deg, rgba(36, 58, 51, 0.7), rgba(24, 40, 35, 0.7));
  box-shadow: inset 0 0.5px 0 rgba(122, 244, 208, 0.5), inset 0 0 0 0.5px rgba(122, 244, 208, 0.28), 0 0 32px -14px rgba(122, 244, 208, 0.6), 0 12px 28px -14px rgba(0, 0, 0, 0.9); }
.note--won .note-ic { background: linear-gradient(180deg, #9af8dc, #5fdcb8); box-shadow: inset 0 0.5px 0 rgba(255, 255, 255, 0.6), 0 0 16px -4px rgba(122, 244, 208, 0.7); }
.note--won .note-when { color: rgba(122, 244, 208, 0.85); }

/* sequence, played once when the card is in view (script adds .play); once the order lands, the two nudges step back */
.lock-stack .note { opacity: 0; transform: translateY(-10px) scale(.97); }
.art--lock.play .note { animation: noteIn .9s cubic-bezier(.2, .8, .2, 1) forwards; }
.art--lock.play .note--ask { animation: noteIn .9s cubic-bezier(.2, .8, .2, 1) .2s forwards, noteBack 1.2s ease 3.8s forwards; }
.art--lock.play .note--r1 { animation: noteIn .9s cubic-bezier(.2, .8, .2, 1) 1.4s forwards, noteBack 1.2s ease 3.8s forwards; }
.art--lock.play .note--r2 { animation-delay: 2.6s; }
@keyframes noteIn { to { opacity: 1; transform: none; } }
@keyframes noteBack { from { opacity: 1; transform: none; } to { opacity: .45; transform: scale(.965); } }

@media (prefers-reduced-motion: reduce) {
  .lock-stack .note, .art--lock.play .note { opacity: 1; transform: none; animation: none; }
  .lock-stack .note--ask, .lock-stack .note--r1 { opacity: .45; }
}
@media (max-width: 860px) {
  .art--lock { min-height: 200px; margin: 14px 0 16px; }
  .note { grid-template-columns: 30px minmax(0, 1fr); padding: 10px 12px 10px 10px; }
  .note-ic { width: 30px; height: 30px; border-radius: 8px; }
  .note-t { font-size: 13px; } .note-b { font-size: 12.5px; } .note-when { font-size: 12px; }
}
