/* Payments page: region picker, money flow, gateway-neutral checkout. */

.pay-picker{
  margin:0;padding:clamp(1.1rem,2vw,1.6rem);border:1px solid #2b3852;border-radius:var(--r-l);
  background:linear-gradient(180deg,#111a28,#0d1420);box-shadow:0 30px 74px -30px rgba(0,0,0,.75);color:#c3cddd;
}
.pay-picker-q{color:#ffe2a6;font:700 .72rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase}
.pay-regions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.pay-regions button,.pay-gw-switch button{
  padding:7px 12px;border:1px solid #34425e;border-radius:999px;background:none;color:#c3cddd;
  font:600 .8rem/1 var(--sans);cursor:pointer;
}
.pay-regions button:hover,.pay-gw-switch button:hover{border-color:#51617f;color:#fff}
.pay-regions button.is-on,.pay-gw-switch button.is-on{border-color:var(--amber);background:rgba(244,183,64,.14);color:#ffe2a6}
.pay-regions button:focus-visible,.pay-gw-switch button:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.pay-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 0;padding:0;list-style:none}
.pay-tiles li{
  display:grid;gap:3px;padding:14px 14px 13px;border:1px solid #2f3d57;border-radius:12px;background:rgba(255,255,255,.03);
  transition:opacity .2s ease,border-color .2s ease,transform .2s ease;
}
.pay-tiles li:last-child:nth-child(odd){grid-column:1 / -1}
.pay-tiles b{color:#fff;font-size:1.05rem;letter-spacing:-.01em}
.pay-tiles span{color:#8492aa;font-size:.78rem}
.pay-tiles li.is-match{border-color:var(--amber);background:rgba(244,183,64,.08)}
.pay-tiles li.is-match span{color:#ffe2a6}
.pay-tiles li.is-dim{opacity:.32}
.pay-picker figcaption{margin-top:14px;color:#8492aa;font-size:.8rem;min-height:1.3em}

.pay-flow,.pay-same{padding:clamp(3.25rem,5vw,4.75rem) 0;background:var(--paper)}
.pay-same{background:var(--paper-warm)}
.pay-flow-row{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.75rem,1.6vw,1.25rem);
  margin:clamp(1.75rem,3vw,2.5rem) 0 0;padding:0;list-style:none;
}
.pay-flow-row li{
  position:relative;padding:18px;border:1px solid var(--line);border-radius:var(--r-l);background:var(--card);box-shadow:var(--shadow-card);
}
.pay-flow-row li:not(:last-child)::after{
  content:"→";position:absolute;top:50%;right:calc(-1 * clamp(.75rem,1.6vw,1.25rem) + 2px);transform:translateY(-50%);
  color:var(--amber-text);font-weight:800;font-size:1rem;
}
.pay-flow-row li.is-money{border-color:rgba(244,183,64,.7);background:#fff8e8}
.pay-node{display:inline-block;padding:4px 10px;border-radius:999px;background:rgba(12,18,32,.06);font:700 .72rem/1.3 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.is-money .pay-node{background:var(--amber);color:#1a1200}
.pay-flow-row p{margin-top:10px;color:var(--muted);font-size:.92rem;line-height:1.55}

.pay-same-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(2rem,4vw,3.5rem);align-items:center}
.pay-same-copy h2{font-size:var(--sl-title-section);font-weight:800;line-height:1.12;letter-spacing:-.03em;text-wrap:balance}
.pay-same-copy p{margin-top:14px;color:var(--muted);max-width:52ch}
.pay-same-copy ul{margin-top:18px;display:grid;gap:9px;list-style:none;padding:0}
.pay-same-copy li{position:relative;padding-left:22px}
.pay-same-copy li::before{content:"";position:absolute;left:2px;top:.5em;width:10px;height:6px;border-left:2px solid #22a06b;border-bottom:2px solid #22a06b;transform:rotate(-45deg)}
.pay-checkout{margin:0;padding:18px;border-radius:var(--r-l);background:#0b111b;box-shadow:0 30px 60px -34px rgba(12,18,32,.7)}
.pay-gw-switch{display:flex;flex-wrap:wrap;gap:6px}
.pay-card{margin-top:16px;padding:16px;border:1px solid #243049;border-radius:14px;background:#111a28;color:#c3cddd;font-size:.86rem}
.pay-card-top{display:flex;justify-content:space-between;align-items:center}
.pay-card-top b{color:#fff;font-size:1rem}
.pay-card-top span{padding:4px 9px;border-radius:999px;background:rgba(244,183,64,.12);color:#ffe2a6;font:600 .72rem/1 var(--mono)}
.pay-card-lines{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.pay-card-lines li{display:flex;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid #1d2738}
.pay-card-lines span{color:#e8eefa}
.pay-card-lines small{display:block;color:#8492aa;font-size:.74rem}
.pay-card-lines b{color:#e8eefa;font-variant-numeric:tabular-nums}
.pay-card-total{display:flex;justify-content:space-between;margin-top:12px;color:#fff;font-weight:750;font-size:1.05rem}
.pay-card-btn{display:block;margin-top:14px;padding:12px;border-radius:10px;background:var(--amber);color:#1a1200;font-weight:750;text-align:center}
.pay-card-next{margin-top:10px;text-align:center;color:#8492aa;font-size:.78rem}
.pay-steps{grid-template-columns:repeat(3,minmax(0,1fr))}

@media (max-width:900px){
  .pay-flow-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pay-flow-row li::after{display:none}
  .pay-same-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .pay-flow-row,.pay-steps{grid-template-columns:minmax(0,1fr)}
  .pay-tiles{gap:8px}
}
@media (prefers-reduced-motion:reduce){.pay-tiles li{transition:none}}

/* three setup steps as cards */
.pay-setup{padding:clamp(3.25rem,5vw,4.75rem) 0;background:var(--paper)}
.pay-setup-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:clamp(1.75rem,3vw,2.5rem) 0 0;padding:0;list-style:none;counter-reset:ps}
.pay-setup-cards li{position:relative;display:flex;flex-direction:column;padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fffdf8,#fbf6ea);box-shadow:0 18px 40px -30px rgba(12,18,32,.35);counter-increment:ps;overflow:hidden}
.pay-setup-cards li:before{content:counter(ps,decimal-leading-zero);position:absolute;right:18px;top:12px;color:rgba(244,183,64,.28);font:800 3.6rem/1 var(--sans);letter-spacing:-.05em}
.pay-where{align-self:flex-start;margin-bottom:14px;padding:4px 10px;border-radius:999px;background:#0d1220;color:#f4c75b;font:700 .68rem/1.3 var(--mono);letter-spacing:.06em}
.pay-setup-cards h3{position:relative;font-size:1.2rem}
.pay-setup-cards p{position:relative;margin:8px 0 16px;color:var(--muted);font-size:.9rem;line-height:1.55}
.pay-vis{display:flex;gap:8px;align-items:center;margin-top:8px}
.pay-vis:first-of-type{margin-top:auto}
.pay-vis b,.pay-vis em{padding:9px 12px;border-radius:10px;font-size:.8rem}
.pay-vis b{flex:1;background:#0d1220;color:#e8eefa;font-weight:650}
.pay-vis em{font-style:normal;background:#fff;border:1px solid var(--line);color:#4e5870;font-weight:700;white-space:nowrap}
.pay-vis em.ok{border-color:#9ad8bb;background:#e9f7f0;color:#1d7a55}
@media(max-width:860px){.pay-setup-cards{grid-template-columns:minmax(0,1fr)}}
.pay-request{margin-top:10px;color:#8492aa;font-size:.84rem}.pay-request a{color:#f4c75b;font-weight:700}
/* 09-23 re-audit: a small receipt line per money-flow card */
.pay-flow-row li{display:flex;flex-direction:column}
.pay-flow-row li p{flex:1}
.pay-vis{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:14px;padding:9px 12px;border-radius:10px;background:#0c1220;color:#e7ecf5;font-size:.8rem}
.pay-vis b{font-weight:650}
.pay-vis em{font-style:normal;font-weight:800;color:#f4b740}
.pay-vis.is-in em{color:#8ce0b8}
.pay-vis.is-ok{background:#e7f5ee;color:#14532d}
.pay-vis.is-ok em{color:#1d7a55}
.pay-flow-row li .pay-node{align-self:flex-start}
.pay-flow-row li .pay-vis b,.pay-flow-row li .pay-vis em{display:inline;min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-size:.82rem;line-height:1.3}
.pay-flow-row li .pay-vis.is-ok b{color:#14532d}
