.abcn{--o:#E8742B;--ink:#3B2A1E;--bg:#FBF5EA;--blue:#2F6FA8;--y:#FFC93C;font-family:'Nunito',system-ui,sans-serif;color:var(--ink);box-sizing:border-box}
.abcn *{box-sizing:border-box}
.abcn__kicker{display:block;font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}
.abcn__title{display:block;font-family:'Fredoka','Nunito',sans-serif;font-weight:700;font-size:clamp(24px,3vw,34px);line-height:1.1;text-wrap:balance}
.abcn__text{margin:10px 0 0;font-size:16px;line-height:1.6}
.abcn__form{display:flex;flex-direction:column;gap:10px;margin:0}
.abcn__fields{display:flex;gap:10px;flex-wrap:wrap}
.abcn__fields input{flex:1 1 200px;min-height:54px;border-radius:16px;border:2px solid transparent;padding:0 18px;font:600 16px 'Nunito',sans-serif;color:var(--ink);background:#fff;outline:none}
.abcn__fields input:focus{border-color:var(--o)}
.abcn__fields button{flex:0 0 auto;min-height:54px;padding:0 22px;border-radius:16px;border:0;background:var(--y);color:var(--ink);font:800 16px 'Nunito',sans-serif;cursor:pointer;box-shadow:0 4px 0 #C99512}
.abcn__fields button:disabled{opacity:.7}
.abcn__consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;font-weight:700;line-height:1.45;cursor:pointer}
.abcn__consent input{width:18px;height:18px;flex:none;margin-top:1px;accent-color:var(--o)}
.abcn__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.abcn__msg{margin:0;font-weight:800;font-size:15px;min-height:0}
.abcn__msg:empty{display:none}
.abcn__msg.is-err{color:#C8372D}
.abcn__form.is-done .abcn__fields,.abcn__form.is-done .abcn__consent{display:none}
.abcn__form.is-done .abcn__msg{font-size:18px;padding:18px;border-radius:16px;background:#ffffff26}

/* Cartão azul */
.abcn--card,.abcn--popup{background:var(--blue);color:#fff;border-radius:28px;padding:clamp(24px,4vw,44px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:28px;align-items:center;outline:3px dashed #ffffff55;outline-offset:-12px}
.abcn--card .abcn__kicker,.abcn--popup .abcn__kicker{color:#FFD46B}
.abcn--card .abcn__text,.abcn--popup .abcn__text{color:#E4EEF8}
.abcn--card .abcn__msg.is-err,.abcn--popup .abcn__msg.is-err{color:#FFE1DD}
/* Inline em artigos */
.abcn--inline{background:#F3E6D0;border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:16px;margin:36px 0}
.abcn--inline .abcn__kicker{color:var(--o)}
.abcn--inline .abcn__title{font-size:24px}
.abcn--inline .abcn__fields input{border-color:#E3D2B8}
.abcn--inline .abcn__fields button{background:var(--o);color:#fff;box-shadow:0 4px 0 #8E3B12}
.abcn--inline .abcn__form.is-done .abcn__msg{background:#fff}
/* Rodapé escuro */
.abcn--rodape{background:#3B2A1E;color:#FBF5EA;border-radius:28px;padding:clamp(22px,4vw,36px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px;align-items:center}
.abcn--rodape .abcn__kicker{color:var(--y)}
.abcn--rodape .abcn__text{color:#CDB89E}
.abcn--rodape .abcn__msg.is-err{color:#FFB3A8}
/* Mínimo */
.abcn--minimo .abcn__fields input{border-color:#E3D2B8}
/* Popup */
.abcn-popup{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px}
.abcn-popup[hidden]{display:none}
.abcn-popup__backdrop{position:absolute;inset:0;background:#2A1D14b3;opacity:0;transition:opacity .3s}
.abcn-popup__box{position:relative;width:min(100%,760px);max-height:calc(100vh - 32px);overflow:auto;border-radius:30px;background:#2F6FA8;transform:translateY(30px) scale(.96);opacity:0;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s}
.abcn-popup.is-open .abcn-popup__backdrop{opacity:1}
.abcn-popup.is-open .abcn-popup__box{transform:none;opacity:1}
.abcn-popup__img img{display:block;width:100%;aspect-ratio:16/6;object-fit:cover}
.abcn-popup .abcn--popup{border-radius:0;outline:0}
.abcn-popup__x{position:absolute;right:14px;top:14px;z-index:2;width:42px;height:42px;border-radius:50%;border:0;background:#fff;color:#3B2A1E;font-size:16px;font-weight:800;cursor:pointer}
@media (max-width:600px){.abcn-popup{align-items:flex-end;padding:0}.abcn-popup__box{border-radius:28px 28px 0 0}}
