/* PayNow — Pay Portal IA (experiencia blanca premium) */
:root {
  --ink:#0d1226; --ink2:#3a4368; --muted:#7b83a9;
  --accent:#5b5ef6; --accent-dark:#4338ca; --accent-rgb:91, 94, 246;
  --accent2:#22c55e; --danger:#ef4444;
}
* { box-sizing:border-box; }
.pay-body {
  margin:0; padding:0; min-height:100vh; background:#fff;
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--ink); overflow:hidden;
}
.pay-test-banner {
  position:fixed; top:0; left:0; right:0; z-index:80;
  padding:8px 14px; text-align:center;
  font-size:12px; font-weight:750; letter-spacing:.04em; text-transform:uppercase;
  color:#9a3412; background:linear-gradient(90deg,#ffedd5,#fed7aa);
  border-bottom:1px solid #fdba74;
}
/* ===== Escenas ===== */
.pay-screen {
  position:fixed; inset:0; display:none;
  place-items:center; text-align:center;
  padding:24px;
}
.pay-screen.active { display:grid; }
.pay-inner { max-width:560px; margin:auto; }
.pay-intro .pay-inner { animation:none; }
@keyframes payIn {
  from { opacity:0; transform:translateY(14px) scale(.98); filter:blur(4px); }
  to   { opacity:1; transform:none; filter:blur(0); }
}

/* ===== Escena de inicio: círculo con luces + botón Comenzar ===== */
.pay-start-wrap {
  display:flex; flex-direction:column; align-items:center; gap:22px;

}
.pay-start-orb {
  position:relative; width:260px; height:260px;
  display:block;
}
/* círculos radiantes: ondas desde el centro exacto */
.pay-start-ring {
  position:absolute; inset:0; border-radius:50%;
  background:radial-gradient(circle, transparent 52%, rgba(var(--accent-rgb),.45) 62%, rgba(34,197,94,.30) 76%, transparent 88%);
  transform-origin:center center;
  animation:payRadiate 2.8s ease-out infinite;
  pointer-events:none;
}
.pay-start-ring.r2 { animation-delay:.9s; }
.pay-start-ring.r3 { animation-delay:1.8s; }
@keyframes payRadiate {
  0%   { transform:scale(.55); opacity:0; }
  18%  { opacity:1; }
  100% { transform:scale(1.25); opacity:0; }
}
/* núcleo brillante — mismo centro que el botón */
.pay-start-orb::before {
  content:''; position:absolute;
  left:50%; top:50%;
  width:152px; height:152px;
  margin:0; border-radius:50%;
  transform:translate(-50%, -50%);
  transform-origin:center center;
  background:radial-gradient(circle, #ffffff 0%, rgba(var(--accent-rgb),.08) 48%, rgba(var(--accent-rgb),.18) 100%);
  box-shadow:0 0 0 8px rgba(var(--accent-rgb),.10), 0 0 40px rgba(var(--accent-rgb),.28);
  animation:payOrbGlow 2.4s ease-in-out infinite;
  pointer-events:none;
}
@keyframes payOrbGlow {
  0%,100% {
    box-shadow:0 0 0 8px rgba(var(--accent-rgb),.10), 0 0 40px rgba(var(--accent-rgb),.28);
    transform:translate(-50%, -50%) scale(1);
  }
  50% {
    box-shadow:0 0 0 14px rgba(var(--accent-rgb),.16), 0 0 56px rgba(var(--accent-rgb),.42);
    transform:translate(-50%, -50%) scale(1.03);
  }
}
/* botón Comenzar — centro óptico del orbe */
.pay-start-btn {
  position:absolute; left:50%; top:50%;
  z-index:2;
  display:inline-flex; align-items:center; justify-content:center; gap:12px;
  padding:22px 54px; border-radius:999px; border:none; cursor:pointer;
  font-family:inherit; font-size:24px; font-weight:800; letter-spacing:.01em;
  color:#fff;
  background:linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);
  box-shadow:0 14px 34px rgba(var(--accent-rgb),.45);
  transform:translate(-50%, -50%);
  transition:transform .2s ease, box-shadow .25s ease, filter .2s ease;
}
.pay-start-btn svg { display:block; flex-shrink:0; }
.pay-start-btn:hover {
  transform:translate(-50%, calc(-50% - 2px)) scale(1.03);
  box-shadow:0 18px 44px rgba(var(--accent-rgb),.6);
  filter:brightness(1.06);
}
.pay-start-btn:active { transform:translate(-50%, -50%) scale(.97); }
.pay-start-hint {
  margin:0; font-size:15px; color:var(--muted);
  animation:payHintFade 2.2s ease-in-out infinite;
}
@keyframes payHintFade { 0%,100% { opacity:.55; } 50% { opacity:1; } }
@media (max-width:480px) {
  .pay-start-orb { width:210px; height:210px; }
  .pay-start-orb::before { width:122px; height:122px; }
  .pay-start-btn { padding:16px 36px; font-size:19px; }
}

/* ===== Escena intro / ask ===== */
.pay-intro .pay-line,
.pay-intro .pay-sub,
.pay-intro .pay-sub2 {
  opacity:0;
  transform:translateY(10px);
  transition:opacity .35s ease, transform .35s ease;
  will-change:opacity, transform;
}
.pay-intro .pay-line.is-on,
.pay-intro .pay-sub.is-on,
.pay-intro .pay-sub2.is-on {
  opacity:1;
  transform:none;
}
.pay-line { font-size:26px; font-weight:600; color:var(--accent); margin:0 0 10px; }
.pay-sub  { font-size:18px; color:var(--muted); margin-bottom:26px; }
.pay-intro .pay-sub:not(.pay-sub2) { font-size:31px; line-height:1.35; letter-spacing:-.015em; }
.pay-sub2 { visibility:hidden; }
.pay-title {
  font-size:clamp(34px,5vw,52px); line-height:1.16; font-weight:800;
  letter-spacing:-.025em; color:var(--ink);
}
.pay-title em { color:var(--accent); font-style:normal; background:rgba(var(--accent-rgb),.10); padding:.04em .16em; border-radius:.35em; }
.pay-brand {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  margin-top:30px;
  font-size:13px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--muted);
}
/* Logo fijo superior izquierda */
.pay-top-logo {
  position:fixed; top:22px; left:22px; z-index:50;
  display:inline-flex; align-items:center; justify-content:center;
  width:108px; height:108px; padding:12px;
  border-radius:26px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(var(--accent-rgb),.16);
  box-shadow:
    0 10px 28px -12px rgba(var(--accent-rgb),.45),
    0 4px 14px rgba(13,18,38,.06);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  text-decoration:none;
  overflow:hidden;
  transition:transform .2s ease, box-shadow .25s ease, border-color .2s ease;
  animation:payTopLogoIn .55s ease both;
}
.pay-top-logo-glow {
  position:absolute; inset:-30%;
  background:radial-gradient(circle at 30% 25%, rgba(var(--accent-rgb),.22), transparent 58%);
  pointer-events:none;
  opacity:.9;
}
.pay-top-logo img {
  position:relative; z-index:1;
  width:100%; height:100%;
  object-fit:contain;
  border-radius:10px;
}
.pay-top-logo--mark {
  background:linear-gradient(145deg, var(--accent), var(--accent-dark));
  border-color:transparent;
  color:#fff;
}
.pay-top-logo-letter {
  position:relative; z-index:1;
  font-size:42px; font-weight:800; letter-spacing:-.02em;
  color:#fff; line-height:1;
}
.pay-top-logo:hover {
  transform:translateY(-2px) scale(1.04);
  border-color:rgba(var(--accent-rgb),.32);
  box-shadow:
    0 16px 34px -12px rgba(var(--accent-rgb),.55),
    0 6px 18px rgba(13,18,38,.08);
}
@keyframes payTopLogoIn {
  from { opacity:0; transform:translateY(-8px) scale(.92); }
  to   { opacity:1; transform:none; }
}
@media (max-width:480px) {
  .pay-top-logo { top:14px; left:14px; width:78px; height:78px; padding:9px; border-radius:20px; }
  .pay-top-logo-letter { font-size:30px; }
}
/* ===== Input grande centrado ===== */
.pay-field {
  position:relative; display:flex; align-items:center;
  width:min(620px,92vw); margin:40px auto 0;
  border-radius:22px; padding:16px 168px 16px 118px;
  background:#f3f4fb;
  border:2px solid transparent;
  box-shadow:0 2px 6px rgba(13,18,38,.04), 0 22px 46px -12px rgba(13,18,38,.10);
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.pay-field:focus-within {
  background:#fff;
  border-color:transparent;
  box-shadow:0 2px 6px rgba(13,18,38,.04), 0 22px 46px -12px rgba(13,18,38,.10);
}
/* Marca verde temporal (~3s) al aparecer el input */
.pay-field.field-marked {
  background:#fff;
  border-color:var(--accent2);
  box-shadow:0 0 0 3px rgba(34,197,94,.16), 0 14px 32px -12px rgba(13,18,38,.10);
  transition:border-color .35s ease, box-shadow .35s ease, background .35s ease;
}
.pay-field-ico {
  position:absolute; left:18px; top:50%; transform:translateY(-50%);
  display:grid; place-items:center;
  width:54px; height:54px; border-radius:16px;
  color:#fff; background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  box-shadow:0 8px 18px -6px rgba(var(--accent-rgb),.55);
  pointer-events:auto;
  z-index:2;
  overflow:visible;
  border:0; padding:0; cursor:pointer;
  appearance:none; -webkit-appearance:none;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease, opacity .2s ease;
}
.pay-field-ico:hover:not(:disabled):not(.is-disabled) {
  transform:translateY(-50%) scale(1.05);
}
.pay-field-ico:focus-visible {
  outline:2px solid rgba(var(--accent-rgb),.55);
  outline-offset:3px;
}
.pay-field-ico.is-disabled,
.pay-field-ico:disabled {
  opacity:.55;
  cursor:not-allowed;
  pointer-events:none;
}
.pay-field-ico.is-recording {
  background:linear-gradient(135deg,#ef4444,#f97316);
  box-shadow:0 8px 18px -6px rgba(239,68,68,.55);
  animation:payMicRecPulse 1.1s ease-in-out infinite;
}
.pay-field-ico.is-busy {
  opacity:.75;
  cursor:wait;
}
@keyframes payMicRecPulse {
  0%,100% { box-shadow:0 0 0 0 rgba(239,68,68,.45), 0 8px 18px -6px rgba(239,68,68,.55); }
  50% { box-shadow:0 0 0 10px rgba(239,68,68,0), 0 8px 22px -4px rgba(239,68,68,.65); }
}
.pay-field-ico > svg { position:relative; z-index:3; }
/* Visos / ondas alrededor del micrófono al aparecer el input */
.pay-mic-wave {
  position:absolute; inset:-10px; border-radius:50%;
  border:2px solid transparent;
  background:
    radial-gradient(circle, transparent 52%, rgba(var(--accent-rgb),.55) 62%, rgba(59,130,246,.35) 78%, transparent 88%);
  opacity:0;
  pointer-events:none;
  z-index:1;
}
.pay-ask.active .pay-field-ico:not(.mic-settled) .pay-mic-wave {
  animation:payMicWave 1.8s ease-out infinite;
}
.pay-ask.active .pay-field-ico:not(.mic-settled) .pay-mic-wave.w2 { animation-delay:.55s; }
.pay-ask.active .pay-field-ico:not(.mic-settled) .pay-mic-wave.w3 { animation-delay:1.1s; }
@keyframes payMicWave {
  0%   { transform:scale(.55); opacity:0; }
  18%  { opacity:1; }
  100% { transform:scale(1.85); opacity:0; }
}
/* Aura morada + azul del portal (tras ~4s) */
.pay-mic-aura {
  position:absolute; inset:-14px; border-radius:50%;
  background:
    radial-gradient(circle at 35% 30%, rgba(124,129,248,.55) 0%, transparent 55%),
    radial-gradient(circle at 70% 70%, rgba(59,130,246,.5) 0%, transparent 58%),
    radial-gradient(circle, rgba(var(--accent-rgb),.28) 0%, transparent 70%);
  box-shadow:
    0 0 0 0 rgba(var(--accent-rgb),0),
    0 0 22px 4px rgba(var(--accent-rgb),.0),
    0 0 28px 6px rgba(59,130,246,.0);
  opacity:0;
  transform:scale(.7);
  transition:opacity .9s ease, transform .9s ease, box-shadow .9s ease;
  pointer-events:none;
  z-index:0;
}
.pay-field-ico.mic-settled .pay-mic-wave {
  animation:none !important;
  opacity:0;
}
.pay-field-ico.mic-settled .pay-mic-aura {
  opacity:1;
  transform:scale(1);
  box-shadow:
    0 0 0 3px rgba(var(--accent-rgb),.22),
    0 0 22px 6px rgba(var(--accent-rgb),.45),
    0 0 36px 10px rgba(59,130,246,.35);
  animation:payMicAura 2.8s ease-in-out infinite;
}
@keyframes payMicAura {
  0%,100% {
    box-shadow:
      0 0 0 3px rgba(var(--accent-rgb),.22),
      0 0 20px 5px rgba(var(--accent-rgb),.4),
      0 0 32px 8px rgba(59,130,246,.28);
    filter:saturate(1);
  }
  50% {
    box-shadow:
      0 0 0 5px rgba(var(--accent-rgb),.3),
      0 0 28px 10px rgba(var(--accent-rgb),.55),
      0 0 44px 14px rgba(59,130,246,.42);
    filter:saturate(1.15);
  }
}
.pay-field input {
  width:100%; border:0; outline:none;
  background:transparent; font-size:26px; font-weight:500; padding:10px 0;
  font-family:'Inter',sans-serif; color:var(--ink);
}
.pay-field input::placeholder { color:#b9c1d6; font-weight:400; }
.field-hint {
  display:block; margin-top:18px;
  font-size:15px; color:var(--muted);
}
.field-hint.is-voice-down {
  color:#b45309;
  background:rgba(245,158,11,.10);
  border:1px solid rgba(245,158,11,.28);
  border-radius:12px;
  padding:10px 14px;
  line-height:1.45;
}
.pay-rec-bar {
  display:inline-flex; align-items:center; gap:10px;
  margin-top:14px;
  padding:6px 10px 6px 6px;
  border-radius:999px;
  background:rgba(239,68,68,.06);
  border:1.5px solid #ef4444;
  animation:payRecBarIn .22s ease;
  color:#dc2626;
}
.pay-rec-bar[hidden] { display:none !important; }
@keyframes payRecBarIn {
  from { opacity:0; transform:translateY(4px); }
  to { opacity:1; transform:none; }
}
.pay-rec-pill {
  display:inline-flex; align-items:center; gap:7px;
  cursor:pointer;
  padding:6px 12px 6px 10px;
  border-radius:999px;
  font-size:12px; font-weight:700; letter-spacing:.01em;
  color:#dc2626;
  background:#fff;
  border:1.5px solid #ef4444;
  box-shadow:none;
  transition:background .15s ease, transform .15s ease;
}
.pay-rec-pill:hover { background:rgba(239,68,68,.08); transform:translateY(-1px); }
.pay-rec-dot {
  width:8px; height:8px; border-radius:50%;
  background:#ef4444;
  box-shadow:0 0 0 0 rgba(239,68,68,.45);
  animation:payRecDot 1s ease-out infinite;
}
@keyframes payRecDot {
  0% { box-shadow:0 0 0 0 rgba(239,68,68,.45); }
  70% { box-shadow:0 0 0 7px rgba(239,68,68,0); }
  100% { box-shadow:0 0 0 0 rgba(239,68,68,0); }
}
.pay-rec-timer {
  font-variant-numeric:tabular-nums;
  font-size:13px; font-weight:700;
  color:#dc2626; min-width:2.6em;
}
.pay-rec-max {
  font-size:12px; font-weight:600; color:#ef4444;
  margin-left:-4px;
}
.pay-ai-bar {
  display:inline-flex; align-items:center; gap:12px;
  margin-top:14px;
  padding:10px 16px 10px 12px;
  border-radius:999px;
  background:rgba(34,197,94,.08);
  border:1.5px solid #22c55e;
  color:#16a34a;
  animation:payRecBarIn .22s ease;
}
.pay-ai-bar[hidden] { display:none !important; }
.pay-ai-text {
  font-size:14px; font-weight:600; letter-spacing:-.01em;
  color:#16a34a;
}
.pay-ai-loader {
  position:relative;
  width:22px; height:22px;
  display:inline-grid; place-items:center;
  flex-shrink:0;
}
.pay-ai-loader span {
  position:absolute; inset:0;
  border-radius:50%;
  border:2.5px solid transparent;
  border-top-color:#22c55e;
  border-right-color:rgba(34,197,94,.35);
  animation:payAiSpin .7s linear infinite;
}
.pay-ai-loader span:nth-child(2) {
  inset:4px;
  border-top-color:#4ade80;
  border-right-color:rgba(74,222,128,.3);
  animation-duration:.95s;
  animation-direction:reverse;
}
.pay-ai-loader span:nth-child(3) {
  inset:8px;
  border-top-color:#86efac;
  border-right-color:transparent;
  animation-duration:1.15s;
}
@keyframes payAiSpin {
  to { transform:rotate(360deg); }
}
/* Botón continuar (dentro del campo) */
.pay-go {
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  display:inline-flex; align-items:center; gap:8px;
  border:0; cursor:pointer; padding:15px 22px 15px 24px;
  font-size:17px; font-weight:600; letter-spacing:-.01em;
  color:#fff; background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  border-radius:14px; box-shadow:0 10px 22px -8px rgba(var(--accent-rgb),.55);
  transition:.18s ease;
}
.pay-go svg { flex-shrink:0; }
.pay-go:hover { filter:brightness(1.08); transform:translateY(calc(-50% - 1px)); }
.pay-go:hover svg { transform:translateX(2px); transition:transform .18s ease; }
/* ===== Escena search (orb) ===== */
.pay-orb {
  width:52px; height:52px; margin:44px auto 0;
  position:relative;
}
.pay-orb span {
  position:absolute; inset:0; border-radius:50%;
  background:var(--accent); opacity:.16;
  animation:pulse 1.5s infinite ease-in-out;
}
.pay-orb span:nth-child(2) { animation-delay:.35s; }
.pay-orb span:nth-child(3) { animation-delay:.7s; }
@keyframes pulse {
  from { transform:scale(.55); opacity:.32; }
  to   { transform:scale(1.15); opacity:0; }
}
/* ===== Escena results (agrupada por inquilino) ===== */
.pay-results-list {
  text-align:left;
  display:flex; flex-direction:column; gap:16px;
  margin-top:34px; max-height:52vh; overflow-y:auto;
  padding-right:6px;
}
.pay-card {
  background:#f7f8fc; border-radius:18px; padding:20px 22px;
  box-shadow:0 2px 5px rgba(13,18,38,.04);
}
.pay-card-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.pay-card-title { font-size:19px; font-weight:700; color:var(--ink); }
.pay-ref {
  background:#eef0ff; padding:6px 14px; border-radius:9999px;
  font-size:13px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  color:var(--accent);
}
.pay-item {
  display:flex; align-items:center; gap:16px;
  padding:15px 18px; margin-top:10px;
  background:#fff; border-radius:14px; cursor:pointer;
  font-size:16.5px;
  transition:.15s ease, box-shadow .15s ease;
}
.pay-item:hover { box-shadow:0 4px 14px rgba(13,18,38,.08); }
.pay-item.is-paid {
  cursor:default;
  background:linear-gradient(180deg, #f3fdf5, #eefaf1);
  border:1px solid rgba(34,197,94,.22);
}
.pay-item.is-paid:hover { box-shadow:none; }
.pay-check {
  width:28px; height:28px; flex:none;
  display:grid; place-items:center;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg, #22c55e, #16a34a);
  box-shadow:0 6px 16px rgba(34,197,94,.28);
}
.pay-check-ico { display:block; }
.pay-item-main { display:flex; flex-direction:column; gap:3px; flex:1; min-width:0; }
.pay-item-main strong { font-size:18px; letter-spacing:-.01em; }
.pay-item-main small { font-size:13.5px; color:var(--muted); }
.pay-item .pay-tag { margin-left:auto; flex:none; }
.pay-item input[type=checkbox] {
  width:24px; height:24px; flex:none;
  accent-color:var(--accent);
}
.pay-tag {
  padding:5px 12px; border-radius:9999px;
  font-size:12.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase;
}
.pay-pending     { background:#fde8ea; color:var(--danger); }
.pay-with_payment{ background:#fff5e6; color:#b45309; }
.pay-paid        { background:#e7fae9; color:var(--accent2); }
.pay-no-payable {
  margin:16px 0 0; text-align:center;
  font-size:14px; color:var(--muted); line-height:1.45;
}
/* CTA */
.pay-cta {
  margin-top:32px;
  border:0; cursor:pointer; padding:18px 42px;
  font-size:19px; font-weight:600; letter-spacing:-.01em;
  color:#fff; background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  border-radius:14px; transition:.2s ease, transform .15s ease;
}
.pay-cta:hover:not(:disabled):not(.is-disabled) { filter:brightness(1.06); }
.pay-cta:disabled,
.pay-cta.is-disabled {
  cursor:not-allowed;
  opacity:.55;
  filter:grayscale(.25);
  box-shadow:none;
}
/* ===== Escena gateway ===== */
.pay-back {
  margin-top:22px;
  border:0; cursor:pointer; padding:12px 24px;
  font-size:14px; color:#fff; background:var(--accent2);
  border-radius:10px; transition:.18s ease;
}
/* ===== Pantalla no encontrado ===== */
.pay-emoji {
  width:96px; height:96px; margin:0 auto 26px;
  display:grid; place-items:center; border-radius:50%;
  color:#fff; background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  box-shadow:0 16px 40px rgba(99,102,241,.35);
}
.pay-notfound .pay-line { color:var(--accent); }
.pay-notfound .pay-title { font-size:clamp(24px,4.6vw,38px); }
.pay-notfound .pay-back {
  margin-top:30px; padding:15px 36px; font-size:16px; font-weight:600;
  color:#fff; background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  border-radius:13px;
}
.pay-notfound .pay-back:hover { filter:brightness(1.06); transform:translateY(-1px); }

@media (max-width:560px) {
  .pay-title { font-size:29px; }
  .pay-line { font-size:21px; }
  .pay-field { padding:14px 16px 76px 96px; width:min(560px,94vw); }
  .pay-field-ico { left:14px; top:40px; width:46px; height:46px; }
  .pay-field input { font-size:19px; padding-left:0; }
  .pay-go { right:12px; left:12px; top:auto; bottom:14px; transform:none; }
  .pay-go:hover { transform:translateY(-1px); }
}

/* ===== Botón silenciar sonido ===== */
.pay-mute-btn {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 50;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(8px);
  color: #334155;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
  transition: transform 0.15s ease, box-shadow 0.15s ease, color 0.15s ease;
}
/* Estado: audio bloqueado por el navegador (pulsación suave) */
.pay-mute-btn.locked { animation: pay-mute-pulse 1.6s ease-in-out infinite; border-color: var(--accent, #6366f1); }
@keyframes pay-mute-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(99, 102, 241, 0.45); }
  50%      { box-shadow: 0 0 0 10px rgba(99, 102, 241, 0); }
}

.pay-mute-btn:hover {
  transform: scale(1.08);
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.14);
}
.pay-mute-btn.muted {
  color: #94a3b8;
}

/* Powered by ELP — inferior derecha */
.pay-powered {
  position:fixed; right:18px; bottom:18px; z-index:50;
  display:inline-flex; align-items:baseline; gap:7px;
  padding:10px 14px;
  border-radius:999px;
  text-decoration:none;
  color:var(--ink2);
  background:rgba(255,255,255,.92);
  border:1px solid rgba(13,18,38,.08);
  box-shadow:0 8px 22px -10px rgba(13,18,38,.18);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:transform .18s ease, box-shadow .2s ease, border-color .2s ease, color .2s ease;
}
.pay-powered-label {
  font-size:12px; font-weight:500; letter-spacing:.01em;
  color:var(--muted);
}
.pay-powered-brand {
  font-size:13px; font-weight:800; letter-spacing:.06em;
  color:var(--accent);
}
.pay-powered:hover {
  transform:translateY(-2px);
  border-color:rgba(var(--accent-rgb),.28);
  box-shadow:0 12px 28px -12px rgba(var(--accent-rgb),.35);
}
.pay-powered:hover .pay-powered-brand { color:var(--accent-dark); }
@media (max-width:480px) {
  .pay-powered { right:12px; bottom:12px; padding:8px 12px; }
  .pay-powered-label { font-size:11px; }
  .pay-powered-brand { font-size:12px; }
}
