/* Estilos dinámicos para formularios y componentes */

/* Inputs y selects con focus ring dinámico */
.form-input-dynamic {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid var(--colorGris300);
    border-radius: var(--radioEsquina);
    outline: none;
    transition: var(--transicion);
    background-color: var(--colorBlanco);
}

.form-input-dynamic:focus {
    border-color: var(--colorPrimario);
    box-shadow: 0 0 0 2px rgba(245, 125, 0, 0.2);
}

/* Botones dinámicos */
.btn-primary-dynamic {
    padding: 0.75rem 1.5rem;
    background-color: var(--colorPrimario);
    color: var(--colorBlanco);
    border: none;
    border-radius: var(--radioEsquina);
    cursor: pointer;
    transition: var(--transicion);
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.btn-primary-dynamic:hover {
    background-color: var(--colorSecundario);
    transform: translateY(-1px);
    box-shadow: var(--sombraMediana);
}

.btn-secondary-dynamic {
    padding: 0.75rem 1.5rem;
    background-color: var(--colorGris200);
    color: var(--colorGris700);
    border: 1px solid var(--colorGris300);
    border-radius: var(--radioEsquina);
    cursor: pointer;
    transition: var(--transicion);
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.btn-secondary-dynamic:hover {
    background-color: var(--colorGris300);
    border-color: var(--colorGris600);
}

.btn-success-dynamic {
    padding: 0.75rem 1.5rem;
    background-color: var(--colorExito);
    color: var(--colorBlanco);
    border: none;
    border-radius: var(--radioEsquina);
    cursor: pointer;
    transition: var(--transicion);
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.btn-success-dynamic:hover {
    background-color: #059669;
    transform: translateY(-1px);
    box-shadow: var(--sombraMediana);
}

/* Clases de texto dinámicas */
.text-primary {
    color: var(--colorPrimario);
    transition: var(--transicion);
}

.text-primary:hover {
    color: var(--colorSecundario);
}

.text-primary-dark {
    color: var(--colorSecundario);
    transition: var(--transicion);
}

.text-primary-dark:hover {
    color: var(--colorPrimario);
}

/* Checkbox y radio buttons dinámicos */
.checkbox-dynamic {
    border-radius: 4px;
    border-color: var(--colorGris300);
    color: var(--colorPrimario);
    box-shadow: var(--sombraPequena);
}

.checkbox-dynamic:focus {
    border-color: var(--colorPrimario);
    box-shadow: 0 0 0 2px rgba(245, 125, 0, 0.2);
}

/* Estilos de utilidad para aplicar rápidamente */
.focus-ring-primary {
    outline: none;
    border-color: var(--colorPrimario);
    box-shadow: 0 0 0 2px rgba(245, 125, 0, 0.2);
}

/* Aplicar a elementos existentes con Tailwind */
.focus\:ring-primary:focus {
    --tw-ring-color: var(--colorPrimario) !important;
    border-color: var(--colorPrimario) !important;
}
