/* === ESTILIZAÇÕES GERAIS === */
body {
    background-color: #1a1a1a; /* Fundo geral escuro */
    color: #fff;
    overflow: hidden; /* Evita rolagem dupla */
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* LAYOUT PAI - DIVIDE A TELA EM 2 */
.layout-container {
    display: flex;
    height: 100vh; /* Ocupa a altura total da tela */
}

.main-content {
    flex: 1; /* Ocupa todo o espaço restante */
    padding: 50px;
    overflow-y: auto; /* Apenas esse lado rola */
    background-color: #1a1a1a;
}

h2 {
    font-size: 2em;
    margin-bottom: 30px;
    border-left: 5px solid rgb(218, 41, 215);
    padding-left: 15px;
}

/* GRIDS DE PROJETOS */
.projects-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Duas colunas iguais */
    gap: 30px;
    margin-bottom: 60px;
}

.project-category h3 { margin-bottom: 20px; color: #aaa; }

.project-card {
    /* 1. ESTRUTURA E CORES */
    background-color: #2a2a2a;
    display: flex;         
    flex-direction: column; 
    padding: 20px;
    border-radius: 10px;
    margin-bottom: 15px;
    
    /* 2. A BORDA DO "BLOCO DE FORA" */
    border: 1px solid transparent; /* Invisível até passar o mouse */
    
    /* 3. REMOVENDO ESTILOS DE LINK PADRÃO (O "Bloco de Dentro") */
    text-decoration: none; /* Tira o sublinhado dos textos */
    color: inherit;        /* Mantém a cor branca, não fica azul */
    cursor: pointer;
    transition: 0.3s;
}

/* Efeito Hover: A borda aparece só aqui, no bloco de fora */
.project-card:hover {
    border-color: rgb(218, 41, 215); /* Borda Roxa */
    transform: translateY(-5px);
    background-color: #333;
}

/* --- GARANTIA DE LIMPEZA INTERNA --- */
/* Isso garante que nada dentro tenha borda acidentalmente */
.project-card * {
    border: none;
}

/* Ajuste dos textos internos */
.card-header h4 {
    color: #fff;
    font-size: 1.1em;
    font-weight: bold;
}

.card-header i {
    color: rgb(218, 41, 215);
    font-size: 1.4em;
}

.project-card p {
    color: #ccc;
    font-size: 0.9em;
    margin: 10px 0;
}

.project-card:hover {
    border-color: rgb(218, 41, 215);
    transform: translateY(-5px);
}

.project-card h4 { color: #fff; margin-bottom: 5px; }
.project-card p { font-size: 0.9em; color: #ccc; margin-bottom: 10px; }
.tag {
    align-self: flex-start;
    font-size: 0.7em;
    background-color: rgb(218, 41, 215);
    color: #000;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: bold;
}

/* TECHS */

.tech-section .cards-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 60px;
}
.tech-section .card {
    width: 80px; 
    height: 80px;
    background: #fff;
    border-radius: 8px;
    display: flex; 
    justify-content: center; 
    align-items: center;
    padding: 10px; /* Um respiro interno ajuda */
}

.tech-section .card img { 
    width: 100%; /* Ocupa a largura do card */
    height: 100%; /* Ocupa a altura do card */
    
    /* CORREÇÃO AQUI */
    object-fit: contain; /* Garante que o logo não seja cortado nem esticado */
}

/* CONTATO */
.contact-buttons { display: flex; gap: 20px; }
.btn-contact {
    padding: 15px 30px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    color: #fff;
    transition: 0.3s;
}
.curriculo { background-color: #2593d3; }
.btn-contact:hover { opacity: 0.8; }
