/* SECTION BANNER*/
.banner {
    position: relative;
    width: 100%;
    padding: 40px 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--bs-light);
    min-height: auto;
}

    .banner video {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 1;
    }

    .banner::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(0deg, rgba(0,0,0,0.40) 0%, rgba(0,0,0,0.40) 100%), linear-gradient(180deg, rgba(0,0,0,0.00) 40.37%, #000 100%);
        backdrop-filter: blur(4px);
        z-index: 2;
    }

.banner-content {
    position: relative;
    z-index: 3;
    width: 100%;
    margin: 40px 16px;
    padding: 30px 20px;
    border-radius: 20px;
    background: rgba(13, 13, 13, 0.65);
    backdrop-filter: blur(2px);
}

.banner-title {
    color: var(--bs-warning);
    font-size: clamp(32px, 8vw, 48px);
    font-weight: 700;
    line-height: 1.1;
}

.banner-subtitle {
    color: var(--bs-warning);
    font-size: clamp(18px, 6vw, 28px);
    font-weight: 600;
}

.banner-text {
    font-size: clamp(14px, 4vw, 18px);
    font-weight: 400;
}

.banner-info {
    font-size: clamp(13px, 4vw, 16px);
    font-weight: 400;
}

    .banner-info .stars {
        color: var(--bs-warning);
        font-size: clamp(14px, 4vw, 18px);
    }

.banner-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 20px;
}

    .banner-footer > div {
        /*flex: 1 1 0%;*/
    }

    .banner-footer h5 {
        color: var(--bs-warning);
        font-size: clamp(18px, 5vw, 22px);
        font-weight: 800;
    }

    .banner-footer small {
        font-size: clamp(12px, 4vw, 16px);
        color: var(--bs-light);
    }

.d-flex.gap-3 {
    flex-direction: row;
}

    .d-flex.gap-3 button {
        width: 100%;
    }

@media (min-width: 768px) {
    .banner {
        min-height: 100vh;
        padding: 0;
    }

    .banner-content {
        margin: 40px 24px;
        border-radius: 30px;
        padding: 40px 30px;
        margin-top: 88px;
    }

    .banner-footer {
        flex-direction: row;
        justify-content: space-between;
    }

    .d-flex.gap-3 {
        flex-direction: row;
    }

        .d-flex.gap-3 button {
            width: auto;
        }
}

@media (min-width: 1024px) {
    .banner-content {
        max-width: 886px;
        margin: 60px auto;
    }

    .banner-title {
        font-size: clamp(48px, 6vw, 72px);
    }

    .banner-subtitle {
        font-size: clamp(20px, 3vw, 32px);
    }

    .banner-text {
        font-size: 18px;
    }
}

@media (min-width: 1400px) {
    .banner-content {
        max-width: 1120px;
    }

    .banner-title {
        font-size: clamp(72px, 6vw, 106px);
    }

    .banner-subtitle {
        font-size: clamp(28px, 3vw, 36px);
    }

    .banner-text {
        font-size: 20px;
    }

    .banner-info {
        font-size: 18px;
    }

    .banner-footer h5 {
        font-size: 32px;
    }

    .banner-footer small {
        font-size: 20px;
    }
}

@media (min-width: 1600px) {
    .banner-content {
        max-width: 1400px;
    }

}

/* END SECTION BANNER*/


/* SECTION VERSIONS */

.title-version {
    color: var(--bs-warning);
    text-align: center;
    font-family: "Open Sans";
    font-size: 50px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: -1px;
}

.subtitle-version {
    color: var(--bs-light);
    text-align: center;
    font-family: "Open Sans";
    font-size: 30px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}


.nav-pills .nav-link {
    border-radius: 100px;
    background-color: transparent;
    color: var(--bs-light);
    padding: 6px 18px;
    transition: 0.3s;
    font-family: "Open Sans";
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 28px; /* 140% */
}

    .nav-pills .nav-link.active {
        background: #0D0D0D;
        color: var(--bs-warning) !important;
    }


.card-feature {
    border-radius: 10px;
    border: 0.5px solid rgba(255, 175, 31, 0.55);
    background: #0D0D0D;
    padding: 40px;
    transition: all 0.3s ease-in-out;
    height: 100%;
    cursor: pointer;
}

    .card-feature:hover {
        border-color: var(--bs-warning);
    }

.card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    background-color: #222;
    color: var(--bs-warning);
    border-radius: 5px;
    margin-right: 10px;
    font-size: 18px;
}

@media (max-width: 767px) {
    .row.g-3 {
        display: grid;
        grid-auto-flow: column; /* Faz os grupos irem para a direita */
        grid-template-rows: repeat(3, auto); /* 3 linhas por grupo */
        gap: 3px; /* Espaçamento entre cards */
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

        .row.g-3 > [class*="col-"] {
            flex: none; /* Evita que o flex original interfira */
            width: 322px; /* Largura automática para caber no scroll */
        }

    .card-feature {
        padding: 20px;
    }

    .replace-md-white {
        color: var(--bs-light) !important;
    }
}


/* END SECTION VERSIONS */


/* 3D KITCHEN */
.badge-custom {
    border-radius: 9999px;
    padding: 4px 12px;
    font-size: 14px;
}

.env-image {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
}

.env-button {
    width: 100%;
    margin-bottom: 10px;
    background-color: #222;
    color: #fff;
    border: none;
    padding: 12px;
    border-radius: 6px;
    text-align: left;
    font-weight: 500;
    transition: background-color 0.3s;
}

    .env-button:hover {
        background-color: #333;
    }

.env-active {
    background-color: var(--bs-warning) !important;
    color: #000 !important;
}

    .env-active i {
        color: #000 !important;
    }
/* END: 3D KITCHEN */


/* TESTIMONIALS */
.slider-container {
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    margin: auto;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    position: relative;
}

.slider-track {
    display: flex;
    gap: 20px;
}

.card-testimonials {
    flex: 0 0 100%; 
    min-width: 0;
    box-sizing: border-box;
    word-wrap: break-word;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    border-radius: 10px;
}

    .card-testimonials .card-body {
        padding-bottom: 23px;
        padding-top: 23px;
    }


/* Setas */
.arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    /*background: rgba(0,0,0,0.6);*/
    color: rgba(255, 175, 31, 1);
    width: 40px;
    height: 100%;
    /*border-radius: 50%;*/
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 34px;
    z-index: 10;
    user-select: none;
}

.arrow-left {
    /*left: 1.5px;*/
    left: 0;
    background: linear-gradient(to right, rgba(0,0,0,0.9), rgba(0,0,0,0));
}

.arrow-right {
    /*right: 1.5px;*/
    right: 0;
    background: linear-gradient(to left, rgba(0,0,0,0.9), rgba(0,0,0,0));
}


.arrow:hover {
    /*background: rgba(0,0,0,0.7);*/
    color: rgba(255, 175, 31, 1);
}

@media (max-width: 767px) {
    /*.row.g-3 {
        display: grid;
        grid-auto-flow: column;*/ /* Faz os grupos irem para a direita */
    /*grid-template-rows: repeat(3, auto);*/ /* 3 linhas por grupo */
    /*gap: 3px;*/ /* Espaçamento entre cards */
    /*overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

        .row.g-3 > [class*="col-"] {
            flex: none;*/ /* Evita que o flex original interfira */
    /*width: 330px;*/ /* Largura automática para caber no scroll */
    /*}*/

    .card-feature {
        padding: 20px;
    }
}



.play-video {
    position: absolute;
    top: -70%;
    left: 46%;
    transform: translate(0%, 100%);
    font-size: 3rem;
    color: var(--bs-warning);
    cursor: pointer;
    opacity: 0.7;
}


    .play-video:hover {
        opacity: 1;
    }

@media (min-width: 576px) {
    .card-testimonials {
        flex: 0 0 calc(80% - 1rem);
        box-sizing: border-box;
        min-width: 0;
    }
}

@media (min-width: 992px) {
    .card-testimonials {
        flex: 0 0 calc(56% - 1rem);
        box-sizing: border-box;
        min-width: 0;
    }
}

@media (min-width: 1025px) {
    .card-testimonials {
        flex: 0 0 calc(108% / 3);
        box-sizing: border-box;
        min-width: 0;
    }
}

/* END TESTIMONIALS */

/* DXF */

#dxfContainer {
    background-image: url(/assets_2025/images/default/DXF_img.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    min-height: 500px;
}

@media (max-width: 768px) {
    #dxfContainer {
        min-height: 294px;
    }
}

@media (max-width: 480px) {
    #dxfContainer {
        min-height: 224px;
    }
}

/* END: DXF */


/* FREE TRIAL */
.imagem-worker {
    background-image: url(/assets_2025/images/default/Mobile_img.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    min-height: 555px;
}

.custom-offset {
    padding-left: 32px;
    padding-right: 32px;
}

.download-mobile {
    max-width: 120px;
    width: 100%;
}

.btn-large {
    padding: 12px 28px;
    font-size: 14px;
}

/* ===== TABLET (>=768px) ===== */
@media (min-width: 768px) {
    .custom-offset {
        padding-left: 40px;
        padding-right: 40px;
    }

    .download-mobile {
        max-width: 140px;
    }
}

@media (min-width: 1024px) {
    .custom-offset {
        padding-left: 66px;
        padding-right: 66px;
    }

    .btn-large {
        font-size: 18px;
    }
}

@media (min-width: 1400px) {
    .custom-offset {
        padding-left: 160px;
        padding-right: 160px;
    }
}


.worker {
    width: 100%;
    height: 100%; 
    object-fit: cover; 
    border-radius: 0; 
}

/* END: FREE TRIAL */



