.smtping-form { --smtping-accent: #089dff; max-width: 520px; font: inherit; color: inherit; }
.smtping-form form, .smtping-form-inner { margin: 0; display: flex; flex-direction: column; gap: 12px; }
.smtping-form-title { margin: 0; font-size: 1.35em; line-height: 1.25; }
.smtping-form-desc { margin: 0; opacity: .8; }
.smtping-form-fields { display: flex; flex-direction: column; gap: 10px; }
.smtping-form-field { margin: 0; display: flex; flex-direction: column; gap: 4px; }
.smtping-form-field label { font-size: .875em; font-weight: 600; }
.smtping-form input[type=text], .smtping-form input[type=email] { width: 100%; box-sizing: border-box; padding: 11px 14px; border: 1px solid rgba(0,0,0,.18); border-radius: 10px; background: #fff; color: #111; font: inherit; font-size: 16px; line-height: 1.3; }
.smtping-form input:focus { outline: none; border-color: var(--smtping-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--smtping-accent) 22%, transparent); }
.smtping-form input[aria-invalid=true] { border-color: #d63638; }
.smtping-form-submit { margin: 0; }
.smtping-form .smtping-form-submit button { width: 100%; padding: 12px 20px; border: 0; border-radius: 10px; background: var(--smtping-accent); color: #fff; font: inherit; font-weight: 700; font-size: 16px; cursor: pointer; transition: filter .15s, transform .05s; }
.smtping-form .smtping-form-submit button:hover { filter: brightness(1.07); }
.smtping-form .smtping-form-submit button:active { transform: translateY(1px); }
.smtping-form button[disabled] { opacity: .65; cursor: progress; }
.smtping-form--inline .smtping-form-fields { flex-direction: row; flex-wrap: wrap; align-items: flex-end; }
.smtping-form--inline .smtping-form-field { flex: 1 1 200px; }
.smtping-form--inline .smtping-form-submit { flex: 0 0 auto; }
.smtping-form--inline .smtping-form-email label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.smtping-form-consent { margin: 0; font-size: .85em; opacity: .85; }
.smtping-form-consent label { display: flex; gap: 8px; align-items: flex-start; }
.smtping-form-consent input { margin-top: 3px; }
.smtping-form-msg:empty { display: none; }
.smtping-form-msg { padding: 10px 14px; border-radius: 10px; font-size: .925em; }
.smtping-form-msg.is-error { background: #fcf0f1; color: #8a1f1f; }
.smtping-form-msg.is-success { background: #e8f7ee; color: #0f5f2c; }
.smtping-form.is-done .smtping-form-fields, .smtping-form.is-done .smtping-form-consent { display: none; }
.smtping-form-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.smtping-popup[hidden] { display: none; }
.smtping-popup { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; padding: 20px; }
.smtping-popup-backdrop { position: absolute; inset: 0; background: rgba(11,34,57,.55); animation: smtping-fade .2s ease-out; }
.smtping-popup-box { position: relative; width: 100%; max-width: 460px; background: #fff; color: #1d2327; border-radius: 16px; padding: 30px 28px 24px; box-shadow: 0 24px 60px rgba(11,34,57,.3); animation: smtping-pop .25s ease-out; }
.smtping-popup-box .smtping-form { max-width: none; }
.smtping-popup-close { position: absolute; top: 10px; right: 12px; width: 36px; height: 36px; border: 0; background: transparent; font-size: 26px; line-height: 1; color: #64748b; cursor: pointer; border-radius: 8px; }
.smtping-popup-close:hover { background: #f1f5f9; color: #1d2327; }
@keyframes smtping-fade { from { opacity: 0; } }
@keyframes smtping-pop { from { opacity: 0; transform: translateY(12px) scale(.98); } }
