/* ==================================== */
/* Reset Básico (Aplicado somente a esta página) */
/* ==================================== */
html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: 'Heebo', sans-serif; /* Define a fonte para todo o body */
    background-color: #f8f9fa; /* Cor de fundo leve */
    color: #333; /* Cor de texto padrão */
}

/* ==================================== */
/* Header e Botão Voltar                */
/* ==================================== */
header {
    padding: 1rem;
    background-color: #f8f9fa; /* Light background */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    text-align: left; /* Alinha o botão à esquerda */
}

.back-to-home-button {
    font-size: 1rem;
    padding: 0.5rem 1.5rem;
    border-radius: 0.3rem;
    transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease;
    display: inline-flex; /* Para alinhar o ícone e o texto */
    align-items: center;
    gap: 0.5rem; /* Espaço entre o ícone e o texto */
}
.back-to-home-button:hover {
    background-color: #e2e6ea; /* Lighten on hover */
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.back-to-home-button .bi {
    font-size: 1.2rem; /* Tamanho do ícone de seta */
}

/* ==================================== */
/* Main Content (Currículo)             */
/* ==================================== */
.curriculum-main {
    padding-top: 1rem; /* Espaço para o header */
    background-color: #f8f9fa; /* Fundo leve para a página de currículo */
    min-height: calc(100vh - 80px); /* Ajusta para ocupar o resto da tela menos o footer */
}

.curriculum-section {
    background-color: white;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08); /* Sombra mais destacada */
    border-radius: 8px !important; /* Aumenta o arredondamento */
    padding: 2rem !important; /* Aumenta o padding da seção */
    margin-bottom: 2rem !important; /* Ajusta a margem inferior */
}

.curriculum-section-title {
    font-size: 2rem;
    font-weight: bold;
    color: black; /* Cor de destaque para títulos de seção */
    margin-bottom: 1.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #eee;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-align: center; /* Centraliza o título da seção */
}

.curriculum-description p,
.job-activities-list li {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #495057;
    margin-bottom: 0.8rem;
    text-align: justify; /* Justifica o texto para um visual profissional */
}

.job-experience,
.academic-experience {
    margin-bottom: 2rem; /* Espaçamento entre experiências */
    text-align: left;
}

.job-title, .academic-title {
    font-size: 1.35rem;
    color: #212529;
    font-weight: 600;
    margin-bottom: 0.3rem;
}

.job-company-location,
.academic-institution-location {
    font-size: 0.95rem;
    color: #6c757d;
    margin-bottom: 0.2rem;
}

.job-dates, .academic-dates {
    font-size: 0.85rem;
    color: #6c757d;
    margin-bottom: 0.5rem;
}

.job-activities-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #343a40;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}

.job-activities-list {
    list-style-type: disc; /* Marcadores de lista */
    padding-left: 20px; /* Indentação da lista */
    margin-bottom: 0;
}
.job-activities-list li {
    margin-bottom: 0.5rem;
}


/* Botão de Download PDF */
.download-pdf-button {
    background-color: #28a745; /* Verde Bootstrap */
    border-color: #28a745;
    font-size: 1.1rem;
    padding: 0.75rem 2rem;
    border-radius: 0.3rem;
    transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease;
    margin-bottom: 3rem; /* Espaço abaixo do botão */
}
.download-pdf-button:hover {
    background-color: #218838;
    border-color: #1e7e34;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

/* ==================================== */
/* Footer Customizations                */
/* ==================================== */
footer {
    background-color: #343a40; /* Cor de fundo escura */
    color: white; /* Cor do texto do footer */
    padding: 1.5rem 0;
    text-align: center;
}
footer .social-icon-btn {
    color: white; /* Ícones sociais brancos no footer */
    font-size: 1.5rem; /* Tamanho maior para os ícones no footer */
    margin: 0 0.5rem; /* Espaçamento entre os ícones */
    transition: color 0.3s ease, transform 0.2s ease;
    padding: 0.5rem; /* Aumentar área clicável */
    border-radius: 50%;
}
footer .social-icon-btn:hover {
    color: #007bff; /* Azul ao hover */
    transform: translateY(-2px);
}
footer div {
    font-size: 0.9rem;
    color: #bbb;
}


/* ==================================== */
/* Responsividade                       */
/* ==================================== */
@media (max-width: 767.98px) { /* Small devices (md do bootstrap, mas aqui para ajustar mobile) */
    .back-to-home-button {
        font-size: 0.9rem;
        padding: 0.4rem 1rem;
    }
    h1.display-5 {
        font-size: 2.2rem !important; /* Ajuste para mobile */
    }
    .curriculum-section-title {
        font-size: 1.75rem;
    }
    .curriculum-description p,
    .job-activities-list li {
        font-size: 0.95rem;
    }
    .download-pdf-button {
        font-size: 1rem;
        padding: 0.6rem 1.5rem;
    }
    .curriculum-section {
        padding: 1.5rem; /* Reduz padding em mobile */
        margin: 1rem !important; /* Reduz margens entre seções */
    }
    .job-title, .academic-title {
        font-size: 1.2rem;
    }
    .job-activities-list {
        padding-left: 15px;
    }
    footer .social-icon-btn {
        font-size: 1.3rem;
    }
    footer div {
        font-size: 0.8rem;
    }
}

@media print {
    body {
        font-size: 12pt; /* Otimiza para impressão */
        color: black;
        -webkit-print-color-adjust: exact; /* Para cores de fundo em impressão */
        print-color-adjust: exact;
    }
    header, footer, .download-pdf-button {
        display: none; /* Oculta elementos não essenciais na impressão */
    }
    .curriculum-main {
        padding-top: 0;
        background-color: transparent;
        min-height: auto;
    }
    .curriculum-section {
        box-shadow: none !important;
        border: 1px solid #ddd;
        page-break-inside: avoid; /* Tenta evitar quebrar seções no meio da página */
        margin-bottom: 0.5rem !important; /* Reduz margem para impressão */
        padding: 1.5rem !important; /* Ajusta padding para impressão */
    }
    .curriculum-section-title {
        color: #333 !important; /* Garante boa legibilidade */
        border-bottom: 1px solid #ccc;
    }
    h1, h2, h3, h4, h5, h6, p, ul, li {
        color: black !important;
    }
}

/* No seu css/curriculo.css */

.curriculum-description ul {
    list-style-type: none; /* Remove bullets padrão do navegador */
    padding-left: 0; /* Remove padding padrão da lista */
    margin-top: 1.5rem; /* Espaçamento da lista com o parágrafo acima */
}

.curriculum-description li {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #495057;
    margin-bottom: 0.8rem; /* Espaçamento entre os itens da lista */
    padding-left: 0.5rem; /* Um pequeno padding esquerdo para os itens */
    border-left: 3px solid #e9ecef; /* Linha sutil à esquerda para destaque */
    transition: border-left-color 0.3s ease; /* Transição para a linha */
}

.curriculum-description li:hover {
    border-left-color: #007bff; /* Mudar a cor da linha ao passar o mouse */
}

/* No seu css/curriculo.css */

.certificate-title {
    font-weight: 600; /* Negrito para o nome do curso */
    color: #212529; /* Cor mais escura */
}

.certificate-hours {
    font-weight: normal; /* Garante que as horas não fiquem em negrito a menos que queira */
    color: #6c757d; /* Cor mais suave para as horas */
    font-size: 0.95rem; /* Um pouco menor */
}

/* No seu css/curriculo.css */

.certificate-link {
    color: #007bff; /* Cor azul de destaque */
    text-decoration: none; /* Remove o sublinhado padrão */
    font-weight: 600; /* Negrito para o link */
    margin-left: 0.75rem; /* Mais espaçamento com o texto anterior */
    padding: 0.1rem 0.5rem; /* Um pequeno padding para área clicável */
    border: 1px solid #007bff; /* Borda sutil */
    border-radius: 4px; /* Cantos levemente arredondados */
    transition: all 0.3s ease; /* Transição para todas as propriedades */
    white-space: nowrap; /* Impede a quebra de linha */
    display: inline-flex; /* Para alinhar ícone e texto */
    align-items: center;
    gap: 0.25rem; /* Espaço entre texto e ícone de seta */
}

.certificate-link:hover {
    background-color: #007bff;
    color: white;
    text-decoration: none;
    transform: translateY(-1px); /* Pequeno lift ao hover */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* Ícone de link externo (se estiver usando no ::after) */
.certificate-link::after {
    content: " \2197"; /* Seta para cima e para a direita (↗) */
    font-size: 0.8em;
    vertical-align: middle; /* Alinha melhor o ícone */
    margin-left: 0; /* Remove margem extra */
}



/* ==================================== */
/* Habilidades Técnicas                 */
/* ==================================== */
.skills-grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* 280px é o min-width para cada coluna */
    gap: 1.5rem; /* Espaçamento entre os cards */
    padding: 0 1rem; /* Padding lateral */
    margin-top: 1.5rem;
}

.skill-category-card {
    background-color: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 1.5rem;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.skill-category-card:hover {
    transform: translateY(-5px); /* Efeito de elevação sutil */
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}

.category-title {
    font-size: 1.3rem;
    font-weight: 600;
    color: black; /* Cor de destaque para o título da categoria */
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #dee2e6; /* Linha divisória */
    display: flex;
    align-items: center;
    gap: 0.75rem; /* Espaço entre o ícone e o texto do título */
}

.category-title .bi {
    font-size: 1.5rem; /* Tamanho do ícone no título da categoria */
    color: black; /* Garante que o ícone tenha a cor da categoria */
}

.skill-list {
    list-style: none; /* Remove marcadores padrão (já deve estar com list-unstyled) */
    padding: 0;
    margin: 0;
}

.skill-list li {
    font-size: 1rem;
    line-height: 1.8;
    color: #495057;
    margin-bottom: 0.5rem; /* Espaçamento entre os itens de habilidade */
    display: flex; /* Para alinhar o ícone com o texto */
    align-items: center;
    gap: 0.75rem; /* Espaço entre o ícone e o texto */
    padding-left: 0.25rem; /* Pequeno padding para os itens */
}

.skill-list li:last-child {
    margin-bottom: 0; /* Remove margem do último item */
}

.skill-list li .bi {
    font-size: 1.2rem; /* Tamanho do ícone da habilidade */
    color: #6c757d; /* Cor mais suave para os ícones individuais */
    flex-shrink: 0; /* Impede que o ícone encolha em telas pequenas */
}

/* Badge para "Em estudo" */
.badge.bg-primary-subtle { /* Bootstrap 5.3+ */
    background-color: rgba(0, 123, 255, 0.15) !important; /* Exemplo de cor mais sutil */
    color: #007bff !important;
    font-size: 0.75rem;
    font-weight: normal;
    padding: 0.3em 0.6em;
    vertical-align: middle;
    margin-left: 0.5rem; /* Espaçamento com o texto da habilidade */
}

/* ==================================== */
/* Responsividade para Habilidades      */
/* ==================================== */
@media (max-width: 767.98px) { /* Telas menores */
    .skills-grid-container {
        grid-template-columns: 1fr; /* Uma coluna em mobile */
        gap: 1rem;
        padding: 0; /* Remove padding lateral */
    }

    .skill-category-card {
        padding: 1rem;
    }

    .category-title {
        font-size: 1.2rem;
        gap: 0.5rem;
    }

    .category-title .bi {
        font-size: 1.3rem;
    }

    .skill-list li {
        font-size: 0.95rem;
        line-height: 1.5;
        gap: 0.5rem;
    }

    .skill-list li .bi {
        font-size: 1.1rem;
    }
}