/**
 * Guest Post Form - Additional Styles
 *
 * Supplementary styles loaded only on the guest post page
 * for enhanced form animations and interactions.
 *
 * @package Developer_Jehan_Kadence_Child
 */

/* Form field focus animations */
.dj-gp-form .dj-form-group input:focus,
.dj-gp-form .dj-form-group select:focus,
.dj-gp-form .dj-form-group textarea:focus {
    transform: translateY(-1px);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1), var(--dj-shadow-sm);
}

/* Animated label effect */
.dj-gp-form .dj-form-group label {
    transition: color var(--dj-transition-fast);
}

.dj-gp-form .dj-form-group:focus-within label {
    color: var(--dj-primary);
}

/* Error shake animation */
@keyframes dj-shake {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-4px); }
    40% { transform: translateX(4px); }
    60% { transform: translateX(-4px); }
    80% { transform: translateX(4px); }
}

.dj-form-group.has-error input,
.dj-form-group.has-error select,
.dj-form-group.has-error textarea {
    animation: dj-shake 0.4s ease;
}

/* Submit button pulse */
.dj-form-submit-btn:not(:disabled):hover {
    animation: dj-btn-pulse 1.5s infinite;
}

@keyframes dj-btn-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.4); }
    50% { box-shadow: 0 0 0 8px rgba(37, 99, 235, 0); }
}

/* Success animation */
.dj-gp-success.visible {
    animation: dj-fadeInUp 0.5s ease;
}

@keyframes dj-fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Textarea character counter area */
.dj-gp-form textarea {
    transition: border-color var(--dj-transition-fast), box-shadow var(--dj-transition-fast), transform var(--dj-transition-fast);
}

/* Guidelines hover effects */
.dj-gp-guidelines ul li:hover {
    color: var(--dj-text);
    transition: color var(--dj-transition-fast);
}

.dj-gp-guidelines ul li:hover::before {
    transform: scale(1.2);
}

.dj-gp-guidelines ul li::before {
    transition: transform var(--dj-transition-fast);
}

/* Progress indicator style for multi-step feel */
.dj-gp-form h2 {
    position: relative;
}

.dj-gp-form h2::after {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    background: var(--dj-primary);
    margin: 0.75rem auto 0;
    border-radius: 2px;
}
