.express-contato .express-contato__honeypot {
position: absolute !important; left: -10000px !important;
width: 1px !important; height: 1px !important; overflow: hidden !important;
}
.express-contato [hidden] { display: none !important; }
.express-contato .express-contato__captcha { margin: 1rem 0; }
.express-contato .express-contato__response:not([hidden]) {
display: block; margin: 1rem 0; padding: .85rem 1rem;
border: 1px solid currentColor; border-radius: 6px;
}
.express-contato .express-contato__success { color: #22653a; background: #f1faf4; }
.express-contato .express-contato__error { color: #942c2c; background: #fff5f5; }
.express-contato .express-contato__spinner { display: none; }
.express-contato.express-contato--sending .express-contato__spinner {
display: inline-block; visibility: visible; width: 18px; height: 18px;
margin: 0 .5rem; vertical-align: middle; border: 2px solid #bbb;
border-top-color: #333; border-radius: 50%; animation: express-contato-spin .8s linear infinite;
}
.express-contato .express-contato__spinner::before { content: none; }
.express-contato__modal:not([open]) { display: none !important; }
.express-contato__modal[open] {
display: block; position: fixed; inset: 0; box-sizing: border-box;
width: min(440px, calc(100% - 32px)); max-width: 440px; max-height: 90vh;
margin: auto; padding: 0; border: 0; border-radius: 12px; overflow-y: auto;
color: #222; background: #fff; box-shadow: 0 20px 70px #0005;
font: inherit; text-align: left; z-index: 100000;
}
.express-contato__modal::backdrop { background: #0009; }
.express-contato__modal .express-contato__modal-inner { padding: 28px; position: relative; }
.express-contato__modal h3 { color: #222; margin: 0 24px 12px 0; font-size: 1.3rem; line-height: 1.3; }
.express-contato__modal p { margin: 12px 0; color: inherit; font-size: 1rem; line-height: 1.5; }
.express-contato__modal .express-contato__question { font-size: 1.75rem; font-weight: 700; }
.express-contato__modal label { display: block; margin-bottom: 8px; color: #222; }
.express-contato__modal input[name="answer"] {
box-sizing: border-box; display: block; width: 100%; max-width: 100%; height: auto;
padding: 12px; border: 1px solid #777; border-radius: 6px;
color: #222; background: #fff; font: inherit; font-size: 1.1rem;
}
.express-contato__modal .express-contato__modal-status { color: #444; min-height: 1.5em; }
.express-contato__modal .express-contato__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.express-contato__modal button {
appearance: none; box-sizing: border-box; cursor: pointer; padding: 11px 15px;
border: 1px solid #777; border-radius: 6px; background: #fff; color: #222;
font: inherit; font-size: 1rem; line-height: 1.3;
}
.express-contato__modal button[data-confirm] { background: #333; color: #fff; border-color: #333; }
.express-contato__modal .express-contato__close {
position: absolute; top: 8px; right: 8px; width: 40px; height: 40px;
padding: 0; border: 0; font-size: 1.75rem; background: transparent;
}
.express-contato__modal button:disabled, .express-contato input[type="submit"]:disabled { opacity: .55; cursor: wait; }
.express-contato__modal :focus-visible { outline: 3px solid #555; outline-offset: 3px; }
@keyframes express-contato-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .express-contato.express-contato--sending .express-contato__spinner { animation: none; } }