.vcp-descrizione__testo {
    display: flex;
    flex-direction: column;
    gap: var(--vcp-spazio-8);
}

.vcp-descrizione__campo {
    --vcp-descrizione-spazio-pulsante: 10.5rem;

    display: grid;
}

.vcp-descrizione__campo > * {
    grid-area: 1 / 1;
}

/* Il pulsante sta sulla riga dell'etichetta, che appartiene al componente del campo: l'etichetta
   prende l'altezza del pulsante e gli lascia lo spazio a destra. */
.vcp-descrizione__campo .vcp-campo__etichetta {
    display: flex;
    align-items: center;
    min-height: var(--vcp-altezza-36);
    padding-right: var(--vcp-descrizione-spazio-pulsante);
}

.vcp-descrizione__campo .vcp-campo {
    gap: var(--vcp-spazio-8);
}

.vcp-descrizione__genera {
    display: flex;
    align-items: center;
    align-self: start;
    justify-self: end;
    gap: var(--vcp-spazio-8);
    height: var(--vcp-altezza-36);
    padding: 0 var(--vcp-spazio-14);
    border-radius: var(--vcp-raggio-pillola);
    background: var(--vcp-colore-ai-sfondo);
    font-size: var(--vcp-testo-13);
    font-weight: var(--vcp-peso-semigrassetto);
    color: var(--vcp-colore-ai);
    white-space: nowrap;
    transition: background-color var(--vcp-durata-rapida), opacity var(--vcp-durata-rapida);
}

.vcp-descrizione__genera:disabled {
    opacity: var(--vcp-opacita-disattivato);
}

.vcp-descrizione__genera[aria-disabled="true"] {
    cursor: progress;
}

@media (hover: hover) {
    .vcp-descrizione__genera:hover:not(:disabled, [aria-disabled="true"]) {
        background: var(--vcp-colore-ai-scheletro);
    }
}

.vcp-descrizione__genera-icona {
    display: flex;
}

@media (prefers-reduced-motion: no-preference) {
    .vcp-descrizione__genera-icona--attesa {
        animation: vcp-descrizione-rotazione var(--vcp-durata-rotazione) linear infinite;
    }
}

@keyframes vcp-descrizione-rotazione {
    to {
        transform: rotate(360deg);
    }
}

.vcp-descrizione__residuo {
    margin: 0;
    font-size: var(--vcp-testo-12);
    line-height: var(--vcp-interlinea);
    color: var(--vcp-colore-ai);
    text-align: right;
}

.vcp-descrizione__dichiarazione {
    display: flex;
    flex-direction: column;
    gap: var(--vcp-spazio-4);
    padding-top: var(--vcp-spazio-14);
    border-top: var(--vcp-bordo-sottile) solid var(--vcp-colore-separatore);
}

.vcp-descrizione__vincolo {
    margin: 0;
    font-size: var(--vcp-testo-12);
    line-height: var(--vcp-interlinea);
    color: var(--vcp-colore-testo-secondario);
}

.vcp-descrizione__informativa {
    margin: 0;
    font-size: var(--vcp-testo-11);
    line-height: var(--vcp-interlinea);
    color: var(--vcp-colore-testo-secondario);
}
