.vcp-area-testo {
    gap: var(--vcp-spazio-8);
}

.vcp-area-testo__controllo {
    display: block;
    width: 100%;
    min-height: var(--vcp-altezza-area-testo);
    padding: var(--vcp-spazio-14) var(--vcp-spazio-16);
    border: var(--vcp-bordo-medio) solid var(--vcp-colore-bordo-campo);
    border-radius: var(--vcp-raggio-14);
    outline: none;
    background: var(--vcp-colore-superficie);
    font-size: var(--vcp-testo-campo);
    line-height: var(--vcp-interlinea-larga);
    color: var(--vcp-colore-testo);
    resize: vertical;
    transition: border-color var(--vcp-durata), box-shadow var(--vcp-durata);
}

.vcp-area-testo__controllo:focus {
    border-color: var(--vcp-colore-primario);
    box-shadow: var(--vcp-ombra-anello-fuoco);
}

.vcp-area-testo__controllo:disabled {
    background: var(--vcp-colore-superficie-incassata);
    color: var(--vcp-colore-testo-secondario);
    cursor: not-allowed;
}

.vcp-area-testo--errore .vcp-area-testo__controllo {
    border-color: var(--vcp-colore-errore-bordo);
}

.vcp-area-testo--errore .vcp-area-testo__controllo:focus {
    box-shadow: var(--vcp-ombra-anello-errore);
}

.vcp-area-testo__caricamento {
    display: flex;
    flex-direction: column;
    gap: var(--vcp-spazio-12);
    min-height: var(--vcp-altezza-area-testo);
    padding: var(--vcp-spazio-18);
    border: var(--vcp-bordo-medio) solid var(--vcp-colore-ai-bordo);
    border-radius: var(--vcp-raggio-14);
    background: var(--vcp-colore-ai-superficie);
}

.vcp-area-testo__avviso {
    display: flex;
    align-items: center;
    gap: var(--vcp-spazio-10);
    font-size: var(--vcp-testo-13);
    font-weight: var(--vcp-peso-semigrassetto);
    color: var(--vcp-colore-ai);
}

.vcp-area-testo__riga {
    width: 92%;
    height: var(--vcp-spazio-10);
    border-radius: var(--vcp-raggio-pillola);
    background: var(--vcp-colore-ai-scheletro);
}

.vcp-area-testo__riga:nth-of-type(2) {
    width: 84%;
}

.vcp-area-testo__riga:nth-of-type(3) {
    width: 88%;
}

.vcp-area-testo__riga:nth-of-type(4) {
    width: 60%;
}

@media (prefers-reduced-motion: no-preference) {
    .vcp-area-testo__riga {
        animation: vcp-area-testo-pulsa var(--vcp-durata-pulsazione) ease-in-out infinite;
    }

    .vcp-area-testo__riga:nth-of-type(2) {
        animation-delay: 0.15s;
    }

    .vcp-area-testo__riga:nth-of-type(3) {
        animation-delay: 0.3s;
    }

    .vcp-area-testo__riga:nth-of-type(4) {
        animation-delay: 0.45s;
    }
}

@keyframes vcp-area-testo-pulsa {
    50% {
        opacity: 0.45;
    }
}
