/* ZinPay brand system. Self-hosted Inter; no external font requests. */
@font-face {
  font-family: 'Inter'; font-style: normal; font-weight: 100 900;
  font-display: swap; src: url('fonts/InterVariable.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter'; font-style: italic; font-weight: 100 900;
  font-display: swap; src: url('fonts/InterVariable-Italic.woff2') format('woff2');
}
:root {
  --zinpay-plum: #733D68; --zinpay-deep-plum: #4F2848; --zinpay-soft-plum: #F3EAF1;
  --zinpay-canvas: #FBF9FB; --zinpay-ink: #241D23; --zinpay-muted: #70666E;
  --zinpay-line: #E7DCE4; --zinpay-white: #fff;
  --zinpay-font: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --zinpay-radius-sm: 6px; --zinpay-radius-md: 10px; --zinpay-radius-lg: 16px;
}
.zinpay-logo { display: block; width: 180px; height: auto; }
.zinpay-icon { display: block; width: 32px; height: 32px; }
.zinpay-display { font: 600 40px/1.2 var(--zinpay-font); letter-spacing: -.035em; }
.zinpay-heading { font: 600 28px/1.2857 var(--zinpay-font); letter-spacing: -.025em; }
.zinpay-body { font: 400 16px/1.5 var(--zinpay-font); color: var(--zinpay-ink); }
.zinpay-label { font: 500 14px/1.4286 var(--zinpay-font); }
.zinpay-numbers { font-variant-numeric: tabular-nums; }
.zinpay-button {
  font: 500 14px/20px var(--zinpay-font); border: 0; border-radius: 10px;
  padding: 12px 20px; color: #fff; background: var(--zinpay-plum);
}
.zinpay-button:hover { background: var(--zinpay-deep-plum); }
.zinpay-button:focus-visible { outline: 3px solid var(--zinpay-plum); outline-offset: 3px; }
@media (max-width: 600px) { .zinpay-display { font-size: 32px; line-height: 1.25; } }
