
  .pay-float{
    position:fixed; right:22px; bottom:22px; z-index:140;
    width:min(390px,calc(100vw - 28px));
    background:#fff; border:1px solid rgba(6,39,92,.12);
    border-radius:24px; box-shadow:0 22px 65px rgba(6,39,92,.24);
    overflow:hidden; transform-origin:bottom right;
    transition:width .32s ease,height .32s ease,border-radius .32s ease,box-shadow .32s ease,transform .32s ease,opacity .2s ease;
  }
  .pay-float[hidden]{display:none!important}
  .pay-float__bar{
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    padding:13px 14px 10px 16px; background:linear-gradient(135deg,#06275c,#0a3473);
    color:#fff;
  }
  .pay-float__brand{display:flex;align-items:center;gap:10px;min-width:0}
  .pay-float__logo{width:76px;height:38px;object-fit:contain;background:#fff;border-radius:9px;padding:3px}
  .pay-float__title{font-weight:800;font-size:14px;line-height:1.05;letter-spacing:.01em}
  .pay-float__title small{display:block;font-size:10px;font-weight:600;opacity:.78;margin-top:3px}
  .pay-float__controls{display:flex;gap:6px}
  .pay-icon-btn{
    appearance:none;border:0;width:30px;height:30px;border-radius:50%;cursor:pointer;
    display:grid;place-items:center;background:rgba(255,255,255,.12);color:#fff;font-size:18px;line-height:1;
  }
  .pay-icon-btn:hover{background:rgba(255,255,255,.22)}
  .pay-float__body{padding:18px;display:grid;grid-template-columns:130px 1fr;gap:17px;align-items:center}
  .pay-qr-wrap{
    border:1px solid #dfe8f1;border-radius:18px;padding:9px;background:#fff;
    box-shadow:0 6px 18px rgba(6,39,92,.08);text-align:center;
  }
  .pay-qr{width:110px;height:110px;display:block;margin:auto;image-rendering:pixelated}
  .pay-qr-caption{font-size:9px;color:#6c7787;margin-top:5px;line-height:1.2}
  .pay-copy h3{margin:0 0 6px;color:#06275c;font-size:21px;line-height:1.05}
  .pay-copy p{margin:0 0 11px;color:#5c677a;font-size:13px;line-height:1.35}
  .pay-free{
    display:flex;align-items:center;gap:8px;background:#effbea;border:1px solid #cfeac8;
    border-radius:12px;padding:9px 10px;margin:0 0 12px;color:#0b7013;font-size:12px;font-weight:800;
  }
  .pay-free svg{width:23px;height:23px;flex:none;fill:none;stroke:currentColor;stroke-width:2}
  .pay-actions{display:flex;gap:8px;flex-wrap:wrap}
  .pay-action{
    text-decoration:none;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:800;
    display:inline-flex;align-items:center;justify-content:center;gap:7px;
  }
  .pay-action--primary{background:#15951a;color:#fff;box-shadow:0 8px 18px rgba(21,149,26,.22)}
  .pay-action--ghost{background:#f2f6fa;color:#06275c}
  .pay-demo-note{font-size:9px;color:#8a94a2;margin-top:8px;line-height:1.25}
  .pay-mini{display:none}
  .pay-mini__qr{
    width:58px;height:58px;border:0;border-radius:17px;background:#fff;cursor:pointer;padding:7px;
    box-shadow:0 12px 35px rgba(6,39,92,.28);position:relative;
  }
  .pay-mini__qr::after{
    content:'PAGO';position:absolute;left:50%;bottom:-17px;transform:translateX(-50%);
    font-size:9px;font-weight:900;color:#06275c;background:#fff;border-radius:999px;padding:2px 6px;
    box-shadow:0 3px 10px rgba(6,39,92,.14);
  }
  .pay-mini__qr svg{width:100%;height:100%;fill:#06275c}
  .pay-float.is-minimized{
    width:58px;height:58px;border:0;border-radius:17px;background:transparent;box-shadow:none;overflow:visible;
  }
  .pay-float.is-minimized .pay-float__bar,
  .pay-float.is-minimized .pay-float__body{display:none}
  .pay-float.is-minimized .pay-mini{display:block}
  .pay-pulse{animation:payPulse 2.8s ease-in-out 1.2s 2}
  @keyframes payPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
  @media(max-width:620px){
    .pay-float{right:12px;bottom:18px;width:calc(100vw - 24px);border-radius:20px}
    .pay-float__body{grid-template-columns:102px 1fr;padding:14px;gap:12px}
    .pay-qr{width:86px;height:86px}
    .pay-copy h3{font-size:18px}
    .pay-copy p{font-size:12px}
    .pay-float__logo{width:68px;height:34px}
    .pay-float.is-minimized{right:14px;bottom:22px;width:56px;height:56px}
    .pay-mini__qr{width:56px;height:56px}
  }
  @media(max-width:390px){
    .pay-float__body{grid-template-columns:1fr;text-align:center}
    .pay-qr-wrap{width:126px;margin-inline:auto}
    .pay-free{justify-content:center}
    .pay-actions{justify-content:center}
  }
  @media(prefers-reduced-motion:reduce){
    .pay-float{transition:none}
    .pay-pulse{animation:none}
  }
