/* CORES INSTITUCIONAIS */
    :root {
        --primary-color-var2: #2f2f30;
        --primary-color-var3: #045C9D;

        /* PRIMARY COLOR */
        --primary-950: #081D36;
        --primary-900: #12427C;
        --primary-800: #2265B5;
        --primary-700: #3D96FF;
        --primary-600: #449AFF;
        --primary-500: #63ABFF;
        --primary-400: #77B6FF;
        --primary-300: #9BC7FF;
        --primary-200: #B7D8FF;
        --primary-100: #E2EFFF;
        --primary-50: #F5FAFF;
        --primary-25: #FBFDFF;

        /* VAR1 */
        --primary-color: #033961;
        --primary-color-90: rgba(3, 57, 97, 0.90);
        --primary-color-80: rgba(3, 57, 97, 0.80);
        --primary-color-70: rgba(3, 57, 97, 0.70);
        --primary-color-60: rgba(3, 57, 97, 0.60);
        --primary-color-50: rgba(3, 57, 97, 0.50);
        --primary-color-40: rgba(3, 57, 97, 0.40);
        --primary-color-35: rgba(3, 57, 97, 0.35);
        --primary-color-30: rgba(3, 57, 97, 0.30);
        --primary-color-25: rgba(3, 57, 97, 0.25);
        --primary-color-20: rgba(3, 57, 97, 0.20);
        --primary-color-10: rgba(3, 57, 97, 0.10);
        --primary-color-5: rgba(3, 57, 97, 0.05);

        /* VAR3 */
        --primary-color-var3: #045C9D;
        --primary-color-var3-90: rgba(4, 93, 156, 0.90);
        --primary-color-var3-80: rgba(4, 93, 156, 0.80);
        --primary-color-var3-70: rgba(4, 93, 156, 0.70);
        --primary-color-var3-60: rgba(4, 93, 156, 0.60);
        --primary-color-var3-50: rgba(4, 93, 156, 0.50);
        --primary-color-var3-40: rgba(4, 93, 156, 0.40);
        --primary-color-var3-35: rgba(4, 93, 156, 0.35);
        --primary-color-var3-30: rgba(4, 93, 156, 0.30);
        --primary-color-var3-25: rgba(4, 93, 156, 0.25);
        --primary-color-var3-20: rgba(4, 93, 156, 0.20);
        --primary-color-var3-10: rgba(4, 93, 156, 0.10);
        --primary-color-var3-5: rgba(4, 93, 156, 0.05);

        /* VAR4 */
        --primary-color-var4: #89C0E8;
        --primary-color-var4-90: rgba(137, 192, 232, 0.90);
        --primary-color-var4-80: rgba(137, 192, 232, 0.80);
        --primary-color-var4-70: rgba(137, 192, 232, 0.70);
        --primary-color-var4-60: rgba(137, 192, 232, 0.60);
        --primary-color-var4-50: rgba(137, 192, 232, 0.50);
        --primary-color-var4-40: rgba(137, 192, 232, 0.40);
        --primary-color-var4-35: rgba(137, 192, 232, 0.35);
        --primary-color-var4-30: rgba(137, 192, 232, 0.30);
        --primary-color-var4-25: rgba(137, 192, 232, 0.25);
        --primary-color-var4-20: rgba(137, 192, 232, 0.20);
        --primary-color-var4-10: rgba(137, 192, 232, 0.10);

        --primary-color-var4-5: rgba(137, 192, 232, 0.05);
    }

    /* Tokens de tema — claro (default) e escuro (html.dark) */
    :root {
        --doc-bg: var(--primary-50);
        --doc-surface: #ffffff;
        --doc-surface-2: var(--primary-50);
        --doc-border: #e8eef5;
        --doc-text: #2c3645;
        --doc-text-soft: #5b6776;
        --doc-text-mute: #8a94a3;
        --doc-heading: var(--primary-700);
        --doc-accent: var(--primary-700);
        --doc-accent-soft: var(--primary-200);
        --doc-shadow: 0 1px 3px rgba(16, 24, 40, 0.04), 0 10px 28px rgba(16, 24, 40, 0.06);
    }

    html.dark {
        --doc-bg: #0b1220;
        --doc-surface: #0f172a;
        --doc-surface-2: #111c30;
        --doc-border: #1f2b40;
        --doc-text: #e6edf6;
        --doc-text-soft: #aab6c6;
        --doc-text-mute: #7e8b9c;
        --doc-heading: #77B6FF;
        --doc-accent: #77B6FF;
        --doc-accent-soft: #2a3d57;
        --doc-shadow: 0 1px 3px rgba(0, 0, 0, 0.4), 0 10px 30px rgba(0, 0, 0, 0.5);
    }

    body,
    html {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        font-family: 'Inter', sans-serif;
        font-size: 16px;
        line-height: 1.7;
        color: var(--doc-text);
        background-color: var(--doc-bg);
        -webkit-font-smoothing: antialiased;
        transition: background-color 0.2s ease, color 0.2s ease;
    }

    #container {
        max-width: 880px;
        margin: 40px auto;
        padding: 40px 32px;
        background-color: var(--doc-surface);
        box-shadow: var(--doc-shadow);
        border: 1px solid var(--doc-border);
        border-radius: 16px;
    }

    .privacy_and_terms {
        box-sizing: border-box;
        padding: 12px;
    }

    /* Botão de alternância de tema (canto superior direito) */
    .doc-theme-toggle {
        position: fixed;
        top: 20px;
        right: 20px;
        z-index: 1100;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        border-radius: 12px;
        border: 1px solid var(--doc-border);
        background-color: var(--doc-surface);
        color: var(--doc-text-soft);
        cursor: pointer;
        box-shadow: var(--doc-shadow);
        transition: color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
    }

    .doc-theme-toggle:hover {
        color: var(--doc-accent);
        border-color: var(--doc-accent-soft);
        transform: translateY(-1px);
    }

    .doc-theme-toggle .doc-theme-dark { display: none; }
    html.dark .doc-theme-toggle .doc-theme-dark { display: inline; }
    html.dark .doc-theme-toggle .doc-theme-light { display: none; }

    /* Header */
    .privacy_and_terms header h1 {
        color: var(--doc-heading) !important;
        letter-spacing: -0.01em;
    }

    .privacy_and_terms header span,
    .privacy_and_terms header p {
        color: var(--doc-text-mute) !important;
    }

    /* Estilos para a página de termos de uso */
    .privacy_and_terms h3 {
        color: var(--doc-heading);
        font-size: 20px;
        font-weight: 600;
        margin-top: 36px;
        margin-bottom: 16px;
        border-bottom: 1px solid var(--doc-border);
        padding-bottom: 10px;
        letter-spacing: -0.01em;
    }

    .privacy_and_terms p {
        margin-bottom: 15px;
        color: var(--doc-text);
        line-height: 1.7;
    }

    .privacy_and_terms ul {
        padding-left: 20px;
        margin-bottom: 15px;
    }

    .privacy_and_terms ul li {
        margin-bottom: 8px;
        line-height: 1.6;
        color: var(--doc-text);
    }

    .privacy_and_terms strong {
        font-weight: 600;
        color: var(--doc-heading);
    }

    .privacy_and_terms em,
    .privacy_and_terms i {
        color: var(--doc-text-soft);
        font-style: italic;
    }

    .privacy_and_terms a {
        color: var(--doc-accent);
        text-decoration: none;
        transition: all 0.2s ease;
    }

    .privacy_and_terms a:hover {
        color: var(--doc-accent);
        text-decoration: underline;
    }

    .table-of-contents {
        background-color: var(--doc-surface-2) !important;
        padding: 22px 24px;
        margin-bottom: 32px;
        border: 1px solid var(--doc-border);
        border-left: 4px solid var(--doc-accent);
        border-radius: 12px;
    }

    .table-of-contents h4 {
        color: var(--doc-heading);
        margin-top: 0;
        margin-bottom: 15px;
        font-size: 18px;
    }

    .table-of-contents ol,
    .table-of-contents ul {
        margin: 0;
        padding-left: 20px;
        color: var(--doc-accent) !important;
    }

    .table-of-contents li {
        margin-bottom: 8px;
    }

    .table-of-contents a {
        color: var(--doc-accent) !important;
    }

    #print-button {
        background-color: var(--doc-accent) !important;
        border-radius: 10px !important;
        transition: opacity 0.2s ease;
    }

    #print-button:hover { opacity: 0.9; }

    .info-box {
        background-color: var(--doc-surface-2);
        padding: 15px;
        border-radius: 10px;
        margin-bottom: 20px;
        border: 1px solid var(--doc-border);
        border-left: 4px solid var(--doc-accent);
    }

    /* Estilos adicionais para destaques e melhorias visuais */
    .highlight-box {
        background-color: var(--doc-surface-2);
        border: 1px solid var(--doc-border);
        border-left: 4px solid var(--doc-accent-soft);
        padding: 15px;
        margin-bottom: 20px;
        border-radius: 10px;
    }

    .section-divider {
        height: 1px;
        background: linear-gradient(to right, transparent, var(--doc-border), transparent);
        margin: 40px 0;
    }

    .back-to-top {
        position: fixed;
        bottom: 20px;
        right: 20px;
        background-color: var(--doc-accent);
        color: white;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        opacity: 0.7;
        transition: opacity 0.3s;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
        z-index: 1000;
    }

    .back-to-top:hover {
        opacity: 1;
    }
    
    /* Estilização para impressão */
    @media print {
        body, html {
            background: white;
            font-size: 12pt;
        }
        
        #container {
            max-width: 100%;
            margin: 0;
            padding: 0;
            border: none;
            box-shadow: none;
        }
        
        .table-of-contents,
        .back-to-top,
        #print-button {
            display: none !important;
        }
        
        .privacy_and_terms h3 {
            page-break-after: avoid;
            font-size: 16pt;
            margin-top: 20pt;
        }
        
        .privacy_and_terms p {
            page-break-inside: avoid;
            orphans: 3;
            widows: 3;
        }
        
        a {
            text-decoration: none !important;
            color: black !important;
        }
        
        .section-divider {
            border-top: 1pt solid #ccc;
            margin: 15pt 0;
            height: 0;
            background: none;
        }
        
        .print-date {
            margin-top: 30pt;
            text-align: center;
            font-size: 10pt;
            color: #666;
        }
        
        /* Garantir que o rodapé apareça na impressão */
        footer {
            position: running(footer);
            display: block !important;
            margin-top: 30pt;
        }
        
        @page {
            margin: 1.5cm;
            @bottom-center {
                content: element(footer);
            }
            @bottom-right {
                content: "Página " counter(page) " de " counter(pages);
            }
        }
    }
    
    /* Melhoria de layout para dispositivos móveis */
    @media (max-width: 480px) {
        body, html {
            font-size: 14px;
        }
        
        .privacy_and_terms h3 {
            font-size: 16px;
        }
        
        #container {
            margin: 10px;
            padding: 15px 10px;
        }
    }
    
    /* Adições para melhorar a legibilidade e design */
    .content-section {
        position: relative;
    }
    
    .privacy_and_terms h3 {
        position: relative;
        padding-left: 15px;
    }
    
    .privacy_and_terms h3::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 4px;
        background-color: var(--doc-accent);
        border-radius: 2px;
    }

    /* Estilo para links de âncora */
    .privacy_and_terms h3:target {
        background-color: var(--doc-surface-2);
        padding: 10px 15px;
        border-radius: 8px;
        transition: background-color 0.3s ease;
    }
    
    /* Melhorias na legibilidade do texto */
    .privacy_and_terms {
        counter-reset: section;
    }
    
    .privacy_and_terms p {
        text-align: justify;
        hyphens: auto;
    }
    
    /* Melhorias para dispositivos móveis */
    @media print {
        .section-divider {
            display: none;
        }

        .table-of-contents {
            display: none;
        }

        .privacy_and_terms h3::before {
            display: none;
        }
    }

    /* Footer */
    .privacy_and_terms footer {
        color: var(--doc-text-mute) !important;
        border-top: 1px solid var(--doc-border) !important;
    }

    .privacy_and_terms footer p,
    .privacy_and_terms footer a {
        color: var(--doc-text-mute) !important;
    }

    /* Dark mode: vence cores inline herdadas do markup legado (#666, #777, var(--primary-50) etc.) */
    html.dark .privacy_and_terms header span[style],
    html.dark .privacy_and_terms header p[style] {
        color: var(--doc-text-mute) !important;
    }

    html.dark .table-of-contents h4[style],
    html.dark .table-of-contents a[style],
    html.dark .table-of-contents li[style],
    html.dark .privacy_and_terms header h1[style] {
        color: var(--doc-heading) !important;
    }

    html.dark .table-of-contents[style] {
        background-color: var(--doc-surface-2) !important;
    }