/* Reset some default styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Body styles */
body {
    font-family: 'Montserrat', 'Segoe UI', Arial, sans-serif;
    background: linear-gradient(135deg, #10151d 0%, #10151d 100%);
    color: #e0e6ed;
}

/* Container styles */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
}

/* Estilos para a seção com fundo escuro */
.bg-dark {
    background-color: #181f2b;
}

.text-light {
    color: #ffffff;
}

.py-4 {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.rounded-4 {
    border-radius: 1.5rem;
}

.my-4 {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

/* Estilos para o cartão com fundo escuro e borda vermelha */
.card {
    background-color: #181f2b;
    border: 1px solid #ff003c;
    border-radius: 1rem;
    padding: 1.5rem;
    box-shadow: 0 4px 32px rgba(255,0,60,0.08), 0 2px 8px rgba(31,64,104,0.10);
    transition: transform 0.2s, box-shadow 0.2s;
}
.card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 40px rgba(255,0,60,0.15), 0 4px 16px rgba(31,64,104,0.15);
}

/* Estilos para botões de contato */
.contact-btn {
    transition: transform 0.2s, box-shadow 0.2s;
}
.contact-btn:hover,
.contact-btn:focus {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(31,64,104,0.18), 0 2px 8px rgba(110,64,201,0.12);
}

/* Classe para borda roxa */
.border-purple {
    border-color: #6e40c9 !important;
}
.btn-outline.border-purple:hover, .btn-outline.border-purple:focus {
    background-color: #6e40c9 !important;
    color: #fff !important;
    border-color: #6e40c9 !important;
}
.btn-outline.border-purple:hover .fa-github,
.btn-outline.border-purple:focus .fa-github {
    color: #fff !important;
}

/* Estilos para o menu de navegação */
.nav-item.dropdown:hover .dropdown-menu {
    display: block;
}
.navbar .nav-link.dropdown-toggle {
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.1em;
}
.navbar .nav-link.dropdown-toggle::after {
    display: block;
    width: 15px;
    height: 15px;
    margin-top: -3px;
    background: url('data:image/svg+xml;utf8,<svg fill="white" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M5.23 7.21a1 1 0 011.42 0L10 10.59l3.35-3.38a1 1 0 111.42 1.42l-4.06 4.09a1 1 0 01-1.42 0L5.23 8.63a1 1 0 010-1.42z"/></svg>') no-repeat center/contain;
    border: none;
    vertical-align: middle;
}

/* Dropdown customizado para padrão escuro e borda vermelha */
.dropdown-menu {
    background-color: #181f2b !important;
    border: 1.5px solid #ff003cc0 !important;
    box-shadow: 0 4px 24px rgba(255,0,60,0.10), 0 2px 8px rgba(31,64,104,0.10);
    color: #fff;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.25s, transform 0.25s;
    pointer-events: none;
    visibility: hidden;
    display: block; /* Bootstrap controla a exibição via .show */
    position: absolute;
    z-index: 1000;
}

/* Animação e exibição ao abrir (mobile e desktop) */
.dropdown-menu.show {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    visibility: visible;
}

/* Só mostra o dropdown no hover em telas grandes */
@media (min-width: 992px) {
    .navbar .nav-item.dropdown:hover > .dropdown-menu,
    .navbar .nav-item.dropdown:focus-within > .dropdown-menu {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
        visibility: visible;
    }
    /* Impede o clique de abrir/fechar no desktop */
    .navbar .nav-item.dropdown .dropdown-toggle {
        pointer-events: none;
    }
}

.dropdown-item {
    color: #fff !important;
    transition: background 0.2s, color 0.2s;
}

.dropdown-item:hover, .dropdown-item:focus {
    background-color: #ff003c !important;
    color: #fff !important;
}

/* Estilo para dropdown customizado */
.dropdown-menu-dark {
    background-color: #181f2b;
    border: 1px solid #ff003c;
}

.dropdown-menu-dark .dropdown-item {
    color: #fff;
    transition: background 0.3s, color 0.3s;
}

.dropdown-menu-dark .dropdown-item:hover {
    background-color: #ff003c;
    color: #fff;
}

.lightbox {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    backdrop-filter: blur(6px);
    z-index: 2000;
    justify-content: center;
    align-items: center;
}

.lightbox img {
    max-width: 80vw;
    max-height: 80vh;
    border-radius: 12px;
    pointer-events: auto;
    box-shadow: 2px 2px 20px rgba(0, 0, 0, 0.938);
}


/* Padronize o tamanho dos ícones de habilidades */
.habilidade-icone {
    width: 2.2rem !important;
    height: 2.2rem !important;
    min-width: 2.2rem !important;
    min-height: 2.2rem !important;
    max-width: 2.2rem !important;
    max-height: 2.2rem !important;
    display: inline-block;
    vertical-align: middle;
    box-shadow: none !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
}

/* Para garantir que os ícones Font Awesome fiquem do mesmo tamanho */
.habilidade-icone.fab,
.habilidade-icone.fas,
.habilidade-icone.far {
    font-size: 2.2rem !important;
    width: 2.2rem !important;
    height: 2.2rem !important;
    line-height: 2.2rem !important;
}

/* Alinhamento dos itens */
.habilidades-icones li {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* Estilos para botões em destaque */
.destaque-botao {
    background: #181f2b;
    border: 2px solid #ff003c;
    border-radius: 0.5rem;
    padding: 0.35em 1em;
    box-shadow: 0 2px 12px rgba(255,0,60,0.10);
    transition: background 0.2s, color 0.2s, box-shadow 0.2s;
    cursor: pointer;
    font-weight: bold;
}

.destaque-menu {
    color: #fff !important; /* vermelho destaque */
    font-weight: bold;
}

.curriculo-menu {
    color: #ffffff !important; /* roxo */
    font-weight: bold;
}

