.vcp-wizard {
    font-family: var(--vcp-font);
    font-size: var(--vcp-testo-15);
    font-weight: var(--vcp-peso-normale);
    line-height: var(--vcp-interlinea);
    color: var(--vcp-colore-testo);
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
}

:where(.vcp-wizard) *,
:where(.vcp-wizard) *::before,
:where(.vcp-wizard) *::after {
    box-sizing: border-box;
}

.vcp-wizard [hidden] {
    display: none;
}

:where(.vcp-wizard) :where(button, input, select, textarea) {
    margin: 0;
    font: inherit;
    color: inherit;
    letter-spacing: inherit;
}

:where(.vcp-wizard) :where(button) {
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

:where(.vcp-wizard) :where(button:disabled) {
    cursor: not-allowed;
}

:where(.vcp-wizard) :where(a) {
    color: var(--vcp-colore-primario);
}

:where(.vcp-wizard) :where(a:hover) {
    color: var(--vcp-colore-primario-attivo);
}

:where(.vcp-wizard) ::placeholder {
    color: var(--vcp-colore-segnaposto);
    opacity: 1;
}

:where(.vcp-wizard) :focus-visible {
    outline: var(--vcp-contorno-fuoco);
    outline-offset: var(--vcp-contorno-fuoco-distanza);
}

.vcp-nascosto-visivamente {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.vcp-campo {
    display: flex;
    flex-direction: column;
    gap: var(--vcp-spazio-6);
    min-width: 0;
}

.vcp-campo__etichetta {
    display: block;
    margin: 0;
    font-size: var(--vcp-testo-13);
    font-weight: var(--vcp-peso-medio);
    line-height: var(--vcp-interlinea);
    color: var(--vcp-colore-testo-etichetta);
}

.vcp-campo__obbligatorio {
    margin-left: var(--vcp-spazio-4);
}

.vcp-campo__suggerimento {
    font-size: var(--vcp-testo-12);
    line-height: var(--vcp-interlinea);
    color: var(--vcp-colore-testo-secondario);
    text-wrap: pretty;
}

.vcp-campo__piede {
    display: flex;
    justify-content: space-between;
    gap: var(--vcp-spazio-16);
    font-size: var(--vcp-testo-12);
    line-height: var(--vcp-interlinea);
    color: var(--vcp-colore-testo-secondario);
}

.vcp-campo__conteggio {
    flex: none;
    margin-left: auto;
    font-weight: var(--vcp-peso-semigrassetto);
}

.vcp-campo__conteggio--vicino {
    color: var(--vcp-colore-avviso);
}

.vcp-campo__errore {
    display: flex;
    align-items: center;
    gap: var(--vcp-spazio-6);
    font-size: var(--vcp-testo-12);
    font-weight: var(--vcp-peso-medio);
    line-height: var(--vcp-interlinea);
    color: var(--vcp-colore-errore);
}
