/* ---------- Checkout payment methods ---------- */
#payment ul.payment_methods {
  border: 0; padding: 0; margin: 0 0 1.5em;
  display: grid; gap: 10px;
}
#payment ul.payment_methods li.wc_payment_method {
  list-style: none; margin: 0; padding: 14px 16px;
  border: 1px solid #dcdcde; border-radius: 10px; background: #fff;
  line-height: 1.4; transition: border-color .15s, box-shadow .15s;
  display: flex; flex-wrap: wrap; align-items: center; column-gap: 10px;
}
#payment ul.payment_methods li.wc_payment_method:hover { border-color: #a7aaad; }
#payment ul.payment_methods li.wc_payment_method:has(input.input-radio:checked) {
  border-color: #2271b1; box-shadow: 0 0 0 1px #2271b1;
}

/* Radio and name share a row; everything else gets its own full-width row */
#payment ul.payment_methods li.wc_payment_method > input.input-radio { flex: none; margin: 0; }
#payment ul.payment_methods li.wc_payment_method > label {
  flex: 1 1 auto; margin: 0; font-weight: 600; cursor: pointer;
  display: flex; align-items: center; flex-wrap: wrap; gap: 6px 8px;
}
#payment ul.payment_methods li.wc_payment_method > :not(input):not(label) { flex-basis: 100%; }

/* Card logos: small and right-aligned */
#payment ul.payment_methods li > label img {
  height: 18px !important; width: auto !important; margin: 0 !important; float: none !important;
}
#payment ul.payment_methods li > label img:first-of-type { margin-left: auto !important; }

/* Selected method's details */
#payment ul.payment_methods li .payment_box {
  margin: 12px 0 0; padding: 12px 14px;
  background: #f6f7f7; border-radius: 8px; font-size: .92em; color: #50575e;
}
#payment ul.payment_methods li .payment_box::before { display: none; }

/* "Securely Save to Account" */
#payment .payment_box fieldset {
  border: 0; padding: 0; margin: 10px 0 0; background: none; min-height: 0;
}
#payment .payment_box .form-row:has(> input[type="checkbox"]) {
  display: flex; align-items: center; gap: 10px;
  margin: 10px 0 0; padding: 10px 12px;
  background: #fff; border: 1px solid #dcdcde; border-radius: 8px; cursor: pointer;
}
#payment .payment_box .form-row:has(> input[type="checkbox"]:checked) { border-color: #2271b1; }
#payment .payment_box .form-row > input[type="checkbox"] {
  width: 18px; height: 18px; margin: 0; flex: none; accent-color: #2271b1;
}
#payment .payment_box .form-row:has(> input[type="checkbox"]) label {
  margin: 0; font-weight: 500; font-size: .95em; color: #1d2327; cursor: pointer;
}

/* Hide pay-later promo lines until that method is selected */
#payment li.wc_payment_method:not(:has(input.input-radio:checked))
  :is(square-placement, afterpay-placement, klarna-placement, .afterpay-payment-info,
      .klarna-placement, .affirm-as-low-as, .ppcp-messages) {
  display: none !important;
}

/* Spacing below */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin: 16px 0; }
.woocommerce-checkout .g-recaptcha { margin: 12px 0 20px; }

