/* ==========================
   Seção de Portal - Estrutura Base
========================== */

a {
    text-decoration: none !important;                  /* Remove sublinhado de todos os links */
    color: inherit;                                    /* Mantém a cor do elemento pai */
}

/* Reset e configurações básicas */
* {
    margin: 0;                                          /* Remove margens padrão */
    padding: 0;                                         /* Remove preenchimentos padrão */
    box-sizing: border-box;                            /* Inclui padding e border no cálculo do tamanho */
    font-family: 'Segoe UI', Tahoma, sans-serif;       /* Fonte padrão moderna */
}

/* Seção principal do portal */
.portal-section {
    height: auto;                                     /* Altura automática baseada no conteúdo */
    min-height: auto;                                 /* Remove altura mínima fixa */
    /*background: #f8f9fa;                           /* Cor de fundo suave */
    padding: 2rem 1rem;                              /* Espaçamento interno responsivo */
    display: flex;                                    /* Usa flexbox */
    flex-direction: column;                           /* Organiza conteúdo em coluna */
}

/* Container principal - ajustado para flexbox */
.portal-container {
    max-width: 1000px;                               /* Largura máxima reduzida para melhor leitura */
    margin: 0 auto;                                  /* Centralização horizontal */
    padding: 0 1rem;                                 /* Espaçamento interno lateral */
    flex: 1;                                         /* Permite crescimento natural */
    display: flex;                                   /* Usa flexbox */
    flex-direction: column;                          /* Organiza conteúdo em coluna */
}

/* Título principal */
.portal-title {
    text-align: center;                               /* Centraliza o texto */
    color: #ff6b00;                                   /* Cor laranja da marca */
    margin-bottom: 2rem;                              /* Espaço abaixo do título */
    font-size: 2.5rem;                                /* Tamanho da fonte */
    font-weight: 700;                                 /* Peso da fonte em negrito */
    letter-spacing: -0.5px;                           /* Ajuste no espaçamento das letras */
}

/* Container do accordion */
.portal-accordion {
    display: flex;                                    /* Layout flexível */
    flex-direction: column;                           /* Direção da coluna */
    gap: 0.75rem;                                     /* Espaço entre itens reduzido */
}

/* Item individual do accordion */
.accordion-item {
    background: #ffffff;                              /* Fundo branco */
    border-radius: 12px;                              /* Bordas mais arredondadas */
    box-shadow: 0 2px 4px rgba(255,107,0,0.05);       /* Sombra com cor laranja suave */
    overflow: hidden;                                 /* Esconde conteúdo excedente */
    border: 1px solid rgba(255,107,0,0.1);            /* Borda laranja muito suave */
    transition: all 0.2s ease;                        /* Transição suave */
}

/* Efeito hover no item */
.accordion-item:hover {
    transform: translateY(-1px);                      /* Leve elevação ao passar o mouse */
    box-shadow: 0 4px 6px rgba(255,107,0,0.1);        /* Sombra laranja mais pronunciada no hover */
}

/* Cabeçalho do accordion */
.accordion-header {
    display: flex;                                    /* Layout flexível */
    justify-content: space-between;                   /* Espaço entre elementos */
    align-items: center;                              /* Alinhamento vertical */
    padding: 1rem 1.25rem;                           /* Padding ajustado */
    cursor: pointer;                                  /* Cursor pointer */
    background: #ffffff;                              /* Fundo branco */
    transition: background-color 0.2s ease;           /* Transição suave */
}

/* Hover no cabeçalho */
.accordion-header:hover {
    background-color: rgba(255,107,0,0.03);           /* Fundo laranja muito suave no hover */
}

/* Container do conteúdo do cabeçalho */
.header-content {
    display: flex;                                    /* Layout flexível */
    align-items: center;                              /* Alinhamento vertical */
    gap: 0.75rem;                                     /* Espaço entre ícone e texto */
}

/* Ícones do accordion */
.accordion-icon {
    width: 22px;                                      /* Largura do ícone */
    height: 22px;                                     /* Altura do ícone */
    stroke-width: 2;                                  /* Espessura do traço */
    stroke: #ff6b00;                                  /* Cor laranja da marca */
    flex-shrink: 0;                                   /* Evita encolhimento */
}

/* Títulos do accordion */
.accordion-header h3 {
    font-size: 1.1rem;                               /* Tamanho da fonte reduzido */
    color: #333333;                                  /* Cor escura para texto */
    margin: 0;                                        /* Remove margem */
    font-weight: 600;                                 /* Peso da fonte semibold */
    line-height: 1.4;                                 /* Altura da linha ajustada */
}

/* Botão de alternância */
.accordion-toggle {
    background: none;                                 /* Remove fundo */
    border: none;                                     /* Remove borda */
    cursor: pointer;                                  /* Cursor pointer */
    padding: 0.5rem;                                  /* Padding para área de clique */
}

/* Ícone de alternância */
.toggle-icon {
    display: block;                                   /* Display block */
    width: 16px;                                      /* Largura reduzida */
    height: 16px;                                     /* Altura reduzida */
    position: relative;                               /* Posicionamento relativo */
}

/* Linhas do ícone de alternância */
.toggle-icon::before,
.toggle-icon::after {
    content: '';                                      /* Conteúdo vazio */
    position: absolute;                               /* Posicionamento absoluto */
    background-color: #ff6b00;                        /* Cor laranja da marca */
    transition: all 0.2s ease;                        /* Transição suave */
}

.toggle-icon::before {
    width: 2px;                                       /* Largura da linha vertical */
    height: 16px;                                     /* Altura da linha vertical */
    left: 7px;                                        /* Posicionamento horizontal */
    top: 0;                                           /* Posicionamento vertical */
}

.toggle-icon::after {
    width: 16px;                                      /* Largura da linha horizontal */
    height: 2px;                                      /* Altura da linha horizontal */
    left: 0;                                          /* Posicionamento horizontal */
    top: 7px;                                         /* Posicionamento vertical */
}

/* Conteúdo do accordion */
.accordion-content {
    max-height: 0;                                    /* Altura inicial zero */
    overflow: hidden;                                 /* Esconde overflow */
    transition: all 0.3s ease-out;                    /* Transição suave */
    background-color: #ffffff;                        /* Fundo branco */
    color: #666666;                                   /* Cor do texto mais suave */
    font-size: 0.95rem;                              /* Tamanho do texto reduzido */
    line-height: 1.6;                                 /* Altura da linha aumentada */
}

/* Conteúdo ativo */
.accordion-item.active {
    border-color: rgba(255,107,0,0.2);                /* Borda laranja mais visível quando ativo */
}

.accordion-item.active .accordion-content {
    max-height: 1000px;                              /* Altura máxima quando aberto */
    padding: 0.75rem 1.25rem 1.25rem;                /* Padding ajustado */
}

/* Rotação do ícone quando ativo */
.accordion-item.active .toggle-icon::before {
    transform: rotate(90deg);                         /* Rotação do ícone */
}

/* Listas dentro do conteúdo */
.accordion-content ul,
.accordion-content ol {
    padding-left: 1.25rem;                           /* Indentação da lista */
    margin: 0.75rem 0;                               /* Margem vertical */
}

.accordion-content li {
    margin-bottom: 0.5rem;                           /* Espaço entre itens da lista */
    padding-left: 0.5rem;                            /* Espaço após marcador */
}

/* Responsividade */
@media (max-width: 768px) {
    .portal-container {
        padding: 0 0.75rem;                          /* Padding reduzido */
    }
    
    .portal-accordion {
        gap: 0.5rem;                                 /* Espaço menor entre itens */
    }
    
    .accordion-header {
        padding: 0.75rem 1rem;                       /* Padding reduzido */
    }
    
    .accordion-item.active .accordion-content {
        padding: 0.5rem 1rem 1rem;                   /* Padding reduzido */
    }
}

@media (max-width: 480px) {
    .portal-title {
        font-size: 1.75rem;                          /* Título menor */
        margin-bottom: 1.5rem;                       /* Margem inferior reduzida */
    }
    
    .accordion-header h3 {
        font-size: 1rem;                             /* Fonte menor */
    }
    
    .accordion-content {
        font-size: 0.9rem;                           /* Texto menor em mobile */
    }
}

/* ==========================
   Estrutura Base da Seção de Privacidade 
========================== */

/* Estilização global dos links na seção de privacidade */
.privacy-link {
    text-decoration: none !important;                  /* Remove sublinhado de todos os links de forma forçada */
    color: inherit;                                    /* Herda a cor do elemento pai */
}

/* Reset básico para todos os elementos da seção */
* {
    margin: 0;                                         /* Remove margens padrão */
    padding: 0;                                        /* Remove preenchimentos padrão */
    box-sizing: border-box;                           /* Inclui padding e border no cálculo do tamanho */
    font-family: 'Segoe UI', Tahoma, sans-serif;      /* Define família de fontes modernas */
}

/* Container principal da seção de privacidade */
.privacy-main-section {
    height: auto;                                     /* Altura automática baseada no conteúdo */
    min-height: auto;                                 /* Remove altura mínima fixa */
    padding: 2rem 1rem;                              /* Espaçamento interno responsivo */
    display: flex;                                    /* Layout flexível */
    flex-direction: column;                           /* Organiza conteúdo em coluna */
}

/* Container interno para conteúdo */
.privacy-inner-container {
    max-width: 1000px;                               /* Largura máxima para melhor leitura */
    margin: 0 auto;                                  /* Centralização horizontal */
    padding: 0 1rem;                                 /* Espaçamento interno lateral */
    flex: 1;                                         /* Permite crescimento natural */
    display: flex;                                   /* Layout flexível */
    flex-direction: column;                          /* Organiza conteúdo em coluna */
}

/* Título principal da seção */
.privacy-title {
    text-align: center;                              /* Centraliza o texto */
    color: #ff6b00;                                  /* Cor laranja da marca */
    margin-bottom: 2rem;                             /* Espaço abaixo do título */
    font-size: 2.5rem;                               /* Tamanho da fonte */
    font-weight: 700;                                /* Peso da fonte em negrito */
    letter-spacing: -0.5px;                          /* Ajuste no espaçamento das letras */
}

/* Container do acordeon */
.privacy-accordion {
    display: flex;                                    /* Layout flexível */
    flex-direction: column;                           /* Direção da coluna */
    gap: 0.75rem;                                     /* Espaço entre itens */
}

/* Item individual do acordeon */
.privacy-item {
    background: #ffffff;                              /* Fundo branco */
    border-radius: 12px;                              /* Bordas arredondadas */
    box-shadow: 0 2px 4px rgba(255,107,0,0.05);      /* Sombra suave laranja */
    overflow: hidden;                                 /* Esconde overflow */
    border: 1px solid rgba(255,107,0,0.1);           /* Borda laranja suave */
    transition: all 0.2s ease;                        /* Transição suave */
}

/* Efeito hover no item */
.privacy-item:hover {
    transform: translateY(-1px);                      /* Elevação suave no hover */
    box-shadow: 0 4px 6px rgba(255,107,0,0.1);       /* Sombra mais forte no hover */
}

/* Cabeçalho do item */
.privacy-header {
    display: flex;                                    /* Layout flexível */
    justify-content: space-between;                   /* Espaço entre elementos */
    align-items: center;                              /* Alinhamento vertical */
    padding: 1rem 1.25rem;                           /* Padding interno */
    cursor: pointer;                                  /* Cursor tipo mão */
    background: #ffffff;                              /* Fundo branco */
    transition: background-color 0.2s ease;           /* Transição suave */
}

/* Hover no cabeçalho */
.privacy-header:hover {
    background-color: rgba(255,107,0,0.03);          /* Cor de fundo hover */
}

/* Container do conteúdo do cabeçalho */
.privacy-header-content {
    display: flex;                                    /* Layout flexível */
    align-items: center;                              /* Alinhamento vertical */
    gap: 0.75rem;                                     /* Espaço entre elementos */
}

/* Ícones do acordeon */
.privacy-icon {
    width: 22px;                                      /* Largura do ícone */
    height: 22px;                                     /* Altura do ícone */
    stroke-width: 2;                                  /* Espessura do traço */
    stroke: #ff6b00;                                  /* Cor laranja do ícone */
    flex-shrink: 0;                                   /* Evita encolhimento */
}

/* Títulos do acordeon */
.privacy-header h3 {
    font-size: 1.1rem;                               /* Tamanho da fonte */
    color: #333333;                                  /* Cor do texto */
    margin: 0;                                        /* Remove margem */
    font-weight: 600;                                 /* Peso da fonte */
    line-height: 1.4;                                 /* Altura da linha */
}

/* Botão de alternância */
.privacy-toggle {
    background: none;                                 /* Remove fundo */
    border: none;                                     /* Remove borda */
    cursor: pointer;                                  /* Cursor tipo mão */
    padding: 0.5rem;                                  /* Padding interno */
}

/* Ícone de alternância */
.privacy-toggle-icon {
    display: block;                                   /* Display tipo bloco */
    width: 16px;                                      /* Largura do ícone */
    height: 16px;                                     /* Altura do ícone */
    position: relative;                               /* Posicionamento relativo */
}

/* Linhas do ícone de alternância */
.privacy-toggle-icon::before,
.privacy-toggle-icon::after {
    content: '';                                      /* Conteúdo vazio */
    position: absolute;                               /* Posicionamento absoluto */
    background-color: #ff6b00;                        /* Cor laranja */
    transition: all 0.2s ease;                        /* Transição suave */
}

/* Linha vertical do ícone */
.privacy-toggle-icon::before {
    width: 2px;                                       /* Largura da linha */
    height: 16px;                                     /* Altura da linha */
    left: 7px;                                        /* Posição esquerda */
    top: 0;                                           /* Posição topo */
}

/* Linha horizontal do ícone */
.privacy-toggle-icon::after {
    width: 16px;                                      /* Largura da linha */
    height: 2px;                                      /* Altura da linha */
    left: 0;                                          /* Posição esquerda */
    top: 7px;                                         /* Posição topo */
}

/* Conteúdo do acordeon */
.privacy-content {
    max-height: 0;                                    /* Altura inicial zero */
    overflow: hidden;                                 /* Esconde overflow */
    transition: all 0.3s ease-out;                    /* Transição suave */
    background-color: #ffffff;                        /* Fundo branco */
    color: #666666;                                   /* Cor do texto */
    font-size: 0.95rem;                              /* Tamanho da fonte */
    line-height: 1.6;                                 /* Altura da linha */
}

/* Estado ativo do item */
.privacy-item.active {
    border-color: rgba(255,107,0,0.2);               /* Borda mais visível */
}

/* Conteúdo ativo */
.privacy-item.active .privacy-content {
    max-height: 1000px;                              /* Altura máxima quando aberto */
    padding: 0.75rem 1.25rem 1.25rem;                /* Padding interno */
}

/* Rotação do ícone quando ativo */
.privacy-item.active .privacy-toggle-icon::before {
    transform: rotate(90deg);                         /* Rotação do ícone */
}

/* Estilos para listas no conteúdo */
.privacy-content ul,
.privacy-content ol {
    padding-left: 1.25rem;                           /* Indentação da lista */
    margin: 0.75rem 0;                               /* Margem vertical */
}

/* Itens da lista */
.privacy-content li {
    margin-bottom: 0.5rem;                           /* Espaço entre itens */
    padding-left: 0.5rem;                            /* Indentação do texto */
}

/* Responsividade para tablets */
@media (max-width: 768px) {
    .privacy-inner-container {
        padding: 0 0.75rem;                          /* Padding reduzido */
    }
    
    .privacy-accordion {
        gap: 0.5rem;                                 /* Espaço menor entre itens */
    }
    
    .privacy-header {
        padding: 0.75rem 1rem;                       /* Padding reduzido */
    }
    
    .privacy-item.active .privacy-content {
        padding: 0.5rem 1rem 1rem;                   /* Padding reduzido */
    }
}

/* Responsividade para mobile */
@media (max-width: 480px) {
    .privacy-title {
        font-size: 1.75rem;                          /* Título menor */
        margin-bottom: 1.5rem;                       /* Margem inferior menor */
    }
    
    .privacy-header h3 {
        font-size: 1rem;                             /* Fonte menor */
    }
    
    .privacy-content {
        font-size: 0.9rem;                           /* Texto menor */
    }
}