@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

:root {
    /* Primary Colors */
    --color-primary: #ff5757;
    --color-primary-dark: #eb5050;
    --color-primary-darker: #c44343;
    --color-primary-hover: #b93a3a;
    --color-secondary: #4089ED;

    /* Neutral Colors */
    --color-white: #fff;
    --color-black: #111;
    --color-dark: #333;
    --color-gray-dark: #444;
    --color-gray: #888;
    --color-gray-light: #aaa;
    --color-gray-lighter: #ccc;
    --color-gray-lightest: #ddd;

    /* Background Colors */
    --bg-body: #f8f8f8;
    --bg-white: #fff;
    --bg-dark: #111;
    --bg-dark-light: rgba(255, 255, 255, .02);
    --bg-cookie: #333;

    /* Border Colors */
    --border-light: #ccc;
    --border-lighter: #ddd;
    --border-primary: #ff5757;
    --border-primary-dark: #b93a3a;
    --border-pink-light: #ffdada;

    /* Shadow Colors */
    --shadow-light: rgba(149, 157, 165, 0.2);
    --shadow-medium: rgba(0, 0, 0, 0.15);
    --shadow-cookie: rgba(0, 0, 0, 0.1);

    /* Link Colors */
    --link-default: #444;
    --link-hover: #ff5757;
    --link-secondary: #4089ED;

    /* Button Colors */
    --btn-accept-bg: #fff;
    --btn-accept-color: #111;
    --btn-accept-hover: #ccc;

    /* Cookie Banner */
    --cookie-text-link: #ff9191;
    --cookie-text-link-hover: #ffbaba;

    /* Footer */
    --footer-text: #ccc;
    --footer-text-light: #aaa;
    --footer-text-lighter: #888;
    --footer-link-hover: #4089ED;

    /* Pagination */
    --pagination-border: #b2b2b2;

    /* Error Page */
    --error-title: #ff5757;

    /* Status Colors */
    --status-info: #4089ED;
}


/* ===== MOBILE (menores que 768px) ===== */
@media (max-width: 767px) {

    body {
        font-family: "Open Sans", sans-serif;
        padding: 0px;
        margin: 0px;
        background-color: var(--bg-body);
        color: var(--color-gray-dark);
    }

    h1 {
        font-size: 32px;
    }

    h2 {
        font-size: 28px;
    }

    h3 {
        font-size: 24px;
    }

    h4 {
        font-size: 20px;
    }

    h5 {
        font-size: 16px;
    }

    h6 {
        font-size: 14px;
    }

    .container {
        width: 100%;
        max-width: 700px;
        margin: 0 auto;
        box-sizing: border-box;
    }

    .container-fluid {
        width: 100%;
        margin: 0;
        box-sizing: border-box;
    }

    .u-no-select {
        user-select: none;
    }

    .u-superimage {
        width: 100%;
        margin-top: 60px;
    }

    .u-supertitle {
        width: 100%;
        max-height: 400px;
        margin-top: 60px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #444;
        padding: 40px 50px;
        box-sizing: border-box;
    }

    .u-supertitle-title {
        font-size: 18px;
        font-weight: bold;
        text-transform: uppercase;
        color: #fff;
        box-sizing: border-box;
    }

    .u-col-2 {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .u-col-3 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
    }

    .u-col-4 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }

    .u-col-5 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    }

    .u-col-6 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    }

    .u-col-7 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    }

    .u-col-8 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    }

    .u-gap-5 {
        grid-gap: 5px;
    }

    .u-gap-10 {
        grid-gap: 5px;
    }

    .u-gap-15 {
        grid-gap: 5px;
    }

    .u-gap-20 {
        grid-gap: 5px;
    }

    .u-flex {
        display: flex;
    }

    .u-flex-wrap {
        flex-wrap: wrap;
    }

    .u-flex-column {
        flex-direction: column;
    }

    .u-justify-start {
        justify-content: flex-start;
    }

    .u-justify-center {
        justify-content: center;
    }

    .u-justify-end {
        justify-content: flex-end;
    }

    .u-justify-between {
        justify-content: space-between;
    }

    .u-align-start {
        align-items: flex-start;
    }

    .u-align-center {
        align-items: center;
    }

    .u-align-end {
        align-items: flex-end;
    }

    .u-text-center {
        text-align: center;
    }

    .u-text-right {
        text-align: right;
    }

    .u-text-left {
        text-align: left;
    }

    .u-space-top {
        margin-top: 80px;
    }

    #u-div-recommended {
        display: none;
    }

    .u-recommended {
        margin-top: 60px;
    }

    .u-recommended>h3 {
        font-size: 20px;
        font-weight: 700;
        color: var(--border-primary);
        margin-bottom: 0px;
        padding-bottom: 0px;
        text-align: center;
        text-transform: uppercase;
    }

    #u-div-recommended>.u-applist {
        margin-top: 0px !important;
    }

    /* Criando listagem de aplicativos */
    .u-applist {
        width: 100%;
        padding: 30px 20px;
        box-sizing: border-box;
    }

    .u-applist-box {
        display: grid;
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .u-applist-box>a {
        text-decoration: none;
    }

    .u-applist-item {
        background-color: var(--bg-white);
        padding: 36px 25px;
        border-radius: 6px;
        border: 1px solid var(--border-light);
        cursor: pointer;
        transition: border .3s;
        height: 100%;
        box-sizing: border-box;
    }

    .u-applist-item:hover {
        transition: border .3s;
        border-color: var(--border-primary);
    }

    .u-applist-item>h2 {
        font-size: 20px;
        font-weight: 700;
        margin: 0px;
        padding: 0px;
        margin-bottom: 5px;
        color: var(--color-gray-dark);
    }

    .u-applist-item>h3 {
        font-size: 14px;
        font-weight: normal;
        margin: 0px;
        padding: 0px;
        color: var(--color-gray-dark);
    }

    .u-applist-icon {
        width: 48px;
        height: 48px;
        margin-bottom: 5px;
    }

    /* Criando buscador*/

    .u-applist-search {
        width: 90%;
        padding: 20px 20px;
        padding-bottom: 0px;
    }

    .u-applist-search>h1 {
        font-size: 22px;
        font-weight: 700;
        margin: 0px;
        padding: 0px;
        margin-bottom: 5px;
        text-align: center;
        margin-bottom: 10px;
        color: var(--color-primary);
        text-transform: uppercase;
    }

    .u-applist-search>h3 {
        font-size: 16px;
        font-weight: normal;
        margin: 0px;
        padding: 0px;
        text-align: center;
        margin-bottom: 20px;
    }

    .u-applist-search-input {
        width: 100%;
        border-radius: 30px;
        padding: 10px 20px;
        font-size: 16px;
        border: 1px solid var(--border-light);
        transition: border .3s;
        outline: none;
        box-sizing: border-box;
    }

    .u-applist-search-input:focus {
        border: 1px solid var(--color-primary-dark);
        transition: border .3s;
    }

    .u-applist-search-grid {
        width: 100%;
        display: grid;
        grid-template-columns: auto 80px;
        gap: 10px;
    }

    .u-applist-search-button {
        width: 100%;
        background-color: var(--color-primary-dark);
        border: 1px solid var(--border-primary-dark);
        color: var(--color-white);
        border-radius: 30px;
        -webkit-border-radius: 30px;
        -moz-border-radius: 30px;
        -ms-border-radius: 30px;
        -o-border-radius: 30px;
        font-size: 16px;
        cursor: pointer;
    }

    .u-applist-search-button:hover {
        background-color: var(--color-primary-darker);
    }

    /*Tags*/
    .u-applist-searchtags {
        width: 100%;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        /* <-- permite quebrar linha */
        margin-top: 20px;
        box-sizing: border-box;
    }

    .u-applist-searchtags-item {
        margin: 2px 2px;
        padding: 3px 8px;
        border-radius: 30px;
        -webkit-border-radius: 30px;
        -moz-border-radius: 30px;
        -ms-border-radius: 30px;
        -o-border-radius: 30px;
        text-decoration: none;
        font-weight: 500;
        color: var(--color-gray-dark);
        border: 1px solid var(--border-light);
        background-color: var(--bg-white);
        box-sizing: border-box;
        cursor: pointer;
        transition: border .3s;
        font-size: 14px;
    }

    .u-applist-searchtags-item:hover {
        border: 1px solid var(--border-primary);
        transition: border .3s;
    }

    .u-applist-no-app {
        background-color: var(--bg-white);
        box-shadow: var(--shadow-light) 0px 8px 24px;
        border: 1px solid var(--border-lighter);
        color: var(--border-primary);
        font-size: 16px;
        font-weight: bold;
        text-align: center;
        padding: 50px 20px;
        border-radius: 6px;
    }



    /*Menu*/

    .u-header {
        width: 100%;
        background-color: var(--bg-white);
        border-bottom: 1px solid var(--border-light);
        display: flex;
        justify-content: center;
        position: fixed;
        left: 0px;
        top: 0px;
        z-index: 100;
    }

    .u-header-container {
        width: 96%;
        display: grid;
        grid-template-columns: auto 40px 40px;
        padding: 10px 0px;
        gap: 15px;
    }

    .u-header-link {
        text-decoration: none;
        color: var(--color-secondary);
    }

    .u-header-logotext {
        font-weight: 700;
        text-transform: uppercase;
        margin-left: 10px;
        font-size: 24px;
        color: var(--color-primary);
    }

    .u-header-center {
        display: flex;
        align-items: center;
    }

    .u-header-logo {
        width: 42px;
        height: 42px;
    }

    .u-header-hamburger {
        width: 36px;
        height: 36px;
    }

    .u-header-hamburger-center {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .u-header-nav {
        display: flex;
        justify-content: end;
        align-items: center;
        display: none;
    }

    .u-header-nav-menu {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        gap: 10px;
    }

    .u-header-nav-menu>li {
        display: inline-block;
        margin: 0px 10px;
    }

    .u-header-nav-menu>li>a {
        text-decoration: none;
        color: var(--link-default);
    }

    .u-header-nav-menu>li>a:hover {
        color: var(--link-hover);
    }


    #u-header-mobile {
        display: none;
        z-index: 101;
        position: fixed;
        top: 62px;
        left: 0;
        width: 100%;
        height: calc(100% - 62px);
        box-sizing: border-box;
        background-color: #c44343;

    }

    #u-header-mobile.active {
        display: block;
    }

    .u-header-box {
        padding: 0px;
        margin: 0px;
    }

    .u-header-box-item {
        width: 100%;
        box-sizing: border-box;
        color: #fff;
        border-bottom: 1px solid rgba(255, 255, 255, .2);
        list-style: none;
    }

    .u-header-box-link {
        color: #fff;
        text-decoration: none;
        width: 100%;
        box-sizing: border-box;
        padding: 15px;
        display: block;

    }



    /*Rodape*/

    .u-footer {
        margin-top: 60px;
        background-color: var(--bg-dark);
        color: var(--footer-text);
    }

    .u-footer-container {
        display: grid;
        grid-template-columns: 1fr;
        max-width: 700px;
        margin: 0 auto;
        gap: 20px;
        padding: 30px;
    }

    .u-footer-logo h2 {
        color: var(--color-white);
        margin: 0;
    }

    .u-footer-logo p {
        margin-top: 5px;
        font-size: 14px;
        color: var(--footer-text-light);
    }

    .u-footer-links {
        list-style: none;
        padding: 0;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 15px;
    }

    .u-footer-links>a {
        color: var(--color-white);
        text-decoration: none;
        font-size: 14px;
        transition: color 0.3s;
        -webkit-transition: color 0.3s;
        -moz-transition: color 0.3s;
        -ms-transition: color 0.3s;
        -o-transition: color 0.3s;
    }

    .u-footer-links>a:hover {
        color: var(--footer-link-hover);
    }

    .u-footer-copy {
        background-color: var(--bg-dark-light);
        text-align: center;
        padding: 15px;
        font-size: 13px;
        color: var(--border-primary-dark);
    }

    /*Documentos*/

    .u-document {
        color: var(--color-gray-dark);
        width: 700px;
        background-color: var(--bg-white);
        padding: 50px 20px;
        border: 1px solid var(--border-lighter);

        line-height: 25px;
        margin-top: 20px;
    }

    .u-document>h1 {
        font-size: 30px;
        font-weight: 600;
        margin: 0px;
        margin-bottom: 30px;
        color: var(--color-primary-dark);
    }

    .u-document>p {
        line-height: 22px !important;
        font-size: 15px;
    }

    .u-document>section>.section-title>h2 {
        font-size: 22px;
        margin: 0px;
        font-weight: 700;
        margin-top: 30px;
    }

    .u-document>section>.section-title>h3 {
        font-size: 22px;
        margin: 0px;
        font-weight: 700;
        margin-top: 30px;
    }

    /*AppHome*/
    .u-apphome {
        margin-top: 0px;
        margin-bottom: 5px;
        background-color: var(--bg-white);
        width: 700px;
        padding: 40px 20px;
        border: 1px solid #dedede;
    }

    .u-apphome>h1 {
        background-color: var(--color-primary);
        color: #fff;
        font-size: 20px;
        font-weight: 700;
        width: 100%;
        margin: 0px;
        padding: 15px 15px;
        margin-bottom: 20px;
        text-transform: uppercase;
        display: inline-block;
        border-radius: 5px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        -ms-border-radius: 5px;
        -o-border-radius: 5px;
        box-sizing: border-box;
        text-align: center;
    }

    .u-apphome>h2 {
        font-size: 14px;
        font-weight: normal;
        margin: 0px;
        padding: 0px;
        margin-bottom: 30px;
    }

    .u-apphome>.h1-title {
        font-size: 24px;
        font-weight: 700;
        color: var(--border-primary-dark);
        margin: 0px;
        padding: 0px;
        margin-bottom: 5px;
    }


    /* ===== Banner de Cookies ===== */
    .u-cookie-banner {
        position: fixed;
        left: 16px;
        right: 16px;
        bottom: 20px;
        background-color: var(--bg-cookie);
        color: var(--color-white);
        border-radius: 10px;
        box-shadow: 0 4px 20px var(--shadow-cookie);
        padding: 25px 25px;
        display: grid;
        gap: 10px;
        align-items: center;
        justify-content: space-between;
        max-width: 100%;
        margin: 0 auto;
        transform: translateY(20px);
        opacity: 0;
        transition: transform 300ms ease, opacity 300ms ease;
        z-index: 9999;
        font-family: system-ui, Arial, sans-serif;

        /* Estado inicial: oculto e sem interação */
        pointer-events: none;
        visibility: hidden;
    }

    .u-cookie-grid {
        display: grid;
    }


    /* Quando o banner é exibido */
    .u-cookie-banner.u-show {
        transform: translateY(0);
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
    }

    /* Quando o banner está escondido via aria-hidden */
    .u-cookie-banner[aria-hidden="true"] {
        pointer-events: none;
        visibility: hidden;
        opacity: 0;
        transform: translateY(20px);
    }

    /* Texto */
    .u-cookie-text {
        flex: 1 1 auto;
        font-size: 16px;
        line-height: 1.4;
        padding-right: 15px;
    }

    .u-cookie-text>h5 {
        font-size: 24px;
        margin: 0;
        font-weight: 500;
        margin-bottom: 5px;
    }

    .u-cookie-text>a {
        color: var(--cookie-text-link);
        text-decoration: none;
    }

    .u-cookie-text>a:hover {
        color: var(--cookie-text-link-hover);
        text-decoration: underline;
    }

    /* Ações (botões) */
    .u-cookie-actions {
        display: flex;
        gap: 8px;
    }

    /* Botões */
    .u-btn {
        border: none;
        padding: 10px 25px;
        border-radius: 2px;
        font-weight: 600;
        cursor: pointer;
        font-size: 14px;
        -webkit-border-radius: 2px;
        -moz-border-radius: 2px;
        -ms-border-radius: 2px;
        -o-border-radius: 2px;
        width: 100%;
    }

    /* Botão "Aceito" */
    .u-btn-accept {
        background-color: var(--btn-accept-bg);
        color: var(--btn-accept-color);
    }

    .u-btn-accept:hover {
        background-color: var(--btn-accept-hover);
    }

    .u-btn-accept:active {
        background-color: var(--btn-accept-bg);
    }

    /* Ícone opcional */
    .u-cookie-icon {
        width: 38px;
        height: 38px;
        border-radius: 6px;
        background: #f4f7ff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 20px;
        margin-right: 8px;
    }


    /* Banner */
    .u-banner {
        display: none;
        width: 100%;
        box-sizing: border-box;
        margin-top: 20px;
    }

    .u-banner-mobile {
 
        box-sizing: border-box;
        margin-top: 20px;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
    }

    .u-banner-lateral-left {
        display: none;
        width: 160px;
        box-sizing: border-box;
        position: fixed;
        transform: translate(10px, -50%);
        left: 10px;
        top: 50%;
    }

    .u-banner-lateral-right {
        display: none;
        width: 160px;
        box-sizing: border-box;
        position: fixed;
        transform: translate(-10px, -50%);
        right: 10px;
        top: 50%;
    }

    .u-banner-img {
        width: 100%;
        box-sizing: border-box;
    }


    .pagination {
        display: flex;
        gap: 6px;
        justify-content: center;
        margin-top: 50px;
    }

    .pagination-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 8px 12px;
        text-decoration: none;
        font-size: 15px;
        font-weight: 600;
        background-color: var(--bg-white);
        color: var(--color-dark);
        border: 1px solid var(--pagination-border);
        border-radius: 4px;
        transition: all 0.2s ease;
    }

    .pagination-btn:hover {
        color: var(--color-primary);
        border: 1px solid var(--color-primary);
    }

    .pagination-btn.pagination-active {
        background-color: var(--color-primary);
        color: var(--color-white);
        border-color: var(--color-primary);
    }

    .bear404 {
        flex-direction: column;
        padding: 30px 0px;
        padding-top: 120px;
    }

    .bear404-imagem {
        width: 256px;
        height: 256px;
    }

    .bear404-title {
        text-align: center;
        font-size: 26px;
        color: var(--error-title);
        font-weight: 700;
        margin-bottom: 10px;
    }

    .bear404-description {
        text-align: center;
        padding: 0px 30px;
    }

    .bear404-button-link {
        text-decoration: none;
    }

    .bear404-button-button {
        padding: 20px;
        background-color: var(--border-primary);
        color: #fff;
        border: none;
        font-size: 18px;
        border-radius: 4px;
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        -ms-border-radius: 4px;
        -o-border-radius: 4px;
    }

    .contactview {
        width: 100%;
        box-sizing: border-box;
    }

    .contactview-group {
        width: 100%;
        box-sizing: border-box;
        display: grid;
        grid-template-columns: 1fr;
        margin-top: 50px;
        gap: 10px;
    }

    .contactview-item {
        width: 100%;
        box-sizing: border-box;
        border-radius: 4px;
        padding: 40px 20px;
        opacity: 1.0;
        transition: opacity .5s;
    }

    .contactview-item:hover {
        opacity: .8;
        transition: opacity .5s;
    }

    .contactview-title {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
        text-decoration: none;
        color: #fff;
        font-size: 22px;
    }

    .contactview-link {
        text-decoration: none;
    }

    /*Mecanismo de busca Mobile*/
    .u-background {
        display: none;
        width: 100%;
        height: 100%;
        z-index: 103;
        top: 0px;
        left: 0px;
        position: fixed;
        background-color: rgba(0, 0, 0, .95);
        box-sizing: border-box;
    }

    .u-searchmobile {
        display: none;
        padding: 60px 30px;
        width: 95%;
        z-index: 104;
        position: fixed;
        transform: translate(-50%, -50%);
        top: 50%;
        left: 50%;
        background-color: #fff;
        box-sizing: border-box;
        border-radius: 4px;
    }

    .u-searchmobile-input {
        width: 100%;
        border-radius: 34px;
        padding: 20px;
        font-size: 17px;
        border: 1px solid var(--border-light);
        transition: border .3s;
        outline: none;
        box-sizing: border-box;
        margin-bottom: 10px;
    }

    .u-searchmobile-input:focus {
        border: 1px solid var(--color-primary-dark);
        transition: border .3s;
    }

    .u-searchmobile-button {
        width: 100%;
        box-sizing: border-box;
        background-color: var(--color-primary-dark);
        border: 1px solid var(--border-primary-dark);
        color: var(--color-white);
        border-radius: 33px;
        -webkit-border-radius: 33px;
        -moz-border-radius: 33px;
        -ms-border-radius: 33px;
        -o-border-radius: 33px;
        font-size: 16px;
        cursor: pointer;
        padding: 20px;
    }

    .u-searchmobile-button:hover {
        background-color: var(--color-primary-darker);
    }

    .u-searchmobile-title {
        font-size: 18px;
        text-align: center;
        font-weight: 800;
        text-transform: uppercase;
        margin-bottom: 20px;
    }

    .u-searchmobile-close {
        width: 200px;
        box-sizing: border-box;
        background-color: rgba(0, 0, 0, 0);
        border: 1px solid var(--border-primary-dark);
        color: var(--border-primary-dark);
        border-radius: 33px;
        -webkit-border-radius: 33px;
        -moz-border-radius: 33px;
        -ms-border-radius: 33px;
        -o-border-radius: 33px;
        font-size: 14px;
        cursor: pointer;
        padding: 10px 15px;
        margin-top: 30px;
    }

    .u-searchmobile-button:close {
        background-color: var(--color-primary-darker);
    }

}

/* ===== TABLET (768px até 1023px) ===== */
@media (min-width: 768px) and (max-width: 1023px) {

    body {
        font-family: "Open Sans", sans-serif;
        padding: 0px;
        margin: 0px;
        background-color: var(--bg-body);
        color: var(--color-gray-dark);
    }

    h1 {
        font-size: 32px;
    }

    h2 {
        font-size: 28px;
    }

    h3 {
        font-size: 24px;
    }

    h4 {
        font-size: 20px;
    }

    h5 {
        font-size: 16px;
    }

    h6 {
        font-size: 14px;
    }

    .container {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        box-sizing: border-box;
    }

    .container-fluid {
        width: 100%;
        margin: 0;
        box-sizing: border-box;
    }

    .u-no-select {
        user-select: none;
    }

    .u-superimage {
        width: 100%;
        margin-top: 60px;
    }

    .u-supertitle {
        width: 100%;
        max-height: 400px;
        margin-top: 60px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #444;
        padding: 80px 50px;
        box-sizing: border-box;
    }

    .u-supertitle-title {
        font-size: 34px;
        font-weight: bold;
        text-transform: uppercase;
        color: #fff;
        box-sizing: border-box;
    }

    .u-col-2 {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .u-col-3 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
    }

    .u-col-4 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }

    .u-col-5 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    }

    .u-col-6 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    }

    .u-col-7 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    }

    .u-col-8 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    }

    .u-gap-5 {
        grid-gap: 5px;
    }

    .u-gap-10 {
        grid-gap: 5px;
    }

    .u-gap-15 {
        grid-gap: 5px;
    }

    .u-gap-20 {
        grid-gap: 5px;
    }

    .u-flex {
        display: flex;
    }

    .u-flex-wrap {
        flex-wrap: wrap;
    }

    .u-flex-column {
        flex-direction: column;
    }

    .u-justify-start {
        justify-content: flex-start;
    }

    .u-justify-center {
        justify-content: center;
    }

    .u-justify-end {
        justify-content: flex-end;
    }

    .u-justify-between {
        justify-content: space-between;
    }

    .u-align-start {
        align-items: flex-start;
    }

    .u-align-center {
        align-items: center;
    }

    .u-align-end {
        align-items: flex-end;
    }

    .u-text-center {
        text-align: center;
    }

    .u-text-right {
        text-align: right;
    }

    .u-text-left {
        text-align: left;
    }

    .u-space-top {
        margin-top: 80px;
    }

    #u-div-recommended {
        display: none;
    }

    .u-recommended {
        margin-top: 20px;
        width: 100% !important;
    }

    .u-recommended>h3 {
        font-size: 30px;
        font-weight: 700;
        color: var(--border-primary);

        margin-bottom: 0px;
        padding-bottom: 0px;
        text-align: center;
    }

    /* Criando listagem de aplicativos */
    .u-applist {
        width: 100%;
    }

    .u-applist-box {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 15px;
        padding: 20px;
        box-sizing: border-box;
    }

    .u-applist-box>a {
        text-decoration: none;
    }

    .u-applist-item {
        background-color: var(--bg-white);
        padding: 36px 25px;
        border-radius: 6px;
        border: 1px solid var(--border-light);
        cursor: pointer;
        transition: border .3s;
        height: 100%;
        box-sizing: border-box;
    }

    .u-applist-item:hover {
        transition: border .3s;
        border-color: var(--border-primary);
    }

    .u-applist-item>h2 {
        font-size: 20px;
        font-weight: 700;
        margin: 0px;
        padding: 0px;
        margin-bottom: 5px;
        color: var(--color-gray-dark);
    }

    .u-applist-item>h3 {
        font-size: 14px;
        font-weight: normal;
        margin: 0px;
        padding: 0px;
        color: var(--color-gray-dark);
    }

    .u-applist-icon {
        width: 48px;
        height: 48px;
        margin-bottom: 5px;
    }

    /* Criando buscador*/

    .u-applist-search {
        width: 1000px;
        padding: 40px;
    }

    .u-applist-search>h1 {
        font-size: 35px;
        font-weight: 700;
        margin: 0px;
        padding: 0px;
        margin-bottom: 5px;
        text-align: center;
        margin-bottom: 20px;
        color: var(--color-primary);
        text-transform: uppercase;
    }

    .u-applist-search>h3 {
        font-size: 18px;
        font-weight: normal;
        margin: 0px;
        padding: 0px;
        text-align: center;
        margin-bottom: 20px;
    }

    .u-applist-search-input {
        width: 100%;
        border-radius: 30px;
        padding: 17px 20px;
        font-size: 16px;
        border: 1px solid var(--border-light);
        transition: border .3s;
        outline: none;
        box-sizing: border-box;
    }

    .u-applist-search-input:focus {
        border: 1px solid var(--color-primary-dark);
        transition: border .3s;
    }

    .u-applist-search-grid {
        width: 100%;
        display: grid;
        grid-template-columns: auto 120px;
        gap: 10px;
    }

    .u-applist-search-button {
        width: 100%;
        background-color: var(--color-primary-dark);
        border: 1px solid var(--border-primary-dark);
        color: var(--color-white);
        border-radius: 30px;
        -webkit-border-radius: 30px;
        -moz-border-radius: 30px;
        -ms-border-radius: 30px;
        -o-border-radius: 30px;
        font-size: 16px;
        cursor: pointer;
    }

    .u-applist-search-button:hover {
        background-color: var(--color-primary-darker);
    }

    /*Tags*/
    .u-applist-searchtags {
        width: 100%;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        /* <-- permite quebrar linha */
        margin-top: 20px;
        box-sizing: border-box;
    }

    .u-applist-searchtags-item {
        margin: 5px 5px;
        padding: 3px 20px;
        border-radius: 30px;
        -webkit-border-radius: 30px;
        -moz-border-radius: 30px;
        -ms-border-radius: 30px;
        -o-border-radius: 30px;
        text-decoration: none;
        font-weight: 500;
        color: var(--color-gray-dark);
        border: 1px solid var(--border-light);
        background-color: var(--bg-white);
        box-sizing: border-box;
        cursor: pointer;
        transition: border .3s;
        font-size: 16px;
    }

    .u-applist-searchtags-item:hover {
        border: 1px solid var(--border-primary);
        transition: border .3s;
    }

    .u-applist-no-app {
        background-color: var(--bg-white);
        box-shadow: var(--shadow-light) 0px 8px 24px;
        border: 1px solid var(--border-lighter);
        color: var(--border-primary);
        font-size: 30px;
        text-align: center;
        padding: 70px 50px;
        border-radius: 6px;
        margin: 0px 20px;
    }



    /*Menu*/
    .u-header {
        width: 100%;
        background-color: var(--bg-white);
        border-bottom: 1px solid var(--border-light);
        display: flex;
        justify-content: center;
        position: fixed;
        left: 0px;
        top: 0px;
    }

    .u-header-container {
        width: 96%;
        display: grid;
        grid-template-columns: auto 40px 40px;
        padding: 10px 0px;
        gap: 15px;
    }

    .u-header-link {
        text-decoration: none;
        color: var(--color-secondary);
    }

    .u-header-logotext {
        font-weight: 700;
        text-transform: uppercase;
        margin-left: 10px;
        font-size: 24px;
        color: var(--color-primary);
    }

    .u-header-center {
        display: flex;
        align-items: center;
    }

    .u-header-logo {
        width: 42px;
        height: 42px;
    }

    .u-header-hamburger {
        width: 36px;
        height: 36px;
    }

    .u-header-hamburger-center {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .u-header-nav {
        display: flex;
        justify-content: end;
        align-items: center;
        display: none;
    }

    .u-header-nav-menu {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        gap: 10px;
    }

    .u-header-nav-menu>li {
        display: inline-block;
        margin: 0px 10px;
    }

    .u-header-nav-menu>li>a {
        text-decoration: none;
        color: var(--link-default);
    }

    .u-header-nav-menu>li>a:hover {
        color: var(--link-hover);
    }

    #u-header-mobile {
        display: none;
        z-index: 101;
        position: fixed;
        top: 62px;
        left: 0;
        width: 100%;
        height: calc(100% - 62px);
        box-sizing: border-box;
        background-color: #c44343;
        overflow-y: auto;
    }

    .u-header-box {
        padding: 0px;
        margin: 0px;
    }

    .u-header-box-item {
        width: 100%;
        box-sizing: border-box;
        color: #fff;
        border-bottom: 1px solid rgba(255, 255, 255, .2);
        list-style: none;
    }

    .u-header-box-link {
        color: #fff;
        text-decoration: none;
        width: 100%;
        box-sizing: border-box;
        padding: 15px;
        display: block;

    }

    /*Rodape*/

    .u-footer {
        margin-top: 200px;
        background-color: var(--bg-dark);
        color: var(--footer-text);
    }

    .u-footer-container {
        display: grid;
        grid-template-columns: 1fr;
        max-width: 700px;
        margin: 0 auto;
        gap: 20px;
        padding: 30px;
    }

    .u-footer-logo h2 {
        color: var(--color-white);
        margin: 0;
    }

    .u-footer-logo p {
        margin-top: 5px;
        font-size: 14px;
        color: var(--footer-text-light);
    }

    .u-footer-links {
        list-style: none;
        padding: 0;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 15px;
    }

    .u-footer-links>a {
        color: var(--color-white);
        text-decoration: none;
        font-size: 14px;
        transition: color 0.3s;
        -webkit-transition: color 0.3s;
        -moz-transition: color 0.3s;
        -ms-transition: color 0.3s;
        -o-transition: color 0.3s;
    }

    .u-footer-links>a:hover {
        color: var(--footer-link-hover);
    }

    .u-footer-copy {
        background-color: var(--bg-dark-light);
        text-align: center;
        padding: 15px;
        font-size: 13px;
        color: var(--footer-text-lighter);
    }

    /*Documentos*/

    .u-document {
        color: var(--color-gray-dark);
        width: 700px;
        background-color: var(--bg-white);
        box-shadow: var(--shadow-light) 0px 8px 24px;
        padding: 50px;
        border: 1px solid var(--border-lighter);
        border-radius: 10px;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        -ms-border-radius: 10px;
        -o-border-radius: 10px;
        line-height: 25px;
        margin-top: 20px;
    }

    .u-document>h1 {
        font-size: 40px;
        font-weight: 600;
        margin: 0px;
        margin-bottom: 30px;
        color: var(--color-primary-dark);
    }

    .u-document>p {
        line-height: 28px !important;
    }

    .u-document>section>.section-title>h2 {
        font-size: 22px;
        margin: 0px;
        font-weight: 700;
        margin-top: 30px;
    }

    .u-document>section>.section-title>h3 {
        font-size: 22px;
        margin: 0px;
        font-weight: 700;
        margin-top: 30px;
    }


    /*AppHome*/
    .u-apphome {
        margin-top: 20px;
        margin-bottom: 5px;
        background-color: var(--bg-white);
        width: 700px;
        padding: 40px;
        border: 1px solid #ccc;
        border-radius: 6px;
        box-shadow: var(--shadow-medium) 1.95px 1.95px 2.6px;
    }

    .u-apphome>h1 {
        background-color: var(--color-primary);
        color: #fff;
        font-size: 28px;
        font-weight: 700;
        margin: 0px;
        padding: 12px 25px;
        margin-bottom: 20px;
        text-transform: uppercase;
        display: inline-block;
        border-radius: 5px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        -ms-border-radius: 5px;
        -o-border-radius: 5px;
    }

    .u-apphome>h2 {
        font-size: 18px;
        font-weight: normal;
        margin: 0px;
        padding: 0px;
        margin-bottom: 40px;
    }

    .u-apphome>.h1-title {
        font-size: 24px;
        font-weight: 700;
        color: var(--border-primary-dark);
        margin: 0px;
        padding: 0px;
        margin-bottom: 5px;
    }


    /* ===== Banner de Cookies ===== */
    .u-cookie-banner {
        position: fixed;
        left: 16px;
        right: 16px;
        bottom: 20px;
        background-color: var(--bg-cookie);
        color: var(--color-white);
        border-radius: 10px;
        box-shadow: 0 4px 20px var(--shadow-cookie);
        padding: 25px 25px;
        display: flex;
        gap: 10px;
        align-items: center;
        justify-content: space-between;
        max-width: 100%;
        margin: 0 auto;
        transform: translateY(20px);
        opacity: 0;
        transition: transform 300ms ease, opacity 300ms ease;
        z-index: 9999;
        font-family: system-ui, Arial, sans-serif;

        /* Estado inicial: oculto e sem interação */
        pointer-events: none;
        visibility: hidden;
    }

    .u-cookie-grid {
        display: flex;
        align-items: center;
    }

    /* Quando o banner é exibido */
    .u-cookie-banner.u-show {
        transform: translateY(0);
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
    }

    /* Quando o banner está escondido via aria-hidden */
    .u-cookie-banner[aria-hidden="true"] {
        pointer-events: none;
        visibility: hidden;
        opacity: 0;
        transform: translateY(20px);
    }

    /* Texto */
    .u-cookie-text {
        flex: 1 1 auto;
        font-size: 16px;
        line-height: 1.4;
        padding-right: 15px;
    }

    .u-cookie-text>h5 {
        font-size: 24px;
        margin: 0;
        font-weight: 500;
        margin-bottom: 5px;
    }

    .u-cookie-text>a {
        color: var(--cookie-text-link);
        text-decoration: none;
    }

    .u-cookie-text>a:hover {
        color: var(--cookie-text-link-hover);
        text-decoration: underline;
    }

    /* Ações (botões) */
    .u-cookie-actions {
        display: flex;
        gap: 8px;
    }

    /* Botões */
    .u-btn {
        border: none;
        padding: 10px 25px;
        border-radius: 2px;
        font-weight: 600;
        cursor: pointer;
        font-size: 14px;
        -webkit-border-radius: 2px;
        -moz-border-radius: 2px;
        -ms-border-radius: 2px;
        -o-border-radius: 2px;
    }

    /* Botão "Aceito" */
    .u-btn-accept {
        background-color: var(--btn-accept-bg);
        color: var(--btn-accept-color);
    }

    .u-btn-accept:hover {
        background-color: var(--btn-accept-hover);
    }

    .u-btn-accept:active {
        background-color: var(--btn-accept-bg);
    }

    /* Ícone opcional */
    .u-cookie-icon {
        width: 38px;
        height: 38px;
        border-radius: 6px;
        background: #f4f7ff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 20px;
        margin-right: 8px;
    }


    /* Banner */
    .u-banner {
        display: block;
        width: 100%;
        box-sizing: border-box;
        margin-top: 20px;
    }

    .u-banner-mobile {
        display: none;
        width: 100%;
        box-sizing: border-box;
        margin-top: 20px;
    }

    .u-banner-lateral-left {
        display: none;
        width: 160px;
        box-sizing: border-box;
        position: fixed;
        transform: translate(10px, -50%);
        left: 10px;
        top: 50%;
    }

    .u-banner-lateral-right {
        display: none;
        width: 160px;
        box-sizing: border-box;
        position: fixed;
        transform: translate(-10px, -50%);
        right: 10px;
        top: 50%;
    }

    .u-banner-img {
        width: 100%;
        border-radius: 5px;
        box-sizing: border-box;
    }


    .pagination {
        display: flex;
        gap: 6px;
        justify-content: center;
        margin-top: 50px;
    }

    .pagination-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 8px 12px;
        text-decoration: none;
        font-size: 15px;
        font-weight: 600;
        background-color: var(--bg-white);
        color: var(--color-dark);
        border: 1px solid var(--pagination-border);
        border-radius: 4px;
        transition: all 0.2s ease;
    }

    .pagination-btn:hover {
        color: var(--color-primary);
        border: 1px solid var(--color-primary);
    }

    .pagination-btn.pagination-active {
        background-color: var(--color-primary);
        color: var(--color-white);
        border-color: var(--color-primary);
    }

    .bear404 {
        flex-direction: column;
        padding: 30px 0px;
        padding-top: 150px;
    }

    .bear404-imagem {
        width: 512px;
        height: 512px;
    }

    .bear404-title {
        text-align: center;
        font-size: 40px;
        color: var(--error-title);
        font-weight: 700;
        margin-bottom: 10px;
    }

    .bear404-description {
        text-align: center;
    }

    .bear404-button-link {
        text-decoration: none;
    }

    .bear404-button-button {
        padding: 20px;
        background-color: var(--border-primary);
        color: #fff;
        border: none;
        font-size: 18px;
        border-radius: 4px;
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        -ms-border-radius: 4px;
        -o-border-radius: 4px;
    }

    .contactview {
        width: 100%;
        box-sizing: border-box;
    }

    .contactview-group {
        width: 100%;
        box-sizing: border-box;
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        margin-top: 50px;
        gap: 10px;
    }

    .contactview-item {
        width: 100%;
        box-sizing: border-box;
        border-radius: 4px;
        padding: 40px 20px;
        opacity: 1.0;
        transition: opacity .5s;
    }

    .contactview-item:hover {
        opacity: .8;
        transition: opacity .5s;
    }

    .contactview-title {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
        text-decoration: none;
        color: #fff;
        font-size: 22px;
    }

    .contactview-link {
        text-decoration: none;
    }


    /*Mecanismo de busca Mobile*/
    .u-background {
        display: none;
        width: 100%;
        height: 100%;
        z-index: 103;
        top: 0px;
        left: 0px;
        position: fixed;
        background-color: rgba(0, 0, 0, .95);
        box-sizing: border-box;
    }

    .u-searchmobile {
        display: none;
        padding: 40px 20px;
        width: 300px;
        z-index: 104;
        position: fixed;
        transform: translate(-50%, -50%);
        top: 50%;
        left: 50%;
        background-color: #fff;
        box-sizing: border-box;
        border-radius: 4px;
    }

    .u-searchmobile-input {
        width: 100%;
        border-radius: 34px;
        padding: 20px;
        font-size: 17px;
        border: 1px solid var(--border-light);
        transition: border .3s;
        outline: none;
        box-sizing: border-box;
        margin-bottom: 10px;
    }

    .u-searchmobile-input:focus {
        border: 1px solid var(--color-primary-dark);
        transition: border .3s;
    }

    .u-searchmobile-button {
        width: 100%;
        box-sizing: border-box;
        background-color: var(--color-primary-dark);
        border: 1px solid var(--border-primary-dark);
        color: var(--color-white);
        border-radius: 33px;
        -webkit-border-radius: 33px;
        -moz-border-radius: 33px;
        -ms-border-radius: 33px;
        -o-border-radius: 33px;
        font-size: 16px;
        cursor: pointer;
        padding: 20px;
    }

    .u-searchmobile-button:hover {
        background-color: var(--color-primary-darker);
    }

    .u-searchmobile-title {
        font-size: 18px;
        text-align: center;
        font-weight: 800;
        text-transform: uppercase;
        margin-bottom: 20px;
    }

    .u-searchmobile-close {
        width: 200px;
        box-sizing: border-box;
        background-color: rgba(0, 0, 0, 0);
        border: 1px solid var(--border-primary-dark);
        color: var(--border-primary-dark);
        border-radius: 33px;
        -webkit-border-radius: 33px;
        -moz-border-radius: 33px;
        -ms-border-radius: 33px;
        -o-border-radius: 33px;
        font-size: 14px;
        cursor: pointer;
        padding: 10px 15px;
        margin-top: 30px;
    }

    .u-searchmobile-button:close {
        background-color: var(--color-primary-darker);
    }


}

/* ===== DESKTOP (1024px ou mais) ===== */
@media (min-width: 1024px) {

    body {
        font-family: "Open Sans", sans-serif;
        padding: 0px;
        margin: 0px;
        background-color: var(--bg-body);
        color: var(--color-gray-dark);
    }

    h1 {
        font-size: 32px;
    }

    h2 {
        font-size: 28px;
    }

    h3 {
        font-size: 24px;
    }

    h4 {
        font-size: 20px;
    }

    h5 {
        font-size: 16px;
    }

    h6 {
        font-size: 14px;
    }

    .container {
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
        box-sizing: border-box;
    }

    .container-fluid {
        width: 100%;
        margin: 0;
        box-sizing: border-box;
    }

    .u-no-select {
        user-select: none;
    }

    .u-superimage {
        width: 100%;
        margin-top: 60px;
    }

    .u-supertitle {
        width: 100%;
        max-height: 500px;
        margin-top: 60px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #444;
        padding: 80px 50px;
        box-sizing: border-box;
    }

    .u-supertitle-title {
        font-size: 34px;
        font-weight: bold;
        text-transform: uppercase;
        color: #fff;
        box-sizing: border-box;
    }

    .u-col-2 {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .u-col-3 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
    }

    .u-col-4 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }

    .u-col-5 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    }

    .u-col-6 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    }

    .u-col-7 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    }

    .u-col-8 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    }

    .u-gap-5 {
        grid-gap: 5px;
    }

    .u-gap-10 {
        grid-gap: 5px;
    }

    .u-gap-15 {
        grid-gap: 5px;
    }

    .u-gap-20 {
        grid-gap: 5px;
    }

    .u-flex {
        display: flex;
    }

    .u-flex-wrap {
        flex-wrap: wrap;
    }

    .u-flex-column {
        flex-direction: column;
    }

    .u-justify-start {
        justify-content: flex-start;
    }

    .u-justify-center {
        justify-content: center;
    }

    .u-justify-end {
        justify-content: flex-end;
    }

    .u-justify-between {
        justify-content: space-between;
    }

    .u-align-start {
        align-items: flex-start;
    }

    .u-align-center {
        align-items: center;
    }

    .u-align-end {
        align-items: flex-end;
    }

    .u-text-center {
        text-align: center;
    }

    .u-text-right {
        text-align: right;
    }

    .u-text-left {
        text-align: left;
    }

    .u-space-top {
        margin-top: 80px;
    }

    #u-div-recommended {
        display: none;
    }

    .u-recommended {
        margin-top: 20px;
        width: 980px !important;
    }

    .u-recommended>h3 {
        font-size: 30px;
        font-weight: 700;
        color: var(--border-primary);
        margin-left: 10px;
        margin-bottom: 0px;
        padding-bottom: 0px;
    }

    /* Criando listagem de aplicativos */
    .u-applist {
        width: 1224px;
    }

    .u-applist-box {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 15px;
    }

    .u-applist-box>a {
        text-decoration: none;
    }

    .u-applist-item {
        background-color: var(--bg-white);
        padding: 36px 25px;
        border-radius: 6px;
        border: 1px solid var(--border-light);
        cursor: pointer;
        transition: border .3s;
        height: 100%;
        box-sizing: border-box;
    }

    .u-applist-item:hover {
        transition: border .3s;
        border-color: var(--border-primary);
    }

    .u-applist-item>h2 {
        font-size: 20px;
        font-weight: 700;
        margin: 0px;
        padding: 0px;
        margin-bottom: 5px;
        color: var(--color-gray-dark);
    }

    .u-applist-item>h3 {
        font-size: 14px;
        font-weight: normal;
        margin: 0px;
        padding: 0px;
        color: var(--color-gray-dark);
    }

    .u-applist-icon {
        width: 48px;
        height: 48px;
        margin-bottom: 5px;
    }

    /* Criando buscador*/

    .u-applist-search {
        width: 1000px;
        padding: 40px;
    }

    .u-applist-search>h1 {
        font-size: 35px;
        font-weight: 700;
        margin: 0px;
        padding: 0px;
        margin-bottom: 5px;
        text-align: center;
        margin-bottom: 20px;
        color: var(--color-primary);
        text-transform: uppercase;
    }

    .u-applist-search>h3 {
        font-size: 18px;
        font-weight: normal;
        margin: 0px;
        padding: 0px;
        text-align: center;
        margin-bottom: 20px;
    }

    .u-applist-search-input {
        width: 100%;
        border-radius: 30px;
        padding: 17px 20px;
        font-size: 16px;
        border: 1px solid var(--border-light);
        transition: border .3s;
        outline: none;
        box-sizing: border-box;
    }

    .u-applist-search-input:focus {
        border: 1px solid var(--color-primary-dark);
        transition: border .3s;
    }

    .u-applist-search-grid {
        width: 100%;
        display: grid;
        grid-template-columns: auto 120px;
        gap: 10px;
    }

    .u-applist-search-button {
        width: 100%;
        background-color: var(--color-primary-dark);
        border: 1px solid var(--border-primary-dark);
        color: var(--color-white);
        border-radius: 30px;
        -webkit-border-radius: 30px;
        -moz-border-radius: 30px;
        -ms-border-radius: 30px;
        -o-border-radius: 30px;
        font-size: 16px;
        cursor: pointer;
    }

    .u-applist-search-button:hover {
        background-color: var(--color-primary-darker);
    }

    /*Tags*/
    .u-applist-searchtags {
        width: 100%;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        /* <-- permite quebrar linha */
        margin-top: 20px;
        box-sizing: border-box;
    }

    .u-applist-searchtags-item {
        margin: 5px 5px;
        padding: 3px 20px;
        border-radius: 30px;
        -webkit-border-radius: 30px;
        -moz-border-radius: 30px;
        -ms-border-radius: 30px;
        -o-border-radius: 30px;
        text-decoration: none;
        font-weight: 500;
        color: var(--color-gray-dark);
        border: 1px solid var(--border-light);
        background-color: var(--bg-white);
        box-sizing: border-box;
        cursor: pointer;
        transition: border .3s;
        font-size: 16px;
    }

    .u-applist-searchtags-item:hover {
        border: 1px solid var(--border-primary);
        transition: border .3s;
    }

    .u-applist-no-app {
        background-color: var(--bg-white);
        box-shadow: var(--shadow-light) 0px 8px 24px;
        border: 1px solid var(--border-lighter);
        color: var(--border-primary);
        font-size: 30px;
        text-align: center;
        padding: 70px 50px;
        border-radius: 6px;
    }



    /*Menu*/

    .u-header {
        width: 100%;
        background-color: var(--bg-white);
        border-bottom: 1px solid var(--border-light);
        display: flex;
        justify-content: center;
        position: fixed;
        left: 0px;
        top: 0px;
    }

    .u-header-container {
        width: 96%;
        display: grid;
        grid-template-columns: auto auto;
        padding: 10px 0px;
    }

    .u-header-link {
        text-decoration: none;
        color: var(--color-secondary);
    }

    .u-header-logotext {
        font-weight: 700;
        text-transform: uppercase;
        margin-left: 10px;
        font-size: 24px;
        color: var(--color-primary);
    }

    .u-header-center {
        display: flex;
        align-items: center;
    }

    .u-header-logo {
        width: 42px;
        height: 42px;
    }

    .u-header-hamburger {
        width: 42px;
        height: 42px;
    }

    .u-header-hamburger-center {
        display: none;
        justify-content: center;
        align-items: center;
    }

    .u-header-nav {
        display: flex;
        justify-content: end;
        align-items: center;
    }

    .u-header-nav-menu {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        gap: 10px;
    }

    .u-header-nav-menu>li {
        display: inline-block;
        margin: 0px 10px;
    }

    .u-header-nav-menu>li>a {
        text-decoration: none;
        color: var(--link-default);
    }

    .u-header-nav-menu>li>a:hover {
        color: var(--link-hover);
    }

    #u-header-mobile {
        display: none;
        z-index: 101;
        position: fixed;
        top: 62px;
        left: 0;
        width: 100%;
        height: calc(100% - 62px);
        box-sizing: border-box;
        background-color: #c44343;
        overflow-y: auto;
    }

    .u-header-box {
        padding: 0px;
        margin: 0px;
    }

    .u-header-box-item {
        width: 100%;
        box-sizing: border-box;
        color: #fff;
        border-bottom: 1px solid rgba(255, 255, 255, .2);
        list-style: none;
    }

    .u-header-box-link {
        color: #fff;
        text-decoration: none;
        width: 100%;
        box-sizing: border-box;
        padding: 15px;
        display: block;

    }

    /*Rodape*/

    .u-footer {
        margin-top: 200px;
        background-color: var(--bg-dark);
        color: var(--footer-text);
    }

    .u-footer-container {
        display: grid;
        grid-template-columns: 1fr 1fr;
        max-width: 1224px;
        margin: 0 auto;
        gap: 20px;
        padding: 30px;
    }

    .u-footer-logo h2 {
        color: var(--color-white);
        margin: 0;
    }

    .u-footer-logo p {
        margin-top: 5px;
        font-size: 14px;
        color: var(--footer-text-light);
    }

    .u-footer-links {
        list-style: none;
        padding: 0;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: right;
        gap: 15px;
    }

    .u-footer-links>a {
        color: var(--color-white);
        text-decoration: none;
        font-size: 14px;
        transition: color 0.3s;
        -webkit-transition: color 0.3s;
        -moz-transition: color 0.3s;
        -ms-transition: color 0.3s;
        -o-transition: color 0.3s;
    }

    .u-footer-links>a:hover {
        color: var(--footer-link-hover);
    }

    .u-footer-copy {
        background-color: var(--bg-dark-light);
        text-align: center;
        padding: 15px;
        font-size: 13px;
        color: var(--footer-text-lighter);
    }

    /*Documentos*/

    .u-document {
        color: var(--color-gray-dark);
        width: 1124px;
        background-color: var(--bg-white);
        box-shadow: var(--shadow-light) 0px 8px 24px;
        border: 1px solid var(--border-lighter);
        padding: 50px;
        border-radius: 10px;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        -ms-border-radius: 10px;
        -o-border-radius: 10px;
        line-height: 25px;
        margin-top: 20px;
    }

    .u-document>h1 {
        font-size: 40px;
        font-weight: 600;
        margin: 0px;
        margin-bottom: 30px;
        color: var(--color-primary-dark);
    }

    .u-document>p {
        line-height: 28px !important;
    }

    .u-document>section>.section-title>h2 {
        font-size: 22px;
        margin: 0px;
        font-weight: 700;
        margin-top: 30px;
    }

    .u-document>section>.section-title>h3 {
        font-size: 22px;
        margin: 0px;
        font-weight: 700;
        margin-top: 30px;
    }


    /*AppHome*/
    .u-apphome {
        margin-top: 20px;
        margin-bottom: 5px;
        background-color: var(--bg-white);
        width: 900px;
        padding: 40px;
        border: 1px solid #ccc;
        border-radius: 6px;
        box-shadow: var(--shadow-medium) 1.95px 1.95px 2.6px;
    }

    .u-apphome>h1 {
        background-color: var(--color-primary);
        color: #fff;
        font-size: 28px;
        font-weight: 700;
        margin: 0px;
        padding: 12px 25px;
        margin-bottom: 20px;
        text-transform: uppercase;
        display: inline-block;
        border-radius: 5px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        -ms-border-radius: 5px;
        -o-border-radius: 5px;
    }

    .u-apphome>h2 {
        font-size: 18px;
        font-weight: normal;
        margin: 0px;
        padding: 0px;
        margin-bottom: 40px;
    }

    .u-apphome>.h1-title {
        font-size: 30px;
        font-weight: 700;
        color: var(--border-primary-dark);
        margin: 0px;
        padding: 0px;
        margin-bottom: 5px;
    }


    /* ===== Banner de Cookies ===== */
    .u-cookie-banner {
        position: fixed;
        left: 16px;
        right: 16px;
        bottom: 20px;
        background-color: var(--bg-cookie);
        color: var(--color-white);
        border-radius: 10px;
        box-shadow: 0 4px 20px var(--shadow-cookie);
        padding: 25px 25px;
        display: flex;
        gap: 10px;
        align-items: center;
        justify-content: space-between;
        max-width: 1124px;
        margin: 0 auto;
        transform: translateY(20px);
        opacity: 0;
        transition: transform 300ms ease, opacity 300ms ease;
        z-index: 9999;
        font-family: system-ui, Arial, sans-serif;

        /* Estado inicial: oculto e sem interação */
        pointer-events: none;
        visibility: hidden;
    }

    .u-cookie-grid {
        display: flex;
        align-items: center;
    }

    /* Quando o banner é exibido */
    .u-cookie-banner.u-show {
        transform: translateY(0);
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
    }

    /* Quando o banner está escondido via aria-hidden */
    .u-cookie-banner[aria-hidden="true"] {
        pointer-events: none;
        visibility: hidden;
        opacity: 0;
        transform: translateY(20px);
    }

    /* Texto */
    .u-cookie-text {
        flex: 1 1 auto;
        font-size: 16px;
        line-height: 1.4;
        padding-right: 15px;
    }

    .u-cookie-text>h5 {
        font-size: 24px;
        margin: 0;
        font-weight: 500;
        margin-bottom: 5px;
    }

    .u-cookie-text>a {
        color: var(--cookie-text-link);
        text-decoration: none;
    }

    .u-cookie-text>a:hover {
        color: var(--cookie-text-link-hover);
        text-decoration: underline;
    }

    /* Ações (botões) */
    .u-cookie-actions {
        display: flex;
        gap: 8px;
    }

    /* Botões */
    .u-btn {
        border: none;
        padding: 10px 25px;
        border-radius: 2px;
        font-weight: 600;
        cursor: pointer;
        font-size: 14px;
        -webkit-border-radius: 2px;
        -moz-border-radius: 2px;
        -ms-border-radius: 2px;
        -o-border-radius: 2px;
    }

    /* Botão "Aceito" */
    .u-btn-accept {
        background-color: var(--btn-accept-bg);
        color: var(--btn-accept-color);
    }

    .u-btn-accept:hover {
        background-color: var(--btn-accept-hover);
    }

    .u-btn-accept:active {
        background-color: var(--btn-accept-bg);
    }

    /* Ícone opcional */
    .u-cookie-icon {
        width: 38px;
        height: 38px;
        border-radius: 6px;
        background: #f4f7ff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 20px;
        margin-right: 8px;
    }


    /* Banner */
    .u-banner {
        display: flex;
        width: 100%;
        box-sizing: border-box;
        margin-top: 20px;
    }

    .u-banner-mobile {
        display: none;
        width: 100%;
        box-sizing: border-box;
        margin-top: 20px;
        margin-bottom: 20px;
    }

    .u-banner-lateral-left {
        width: 160px;
        box-sizing: border-box;
        position: fixed;
        transform: translate(10px, -50%);
        left: 10px;
        top: 50%;
    }

    .u-banner-lateral-right {
        width: 160px;
        box-sizing: border-box;
        position: fixed;
        transform: translate(-10px, -50%);
        right: 10px;
        top: 50%;
    }

    .u-banner-img {
        border-radius: 5px;
        box-sizing: border-box;
    }


    .pagination {
        display: flex;
        gap: 6px;
        justify-content: center;
        margin-top: 50px;
    }

    .pagination-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 8px 12px;
        text-decoration: none;
        font-size: 15px;
        font-weight: 600;
        background-color: var(--bg-white);
        color: var(--color-dark);
        border: 1px solid var(--pagination-border);
        border-radius: 4px;
        transition: all 0.2s ease;
    }

    .pagination-btn:hover {
        color: var(--color-primary);
        border: 1px solid var(--color-primary);
    }

    .pagination-btn.pagination-active {
        background-color: var(--color-primary);
        color: var(--color-white);
        border-color: var(--color-primary);
    }

    .bear404 {
        flex-direction: column;
        padding: 30px 0px;
        padding-top: 200px;
    }

    .bear404-imagem {
        width: 256px;
        height: 256px;
    }

    .bear404-title {
        text-align: center;
        font-size: 40px;
        color: var(--error-title);
        font-weight: 700;
        margin-bottom: 10px;
    }

    .bear404-description {
        text-align: center;
    }

    .bear404-button-link {
        text-decoration: none;
    }

    .bear404-button-button {
        padding: 20px;
        background-color: var(--border-primary);
        color: #fff;
        border: none;
        font-size: 18px;
        border-radius: 4px;
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        -ms-border-radius: 4px;
        -o-border-radius: 4px;
        cursor: pointer;
    }

    /*Contactview*/
    .contactview {
        width: 800px;
        box-sizing: border-box;
    }

    .contactview-group {
        width: 100%;
        box-sizing: border-box;
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        margin-top: 50px;
        gap: 10px;
    }

    .contactview-item {
        width: 100%;
        box-sizing: border-box;
        border-radius: 4px;
        padding: 40px 20px;
        opacity: 1.0;
        transition: opacity .5s;
    }

    .contactview-item:hover {
        opacity: .8;
        transition: opacity .5s;
    }

    .contactview-title {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
        text-decoration: none;
        color: #fff;
        font-size: 22px;
    }

    .contactview-link {
        text-decoration: none;
    }


    /*Mecanismo de busca Mobile*/
    .u-background {
        display: none;
        width: 100%;
        height: 100%;
        z-index: 103;
        top: 0px;
        left: 0px;
        position: fixed;
        background-color: rgba(0, 0, 0, .95);
        box-sizing: border-box;
    }

    .u-searchmobile {
        display: none;
        padding: 40px 20px;
        width: 95%;
        z-index: 104;
        position: fixed;
        transform: translate(-50%, -50%);
        top: 50%;
        left: 50%;
        background-color: #fff;
        box-sizing: border-box;
        border-radius: 4px;
    }

    .u-searchmobile-input {
        width: 100%;
        border-radius: 34px;
        padding: 20px;
        font-size: 17px;
        border: 1px solid var(--border-light);
        transition: border .3s;
        outline: none;
        box-sizing: border-box;
        margin-bottom: 10px;
    }

    .u-searchmobile-input:focus {
        border: 1px solid var(--color-primary-dark);
        transition: border .3s;
    }

    .u-searchmobile-button {
        width: 100%;
        box-sizing: border-box;
        background-color: var(--color-primary-dark);
        border: 1px solid var(--border-primary-dark);
        color: var(--color-white);
        border-radius: 33px;
        -webkit-border-radius: 33px;
        -moz-border-radius: 33px;
        -ms-border-radius: 33px;
        -o-border-radius: 33px;
        font-size: 16px;
        cursor: pointer;
        padding: 20px;
    }

    .u-searchmobile-button:hover {
        background-color: var(--color-primary-darker);
    }

    .u-searchmobile-title {
        font-size: 18px;
        text-align: center;
        font-weight: 800;
        text-transform: uppercase;
        margin-bottom: 20px;
    }

    .u-searchmobile-close {
        width: 200px;
        box-sizing: border-box;
        background-color: rgba(0, 0, 0, 0);
        border: 1px solid var(--border-primary-dark);
        color: var(--border-primary-dark);
        border-radius: 33px;
        -webkit-border-radius: 33px;
        -moz-border-radius: 33px;
        -ms-border-radius: 33px;
        -o-border-radius: 33px;
        font-size: 14px;
        cursor: pointer;
        padding: 10px 15px;
        margin-top: 30px;
    }

    .u-searchmobile-button:close {
        background-color: var(--color-primary-darker);
    }



}