/* Estilos base para formulários */
.form-group {
    margin-bottom: 1.5rem;
}

/* Campo com erro - apenas borda */
.campo-formulario.border-red-500 {
    border: 2px solid #f56565;
    padding: 20px;
    border-radius: 0.375rem;
    animation: pulseBorder 2s infinite;
}

@keyframes pulseBorder {
    0% { border-color: #fdc2c2; }
    50% { border-color: #feb2b2; }
    100% { border-color: #f56565; }
}

/* Mensagem de erro */
.error-message {
    color: #f56565;
    font-size: 0.75rem;
    margin-top: 0.25rem;

}

.error-message:not(.hidden) {
    display: block;
}

/* Estilos para campos desabilitados */
.campo-formulario.hidden input,
.campo-formulario.hidden select,
.campo-formulario.hidden textarea {
    display: none;
}

/* Garantir visibilidade do placeholder */
::placeholder {
    color: #a0aec0;
    opacity: 1;
}

/* Deep Select - Dropdown searchável */
.deep-select-panel {
    position: fixed;
    z-index: 50;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    border-radius: 1rem 1rem 0 0;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
    border: 1px solid #e5e7eb;
    overflow: hidden;
    max-height: 60vh;
}

@media (min-width: 768px) {
    .deep-select-panel {
        position: absolute;
        border-radius: 0.5rem;
        left: 0;
        right: auto;
        bottom: auto;
        max-height: 320px;
        box-shadow: 0 10px 40px rgba(0,0,0,0.15);
    }
    .mobile-label {
        display: none;
    }
}

.deep-select-overlay {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 40;
    background: rgba(0,0,0,0.3);
}

@media (min-width: 768px) {
    .deep-select-overlay {
        display: none !important;
    }
}

.deep-select-option {
    display: flex;
    align-items: center;
    width: 100%;
    text-align: left;
    padding: 12px 16px;
    border-bottom: 1px solid #f3f4f6;
    transition: background-color 0.1s;
    min-height: 48px;
    font-size: 15px;
    color: #374151;
    background: none;
    border-left: none;
    border-right: none;
    border-top: none;
    cursor: pointer;
}

.deep-select-option:last-child {
    border-bottom: none;
}

.deep-select-option:hover {
    background-color: #fff7ed;
}

.deep-select-option.selected {
    background-color: #fff7ed;
    color: #ff5500;
    font-weight: 500;
}

.deep-select-search {
    width: 100%;
    border: 1px solid #d1d5db;
    border-radius: 0.375rem;
    padding: 10px 12px;
    font-size: 14px;
    outline: none;
    box-sizing: border-box;
}

.deep-select-search:focus {
    border-color: #ff5500;
    box-shadow: 0 0 0 1px #ff5500;
}

/* Espaçamento inferior no mobile para não colar na borda */
.mobile-safe-bottom {
    padding-bottom: max(20px, env(safe-area-inset-bottom, 20px));
}

.deep-select-trigger {
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}

.deep-select-trigger:hover {
    border-color: #9ca3af;
}

/* Esconder trigger dentro de campos ocultos */
.campo-formulario.hidden .deep-select-trigger {
    display: none;
}
