.oracle-contact-status {
    display: none;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    margin-top: 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid transparent;
    border-radius: 4px;
    font-size: 1rem;
    line-height: 1.45;
    box-sizing: border-box;
}

.oracle-contact-status--sending,
.oracle-contact-status--success,
.oracle-contact-status--error {
    display: flex;
}

.oracle-contact-status--sending {
    border-color: #b8c2cc;
    background: #f5f7f9;
    color: #263238;
}

.oracle-contact-status--success {
    border-color: #2e7d32;
    background: #edf7ee;
    color: #1b5e20;
}

.oracle-contact-status--error {
    border-color: #b3261e;
    background: #fff1f0;
    color: #8c1d18;
}

.oracle-contact-loader {
    width: 1.1rem;
    height: 1.1rem;
    flex: 0 0 1.1rem;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: oracle-contact-spin 0.75s linear infinite;
}

.oracle-contact-invalid {
    outline: 2px solid #b3261e !important;
    outline-offset: 1px;
}

.oracle-contact-honeypot {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.oracle-contact-is-sending button[type="submit"],
.oracle-contact-is-sending input[type="submit"] {
    cursor: wait;
    opacity: 0.72;
}

@keyframes oracle-contact-spin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .oracle-contact-loader {
        animation-duration: 1.5s;
    }
}
