.ax-pay {
  padding: var(--ax-sec-pad-s) 0 var(--ax-sec-pad-m);
  --ax-icon-1: var(--ax-steel);
  --ax-icon-2: var(--ax-navy);
}
.ax-pay__inner { max-width: var(--ax-maxw); margin: 0 auto; padding: 0 var(--ax-gutter); }
.ax-pay__intro { display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(16px, 2vw, 32px); align-items: end; margin-bottom: clamp(28px, 3.6vw, 52px); }
.ax-pay__heading-col { grid-column: 1 / span 7; }
.ax-pay__eyebrow { display: block; font-size: 10px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--ax-steel); margin-bottom: var(--ax-label-gap); }
.ax-pay__heading { font-weight: 300; margin: 0; font-size: clamp(36px, 4.1vw, 68px); line-height: .94; letter-spacing: -.032em; max-width: 18ch; }
.ax-pay__heading .ax-heading-italic { white-space: nowrap; }
/* Dłuższa kursywa ("Zaplanuj kolejne kroki.") nie mieści się w jednym wierszu telefonu - tam wolno ją złamać. */
@media (max-width: 600px) { .ax-pay__heading .ax-heading-italic { white-space: normal; } }
.ax-pay__cta { grid-column: 10 / span 3; justify-self: end; border: 1px solid rgba(53,59,102,.3); color: var(--ax-navy); padding: 17px 24px; font-size: 10px; font-weight: 500; letter-spacing: .17em; text-transform: uppercase; text-decoration: none; text-align: center; transition: all .32s ease; }
@media (hover: hover) and (pointer: fine) {
.ax-pay__cta:hover { background: var(--ax-navy); border-color: var(--ax-navy); color: var(--ax-paper); }
}


.ax-pay__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: clamp(10px, 1.2vw, 18px); margin-bottom: clamp(28px, 3.4vw, 50px); }
.ax-pay__card { border-radius: 14px; background: rgba(255,255,255,.5); backdrop-filter: blur(20px); border: 1px solid rgba(53,59,102,.12); padding: clamp(26px, 3vw, 46px); }
.ax-pay__icon { display: block; margin: 0 0 18px 0; margin-left: -4px; }
.ax-pay__icon svg { display: block; width: clamp(80px, 7vw, 92px); height: clamp(80px, 7vw, 92px); }
.ax-pay__card-label { display: block; font-size: 9.5px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: rgba(53,59,102,.5); margin-bottom: 20px; }
.ax-pay__num { display: block; font-weight: 300; font-size: clamp(50px, 6.6vw, 104px); line-height: .86; letter-spacing: -.044em; white-space: nowrap; margin-left: -.06em; margin-bottom: 18px; }
.ax-pay__card--sm .ax-pay__num { font-size: clamp(33px, 4.6vw, 74px); }
.ax-pay__numline { display: block; height: 1px; width: 0; background: rgba(53,59,102,.14); margin-top: clamp(12px, 1.4vw, 20px); margin-bottom: clamp(16px, 1.6vw, 22px); transition: width 1.2s cubic-bezier(.16,1,.3,1) .3s; }
.ax-pay.is-visible .ax-pay__numline { width: 100%; }
.ax-pay__digit-wrap { display: inline-block; overflow: hidden; vertical-align: top; }
.ax-pay__digit { display: inline-block; transform: translateY(105%); transition: transform .7s cubic-bezier(.16,1,.3,1); transition-delay: calc(var(--d) * 40ms); }
.ax-pay.is-visible .ax-pay__digit { transform: translateY(0); }
.ax-pay__note { margin: 0; color: rgba(53,59,102,.62); font-size: 14.5px; max-width: 30ch; }

/* Kilka rodzajów miejsc: zamiast jednej dużej liczby lista rodzaj - cena. */
.ax-pay__opts { list-style: none; margin: 0 0 clamp(14px, 1.4vw, 20px); padding: 0; border-top: 1px solid rgba(53,59,102,.14); }
.ax-pay__opt { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 13px 0; border-bottom: 1px solid rgba(53,59,102,.14); }
.ax-pay__opt-label { font-size: 14px; line-height: 1.35; color: rgba(53,59,102,.72); }
.ax-pay__opt-price { flex: 0 0 auto; font-weight: 300; font-size: clamp(20px, 1.7vw, 26px); letter-spacing: -.024em; color: var(--ax-navy); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ax-pay__card--opts .ax-pay__card-label { margin-bottom: 14px; }

.ax-pay__panels { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: clamp(18px, 2.4vw, 36px); }
.ax-pay__panel { border-radius: 14px; background: rgba(255,255,255,.55); backdrop-filter: blur(30px) saturate(180%); border: 1px solid rgba(255,255,255,.58); padding: clamp(22px, 2.4vw, 34px); display: flex; flex-direction: column; gap: 14px; }
.ax-pay__panel-eyebrow { font-size: 9.5px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: rgba(53,59,102,.5); }
.ax-pay__panel-row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; border-bottom: 1px solid rgba(53,59,102,.16); padding-bottom: 14px; }
.ax-pay__panel-label { font-weight: 400; font-size: clamp(20px, 1.9vw, 28px); letter-spacing: -.024em; }
.ax-pay__panel-date { display: flex; align-items: center; gap: 9px; font-size: 10px; font-weight: 500; letter-spacing: .17em; text-transform: uppercase; color: var(--ax-paper); background: var(--ax-navy); padding: 7px 11px; }
.ax-pay__panel-note { margin: 0; color: rgba(53,59,102,.62); font-size: 14px; }
.ax-pay__spv-name { font-weight: 400; font-size: clamp(18px, 1.7vw, 24px); letter-spacing: -.022em; line-height: 1.2; }
.ax-pay__spv-addr { display: inline-block; margin-top: 4px; font-size: 13.5px; letter-spacing: 0; color: rgba(53,59,102,.6); }
.ax-pay__spv-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; border-top: 1px solid rgba(53,59,102,.16); padding-top: 14px; }
.ax-pay__spv-grid > span { display: flex; flex-direction: column; gap: 5px; }
.ax-pay__spv-key { font-size: 9.5px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: rgba(53,59,102,.45); }
.ax-pay__spv-val { font-size: 14.5px; letter-spacing: -.002em; }

@media (max-width: 900px) {
  .ax-pay__intro {
    align-items: start;
    gap: 16px;
  }
  .ax-pay__heading-col, .ax-pay__cta { grid-column: 1 / -1; }
  .ax-pay__cta { justify-self: start; margin-top: 0; min-height: 44px; }
  /* W23-E6 — keep counter digits on one line (already on .ax-pay__num; reinforce wrap) */
  .ax-pay__num,
  .ax-pay__digit-wrap {
    white-space: nowrap;
  }
}
