/* All movement is controlled by AgencyApplePayScene.render; no separate clock. */
#agency-site .fd-pay {
  position: absolute;
  inset: 0;
  z-index: 8;
  visibility: hidden;
  pointer-events: none;
  color: #171b19;
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', sans-serif;
  line-height: 1.2;
}
#agency-site .fd-pay-backdrop {
  position: absolute;
  inset: 0;
  background: #10251f69;
  opacity: var(--fd-pay-entrance, 0);
}
#agency-site .fd-pay-prompt {
  position: absolute;
  top: 163px;
  right: 8px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.23;
  text-align: right;
  text-shadow: 0 1px 8px #10251f4d;
  opacity: var(--fd-pay-prompt, 0);
  transform: translateX(var(--fd-pay-prompt-x, -7px));
}
#agency-site .fd-pay-prompt svg { flex: 0 0 12px; width: 12px; height: 28px; }
#agency-site .fd-pay-sheet {
  position: absolute;
  inset: auto 0 0;
  height: 322px;
  padding: 10px 18px 28px;
  border-radius: 25px 25px 0 0;
  background: #f5f6f5;
  box-shadow: 0 -5px 22px #071a181c;
  transform: translateY(calc((1 - var(--fd-pay-entrance, 0)) * 105%));
}
#agency-site .fd-pay-handle { width: 30px; height: 4px; margin: 0 auto 15px; border-radius: 5px; background: #cbd0cd; }
#agency-site .fd-pay-heading { display: flex; align-items: center; justify-content: space-between; height: 32px; }
#agency-site .fd-pay-logo { display: block; width: 74px; height: 31px; object-fit: contain; }
#agency-site .fd-pay-close { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; color: #777f7a; background: #e4e7e5; font-size: 21px; line-height: 1; font-weight: 400; }
#agency-site .fd-pay-order { display: flex; flex-direction: column; gap: 4px; margin: 16px 0 14px; }
#agency-site .fd-pay-order strong { font-size: 20px; font-weight: 600; letter-spacing: -.04em; }
#agency-site .fd-pay-order span { color: #77807a; font-size: 12px; }
#agency-site .fd-pay-card-row { display: flex; align-items: center; gap: 11px; min-height: 58px; padding: 10px 12px; border: 1px solid #e4e8e5; border-radius: 13px; background: #fff; }
#agency-site .fd-pay-card-row strong { display: block; color: #282f2b; font-size: 12px; font-weight: 600; }
#agency-site .fd-pay-card-row small { display: block; margin-top: 4px; color: #808780; font-size: 10px; }
#agency-site .fd-pay-card { position: relative; flex: 0 0 40px; width: 40px; height: 27px; overflow: hidden; border-radius: 5px; background: #23453a; box-shadow: inset 0 0 0 1px #ffffff20; }
#agency-site .fd-pay-card::after { content: ''; position: absolute; width: 31px; height: 31px; top: 11px; right: -11px; border-radius: 50%; background: #456a5c; }
#agency-site .fd-pay-card i { position: absolute; left: 7px; top: 8px; width: 8px; height: 6px; border: 1px solid #dfd6b5; border-radius: 2px; background: #c8bd91; }
#agency-site .fd-pay-chevron { margin-left: auto; color: #a2aaa5; font-size: 21px; }
#agency-site .fd-pay-confirmation { display: flex; flex-direction: column; align-items: center; margin-top: 14px; text-align: center; }
#agency-site .fd-pay-status-icon { position: relative; display: block; width: 40px; height: 40px; margin-bottom: 6px; color: #267965; }
#agency-site .fd-pay-status-icon svg { position: absolute; inset: 0; display: block; width: 40px; height: 40px; }
#agency-site .fd-pay-confirmation strong { font-size: 13px; font-weight: 600; }
#agency-site .fd-pay-confirmation > span:last-child { margin-top: 4px; color: #77807a; font-size: 11px; }
#agency-site .fd-pay-spinner, #agency-site .fd-pay-success { visibility: hidden; }
#agency-site .fd-pay-spinner { transform: rotate(var(--fd-pay-spin, 0deg)); }
#agency-site .fd-pay-success { opacity: var(--fd-pay-success, 0); transform: scale(calc(.78 + .22 * var(--fd-pay-success, 0))); }
#agency-site .fd-pay-success path { stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--fd-pay-success, 0)); }
#agency-site .fd-pay[data-pay-state='processing'] .fd-pay-wait-icon,
#agency-site .fd-pay[data-pay-state='confirmed'] .fd-pay-wait-icon { visibility: hidden; }
#agency-site .fd-pay[data-pay-state='processing'] .fd-pay-spinner,
#agency-site .fd-pay[data-pay-state='confirmed'] .fd-pay-success { visibility: visible; }
