.pay-page {
  padding-block: clamp(28px, 6vh, 56px) 64px;
}

.pay-customer {
  margin-bottom: 20px;
}

.checkout-step {
  margin-bottom: 14px;
  font-size: clamp(1.05rem, 1rem + 0.4vw, 1.2rem);
}

.checkout-summary {
  margin-bottom: 16px;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(26, 111, 181, 0.06);
  border: 1px solid rgba(26, 111, 181, 0.18);
}

#product-checkout-form .btn {
  margin-top: 16px;
  width: 100%;
}

#product-checkout-form .btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
}

.pay-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 12px;
}

.pay-grid-full {
  grid-column: 1 / -1;
}

.pay-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 18px;
}

.pay-tab {
  flex: 1 1 160px;
  min-height: 44px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--muted);
  font-weight: 600;
  cursor: pointer;
}

.pay-tab.active {
  background: rgba(26, 111, 181, 0.1);
  border-color: var(--blue);
  color: var(--ink);
}

.pay-products {
  margin-bottom: 14px;
}

.pay-status {
  margin-bottom: 16px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(18, 58, 92, 0.05);
  color: var(--mist);
}

.pay-status--ok {
  background: rgba(46, 165, 111, 0.1);
  color: var(--green);
}

.pay-status--warn {
  background: rgba(26, 111, 181, 0.1);
  color: var(--blue-deep);
}

.pay-status--error {
  background: rgba(220, 90, 90, 0.1);
  color: #b42318;
}

.pay-success {
  margin-bottom: 20px;
}

.pay-success h3 {
  margin-bottom: 10px;
}

.pay-success p {
  margin-bottom: 8px;
  color: var(--muted);
}

.pay-success .btn {
  margin-top: 14px;
}

@media (max-width: 560px) {
  .pay-tab {
    flex: 1 1 100%;
  }
}
