/* Caminho no servidor: /home/usuario_hostgator/public_html/assets/css/components.css
   Botoes, formularios, badges. Mobile-first. */

/* === BOTOES === */
.botao {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--tl-space-1);
    min-height: 44px;
    padding: 12px 20px;
    border-radius: var(--tl-radius-sm);
    font-family: var(--tl-font-ui);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--tl-transition-base), color var(--tl-transition-base), transform var(--tl-transition-fast);
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}
.botao:active { transform: translateY(1px); }

.botao--primario {
    background-color: var(--tl-terracota);
    color: var(--tl-pergaminho);
}
.botao--primario:hover { background-color: var(--tl-bordo); color: var(--tl-pergaminho); }

.botao--secundario {
    background-color: transparent;
    color: var(--tl-terracota);
    border: 1.5px solid var(--tl-terracota);
}
.botao--secundario:hover { background-color: var(--tl-areia); color: var(--tl-bordo); }

.botao--ghost {
    background-color: transparent;
    color: var(--tl-carvao);
    padding: 10px 16px;
}
.botao--ghost:hover { color: var(--tl-terracota); text-decoration: underline; }

@media (min-width: 768px) {
    .botao { padding: 14px 24px; font-size: 16px; }
}

/* === BADGE === */
.badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border-radius: var(--tl-radius-pill);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    background-color: var(--tl-pergaminho);
    color: var(--tl-terracota);
}

/* === INPUTS === */
.campo { display: flex; flex-direction: column; gap: var(--tl-space-1); margin-bottom: var(--tl-space-2); }
.campo__label { font-size: 14px; font-weight: 500; color: var(--tl-carvao); }
.campo__input,
.campo__textarea,
.campo__select {
    width: 100%;
    min-height: 44px;
    padding: 12px 14px;
    border: 1px solid var(--tl-areia);
    border-radius: var(--tl-radius-sm);
    background-color: var(--tl-pergaminho);
    color: var(--tl-carvao);
    font-family: var(--tl-font-ui);
    font-size: 16px;
    transition: border-color var(--tl-transition-fast);
}
.campo__input:focus,
.campo__textarea:focus,
.campo__select:focus {
    outline: none;
    border-color: var(--tl-terracota);
    border-width: 2px;
}
.campo__input::placeholder { color: var(--tl-pedra); }
.campo__erro { font-size: 13px; color: var(--tl-vermelho); margin-top: 2px; }
