/* Homepage payments section (Amino Engine as the merchant processor). Tokens from assets/site.css + THEME.md.
   site.css already has an old `.pay` rule (a fixed-height flex box from an earlier card), so the section
   is reset with `section.pay` and every inner class here is new (pay-co-*, pay-tile*, pay-row*). */
section.pay{height:auto;margin:0;display:block;gap:0;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
section.pay .wrap{padding-top:clamp(64px,7vw,104px);padding-bottom:clamp(64px,7vw,104px)}
.pay-in{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center}
.pay-copy .gh{font-size:clamp(40px,4.3vw,62px)}
.pay-copy .gh em{white-space:nowrap}
.pay-copy .sub{max-width:44ch;font-size:17px}
.pay-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.pay-btns [data-apply-slot]{display:contents}
.pay-facts{margin-top:22px;text-wrap:balance;font-size:13.5px;font-weight:600;color:var(--grey);letter-spacing:.01em}

/* stage: a #FAFAFA panel that holds the checkout window */
.pay-stage{position:relative;background:var(--cream);border:1px solid var(--line);border-radius:24px;padding:clamp(24px,3vw,40px) clamp(20px,3.4vw,52px);display:flex;justify-content:center;overflow:hidden}
.pay-co{position:relative;width:100%;max-width:400px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 60px -40px rgba(9,9,11,.3),0 1px 2px rgba(9,9,11,.04);overflow:hidden;color:var(--ink)}
.pay-co-bar{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--line);background:var(--cream)}
.pay-co-dots{display:flex;gap:6px}.pay-co-dots i{width:9px;height:9px;border-radius:50%;background:#E4E4E7}
.pay-co-url{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--grey);background:#fff;border:1px solid var(--line);border-radius:8px;padding:4px 10px;min-width:0}
.pay-co-url svg{width:12px;height:12px;flex:none}
.pay-co-body{padding:16px;display:flex;flex-direction:column;gap:10px}
.pay-co-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.pay-co-th{width:40px;height:40px;border-radius:10px;background:#F4F4F5;border:1px solid var(--line);position:relative}
.pay-co-th::after{content:"";position:absolute;left:14px;top:8px;width:10px;height:22px;border-radius:3px 3px 4px 4px;background:#fff;border:1px solid #D4D4D8}
.pay-co-item b{display:block;font-size:13.5px;font-weight:700}.pay-co-item small{font-size:11.5px;color:var(--mute)}
.pay-co-item strong{font-size:14px;font-variant-numeric:tabular-nums}
.pay-co-f{position:relative;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 12px;min-height:52px;transition:border-color .25s,box-shadow .25s}
.pay-co-f small{display:block;font-size:11px;color:var(--mute)}
.pay-co-f span{font-size:15px;font-weight:600;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.pay-co-f.focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,138,61,.18)}
.pay-co-caret{display:none;width:1.5px;height:16px;background:var(--accent);vertical-align:middle;margin-left:2px;animation:payBlink 1s steps(1) infinite}
.pay-co-f.focus .pay-co-caret{display:inline-block}
.pay-co-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pay-co-btn{position:relative;height:48px;border-radius:999px;background:var(--ink);color:#fff;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;transition:transform .15s var(--ease)}
.pay-co-btn.press{transform:scale(.97)}
.pay-co-btn .spn{display:none;width:20px;height:20px;border-radius:50%;border:2.5px solid rgba(255,255,255,.25);border-top-color:#fff;animation:spin .8s linear infinite}
.pay-co-btn.busy .lbl{display:none}.pay-co-btn.busy .spn{display:block}
.pay-co-ok{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff;opacity:0;transform:translateY(6px);transition:opacity .4s var(--ease),transform .5s var(--spring),border-color .3s}
.pay-co-ok.on{opacity:1;transform:none;border-color:#FFD9BF}
.pay-co-okm{width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--ink);display:flex;align-items:center;justify-content:center}
.pay-co-ok.on .pay-co-okm{animation:payPop .6s var(--spring)}
.pay-co-okm svg{width:16px;height:16px}
.pay-co-ok b{display:block;font-size:13.5px;font-weight:700}.pay-co-ok small{font-size:11.5px;color:var(--mute);font-variant-numeric:tabular-nums}
.pay-co-ok em{font-style:normal;font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 9px;background:var(--accent-soft);color:#C4470A}
@keyframes payBlink{50%{opacity:0}}
@keyframes payPop{0%{transform:scale(.5)}60%{transform:scale(1.1)}100%{transform:scale(1)}}

/* three bento tiles */
.pay-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:clamp(24px,2.4vw,32px)}
.pay-tile{background:var(--cream);border:1px solid var(--line);border-radius:22px;padding:24px 24px 22px;display:flex;flex-direction:column}
.pay-tile h3{font-size:21px;font-weight:600;letter-spacing:-.02em;line-height:1.25}
.pay-tile p{font-size:15px;line-height:1.5;color:var(--grey);margin-top:8px}
.pay-rows{margin-top:auto;padding-top:20px;display:flex;flex-direction:column;gap:8px}
.pay-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:13px}
.pay-row b{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:10px}
.pay-row b img{height:18px;width:auto;flex:none}
.pay-row em{font-style:normal;font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 9px;background:#F4F4F5;color:#52525B;white-space:nowrap}
.pay-row em.pay-on{background:var(--accent-soft);color:#C4470A}

@media(max-width:1000px){
  .pay-in{grid-template-columns:1fr}
  .pay-tiles{grid-template-columns:1fr}
}
@media(max-width:600px){
  .pay-copy .gh em{white-space:normal}
  .pay-copy .sub{font-size:16.5px}
  .pay-stage{padding:22px 14px;border-radius:20px}
  .pay-tile{padding:22px}
  .pay-row{font-size:14px}
  .pay-btns .btn{flex:1 1 auto}
}
@media(prefers-reduced-motion:reduce){
  .pay-co-caret,.pay-co-ok.on .pay-co-okm,.pay-co-btn .spn{animation:none}
  .pay-co-ok,.pay-co-f,.pay-co-btn{transition:none}
}
