.method-list {
  display: grid;
  gap: 10px;
  margin: 20px 0 12px;
}

.payment-method-row {
  width: 100%;
  min-width: 0;
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid #d8e2f1;
  border-radius: 17px;
  background: linear-gradient(120deg, #fffffff2, #ffffffba);
  color: #1d2e4c;
  box-shadow: 0 3px 8px #2a477504, inset 0 1px 0 #fff;
  text-align: left;
  font-family: inherit;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease;
}

.payment-method-row:hover:not(:disabled) {
  border-color: #90b2ec;
  background: #fff;
  box-shadow: 0 5px 18px #476bb00b;
}

.payment-method-row:active:not(:disabled) {
  background: #eef4ff;
  border-color: #608ded;
}

.payment-method-row:focus-visible {
  outline: 3px solid #2568d4;
  outline-offset: 3px;
  border-color: #2568d4;
}

.payment-method-row[aria-pressed="true"],
.payment-method-row[aria-selected="true"],
.payment-method-row.selected {
  border-color: #7395e8;
  background: linear-gradient(120deg, #eef6ff, #f5efff);
  box-shadow: 0 0 0 1px #7395e8;
}

.payment-method-row:disabled {
  opacity: 1;
  color: #657087;
  background: #f2f4f8;
  border-color: #e1e6ef;
  box-shadow: none;
  cursor: not-allowed;
}

.payment-method-row:disabled .payment-method-icon {
  opacity: .55;
  filter: saturate(.45);
}

.payment-method-row:disabled .method-chevron {
  opacity: .45;
}

.payment-method-icon {
  width: 56px;
  height: 44px;
  flex: 0 0 56px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  border: 1px solid #e0e6ef;
  background: #fff;
  color: #296ddd;
  font-family: inherit;
  font-size: 14px;
  font-weight: 750;
  line-height: 1;
  letter-spacing: -.4px;
  overflow: hidden;
}

.payment-method-icon svg {
  display: block;
  width: 26px;
  height: 26px;
  max-width: 100%;
}

.payment-method-icon img {
  display: block;
  width: 50px;
  height: 40px;
  object-fit: contain;
}

.payment-card-brands {
  display: flex;
  gap: 4px;
  align-items: center;
  margin-top: 5px;
  line-height: 1;
}

.payment-card-brands img {
  display: block;
  width: 34px;
  height: 23px;
  object-fit: contain;
}

.method-copy {
  min-width: 0;
  flex: 1;
}

.method-copy strong {
  display: block;
  color: inherit;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.2px;
  overflow-wrap: anywhere;
}

.method-copy small {
  display: block;
  margin-top: 4px;
  color: #64738c;
  font-size: 12px;
  font-weight: 450;
  line-height: 1.4;
}

.method-chevron {
  width: 18px;
  flex: 0 0 18px;
  display: grid;
  place-items: center;
  color: #8293af;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
}

.method-chevron svg {
  width: 16px;
  height: 16px;
}

.method-card { background: #fff; color: #1b6ee4; border-color: #d8e7ff; }
.method-apple { background: #fff; color: #171d29; border-color: #e4e6ed; }
.method-google { background: #fff; color: #4285f4; border-color: #e2e7ee; }
.method-samsung { background: #fff; color: #245ed5; border-color: #dce7ff; }
.method-bancomat { background: #fff; color: #0871d7; border-color: #d6eafb; }
.method-satispay { background: #fff; color: #e83e58; border-color: #fbdde3; }
.method-klarna { background: #fff; color: #29212c; border-color: #fbd6e4; }
.method-paypal { background: #fff; color: #126bc2; border-color: #dbe9fc; }
.method-revolut { background: #f2f0fb; color: #342874; border-color: #e5e0f5; }
.method-amazon { background: #fff5e6; color: #875211; border-color: #f1e5d1; }
.method-link { background: #fff; color: #187455; border-color: #cceedd; }
.method-bank { background: #efefff; color: #6051c7; border-color: #e2dffa; }

.selected-method-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  margin: 8px 0 10px;
  border: 1px solid #d7e3f7;
  border-radius: 11px;
  background: #eef4ffcc;
  color: #31588f;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.selected-method-pill svg { width: 16px; height: 16px; flex-shrink: 0; }
.selected-method-pill .payment-method-icon { width: 26px; height: 26px; flex-basis: 26px; border-radius: 7px; }
.selected-method-pill .payment-method-icon svg { width: 18px; height: 18px; }

.method-loading {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 72px;
  margin: 18px 0;
  padding: 16px;
  border: 1px solid #dce6f4;
  border-radius: 15px;
  background: #ffffffa6;
  color: #5e7391;
  font-size: 13px;
  line-height: 1.6;
}

.method-loading::before {
  content: "";
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;
  background: #4489e6;
  box-shadow: 0 0 0 4px #4489e612;
}

.previous-payment {
  padding: 15px 16px;
  margin: 18px 0;
  border: 1px solid #dbe5f1;
  border-radius: 15px;
  background: #f5f8fdc7;
  color: #566b88;
  font-size: 12px;
  line-height: 1.6;
}

.previous-payment p { margin: 0 0 10px; color: inherit; }
.previous-payment p:last-child { margin-bottom: 0; }
.previous-payment > span { display: block; margin-bottom: 6px; }
.previous-payment strong { color: #344e75; font-weight: 650; }
.previous-payment a { display: inline-flex; align-items: center; min-height: 44px; color: #245dc1; text-underline-offset: 3px; }
.previous-payment button,
.previous-payment .button { min-height: 44px; font-size: 12px; }

.checkout-issue {
  padding: 15px 16px;
  margin: 18px 0;
  border: 1px solid #ecd7ba;
  border-radius: 14px;
  background: #fff7e9;
  color: #785425;
  font-size: 13px;
  line-height: 1.65;
}

.checkout-issue p { color: inherit; font-size: inherit; margin: 8px 0 0; }
.payment-status h1 { font-size: 26px; line-height: 1.25; }
.payment-status > .button,
.payment-status > button.full { margin-top: 10px; }
.payment-status .review-total { overflow-wrap: anywhere; }

@media (max-width: 760px) {
  .method-list { gap: 9px; margin-top: 18px; }
  .payment-method-row { min-height: 72px; padding: 12px 13px; gap: 12px; border-radius: 15px; }
  .method-copy strong { font-size: 14px; }
  .method-copy small { font-size: 11px; }
}

@media (max-width: 359px) {
  .payment-method-row { gap: 10px; padding: 12px 11px; }
  .payment-method-icon { width: 48px; height: 39px; flex-basis: 48px; border-radius: 11px; }
  .payment-method-icon img { width: 44px; height: 36px; }
  .method-copy strong { font-size: 13px; }
  .method-chevron { width: 14px; flex-basis: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .payment-method-row { transition: none; }
}

@media (forced-colors: active) {
  .payment-method-row { border: 1px solid ButtonText; background: Canvas; }
  .payment-method-row:disabled { color: GrayText; border-color: GrayText; }
  .payment-method-row[aria-pressed="true"],
  .payment-method-row[aria-selected="true"],
  .payment-method-row.selected { border: 2px solid Highlight; }
  .payment-method-icon { border-color: ButtonText; }
}
.trust-line .gateway-logo { width: 52px; height: 18px; object-fit: contain; margin-left: auto; }
.checkout-provider-brand { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:14px 0 4px; color:#62718b; font-size:11px; }
.checkout-provider-brand img { width:60px; height:22px; object-fit:contain; }
.gateway-logos { display:inline-flex; flex:none; align-items:center; gap:12px; }
.trust-line { flex-wrap:wrap; }
.trust-line .gateway-logos { margin-left:auto; }
.gateway-logos img { width:65px; height:14px; object-fit:contain; }
.gateway-logos img.stripe-wordmark { width:43px; height:18px; }
#client-payment h2[tabindex="-1"]:focus, #payment h1[tabindex="-1"]:focus { outline:none; }
