/* MOBILE HEADER */
@media screen and (max-width: 1080px) {
    .content-fixed,
    main .content-fixed {
        width: 100%;
    }

    #header-top-site {
        width: 100%;
        padding: 15px 30px 12px;
        display: flex;
        margin: 0;
        justify-content: space-between;
        align-items: flex-start;
        min-height: auto;

        background: linear-gradient(270deg,
        rgba(255, 255, 255, 0.9) 0%,
        rgba(255, 255, 255, 0.95) 30%,
        rgba(255, 255, 255, 1) 100%
        );
    }

    #header-top-site .header-content {
        padding: 0;
        width: 100%;
        height: auto;
    }

    #header-top-site .custom-logo-link img {
        width: 140px;
    }

    #header-top-site .navbar-brand {
        display: none;
    }

    #header-top-site .navbar {
        position: relative;
        padding: 0;
    }

    #header-top-site .navbar .navbar-collapse {
        position: absolute;
        top: 64px;
        z-index: 100;
        right: -30px;
        width: 100vw;
        background: linear-gradient(270deg,
        rgba(255, 255, 255, 0.9) 0%,
        rgba(255, 255, 255, 0.95) 30%,
        rgba(255, 255, 255, 1) 100%
        );
    }

    #header-top-site .navbar .container {
        display: flex;
        justify-content: center;
    }

    #header-top-site .navbar .navbar-toggler {
        background: transparent;
        border-color: transparent;
        padding: 0;
        outline: none;
        margin-left: auto;
    }

    #header-top-site .navbar .navbar-toggler-icon {
        background-image: url('../imgs/menu-mobile.svg');
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        width: 48px; /* ajuste o tamanho */
        height: 48px; /* ajuste o tamanho */
    }

    #header-top-site #menu-principal {
        gap: 0;
    }

    #header-top-site #menu-principal li a {
        text-align: left;
        padding: 15px 30px;
        font-size: 1.3rem;
    }

    #header-top-site #menu-principal li:first-child a {
        padding-top: 30px;
    }

    #header-top-site #menu-principal li:last-child a {
        padding-bottom: 30px;
    }

    #header-top-site #menu-principal li b {
        margin: 0;
        padding: 0;
        font-size: 1.3rem;
    }

    #header-top-site #menu-principal li a .menu_barra {
        display: none;
    }

    /* MOBILE SLIDER */
    .slider-content-home {
        margin: 0;
    }

    .slider-content-home .slider-container {
        height: 425px;
        margin-top: -1px;
    }

    .slider-content-home .slider-title {
        text-align: center;
        font-size: 1rem;
        z-index: 1;
        text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.7);
    }

    .slider-content-home .owl-carousel .owl-item img {
        filter: brightness(1); /* 1 = normal, < 1 = mais escuro */
        transition: filter 0.3s ease; /* transição suave */
    }

    .slider-content-home .owl-nav .owl-prev,
    .slider-content-home .owl-nav .owl-next {
        top: calc(50% - 15px);
        font-size: 30px !important;
    }

    .slider-content-home .owl-nav .owl-prev {
        left: 20px;
    }

    .slider-content-home .owl-nav .owl-next {
        right: 20px;
    }

    .slider-content-home .slider-adicional {
        gap: 11px;
        position: absolute;
        top: calc(50% + 5px);
        left: calc(50% - (180px / 2));
        z-index: 10000;
    }

    .slider-content-home .slider-adicional .s-texto {
        gap: 14px;
    }

    .slider-content-home .slider-adicional .s-texto .detalhe {
        width: 6px;
        height: 40px;
        margin-left: -21px;
    }

    .slider-content-home .slider-adicional .s-texto img {
        width: 240px !important;
    }

    .slider-content-home .slider-adicional .botao {
        width: 140px !important;
        height: auto !important;
    }

    /*========================= MAIN =============================*/
    main .introducao {
        height: auto;
        padding: 30px;
        gap: 25px;
    }

    /*========================= INTRO =============================*/
    main .introducao h3,
    main .introducao h4 {
        font-size: 21px;
        text-align: center;
    }

    /*========================= SOBRE =============================*/
    main #sobre {
        padding: 60px 30px;
    }

    main #sobre .sobre-info h3 {
        font-size: 30px;
        letter-spacing: 5px;
    }

    main #sobre .sobre-info .detalhe {
        margin-top: 5px;
    }

    main #sobre .sobre-info .texto {
        margin-top: 50px;
        gap: 40px;
    }

    main #sobre .sobre-info .texto p {
        font-size: 18px;
        line-height: 31px;
    }


    /*** BASES ***/
    main #sobre .sobre-bases {
        margin-top: 50px;
        padding: 0 20px;
        display: grid;
        grid-template-columns: 1fr;
    }

    main #sobre .sobre-bases .fileira {
        display: contents;
    }

    /* Posiciona cada ícone acima de sua informação */
    main #sobre .sobre-bases .fileira:first-child .icone:nth-child(1) {
        order: 1;
        margin-bottom: -20px;
    }

    main #sobre .sobre-bases .fileira:last-child .informacao:nth-child(1) {
        order: 2;
    }

    main #sobre .sobre-bases .fileira:first-child .icone:nth-child(2) {
        order: 3;
    }

    main #sobre .sobre-bases .fileira:last-child .informacao:nth-child(2) {
        order: 4;
    }

    main #sobre .sobre-bases .fileira:first-child .icone:nth-child(3) {
        order: 5;
    }

    main #sobre .sobre-bases .fileira:last-child .informacao:nth-child(3) {
        order: 6;
    }

    main #sobre .sobre-bases .fileira:first-child .icone:nth-child(4) {
        order: 7;
    }

    main #sobre .sobre-bases .fileira:last-child .informacao:nth-child(4) {
        order: 8;
    }

    main #sobre .sobre-bases .fileira .icone,
    main #sobre .sobre-bases .fileira .informacao {
        width: 100%;
        border-right: none !important;
    }

    main #sobre .sobre-bases .fileira .icone {
        height: 100px;
        border-bottom: none;
        padding-top: 45px;
    }

    main #sobre .sobre-bases .fileira .icone:first-child {
        padding-top: 0;
    }

    main #sobre .sobre-bases .fileira .icone img {
        max-width: 72px;
        height: auto;
    }

    main #sobre .sobre-bases .fileira .informacao {
        height: auto;
        padding: 20px 20px 30px;
        margin-top: 0;
        border-bottom: 1px solid var(--color-secondary);
    }

    main #sobre .sobre-bases .fileira .informacao:last-child {
        border-bottom: none;
    }

    main #sobre .sobre-bases .fileira .informacao .titulo {
        font-size: 20px;
        margin-bottom: 8px;
    }

    main #sobre .sobre-bases .fileira .informacao .texto {
        font-size: 20px;
        line-height: 5px;
    }

    main #sobre .sobre-bases .fileira .informacao:nth-child(3) .texto {
        line-height: 30px;
    }

    /*** POLÍTICAS ***/
    main #sobre .politicas {
        margin-top: 70px;
    }

    main #sobre .politicas h3 {
        font-size: 28px;
        letter-spacing: 5px;
    }

    main #sobre .politicas i {
        font-size: 20px;
        text-align: center;
    }

    /*** ACCORDEON ***/
    main #sobre .politicas .items {
        width: 100%;
        gap: 35px;
    }

    main #sobre .politicas .items .accordeon .titulo {
        padding: 12px 20px;
        font-size: 0.9rem;
        border-radius: 10px;
    }

    main #sobre .politicas .items .accordeon .titulo img {
        width: 18px;
    }

    main #sobre .politicas .items .accordeon .content .conteudo, main #sobre .politicas .items .accordeon .content .link {
        font-size: 16px;
        line-height: 30px;
        padding: 0 10px;
    }

    main #sobre .politicas .items .accordeon .conteudo {
        margin-top: 15px;
    }

    /*========================= SERVIÇOS =============================*/
    main #servicos {
        padding: 60px 30px;
    }

    main #servicos h3 {
        font-size: 30px;
    }

    main #servicos .detalhe {
        margin-top: 5px;
    }

    main #servicos h4 {
        font-size: 22px;
        padding: 0;
        font-weight: 700;
        margin-top: 35px;
    }

    /*** cards ***/
    main #servicos .cards {
        grid-template-columns: 1fr;
        margin-top: 50px;
    }

    main #servicos .cards .item {
        min-height: auto;
        gap: 30px;
        padding-top: 25px;
        padding-bottom: 45px;
    }

    main #servicos .cards .item .titulo {
        font-size: 21px;
    }

    main #servicos .cards .item .linha {
        margin-top: 10px;
    }

    main #servicos .cards .item .opcoes {
        gap: 20px;
    }

    main #servicos .cards .item .opcoes div img {
        max-width: 18px;
    }

    main #servicos .cards .item .opcoes div {
        align-items: flex-start;
    }

    main #servicos .cards .item .opcoes div span {
        font-size: 17px;
        margin-top: 0;
        line-height: 17px;
    }

    /*** MODALIDADES ***/
    main #servicos .modalidades {
        width: 100%;
        margin-top: 70px;
    }

    main #servicos .modalidades h5 {
        font-size: 30px;
        margin-top: 0;
    }

    main #servicos .modalidades .items {
        display: none;
    }

    main #servicos .modalidades .items_mobile {
        display: block;
        font-size: 20px;
    }

    /*** Serviços ***/
    main #servicos h2 {
        width: 100%;
        font-size: 32px;
        margin-top: 60px;
        padding: 0;
    }

    main #servicos .saiba_mais {
        margin: 60px 0 25px;
        padding: 20px;
        font-size: 30px;
    }

    main #servicos .saiba_mais img {
        width: 33px;
    }

    /*========================= DIFERENCIAIS =============================*/
    main #diferenciais {
        padding: 0;
    }

    main #diferenciais .bloco_1 {
        width: 100%;
        padding: 60px 30px;
        gap: 40px;
        flex-direction: column;
        align-items: center;
    }

    main #diferenciais .bloco_1 .item {
        margin-top: 0;
        width: 100%;
        align-items: center;
    }

    main #diferenciais .bloco_1 .item .icone {
        width: 120px;
        height: 120px;
        padding: 20px 0;
    }

    main #diferenciais .bloco_1 .item .icone img {
        width: 80px;
    }

    main #diferenciais .bloco_1 .item .textos {
        margin-top: 15px;
        text-align: center;
    }

    main #diferenciais .bloco_1 .item .textos .detalhe {
        width: 80%;
        margin: 0 auto;
    }

    main #diferenciais .bloco_1 .item .textos h4,
    main #diferenciais .bloco_1 .item .textos h5 {
        font-size: 25px;
        line-height: 27px;
    }

    main #diferenciais .bloco_1 .item .textos .horas p,
    main #diferenciais .bloco_1 .item .textos .horas span {
        font-size: 72px;
        line-height: 68px;
    }

    main #diferenciais .bloco_1 .item .textos .paragrafos {
        gap: 12px;
    }

    main #diferenciais .bloco_1 .item .textos .paragrafos p {
        font-size: 20px;
    }

    main #diferenciais .bloco_2 {
        width: 100%;
        padding: 60px 30px;
        gap: 30px;
    }

    main #diferenciais .bloco_2 .texto_1 {
        font-size: 23px;
        line-height: 30px;
        font-weight: 700;
    }

    main #diferenciais .bloco_2 .texto_2 {
        font-size: 20px;
    }

    main #diferenciais .bloco_2 .texto_2 span {
        margin-bottom: 15px;
        display: block;
    }

    /*========================= PORTFÓLIO =============================*/
    main #portfolio .galeria {
        grid-template-columns:repeat(3, 1fr);
    }

    main #portfolio .galeria .container_foto {
        height: 180px;
    }

    main #portfolio .portfolio-carousel .swiper-slide {
        padding-top: 32px;
    }

    main #portfolio .portfolio-carousel .swiper-slide .portfolio-slide-title {
        font-size: 1.3rem;
    }

    /*========================= CLIENTES =============================*/
    main #clientes {
        padding: 80px 30px;
    }

    main #clientes .infos .icon {
        display: none;
    }

    main #clientes .infos .textos {
        width: 100%;
    }

    main #clientes .infos .textos .p1, main #clientes .infos .textos .p2 {
        font-size: 40px;
        text-align: center;
    }

    main #clientes .infos .textos .p3 {
        margin-top: 25px;
        font-size: 23px;
        text-align: center;
    }

    main #clientes .marcas {
        display: none;
    }

    main #clientes .marcas_mobile {
        margin-top: 50px;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }

    main #clientes .marcas_mobile img {
        width: 110px;
        align-self: center;
        justify-self: center;
    }

    /*========================= CONTATO =============================*/
    main #contato {
        padding: 0;
    }

    main #contato .content-fixed {
        margin: 0;
        border-radius: 0;

    }

    main #contato .titulo {
        padding: 30px;
    }

    main #contato .titulo span {
        font-size: 22px;
        font-weight: 500;
        margin: 0;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    }

    main #contato form {
        padding: 30px 30px 60px;
    }

    main #contato form input,
    main #contato form textarea {
        font-size: 20px;
        padding: 10px;
    }

    main #contato form textarea {
        max-height: 100px;
    }

    main #contato form #enviar_form_contato {
        width: 100%;
        height: auto;
        padding: 12px;
        font-size: 22px;
        margin-top: 2px;
    }

    /*========================= ONDE ESTAMOS =============================*/
    main #onde_estamos {
        min-height: auto;
        background-image: url(../imgs/mapa_mobile.jpg);
        padding: 60px 30px 100px;
    }

    main #onde_estamos .content {
        width: 100%;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 30px;
    }

    main #onde_estamos .content .titulo .detalhe {
        height: 4px;
    }

    main #onde_estamos .content .infos .bold {
        font-size: 16px;
        line-height: 22px;
        margin-bottom: 6px;
    }

    main #onde_estamos .content .infos span {
        font-size: 14px;
    }

    main #onde_estamos .content .infos img {
        max-width: 32px;
    }

    /*========================= FOOTER =============================*/
    #footer-site {
        padding: 100px 30px;
    }

    #footer-site .content {
        width: 100%;
        display: flex;
        flex-direction: column;
    }

    #footer-site .content .logo {
        margin: 0 auto 100px 10%;
        height: 72px;
    }

    #footer-site .content .item {

    }

    #footer-site .content .item img {
        max-width: 22px;
    }

    #footer-site .content .item p,
    #footer-site .content .item span {
        font-size: 20px;
        line-height: 32px;
        word-break: break-all;
    }

    #footer-site .content p.follow {
        font-weight: 500;
        margin-top: 20px;
        margin-bottom: 5px;
        font-size: 20px;
        padding-left: 45px;
        line-height: 24px;
        word-break: break-all;
    }
}