﻿/* ================================ */
/* Responsive */
/* ================================ */

/* 01. Table Responsive */
@media screen and (max-width: 1025px) {
    h1{
        font-size: 70px;
    }
    h2{
        font-size: 48px;
    }
    h3{
        font-size: 28px;
    }
    h4{
        font-size: 21px;
    }
    h5{
        font-size: 18px;
    }
    button, a{
        font-size: 15px;
    }
    .section-wrapper{
        padding: 20px 20px 20px 20px;
    }
    .heading-section-container,
    .heading-section-container.pricing-heading{
        max-width: 100%;
    }
    .banner-home-top{
        flex-direction: column;
        gap: 0;
    }
    .banner-home-title{
        width: 53%;
    }
    .banner-home-network{
        width: 100%;
        margin-top: -120px;
    }
    .banner-home-social{
        width: 44%;
        flex-direction: row;
        align-self: flex-end;
    }
    .card-banner-reviewer{
        width: 31%;
    }
    .banner-home-bottom{
        gap: 20px;
    }
    .banner-home-community-container{
        width: 34%;
    }
    .nav-btn{
        display: block;
    }
    .navbar-container{
        padding: 40px 40px 0px 40px;
    }
    .navbar .logo-container{
        width: 30%;
    }
    .navbar .nav-link-container{
        display: none;
    }
    .navbar-cta-container{
        display: none;
    }
    .card.banner-home-community{
        flex-direction: column;
    }
    .home-community-img{
        width: 100%;
    }
    .banner-avatar{
        width: 45px;
        min-height: 45px;
    }
    .home-community-img img{
        height: 102px !important;
    }
    .home-community-highlight{
        font-size: 36px;
    }
    .home-community-content{
        width: 100%;
    }
    .banner-home-cta-container{
        width: 62%;
    }
    .banner-avatar-btn{
        width: 45px;
    }
    .about-wrapper{
        flex-direction: column-reverse;
        gap: 50px 50px;
    }
    .about-image-container{
        width: 100%;
    }
    .about-content-description{
        width: 100%;
    }
    .about-description-container{
        width: 100%;
    }
    .about-highlight-text{
        font-size: 36px;
    }
    .about-img img{
        height: 500px;
    }
    .chooseus-title-container{
        width: 100%;
    }
    .chooseus-img img{
        height: 275px;
    }
    .chooseus-card-container{
        width: 100%;
    }
    .booking-process-heading h2{
        max-width: 100%;
    }
    .booking-content-wrapper{
        flex-direction: column-reverse;
        gap: 50px 50px;
    }
    .booking-content-container{
        width: 100%;
    }
    .booking-highlight-container{
        flex-direction: column-reverse;
        width: 100%;
    }
    .booking-tag-container{
        width: 62%;
        justify-content: flex-start;
        align-self: flex-start;
    }
    .booking-form-wrapper{
        flex-direction: column;
        gap: 50px 50px;
    }
    .card-booking-form{
        width: 100%;
    }
    .booking-form-detail{
        width: 100%;
    }
    .academy-title-container{
        flex-direction: column;
        gap: 20px 20px;
    }
    .academy-heading-container{
        width: 100%;
        padding: 0px;
    }
    .academy-title-image{
        width: 45%;
        align-self: center;
        order: 3;
    }
    .academy-title-cta{
        width: 100%;
        order: 2;
        padding: 0px;
    }
    .academy-video-wrapper{
        padding-top: 400px;
    }
    .academy-stat{
        font-size: 48px;
    }
    .benefit-item{
        font-size: 21px;
    }
    .tournament-grid{
        grid-template-columns: 1fr;
    }
    .card-tournament.main-event{
        min-height: 600px;
    }
    .card-tournament.main-event .tournament-tag-container{
        width: 48%;
    }
    .tournament-event-list{
        flex-direction: column-reverse;
    }
    .tournament-cta-title{
        padding: 20px 10px 20px 20px;
    }
    .community-grid{
        grid-template-columns: 1fr;
    }
    .community-images{
        width: 100%;
        height: 430px !important;
    }
    .card-membership-cta.cta-content{
        gap: 20px 20px;
        padding: 30px 30px 30px 30px;
    }
    .membership-cta-description{
        font-size: 18px;
    }
    .card-testimonial{
        width: 65%;
        padding: 20px 20px 20px 20px;
    }
    .testimonial-side .testimonial-avatar--lg {
        width: 70%;
        height: 70%;
    }
    
    .testimonial-side .testimonial-avatar--md {
        width: 60%;
        height: 60%;
    }
    .testimonial-side .testimonial-avatar--sm {
        width: 45%;
        height: 45%;
    }
    .testimonial-quote{
        font-size: 18px;
    }
    .testimonial-name{
        font-size: 18px;
    }
    .breadcrumb-icon,
    .breadcrumb-item{
        font-size: 18px;
    }
    .card-contact-cta{
        padding: 50px 50px 50px 50px;
    }
    .contact-cta-content{
        width: 62%;
    }
    .contact-cta-image .image-wrapper{
        margin: 0px -141px 0px 0px;
    }
    .benefit-img{
        height: 275px !important;
    }
    .team-content-wrapper{
        flex-direction: column-reverse;
        gap: 50px 50px;
    }
    .team-title-wrapper{
        position: relative;
        width: 100%;
        top: 0px;
    }
    .team-card-container{
        width: 100%;
    }
    .accordion .accordion-button{
        font-size: 18px;
    }
    .heading-notfound{
        font-size: 150px;
    }
    .card-blog-category{
        padding: 30px 30px 30px 30px;
    }
    .card-blog-recent{
        padding: 30px 30px 30px 30px;
    }
    .card-blog-tag{
        padding: 30px 30px 30px 30px;
    }
    .post-content-wrapper{
        flex-direction: column;
    }
    .post-main-content{
        width: 100%;
    }
    .post-sidebar-wrapper{
        width: 100%;
    }
    .blog-title{
        font-size: 28px;
    }
    .recent-post-image img{
        border-radius: 10px 10px 10px 10px;
    }
    .card-contact-cta.cta-small-banner .cta-image{
        width: 30%;
    }
    .card-contact-cta.cta-small-banner .cta-image .cta-image-container{
        margin: 0px -66px -136px 0px;
    }
    .card-contact-form{
        padding: 30px 30px 30px 30px;
    }
    .recent-post-body{
        max-width: 100%;
    }    
    .recent-post-body{
        max-width: 100%;
    }
    .footer-copyright-container{
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .footer-logo-container img{
        width: 60%;
    }
}

/* 02. Mobile Responsive */

@media screen and (max-width: 767px) {
    h1{
        font-size: 50px;
    }
    h2{
        font-size: 36px;
    }
    h3{
        font-size: 22px;
    }
    h4{
        font-size: 18px;
    }
    h5{
        font-size: 16;
    }
    h6{
        font-size: 14px;
    }
    p{
        font-size: 16px;
    }
    button, a{
        font-size: 14px;
    }
    .section-wrapper{
        padding: 10px 10px 10px 10px;
    }
    .col:nth-child(even) .card-about-misson {
        margin-bottom: 0px;
    }
    .banner-home-title{
        width: 100%;
        justify-content: center;
        text-align: center;
    }
    .banner-home-network{
        flex-direction: column;
        margin: 0;
    }
    .card-banner-reviewer{
        width: 100%;
        order: 1;
    }
    .card-booking-cta{
        width: 100%;
    }
    .reviewer-card-description{
        font-size: 14px;
    }
    .banner-home-social{
        justify-content: center;
        width: 100%;
        order: 2;
    }
    .banner-home-social .social-link-banner{
        font-size: 14px;
    }
    .banner-home-bottom{
        flex-direction: column-reverse;
    }
    .banner-home-community-container{
        width: 100%;
    }
    .banner-home-cta-container{
        width: 100%;
        text-align: center;
    }
    .banner-home-cta{
        align-items: center;
    }
    .navbar-container{
        padding: 20px 20px 0px 20px;
    }
    .navbar .logo-container{
        width: 50%;
    }
    .sub-heading-title{
        font-size: 14px;
    }
    .about-description-container{
        padding: 20px 0px 0px 0px;
        border: none;
        border-top: 2px solid var(--accent-color-2);
    }
    .about-highlight-text{
        font-size: 28px;
    }
    .about-highlight-box{
        width: 55%;
        text-align: center;
        margin: 0 auto;
    }
    .booking-process-heading{
        text-align: center;
    }
    .booking-benefit-container{
        width: 100%;
    }
    .booking-tag-container{
        width: 100%;
        justify-content: center;
    }
    .academy-heading-container,
    .academy-title-cta{
        text-align: center;
    }
    .academy-title-image{
        width: 100%;
    }
    .academy-video-wrapper{
        padding-top: 250px;
    }
    .academy-stat{
        font-size: 36px;
    }
    .academy-stat-description{
        text-align: center;
        font-size: 14px;
    }
    .benefit-item{
        font-size: 18px;
    }
    .other-tournament-container{
        grid-template-columns: 1fr;
    }
    .card-tournament.tournament-cta{
        grid-template-columns: 1fr;
    }
    .tournament-cta-title{
        padding: 10px 10px 10px 10px;
        text-align: center;
    }
    .card-tournament.main-event .tournament-tag-container{
        width: 100%;
    }
    .tournament-tag-container{
        width: 100%;
    }
    .testimonial-content-container{
        flex-direction: column;
    }
    .testimonial-side{
        width: 100%;
        flex-direction: row;
    }
    .card-membership-cta.cta-content{
        padding: 20px 20px 20px 20px;
    }
    .card-testimonial{
        width: 100%;
    }
    .testimonial-side .testimonial-avatar--lg {
        width: 20%;
        height: 20%;
    }
    .testimonial-side .testimonial-avatar--md {
        width: 20%;
        height: 20%;
    }
    .testimonial-side .testimonial-avatar--sm {
        width: 25%;
        height: 25%;
    }
    .testimonial-side{
        width: 100%;
        min-height: 130px;
        gap: 50px 50px;
    }
    .testimonial-quote{
        font-size: 16px;
    }
    .testimonial-name{
        font-size: 16px;
    }
    .testimonial-designation{
        font-size: 14px;
    }
    .breadcrumb-icon,
    .breadcrumb-item{
        font-size: 16px;
    }
    .membership-cta-description{
        font-size: 16px;
    }
    .cta-tag-container{
        width: 100%;
    }
    .blog-image img{
        min-height: 400px;
    }
    .team-title-container{
        text-align: center;
        justify-content: center;
        align-items: center;
    }
    .card-contact-cta{
        flex-direction: column;
        padding: 20px 20px 300px 20px;
        overflow: hidden;
    }
    .contact-cta-content{
        width: 100%;
        justify-content: center;
        text-align: center;
        align-items: center;
    }
    .contact-cta-image{
        width: 100%;
        justify-content: center;
    }
    .contact-cta-image .image-container{
        margin: 0px 0px -65px 0px;
    }
    .pricing-benefit-list li{
        font-size: 14px;
    }
    .card-benefit{
        flex-direction: column;
        align-items: center;
    }
    .accordion .accordion-button{
        font-size: 16px;
    }
    .heading-notfound{
        font-size: 100px;
    }
    .blog-title{
        font-size: 22px;
    }
    .chevron-circle-list a{
        font-size: 16px;
    }
    .chevron-circle-list li::before{
        font-size: 16px;
    }
    .chevron-list li::before{
        font-size: 14px;
    }
    .chevron-list a{
        font-size: 14px;
    }
    .card-blog-category{
        padding: 20px 20px 20px 20px;
    }
    .card-blog-recent{
        padding: 20px 20px 20px 20px;
    }
    .card-blog-tag{
        padding: 20px 20px 20px 20px;
    }
    .recent-post-title{
        font-size: 16px;
    }
    .card-contact-cta.cta-small-banner .cta-image{
        width: 46%;
    }
    .card-contact-cta.cta-small-banner .cta-image .cta-image-container{
        margin: 0px -71px -35px 0px;
    }
    .card-contact-form{
        padding: 30px 20px 30px 20px;
    }
    .footer-logo-container{
        justify-content: center;
        align-items: center;
    }
    .footer-logo-container img{
        width: 70%;
        display: block;
    }
    .footer-legalink-container .divider{
        height: 14px;
    }
    .legalink{
        font-size: 14px;
    }
}

/* 03. Table Spacing Responsive */

@media screen and (min-width: 1025px){
    /* Flex spacing (gap) */
    .gspace-xl-0 { 
        gap: 0px 0px; 
    }
    .gspace-xl-1 { 
        gap: 10px 10px; 
    }
    .gspace-xl-2 { 
        gap: 20px 20px; 
    }
    .gspace-xl-3 { 
        gap: 30px 30px; 
    }
    .gspace-xl-4 { 
        gap: 40px 40px; 
    }
    .gspace-xl-5 { 
        gap: 50px 50px; 
    }
    .gspace-xl-100{
        gap: 100px 100px;
    }

    /* Grid spacing (column-gap) */

    .gspace-x-xl-0 { 
        column-gap: 0px;
    }
    .gspace-x-xl-1 { 
        column-gap: 10px; 
    }
    .gspace-x-xl-2 {
         column-gap: 20px; 
    }
    .gspace-x-xl-3 { 
        column-gap: 30px; 
    }
    .gspace-x-xl-4 { 
        column-gap: 40px; 
    }
    .gspace-x-xl-5 { 
        column-gap: 50px; 
    }
    .gspace-x-xl-100{
        column-gap: 100px;
    }

    /* Grid spacing (row-gap) */

    .gspace-y-xl-0 { 
        row-gap: 0px; 
    }
    .gspace-y-xl-1 { 
        row-gap: 10px; 
    }
    .gspace-y-xl-2 { 
        row-gap: 20px; 
    }
    .gspace-y-xl-3 { 
        row-gap: 30px; 
    }
    .gspace-y-xl-4 { 
        row-gap: 40px; 
    }
    .gspace-y-xl-5 { 
        row-gap: 50px; 
    }
    .gspace-y-xl-100 {
        row-gap: 100px;
    }

    /* Grid spacing (row-gap & column-gap) */

    .grid-spacer-xl-0 { 
        --bs-gutter-x: 0px; 
        --bs-gutter-y: 0px; 
    }
    .grid-spacer-xl-1 { 
        --bs-gutter-x: 10px; 
        --bs-gutter-y: 10px; 
    }
    .grid-spacer-xl-2 { 
        --bs-gutter-x: 20px; 
        --bs-gutter-y: 20px; 
    }
    .grid-spacer-xl-3 { 
        --bs-gutter-x: 30px; 
        --bs-gutter-y: 30px; 
    }
    .grid-spacer-xl-4 { 
        --bs-gutter-x: 40px; 
        --bs-gutter-y: 40px; 
    }
    .grid-spacer-xl-5 { 
        --bs-gutter-x: 50px; 
        --bs-gutter-y: 50px; 
    }
    .grid-spacer-xl-100 { 
        --bs-gutter-x: 100px; 
        --bs-gutter-y: 100px; 
    }

    /* Grid spacing (column-gap) */

    .grid-spacer-x-xl-0 { 
        --bs-gutter-x: 0px; 
    }
    .grid-spacer-x-xl-1 { 
        --bs-gutter-x: 10px; 
    }
    .grid-spacer-x-xl-1 { 
        --bs-gutter-x: 10px; 
    }
    .grid-spacer-x-xl-2 { 
        --bs-gutter-x: 20px;
    }
    .grid-spacer-x-xl-3 { 
        --bs-gutter-x: 30px; 
    }
    .grid-spacer-x-xl-4 { 
        --bs-gutter-x: 40px; 
    }
    .grid-spacer-x-xl-5 { 
        --bs-gutter-x: 50px; 
    }
    .grid-spacer-x-xl-100 { 
        --bs-gutter-x: 100px; 
    }

    /* Grid spacing (row-gap) */

    .grid-spacer-y-xl-0 { 
        --bs-gutter-y: 0px; 
    }
    .grid-spacer-y-xl-1 { 
        --bs-gutter-y: 10px; 
    }
    .grid-spacer-y-xl-1 { 
        --bs-gutter-y: 10px; 
    }
    .grid-spacer-y-xl-2 { 
        --bs-gutter-y: 20px; 
    }
    .grid-spacer-y-xl-3 { 
        --bs-gutter-y: 30px; 
    }
    .grid-spacer-y-xl-4 { 
        --bs-gutter-y: 40px; 
    }
    .grid-spacer-y-xl-5 { 
        --bs-gutter-y: 50px; 
    }
    .grid-spacer-y-xl-100 { 
        --bs-gutter-y: 100px; 
    }
}

/* 04. Mobile Spacing Responsive */

@media screen and (min-width: 767px){

    /* Flex spacing (gap) */

    .gspace-md-0 { 
        gap: 0px 0px; 
    }
    .gspace-md-1 { 
        gap: 10px 10px; 
    }
    .gspace-md-2 { 
        gap: 20px 20px; 
    }
    .gspace-md-3 { 
        gap: 30px 30px; 
    }
    .gspace-md-4 { 
        gap: 40px 40px; 
    }
    .gspace-md-5 { 
        gap: 50px 50px; 
    }
    .gspace-md-100 { 
        gap: 100px 100px; 
    }

    /* Grid spacing (column-gap) */

    .gspace-x-md-0 { 
        column-gap: 0px; 
    }
    .gspace-x-md-0 { 
        column-gap: 0px; 
    }
    .gspace-x-md-1 { 
        column-gap: 10px; 
    }
    .gspace-x-md-2 { 
        column-gap: 20px; 
    }
    .gspace-x-md-3 { 
        column-gap: 30px; 
    }
    .gspace-x-md-4 { 
        column-gap: 40px; 
    }
    .gspace-x-md-5 { 
        column-gap: 50px; 
    }
    .gspace-x-md-100 { 
        column-gap: 100px; 
    }

    /* Grid spacing (row-gap) */

    .gspace-y-md-0 { 
        row-gap: 0px; 
    }
    .gspace-y-md-1 { 
        row-gap: 10px; 
    }
    .gspace-y-md-2 { 
        row-gap: 20px; 
    }
    .gspace-y-md-3 { 
        row-gap: 30px; 
    }
    .gspace-y-md-4 { 
        row-gap: 40px; 
    }
    .gspace-y-md-5 { 
        row-gap: 50px; 
    }
    .gspace-y-md-100 { 
        row-gap: 100px; 
    }

    /* Grid spacing (row-gap & column-gap) */

    .grid-spacer-md-1 { 
        --bs-gutter-x: 10px; 
        --bs-gutter-y: 10px; 
    }
    .grid-spacer-md-2 { 
        --bs-gutter-x: 20px; 
        --bs-gutter-y: 20px; 
    }
    .grid-spacer-md-3 { 
        --bs-gutter-x: 30px; 
        --bs-gutter-y: 30px; 
    }
    .grid-spacer-md-4 { 
        --bs-gutter-x: 40px; 
        --bs-gutter-y: 40px; 
    }
    .grid-spacer-md-5 { 
        --bs-gutter-x: 50px; 
        --bs-gutter-y: 50px; 
    }
    .grid-spacer-md-100 { 
        --bs-gutter-x: 100px; 
        --bs-gutter-y: 100px; 
    }

    /* Grid spacing (column-gap) */

    .grid-spacer-x-md-0 { 
        --bs-gutter-x: 0px; 
    }
    .grid-spacer-x-md-1 { 
        --bs-gutter-x: 10px; 
    }
    .grid-spacer-x-md-2 { 
        --bs-gutter-x: 20px; 
    }
    .grid-spacer-x-md-3 { 
        --bs-gutter-x: 30px; 
    }
    .grid-spacer-x-md-4 { 
        --bs-gutter-x: 40px; 
    }
    .grid-spacer-x-md-5 { 
        --bs-gutter-x: 50px; 
    }
    .grid-spacer-x-md-100 { 
        --bs-gutter-x: 100px; 
    }

    /* Grid spacing (row-gap) */

    .grid-spacer-y-md-0 { 
        --bs-gutter-y: 0px; 
    }
    .grid-spacer-y-md-1 { 
        --bs-gutter-y: 10px; 
    }
    .grid-spacer-y-md-2 { 
        --bs-gutter-y: 20px; 
    }
    .grid-spacer-y-md-3 { 
        --bs-gutter-y: 30px; 
    }
    .grid-spacer-y-md-4 { 
        --bs-gutter-y: 40px; 
    }
    .grid-spacer-y-md-5 { 
        --bs-gutter-y: 50px; 
    }
    .grid-spacer-y-md-100 { 
        --bs-gutter-y: 100px; 
    }

    
}

/* Ajustes personalizados - Card Adalberto Lima */
@media screen and (max-width: 767px) {

    .card-contact-cta{
        flex-direction: column;
        padding: 40px 25px 40px 25px;
        overflow: hidden;
        position: relative;
    }

    .contact-cta-content{
        width: 100%;
        top: 0;
        text-align: center;
        align-items: center;
        z-index: 2;
    }

    .card-contact-cta h2,
    .card-contact-cta p{
        left: 0;
        top: 0;
        text-align: center;
    }

    .card-contact-cta h2{
        font-size: 36px;
        line-height: 1.15em;
    }

    .card-contact-cta p{
        font-size: 18px;
        line-height: 1.6em;
    }

    .contact-cta-image{
        position: absolute;
        right: 0;
        bottom: 0;
        width: 45%;
        height: 100%;
        margin-top: 0;
    }

    .contact-cta-image .image-wrapper{
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
        transform: translateX(0px);
    }

    .contact-cta-image img{
        width: auto;
        height: 90%;
        max-width: none;
    }
}

/* Banner Mobile - manter proporÃ§Ã£o semelhante ao desktop */
@media screen and (max-width: 767px) {

    .section-banner-inner{
        height: auto;
        min-height: auto;
        aspect-ratio: 1920 / 900;
        overflow: hidden;
    }

    .banner-inner-booking .swiper-slide{
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
    }

    .banner-button-prev,
    .banner-button-next{
        width: 45px;
        height: 45px;
    }

    .banner-button-prev::after,
    .banner-button-next::after{
        font-size: 18px;
    }

}

/* Menu Mobile - ajuste personalizado */
@media screen and (max-width: 767px) {

    .navbar-container{
        padding: 10px 12px 0px 12px;
    }

    .navbar{
        left: 0;
        padding: 0px 10px;
        border-radius: 14px;
    }

    .navbar-nav-container{
        padding: 6px 8px;
    }

    .navbar .logo-container{
        width: 70%;
        height: 42px;
    }

    .navbar .logo-container img{
        width: 190px;
        height: auto;
        max-width: none;
    }

    .nav-btn{
        width: 42px;
        height: 42px;
        padding: 0;
        border-radius: 10px;
        font-size: 18px;
    }
}
/* ================================ */
/* Ajustes responsivos - Adalberto Lima */
/* ================================ */

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

@media screen and (max-width: 767px) {

    .section {
        padding: 80px 20px;
    }

    .section-wrapper {
        padding: 0;
    }

    .hero-container {
        width: 100%;
        max-width: 100%;
    }

    .navbar-container {
        padding: 10px 10px 0;
    }

    .navbar {
        width: 100%;
        min-height: 58px;
        padding: 0 8px;
        border-radius: 14px;
    }

    .navbar-nav-container {
        min-height: 58px;
        padding: 6px 6px;
        gap: 10px;
    }

    .navbar .logo-container {
        width: auto;
        max-width: calc(100% - 58px);
        height: 46px;
        flex: 1 1 auto;
        overflow: hidden;
    }

    .navbar .navbar-brand {
        display: flex;
        align-items: center;
        width: 100%;
        height: 100%;
    }

    .navbar .logo-container img,
    .navbar .logo-container img.img-fluid {
        width: 100% !important;
        max-width: 250px !important;
        height: auto !important;
        max-height: 42px !important;
        object-fit: contain;
        object-position: left center;
    }

    .nav-btn {
        width: 46px;
        min-width: 46px;
        height: 46px;
        padding: 0;
        border-radius: 12px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 46px;
    }

    .section-banner-inner {
        width: 100%;
        height: auto;
        min-height: 0;
        aspect-ratio: 16 / 7.6;
        border-radius: 0;
        overflow: hidden;
        box-shadow: 0 24px 28px rgba(0, 0, 0, 0.18);
    }

    .swiperbookingcustom,
    .swiperbookingcustom .swiper-wrapper,
    .swiperbookingcustom .swiper-slide {
        width: 100%;
        height: 100%;
    }

    .banner-inner-booking .swiper-slide {
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
    }

    .banner-button-prev,
    .banner-button-next {
        width: 42px;
        height: 42px;
    }

    .banner-button-prev::after,
    .banner-button-next::after {
        font-size: 17px;
    }

    .card-contact-cta {
        min-height: 345px;
        padding: 38px 26px;
        border-radius: 18px;
        overflow: hidden;
        
    }

    .card-contact-cta::before {
        width: 72%;
        height: 72%;
        left: 22%;
        top: 2%;
        background-size: contain;
        background-position: center;
        opacity: 0.38;
    }

    .contact-cta-content {
        width: 100%;
        max-width: 100%;
        align-items: center;
        text-align: center;
        gap: 18px;
        position: relative;
        z-index: 2;
    }

    .card-contact-cta h2,
    .card-contact-cta p {
        left: auto;
        top: auto;
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }

    .card-contact-cta h2 {
        font-size: clamp(30px, 8.3vw, 38px);
        line-height: 1.15em;
    }

    .card-contact-cta p {
        max-width: 95%;
        font-size: clamp(16px, 4.1vw, 18px);
        line-height: 1.58em;
    }

    .contact-cta-image {
        width: 42%;
        height: 100%;
        right: -2%;
        bottom: 0;
        position: absolute;
        pointer-events: none;
        z-index: 1;
    }

    .contact-cta-image .image-wrapper {
        width: 100%;
        height: 100%;
        margin: 0;
        transform: none;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
    }

    .contact-cta-image img {
        width: auto;
        height: 90%;
        max-width: none;
        object-fit: contain;
        display: block;
    }
}

@media screen and (max-width: 480px) {

    .navbar-container {
        padding: 8px 10px 0;
    }

    .navbar,
    .navbar-nav-container {
        min-height: 54px;
    }

    .navbar .logo-container {
        height: 42px;
        max-width: calc(100% - 54px);
    }

    .navbar .logo-container img,
    .navbar .logo-container img.img-fluid {
        max-width: 225px !important;
        max-height: 38px !important;
    }

    .nav-btn {
        width: 42px;
        min-width: 42px;
        height: 42px;
        flex-basis: 42px;
    }

    .section-banner-inner {
        aspect-ratio: 16 / 7.8;
    }

    .card-contact-cta {
        min-height: 345px;
        padding: 34px 24px;
    }

    .card-contact-cta h2 {
        font-size: clamp(28px, 8vw, 34px);
    }

    .card-contact-cta p {
        max-width: 96%;
        font-size: 16px;
        line-height: 1.55em;
    }

    .contact-cta-image {
        width: 40%;
        right: -4%;
    }

    .contact-cta-image img {
        height: 86%;
    }
}
/* ================================ */
/* Foco mobile: menu e slide */
/* ================================ */

@media screen and (max-width: 767px) {

    .navbar-container {
        padding: 8px 12px 0;
    }

    .navbar {
        min-height: 54px;
        padding: 0 8px;
        border-radius: 15px;
        background-color: rgba(0, 0, 0, 0.90);
        border: 1px solid rgba(255, 255, 255, 0.12);
        box-shadow: 0 10px 22px rgba(0, 0, 0, 0.28);
    }

    .navbar::before {
        border-radius: inherit;
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
    }

    .navbar-nav-container {
        min-height: 54px;
        padding: 5px 6px;
        gap: 10px;
    }

    .navbar .logo-container {
        width: auto;
        max-width: calc(100% - 56px);
        height: 40px;
        flex: 1 1 auto;
        overflow: hidden;
    }

    .navbar .navbar-brand {
        height: 100%;
        display: flex;
        align-items: center;
    }

    .navbar .logo-container img,
    .navbar .logo-container img.img-fluid {
        width: 100% !important;
        max-width: 235px !important;
        max-height: 36px !important;
        height: auto !important;
        object-fit: contain;
        object-position: left center;
    }

    .nav-btn {
        width: 42px;
        min-width: 42px;
        height: 42px;
        flex: 0 0 42px;
        border-radius: 11px;
        font-size: 18px;
    }

    .section-banner-inner {
        aspect-ratio: 1920 / 900;
        height: auto;
        min-height: 0;
        background-color: #000;
    }

    .swiperbookingcustom,
    .swiperbookingcustom .swiper-wrapper,
    .swiperbookingcustom .swiper-slide {
        height: 100%;
    }

    .banner-inner-booking .swiper-slide {
        background-size: contain;
        background-position: center center;
        background-repeat: no-repeat;
        background-color: #000;
    }

    .banner-button-prev,
    .banner-button-next {
        width: 40px;
        height: 40px;
        opacity: 0.92;
    }

    .banner-button-prev {
        left: 12px;
    }

    .banner-button-next {
        right: 12px;
    }

    .banner-button-prev::after,
    .banner-button-next::after {
        font-size: 16px;
    }
}

@media screen and (max-width: 480px) {

    .navbar-container {
        padding: 8px 12px 0;
    }

    .navbar,
    .navbar-nav-container {
        min-height: 52px;
    }

    .navbar .logo-container {
        height: 38px;
        max-width: calc(100% - 54px);
    }

    .navbar .logo-container img,
    .navbar .logo-container img.img-fluid {
        max-width: 220px !important;
        max-height: 34px !important;
    }

    .nav-btn {
        width: 40px;
        min-width: 40px;
        height: 40px;
        flex-basis: 40px;
    }
}
/* Mobile: deixar o slide abaixo do menu */
@media screen and (max-width: 767px) {

    main > .section-wrapper.pb-0:first-child {
        padding-top: 70px !important;
    }
}

@media screen and (max-width: 480px) {

    main > .section-wrapper.pb-0:first-child {
        padding-top: 68px !important;
    }
}


/* Mobile: controle individual de zoom e posicao por slide */
@media screen and (max-width: 767px) {

    .banner-inner-booking .banner-slide-1 {
        background-size: 180%;
        background-position: 30% 20%;
    }

    .banner-inner-booking .banner-slide-2 {
         background-size: 180%;
        background-position: 30% 19%;
    }

    .banner-inner-booking .banner-slide-3 {
        background-size: 180%;
        background-position: 42% 20%;
    }

    .banner-inner-booking .banner-slide-4 {
        background-size: 175%;
        background-position: 50% 20%;
    }
}
/* Tablet: menu, slide abaixo do menu e controle individual do enquadramento */
@media screen and (min-width: 768px) and (max-width: 1025px) {

    .navbar-container {
        padding: 16px 24px 0;
    }

    .navbar {
        min-height: 66px;
        padding: 0 12px;
        border-radius: 16px;
        background-color: rgba(0, 0, 0, 0.90);
        border: 1px solid rgba(255, 255, 255, 0.12);
        box-shadow: 0 12px 24px rgba(0, 0, 0, 0.28);
    }

    .navbar::before {
        border-radius: inherit;
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
    }

    .navbar-nav-container {
        min-height: 66px;
        padding: 8px 10px;
        gap: 14px;
    }

    .navbar .logo-container {
        width: auto;
        max-width: calc(100% - 72px);
        height: 50px;
        flex: 1 1 auto;
        overflow: hidden;
    }

    .navbar .navbar-brand {
        height: 100%;
        display: flex;
        align-items: center;
    }

    .navbar .logo-container img,
    .navbar .logo-container img.img-fluid {
        width: 100% !important;
        max-width: 330px !important;
        max-height: 46px !important;
        height: auto !important;
        object-fit: contain;
        object-position: left center;
    }

    .nav-btn {
        width: 54px;
        min-width: 54px;
        height: 54px;
        flex: 0 0 54px;
        border-radius: 13px;
        font-size: 22px;
    }

    main > .section-wrapper.pb-0:first-child {
        padding-top: 92px !important;
    }

    .section-banner-inner {
        aspect-ratio: 1920 / 900;
        height: auto;
        min-height: 0;
        background-color: #000;
    }

    .swiperbookingcustom,
    .swiperbookingcustom .swiper-wrapper,
    .swiperbookingcustom .swiper-slide {
        height: 100%;
    }

    .banner-inner-booking .swiper-slide {
        background-repeat: no-repeat;
        background-color: #000;
    }

    .banner-inner-booking .banner-slide-1 {
        background-size: 180%;
        background-position: 30% 20%;
    }

    .banner-inner-booking .banner-slide-2 {
        background-size: 180%;
        background-position: 30% 19%;
    }

    .banner-inner-booking .banner-slide-3 {
        background-size: 180%;
        background-position: 42% 20%;
    }

    .banner-inner-booking .banner-slide-4 {
        background-size: 175%;
        background-position: 50% 20%;
    }
}
/* Tablet: controle manual da logo */
@media screen and (min-width: 768px) and (max-width: 1025px) {

    .navbar .logo-container {
        height: 50px;
        max-width: calc(100% - 72px);
    }

    .navbar .logo-container img,
    .navbar .logo-container img.img-fluid {
        /* Dica: no tablet, comece entre 300px e 360px. Acima disso pode estourar o menu. */
        max-width: 350px !important;
        /* Dica: no tablet, o ideal e ate 50px. Valores maiores podem vazar para fora do shape. */
        max-height: 80px !important;
        /* Dica: primeiro valor move esquerda/direita; segundo move cima/baixo. Ex: translate(10px, -4px). */
        transform: translate(200px, 0px);
    }
}

/* Mobile: controle manual da logo */
@media screen and (max-width: 767px) {

    .navbar .logo-container {
        height: 40px;
        max-width: calc(100% - 56px);
    }

    .navbar .logo-container img,
    .navbar .logo-container img.img-fluid {
        /* Dica: no mobile, comece entre 220px e 235px. Acima disso pode cortar ou encostar no botao. */
        max-width: 260px !important;
        /* Dica: no mobile, o ideal e ate 38px. Valores maiores podem vazar para fora do shape. */
        max-height: 100px !important;
        /* Dica: primeiro valor move esquerda/direita; segundo move cima/baixo. Ex: translate(10px, -4px). */
        transform: translate(50px, 0px);
    }
}

/* Tablet: controles manuais do card Adalberto */
@media screen and (min-width: 768px) and (max-width: 1025px) {

    .card-contact-cta {
        /* Tamanho geral do card no tablet */
        min-height: 620px;
        padding: 46px 44px 260px;
        border-radius: 20px;
        overflow: hidden;
        transform: translateY(0px);
    }

    .card-contact-cta::before {
        /* Shape de fundo: tamanho e posicao */
        width: 92%;
        height: 78%;
        left: 20%;
        top: 0;
        background-size: contain;
        background-position: center top;
        opacity: 0.34;
    }

    .contact-cta-content {
        width: 100%;
        max-width: 100%;
        align-items: center;
        text-align: center;
        gap: 20px;
        z-index: 2;
    }

    .card-contact-cta h2 {
        /* TITULO tablet: tamanho, posicao e escala */
        font-size: 44px;
        line-height: 1.14em;
        left: 0;
        top: 0;
        text-align: center;
        transform: translate(0px, 0px) scale(1);
        transform-origin: center top;
    }

    .card-contact-cta p {
        /* TEXTO tablet: tamanho, largura, posicao, escala e alinhamento */
        max-width: 84%;
        font-size: 20px;
        line-height: 1.55em;
        left: 0;
        top: 0;
        text-align: center;
        text-align-last: center;
        word-spacing: normal;
        letter-spacing: 0;
        hyphens: auto;
        transform: translate(0px, 0px) scale(1);
        transform-origin: center top;
    }

    .contact-cta-image {
        /* FOTO tablet: largura/altura do bloco e posicao do bloco */
        width: 42%;
        height: 42%;
        right: 1%;
        bottom: 0;
        position: absolute;
        z-index: 1;
        pointer-events: none;
    }

    .contact-cta-image .image-wrapper {
        width: 100%;
        height: 100%;
        margin: 0;
        transform: none;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
    }

    .contact-cta-image img {
        /* FOTO tablet: tamanho, posicao e escala da pessoa */
        height: 118%;
        width: auto;
        max-width: none;
        object-fit: contain;
        transform: translate(0px, 0px) scale(1);
        transform-origin: center bottom;
    }
}
/* Mobile: controles manuais do card Adalberto */
@media screen and (max-width: 767px) {

    .card-contact-cta {
        /* Tamanho geral do card no mobile */
        min-height: 500px;
        padding: 32px 24px 210px;
        border-radius: 16px;
        overflow: hidden;
        transform: translateY(-100px);
    }

    .card-contact-cta::before {
        /* Shape de fundo: tamanho e posicao */
        width: 100%;
        height: 70%;
        left: 18%;
        top: 0;
        background-size: contain;
        background-position: center top;
        opacity: 0.32;
    }

    .contact-cta-content {
        width: 100%;
        max-width: 100%;
        align-items: center;
        text-align: center;
        gap: 18px;
        z-index: 2;
    }

    .card-contact-cta h2 {
        /* TITULO mobile: tamanho, posicao e escala */
        font-size: 36px;
        line-height: 1.15em;
        left: 0;
        top: 0;
        text-align: center;
        transform: translate(0px, 0px) scale(1);
        transform-origin: center top;
    }

    .card-contact-cta p {
        /* TEXTO mobile: tamanho, largura, posicao, escala e alinhamento */
        max-width: 95%;
        font-size: 18px;
        line-height: 1.52em;
        left: 0;
        top: 0;
        text-align: justify;
        text-align-last: center;
        word-spacing: normal;
        letter-spacing: 0;
        hyphens: auto;
        transform: translate(0px, 0px) scale(1);
        transform-origin: center top;
    }

    .contact-cta-image {
        /* FOTO mobile: largura/altura do bloco e posicao do bloco */
        width: 58%;
        height: 46%;
        right: -6%;
        bottom: 0;
        position: absolute;
        z-index: 1;
        pointer-events: none;
    }

    .contact-cta-image .image-wrapper {
        width: 100%;
        height: 100%;
        margin: 0;
        transform: none;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
    }

    .contact-cta-image img {
        /* FOTO mobile: tamanho, posicao e escala da pessoa */
        height: 128%;
        width: auto;
        max-width: none;
        object-fit: contain;
        transform: translate(0px, 0px) scale(0.85);
        transform-origin: center bottom;
    }
}
/* Tablet: centralizar a logo no shape do menu */
@media screen and (min-width: 768px) and (max-width: 1025px) {

    .navbar .logo-container {
        display: flex;
        justify-content: center;
        align-items: center;
        max-width: calc(100% - 72px);
    }

    .navbar .navbar-brand {
        justify-content: center;
    }

    .navbar .logo-container img,
    .navbar .logo-container img.img-fluid {
        object-position: center center;
        transform: translate(0px, 0px);
    }
}
/* Tablet 768 no Window Resizer: centralizar logo mesmo quando o viewport util fica menor */
@media screen and (min-width: 700px) and (max-width: 1025px) {

    .navbar .logo-container {
        display: flex;
        justify-content: center;
        align-items: center;
        max-width: calc(100% - 72px);
    }

    .navbar .navbar-brand {
        justify-content: center;
    }

    .navbar .logo-container img,
    .navbar .logo-container img.img-fluid {
        object-position: center center;
        transform: translate(0px, 0px);
    }
}
/* Mobile horizontal: menu e card como mobile, sem afetar tablet real */
@media screen and (min-width: 768px) and (max-width: 932px) and (max-height: 500px) {

    .navbar-container {
        padding: 8px 12px 0;
    }

    .navbar,
    .navbar-nav-container {
        min-height: 52px;
    }

    .navbar .logo-container {
        height: 40px;
        max-width: calc(100% - 56px);
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .navbar .navbar-brand {
        justify-content: center;
    }

    .navbar .logo-container img,
    .navbar .logo-container img.img-fluid {
        max-width: 300px !important;
        max-height: 100px !important;
        object-position: center center;
        transform: translate(30px, 0px);
    }

    .nav-btn {
        width: 40px;
        min-width: 40px;
        height: 40px;
        flex-basis: 40px;
    }

    main > .section-wrapper.pb-0:first-child {
        padding-top: 68px !important;
    }

    .card-contact-cta {
        min-height: 500px;
        padding: 32px 24px 210px;
        border-radius: 16px;
        overflow: hidden;
        transform: translateY(0px);
    }

    .card-contact-cta::before {
        width: 100%;
        height: 70%;
        left: 18%;
        top: 0;
        background-size: contain;
        background-position: center top;
        opacity: 0.32;
    }

    .contact-cta-content {
        width: 100%;
        max-width: 100%;
        align-items: center;
        text-align: center;
        gap: 18px;
        z-index: 2;
    }

    .card-contact-cta h2 {
        font-size: 36px;
        line-height: 1.15em;
        left: 0;
        top: 0;
        text-align: center;
        transform: translate(0px, 0px) scale(1);
        transform-origin: center top;
    }

    .card-contact-cta p {
        max-width: 95%;
        font-size: 16px;
        line-height: 1.52em;
        left: 0;
        top: 0;
        text-align: justify;
        text-align-last: center;
        word-spacing: normal;
        letter-spacing: 0;
        hyphens: auto;
        transform: translate(0px, 0px) scale(1);
        transform-origin: center top;
    }

    .contact-cta-image {
        width: 58%;
        height: 46%;
        right: -6%;
        bottom: 0;
        position: absolute;
        z-index: 1;
        pointer-events: none;
    }

    .contact-cta-image .image-wrapper {
        width: 100%;
        height: 100%;
        margin: 0;
        transform: none;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
    }

    .contact-cta-image img {
        height: 128%;
        width: auto;
        max-width: none;
        object-fit: contain;
        transform: translate(0px, 0px) scale(0.85);
        transform-origin: center bottom;
    }
}
/* Mobile horizontal: controle manual do menu inteiro */
@media screen and (min-width: 768px) and (max-width: 932px) and (max-height: 500px) {

    .navbar-container {
        /* MENU INTEIRO: move o conjunto. Primeiro X, depois Y. */
        transform: translateX(-50%) translate(-10px, 0px);
        /* MENU INTEIRO: distancia das bordas da tela. */
        padding: 8px 12px 0;
    }

    .navbar-container .hero-container {
        /* MENU INTEIRO: largura maxima do conjunto. */
        max-width: 100%;
        width: 100%;
    }

    .navbar {
        /* SHAPE DO MENU: tamanho, altura e aparencia. */
        width: 100%;
        max-width: 100%;
        min-height: 52px;
        padding: 0 8px;
        border-radius: 15px;
        background-color: rgba(0, 0, 0, 0.90);
        box-shadow: 0 10px 22px rgba(0, 0, 0, 0.28);
    }

    .navbar-nav-container {
        /* CONTEUDO DENTRO DO SHAPE: altura e espacamento. */
        min-height: 52px;
        padding: 5px 6px;
        gap: 10px;
    }

    .navbar .logo-container {
        /* AREA DA LOGO: largura e alinhamento dentro do shape. */
        height: 40px;
        max-width: calc(100% - 56px);
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .navbar .navbar-brand {
        width: 100%;
        justify-content: center;
    }

    .navbar .logo-container img,
    .navbar .logo-container img.img-fluid {
        /* LOGO: tamanho e posicao. Primeiro X, depois Y. */
        max-width: 270px !important;
        max-height: 100px !important;
        object-position: center center;
        transform: translate(30px, 0px);
    }

    .nav-btn {
        /* BOTAO DO MENU: tamanho e posicao. */
        width: 40px;
        min-width: 40px;
        height: 40px;
        flex-basis: 40px;
        transform: translate(0px, 0px);
    }
}
/* Mobile horizontal: controle manual do card inteiro */
@media screen and (min-width: 768px) and (max-width: 932px) and (max-height: 500px) {

    .card-contact-cta {
        /* CARD INTEIRO: mova o conjunto para cima/baixo. Negativo sobe, positivo desce. */
        transform: translateY(-100px);
    }
}








/* Mobile horizontal: controles manuais internos do card */
@media screen and (min-width: 768px) and (max-width: 932px) and (max-height: 500px) {

    .contact-cta-content {
        /* AREA DO TEXTO: largura, alinhamento e posicao do grupo titulo+texto */
        width: 100%;
        max-width: 100%;
        align-items: center;
        text-align: center;
        gap: 18px;
        transform: translate(0px, 0px) scale(1);
        transform-origin: center top;
    }

    .card-contact-cta h2 {
        /* TITULO: tamanho da fonte, posicao e escala */
        font-size: 36px;
        line-height: 1.15em;
        max-width: 100%;
        left: 0;
        top: 0;
        text-align: center;
        transform: translate(-150px, 180px) scale(1);
        transform-origin: center top;
    }

    .card-contact-cta p {
    max-width: 60%;
    font-size: 22px;
    line-height: 1.52em;
    left: 0;
    top: 0;
    text-align: justify;
    text-align-last: left;
    word-spacing: normal;
    letter-spacing: 0;
    hyphens: none;
    overflow-wrap: normal;
    word-break: normal;
    transform: translate(-150px, 200px) scale(1);
    transform-origin: center top;
}

    .contact-cta-image {
        /* BLOCO DA FOTO PNG: largura/altura e posicao do bloco */
        width: 58%;
        height: 46%;
        right: -6%;
        bottom: 0;
        position: absolute;
        z-index: 1;
        pointer-events: none;
    }

    .contact-cta-image .image-wrapper {
        width: 100%;
        height: 100%;
        margin: 0;
        transform: none;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
    }

    .contact-cta-image img {
        /* FOTO PNG: tamanho, posicao e escala da pessoa */
        height: 128%;
        width: auto;
        max-width: none;
        object-fit: contain;
        transform: translate(-50px, 0px) scale(1.2);
        transform-origin: center bottom;
    }
}
/* Tablet 768x1024: controle manual do menu inteiro */
@media screen and (min-width: 768px) and (max-width: 820px) and (min-height: 900px) and (max-height: 1100px) {

    .navbar-container {
        /* MENU INTEIRO: move o conjunto. Primeiro X, depois Y. */
        transform: translateX(-50%) translate(-10px, 0px);
        /* MENU INTEIRO: distancia das bordas da tela. */
        padding: 16px 24px 0;
    }

    .navbar-container .hero-container {
        /* MENU INTEIRO: largura maxima do conjunto. */
        max-width: 100%;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .navbar {
        /* SHAPE DO MENU: largura, altura e aparencia. */
        width: 100%;
        max-width: 100%;
        min-height: 66px;
        padding: 0 12px;
        border-radius: 16px;
        background-color: rgba(0, 0, 0, 0.90);
        box-shadow: 0 12px 24px rgba(0, 0, 0, 0.28);
    }

    .navbar-nav-container {
        /* CONTEUDO DENTRO DO SHAPE: altura e espacamento. */
        min-height: 66px;
        padding: 8px 10px;
        gap: 14px;
    }

    .navbar .logo-container {
        /* AREA DA LOGO: largura e alinhamento dentro do shape. */
        height: 50px;
        max-width: calc(100% - 72px);
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .navbar .navbar-brand {
        width: 100%;
        justify-content: center;
    }

    .navbar .logo-container img,
    .navbar .logo-container img.img-fluid {
        /* LOGO: posicao manual. Primeiro X, depois Y. */
        object-position: center center;
        transform: translate(0px, 0px);
    }

    .nav-btn {
        /* BOTAO DO MENU: tamanho e posicao. */
        width: 54px;
        min-width: 54px;
        height: 54px;
        flex-basis: 54px;
        transform: translate(0px, 0px);
    }
}












/* Tablet 768x1024: controles manuais do card Adalberto */
@media screen and (min-width: 768px) and (max-width: 820px) and (min-height: 900px) and (max-height: 1100px) {

    .card-contact-cta {
        /* CARD INTEIRO: tamanho e posicao. Negativo sobe, positivo desce. */
        min-height: 620px;
        padding: 46px 44px 260px;
        border-radius: 20px;
        overflow: hidden;
        transform: translateY(-120px);
    }

    .card-contact-cta::before {
        /* SHAPE DE FUNDO: tamanho e posicao */
        width: 92%;
        height: 78%;
        left: 20%;
        top: 0;
        background-size: contain;
        background-position: center top;
        opacity: 0.34;
    }

    .contact-cta-content {
        /* AREA DO TEXTO: largura, alinhamento e posicao do grupo titulo+texto */
        width: 100%;
        max-width: 100%;
        align-items: center;
        text-align: center;
        gap: 20px;
        z-index: 2;
        transform: translate(0px, 0px) scale(1);
        transform-origin: center top;
    }

    .card-contact-cta h2 {
       /* TITULO: tamanho da fonte, posicao e escala */
        font-size: 36px;
        line-height: 1.15em;
        max-width: 100%;
        left: 0;
        top: 0;
        text-align: center;
        transform: translate(-120px, 180px) scale(1);
        transform-origin: center top;
    }

    .card-contact-cta p {
    max-width: 68%;
    font-size: 21px;
    line-height: 1.52em;
    left: 0;
    top: 0;
    text-align: justify;
    text-align-last: left;
    word-spacing: -1px;
    letter-spacing: 0;
    hyphens: none;
    overflow-wrap: normal;
    word-break: normal;
    transform: translate(-120px, 200px) scale(1);
    transform-origin: center top;
}

    .contact-cta-image {
        /* BLOCO DA FOTO PNG: largura/altura e posicao do bloco */
        width: 42%;
        height: 42%;
        right: 1%;
        bottom: 0;
        position: absolute;
        z-index: 1;
        pointer-events: none;
    }

    .contact-cta-image .image-wrapper {
        width: 100%;
        height: 100%;
        margin: 0;
        transform: none;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
    }

    .contact-cta-image img {
        /* FOTO PNG: tamanho, posicao e escala da pessoa */
        height: 118%;
        width: auto;
        max-width: none;
        object-fit: contain;
        transform: translate(0px, 0px) scale(1.2);
        transform-origin: center bottom;
    }
}








/* Tablet horizontal 1024x768: mover somente o menu inteiro */
@media screen and (min-width: 933px) and (max-width: 1025px) and (min-height: 700px) and (max-height: 820px) {

    .navbar-container {
        /* MENU INTEIRO: primeiro valor move esquerda/direita, segundo move cima/baixo. */
        transform: translateX(-50%) translate(-10px, 0px);
    }
}
/* Tablet horizontal 1024x768: controles manuais do card Adalberto */
@media screen and (min-width: 933px) and (max-width: 1025px) and (min-height: 700px) and (max-height: 820px) {

    .card-contact-cta {
        /* CARD INTEIRO: tamanho e posicao. Negativo sobe, positivo desce. */
        min-height: 620px;
        padding: 46px 44px 260px;
        border-radius: 20px;
        overflow: hidden;
        transform: translateY(-120px);
    }

    .card-contact-cta::before {
        /* SHAPE DE FUNDO: tamanho e posicao */
        width: 92%;
        height: 78%;
        left: 20%;
        top: 0;
        background-size: contain;
        background-position: center top;
        opacity: 0.34;
    }

    .contact-cta-content {
        /* AREA DO TEXTO: largura, alinhamento e posicao do grupo titulo+texto */
        width: 100%;
        max-width: 100%;
        align-items: center;
        text-align: center;
        gap: 20px;
        z-index: 2;
        transform: translate(0px, 0px) scale(1);
        transform-origin: center top;
    }

    .card-contact-cta h2 {
        font-size: 36px;
        line-height: 1.15em;
        max-width: 100%;
        left: 0;
        top: 0;
        text-align: center;
        transform: translate(-170px, 180px) scale(1);
        transform-origin: center top;
    }

    .card-contact-cta p {
        max-width: 60%;
        font-size: 22px;
        line-height: 1.52em;
        left: 0;
        top: 0;
        text-align: justify;
        text-align-last: left;
        word-spacing: normal;
        letter-spacing: 0;
        hyphens: none;
        overflow-wrap: normal;
        word-break: normal;
        transform: translate(-170px, 200px) scale(1);
        transform-origin: center top;
    }


    .contact-cta-image {
        /* BLOCO DA FOTO PNG: largura/altura e posicao do bloco */
        width: 42%;
        height: 42%;
        right: 1%;
        bottom: 0;
        position: absolute;
        z-index: 1;
        pointer-events: none;
    }

    .contact-cta-image .image-wrapper {
        width: 100%;
        height: 100%;
        margin: 0;
        transform: none;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
    }

    .contact-cta-image img {
        height: 128%;
        width: auto;
        max-width: none;
        object-fit: contain;
        transform: translate(-50px, 0px) scale(1.5);
        transform-origin: center bottom;
    }
}/* Laptop: slide com crop proporcional ao desktop */
@media screen and (min-width: 1026px) and (max-width: 1440px) and (max-height: 900px) {

    .section-banner-inner.banner-inner-booking {
        height: calc(100vw * 600 / 1920) !important;
        min-height: 0 !important;
        max-height: 450px !important;
        aspect-ratio: auto !important;
        overflow: hidden !important;
    }

    .banner-inner-booking .swiperbookingcustom {
        position: absolute !important;
        inset: 0 !important;
        z-index: -1 !important;
    }

    .banner-inner-booking .swiperbookingcustom,
    .banner-inner-booking .swiper-wrapper,
    .banner-inner-booking .swiper-slide {
        width: 100% !important;
        height: 100% !important;
    }

    .banner-inner-booking .swiper-slide,
    .banner-inner-booking .banner-slide-1,
    .banner-inner-booking .banner-slide-2,
    .banner-inner-booking .banner-slide-3,
    .banner-inner-booking .banner-slide-4 {
        background-size: cover !important;
        background-position: center 0% !important;
        background-repeat: no-repeat !important;
    }
}
/* Laptop: controle manual da posicao dos slides */
@media screen and (min-width: 1026px) and (max-width: 1440px) and (max-height: 900px) {

    .banner-inner-booking .banner-slide-1 {
        background-position: center -10% !important;
    }

    .banner-inner-booking .banner-slide-2 {
        background-position: center -10% !important;
    }

    .banner-inner-booking .banner-slide-3 {
        background-position: center -10% !important;
    }

    .banner-inner-booking .banner-slide-4 {
        background-position: center -10% !important;
    }
}
/* Tablet: controle manual da logo da sidebar */
@media screen and (min-width: 768px) and (max-width: 1025px) {

    .sidebar-header .logo {
        /* AREA DA LOGO SIDEBAR: largura, altura e posicao */
        width: 220px;
        height: auto;
        transform: translate(0px, 0px) scale(1);
    }

    .sidebar-header .logo img,
    .sidebar-header img.logo {
        /* IMAGEM DA LOGO SIDEBAR: tamanho e posicao */
        width: 240px !important;
        max-width: none !important;
        height: auto !important;
        transform: translate(-30px, 0px) scale(1);
        transform-origin: left center;
    }
}

/* Mobile: controle manual da logo da sidebar */
@media screen and (max-width: 767px) {

    .sidebar-header .logo {
        /* AREA DA LOGO SIDEBAR: largura, altura e posicao */
        width: 190px;
        height: auto;
        transform: translate(0px, 0px) scale(1);
    }

    .sidebar-header .logo img,
    .sidebar-header img.logo {
        /* IMAGEM DA LOGO SIDEBAR: tamanho e posicao */
        width: 220px !important;
        max-width: none !important;
        height: auto !important;
        transform: translate(-30px, 0px) scale(1);
        transform-origin: left center;
    }
}
/* Tablet: controle manual do botao fechar da sidebar */
@media screen and (min-width: 768px) and (max-width: 1025px) {

    .sidebar-header .close-btn {
        /* BOTAO X SIDEBAR: tamanho e posicao. Primeiro X, depois Y. */
        width: 42px;
        height: 42px;
        min-width: 42px;
        transform: translate(0px, 0px) scale(1);
    }
}

/* Mobile: controle manual do botao fechar da sidebar */
@media screen and (max-width: 767px) {

   .sidebar-header .close-btn {
    width: 38px;
    height: 38px;
    min-width: 38px;
    transform: translate(20px, 0px) scale(1);

    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
}
}
/* Mobile horizontal: controle manual da logo e botao fechar da sidebar */
@media screen and (min-width: 768px) and (max-width: 932px) and (max-height: 500px) {

    .sidebar-header .logo {
        /* AREA DA LOGO SIDEBAR: largura, altura e posicao */
        width: 190px;
        height: auto;
        transform: translate(0px, 0px) scale(1);
    }

    .sidebar-header .logo img,
    .sidebar-header img.logo {
        /* IMAGEM DA LOGO SIDEBAR: tamanho e posicao */
        width: 220px !important;
        max-width: none !important;
        height: auto !important;
        transform: translate(-30px, 0px) scale(1);
        transform-origin: left center;
    }

    .sidebar-header .close-btn {
        /* BOTAO X SIDEBAR: tamanho e posicao. Primeiro X, depois Y. */
        width: 38px;
        height: 38px;
        min-width: 38px;
        transform: translate(20px, 0px) scale(1);
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        line-height: 1;
    }

    .sidebar-header .close-btn span {
        /* LETRA X: ajuste fino dentro do botao. Primeiro X, depois Y. */
        display: block;
        line-height: 1;
        transform: translate(0px, 0px);
    }
}
/* Tablet 768x1024: controle manual do botao fechar da sidebar */
@media screen and (min-width: 768px) and (max-width: 820px) and (min-height: 900px) and (max-height: 1100px) {

    .sidebar-header .close-btn {
        /* BOTAO X SIDEBAR: tamanho e posicao. Primeiro X, depois Y. */
        width: 42px;
        height: 42px;
        min-width: 42px;
        transform: translate(0px, 0px) scale(1);
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        line-height: 1;
    }

    .sidebar-header .close-btn span {
        /* LETRA X: ajuste fino dentro do botao. Primeiro X, depois Y. */
        display: block;
        line-height: 1;
        transform: translate(0px, 0px);
    }
}
/* Tablet horizontal 1024x768: controle manual do botao fechar da sidebar */
@media screen and (min-width: 933px) and (max-width: 1025px) and (min-height: 700px) and (max-height: 820px) {

    .sidebar-header .close-btn {
        /* BOTAO X SIDEBAR: tamanho e posicao. Primeiro X, depois Y. */
        width: 42px;
        height: 42px;
        min-width: 42px;
        transform: translate(0px, 0px) scale(1);
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        line-height: 1;
    }

    .sidebar-header .close-btn span {
        /* LETRA X: ajuste fino dentro do botao. Primeiro X, depois Y. */
        display: block;
        line-height: 1;
        transform: translate(0px, 0px);
    }
}
/* Mobile horizontal: controle correto das 3 linhas do botao azul do menu */
@media screen and (min-width: 600px) and (max-width: 932px) and (orientation: landscape) {

    button.nav-btn {
        /* BOTAO AZUL: centraliza qualquer conteudo dentro dele */
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        line-height: 1 !important;
        text-align: center !important;
    }

    button.nav-btn i,
    button.nav-btn .fa-solid,
    button.nav-btn .fa-bars-staggered {
        /* 3 LINHAS: ajuste fino. Primeiro X, depois Y. Negativo sobe/esquerda, positivo desce/direita. */
        position: relative !important;
        display: block !important;
        width: auto !important;
        height: auto !important;
        line-height: 1 !important;
        margin: 0 !important;
        padding: 0 !important;
        left: auto !important;
        top: auto !important;
        transform: translate(0px, -1px) scale(1) !important;
        transform-origin: center center !important;
    }

    button.nav-btn i::before,
    button.nav-btn .fa-solid::before,
    button.nav-btn .fa-bars-staggered::before {
        /* DESENHO DAS 3 LINHAS: microajuste interno. Primeiro X, depois Y. */
        display: block !important;
        line-height: 1 !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: translate(0px, 0px) scale(1) !important;
        transform-origin: center center !important;
    }
}
/* Mobile real Android/iPhone vertical: reforco dos ajustes aprovados */
@media screen and (max-width: 480px) and (orientation: portrait) {

    .section {
        padding-left: 20px;
        padding-right: 20px;
    }

    .navbar-container {
        /* MENU INTEIRO: distancia do topo e laterais no celular real */
        width: calc(100% - 24px);
        max-width: calc(100% - 24px);
        left: 50%;
        right: auto;
        padding: 10px 0 0;
        transform: translateX(-50%) translate(0px, 0px);
    }

    .navbar {
        /* SHAPE DO MENU: tamanho e formato */
        width: 100%;
        min-height: 58px;
        padding: 0 8px;
        border-radius: 14px;
    }

    .navbar-nav-container {
        min-height: 58px;
        padding: 6px 6px;
        gap: 10px;
    }

    .navbar .logo-container {
        /* AREA DA LOGO: mantem espaco para o botao azul */
        width: auto;
        max-width: calc(100% - 58px);
        height: 46px;
        flex: 1 1 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
    }

    .navbar .navbar-brand {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
    }

    .navbar .logo-container img,
    .navbar .logo-container img.img-fluid {
        /* LOGO: tamanho e posicao no celular real */
        width: 190px !important;
        max-width: none !important;
        max-height: 42px !important;
        height: auto !important;
        object-fit: contain;
        object-position: center center;
        transform: translate(0px, 0px) scale(1);
        transform-origin: center center;
    }

    .nav-btn {
        width: 46px;
        min-width: 46px;
        height: 46px;
        flex: 0 0 46px;
        padding: 0;
        border-radius: 12px;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
    }

    .card-contact-cta {
        /* CARD INTEIRO: mesmo ajuste aprovado no mobile vertical */
        min-height: 500px;
        padding: 32px 24px 210px;
        border-radius: 16px;
        overflow: hidden;
        transform: translateY(-100px);
    }

    .card-contact-cta::before {
        width: 100%;
        height: 70%;
        left: 18%;
        top: 0;
        background-size: contain;
        background-position: center top;
        opacity: 0.32;
    }

    .contact-cta-content {
        width: 100%;
        max-width: 100%;
        align-items: center;
        text-align: center;
        gap: 18px;
        z-index: 2;
    }

    .card-contact-cta h2 {
        font-size: 36px;
        line-height: 1.15em;
        left: 0;
        top: 0;
        text-align: center;
        transform: translate(0px, 0px) scale(1);
        transform-origin: center top;
    }

    .card-contact-cta p {
        max-width: 95%;
        font-size: 18px;
        line-height: 1.52em;
        left: 0;
        top: 0;
        text-align: justify;
        text-align-last: center;
        word-spacing: normal;
        letter-spacing: 0;
        hyphens: auto;
        transform: translate(0px, 0px) scale(1);
        transform-origin: center top;
    }

    .contact-cta-image {
        width: 58%;
        height: 46%;
        right: -6%;
        bottom: 0;
        position: absolute;
        z-index: 1;
        pointer-events: none;
    }

    .contact-cta-image .image-wrapper {
        width: 100%;
        height: 100%;
        margin: 0;
        transform: none;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
    }

    .contact-cta-image img {
        height: 128%;
        width: auto;
        max-width: none;
        object-fit: contain;
        transform: translate(0px, 0px) scale(0.85);
        transform-origin: center bottom;
    }
}
/* Redmi Note 14 vertical real: 384x713 */
@media screen and (min-width: 360px) and (max-width: 400px) and (min-height: 650px) and (max-height: 760px) and (orientation: portrait) {

    html,
    body {
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }


    

    .navbar-container {
        /* MENU INTEIRO REDMI: primeiro X, depois Y */
        width: calc(100% - 24px);
        max-width: calc(100% - 24px);
        left: 50%;
        right: auto;
        padding: 10px 0 0;
        transform: translateX(-50%) translate(0px, 0px);
    }

    .navbar {
        min-height: 58px;
        padding: 0 8px;
        border-radius: 14px;
    }

    .navbar-nav-container {
        min-height: 58px;
        padding: 6px 6px;
        gap: 10px;
    }

    .navbar .logo-container {
        /* AREA DA LOGO REDMI */
        width: auto;
        max-width: calc(100% - 58px);
        height: 46px;
        flex: 1 1 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
    }

    .navbar .navbar-brand {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
    }

    .navbar .logo-container img,
    .navbar .logo-container img.img-fluid {
        /* LOGO REDMI: tamanho e posicao. Primeiro X, depois Y */
        width: 250px !important;
        max-width: none !important;
        max-height: 42px !important;
        height: auto !important;
        object-fit: contain;
        object-position: center center;
        transform: translate(0px, 0px) scale(1);
        transform-origin: center center;
    }

    .nav-btn {
        width: 46px;
        min-width: 46px;
        height: 46px;
        flex: 0 0 46px;
        padding: 0;
        border-radius: 12px;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
    }

    .card-contact-cta {
        /* CARD INTEIRO REDMI: tamanho e posicao. Negativo sobe, positivo desce */
        min-height: 500px;
        padding: 32px 24px 210px;
        border-radius: 16px;
        overflow: hidden;
        transform: translateY(-100px);
    }

    .card-contact-cta::before {
        width: 100%;
        height: 70%;
        left: 18%;
        top: 0;
        background-size: contain;
        background-position: center top;
        opacity: 0.32;
    }

    .contact-cta-content {
        width: 100%;
        max-width: 100%;
        align-items: center;
        text-align: center;
        gap: 18px;
        z-index: 2;
    }

    .card-contact-cta h2 {
        /* TITULO REDMI: tamanho, posicao e escala */
        font-size: 36px;
        line-height: 1.15em;
        left: 0;
        top: 0;
        text-align: center;
        transform: translate(0px, 0px) scale(1);
        transform-origin: center top;
    }

    .card-contact-cta p {
        /* TEXTO REDMI: largura, tamanho, posicao e escala */
        max-width: 95%;
        font-size: 18px;
        line-height: 1.52em;
        left: 0;
        top: 0;
        text-align: justify;
        text-align-last: center;
        word-spacing: normal;
        letter-spacing: 0;
        hyphens: auto;
        transform: translate(0px, 0px) scale(1);
        transform-origin: center top;
    }

    .contact-cta-image {
        /* FOTO REDMI: largura/altura do bloco e posicao */
        width: 58%;
        height: 46%;
        right: -6%;
        bottom: 0;
        position: absolute;
        z-index: 1;
        pointer-events: none;
    }

    .contact-cta-image .image-wrapper {
        width: 100%;
        height: 100%;
        margin: 0;
        transform: none;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
    }

    .contact-cta-image img {
        /* FOTO PNG REDMI: tamanho, posicao e escala */
        height: 128%;
        width: auto;
        max-width: none;
        object-fit: contain;
        transform: translate(0px, 0px) scale(0.85);
        transform-origin: center bottom;
    }
}
