.payment-methods {
  grid-column: 1 / -1;
  border: 1px solid #cec6bf;
  border-radius: 10px;
  padding: 14px;
  display: grid;
  gap: 10px;
}
.payment-methods legend { font-size: 13px; font-weight: 800; padding: 0 6px; }
.booking .payment-option { display: flex; gap: 10px; align-items: flex-start; padding: 10px; border: 1px solid #e4ded8; border-radius: 9px; cursor: pointer; }
.booking .payment-option input { width: auto; margin: 4px 0 0; }
.payment-option span { display: grid; }
.payment-option small { font-weight: 400; color: #756d66; }
.payment-option.disabled { opacity: .55; cursor: not-allowed; background: #f5f3f0; }

.billing-details {
  grid-column: 1 / -1;
  margin: 0;
  border: 1px solid #cec6bf;
  border-radius: 10px;
  padding: 16px;
}
.billing-details legend { font-size: 13px; font-weight: 800; padding: 0 6px; }
.billing-note { margin: 0 0 14px; color: #756d66; font-size: 12px; font-weight: 400; }
.billing-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px; }

@media (max-width: 800px) {
  .billing-grid { grid-template-columns: 1fr; }
}