html {
    font-size: 1px;
    color: #fafafa;
    font-weight: 500;
}

@media (max-width: 419px) {
    html {
      font-size: 0.2380952380952381vw;
    }
}
@media (min-width: 420px) and (max-width: 599px) {
    html {
      font-size: 1px;
    }
  }
@media (min-width: 600px) and (max-width: 1023px){
    html {
      font-size: 1px;
    }
}
@media (min-width: 1024px){
    html {
      font-size: 1px;
    }    
}

*{
    border: 0;
    padding: 0;
    margin: 0;
    flex: 0 0 auto;
}

body{
    &{
    font-family: 'Poppins', sans-serif;
    width: 100vw;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    }
    &::before{
        content: "";
        width: 100vw;
        height: 71rem;
        flex-shrink: 0;
        background: 
            url('/static/img/empreendimentos.v20250827210514.png') 2.6385vw 0.0046vw / 100vw 37vw no-repeat,
            #FFF;
    }
    &:has(.mobile){
        &{}
        &::before{
            background: url('/static/img/empreendimentos.v20250827210514.png') 40.6385vw 0.0046vw / 100vw 37vw no-repeat,
            #FFF;
        }
    }

}

main{
    width: 100vw;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 0rem;

}


ol, ul {
    list-style: none;
}


a {
    color: #ff0000;
    text-decoration-color: #ff0000;
    text-decoration-line: underline;
}

a:hover {
    color: #DB241C;
    text-decoration-color: #DB241C;
}

.desktop .somente-mobile{
    display: none!important;
}


.mobile .somente-desktop{
    display: none!important;
}

.some{
    display: none!important;
}

.first_element{
    display: none;
}

.last_element{
    display: none;
}

/* --------------------Carrosseis em geral-------------------- */





/* -------------------- INPUTS -------------------- */

input{
    font-family: 'Poppins', sans-serif;
}

select{
    font-family: 'Poppins', sans-serif;
    appearance: none;
    padding: 0 17.28rem 0 2.88rem;
    background-image: url('/static/img/mini-seta.v20250827210514.svg');
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 14.40rem;
    outline: none;
    border-radius: 4.32rem;
    color: #DB241C;
    border: none;
    text-decoration-color: #DB241C;
    text-decoration-line: underline;
}

.mobile select{
    padding: 0 14.84rem 0 0.64rem;
    background-size: 13.2rem;
    border-radius: 0.96rem;
}



/* -------------------- NAVBAR -------------------- */


header{
    &{
        display: flex;
        width: 96vw;
        height: 37rem;
        padding: 17rem 2vw;
        justify-content: space-between;
        align-items: center;
        flex-shrink: 0;
        z-index: 9999;
        position: fixed;
        top: 0;
        left: 0;
        overflow: visible;
    }
    

    &::before{
        content: '';
        width: 100vw;
        height: 100%;
        position: absolute;
        left: -30rem;
        top: -75rem;
        z-index: -1;
        box-shadow: 0px -2px 90px 30px rgb(0 0 0);
    }
}

header #logo{
    &{
        width: 243.1rem;
        height: 53.942rem;
        background-image: url('/static/icons/logo_inline.v20250827210514.svg');
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        position: relative;
        z-index: 99;
    }
}

header>span{

}

header>span input{
    display: flex;
    width: 202rem;
    height: 33rem;
    padding: 5rem 15rem;
    border-radius: 6rem;
    border: 0.75px solid #FFF;
    background: rgba(0, 0, 0, 0.50);
    box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.25);

    flex-shrink: 0;
    align-self: stretch;
    color: var(--Fundo, #FAFAFA);
    text-shadow: 0px 1.5px 1.5px rgba(0, 0, 0, 0.25);
    font-size: 18rem;
    font-weight: 700;

    &{}

    &::placeholder{
        color: #FAFAFA;
    }
}

header>div{
    &{
        height: 100%;
        height: 150%;
        padding: 0 2vw;
        display: flex;
        align-items: center;
        align-self: stretch;
        flex-direction: row;
        justify-content: flex-start;
        overflow-x: scroll;
        scrollbar-width: none;        /* Firefox */
        -ms-overflow-style: none;     /* IE e Edge antigo */
    }

    &::-webkit-scrollbar {
        display: none;                /* Chrome, Safari e Edge */
    }
    &.dragging {
        &{
            cursor: grabbing;
        }
        & *{
            pointer-events: none;
            user-select: none !important;
        }
    }
    & *{
        user-select: none !important;
    }
    body:has(.mobile) &{
        display: none;
    }
    body header &.open {
        &{
        display: flex;
        flex-direction: column;
        position: absolute;
        right: 0;
        top: 71rem;
        background-color: #00000063;
        height: auto;
        padding: 2vw;
        border-radius: 0rem 0rem 0rem 5rem;

        }


        & nav{
            display: flex;
            flex-direction: column;
            gap: 20rem;

        }
    }
}

header nav{
    &{
        overflow: visible;
        display: flex;
        height: 100%;
        align-items: center;
        gap: 5rem;
        align-self: stretch;
        flex-direction: row;
        align-content: center;
        justify-content: flex-start;
    }
}

header nav a{
    &{
        display: flex;
        height: 20rem;
        padding: 6rem 24rem;
        justify-content: center;
        align-items: center;
        border-radius: 23rem;
        background: rgba(0, 0, 0, 0.50);
        box-shadow: 1px 1px 0px 0px #FFF;
        color: var(--Fundo, #FAFAFA);
        font-size: 16rem;
        text-decoration: none;
        font-weight: 700;
        position: relative;
        overflow: hidden;
        transition: transform 0.3s;
    }

    &:hover{
        transform: scale(1.1);
        color: #FFF;
        text-shadow: 1px 1px 0px #000;
        z-index: 9999;
    }

    &::before {
        content: '';
        position: absolute;
        inset: 0;
        border-radius: 23rem;
        background: repeating-conic-gradient(
            rgb(255, 255, 255) 0deg 25deg,
            rgba(0, 0, 0, 0.5) 50deg 70deg,
            rgb(255, 255, 255) 70deg 100deg
        );
        filter: blur(15rem);
        z-index: -1;
        opacity: 1;
        transition: opacity 2s;

    }
    &:hover::before{
        opacity: 0;
    }
    
    &::after {
        content: '';
        position: absolute;
        inset: 0;
        border-radius: 23rem;
        background: repeating-conic-gradient(
            rgb(255, 255, 255) 0deg 25deg,
            rgba(0, 0, 0, 0.5) 50deg 70deg,
            rgb(255, 255, 255) 70deg 100deg
        );
        filter: blur(30rem);
        z-index: -1;
        animation: none;
        transform: translateX(50%);
        animation: girar 2s infinite paused;
    }

    &:hover::after {
        animation-play-state: running;
    }
}

@keyframes girar {
    0% {
        transform: translateX(-200%);
    }
    100% {
        transform:  translateX(200%);
    }
}


#hamburguer{
    &{
        background-image: url('/static/icons/hamburguer.v20250827210514.svg');
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        width: 40rem;
        height: 100%;
    }

    body:has(.desktop) &{
        display: none;
    }
    
}











.footer {
    width: 100vw;
    padding: 40rem 2vw;
    background: #0a0a0a;
    color: #fafafa;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40rem;
    font-family: 'Poppins', sans-serif;
    font-size: 14rem;
}

.footer-content {
    width: 96vw;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 40rem;
    flex-wrap: wrap;
}

.footer-company {
    flex: 2;
    max-width: 400rem;
    display: flex;
    flex-direction: column;
    gap: 20rem;
    animation: fadeInUp 0.6s ease-out;
}

.footer-logo {
    display: flex;
    align-items: center;
    gap: 10rem;
    margin-bottom: 20rem;
}

.footer-logo .logo-icon {
    width: 50rem;
    height: 50rem;
    background-image: url('/media/favicon.v20250827210514.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    color: #fff;
    border-radius: 10rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24rem;
}

.footer-logo .logo-text h3 {
    font-size: 24rem;
    font-weight: 700;
    margin: 0 0 5rem;
    line-height: 1;
}

.footer-logo .logo-text p {
    font-size: 14rem;
    color: #ccc;
    margin: 0;
    line-height: 1;
}

.company-description {
    font-size: 16rem;
    color: #bbb;
    line-height: 22rem;
    margin-bottom: 20rem;
}

.certifications {
    display: flex;
    gap: 20rem;
    margin-bottom: 20rem;
    justify-content: center;
}

.cert-item {
    display: flex;
    align-items: center;
    gap: 5rem;
    color: #ccc;
    font-size: 14rem;
}

.cert-item i {
    color: #3b82f6;
    font-size: 16rem;
}

.footer-social,
.footer-links,
.footer-contact {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20rem;
    animation: fadeInUp 0.6s ease-out;
}

.footer-social h4,
.footer-links h4,
.footer-contact h4 {
    font-size: 18rem;
    font-weight: 600;
    margin: 0 0 15rem;
    color: #fff;
}
.footer-social h4{
    display: flex;
    justify-content: center;
}

.social-links {
    display: flex;
    gap: 15rem;
    justify-content: center;
    padding-bottom: 10rem;
}

.social-link {
    width: 50rem;
    height: 50rem;
    background: #1e1e1e;
    border-radius: 10rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    text-decoration: none;
}

.social-link i {
    font-size: 18rem;
    color: #ccc;
    transition: color 0.2s;
}

.social-link:hover {
    transform: translateY(-2rem);
}

.social-link:hover i {
    color: #fff;
}

.social-link.instagram:hover { background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); }
.social-link.facebook:hover  { background: #1877f2; }
.social-link.whatsapp:hover  { background: #25d366; }

.footer-nav {
    display: flex;
    flex-direction: column;
    gap: 10rem;
    margin-bottom: 20rem;
}

.footer-nav a {
    color: #bbb;
    text-decoration: none;
    font-size: 14rem;
    padding: 5rem 0;
    transition: color 0.2s;
}

.footer-nav a:hover {
    color: #f63b3b;
}

.services-list h5 {
    font-size: 14rem;
    font-weight: 500;
    color: #fff;
    margin: 0 0 10rem;
    padding-top: 15rem;
    border-top: 1px solid #1e1e1e;
}

.services-list ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.services-list ul li {
    color: #aaa;
    font-size: 13rem;
    line-height: 18rem;
    margin-bottom: 5rem;
}

.contact-items {
    display: flex;
    flex-direction: column;
    gap: 15rem;
    margin-bottom: 20rem;
}

.contact-item {
    display: flex;
    align-items: flex-start;
    gap: 10rem;
}

.contact-item i {
    color: #f63b3b;
    font-size: 18rem;
    margin-top: 2rem;
    flex-shrink: 0;
}

.contact-item div p {
    color: #bbb;
    margin: 0 0 2rem;
    line-height: 18rem;
}

.contact-item div small {
    color: #999;
    font-size: 13rem;
}

/* Parte inferior */
.footer-bottom {
    width: 96vw;
    border-top: 1px solid #1e1e1e;
    padding-top: 20rem;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
    font-size: 13rem;
    color: #999;
}

.footer-links-bottom {
    display: flex;
    align-items: center;
    gap: 20rem;
    font-size: 13rem;
}

.footer-links-bottom a {
    color: #999;
    text-decoration: none;
    transition: color 0.2s;
}

.footer-links-bottom a:hover {
    color: #f63b3b;
}

.footer-links-bottom .creci {
    display: flex;
    align-items: center;
    gap: 5rem;
    color: #999;
}

.footer-links-bottom .creci i {
    color: #f63b3b;
}


/* Animação */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsivo */
@media (max-width: 1024px) {
    .footer-content {
        flex-direction: row;
        gap: 30rem;
    }

    .footer-company {
        flex: 1 1 100%;
        max-width: none;
    }
}

@media (max-width: 768px) {
    .footer-content {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 40rem;
    }

    .footer-social .social-links,
    .certifications {
        flex-wrap: wrap;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 10rem;
        text-align: center;
    }

    .footer-links-bottom {
        flex-wrap: wrap;
        justify-content: center;
    }
}

@media (max-width: 640px) {
    .footer-logo {
        flex-direction: column;
        gap: 15rem;
    }

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

    .contact-item {
        flex-direction: column;
        text-align: center;
        gap: 5rem;
    }

    .footer-links,
    .footer-contact,
    .footer-company {
        padding: 0 20rem;
    }

    .footer-links-bottom {
        flex-direction: column;
        gap: 10rem;
    }

    .footer-bottom {
        padding-top: 15rem;
    }
}
