/**
 * Course Hero Widget Styles
 * Компонент для анимации исправления орфографической ошибки
 * Используется на лендингах курсов
 */

#pismovnik-hero-widget {
    --error-color: #ff4d4f;
    --success-color: #52c41a;
    --accent-color: #2f54eb;
    text-align: center;
    padding: 2rem;
}

#hero-typing-text {
    font-size: 2.5rem;
    font-weight: 800;
    color: #1a1a1a;
    line-height: 1.2;
    margin: 0;
    display: inline-block;
    max-width: 500px;
}

/* Стили для спец-буквы */
.char-fix {
    display: inline-block;
    position: relative;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.char-fix.error {
    color: var(--error-color);
    transform: translateY(-3px);
}

.char-fix.fixing {
    transform: rotateX(90deg);
    opacity: 0;
}

.char-fix.fixed {
    color: var(--success-color);
    transform: rotateX(0deg);
    opacity: 1;
}

/* Курсор всегда следует за текстом */
.typing-cursor {
    display: inline-block;
    width: 2px;
    height: 1.6rem;
    background-color: var(--accent-color);
    margin-left: 4px;
    vertical-align: middle;
    animation: hero-blink 0.7s infinite;
}

@keyframes hero-blink {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
}

#hero-sub-text {
    color: #666;
    font-size: 1rem;
    opacity: 0;
    margin-top: 15px;
    transition: opacity 1s ease;
}

#hero-sub-text.visible {
    opacity: 1;
}