.cpotp-lead-form, .cpotp-widget { box-sizing: border-box; }
.cpotp-lead-form { max-width: 620px; margin: 1rem auto; padding: 1.5rem; border: 1px solid #d7dce2; border-radius: 12px; background: #fff; color: #253043; }
.cpotp-lead-form label, .cpotp-widget label { display: block; font-size: .92rem; font-weight: 600; margin: 0 0 .4rem; }
.cpotp-lead-form input:not([type=checkbox]), .cpotp-widget input:not([type=checkbox]) { display: block; box-sizing: border-box; width: 100%; padding: .72rem .8rem; border: 1px solid #b8c3ce; border-radius: 7px; background: #fff; color: #1d2633; font-size: 1rem; }
.cpotp-lead-form > div, .cpotp-lead-form .cpotp-grid > div { margin-bottom: 1.2rem; }
.cpotp-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.cpotp-send-row, .cpotp-check-row { display: flex; gap: .8rem; align-items: center; flex-wrap: wrap; margin: .8rem 0; }
.cpotp-check-row label { flex: 1 0 100%; }
.cpotp-check-row .cpotp-code { max-width: 180px; }
.cpotp-send, .cpotp-check, .cpotp-submit { cursor: pointer; padding: .7rem 1.1rem; border-radius: 7px; border: 0; color: #fff; background: #145b90; font-weight: 600; }
.cpotp-submit { background: #1c6745; width: 100%; }
.cpotp-send:disabled, .cpotp-check:disabled, .cpotp-submit:disabled { opacity: .55; cursor: not-allowed; }
.cpotp-countdown { color: #6b7280; font-size: .86rem; }
.cpotp-message, .cpotp-form-message { font-size: .9rem; min-height: 1.4rem; margin-top: .4rem; }
.cpotp-error { color: #a52b26; }
.cpotp-ok { color: #21704b; }
.cpotp-verified { padding: .8rem; border: 1px solid #83b79b; background: #f3fff7; border-radius: 8px; }
.cpotp-consent { display: flex !important; align-items: flex-start; gap: .6rem; font-weight: 400 !important; line-height: 1.45; }
.cpotp-consent input { margin-top: .25rem; }
.cpotp-honey { position: absolute !important; left: -9999px !important; height: 0; width: 0; overflow: hidden; }
.cpotp-check-row[hidden] { display: none !important; }
@media(max-width: 520px) { .cpotp-grid { grid-template-columns: 1fr; gap: 0; } .cpotp-lead-form { padding: 1rem; } }
