/* Buy inside the AI chat (chat-checkout.js). Matches the chat's sea/sky palette. */
.chat-buy-card { display: grid; gap: 8px; align-self: stretch; margin: 4px 0; padding: 12px; border: 1px solid #d0e0ef; border-radius: 14px; background: #fff; color: #17384f; font-size: 13px; line-height: 1.5; box-shadow: 0 6px 18px #123e5812; }
.chat-buy-title { font-size: 14px; font-weight: 700; color: #276c91; }
.chat-buy-row { display: flex; justify-content: space-between; gap: 12px; }
.chat-buy-row span { min-width: 0; overflow-wrap: anywhere; color: #4d6a7e; }
.chat-buy-row b { flex: 0 0 auto; font-weight: 600; font-variant-numeric: tabular-nums; }
.chat-buy-row.strong { padding-top: 6px; border-top: 1px dashed #d0e0ef; }
.chat-buy-row.strong span, .chat-buy-row.strong b { color: #17384f; font-weight: 700; }
.chat-buy-muted { margin: 0; color: #5d7a8e; font-size: 12.5px; white-space: pre-line; }
.chat-buy-error { margin: 0; padding: 8px 10px; border-radius: 8px; background: #fdecee; color: #b3261e; font-size: 12.5px; }
.chat-buy-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chat-buy-chip { padding: 7px 12px; border: 1.5px solid #a5d8ec; border-radius: 999px; background: #f2fafd; color: #276c91; font: inherit; font-weight: 600; cursor: pointer; }
.chat-buy-chip:disabled { opacity: .55; cursor: default; }
.chat-buy-form { display: grid; gap: 8px; }
.chat-buy-field { display: grid; gap: 3px; }
.chat-buy-field span, .chat-buy-methods legend { color: #4d6a7e; font-size: 12px; font-weight: 600; }
.chat-buy-field input, .chat-buy-field textarea, .chat-buy-field select { width: 100%; box-sizing: border-box; padding: 8px 10px; border: 1px solid #c9dbe8; border-radius: 9px; background: #fff; color: #17384f; font: inherit; font-size: 14px; }
.chat-buy-field textarea { resize: vertical; min-height: 48px; }
.chat-buy-field input:focus, .chat-buy-field textarea:focus, .chat-buy-field select:focus { border-color: #3b93b5; outline: 2px solid #dcecf5; outline-offset: 1px; }
.chat-buy-methods { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0; padding: 0; border: 0; }
.chat-buy-methods legend { width: 100%; margin-bottom: 2px; padding: 0; }
.chat-buy-method { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.chat-buy-locate { display: flex; flex-wrap: wrap; gap: 6px; margin-top: -2px; }
.chat-buy-locate .chat-buy-secondary { padding: 7px 12px; font-size: 12.5px; }
/* The store map opens from the chat: keep it above the chat panel. */
html.chat-map-open body .location-picker-modal { z-index: 2147483600; }
.chat-buy-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.chat-buy-primary, .chat-buy-secondary, .chat-buy-link { font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; text-decoration: none; }
.chat-buy-primary { padding: 9px 16px; border: 0; border-radius: 999px; background: linear-gradient(110deg, #276c91, #3b93b5); color: #fff; }
.chat-buy-secondary { display: inline-flex; padding: 8px 14px; border: 1.5px solid #a5d8ec; border-radius: 999px; background: #fff; color: #276c91; }
.chat-buy-link { padding: 4px 0; border: 0; background: none; color: #276c91; font-weight: 600; text-decoration: underline; }
.chat-buy-primary:disabled, .chat-buy-secondary:disabled { opacity: .6; cursor: default; }
.chat-buy-primary:focus-visible, .chat-buy-secondary:focus-visible, .chat-buy-link:focus-visible, .chat-buy-chip:focus-visible { outline: 3px solid #f2a7c3; outline-offset: 2px; }
.chat-buy-qr { display: grid; justify-items: center; gap: 6px; padding: 6px 0; }
.chat-buy-qr img { width: min(220px, 100%); height: auto; border-radius: 12px; background: #fff; }
.chat-buy-timer { margin: 0; color: #c2457a; font-weight: 700; font-variant-numeric: tabular-nums; }
.chat-buy-spin::before { content: ""; display: inline-block; width: 12px; height: 12px; margin-right: 6px; border: 2px solid #a5d8ec; border-top-color: #276c91; border-radius: 50%; vertical-align: -2px; animation: chat-buy-spin 0.9s linear infinite; }
@keyframes chat-buy-spin { to { transform: rotate(360deg); } }
.chat-buy-pin { display: grid; gap: 2px; padding: 8px 10px; border-radius: 10px; background: #fff6e5; color: #6b4a00; }
.chat-buy-pin b { font-size: 18px; letter-spacing: .12em; }
.chat-buy-pin small { font-size: 11.5px; }
.chat-buy-done { border-color: #bfe5cf; }
.chat-buy-done .chat-buy-title { color: #1f7a4d; }
.chat-buy-done p { margin: 0; }
.chat-buy-check { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: #e3f3ea; color: #1f7a4d; font-size: 18px; font-weight: 700; }
@media (prefers-reduced-motion: reduce) { .chat-buy-spin::before { animation: none; } }
