/* 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: #FFBBD3;
        --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);
    }

    body,
    html {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        font-family: 'Inter', sans-serif;
        font-size: 16px;
        line-height: 1.6;
        color: #333;
        background-color: var(--primary-50);
    }

    #container {
        max-width: 900px;
        margin: 30px auto;
        padding: 30px 20px;
        background-color: #fff;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
        border-radius: 8px;
    }

    .privacy_and_terms {
        box-sizing: border-box;
        padding: 20px;
    }
    
    /* Estilos para a página de termos de uso */
    .privacy_and_terms h3 {
        color: var(--primary-700);
        font-size: 20px;
        font-weight: 600;
        margin-top: 30px;
        margin-bottom: 15px;
        border-bottom: 1px solid var(--primary-100);
        padding-bottom: 8px;
    }
    
    .privacy_and_terms p {
        margin-bottom: 15px;
        color: #444;
        line-height: 1.6;
    }
    
    .privacy_and_terms ul {
        padding-left: 20px;
        margin-bottom: 15px;
    }
    
    .privacy_and_terms ul li {
        margin-bottom: 8px;
        line-height: 1.5;
    }
    
    .privacy_and_terms strong {
        font-weight: 600;
        color: var(--primary-700);
    }
    
    .privacy_and_terms i {
        color: #777;
        font-style: italic;
    }
    
    .privacy_and_terms a {
        color: var(--primary-700);
        text-decoration: none;
        transition: all 0.2s ease;
    }
    
    .privacy_and_terms a:hover {
        color: var(--primary-700);
        text-decoration: underline;
    }
    
    .table-of-contents {
        background-color: var(--primary-50);
        padding: 20px;
        margin-bottom: 30px;
        border-left: 4px solid var(--primary-400);
    }
    
    .table-of-contents h4 {
        color: var(--primary-700);
        margin-top: 0;
        margin-bottom: 15px;
        font-size: 18px;
    }
    
    .table-of-contents ol {
        margin: 0;
        padding-left: 20px;
    }
    
    .table-of-contents li {
        margin-bottom: 8px;
    }
    
    .info-box {
        background-color: var(--primary-100);
        padding: 15px;
        border-radius: 6px;
        margin-bottom: 20px;
        border-left: 4px solid var(--primary-700);
    }
    
    /* Estilos adicionais para destaques e melhorias visuais */
    .highlight-box {
        background-color: var(--primary-50);
        border-left: 4px solid var(--primary-200);
        padding: 15px;
        margin-bottom: 20px;
        border-top-right-radius: 6px;
        border-bottom-right-radius: 6px;
    }
    
    .section-divider {
        height: 1px;
        background: linear-gradient(to right, transparent, var(--primary-200), transparent);
        margin: 40px 0;
    }
    
    .back-to-top {
        position: fixed;
        bottom: 20px;
        right: 20px;
        background-color: var(--primary-700);
        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(--primary-400);
        border-radius: 2px;
    }
    
    /* Estilo para links de âncora */
    .privacy_and_terms h3:target {
        background-color: var(--primary-50);
        padding: 10px 15px;
        border-radius: 5px;
        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;
        }
    }