.elementor-7998 .elementor-element.elementor-element-2ce85ca{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:-45px;--margin-bottom:80px;--margin-left:0px;--margin-right:0px;}.elementor-7998 .elementor-element.elementor-element-f316ad4{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:15px 15px 15px 15px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7998 .elementor-element.elementor-element-f316ad4.e-con{--align-self:flex-start;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-7998 .elementor-element.elementor-element-4b4c5e2{margin:-21px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-7998 .elementor-element.elementor-element-ecf2ead{--display:flex;}.elementor-7998 .elementor-element.elementor-element-4ee03de{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--overlay-opacity:0.69;--border-radius:15px 15px 15px 15px;}.elementor-7998 .elementor-element.elementor-element-4ee03de:not(.elementor-motion-effects-element-type-background), .elementor-7998 .elementor-element.elementor-element-4ee03de > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-codevz_primary_color );background-image:url("https://abter.org.br/wp-content/uploads/2026/01/organograma.pdf-e1768488530461.jpg");background-position:center center;background-size:cover;}.elementor-7998 .elementor-element.elementor-element-4ee03de::before, .elementor-7998 .elementor-element.elementor-element-4ee03de > .elementor-background-video-container::before, .elementor-7998 .elementor-element.elementor-element-4ee03de > .e-con-inner > .elementor-background-video-container::before, .elementor-7998 .elementor-element.elementor-element-4ee03de > .elementor-background-slideshow::before, .elementor-7998 .elementor-element.elementor-element-4ee03de > .e-con-inner > .elementor-background-slideshow::before, .elementor-7998 .elementor-element.elementor-element-4ee03de > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-codevz_primary_color );--background-overlay:'';}.elementor-7998 .elementor-element.elementor-element-49fcbc7 > .elementor-widget-container{margin:19px 0px -23px 0px;}.elementor-7998 .elementor-element.elementor-element-49fcbc7 .cz_title .cz_title_content{color:#eae547;padding-right:20px;padding-left:20px;}.elementor-7998 .elementor-element.elementor-element-49fcbc7 .cz_title .cz_title_content h3{color:#ffffff;text-transform:uppercase;}.elementor-7998 .elementor-element.elementor-element-49fcbc7 .cz_title .cz_shape_1{color:#eada00;font-size:16px;padding-top:10px;padding-left:23px;}.elementor-7998 .elementor-element.elementor-element-d1404fa > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-7998 .elementor-element.elementor-element-d1404fa .cz_title .cz_title_content{color:#213962;padding-right:20px;padding-bottom:30px;padding-left:20px;}.elementor-7998 .elementor-element.elementor-element-d1404fa .cz_title .cz_title_content h2{color:#ffffff;}@media(max-width:1024px){.elementor-7998 .elementor-element.elementor-element-49fcbc7 .cz_title .cz_title_content{padding-right:0px;padding-left:0px;margin-top:50px;}.elementor-7998 .elementor-element.elementor-element-d1404fa .cz_title .cz_title_content{padding-right:0px;padding-left:0px;}}@media(min-width:768px){.elementor-7998 .elementor-element.elementor-element-f316ad4{--width:30%;}}@media(max-width:767px){.elementor-7998 .elementor-element.elementor-element-f316ad4{--min-height:0px;--justify-content:flex-start;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7998 .elementor-element.elementor-element-f316ad4.e-con{--align-self:center;}.elementor-7998 .elementor-element.elementor-element-49fcbc7 .cz_title .cz_title_content{margin-top:0px;}.elementor-7998 .elementor-element.elementor-element-49fcbc7 .cz_title .cz_shape_1{left:-136px;}.elementor-7998 .elementor-element.elementor-element-d1404fa .cz_title .cz_title_content{padding-bottom:0px;}.elementor-7998 .elementor-element.elementor-element-d1404fa .cz_title .cz_title_content h2{font-size:35px;padding-bottom:21px;}.elementor-7998 .elementor-element.elementor-element-3a5dd0d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}}/* Start custom CSS for html, class: .elementor-element-3a5dd0d */@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&display=swap');

:root {
    /* Paleta de Cores */
    --abter-blue: #123143;
    --abter-light-blue: #1D4E68;
    --abter-gold: #F2C94C;
    --abter-text: #FFFFFF;
    --line-color: #cbd5e0;
}

/* =================================================================
   1. CONTROLE DE EXIBIÇÃO (SWITCH DESKTOP/MOBILE)
   ================================================================= */
#mobile-view { display: none; }
#desktop-view { display: flex; }

@media (max-width: 768px) {
    #desktop-view { display: none; }
    #mobile-view { display: block; }
}

/* =================================================================
   2. ESTILOS DO DESKTOP (HORIZONTAL)
   ================================================================= */
.org-chart-wrapper {
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
    font-family: 'Montserrat', sans-serif;
}
.org-chart {
    padding: 40px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.org-level {
    display: flex; flex-direction: column; align-items: center; width: 100%; position: relative;
}
.org-row {
    display: flex; justify-content: center; gap: 20px; position: relative; padding-top: 20px; width: 100%;
}
.org-node {
    background-color: var(--abter-blue);
    color: var(--abter-text);
    padding: 15px 10px;
    border-radius: 6px;
    text-align: center;
    font-weight: 600;
    font-size: 13px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    border-top: 3px solid var(--abter-gold);
    display: flex; flex-direction: column; justify-content: center; align-items: center;
    min-width: 120px; max-width: 180px; width: 100%;
    position: relative; transition: all 0.3s ease; z-index: 2;
}
.org-node:hover {
    background-color: var(--abter-light-blue);
    transform: translateY(-3px);
}
.org-node small {
    display: block; margin-top: 5px; font-weight: 400; font-size: 0.85em; opacity: 0.8; color: #e0e0e0;
}
/* Conectores Desktop */
.connector.vertical { width: 2px; height: 20px; background-color: var(--line-color); display: block; margin: 0 auto; }
.org-level.triple .org-row::before, .org-level.multi .org-row::before {
    content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); height: 2px; background-color: var(--line-color); z-index: 0;
}
.org-level.triple .org-row::before { width: 67%; }
.org-level.multi .org-row::before { width: 80%; }
.org-node.from-horizontal::before {
    content: ''; position: absolute; top: -22px; left: 50%; width: 2px; height: 22px; background-color: var(--line-color);
}
/* Filhos Desktop */
.org-col { display: flex; flex-direction: column; align-items: center; margin: 0 5px; position: relative; flex: 1; }
.org-children { display: flex; flex-direction: row; justify-content: center; gap: 15px; padding-top: 20px; position: relative; width: fit-content; margin: 0 auto; }
.org-children::before { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 2px; height: 20px; background-color: var(--line-color); z-index: 1; }
.org-col.has-children .org-children::after { content: ''; position: absolute; top: 20px; left: 25%; right: 25%; height: 2px; background-color: var(--line-color); z-index: 1; }
.org-children .org-node.child {
    margin-top: 0; background-color: var(--abter-blue); color: var(--abter-text); border: 1px solid var(--line-color); border-top: 3px solid var(--abter-blue);
    min-width: 80px; padding: 8px 5px; font-size: 11px; position: relative;
}
.org-children .org-node.child::before {
    content: ''; position: absolute; top: -22px; left: 50%; width: 2px; height: 22px; background-color: var(--line-color); transform: translateX(-50%);
}

/* =================================================================
   3. ESTILOS DO MOBILE (VERTICAL STRICT HIERARCHY)
   ================================================================= */
.mobile-org-tree {
    padding: 0px;
    font-family: 'Montserrat', sans-serif;
    background: #fff;
}

/* Reset Details/Summary */
summary { list-style: none; cursor: pointer; outline: none; }
summary::-webkit-details-marker { display: none; }

/* CABEÇALHOS (Caixas Clicáveis) */
.node-header {
    background: var(--abter-blue);
    color: var(--abter-text);
    padding: 12px 15px;
    border-radius: 6px;
    margin-bottom: 10px;
    position: relative;
    font-weight: 600;
    z-index: 2;
    border-left: 5px solid var(--abter-gold); /* Destaque Ouro */
    display: flex; justify-content: space-between; align-items: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.node-header small {
    display: block; font-weight: 400; font-size: 0.8em; opacity: 0.8; margin-top: 2px;
}
/* Ícone +/- */
.node-header::after {
    content: '+'; font-size: 1.5em; font-weight: bold; color: var(--abter-gold);
}
details[open] > .node-header::after { content: '-'; }

/* ESTILO ESPECÍFICO PARA NÍVEIS INTERNOS (ABCR/OERB) */
.node-header.sub-header {
    background: #eef3f6; /* Fundo mais claro */
    color: var(--abter-blue);
    border: 1px solid var(--line-color);
    border-left: 5px solid var(--abter-light-blue); /* Destaque Azul Claro */
}
.node-header.sub-header::after { color: var(--abter-blue); }

/* --- A MÁGICA DA CONEXÃO (LINHAS) --- */
.node-children {
    padding-left: 20px; /* Afastamento do Pai */
    margin-left: 15px;  /* Posição da Linha */
    border-left: 2px solid var(--line-color); /* A LINHA VERTICAL CONTÍNUA */
    position: relative;
}
.node-children.stick-left {
    margin-top: -5px; padding-top: 15px; padding-bottom: 5px;
}

/* CAIXAS FINAIS (Folhas) */
.tree-leaf {
    background: #fff;
    border: 1px solid var(--line-color);
    color: var(--abter-blue);
    padding: 12px;
    margin-bottom: 12px;
    border-radius: 4px;
    position: relative;
    font-size: 0.9em;
    font-weight: 600;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.tree-leaf small {
    display: block; color: #666; font-size: 0.85em; margin-top: 2px; font-weight: 400;
}
.tree-leaf.final {
    border-left: 3px solid var(--abter-gold); /* Detalhe nos netos */
    font-size: 0.85em;
}

/* CONECTORES HORIZONTAIS (Traço que liga a linha vertical à caixa) */
.tree-leaf::before, 
.tree-node.level-3::before { 
    content: '';
    position: absolute;
    left: -22px; /* Vai até a linha vertical */
    top: 50%;
    width: 20px;
    height: 2px;
    background: var(--line-color);
}
/* Ajuste de conector para nós que abrem (ABCR/OERB) */
.tree-node.level-3 { position: relative; margin-bottom: 12px; }
.tree-node.level-3::before { top: 24px; } /* Alinha com o cabeçalho */

/* GRUPOS VISUAIS (Títulos cinzas) */
.group-label {
    font-size: 0.75em; text-transform: uppercase; color: #999;
    margin: 5px 0 10px 0; padding-left: 5px; letter-spacing: 1px; font-weight: bold;
}
.group-separator {
    margin: 15px 0; border-bottom: 1px dashed #e0e0e0;
    width: 100%; opacity: 0.5;
}/* End custom CSS */