/*
====================================================================
  SEÇÃO FORMAÇÃO - CSS DESKTOP BASE
  
  ⚠️  IMPORTANTE: Este arquivo contém APENAS os estilos BASE da seção formação!
  
  As bordas, margens e espaçamentos base estão definidos em:
  sites/public/componentes/container/container.css
  
  Este arquivo deve ser importado APÓS o arquivo de bordas.
  
  ESTILOS: Este arquivo contém apenas estilos específicos da seção formação.
  As bordas e layout são controlados pelo sistema de containers reutilizável.
  
  MEDIA QUERIES: As media queries estão no arquivo 02_formacao_desktop_media.css
  
  Autor: #@HD
  Data de criação: 13/08/2025
  Última atualização: 14/08/2025
====================================================================
*/

/* ====================================================================
   VARIÁVEIS CSS LOCAIS - TÍTULOS DA SEÇÃO FORMAÇÃO
   ==================================================================== */

:root {
  /* Variáveis para títulos das subseções - estilo conhecimento_desktop_panel_title */
  --formacao-titulo-academica-alinhamento: left;
  --formacao-titulo-complementar-alinhamento: left;
  --formacao-titulo-padding: 0;
  --formacao-titulo-margin: 0;
  --formacao-titulo-espacamento-inferior: var(--espacamento-480px);
  --formacao-titulo-tamanho-fonte: 1.5rem;
  --formacao-titulo-peso-fonte: 700;
  --formacao-titulo-cor: var(--hover-color);
  --formacao-titulo-borda-inferior: 2px solid var(--hover-color);
  --formacao-titulo-padding-inferior: var(--espacamento-240px);
}

/* ====================================================================
   ESTILOS COMPARTILHADOS - CONTEÚDO
   ==================================================================== */

.formacao_desktop_content {
  display: flex;
  flex-direction: column;
  gap: var(--espacamento-160px);
  text-align: center;
  padding: 1rem;
}

/* ====================================================================
   TÍTULO DA SEÇÃO FORMAÇÃO - ALINHAMENTO À ESQUERDA
   ==================================================================== */

/* Alinhar título da seção formação à esquerda */
#formacao .section-title,
.desktop_formacao .section-title,
.formacao .section-title,
.formacao_desktop .section-title,
.desktop-formacao .section-title {
    text-align: left;
    align-items: flex-start;
    justify-content: flex-start;
    margin: 0;
    margin-bottom: 1.5rem; /* Adicionar margem inferior ao container */
    padding: 0;
    width: 100%;
    position: static; /* Mudar de relative para static */
    z-index: auto; /* Remover z-index */
    display: block; /* Garantir que seja block */
}

/* ====================================================================
   TÍTULOS DAS SUBSECÇÕES - FORMAÇÃO ACADÊMICA E COMPLEMENTAR
   ==================================================================== */

/* Títulos das subseções usando variáveis CSS locais - estilo conhecimento_desktop_panel_title */
.formacao_desktop_academica .section-subtitle,
.formacao_desktop_complementar_desktop .section-subtitle {
    text-align: var(--formacao-titulo-academica-alinhamento) !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    padding: var(--formacao-titulo-padding) !important;
    margin: var(--formacao-titulo-margin) !important;
    margin-bottom: var(--formacao-titulo-espacamento-inferior) !important;
    display: flex;
    align-items: center;
}

/* Títulos h3 dentro das subseções - estilo conhecimento_desktop_panel_title */
.formacao_desktop_academica .section-subtitle h3,
.formacao_desktop_complementar_desktop .section-subtitle h3 {
    font-size: var(--formacao-titulo-tamanho-fonte) !important;
    font-weight: var(--formacao-titulo-peso-fonte) !important;
    color: var(--formacao-titulo-cor) !important;
    text-align: var(--formacao-titulo-academica-alinhamento) !important;
    align-self: flex-start !important;
    justify-self: flex-start !important;
    padding: var(--formacao-titulo-padding) !important;
    margin: var(--formacao-titulo-margin) !important;
    border-bottom: var(--formacao-titulo-borda-inferior) !important;
    padding-bottom: var(--formacao-titulo-padding-inferior) !important;
    margin-bottom: var(--formacao-titulo-espacamento-inferior) !important;
}

/* Spans dentro dos títulos das subseções - estilo conhecimento_desktop_panel_title */
.formacao_desktop_academica .section-subtitle span,
.formacao_desktop_complementar_desktop .section-subtitle span {
    font-size: var(--formacao-titulo-tamanho-fonte) !important;
    font-weight: var(--formacao-titulo-peso-fonte) !important;
    color: var(--formacao-titulo-cor) !important;
    text-align: var(--formacao-titulo-academica-alinhamento) !important;
    display: block;
    width: 100%;
    border-bottom: var(--formacao-titulo-borda-inferior) !important;
    padding-bottom: var(--formacao-titulo-padding-inferior) !important;
    margin-bottom: var(--formacao-titulo-espacamento-inferior) !important;
}

/* Alinhar o h2 dentro do título da seção formação à esquerda */
#formacao .section-title h2,
.desktop_formacao .section-title h2,
.formacao .section-title h2,
.formacao_desktop .section-title h2,
.desktop-formacao .section-title h2 {
    text-align: left;
    align-self: flex-start;
    justify-self: flex-start;
    margin: 0;
    margin-bottom: 1.5rem; /* Aumentar espaçamento entre título e parágrafo */
    padding: 0;
    position: static; /* Mudar de relative para static */
    z-index: auto; /* Remover z-index */
    width: 100%;
    display: block; /* Garantir que seja block */
}

/* ====================================================================
   LAYOUT BASE: DESKTOP FIRST
   ==================================================================== */

/* Layout de 2 colunas para desktop */
.formacao_desktop .formacao_desktop_section_columns {
    display: flex;
    flex-direction: row;
    gap: var(--espacamento-1200px);
    width: 100%;
    box-sizing: border-box;
    align-items: flex-start;
    justify-content: space-between;
}

/* Container do Swiper mobile - herda o estilo visual da seção */
.formacao_desktop_mobile_swiper_container {
    width: 100%;
    box-sizing: border-box;
}

/* Colunas base para desktop */
.formacao_desktop .formacao_desktop_section_column_left,
.formacao_desktop .formacao_desktop_section_column_right {
    display: flex;
    flex-direction: column;
    gap: var(--espacamento-480px);
    min-width: 0;
}

/* Distribuição de espaço para desktop */
.formacao_desktop .formacao_desktop_section_column_left {
    flex: 0 0 40%;
}

.formacao_desktop .formacao_desktop_section_column_right {
    flex: 0 0 60%;
}

/* ====================================================================
   ABOUT BUBBLES
   ==================================================================== */

.formacao_desktop_about_bubbles {
    position: relative;
    height: auto;
    min-height: 0;
    width: var(--formacao-desktop-tamanho-caixa-suspensa-largura, 150px);
    flex: 0 0 var(--formacao-desktop-tamanho-caixa-suspensa-largura, 150px);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    margin-bottom: 0;
    gap: 0;
    order: 1;
}

.formacao_desktop_info_about1,
.formacao_desktop_info_about2,
.formacao_desktop_info_about3,
.formacao_desktop_info_about4 {
    text-align: center;
    background: var(--bg-color);
    font-size: .5rem;
    position: absolute;
    padding: 6px;
    width: var(--formacao-desktop-tamanho-caixa-suspensa-largura, 150px);
    height: var(--formacao-desktop-tamanho-caixa-suspensa-altura, 60px);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-shadow: var(--neon-box-shadow);
    border: 1px solid var(--hover-color);
    outline: 2px solid var(--bg-color);
    z-index: 100;
}

/* Posicionamento para desktop - usando altura variável */
.formacao_desktop_info_about1 { top: 0; left: 0; }
.formacao_desktop_info_about2 { top: calc(var(--formacao-desktop-tamanho-caixa-suspensa-altura, 60px) + 20px); left: 0; }
.formacao_desktop_info_about3 { top: calc((var(--formacao-desktop-tamanho-caixa-suspensa-altura, 60px) + 20px) * 2); left: 0; }
.formacao_desktop_info_about4 { top: calc((var(--formacao-desktop-tamanho-caixa-suspensa-altura, 60px) + 20px) * 3); left: 0; }

.formacao_desktop_about_bubbles_img_container {
    height: auto;
    min-height: 0;
    justify-content: flex-start;
    gap: 0;
    align-items: flex-start;
}

/* Criar layout de duas colunas para about-bubbles e img-about */
.formacao_desktop_section_column_left {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 15px;
    width: 100%;
}

/* Layout para about-bubbles e img-about */
.formacao_desktop_section_column_left .formacao_desktop_about_bubbles_img_container {
    display: flex;
    flex-direction: row;
    gap: 0;
    width: 100%;
    align-items: flex-start;
    justify-content: flex-start;
}

/* ====================================================================
   FOTO
   ==================================================================== */

.formacao_desktop_img_about {
    text-align: left;
    position: relative;
    height: var(--formacao-desktop-tamanho-imagem-altura, 300px);
    max-height: var(--formacao-desktop-tamanho-imagem-altura, 300px);
    margin-top: 0;
    margin-left: 20px;
    flex: 1;
    width: auto;
    min-width: calc(100% - var(--formacao-desktop-tamanho-caixa-suspensa-largura, 150px) - var(--formacao-desktop-tamanho-imagem-largura, 120px));
    max-width: calc(100% - var(--formacao-desktop-tamanho-caixa-suspensa-largura, 150px) - var(--formacao-desktop-tamanho-imagem-largura, 120px));
    order: 2;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: var(--neon-box-shadow);
    border: 1px solid var(--hover-color);
    outline: 2px solid var(--bg-color);
}

.formacao_desktop_img_about img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 8px;
    margin-left: 0;
    max-width: 100%;
    display: block;
}

.formacao_desktop_img_about span {
    color: var(--hover-color);
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 5px;
}

.formacao_desktop_info_about1 p,
.formacao_desktop_info_about2 p,
.formacao_desktop_info_about3 p,
.formacao_desktop_info_about4 p {
    font-size: 0.6rem;
    margin: 0;
}

.formacao_desktop_info_about1 span,
.formacao_desktop_info_about2 span,
.formacao_desktop_info_about3 span,
.formacao_desktop_info_about4 span {
    font-size: 1.1rem;
    margin-bottom: 3px;
}

/* ====================================================================
   COMPONENTES BASE
   ==================================================================== */

/* Subtítulos */
.formacao_desktop_subtitulo {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--hover-color);
    margin-bottom: var(--espacamento-480px);
    text-align: left;
    border-bottom: 2px solid var(--hover-color);
    padding-bottom: var(--espacamento-240px);
    margin-top: 0px;
    margin-right: 200px;
}

/* ====================================================================
   FORMAÇÃO ACADÊMICA
   ==================================================================== */

/* Layout de duas colunas para Formação Acadêmica */
.formacao_desktop_academica_layout {
    display: grid;
    grid-template-columns: 1fr 2fr;
    margin-top: var(--espacamento-160px);
}

/* Lista de formações (coluna esquerda) */
.formacao_desktop_lista_formacoes {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.formacao_desktop_formacao_item {
    text-align: center;
    background: var(--bg-color);
    font-size: .5rem;
    padding: 6px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-shadow: var(--neon-box-shadow);
    border: 1px solid var(--hover-color);
    outline: 2px solid var(--bg-color);
    cursor: pointer;
    transition: all var(--transition-normal);
}

.formacao_desktop_formacao_item:hover {
    background: var(--bg-color);
    box-shadow: var(--neon-box-shadow);
    border: 1px solid var(--hover-color);
    outline: 2px solid var(--bg-color);
    transform: translateY(-2px);
    box-shadow: 0 0 16px var(--hover-color);
}

.formacao_desktop_formacao_item.ativo {
    background: var(--hover-color);
    color: var(--bg-color);
    box-shadow: var(--neon-box-shadow);
    border: 1px solid var(--hover-color);
    outline: 2px solid var(--bg-color);
    box-shadow: 0 0 16px var(--hover-color);
}

.formacao_desktop_formacao_nome {
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Detalhes da formação (coluna direita) */
.formacao_desktop_detalhes_formacao {
    background: var(--secon-bg-color);
    border: 1px solid var(--hover-color);
    outline: 2px solid var(--bg-color);
    box-shadow: var(--neon-box-shadow);
    border-radius: 8px;
    transition: all var(--transition-normal);
    padding: 1.5rem;
    min-height: 120px;
}

.formacao_desktop_detalhes_formacao:hover {
    box-shadow: 0 0 16px var(--hover-color);
    transform: translateY(-2px);
}

.formacao_desktop_detalhes_conteudo h4 {
    color: var(--text-color);
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: var(--espacamento-160px);
    line-height: 1.4;
}

.formacao_desktop_detalhes_conteudo .formacao_desktop_tipo {
    color: var(--hover-color);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: linear-gradient(45deg, var(--hover-color), #00d4ff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: 0 0 10px rgba(18, 247, 255, 0.3);
}

.formacao_desktop_detalhes_conteudo .formacao_desktop_periodo {
    display: inline-block;
    font-size: 0.8rem;
    color: var(--hover-color);
    background: transparent;
    padding: 0;
    border-radius: 0;
    border: none;
    margin-bottom: var(--espacamento-160px);
}

.formacao_desktop_detalhes_conteudo .formacao_desktop_instituicao {
    color: var(--text-color);
    font-size: 0.9rem;
    font-weight: 500;
    opacity: 0.9;
    text-align: center;
    margin: 0;
}

.formacao_desktop_detalhes_conteudo .formacao_desktop_titulo_completo {
    color: var(--text-color);
    font-size: 1rem;
    font-weight: 500;
    margin: 0;
    line-height: 1.4;
    text-align: center;
    margin-bottom: var(--espacamento-240px);
}

/* ====================================================================
   FORMAÇÃO COMPLEMENTAR
   ==================================================================== */

/* Layout de duas colunas para Formação Complementar - Desktop First */
.formacao_desktop_complementar_layout {
    display: grid;
    grid-template-columns: 1fr 2fr;
    margin-top: var(--espacamento-160px);
}

/* Lista de tópicos (coluna esquerda) */
.formacao_desktop_lista_topicos {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.formacao_desktop_topico_item {
    text-align: center;
    background: var(--bg-color);
    font-size: .5rem;
    padding: 6px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-shadow: var(--neon-box-shadow);
    border: 1px solid var(--hover-color);
    outline: 2px solid var(--bg-color);
    cursor: pointer;
    transition: all var(--transition-normal);
}

.formacao_desktop_topico_item:hover {
    background: var(--bg-color);
    box-shadow: var(--neon-box-shadow);
    border: 1px solid var(--hover-color);
    outline: 2px solid var(--bg-color);
    transform: translateY(-2px);
    box-shadow: 0 0 16px var(--hover-color);
}

.formacao_desktop_topico_item.ativo {
    background: var(--hover-color);
    color: var(--bg-color);
    box-shadow: var(--neon-box-shadow);
    border: 1px solid var(--hover-color);
    outline: 2px solid var(--bg-color);
    box-shadow: 0 0 16px var(--hover-color);
}

.formacao_desktop_topico_nome {
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Detalhes do tópico (coluna direita) */
.formacao_desktop_detalhes_topico {
    background: var(--secon-bg-color);
    border: 1px solid var(--hover-color);
    outline: 2px solid var(--bg-color);
    box-shadow: var(--neon-box-shadow);
    border-radius: 8px;
    transition: all var(--transition-normal);
    padding: 2rem;
    min-height: 200px;
}

.formacao_desktop_detalhes_topico:hover {
    box-shadow: 0 0 16px var(--hover-color);
    transform: translateY(-2px);
}

/* Layout de duas linhas para detalhes da formação */
.formacao_desktop_detalhes_layout {
    display: flex;
    flex-direction: column;
    gap: var(--espacamento-320px);
    height: 100%;
}

/* Primeira linha: Tipo e Data (alinhados à esquerda) */
.formacao_desktop_detalhes_esquerda {
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: var(--espacamento-160px);
    align-items: flex-start;
}

.formacao_desktop_detalhes_esquerda h4 {
    margin: 0;
}

.formacao_desktop_detalhes_esquerda .formacao_desktop_periodo {
    margin: 0;
}

/* Segunda linha: Título e Instituição (centralizados) */
.formacao_desktop_detalhes_direita {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 80px;
    padding: var(--espacamento-120px) 0;
}

.formacao_desktop_detalhes_direita .formacao_desktop_titulo_completo {
    margin-bottom: var(--espacamento-320px);
    max-width: 90%;
    line-height: 1.4;
}

.formacao_desktop_detalhes_direita .formacao_desktop_instituicao {
    margin: 0;
    font-size: 1rem;
    color: var(--hover-color);
}

/* Estilos para o conteúdo dos detalhes da Formação Complementar */
.formacao_desktop_detalhes_conteudo h4 {
    margin-bottom: var(--espacamento-160px);
}

.formacao_desktop_detalhes_conteudo .formacao_desktop_tipo {
    color: var(--hover-color);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: linear-gradient(45deg, var(--hover-color), #00d4ff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: 0 0 10px rgba(18, 247, 255, 0.3);
}

.formacao_desktop_descricao {
    font-size: 0.9rem;
    color: var(--text-color);
    margin-bottom: var(--espacamento-320px);
    font-weight: 500;
    line-height: 1.4;
}

.formacao_desktop_detalhes_lista {
    list-style: none;
    padding: 0;
    margin: 0;
}

.formacao_desktop_detalhes_lista li {
    position: relative;
    padding-left: var(--espacamento-480px);
    margin-bottom: var(--espacamento-240px);
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--text-color);
}

.formacao_desktop_detalhes_lista li::before {
    content: "▸";
    position: absolute;
    left: 0;
    color: var(--hover-color);
    font-weight: bold;
    font-size: 1rem;
}

/* ====================================================================
   RESUMO DO CURRÍCULO
   ==================================================================== */

.formacao_desktop_resumo_curriculo {
    margin-top: -20px;

    border: none;
    border-radius: var(--raio-borda-480px);
    text-align: left;
    width: 100%;
    box-sizing: border-box;
    margin-right: 200px;
}

.formacao_desktop_resumo_descricao {
    color: var(--text-color);
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom: var(--espacamento-320px);
    text-align: justify;
}

.formacao_desktop_resumo_destaques {
    display: flex;
    flex-direction: column;
    gap: var(--espacamento-120px);
}

.formacao_desktop_destaque_item {
    color: var(--text-color);
    font-size: 0.8rem;
    font-weight: 500;
    padding-left: var(--espacamento-160px);
    position: relative;
}

.formacao_desktop_destaque_item::before {
    content: "▸";
    position: absolute;
    left: 0;
    color: var(--hover-color);
    font-weight: bold;
    font-size: 0.9rem;
}

/* ====================================================================
   PROTEÇÃO PARA EVITAR FOUC
   ==================================================================== */

.img_protect {
    max-width: 100vw;
    max-height: 300px;
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
    margin: 0 auto;
    border-radius: 8px;
    box-sizing: border-box;
    background: #222;
    visibility: hidden;
}
