/* ==========================================================================
   MozaTour — pagamento: cartão na reserva + popup em passos
   ========================================================================== */
.paycta{display:grid;grid-template-columns:1fr auto;gap:1.6rem;align-items:center;padding:1.8rem;border-radius:22px;color:#fff;position:relative;overflow:hidden;
  background:radial-gradient(600px 240px at 100% 0%,rgba(255,255,255,.18),transparent 60%),linear-gradient(120deg,#E8704F 0%,#E8638F 100%);box-shadow:0 24px 50px rgba(232,99,143,.28)}
.paycta::after{content:"";position:absolute;right:-60px;bottom:-80px;width:240px;height:240px;border-radius:50%;border:40px solid rgba(255,255,255,.08)}
.paycta-l{position:relative;z-index:1}
.paycta-l small{display:block;font:800 .74rem var(--sans);letter-spacing:.12em;text-transform:uppercase;opacity:.9}
.paycta-l b{display:block;font:800 clamp(2rem,4vw,2.8rem)/1.1 var(--sans);letter-spacing:-.03em;margin:.25rem 0 .4rem}
.paycta-l span{opacity:.92;font-size:.95rem}
.paycta-wait{display:inline-flex;align-items:center;gap:.5rem;margin-top:.9rem;background:rgba(255,255,255,.18);border-radius:999px;padding:.4rem .8rem;font-style:normal;font-weight:700;font-size:.82rem}
.paycta-wait i{width:8px;height:8px;border-radius:50%;background:#FFE08A;animation:blink 1.2s infinite}
@keyframes blink{50%{opacity:.25}}
.paycta-r{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-end;gap:.8rem}
.paycta-logos{display:flex;gap:.5rem}
.paycta-logos img,.paycta-logos span{height:44px;width:44px;border-radius:12px;background:#fff;object-fit:contain;padding:4px;box-shadow:0 6px 14px rgba(0,0,0,.12)}
.paycta-logos span{width:auto;display:flex;align-items:center;gap:.3rem;padding:0 .7rem;color:var(--ink);font-weight:800;font-size:.8rem}
.paycta-logos .ic{width:18px;height:18px}
.paycta-btn{background:#fff!important;color:var(--coral-d)!important;font-size:1rem;padding:1rem 1.6rem;border-radius:12px;box-shadow:0 10px 24px rgba(0,0,0,.15);transition:transform .2s,box-shadow .2s}
.paycta-btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(0,0,0,.2)}
.paycta-safe{display:flex;align-items:center;gap:.35rem;font-size:.78rem;opacity:.9}
.paycta-safe .ic{width:15px;height:15px}

/* ---------- popup ---------- */
.pm{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:16px}
.pm[hidden]{display:none}
.pm-backdrop{position:absolute;inset:0;background:rgba(18,14,12,.55);backdrop-filter:blur(6px);opacity:0;transition:opacity .3s}
.pm.on .pm-backdrop{opacity:1}
.pm-dialog{position:relative;width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:24px;box-shadow:0 40px 90px rgba(0,0,0,.35);
  transform:translateY(24px) scale(.97);opacity:0;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .3s}
.pm.on .pm-dialog{transform:none;opacity:1}
.pm-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.4rem 1.5rem 0}
.pm-head small{color:var(--muted);font-size:.8rem;font-weight:600}
.pm-head h3{font-family:var(--sans);font-weight:800;font-size:1.4rem;letter-spacing:-.02em;margin-top:.2rem}
.pm-x{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:.95rem;flex:none;transition:background .2s}
.pm-x:hover{background:var(--paper)}
.pm-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;padding:1rem 1.5rem 0;margin:0}
.pm-steps li{font-size:.74rem;font-weight:700;color:var(--muted);padding-top:.55rem;border-top:3px solid var(--line-2);transition:color .3s,border-color .3s}
.pm-steps li.on{color:var(--ink);border-color:var(--coral)}
.pm-pane{display:none;padding:1.3rem 1.5rem 1.5rem;animation:pmIn .35s ease}
.pm-pane.on{display:block}
@keyframes pmIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.pm-amounts{display:grid;gap:.6rem;margin-bottom:.8rem}
.pm-amt input,.pm-meth input{position:absolute;opacity:0;pointer-events:none}
.pm-amt span{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;border:1.5px solid var(--line);border-radius:14px;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}
.pm-amt small{color:var(--ink-2);font-weight:600}
.pm-amt b{font:800 1.2rem var(--sans)}
.pm-amt input:checked+span{border-color:var(--coral);background:#FFF6F2;box-shadow:0 0 0 3px rgba(238,127,87,.15)}
.pm-note{color:var(--muted);font-size:.84rem;margin:.4rem 0 1rem}
.pm-methods{display:grid;gap:.6rem}
.pm-card{display:grid;grid-template-columns:52px 1fr 22px;gap:.9rem;align-items:center;padding:.8rem .9rem;border:1.5px solid var(--line);border-radius:16px;cursor:pointer;transition:border-color .2s,background .2s,transform .2s,box-shadow .2s}
.pm-card:hover{transform:translateY(-1px);box-shadow:var(--sh)}
.pm-logo{width:52px;height:52px;border-radius:12px;background:#fff;border:1px solid var(--line-2);display:grid;place-items:center;overflow:hidden}
.pm-logo img{width:100%;height:100%;object-fit:contain;padding:3px}
.pm-logo .ic{width:26px;height:26px;color:var(--ink)}
.pm-txt b{display:block;font-size:1rem}
.pm-txt small{color:var(--muted);font-size:.8rem}
.pm-radio{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);transition:all .2s}
.pm-meth input:checked+.pm-card{border-color:var(--coral);background:#FFF6F2;box-shadow:0 0 0 3px rgba(238,127,87,.15)}
.pm-meth input:checked+.pm-card .pm-radio{border:6px solid var(--coral)}
.pm-nav{display:flex;justify-content:space-between;gap:.6rem;margin-top:1.2rem}
.pm-err{color:#B42318;background:#FEF3F2;border-radius:10px;padding:.7rem .9rem;font-size:.88rem;margin-top:.9rem}
.pm-sum{display:flex;justify-content:space-between;align-items:center;background:var(--paper);border-radius:14px;padding:.9rem 1rem;margin-bottom:1rem}
.pm-sum span{color:var(--ink-2);font-weight:600}
.pm-sum b{font:800 1.35rem var(--sans)}
.pm-flow{display:none}
.pm-flow.on{display:block;animation:pmIn .3s ease}
.pm-brandline{display:flex;gap:.8rem;align-items:center;margin-bottom:1rem;font-size:.9rem;color:var(--ink-2)}
.pm-brandline img{width:46px;height:46px;border-radius:10px;object-fit:contain;border:1px solid var(--line-2);flex:none;padding:2px;background:#fff}
.pm-bank{width:46px;height:46px;border-radius:10px;background:var(--ink);color:#fff;display:grid;place-items:center;flex:none}
.pm-bank .ic{width:22px;height:22px}
.pm-box{border:1px solid var(--line);border-radius:14px;padding:1rem;margin-bottom:1rem}
.pm-row{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;padding:.55rem 0;border-top:1px dashed var(--line)}
.pm-box .pm-brandline+.pm-row{border-top:0}
.pm-row span{color:var(--muted);font-size:.85rem}
.pm-row b{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1rem;text-align:right}
.pm-copy{border:1px solid var(--line);background:#fff;border-radius:8px;padding:.3rem .6rem;font:700 .75rem var(--sans);cursor:pointer;transition:all .2s}
.pm-copy:hover{border-color:var(--ink)}
.pm-copy.ok{background:var(--ok);color:#fff;border-color:var(--ok)}
.pm-phone{display:flex;border:1.5px solid var(--line);border-radius:12px;overflow:hidden;transition:border-color .2s}
.pm-phone:focus-within{border-color:var(--coral)}
.pm-phone span{padding:.85rem .9rem;background:var(--paper);font-weight:800;color:var(--ink-2)}
.pm-phone input{border:0!important;outline:0;flex:1;font:700 1.1rem var(--sans);letter-spacing:.04em;padding:.8rem .9rem}
.pm-alt{display:block;margin:1rem auto 0;background:none;border:0;color:var(--ink-2);text-decoration:underline;cursor:pointer;font-size:.85rem}
.pm-drop{margin-top:.2rem}
.pm-center{text-align:center;padding:2.2rem 1.6rem 2rem}
.pm-center h4{font-family:var(--sans);font-weight:800;font-size:1.4rem;margin:1.2rem 0 .5rem}
.pm-center p{color:var(--ink-2);max-width:36ch;margin:0 auto}
.pm-phoneanim{position:relative;width:96px;height:96px;margin:0 auto;border-radius:50%;background:#FFF1EA;display:grid;place-items:center;color:var(--coral-d)}
.pm-phoneanim .ic{width:40px;height:40px;animation:shake 1.6s infinite}
.pm-phoneanim .ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--coral);animation:ring 1.8s infinite}
.pm-phoneanim .r2{animation-delay:.9s}
@keyframes ring{from{transform:scale(1);opacity:.8}to{transform:scale(1.7);opacity:0}}
@keyframes shake{0%,60%,100%{transform:rotate(0)}10%,30%,50%{transform:rotate(-12deg)}20%,40%{transform:rotate(12deg)}}
.pm-timer{display:inline-block;margin:1.2rem 0 .4rem;font:800 1.6rem var(--sans);letter-spacing:.04em;background:var(--paper);border-radius:12px;padding:.4rem 1rem}
.pm-check svg{width:96px;height:96px;margin:0 auto;display:block}
.pm-check circle{fill:none;stroke:#2E8B57;stroke-width:3;stroke-dasharray:160;stroke-dashoffset:160;animation:draw .7s ease forwards}
.pm-check path{fill:none;stroke:#2E8B57;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:draw .4s .6s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.pm-center .btn{margin-top:1.4rem}
body.pm-open{overflow:hidden}
@media (max-width:640px){
  .paycta{grid-template-columns:1fr}
  .paycta-r{align-items:stretch}
  .paycta-btn{justify-content:center}
  .pm{align-items:flex-end;padding:0}
  .pm-dialog{border-radius:24px 24px 0 0;max-height:94vh;transform:translateY(100%)}
  .pm.on .pm-dialog{transform:none}
}

.pm-demo{background:#FFF7E6;color:#8A5A00;border:1px dashed #F5C26B;border-radius:10px;padding:.6rem .8rem;font-size:.84rem;margin-bottom:1rem}
