/* =====================================================================
   PAYMENTS & BILLING  (.pay-*)  - token-driven, theme-aware
   ===================================================================== */

.pay { max-width: 1100px; margin: 0 auto; }
.pay-head { margin-bottom: var(--sp-5); }
.pay-section { padding: var(--sp-4) var(--sp-5); }

.pay-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: var(--sp-4); margin-top: var(--sp-3);
}

.pay-card {
  display: flex; flex-direction: column; gap: var(--sp-2);
  border: 1px solid var(--ds-hairline); border-radius: var(--r-lg);
  background: var(--ds-surface-1); padding: var(--sp-4);
  transition: border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);
}
.pay-card:hover { border-color: var(--ds-hairline-strong); box-shadow: var(--el-1); }
.pay-card.is-connected { border-color: var(--ds-positive); }

.pay-card__head { display: flex; align-items: center; gap: var(--sp-3); }
.pay-logo {
  flex: 0 0 auto; width: 40px; height: 40px; border-radius: var(--r-md);
  display: grid; place-items: center; font-size: 20px;
  background: var(--ds-surface-3); border: 1px solid var(--ds-hairline);
}
.pay-card__id { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pay-name { font: 600 15px/1.2 var(--font-ui); color: var(--ds-text-hi); }
.pay-tag {
  font: 600 9px/1 var(--font-ui); text-transform: uppercase; letter-spacing: .04em;
  color: var(--ds-accent); background: var(--ds-gold-100);
  padding: 2px 6px; border-radius: var(--r-pill); align-self: flex-start;
}
.pay-desc { font: 400 13px/1.5 var(--font-ui); color: var(--ds-text-lo); margin: 0; flex: 1; }

.pay-card__foot {
  display: flex; align-items: center; justify-content: space-between; gap: var(--sp-2);
  margin-top: var(--sp-2); padding-top: var(--sp-3); border-top: 1px solid var(--ds-hairline);
  flex-wrap: wrap;
}
.pay-meta { display: inline-flex; align-items: center; gap: 6px; font: 500 12px/1.3 var(--font-ui); color: var(--ds-text); }
.pay-meta--off { color: var(--ds-text-mute); }
.pay-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ds-text-mute); }
.pay-dot--ok { background: var(--ds-positive); }
.pay-btns { display: inline-flex; gap: var(--sp-2); }
