/* Pop-up de captura antes do checkout · identidade Alta Margem (creme, oliva, Fraunces + Montserrat) */
.cap{--c-cream:#f0f1e8;--c-ink:#1f2a19;--c-body:#4a5240;--c-mid:#6b7a3a;--c-lime:#d4dc9a;--c-border:rgba(31,42,25,.14);
  --c-serif:"Fraunces",Georgia,serif;--c-sans:"Montserrat",system-ui,sans-serif;
  position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px}
.cap[hidden]{display:none}
.cap__overlay{position:absolute;inset:0;background:rgba(20,27,16,.62);backdrop-filter:blur(3px);opacity:0;transition:opacity .2s}
.cap__box{position:relative;width:100%;max-width:460px;max-height:calc(100dvh - 32px);overflow:auto;background:var(--c-cream);border:1px solid var(--c-border);border-radius:20px;padding:40px 36px 30px;box-shadow:0 40px 80px -30px rgba(0,0,0,.55);text-align:center;opacity:0;transform:translateY(14px) scale(.98);transition:opacity .2s,transform .2s}
.cap--in .cap__overlay{opacity:1}
.cap--in .cap__box{opacity:1;transform:none}
html.cap-open{overflow:hidden}
.cap__x{position:absolute;top:12px;right:14px;width:36px;height:36px;border:0;border-radius:50%;background:transparent;font-size:26px;line-height:1;color:var(--c-body);cursor:pointer}
.cap__x:hover{background:rgba(31,42,25,.07)}
.cap__eyebrow{display:inline-block;font-family:var(--c-sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--c-body);border-bottom:1px solid var(--c-border);padding-bottom:8px}
.cap__t{margin:16px 0 0;font-family:var(--c-serif);font-weight:300;font-size:30px;line-height:1.12;color:var(--c-ink)}
.cap__t em{font-style:italic;color:var(--c-mid)}
.cap__sub{margin:10px 0 0;font-family:var(--c-sans);font-size:15px;line-height:1.5;color:var(--c-body)}
.cap__form{margin-top:24px;display:flex;flex-direction:column;gap:14px;text-align:left}
.cap__f span{display:block;margin-bottom:6px;font-family:var(--c-sans);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--c-ink)}
.cap__f input{width:100%;box-sizing:border-box;height:52px;padding:0 16px;border:1px solid var(--c-border);border-radius:12px;background:#fff;font-family:var(--c-sans);font-size:16px;color:var(--c-ink);outline:none;transition:border-color .15s,box-shadow .15s}
.cap__f input:focus{border-color:var(--c-mid);box-shadow:0 0 0 3px rgba(107,122,58,.18)}
.cap__err{min-height:0;margin:0;font-family:var(--c-sans);font-size:14px;color:#a3402b}
.cap__err:empty{display:none}
.cap__btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:6px;padding:16px 16px 16px 24px;border:0;border-radius:10px;background:var(--c-ink);color:#fff;font-family:var(--c-sans);font-weight:700;font-size:15px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:transform .15s,background .15s}
.cap__btn:hover{background:#2c3a24;transform:translateY(-1px)}
.cap__ic{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.14);flex:none}
.cap__ic svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.cap__lock{display:flex;align-items:center;justify-content:center;gap:6px;margin:4px 0 0;font-family:var(--c-sans);font-size:13px;color:var(--c-body)}
.cap__lock svg{width:14px;height:14px;fill:none;stroke:var(--c-mid);stroke-width:2}
@media (max-width:480px){
  .cap{align-items:flex-end;padding:0}
  .cap__box{max-width:none;border-radius:20px 20px 0 0;padding:34px 20px 24px;max-height:94dvh}
  .cap__t{font-size:26px}
}
