.callback-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.callback-consent {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: #475569;
    font-size: 0.72rem;
    line-height: 1.45;
    cursor: pointer;
}

.callback-consent input {
    width: 18px;
    height: 18px;
    margin-top: 1px;
    flex: 0 0 18px;
    accent-color: #1a5f9e;
}

.callback-consent a {
    color: #1a5f9e;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.callback-captcha {
    margin: 14px 0;
    padding: 12px 14px;
    border: 1px solid #dde5ee;
    border-radius: 8px;
    background: #f8fafc;
}

.callback-captcha-label {
    display: block;
    margin-bottom: 8px;
    color: #1e2a3a;
    font-size: 0.82rem;
    font-weight: 700;
}

.callback-captcha-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    gap: 8px;
}

.callback-captcha input {
    width: 100%;
    min-height: 42px;
    padding: 9px 12px;
    border: 1.5px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #1e2a3a;
    font: inherit;
}

.callback-captcha input:focus {
    outline: none;
    border-color: #1a5f9e;
    box-shadow: 0 0 0 3px rgba(26, 95, 158, 0.1);
}

.callback-captcha-refresh {
    width: 42px;
    min-height: 42px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #1a5f9e;
    cursor: pointer;
}

.callback-captcha-refresh:hover {
    border-color: #1a5f9e;
    background: #eef6ff;
}

[data-callback-submit]:disabled,
form[data-callback-form] button[type="submit"]:disabled {
    cursor: not-allowed !important;
    opacity: 0.55 !important;
    filter: grayscale(0.35);
    transform: none !important;
    box-shadow: none !important;
}

.callback-consent-note {
    color: #64748b;
    font-size: 0.72rem;
    line-height: 1.45;
}

@media (max-width: 520px) {
    .callback-consent {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: #475569;
    font-size: 0.72rem;
    line-height: 1.45;
    cursor: pointer;
}

.callback-consent input {
    width: 18px;
    height: 18px;
    margin-top: 1px;
    flex: 0 0 18px;
    accent-color: #1a5f9e;
}

.callback-consent a {
    color: #1a5f9e;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.callback-captcha {
        padding: 11px;
    }
}
