/* lamunn.com live pieces: member login card + checkout in the bag dialog */
.rw-login, .co-form, .co-qr {
  --inv-muted: color-mix(in srgb, var(--ink, #734943) 88%, var(--cream, #F5EEE0));
  --inv-line: var(--line, color-mix(in srgb, var(--ink, #734943) 22%, var(--cream, #F5EEE0)));
  --inv-paper: color-mix(in srgb, var(--cream, #F5EEE0) 72%, white);
}
.rw-login .inv-field, .co-form .inv-field { display: grid; gap: 6px; }
.rw-login .inv-field label, .co-form .inv-field label { font-size: 12px; font-weight: 600; color: var(--ink, #734943); }
.rw-login .inv-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 480px) { .rw-login .inv-field-row { grid-template-columns: 1fr; } }
.rw-login { max-width: 560px; margin: 32px auto 56px; padding: 32px; background: var(--white, #fff); border: 1px solid var(--line, #e5e0d6); border-radius: 20px; display: grid; gap: 14px; }
.rw-login h2 { font-family: var(--serif); color: var(--deep); margin: 0; font-size: clamp(1.5rem, 3vw, 2rem); }
.rw-login p { margin: 0; color: var(--muted); line-height: 1.6; }
.rw-login form { display: grid; gap: 14px; }
.rw-login .btn { width: 100%; justify-content: center; }
.rw-login-error { color: #a33a2a !important; font-weight: 600; }
.rw-login-links { display: flex; gap: 18px; flex-wrap: wrap; }
.rw-consent { display: flex; gap: 10px; align-items: flex-start; font-size: .9rem; color: var(--muted); line-height: 1.5; }
.rw-consent input { margin-top: 4px; width: 18px; height: 18px; flex: none; accent-color: var(--deep); }
.rw-logout { margin-top: 12px; }
.co-form { display: grid; gap: 12px; margin-top: 18px; }
.co-title { font-family: var(--serif); color: var(--deep); margin: 0; }
.co-sum { border-top: 1px solid var(--line, #e5e0d6); padding-top: 12px; display: grid; gap: 6px; }
.co-sum > div { display: flex; justify-content: space-between; color: var(--muted); }
.co-sum .co-total { color: var(--deep); font-weight: 700; font-size: 1.1rem; }
.co-pay { width: 100%; justify-content: center; }
.co-qr { text-align: center; display: grid; gap: 10px; justify-items: center; margin-top: 18px; }
.co-qr img { width: 260px; max-width: 100%; height: auto; background: #fff; border-radius: 12px; padding: 8px; border: 1px solid var(--line, #e5e0d6); }
.co-qr h3 { font-family: var(--serif); color: var(--deep); margin: 0; }
.co-wait { color: var(--sage, #6b7d5a); font-weight: 600; animation: co-pulse 1.6s ease-in-out infinite; }
@keyframes co-pulse { 50% { opacity: .45; } }
@media (prefers-reduced-motion: reduce) { .co-wait { animation: none; } }
@media (max-width: 560px) { .rw-login { margin: 20px 16px 40px; padding: 22px; } }
