.logo-small { width: 118px; margin: 0; }

.venue { font-size: 14px; font-weight: 600; color: var(--gray); margin-top: 12px; }

.amounts-row { margin-top: 4px; }

.apple-pay-btn {
  width: 100%;
  max-width: 340px;
  height: 58px;
  margin-top: 18px;
  background: #000;
  color: #fff;
  border: none;
  border-radius: 18px;
  font: inherit;
  font-size: 19px;
  font-weight: 600;
  display: flex; align-items: center; justify-content: center; gap: 7px;
  cursor: pointer;
  transition: transform .12s ease, opacity .12s ease;
}
.apple-pay-btn:active { transform: scale(.97); }
.apple-pay-btn:disabled { opacity: .35; cursor: default; }
.apple-logo { width: 19px; height: 24px; margin-top: -3px; }

/* Apple Pay sheet */
.ap-backdrop {
  position: fixed; inset: 0;
  background: rgba(0, 0, 0, .45);
  display: flex; align-items: flex-end; justify-content: center;
  z-index: 50;
  animation: fadein .2s ease both;
}
@keyframes fadein { from { opacity: 0; } }

.ap-sheet {
  width: 100%;
  max-width: 430px;
  background: #FBFBFD;
  border-radius: 24px 24px 0 0;
  padding: 18px 20px max(26px, env(safe-area-inset-bottom));
  animation: sheetup .3s cubic-bezier(.2, .9, .3, 1) both;
}
@keyframes sheetup { from { transform: translateY(100%); } }

.ap-head {
  display: flex; align-items: center; justify-content: space-between;
  padding-bottom: 14px;
  border-bottom: 1px solid #E5E5EA;
}
.ap-mark { display: flex; align-items: center; gap: 5px; font-size: 19px; font-weight: 700; color: #000; }
.apple-logo-dark { width: 17px; height: 22px; margin-top: -3px; }
.ap-cancel { background: none; border: none; font: inherit; font-size: 16px; font-weight: 600; color: #0A84FF; cursor: pointer; }

.ap-row {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid #E5E5EA;
}
.ap-card-art {
  width: 46px; height: 30px; border-radius: 6px;
  background: linear-gradient(135deg, #1A1F71, #4B55A8);
}
.ap-card-info { display: flex; flex-direction: column; }
.ap-card-name { font-size: 15px; font-weight: 700; color: #000; }
.ap-card-num { font-size: 13px; font-weight: 500; color: #8E8E93; }

.ap-total-row { justify-content: space-between; }
.ap-pay-to { font-size: 14px; font-weight: 600; color: #8E8E93; }
.ap-total { font-size: 22px; font-weight: 800; color: #000; font-variant-numeric: tabular-nums; }

.ap-confirm { padding-top: 20px; display: flex; justify-content: center; min-height: 74px; }
.ap-sidebtn, .ap-processing, .ap-done {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  font-size: 13.5px; font-weight: 600; color: #8E8E93;
  cursor: pointer;
}
.ap-done { color: #30D158; }

.ap-spinner {
  width: 28px; height: 28px;
  border: 3px solid #E5E5EA;
  border-top-color: #8E8E93;
  border-radius: 50%;
  animation: spin .8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.ap-backdrop.hidden, .ap-confirm .hidden { display: none; }

/* Success */
.success-photo { width: 130px; height: 130px; margin-top: 6px; }
