body {
    overflow-x: hidden;
}

.header-mobile-right {
    justify-content: center;
    align-items: center;
    gap: 15px;
}

.mobile-sidemenu {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100vw;
    height: 100vh;
    background-color: #EEF2F5;
    z-index: 9999;
    flex-direction: column;
}

.mobile-sidemenu.active {
    display: flex !important;
    overflow-y: scroll;
}

.mobile-sidemenu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 22px 17px;
    background-color: #E1EDF6;
    padding-bottom: 27px;
    margin-bottom: 27px;
}

.mobile-sidemenu-header * {
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 700;
}

.mobile-sidemenu .btn-care {
    width: 100%;
    height: 46px;
    justify-content: center;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 50px;
}

.mobile-sidemenu .top-bar {
    flex-direction: column;
    align-items: start;
    margin-top: 40px;
    padding-top: 30px;
    margin-left: 15px;
    margin-right: 15px;
    border-top: 1px solid #D1D5DC;
}

.mobile-sidemenu-body {
    display: flex;
    flex-direction: column;
}

.mobile-nav-item {
    border-bottom: 1px solid #DCE3E8;
    padding: 0 15px;
    transition: background-color 0.2s ease;
}

.mobile-nav-item.open {
    background-color: rgba(225, 237, 246, 0.4);
}

.mobile-nav-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
}

.mobile-nav-link {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #293B49;
    text-decoration: none;
    flex-grow: 1;
    display: flex;
    align-items: center;
    padding: 12px 0;
    transition: color 0.2s ease;
}

.mobile-nav-link:hover,
.mobile-nav-item.open > .mobile-nav-row .mobile-nav-link {
    color: #1A82C4;
}

.mobile-nav-toggle {
    background: transparent;
    border: none;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 8px;
    transition: background-color 0.2s ease;
    margin-left: 8px;
    flex-shrink: 0;
}

.mobile-nav-toggle:active,
.mobile-nav-toggle:hover {
    background-color: rgba(26, 130, 196, 0.15);
}

.mobile-nav-arrow-icon {
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    stroke: #293B49;
}

.mobile-nav-item.open > .mobile-nav-row .mobile-nav-arrow-icon {
    transform: rotate(180deg);
    stroke: #1A82C4;
}

.mobile-submenu {
    display: none;
    flex-direction: column;
    padding: 4px 0 14px 10px;
    border-left: 3px solid #1A82C4;
    margin-left: 8px;
    margin-bottom: 10px;
    gap: 2px;
}

.mobile-sublink {
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
    color: #334155;
    padding: 7px 10px;
    border-radius: 6px;
    font-size: 14px;
    line-height: 1.4;
    transition: background-color 0.15s, color 0.15s;
    display: block;
}

.mobile-sublink:hover,
.mobile-sublink:active {
    background-color: #E1EDF6;
    color: #1A82C4;
}

.mobile-sublink.level-title {
    font-weight: 700;
    color: #1E293B;
    font-size: 14px;
    margin-top: 8px;
    padding-bottom: 2px;
}

.mobile-sublink.level-item {
    font-weight: 500;
    color: #475569;
    padding-left: 16px;
}

.mobile-sidemenu .home-tabs button {
    padding: 0px !important;
    min-height: max-content !important;
    border: none;
    box-shadow: none;
    background: none;
    backdrop-filter: none;
}

@media (max-width: 1200px) {
    .main-nav {
        gap: 6px;
    }

    .logo-area img {
        max-height: 32px;
        margin-top: 42px;
    }

    .section-title-home::after {
        max-width: 100% !important;
    }

    .news-section .view-all-link {
        position: static !important;
        min-width: fit-content;
    }

    .home-hero {
        height: 182px;
    }

    .subjects-image {
        display: none;
    }

    .quick-cards-grid {
        display: flex;
        flex-wrap: wrap;
    }

    .quick-cards-grid>* {
        width: calc(50% - 10px);
    }
}

@media (max-width: 1000px) {
    .logo-area img {
        margin-top: 7px;
    }

    .header-right {
        display: none;
    }

    .header-mobile-right {
        display: flex !important;
    }

    .header-inner {
        height: 58px;
        position: relative;
    }

    .search-popup {
        position: fixed;
        top: 65px;
        left: 12px;
        right: 12px;
        width: auto;
        margin-right: 0;
        border-radius: 12px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
        z-index: 99999;
        background: #ffffff;
        padding: 16px;
    }

    .search-popup h3 {
        font-family: 'Montserrat', sans-serif;
        font-size: 15px;
        margin-bottom: 8px;
    }

    .search-popup input {
        min-width: 0;
        flex: 1;
        width: 100%;
        font-family: 'Montserrat', sans-serif;
        font-size: 14px;
    }

    .search-popup button {
        flex-shrink: 0;
        font-family: 'Montserrat', sans-serif;
    }

    .footer-columns {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px !important;
        padding-bottom: 100px !important;
    }

    .footer-top-card {
        flex-direction: column;
        justify-content: center;
    }

    .home-hero h1 {
        font-size: 22px !important;
    }

    .home-hero p {
        font-size: 12px !important;
    }

    .home-hero input {
        font-size: 10px !important;
    }

    .home-hero button div {
        font-size: 14px !important;
    }

    .home-section.services-section .section-header-tabs .section-title-home {
        display: none;
    }

    .subjects-grid {
        background: transparent !important;
        padding: 0px !important;
        box-shadow: none !important;
        display: flex !important;
        flex-wrap: wrap !important;
    }

    .subjects-grid>* {
        width: calc(50% - 10px) !important;
    }

    .subjects-grid .subject-card span {
        font-size: 11px !important;
    }

    .subjects-grid .subject-icon img {
        width: 35px !important;
        height: 35px !important;
        padding: 5px !important;
    }

    .subject-card {
        padding: 10px 7px !important;
        gap: 2px !important;
    }

    .subject-card.subject-card-floating {
        display: none;
    }

    .units-container {
        display: flex;
        padding: 20px;
        flex-direction: column;
    }

    .subjects-container {
        display: flex !important;
    }

    .pub-comm-section {
        display: flex !important;
        flex-direction: column !important;
    }

    .units-grid {
        margin-left: 0px !important;
    }

    .floating-unit-btn {
        position: static !important;
        margin-top: 0px !important;
        margin-left: 0px !important;
    }

    .units-section {
        height: fit-content !important;
    }

    .comm-column {
        min-height: 75vw !important;
    }

    .footer-awards img {
        max-height: 72px !important;
    }

    .footer-copyright {
        flex-wrap: wrap;
        text-align: center;
    }

    .ftc-left,
    .ftc-center,
    .ftc-right {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        justify-content: center;
    }

    .footer-columns .footer-col h5::after {
        content: " ";
        display: block;
        width: 16px;
        height: 16px;
        background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="13" height="7" viewBox="0 0 13 7" fill="none"><path d="M7.04088 6.7071C6.63089 7.09764 5.96505 7.09764 5.55506 6.7071L0.307106 1.70821C-0.102891 1.31767 -0.102891 0.683441 0.307106 0.292903C0.717102 -0.0976348 1.38294 -0.0976348 1.79293 0.292903L6.29961 4.5857L10.8063 0.296027C11.2163 -0.0945105 11.8821 -0.0945104 12.2921 0.296027C12.7021 0.686565 12.7021 1.3208 12.2921 1.71134L7.04416 6.71022L7.04088 6.7071Z" fill="%23EEF2F5"/></svg>') no-repeat center center;
        background-size: contain;
        float: right;
        margin-top: 7px;
    }

    .footer-columns .footer-col h5.mobile-open::after {
        transform: rotate(180deg);
    }

    .footer-columns .footer-col h5:not(.mobile-open)+ul {
        display: none;
    }

    .footer-col h5 {
        margin-bottom: 16px !important;
    }

    .footer-top-card .ftc-center {
        padding: 0px !important;
    }

    .footer-top-card .ftc-center *,
    .footer-top-card .ftc-info * {
        text-align: center !important;
    }

    .footer-top-card .ftc-logo img {
        max-height: 80px;
        margin-bottom: 19px;
    }

    .footer-top-card .ftc-info h4 {
        font-size: 13px !important;
    }

    .footer-top-card .ftc-info p {
        font-size: 11px !important;
    }

    .home-hero {
        padding-left: 24px;
        padding-right: 24px;
        height: 182px !important;
        margin-bottom: 0px !important;
    }

    .home-hero .search-box-hero button {
        height: 34px !important;
        width: 107px !important;
    }

    .home-hero form {
        max-width: 400px;
    }

    .home-hero .hero-content p {
        margin-bottom: 16px;
    }

    .home-hero .hero-content h1 {
        margin-bottom: 0px !important;
    }

    .home-section.services-section {
        padding-left: 0px !important;
        padding-right: 0px !important;
        background: #E1EDF6 !important;
    }

    .home-section .section-header-tabs {
        background: #eef2f5 !important;
        padding-left: 20px;
        padding-right: 20px;
        min-height: 45px;
    }

    .section-header-tabs .home-tabs button {
        padding: 5px 5px !important;
        width: max-content !important;
        min-height: max-content !important;
        box-shadow: none !important;
        border: none !important;
        background: none !important;
        font-size: 12px;
        color: #293B49 !important;
        line-height: 23px !important;
        padding-bottom: 5px !important;
    }

    .section-header-tabs .home-tabs button.active {
        color: #016CB0 !important;
        border-bottom: 2px solid #016CB0 !important;
    }

    .section-header-tabs .home-tabs {
        width: 100%;
        justify-content: center;
    }

    .container-banners-home {
        padding-left: 0px !important;
        padding-right: 0px !important;
    }

    .home-banner-section,
    .home-banner-section .full-banner {
        height: 66px !important;
        border-radius: 0px !important;
        background-size: contain !important;
        background-position: center !important;
    }

    .home-banner-section .carousel-container {
        transform: translateY(80px) !important;
    }

    .banner-fullwidth {
        height: 81px !important;
    }

    .quick-cards-grid {
        display: flex !important;
    }

    .quick-cards-grid>* {
        width: calc(50% - 10px) !important;
    }

    .tourism-header+.tourism-gallery {
        position: relative !important;
        left: 0px !important;
        margin-top: 0px !important;
        width: calc(calc(100vw - 67px) * 3) !important;
    }

    .quick-card .label {
        font-size: 16px !important;
    }

    .quick-card .label {
        font-size: 16px !important;
    }

    .quick-card .card-strip,
    .quick-card .acess-btn {
        display: none !important;
    }

    .quick-card {
        gap: 0px !important;
        height: 115px !important;
    }

    .quick-card .icon {
        margin-left: 141px !important;
        margin-top: -84px !important;
        width: 16px !important;
        height: 16px !important;
    }

    .quick-card .icon img {
        width: 16px !important;
        height: 16px !important;
    }

    body.template-home {
        .section-title-home {
            font-size: 18px !important;
            font-weight: 700 !important;
        }

        .section-title-home::after {
            display: none !important;
        }

        .view-all-link {
            display: none !important;
        }

        .news-grid {
            display: flex !important;
            flex-direction: column !important;
        }

        .news-grid>a {
            display: block !important;
            opacity: 1 !important;
            background: white;
            padding: 10px 9px;
            border-radius: 15px;
        }

        .news-grid>a:nth-child(2),
        .news-grid>a:nth-child(3) {
            display: flex !important;
        }

        .news-grid>a:nth-child(2) .news-thumb,
        .news-grid>a:nth-child(3) .news-thumb {
            width: 111px !important;
            height: 104px !important;
        }

        .news-grid>a:nth-child(4) {
            display: none !important;
        }

        .news-grid+.carousel-container {
            display: none !important;
        }

        .service-card>a {
            display: none !important;
        }

        .service-card-home {
            min-height: max-content !important;
            margin-left: 41px;
            margin-right: 41px;
            box-shadow: none;
            border: none;
            border-radius: 30px;
        }

        .services-grid.home-services-grid {
            padding-bottom: 25px;
            padding-top: 25px;
        }

        .services-grid.home-services-grid .service-card {
            flex-direction: row !important;
            flex-wrap: nowrap !important;
            align-items: center;

            .card-header-area {
                font-size: 0px !important;
                height: max-content !important;
                border: none !important;
                padding: 0px !important;
                gap: 0px !important;
                padding-left: 15px !important;
            }

            .card-badges {
                display: none !important;
            }

            .card-title {
                height: max-content !important;
                margin-bottom: 0px !important;
                font-size: 16px !important;
            }

            .card-body {
                height: max-content !important;
            }
        }

        .service-card-home:nth-child(2n) {
            display: none !important;
        }
    }

    .home-section.services-section+a {
        display: none !important;
    }

    .service-card-home .card-title {
        -webkit-line-clamp: 2 !important;
    }

    .service-card-home .card-body {
        background-position: -2px -17px !important;
    }

    .service-card-home .service-card {
        background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="9" viewBox="0 0 5 9" fill="none"><path d="M4.79078 3.97052C5.06974 4.26337 5.06974 4.73897 4.79078 5.03182L1.22015 8.78036C0.941196 9.07321 0.488172 9.07321 0.209217 8.78036C-0.0697388 8.4875 -0.0697388 8.01191 0.209217 7.71905L3.2755 4.5L0.211448 1.28094C-0.0675074 0.98809 -0.0675074 0.512495 0.211448 0.219641C0.490404 -0.0732136 0.943428 -0.0732136 1.22238 0.219641L4.79302 3.96818L4.79078 3.97052Z" fill="%23293B49"/></svg>');
        background-repeat: no-repeat;
        background-position: calc(100% - 14px) 50% !important;
    }

    .home-section.subjects-section .car-title {
        margin-bottom: 0px !important;
    }

    .home-section.pub-comm-section .carousel-container {
        transform: translateY(calc(80vw - 75px)) !important;
    }

    .tourism-header {
        h2 {
            font-size: calc(20px * var(--var-fontscale)) !important;
        }

        p {
            font-size: calc(14px * var(--var-fontscale)) !important;
        }
    }

    .tourism-section {
        padding: 26px 20px !important;
        height: 585px !important;
    }

    .unit-card {
        max-width: calc(50% - 10px);
    }

    .unit-card button {
        max-width: 100%;
    }

    .units-section {
        background-position: left top !important;
        background-size: auto 444px !important;
        background-repeat: no-repeat !important;
        padding-top: 44px !important;
    }

    .cookie-consent-actions {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
    }

    .cookie-consent-actions>* {
        width: 50% !important;
    }

    .cookie-consent-box {
        padding: 10px 20px !important;
    }

    .cookie-consent-body {
        padding-bottom: 0px !important;
        margin-bottom: 10px !important;
    }

    .cookie-consent-header {
        padding-bottom: 2px !important;
        margin-bottom: 5px !important;
    }

    .cookie-consent-box {
        bottom: 8px !important;
    }
}

@media (max-width: 600px) {
    .footer-columns {
        grid-template-columns: repeat(1, 1fr);
    }

    .ftc-left {
        gap: 0px;
    }

    .unit-card {
        padding: 14px 12px !important;
    }

    .unit-card button {
        display: none !important;
    }

    .unit-title {
        font-size: calc(10px * var(--var-fontscale)) !important;
    }

    .unit-header {
        margin-bottom: 0px !important;
    }

    .unit-icon,
    .unit-icon img {
        width: 15px !important;
        height: 15px !important;
    }

    .units-grid {
        gap: 10px !important;
    }

    .units-container {
        gap: 36px !important;
    }

    .floating-unit-btn svg {
        height: 44px;
    }
}

/* Unidades */
@media (max-width:1000px) {
    .unidades-map-section {
        display: flex !important;
        flex-direction: column !important;
    }

    .unidades-legend-item {
        padding: 7px 36px !important;
    }

    .unidades-legend-item.active {
        padding: 7px 51px !important;
    }

    .unidades-map-container {
        margin: 0px !important;
    }

    .unidades-info-bar {
        padding: 10px !important;
        font-size: 15px !important;
    }

    .unidades-info-bar b {
        font-size: 16px !important;
    }

    .unidades-results-section {
        padding: 10px !important;
    }

    .unidades-card {
        padding: 20px !important;
    }

    .unidades-card-header {
        margin-bottom: 10px !important;
    }

    .unidades-card-details {
        gap: 0px !important;
    }

    .unidades-card-footer {
        margin-top: 10px !important;
    }

    body.unidades-template .unidades-filters-section {
        display: none !important;
    }
}

/* End Unidades */
/* Busca geral */
@media (max-width:1000px) {
    .results-info .sort-wrapper {
        flex-direction: row !important;
    }

    .results-info .sort-select {
        width: min-content;
    }
}

/* End Busca geral */
/* Publicacoes */
@media (max-width:1000px) {
    .publicacoes-sidebar {
        display: none !important;
    }

    .portal-callout {
        padding: 10px !important;
    }

    .faq-accordion-header {
        padding: 10px 17px !important;
        font-size: calc(17px * var(--var-fontscale)) !important;
    }

    .faq-quick-links-header {
        margin-top: 0px !important;
        margin-bottom: 15px !important;
    }

    .faq-search-box button {
        font-size: calc(17px * var(--var-fontscale)) !important;
        min-width: 105px !important;
        padding: 10px 11px !important;
        height: 38px !important;
    }

    .faq-search-box input {
        height: 38px !important;
        font-size: 16px !important;
    }

    .faq-header-banner h1 {
        font-size: 29px !important;
    }

    .faq-content-grid {
        display: flex !important;
        flex-direction: column !important;
    }

    .article-content,
    .news-content {
        max-width: 100% !important;
    }

    .article-content img {
        max-width: 100% !important;
    }

    .subjects-section .section-title-home {
        margin-bottom: 0px !important;
    }

    body.template-home {
        .section-header-tabs {
            margin-bottom: 0px !important;
        }

        .news-body {
            padding: 0px 20px !important;
        }

        .quick-card .description {
            font-size: 10px !important;
        }

        .quick-access-section {
            margin-top: 36px !important;
        }

        .banner-fullwidth {
            margin-top: 109px !important;
        }

        .comm-banner,
        .pub-list {
            margin-top: 0px !important;
        }

        .news-grid>a:first-child .news-thumb {
            margin-bottom: 10px;
        }

        .units-section {
            margin-bottom: 62px !important;
        }

        .subject-card {
            min-height: 67px !important;
        }

        .home-banner-section {
            margin-top: 53px !important;
        }
    }
}

/* End Publicacoes */

@media (min-width: 768px) {
    .servico-avaliacao-box {
        margin-bottom: 80px !important;
    }
}

@media (max-width: 1000px) {
    .mm-columns {
        flex-direction: column !important;
    }
}