/* Correção para o botão "Ver Detalhes" nos cards de imóveis */
.card-img-overlay {
    /* Garante que o overlay só cobre a área da imagem */
    bottom: auto;
    height: auto;
    pointer-events: none; /* Permite clicar nos elementos sob o overlay */
}

.card-img-overlay .badge {
    pointer-events: auto; /* Permite clicar no badge */
}

/* Aumentar o z-index do botão "Ver Detalhes" para garantir que ele seja clicável */
.card-body .btn {
    position: relative;
    z-index: 2;
}

/* Tornar o card inteiro clicável, exceto o botão */
.card {
    position: relative;
}

.card .card-link-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

/* Fazer o botão se destacar quando o card for hover */
.card:hover .btn-outline-primary {
    background-color: #0d6efd;
    color: white;
}

/* Correção para o header no mobile */
@media (max-width: 767.98px) {
    /* Regras gerais do header */
    header.bg-light {
        padding: 0.5rem 0 !important;
    }
    
    /* Título/Logo */
    header.bg-light h1.h3 {
        font-size: 1.4rem !important;
        margin: 0 !important;
        padding-left: 4px;
    }
    
    header.bg-light p.text-muted {
        display: none !important;
    }
    
    /* Ícones de ações */
    header.bg-light .text-end {
        padding-right: 5px !important;
    }
    
    header.bg-light .d-flex a,
    header.bg-light .d-flex .btn {
        margin: 0 2px !important;
        padding: 4px 8px !important;
        font-size: 14px !important;
    }
    
    /* Barra de pesquisa mobile expandida */
    .mobile-search-container {
        background-color: #f8f9fa;
        border-top: 1px solid #dee2e6;
        padding: 0.5rem 1rem;
        position: absolute;
        left: 0;
        right: 0;
        z-index: 1000;
    }
    
    /* Estilo do botão de filtro */
    [data-bs-target="#filtrosMobile"] {
        border-radius: 4px;
        box-shadow: 0 1px 3px rgba(0,0,0,0.12);
        transition: all 0.3s ease;
    }
    
    [data-bs-target="#filtrosMobile"]:hover {
        background-color: #0b5ed7;
    }
    
    /* Estilo do card de filtros */
    #filtrosMobile .card {
        border-radius: 4px;
        box-shadow: 0 3px 10px rgba(0,0,0,0.1);
        border: none;
    }
    
    /* Animação para o colapso */
    .collapse {
        transition: all 0.3s ease;
    }
    
    /* Estilo do alerta de filtros aplicados */
    .alert-info {
        border-radius: 4px;
        display: flex;
        align-items: center;
        padding: 0.5rem 1rem;
    }
    
    .alert-info .btn {
        padding: 0.25rem 0.5rem;
        font-size: 0.75rem;
    }
    
    /* Corrige sobreposição do logo e botão na navbar do admin */
    header.navbar.navbar-dark.sticky-top {
        position: sticky !important;
        top: 0 !important;
        display: flex !important;
        justify-content: flex-start !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        padding: 0.5rem 1rem !important;
        height: auto !important;
        z-index: 1030 !important;
    }
    
    /* Ajusta o posicionamento do logo */
    header.navbar .navbar-brand {
        padding: 0.5rem !important;
        font-size: 1rem !important;
        margin-right: 0 !important;
        width: auto !important;
        flex: 1 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        max-width: 60% !important;
    }
    
    /* Corrige o botão do menu */
    header.navbar .navbar-toggler {
        position: relative !important;
        margin: 0 0.5rem 0 0 !important;
        padding: 0.25rem 0.5rem !important;
        border: none !important;
        order: 0 !important;
        z-index: 1030 !important;
    }
    
    /* Ajusta os itens de usuário logado */
    header.navbar .navbar-nav {
        padding: 0 !important;
    }
    
    /* Esconde o texto "olá, [nome]" em mobile */
    header.navbar .nav-link.text-white {
        display: none !important;
    }
    
    /* Posiciona corretamente o botão de sair */
    header.navbar .btn-outline-light {
        padding: 0.25rem 0.5rem !important;
        font-size: 0.75rem !important;
    }
    
    /* Ajustes para o menu lateral */
    .sidebar.collapse:not(.show) {
        display: none !important;
    }
    
    /* Menu lateral quando expandido */
    #sidebarMenu {
        position: fixed !important;
        top: 56px !important; /* Altura padrão do header */
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        background-color: #f8f9fa !important;
        box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
        z-index: 1020 !important;
        height: calc(100vh - 56px) !important;
        overflow-y: auto !important;
    }
    
    /* Garantir que o conteúdo principal não seja afetado pelo menu */
    .container-fluid .row {
        display: block !important; 
    }
    
    /* Ajustar o conteúdo principal */
    main.col-md-9 {
        width: 100% !important;
        padding: 1rem !important;
        margin: 0 !important;
    }
    
    /* Classe para quando o sidebar estiver aberto */
    body.sidebar-open {
        overflow: hidden !important;
    }
}

/* Correção específica para telas muito pequenas */
@media (max-width: 359.98px) {
    header.bg-light h1.h3 {
        font-size: 0.875rem !important;
    }
    
    header.bg-light .d-flex a,
    header.bg-light .d-flex .btn {
        padding: 3px 6px !important;
        margin: 0 1px !important;
    }
}

/* Correção específica para exibir os ícones do topo alinhados */
@media (max-width: 575.98px) {
    header.bg-light .text-end {
        text-align: right !important;
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
    }
    
    header.bg-light .text-decoration-none,
    header.bg-light .btn {
        display: inline-flex !important;
        justify-content: center !important;
        align-items: center !important;
        width: 32px !important;
        height: 32px !important;
        padding: 0 !important;
        margin-left: 3px !important;
        margin-right: 0 !important;
        font-size: 0.875rem !important;
    }
} 