.elementor-5798 .elementor-element.elementor-element-0654017{--display:flex;--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;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-5798 .elementor-element.elementor-element-62ceef6{text-align:center;}.elementor-5798 .elementor-element.elementor-element-62ceef6 .elementor-heading-title{font-size:36px;font-weight:700;line-height:50px;word-spacing:2px;color:#070BB3;}.elementor-5798 .elementor-element.elementor-element-33ba053{--display:flex;}/* Start custom CSS for container, class: .elementor-element-33ba053 *//* INÍCIO DO CÓDIGO CSS PARA O ELEMENTOR */

/* --- ESTILOS GERAIS DA INTERFACE --- */
#meu-portfolio-abnt {
    font-family: Arial, sans-serif;
    background-color: #f0f0f0;
    padding: 20px 0;
}
#meu-portfolio-abnt .tab-nav {
    overflow: hidden;
    background-color: #333;
    border-radius: 8px 8px 0 0;
    max-width: 21cm;
    margin: 0 auto;
}
#meu-portfolio-abnt .tab-nav button {
    background-color: inherit;
    float: left;
    border: none;
    outline: none;
    cursor: pointer;
    padding: 14px 16px;
    transition: 0.3s;
    font-size: 17px;
    color: white;
}
#meu-portfolio-abnt .tab-nav button:hover {
    background-color: #555;
}
#meu-portfolio-abnt .tab-nav button.active {
    background-color: #007bff;
}
#meu-portfolio-abnt .tab-content {
    display: none;
    background-color: #f0f0f0;
    padding: 0;
}
#meu-portfolio-abnt .instructions {
    background-color: #fffde7;
    border: 1px solid #fbc02d;
    padding: 15px;
    margin: 2cm auto 0 auto;
    max-width: 21cm;
    text-align: center;
    font-size: 11pt;
    box-sizing: border-box;
}

/* --- ESTILOS DO PORTFÓLIO (ABNT) --- */
#meu-portfolio-abnt .page {
    font-family: Arial, sans-serif;
    font-size: 12pt;
    line-height: 1.5;
    background-color: white;
    width: 21cm;
    height: 29.7cm;
    margin: 0 auto 2cm auto;
    padding: 3cm 2cm 2cm 3cm;
    position: relative;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
    page-break-after: always;
}
#meu-portfolio-abnt .pre-text .page-number { display: none; }
#meu-portfolio-abnt .cover-page { display: flex; flex-direction: column; justify-content: space-between; padding: 3cm 2cm 2cm 3cm; text-align: center; }
#meu-portfolio-abnt .cover-content { flex-grow: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; }
#meu-portfolio-abnt .cover-footer { text-align: center; }
#meu-portfolio-abnt h1, #meu-portfolio-abnt h2 { font-size: 12pt; margin: 0; padding: 0; font-weight: normal; }
#meu-portfolio-abnt .secao-primaria, #meu-portfolio-abnt .secao-secundaria { font-weight: bold; color: black; line-height: 1.5; margin-top: 1.5em; margin-bottom: 1.5em; text-align: left; }
#meu-portfolio-abnt .secao-primaria { text-transform: uppercase; }
#meu-portfolio-abnt .secao-secundaria { text-transform: none; }
#meu-portfolio-abnt p { text-align: justify; text-indent: 1.25cm; margin: 0; padding: 0; }
#meu-portfolio-abnt .secao-primaria + p, #meu-portfolio-abnt .secao-secundaria + p { text-indent: 0; }
#meu-portfolio-abnt p + p { margin-top: 0.5em; }
#meu-portfolio-abnt ul { padding-left: calc(1.25cm + 2em); margin: 0; }
#meu-portfolio-abnt li { text-align: justify; padding-bottom: 0.5em; }
#meu-portfolio-abnt blockquote { font-size: 10pt; line-height: 1.2; margin-left: 4cm; margin-right: 0; padding: 0; border: none; text-align: justify; }
#meu-portfolio-abnt .page-number { position: absolute; top: 2cm; right: 2cm; font-size: 10pt; font-family: Arial, sans-serif; }
#meu-portfolio-abnt #sumario .secao-primaria, #meu-portfolio-abnt #referencias .secao-primaria { text-align: center; }
#meu-portfolio-abnt .sumario-table { width: 100%; border-collapse: collapse; margin-top: 30px; }
#meu-portfolio-abnt .sumario-table td { padding: 8px 0; line-height: 1.5; }
#meu-portfolio-abnt .sumario-dots { border-bottom: 1px dotted black; flex-grow: 1; margin: 0 5px; }
#meu-portfolio-abnt .sumario-entry { display: flex; justify-content: space-between; width: 100%; }
#meu-portfolio-abnt #referencias p { text-align: left; text-indent: 0; line-height: 1.0; margin-bottom: 1.5em; }

/* --- ESTILOS DO EDITOR E CÓDIGO --- */
#meu-portfolio-abnt .editable { background-color: #e3f2fd; border: 1px dashed #90caf9; padding: 2px; cursor: text; transition: background-color 0.3s; }
#meu-portfolio-abnt .editable:hover { background-color: #bbdefb; }
#meu-portfolio-abnt #code-container {
    background-color: #282c34;
    color: #abb2bf;
    font-family: 'Courier New', Courier, monospace;
    font-size: 10pt;
    padding: 20px;
    border-radius: 8px;
    white-space: pre-wrap;
    word-wrap: break-word;
    max-height: 80vh;
    overflow-y: auto;
    max-width: 21cm;
    margin: 2cm auto;
    box-sizing: border-box;
}

/* --- ESTILOS DE IMPRESSÃO --- */
@media print {
    body > *:not(#meu-portfolio-abnt) {
        display: none; /* Esconde todo o resto do site ao imprimir */
    }
    #meu-portfolio-abnt, #meu-portfolio-abnt .page {
        margin: 0;
        padding: 0;
        box-shadow: none;
        width: auto;
        height: auto;
    }
    #meu-portfolio-abnt .page {
        padding: 3cm 2cm 2cm 3cm; /* Garante as margens na impressão */
    }
    #meu-portfolio-abnt .tab-nav, #meu-portfolio-abnt .tab-content:not(.active), #meu-portfolio-abnt .instructions { 
        display: none; 
    }
    #meu-portfolio-abnt .editable { 
        background-color: transparent; 
        border: none; 
    }
}

/* FIM DO CÓDIGO CSS PARA O ELEMENTOR *//* End custom CSS */