/* ==========================================================
   THEOREMA INFINITUM JOURNAL
   SISTEMA VISUAL UNIFICADO — OJS 3.5
   Versão acadêmica, profissional e responsiva
   ========================================================== */

/* ----------------------------------------------------------
   1. FONTES E TOKENS
   ---------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Source+Serif+4:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Inter:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap');

:root {
    --ti-navy-950: #050713;
    --ti-navy-900: #0b1028;
    --ti-navy-800: #11183c;
    --ti-blue-700: #1f2f70;
    --ti-blue-600: #2a40a0;
    --ti-blue-100: #edf1ff;

    --ti-ink: #111827;
    --ti-text: #303643;
    --ti-muted: #64748b;
    --ti-muted-2: #7c8493;

    --ti-bg: #ffffff;
    --ti-bg-soft: #f7f8fb;
    --ti-bg-soft-2: #fbfbfd;

    --ti-line: #dce1ea;
    --ti-line-soft: #e9edf3;

    --ti-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
    --ti-body: 'Source Serif 4', Georgia, 'Times New Roman', serif;
    --ti-ui: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --ti-mono: 'Space Mono', 'IBM Plex Mono', 'Courier New', monospace;

    --ti-reading: 76ch;
    --ti-page: 1180px;
    --ti-article: 820px;
    --ti-sidebar: 270px;

    --ti-radius: 3px;
    --ti-shadow-soft: 0 8px 26px rgba(5, 7, 19, 0.08);

    --ti-fast: 120ms;
    --ti-mid: 190ms;
}

/* aliases para compatibilidade com o CSS antigo */
:root {
    --ink: var(--ti-ink);
    --ink-soft: var(--ti-text);
    --canvas: var(--ti-bg);
    --ink-caption: var(--ti-muted);
    --hairline: var(--ti-line);
    --accent: var(--ti-blue-700);
    --accent-light: var(--ti-blue-600);
    --accent-dark: var(--ti-navy-950);
    --accent-deep: var(--ti-navy-900);
    --footer-bg: var(--ti-navy-950);
    --font-display: var(--ti-display);
    --font-body: var(--ti-body);
    --font-ui: var(--ti-ui);
    --font-mono: var(--ti-mono);
}

/* ----------------------------------------------------------
   2. BASE / RESET
   ---------------------------------------------------------- */

html {
    width: 100% !important;
    max-width: 100% !important;
    scroll-behavior: smooth;
}

body {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow-x: hidden !important;
    background: var(--ti-bg) !important;
    color: var(--ti-text) !important;
    font-family: var(--ti-body) !important;
    font-size: 16.5px !important;
    line-height: 1.68 !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

img,
svg,
video,
iframe {
    max-width: 100%;
}

img {
    height: auto;
}

::selection {
    background: var(--ti-blue-100);
    color: var(--ti-navy-950);
}

:focus-visible {
    outline: 3px solid var(--ti-blue-600) !important;
    outline-offset: 3px !important;
}

/* ----------------------------------------------------------
   3. TIPOGRAFIA GLOBAL
   ---------------------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--ti-ink) !important;
    text-wrap: balance;
}

h1 {
    margin: 0 0 24px !important;
    font-family: var(--ti-display) !important;
    font-size: clamp(32px, 4.2vw, 50px) !important;
    font-weight: 400 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.45px !important;
}

h2 {
    margin: 38px 0 16px !important;
    padding: 0 0 9px !important;
    border: 0 !important;
    border-bottom: 1.5px solid var(--ti-ink) !important;
    font-family: var(--ti-ui) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.25px !important;
    text-transform: none !important;
}

h3 {
    margin: 30px 0 12px !important;
    font-family: var(--ti-display) !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.15px !important;
}

h4 {
    margin: 24px 0 10px !important;
    font-family: var(--ti-ui) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: 0.35px !important;
    text-transform: uppercase !important;
}

p {
    margin: 0 0 1.05em !important;
    font-family: var(--ti-body) !important;
    font-size: 16.5px !important;
    line-height: 1.72 !important;
    color: var(--ti-text) !important;
    text-align: left !important;
}

.pkp_structure_main p {
    max-width: var(--ti-reading);
}

.pkp_structure_main ul,
.pkp_structure_main ol {
    line-height: 1.65 !important;
}

.pkp_structure_main li {
    margin-bottom: 0.5em;
}

small,
.small {
    font-family: var(--ti-ui) !important;
    color: var(--ti-muted) !important;
}

/* ----------------------------------------------------------
   4. LINKS
   ---------------------------------------------------------- */

a {
    color: var(--ti-blue-700) !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 3px !important;
}

a:hover {
    color: var(--ti-blue-600) !important;
}

.pkp_structure_main a:not(.cmp_button):not(.pkp_button):not(.obj_galley_link):not(.read_more) {
    text-decoration: underline;
}

.pkp_navigation_primary a,
.pkp_navigation_user a,
.pkp_site_name a,
.pkp_breadcrumbs a,
.obj_article_summary .title a,
.obj_issue_summary .title a,
.obj_issue_toc .title a,
.theorema-buttons a {
    text-decoration: none !important;
}

/* ----------------------------------------------------------
   5. ESTRUTURA GERAL
   ---------------------------------------------------------- */

.pkp_structure_page {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    background: var(--ti-bg) !important;
}

.pkp_structure_content {
    width: 100% !important;
    max-width: var(--ti-page) !important;
    margin: 0 auto !important;
    padding: 0 28px !important;
    align-items: flex-start !important;
}

.pkp_structure_main {
    min-width: 0 !important;
    background: var(--ti-bg) !important;
    padding: 46px 44px 64px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.pkp_structure_main:only-child {
    width: 100% !important;
    max-width: 960px !important;
    margin: 0 auto !important;
}

/* ----------------------------------------------------------
   6. CABEÇALHO / IDENTIDADE
   ---------------------------------------------------------- */

#pkp_content_header,
.pkp_structure_head,
.site_header,
.pkp_head_wrapper,
.pkp_site_name_wrapper,
.pkp_site_nav_menu,
.pkp_navigation_primary_row {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

.pkp_structure_head::before,
header#pkp_content_header::before {
    content: '' !important;
    display: block !important;
    width: 100% !important;
    height: 3px !important;
    background: var(--ti-blue-700) !important;
}

.pkp_head_wrapper {
    position: relative !important;
    padding: 0 !important;
    background-image:
        linear-gradient(rgba(5, 7, 19, 0.62), rgba(5, 7, 19, 0.62)),
        url('https://theoremainfinitum.com/imagens/galaxia.png') !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: var(--ti-navy-950) !important;
}

.pkp_site_name_wrapper {
    background: transparent !important;
}

.pkp_site_name {
    width: 100% !important;
    min-height: 190px !important;
    padding: 42px 24px 34px !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    background: transparent !important;
    position: relative !important;
}

.pkp_site_name a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    font-family: var(--ti-display) !important;
    font-weight: 600 !important;
}

.pkp_site_name img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: min(90vw, 950px) !important;
    max-height: 190px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    filter:
        drop-shadow(0 0 6px rgba(255,255,255,0.50))
        drop-shadow(0 4px 14px rgba(0,0,0,0.46)) !important;
}

/* ISSN visível e discreto */
.pkp_site_name::after {
    content: "ISSN 3086-6359" !important;
    display: block !important;
    margin-top: 11px !important;
    color: rgba(255,255,255,0.90) !important;
    font-family: var(--ti-mono) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 1.15px !important;
    text-align: center !important;
    text-shadow: 0 2px 5px rgba(0,0,0,0.60) !important;
}

/* ----------------------------------------------------------
   7. NAVEGAÇÃO DO USUÁRIO
   ---------------------------------------------------------- */

.pkp_navigation_user_wrapper,
.pkp_navigation_user {
    position: absolute !important;
    top: 13px !important;
    right: 22px !important;
    z-index: 50 !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.pkp_navigation_user ul,
.pkp_navigation_user li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.pkp_navigation_user a,
.pkp_navigation_user li > a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 32px !important;
    padding: 8px 13px !important;
    border: 1px solid rgba(255,255,255,0.56) !important;
    border-radius: 0 !important;
    background: rgba(5, 7, 19, 0.36) !important;
    color: #ffffff !important;
    font-family: var(--ti-ui) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0.55px !important;
    text-transform: uppercase !important;
}

.pkp_navigation_user a:hover,
.pkp_navigation_user li > a:hover {
    background: #ffffff !important;
    color: var(--ti-blue-700) !important;
    border-color: #ffffff !important;
}

/* ----------------------------------------------------------
   8. NAVEGAÇÃO PRINCIPAL
   ---------------------------------------------------------- */

.pkp_site_nav_toggle {
    display: none !important;
}

.pkp_navigation_primary_wrapper {
    width: 100% !important;
    min-height: 43px !important;
    padding: 0 36px !important;
    display: flex !important;
    align-items: stretch !important;
    background: var(--ti-navy-950) !important;
    border-top: 1px solid rgba(255,255,255,0.05) !important;
    border-bottom: 2px solid var(--ti-blue-700) !important;
}

.pkp_navigation_primary {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.pkp_navigation_primary > li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.pkp_navigation_primary > li + li {
    border-left: 1px solid rgba(255,255,255,0.08) !important;
}

.pkp_navigation_primary > li > a {
    display: block !important;
    min-height: 41px !important;
    padding: 14px 14px 12px !important;
    color: rgba(255,255,255,0.88) !important;
    background: transparent !important;
    font-family: var(--ti-ui) !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: 0.45px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    box-shadow: inset 0 -3px 0 transparent !important;
    transition: background var(--ti-fast), color var(--ti-fast), box-shadow var(--ti-fast) !important;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus-visible {
    color: #ffffff !important;
    background: rgba(255,255,255,0.04) !important;
    box-shadow: inset 0 -3px 0 var(--ti-blue-600) !important;
}

.pkp_navigation_primary .dropdown-menu {
    min-width: 230px !important;
    padding: 5px 0 !important;
    margin-top: 0 !important;
    background: var(--ti-navy-950) !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    border-top: 0 !important;
    border-bottom: 2px solid var(--ti-blue-600) !important;
    border-radius: 0 !important;
    box-shadow: 0 12px 28px rgba(0,0,0,0.34) !important;
}

.pkp_navigation_primary .dropdown-menu li {
    margin: 0 !important;
    padding: 0 !important;
    border-top: 1px solid rgba(255,255,255,0.07) !important;
}

.pkp_navigation_primary .dropdown-menu li:first-child {
    border-top: 0 !important;
}

.pkp_navigation_primary .dropdown-menu li a {
    display: block !important;
    padding: 11px 17px !important;
    color: rgba(255,255,255,0.86) !important;
    background: transparent !important;
    font-family: var(--ti-ui) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: 0.1px !important;
    text-transform: none !important;
    white-space: normal !important;
}

.pkp_navigation_primary .dropdown-menu li a:hover {
    background: #ffffff !important;
    color: var(--ti-blue-700) !important;
}

/* busca no menu */
.pkp_navigation_search_wrapper {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    padding-left: 15px !important;
    margin-left: 0 !important;
    border-left: 1px solid rgba(255,255,255,0.10) !important;
}

.pkp_navigation_search_wrapper .pkp_search,
.pkp_navigation_search_wrapper a {
    color: rgba(255,255,255,0.90) !important;
    font-family: var(--ti-ui) !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.45px !important;
    text-transform: uppercase !important;
}

/* ----------------------------------------------------------
   9. BREADCRUMBS
   ---------------------------------------------------------- */

.pkp_breadcrumbs {
    margin: 0 0 30px !important;
    padding: 0 0 11px !important;
    border-bottom: 1px solid var(--ti-line-soft) !important;
    color: var(--ti-muted) !important;
    font-family: var(--ti-ui) !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
}

.pkp_breadcrumbs a {
    color: var(--ti-muted) !important;
    font-weight: 500 !important;
}

.pkp_breadcrumbs a:hover {
    color: var(--ti-blue-700) !important;
}

/* ----------------------------------------------------------
   10. BOTÕES
   ---------------------------------------------------------- */

.cmp_button,
.cmp_form .buttons button,
button[type="submit"],
.pkp_button,
input[type="submit"],
a.read_more {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    padding: 10px 18px !important;
    border: 1.5px solid var(--ti-blue-700) !important;
    border-radius: 0 !important;
    background: var(--ti-blue-700) !important;
    color: #ffffff !important;
    font-family: var(--ti-ui) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.35px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: background var(--ti-fast), color var(--ti-fast), border-color var(--ti-fast) !important;
}

.cmp_button:hover,
.cmp_form .buttons button:hover,
button[type="submit"]:hover,
.pkp_button:hover,
input[type="submit"]:hover,
a.read_more:hover {
    background: #ffffff !important;
    color: var(--ti-blue-700) !important;
    border-color: var(--ti-blue-700) !important;
    text-decoration: none !important;
}

/* ----------------------------------------------------------
   11. SIDEBAR
   ---------------------------------------------------------- */

.pkp_structure_sidebar {
    flex: 0 0 var(--ti-sidebar) !important;
    width: var(--ti-sidebar) !important;
    padding: 46px 0 52px 27px !important;
    margin: 0 !important;
    background: transparent !important;
    border-left: 1px solid var(--ti-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.pkp_structure_sidebar .pkp_block {
    width: 100% !important;
    margin: 0 0 30px !important;
    padding: 0 0 25px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ti-line) !important;
    background: transparent !important;
    box-shadow: none !important;
}

.pkp_structure_sidebar h2,
.pkp_structure_sidebar h3,
.pkp_structure_sidebar .title {
    margin: 0 0 13px !important;
    padding: 0 0 8px !important;
    border: 0 !important;
    border-bottom: 2px solid var(--ti-blue-700) !important;
    color: var(--ti-ink) !important;
    font-family: var(--ti-ui) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.65px !important;
    text-transform: uppercase !important;
}

.pkp_structure_sidebar p,
.pkp_structure_sidebar li,
.pkp_structure_sidebar a {
    font-family: var(--ti-ui) !important;
    font-size: 12.5px !important;
    line-height: 1.55 !important;
}

.pkp_structure_sidebar ul {
    margin: 0 !important;
    padding-left: 18px !important;
}

/* suporte a blocos de métricas que venham a ser adicionados */
.theorema-metrics {
    margin: 0 !important;
}

.theorema-metric-card {
    margin: 0 0 9px !important;
    padding: 13px 14px !important;
    border: 1px solid var(--ti-line) !important;
    background: var(--ti-bg-soft-2) !important;
    border-radius: var(--ti-radius) !important;
}

.theorema-metric-label {
    display: block !important;
    margin-bottom: 3px !important;
    color: var(--ti-muted) !important;
    font-family: var(--ti-mono) !important;
    font-size: 8.5px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.55px !important;
    text-transform: uppercase !important;
}

.theorema-metric-value {
    color: var(--ti-navy-900) !important;
    font-family: var(--ti-ui) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
}

/* ----------------------------------------------------------
   12. HOME — HERO
   ---------------------------------------------------------- */

.theorema-hero {
    position: relative !important;
    margin: 0 0 0 !important;
    padding: 52px 48px 50px !important;
    overflow: hidden !important;
    background:
        linear-gradient(135deg, var(--ti-navy-950), var(--ti-navy-900)) !important;
    color: #ffffff !important;
    border: 0 !important;
    border-top: 3px solid var(--ti-blue-600) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.theorema-hero::before {
    content: 'MATHEMATICS · EDUCATION · EXACT SCIENCES' !important;
    display: block !important;
    margin-bottom: 15px !important;
    color: rgba(255,255,255,0.62) !important;
    font-family: var(--ti-mono) !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: 1.25px !important;
    text-transform: uppercase !important;
}

.theorema-hero h1 {
    max-width: 800px !important;
    margin: 0 0 15px !important;
    color: #ffffff !important;
    font-size: clamp(38px, 5vw, 61px) !important;
    line-height: 1.02 !important;
}

.theorema-hero p {
    max-width: 650px !important;
    margin: 0 !important;
    color: rgba(255,255,255,0.83) !important;
    font-family: var(--ti-body) !important;
    font-size: 17.5px !important;
    line-height: 1.62 !important;
}

.theorema-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
    margin-top: 24px !important;
}

.theorema-buttons a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 41px !important;
    padding: 10px 18px !important;
    border: 1px solid rgba(255,255,255,0.58) !important;
    background: transparent !important;
    color: #ffffff !important;
    font-family: var(--ti-ui) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    text-transform: uppercase !important;
}

.theorema-buttons a:hover {
    background: #ffffff !important;
    color: var(--ti-navy-900) !important;
    border-color: #ffffff !important;
}

/* ----------------------------------------------------------
   13. HOME — CARDS
   ---------------------------------------------------------- */

.theorema-cards {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    margin: 0 0 38px !important;
    border-top: 1px solid var(--ti-line) !important;
    border-bottom: 1px solid var(--ti-line) !important;
    background: var(--ti-bg) !important;
}

.theorema-card {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 30px 32px 32px !important;
    border: 0 !important;
    border-right: 1px solid var(--ti-line) !important;
    background: #ffffff !important;
    box-shadow: none !important;
    transition: background var(--ti-fast) !important;
}

.theorema-card:last-child {
    border-right: 0 !important;
}

.theorema-card:hover {
    background: var(--ti-bg-soft-2) !important;
}

.theorema-card h3 {
    margin: 0 0 11px !important;
    color: var(--ti-ink) !important;
    font-size: 23px !important;
    font-weight: 500 !important;
}

.theorema-card p {
    max-width: 31ch !important;
    margin: 0 !important;
    color: var(--ti-muted) !important;
    font-size: 15.5px !important;
    line-height: 1.62 !important;
}

/* ----------------------------------------------------------
   14. HOME / EDIÇÃO ATUAL
   ---------------------------------------------------------- */

.pkp_page_index .page_index_journal {
    max-width: 930px !important;
    margin: 0 auto 36px !important;
    padding: 28px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--ti-line) !important;
    background: transparent !important;
}

.pkp_page_index .current_issue {
    margin-top: 34px !important;
    padding-top: 0 !important;
    border-top: 0 !important;
}

.pkp_page_index .current_issue > h2 {
    margin-top: 0 !important;
}

/* ----------------------------------------------------------
   15. PÁGINAS INSTITUCIONAIS / POLÍTICAS
   ---------------------------------------------------------- */

.pagina-theorema,
.pkp_page_about .pkp_structure_main,
.pkp_page_contact .pkp_structure_main,
.pkp_op_contact .pkp_structure_main {
    max-width: 920px !important;
}

.pagina-theorema {
    margin: 0 auto !important;
    padding: 4px 0 24px !important;
    color: var(--ti-text) !important;
    background: transparent !important;
}

.pagina-theorema h1 {
    margin-bottom: 28px !important;
    padding-bottom: 15px !important;
    border-bottom: 2px solid var(--ti-ink) !important;
}

.pagina-theorema h2 {
    margin-top: 36px !important;
}

.pagina-theorema p,
.pagina-theorema ul,
.pagina-theorema ol {
    max-width: var(--ti-reading) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.pagina-theorema ul,
.pagina-theorema ol {
    padding-left: 24px !important;
}

/* Taxas: mantém como conteúdo acadêmico, sem aspecto de e-commerce */
.theorema-card-taxas {
    max-width: var(--ti-reading) !important;
    margin: 26px 0 !important;
    padding: 22px 24px !important;
    background: var(--ti-bg-soft) !important;
    border: 1px solid var(--ti-line) !important;
    border-left: 3px solid var(--ti-blue-700) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.theorema-card-taxas h2 {
    margin-top: 0 !important;
}

.lista-taxas {
    margin: 14px 0 0 !important;
    padding-left: 21px !important;
    list-style: disc !important;
}

.lista-taxas li {
    display: list-item !important;
    margin-bottom: 8px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.lista-taxas li span,
.lista-taxas li strong {
    font-family: var(--ti-body) !important;
    font-size: 16px !important;
    color: var(--ti-text) !important;
}

/* ORCID e Lattes em equipes/editoriais */
.pkp_structure_main a[href*="orcid.org"],
.pkp_structure_main a[href*="lattes.cnpq.br"] {
    overflow-wrap: anywhere !important;
}

/* ----------------------------------------------------------
   16. LISTAS E BLOCOS DE CONTEÚDO
   ---------------------------------------------------------- */

.pkp_structure_main blockquote {
    max-width: var(--ti-reading) !important;
    margin: 25px 0 !important;
    padding: 17px 22px !important;
    border-left: 3px solid var(--ti-blue-700) !important;
    background: var(--ti-bg-soft) !important;
    color: var(--ti-text) !important;
}

.pkp_structure_main hr {
    height: 1px !important;
    margin: 34px 0 !important;
    border: 0 !important;
    background: var(--ti-line) !important;
}

/* ----------------------------------------------------------
   17. PÁGINA DA EDIÇÃO / SUMÁRIO
   ---------------------------------------------------------- */

.pkp_page_issue .pkp_structure_main {
    max-width: 100% !important;
}

.pkp_page_issue .obj_issue_toc {
    margin-top: 0 !important;
}

.pkp_page_issue .obj_issue_toc .heading {
    margin: 0 0 34px !important;
    padding: 0 0 27px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ti-line) !important;
    background: transparent !important;
}

.pkp_page_issue .obj_issue_toc .heading .title,
.pkp_page_issue .obj_issue_toc > .title {
    margin: 0 0 14px !important;
    font-family: var(--ti-display) !important;
    font-size: clamp(30px, 3.3vw, 42px) !important;
    font-weight: 400 !important;
    line-height: 1.12 !important;
    color: var(--ti-ink) !important;
}

.pkp_page_issue .obj_issue_toc .cover {
    margin: 0 0 24px !important;
}

.pkp_page_issue .obj_issue_toc .cover img {
    max-width: 220px !important;
    border: 1px solid var(--ti-line) !important;
    box-shadow: var(--ti-shadow-soft) !important;
}

.pkp_page_issue .obj_issue_toc .description,
.pkp_page_issue .obj_issue_toc .description p {
    max-width: var(--ti-reading) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    color: var(--ti-text) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

.pkp_page_issue .obj_issue_toc .published,
.pkp_page_issue .obj_issue_toc .series {
    color: var(--ti-muted) !important;
    font-family: var(--ti-mono) !important;
    font-size: 9.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.65px !important;
    text-transform: uppercase !important;
}

.pkp_page_issue .obj_issue_toc .section > h2,
.pkp_page_issue .obj_issue_toc .section h2 {
    margin: 36px 0 0 !important;
    padding: 0 0 10px !important;
    border: 0 !important;
    border-bottom: 2px solid var(--ti-ink) !important;
    color: var(--ti-ink) !important;
    font-family: var(--ti-ui) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.85px !important;
    text-transform: uppercase !important;
}

/* ----------------------------------------------------------
   18. LISTAGEM DOS ARTIGOS
   ---------------------------------------------------------- */

.obj_article_summary,
.pkp_page_issue .obj_article_summary {
    position: relative !important;
    display: block !important;
    margin: 0 !important;
    padding: 20px 0 22px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ti-line-soft) !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.pkp_page_issue .obj_article_summary:first-child {
    border-top: 0 !important;
}

.pkp_page_issue .obj_article_summary:last-child {
    border-bottom: 2px solid var(--ti-ink) !important;
}

.obj_article_summary .section {
    display: none !important;
}

.obj_article_summary .title {
    max-width: 880px !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
    border: 0 !important;
    font-family: var(--ti-display) !important;
    font-size: clamp(19px, 2vw, 23px) !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.15px !important;
}

.obj_article_summary .title a {
    color: var(--ti-ink) !important;
    font-family: var(--ti-display) !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

.obj_article_summary .title a:hover {
    color: var(--ti-blue-700) !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
}

.obj_article_summary .authors {
    max-width: 850px !important;
    margin: 0 110px 7px 0 !important;
    color: var(--ti-muted) !important;
    font-family: var(--ti-ui) !important;
    font-size: 12.8px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
}

.obj_article_summary .pages,
.obj_article_summary .published,
.obj_article_summary .series {
    color: var(--ti-muted-2) !important;
    font-family: var(--ti-mono) !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: 0.4px !important;
    text-transform: uppercase !important;
}

.pkp_page_issue .obj_article_summary .pages {
    position: absolute !important;
    right: 0 !important;
    bottom: 31px !important;
    white-space: nowrap !important;
}

.obj_article_summary .abstract {
    display: none !important;
}

/* DOI na listagem, quando o template disponibilizar o elemento */
.obj_article_summary .doi,
.obj_article_summary .pub-id,
.obj_article_summary .pub_id {
    display: block !important;
    margin: 0 0 7px !important;
    color: var(--ti-muted) !important;
    font-family: var(--ti-ui) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.obj_article_summary .doi a,
.obj_article_summary .pub-id a,
.obj_article_summary .pub_id a {
    color: var(--ti-blue-700) !important;
    text-decoration: none !important;
}

/* galleys na listagem */
.obj_article_summary .galleys,
.obj_article_summary .galley_links,
.obj_article_summary .galleys_links {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin: 9px 0 0 !important;
    padding: 0 !important;
}

.obj_article_summary .galleys ul,
.obj_article_summary .galley_links,
.obj_article_summary .galleys_links {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.obj_article_summary .galleys li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.obj_article_summary .obj_galley_link,
.obj_article_summary .galleys a,
.obj_article_summary .galley_links a,
.obj_article_summary .galleys_links a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 33px !important;
    padding: 8px 13px !important;
    margin: 0 !important;
    background: var(--ti-blue-700) !important;
    color: #ffffff !important;
    border: 1px solid var(--ti-blue-700) !important;
    border-radius: 0 !important;
    font-family: var(--ti-mono) !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.obj_article_summary .obj_galley_link:hover,
.obj_article_summary .galleys a:hover,
.obj_article_summary .galley_links a:hover,
.obj_article_summary .galleys_links a:hover {
    background: #ffffff !important;
    color: var(--ti-blue-700) !important;
}

/* ----------------------------------------------------------
   19. ARQUIVOS / ISSUES
   ---------------------------------------------------------- */

.issues_archive {
    margin: 0 !important;
    padding: 0 !important;
}

.obj_issue_summary {
    margin: 0 !important;
    padding: 25px 0 28px !important;
    border-bottom: 1px solid var(--ti-line) !important;
    background: transparent !important;
}

.obj_issue_summary:first-child {
    border-top: 1px solid var(--ti-line) !important;
}

.obj_issue_summary .title {
    margin-bottom: 9px !important;
    font-family: var(--ti-display) !important;
    font-size: 23px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
}

.obj_issue_summary .title a {
    color: var(--ti-ink) !important;
    text-decoration: none !important;
}

.obj_issue_summary .title a:hover {
    color: var(--ti-blue-700) !important;
}

.obj_issue_summary .cover img {
    max-width: 170px !important;
    border: 1px solid var(--ti-line) !important;
    box-shadow: var(--ti-shadow-soft) !important;
}

.obj_issue_summary .description,
.obj_issue_summary .description p {
    max-width: 68ch !important;
    color: var(--ti-text) !important;
    font-size: 15.5px !important;
}

/* ----------------------------------------------------------
   20. PÁGINA INDIVIDUAL DO ARTIGO
   ---------------------------------------------------------- */

.pkp_page_article .pkp_structure_content {
    max-width: var(--ti-page) !important;
    padding: 0 28px !important;
}

.pkp_page_article .pkp_structure_main {
    flex: 1 1 790px !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 46px 50px 62px !important;
}

.pkp_page_article .pkp_structure_sidebar {
    flex: 0 0 270px !important;
    width: 270px !important;
    padding: 46px 0 48px 26px !important;
    margin: 0 !important;
}

.pkp_page_article .obj_article_details > .page_title,
.pkp_page_article .obj_article_details .page_title,
.pkp_page_article h1.title {
    max-width: var(--ti-article) !important;
    margin: 0 0 19px !important;
    padding: 0 0 20px !important;
    border-bottom: 1px solid var(--ti-line) !important;
    color: var(--ti-ink) !important;
    font-family: var(--ti-display) !important;
    font-size: clamp(31px, 3.5vw, 46px) !important;
    font-weight: 400 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.45px !important;
}

.pkp_page_article .subtitle {
    margin: -6px 0 20px !important;
    color: var(--ti-muted) !important;
    font-family: var(--ti-body) !important;
    font-size: 19px !important;
    line-height: 1.45 !important;
}

.pkp_page_article .authors,
.pkp_page_article .item.authors {
    margin: 0 0 11px !important;
    color: var(--ti-text) !important;
    font-family: var(--ti-ui) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.6 !important;
}

.pkp_page_article .authors a {
    color: var(--ti-blue-700) !important;
    font-weight: 700 !important;
}

.pkp_page_article .author_bios,
.pkp_page_article .author_bios .sub_item,
.pkp_page_article .authors .affiliation,
.pkp_page_article .affiliations {
    color: var(--ti-muted) !important;
    font-family: var(--ti-ui) !important;
    font-size: 12.5px !important;
    line-height: 1.5 !important;
}

/* metadados */
.pkp_page_article .item.issue,
.pkp_page_article .item.published,
.pkp_page_article .item.doi,
.pkp_page_article .item.copyright,
.pkp_page_article .item.statistics {
    margin: 15px 0 0 !important;
    padding: 12px 0 0 !important;
    border-top: 1px solid var(--ti-line-soft) !important;
}

.pkp_page_article .obj_article_details .label,
.pkp_page_article .item.issue .label,
.pkp_page_article .item.published .label,
.pkp_page_article .item.doi .label,
.pkp_page_article .item.copyright .label,
.pkp_page_article .item.statistics .label {
    display: block !important;
    margin-bottom: 5px !important;
    color: var(--ti-muted) !important;
    font-family: var(--ti-mono) !important;
    font-size: 8.5px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.65px !important;
    text-transform: uppercase !important;
}

.pkp_page_article .item.doi a,
.pkp_page_article .pub-id a {
    color: var(--ti-blue-700) !important;
    font-family: var(--ti-ui) !important;
    font-weight: 600 !important;
    overflow-wrap: anywhere !important;
}

/* títulos internos */
.pkp_page_article .obj_article_details h2,
.pkp_page_article .item.abstract > h2,
.pkp_page_article .item.references > h2,
.pkp_page_article .item.citations > h2,
.pkp_page_article .item.author_bios > h2,
.pkp_page_article .item.keywords > h2,
.pkp_page_article .item.galleys > h2 {
    margin: 0 0 14px !important;
    padding: 0 0 8px !important;
    border: 0 !important;
    border-bottom: 1.5px solid var(--ti-ink) !important;
    color: var(--ti-ink) !important;
    font-family: var(--ti-ui) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.75px !important;
    text-transform: uppercase !important;
}

/* resumo */
.pkp_page_article .item.abstract,
.pkp_page_article .abstract {
    max-width: var(--ti-article) !important;
    margin: 28px 0 !important;
    padding: 22px 25px !important;
    background: var(--ti-bg-soft) !important;
    border: 1px solid var(--ti-line) !important;
    border-left: 3px solid var(--ti-blue-700) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.pkp_page_article .item.abstract p,
.pkp_page_article .abstract p {
    max-width: none !important;
    margin-bottom: 0 !important;
    color: var(--ti-text) !important;
    font-size: 16px !important;
    line-height: 1.72 !important;
    text-align: left !important;
    hyphens: none !important;
}

/* palavras-chave */
.pkp_page_article .item.keywords,
.pkp_page_article .keywords {
    margin: 20px 0 28px !important;
    color: var(--ti-muted) !important;
    font-family: var(--ti-ui) !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
}

.pkp_page_article .item.keywords .value {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}

.pkp_page_article .item.keywords .value > span {
    display: inline-flex !important;
    padding: 4px 8px !important;
    background: var(--ti-bg-soft) !important;
    border: 1px solid var(--ti-line) !important;
    border-radius: 999px !important;
    color: var(--ti-text) !important;
}

/* botões de arquivo */
.pkp_page_article .obj_galley_link,
.pkp_page_article .galleys_links a,
.pkp_page_article .item.galleys a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 105px !important;
    min-height: 38px !important;
    margin: 0 7px 7px 0 !important;
    padding: 9px 15px !important;
    border: 1px solid var(--ti-blue-700) !important;
    border-radius: 0 !important;
    background: var(--ti-blue-700) !important;
    color: #ffffff !important;
    font-family: var(--ti-mono) !important;
    font-size: 9.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.pkp_page_article .obj_galley_link:hover,
.pkp_page_article .galleys_links a:hover,
.pkp_page_article .item.galleys a:hover {
    background: #ffffff !important;
    color: var(--ti-blue-700) !important;
}

/* entry details lateral */
.pkp_page_article .entry_details {
    padding: 20px !important;
    border: 1px solid var(--ti-line) !important;
    background: var(--ti-bg-soft-2) !important;
}

/* referências */
.pkp_page_article .item.references,
.pkp_page_article .item.citations,
.pkp_page_article .references {
    margin-top: 30px !important;
}

.pkp_page_article .item.references .value,
.pkp_page_article .item.citations .value,
.pkp_page_article .references {
    color: var(--ti-text) !important;
    font-family: var(--ti-body) !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    text-align: left !important;
    overflow-wrap: anywhere !important;
}

.pkp_page_article .item.references p,
.pkp_page_article .item.citations p,
.pkp_page_article .references p,
.pkp_page_article .item.references li,
.pkp_page_article .item.citations li,
.pkp_page_article .references li {
    max-width: none !important;
    margin: 0 0 0.85em !important;
    padding: 0 !important;
    text-indent: 0 !important;
    line-height: 1.45 !important;
    text-align: left !important;
}

/* ----------------------------------------------------------
   21. FORMULÁRIOS / SUBMISSÃO / LOGIN / CADASTRO
   ---------------------------------------------------------- */

.pkp_page_login .pkp_structure_main,
.pkp_page_register .pkp_structure_main,
.pkp_page_submissions .pkp_structure_main,
.pkp_op_submissions .pkp_structure_main {
    max-width: 850px !important;
    margin: 0 auto !important;
}

.pkp_form,
.cmp_form {
    max-width: 760px !important;
}

.pkp_form label,
.cmp_form label {
    display: block !important;
    margin: 0 0 7px !important;
    color: var(--ti-ink) !important;
    font-family: var(--ti-ui) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

.pkp_form input[type="text"],
.pkp_form input[type="email"],
.pkp_form input[type="password"],
.pkp_form input[type="url"],
.pkp_form input[type="search"],
.pkp_form textarea,
.pkp_form select,
.cmp_form input[type="text"],
.cmp_form input[type="email"],
.cmp_form input[type="password"],
.cmp_form input[type="url"],
.cmp_form textarea,
.cmp_form select {
    width: 100% !important;
    min-height: 42px !important;
    padding: 10px 12px !important;
    border: 1.5px solid #aeb6c4 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: var(--ti-ink) !important;
    font-family: var(--ti-ui) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    box-shadow: none !important;
}

.pkp_form textarea,
.cmp_form textarea {
    min-height: 150px !important;
}

.pkp_form input:focus,
.pkp_form textarea:focus,
.pkp_form select:focus,
.cmp_form input:focus,
.cmp_form textarea:focus,
.cmp_form select:focus {
    border-color: var(--ti-blue-700) !important;
    outline: 3px solid rgba(42,64,160,0.15) !important;
    outline-offset: 1px !important;
}

.pkp_form .description,
.cmp_form .description {
    color: var(--ti-muted) !important;
    font-family: var(--ti-ui) !important;
    font-size: 11.5px !important;
    line-height: 1.5 !important;
}

/* checklists */
.submission_checklist,
.pkp_page_submissions .submission_checklist {
    margin: 24px 0 !important;
    padding: 20px 22px !important;
    border: 1px solid var(--ti-line) !important;
    background: var(--ti-bg-soft) !important;
}

/* notificações */
.pkp_notification,
.pkp_controllers_notification,
.cmp_notification {
    margin: 18px 0 !important;
    padding: 14px 17px !important;
    border: 1px solid var(--ti-line) !important;
    border-left: 3px solid var(--ti-blue-700) !important;
    border-radius: 0 !important;
    background: var(--ti-bg-soft) !important;
    color: var(--ti-text) !important;
    font-family: var(--ti-ui) !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    box-shadow: none !important;
}

/* ----------------------------------------------------------
   22. BUSCA
   ---------------------------------------------------------- */

.pkp_page_search .pkp_structure_main {
    max-width: 950px !important;
}

.pkp_page_search .search_results {
    margin-top: 30px !important;
}

.pkp_page_search .obj_article_summary {
    padding: 18px 0 20px !important;
}

/* ----------------------------------------------------------
   23. TABELAS
   ---------------------------------------------------------- */

.pkp_structure_main table {
    width: 100% !important;
    margin: 24px 0 !important;
    border-collapse: collapse !important;
    color: var(--ti-text) !important;
    font-family: var(--ti-ui) !important;
    font-size: 13px !important;
}

.pkp_structure_main th {
    padding: 10px 12px !important;
    background: var(--ti-navy-900) !important;
    color: #ffffff !important;
    border: 1px solid var(--ti-navy-900) !important;
    font-weight: 700 !important;
    text-align: left !important;
}

.pkp_structure_main td {
    padding: 10px 12px !important;
    border: 1px solid var(--ti-line) !important;
    vertical-align: top !important;
}

.pkp_structure_main tbody tr:nth-child(even) {
    background: var(--ti-bg-soft-2) !important;
}

/* ----------------------------------------------------------
   24. PAGINAÇÃO
   ---------------------------------------------------------- */

.cmp_pagination {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 32px 0 !important;
    padding-top: 15px !important;
    border-top: 1px solid var(--ti-line) !important;
}

.cmp_pagination a,
.cmp_pagination span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 34px !important;
    min-height: 34px !important;
    padding: 6px 8px !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: var(--ti-text) !important;
    font-family: var(--ti-ui) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.cmp_pagination a:hover {
    border-color: var(--ti-blue-700) !important;
    color: var(--ti-blue-700) !important;
}

.cmp_pagination .current,
.cmp_pagination span[aria-current] {
    background: var(--ti-blue-700) !important;
    color: #ffffff !important;
    border-color: var(--ti-blue-700) !important;
}

/* ----------------------------------------------------------
   25. RODAPÉ
   ---------------------------------------------------------- */

.pkp_structure_footer_wrapper {
    margin-top: 0 !important;
    padding: 34px 28px !important;
    background: var(--ti-navy-950) !important;
    color: #ffffff !important;
    border-top: 3px solid var(--ti-blue-700) !important;
}

.pkp_structure_footer {
    max-width: 880px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 20px !important;
    text-align: center !important;
}

.pkp_footer_content,
.pkp_structure_footer .pkp_block {
    width: 100% !important;
    text-align: center !important;
}

.pkp_structure_footer_wrapper p,
.pkp_structure_footer_wrapper li,
.pkp_structure_footer_wrapper span,
.pkp_structure_footer_wrapper address {
    color: rgba(255,255,255,0.88) !important;
    font-family: var(--ti-ui) !important;
    font-size: 12.5px !important;
    line-height: 1.65 !important;
}

.pkp_structure_footer_wrapper a {
    color: #ffffff !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

.pkp_structure_footer_wrapper h2,
.pkp_structure_footer_wrapper h3,
.pkp_structure_footer_wrapper h4 {
    margin: 18px 0 10px !important;
    padding-bottom: 7px !important;
    color: #ffffff !important;
    border-bottom: 1px solid rgba(255,255,255,0.25) !important;
    font-family: var(--ti-ui) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.75px !important;
    text-transform: uppercase !important;
}

.pkp_brand_footer {
    width: 100% !important;
    padding-top: 15px !important;
    border-top: 1px solid rgba(255,255,255,0.16) !important;
    text-align: center !important;
}

.pkp_brand_footer img {
    width: 145px !important;
    max-width: 100% !important;
    opacity: 0.92 !important;
    filter: invert(1) grayscale(1) contrast(1.05) !important;
}

/* ----------------------------------------------------------
   26. TABLET
   ---------------------------------------------------------- */

@media (max-width: 1024px) {
    .pkp_structure_content {
        padding: 0 20px !important;
    }

    .pkp_structure_main {
        padding: 38px 30px 54px !important;
    }

    .pkp_navigation_primary_wrapper {
        padding: 0 18px !important;
    }

    .pkp_navigation_primary > li > a {
        padding-left: 10px !important;
        padding-right: 10px !important;
        font-size: 9.8px !important;
    }

    .pkp_structure_sidebar {
        flex-basis: 235px !important;
        width: 235px !important;
        padding-left: 21px !important;
    }

    .theorema-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .theorema-card:nth-child(2) {
        border-right: 0 !important;
    }

    .theorema-card:nth-child(3) {
        grid-column: 1 / -1 !important;
        border-top: 1px solid var(--ti-line) !important;
        border-right: 0 !important;
    }
}

/* ----------------------------------------------------------
   27. MOBILE
   ---------------------------------------------------------- */

@media (max-width: 768px) {
    html,
    body,
    .pkp_structure_page {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .pkp_head_wrapper {
        min-height: auto !important;
    }

    .pkp_site_name {
        min-height: 150px !important;
        padding: 47px 15px 24px !important;
    }

    .pkp_site_name img {
        max-width: 80vw !important;
        max-height: 82px !important;
    }

    .pkp_site_name::after {
        margin-top: 8px !important;
        font-size: 9.5px !important;
    }

    .pkp_navigation_user_wrapper,
    .pkp_navigation_user {
        top: 9px !important;
        right: 9px !important;
        max-width: calc(100% - 58px) !important;
        gap: 4px !important;
    }

    .pkp_navigation_user a,
    .pkp_navigation_user li > a {
        min-height: 28px !important;
        padding: 6px 8px !important;
        font-size: 8px !important;
    }

    .pkp_site_nav_toggle {
        position: absolute !important;
        top: 9px !important;
        left: 9px !important;
        z-index: 70 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 36px !important;
        height: 36px !important;
        padding: 0 !important;
        background: #ffffff !important;
        border: 1px solid rgba(255,255,255,0.72) !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.28) !important;
    }

    .pkp_site_nav_toggle span {
        font-size: 0 !important;
    }

    .pkp_site_nav_toggle::before {
        content: '☰' !important;
        color: var(--ti-blue-700) !important;
        font-family: var(--ti-ui) !important;
        font-size: 20px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }

    .pkp_site_nav_menu--isOpen .pkp_site_nav_toggle::before {
        content: '×' !important;
        font-size: 25px !important;
    }

    .pkp_navigation_primary_row {
        display: none !important;
        width: 100% !important;
        background: var(--ti-navy-950) !important;
        border-top: 2px solid var(--ti-blue-700) !important;
    }

    .pkp_site_nav_menu--isOpen .pkp_navigation_primary_row {
        display: block !important;
    }

    .pkp_navigation_primary_wrapper {
        width: 100% !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        background: var(--ti-navy-950) !important;
    }

    .pkp_navigation_primary {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        flex-wrap: nowrap !important;
    }

    .pkp_navigation_primary > li {
        width: 100% !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    }

    .pkp_navigation_primary > li + li {
        border-left: 0 !important;
    }

    .pkp_navigation_primary > li > a {
        width: 100% !important;
        min-height: auto !important;
        padding: 13px 20px !important;
        color: rgba(255,255,255,0.92) !important;
        font-size: 11px !important;
        text-align: left !important;
        box-shadow: none !important;
    }

    .pkp_navigation_primary > li > a:hover {
        background: var(--ti-blue-700) !important;
    }

    .pkp_navigation_primary .dropdown-menu {
        position: static !important;
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        background: rgba(31,47,112,0.24) !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .pkp_navigation_primary .dropdown-menu li a {
        padding: 11px 31px !important;
        font-size: 10.5px !important;
    }

    .pkp_navigation_search_wrapper {
        width: 100% !important;
        padding: 13px 20px !important;
        border: 0 !important;
        border-top: 1px solid rgba(255,255,255,0.12) !important;
        background: var(--ti-navy-900) !important;
    }

    .pkp_structure_content {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
    }

    .pkp_structure_main,
    .pkp_page_article .pkp_structure_main {
        width: 100% !important;
        max-width: 100% !important;
        padding: 28px 18px 42px !important;
    }

    .pkp_structure_sidebar,
    .pkp_page_article .pkp_structure_sidebar {
        width: 100% !important;
        margin: 0 !important;
        padding: 28px 18px 36px !important;
        border-left: 0 !important;
        border-top: 1px solid var(--ti-line) !important;
    }

    h1 {
        font-size: 30px !important;
    }

    h2 {
        margin-top: 31px !important;
        font-size: 15px !important;
    }

    h3 {
        font-size: 20px !important;
    }

    p {
        font-size: 16px !important;
        line-height: 1.68 !important;
    }

    .theorema-hero {
        padding: 34px 22px 35px !important;
    }

    .theorema-hero h1 {
        font-size: 32px !important;
    }

    .theorema-hero p {
        font-size: 16px !important;
    }

    .theorema-buttons {
        flex-direction: column !important;
    }

    .theorema-buttons a {
        width: 100% !important;
    }

    .theorema-cards {
        grid-template-columns: 1fr !important;
    }

    .theorema-card,
    .theorema-card:nth-child(2),
    .theorema-card:nth-child(3) {
        grid-column: auto !important;
        padding: 25px 22px !important;
        border: 0 !important;
        border-bottom: 1px solid var(--ti-line) !important;
    }

    .theorema-card:last-child {
        border-bottom: 0 !important;
    }

    .obj_article_summary,
    .pkp_page_issue .obj_article_summary {
        padding: 18px 0 20px !important;
    }

    .obj_article_summary .title {
        max-width: 100% !important;
        font-size: 19px !important;
    }

    .obj_article_summary .authors {
        max-width: 100% !important;
        margin-right: 0 !important;
        font-size: 12.5px !important;
    }

    .pkp_page_issue .obj_article_summary .pages {
        position: static !important;
        display: block !important;
        margin-top: 5px !important;
    }

    .pkp_page_article .obj_article_details > .page_title,
    .pkp_page_article .obj_article_details .page_title,
    .pkp_page_article h1.title {
        font-size: 29px !important;
        line-height: 1.12 !important;
    }

    .pkp_page_article .item.abstract,
    .pkp_page_article .abstract {
        padding: 19px 17px !important;
    }

    .pkp_page_article .entry_details {
        padding: 17px !important;
    }

    .pkp_page_article .obj_galley_link,
    .pkp_page_article .galleys_links a,
    .pkp_page_article .item.galleys a {
        width: auto !important;
        min-width: 92px !important;
    }

    .obj_issue_summary .cover img,
    .pkp_page_issue .obj_issue_toc .cover img {
        max-width: 180px !important;
    }

    .pkp_structure_main table {
        display: block !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .cmp_pagination {
        justify-content: center !important;
    }
}

/* ----------------------------------------------------------
   28. MOBILE PEQUENO
   ---------------------------------------------------------- */

@media (max-width: 480px) {
    .pkp_site_name {
        min-height: 136px !important;
        padding: 43px 12px 20px !important;
    }

    .pkp_site_name img {
        max-width: 84vw !important;
        max-height: 74px !important;
    }

    .pkp_structure_main,
    .pkp_page_article .pkp_structure_main {
        padding: 25px 15px 36px !important;
    }

    .pkp_page_article .obj_article_details > .page_title,
    .pkp_page_article .obj_article_details .page_title,
    .pkp_page_article h1.title {
        font-size: 26px !important;
    }

    .obj_article_summary .obj_galley_link,
    .obj_article_summary .galleys a,
    .pkp_page_article .obj_galley_link,
    .pkp_page_article .galleys_links a,
    .pkp_page_article .item.galleys a {
        font-size: 8.5px !important;
        padding: 8px 11px !important;
    }
}

/* ----------------------------------------------------------
   29. ACESSIBILIDADE / MOVIMENTO
   ---------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ----------------------------------------------------------
   30. IMPRESSÃO
   ---------------------------------------------------------- */

@media print {
    .pkp_structure_head,
    .pkp_navigation_primary_wrapper,
    .pkp_navigation_user_wrapper,
    .pkp_navigation_search_wrapper,
    .pkp_structure_sidebar,
    .pkp_structure_footer_wrapper,
    .theorema-hero,
    .theorema-cards,
    .theorema-buttons,
    .cmp_pagination {
        display: none !important;
    }

    body,
    .pkp_structure_page,
    .pkp_structure_content,
    .pkp_structure_main,
    .pkp_page_article .pkp_structure_main {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #ffffff !important;
        color: #000000 !important;
    }

    a {
        color: #000000 !important;
        text-decoration: none !important;
    }
}


/* ==========================================================
   CORREÇÃO — MENU PRINCIPAL DE FORA A FORA NO DESKTOP
   ========================================================== */

@media (min-width: 769px) {

    /* Remove o recuo lateral herdado pelo OJS */
    .pkp_site_nav_menu,
    .pkp_navigation_primary_row {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        background: var(--ti-navy-950) !important;
    }

    /* Garante que o fundo da barra ocupe toda a largura */
    .pkp_navigation_primary_wrapper {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding-left: 36px !important;
        padding-right: 36px !important;
        background: var(--ti-navy-950) !important;
    }

    /* Evita qualquer limitação de largura do contêiner do cabeçalho */
    .pkp_head_wrapper {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* ==========================================================
   31. MENU DO USUÁRIO — DROPDOWN PROFISSIONAL
   Theorema Infinitum Journal
   ========================================================== */

/* Desktop: mantém RONALDOCC no canto superior direito e
   abre o menu imediatamente abaixo, sem deslocar a logo. */
@media (min-width: 769px) {

    .pkp_navigation_user_wrapper,
    .pkp_navigation_user {
        z-index: 100 !important;
    }

    /* Caixa do menu suspenso */
    .pkp_navigation_user .dropdown-menu {
        position: absolute !important;
        top: 100% !important;
        right: 0 !important;
        left: auto !important;
        min-width: 245px !important;
        width: max-content !important;
        max-width: 310px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;

        background: rgba(5, 7, 19, 0.97) !important;
        border: 1px solid rgba(255,255,255,0.24) !important;
        border-top: 2px solid var(--ti-blue-600) !important;
        border-radius: 2px !important;
        box-shadow: 0 14px 32px rgba(0,0,0,0.42) !important;
    }

    /* Remove estilos herdados do OJS nos itens */
    .pkp_navigation_user .dropdown-menu > li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        border: 0 !important;
        background: transparent !important;
    }

    /* Botões: Painel de controle / Perfil / Sair do sistema */
    .pkp_navigation_user .dropdown-menu > li > a {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        min-height: 52px !important;
        padding: 13px 18px !important;
        gap: 12px !important;

        background: rgba(11, 16, 40, 0.96) !important;
        color: #ffffff !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,0.12) !important;
        border-radius: 0 !important;

        font-family: var(--ti-ui) !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        letter-spacing: 0.45px !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
        white-space: nowrap !important;

        transition: background var(--ti-fast), color var(--ti-fast) !important;
    }

    .pkp_navigation_user .dropdown-menu > li:last-child > a {
        border-bottom: 0 !important;
    }

    /* Área reservada para os ícones */
    .pkp_navigation_user .dropdown-menu > li > a::before {
        content: '' !important;
        display: inline-block !important;
        flex: 0 0 22px !important;
        width: 22px !important;
        height: 22px !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        background-size: 21px 21px !important;
        opacity: 0.96 !important;
    }

    /* Ícone — Painel de controle */
    .pkp_navigation_user .dropdown-menu > li:nth-child(1) > a::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14a8 8 0 0 1 16 0'/%3E%3Cpath d='M6 14h12'/%3E%3Cpath d='M12 14l4-4'/%3E%3Ccircle cx='12' cy='14' r='1.2' fill='%23ffffff' stroke='none'/%3E%3C/svg%3E") !important;
    }

    /* Ícone — Perfil */
    .pkp_navigation_user .dropdown-menu > li:nth-child(2) > a::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M5 20c.7-4 3-6 7-6s6.3 2 7 6'/%3E%3C/svg%3E") !important;
    }

    /* Ícone — Sair do sistema */
    .pkp_navigation_user .dropdown-menu > li:nth-child(3) > a::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v8'/%3E%3Cpath d='M6.35 5.65a8 8 0 1 0 11.3 0'/%3E%3C/svg%3E") !important;
    }

    /* Hover: destaque institucional azul */
    .pkp_navigation_user .dropdown-menu > li > a:hover,
    .pkp_navigation_user .dropdown-menu > li > a:focus-visible {
        background: var(--ti-blue-700) !important;
        color: #ffffff !important;
        border-color: rgba(255,255,255,0.16) !important;
        text-decoration: none !important;
    }
}

/* Celular/tablet pequeno: mantém o comportamento responsivo
   já existente e apenas melhora o dropdown quando aberto. */
@media (max-width: 768px) {
    .pkp_navigation_user .dropdown-menu {
        min-width: 205px !important;
        max-width: calc(100vw - 18px) !important;
        padding: 0 !important;
        background: rgba(5, 7, 19, 0.98) !important;
        border: 1px solid rgba(255,255,255,0.20) !important;
        box-shadow: 0 10px 24px rgba(0,0,0,0.38) !important;
    }

    .pkp_navigation_user .dropdown-menu > li > a {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        min-height: 42px !important;
        padding: 10px 13px !important;
        background: var(--ti-navy-900) !important;
        color: #ffffff !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,0.10) !important;
        font-size: 9px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }
}

/* ==========================================================
   AJUSTE FINO — DROPDOWN COLADO AO BOTÃO ORIGINAL
   Faz o menu abrir imediatamente abaixo do botão RONALDOCC,
   sem parecer uma caixa separada.
   ========================================================== */
@media (min-width: 769px) {
    .pkp_navigation_user > li,
    .pkp_navigation_user .dropdown {
        position: relative !important;
    }

    .pkp_navigation_user .dropdown-menu {
        top: calc(100% - 1px) !important;
        right: 0 !important;
        left: auto !important;
        margin-top: 0 !important;
        border-top: 0 !important;
        border-radius: 0 0 2px 2px !important;
    }

    /* opcional: quando o item estiver ativo/aberto, integra visualmente
       o botão superior ao menu abaixo */
    .pkp_navigation_user .dropdown-menu::before {
        content: '' !important;
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        width: 100% !important;
        height: 1px !important;
        background: rgba(42,64,160,0.65) !important;
        pointer-events: none !important;
    }
}

/* ==========================================================
   AJUSTE FINO — ABRIR MENU DO USUÁRIO NO HOVER
   Passou o mouse sobre RONALDOCC, o menu desce automaticamente.
   ========================================================== */
@media (min-width: 769px) {
    /* item pai do botão do usuário */
    .pkp_navigation_user > li,
    .pkp_navigation_user .dropdown {
        position: relative !important;
    }

    /* estado fechado por padrão */
    .pkp_navigation_user .dropdown-menu {
        display: block !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(-4px) !important;
        transition:
            opacity var(--ti-fast),
            transform var(--ti-fast),
            visibility var(--ti-fast) !important;
    }

    /* abre ao passar o mouse ou focar */
    .pkp_navigation_user > li:hover > .dropdown-menu,
    .pkp_navigation_user > li:focus-within > .dropdown-menu,
    .pkp_navigation_user .dropdown:hover > .dropdown-menu,
    .pkp_navigation_user .dropdown:focus-within > .dropdown-menu {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }

    /* botão superior fica ativo quando o menu está aberto */
    .pkp_navigation_user > li:hover > a,
    .pkp_navigation_user > li:focus-within > a,
    .pkp_navigation_user .dropdown:hover > a,
    .pkp_navigation_user .dropdown:focus-within > a {
        background: rgba(11, 16, 40, 0.96) !important;
        color: #ffffff !important;
        border-color: rgba(255,255,255,0.24) !important;
        border-bottom-color: rgba(11,16,40,0.96) !important;
        border-radius: 2px 2px 0 0 !important;
        text-decoration: none !important;
        box-shadow: none !important;
    }
}
