/* Hero Callback Form — error states & animations */
@keyframes heroShake {
    0%, 100% { transform: translateX(0); }
    15% { transform: translateX(-6px); }
    30% { transform: translateX(5px); }
    45% { transform: translateX(-4px); }
    60% { transform: translateX(3px); }
    75% { transform: translateX(-2px); }
}
.hero-shake {
    animation: heroShake 0.5s ease-in-out;
}
.hero-phone-input.field-error {
    border-color: rgba(248, 113, 113, 0.8) !important;
    background-color: rgba(239, 68, 68, 0.08) !important;
}
.hero-phone-input.field-error:focus {
    border-color: rgba(248, 113, 113, 1) !important;
}

.hero-message-wrap {
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.hero-message-wrap.show {
    max-height: 120px;
    opacity: 1;
}
