﻿body {
}

html,
body {
    font-family: "Poppins", sans-serif;
    overflow-x: hidden;
    z-index: 0;
    position: relative;
}

/* Custom colors */
.bg-custom-004b65 {
    background-color: #004b65;
}

/* =========================
    HERO
========================= */

/* bloco da logo */
.header-brand {
    flex: 0 0 auto;
    width: clamp(160px, 18vw, 380px);
    display: flex;
    align-items: center;
}

/* logo escalável mantendo proporção */
.header-logo {
    width: clamp(260px, 19.9vw, 382px);
    display: block;
}

.hero-section {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding-bottom: 350px;
}

.hero-shell {
    width: 100%;
}

.hero-layout {
    position: relative;
}

.hero-content-wrapper {
    padding-left: clamp(20px, 10vw, 223px);
    position: relative;
    z-index: 2;
}

.hero-content {
    max-width: min(820px, 55vw);
    padding-top: clamp(40px, 6vw, 126px);
}

.hero-text {
    width: 100%;
    max-width: 100%;
}

.hero-title {
    font-size: clamp(28px, 3vw, 58px);
    line-height: 1.08;
    font-weight: 600;
    color: #ffffff;
    margin-top: clamp(30px, 3.6vw, 70px);
}

.hero-description {
    margin-top: clamp(1.25rem, 2.2vw, 2.875rem);
    font-size: clamp(0.95rem, 1.7vw, 2.0625rem);
    line-height: 1.35;
    color: #ffffff;
    font-weight: 400;
    width: clamp(500px, 47vw, 904px);
}


.hero-actions {
    display: flex;
    flex-direction: row;
    gap: clamp(0.75rem, 1.5vw, 1.5rem);
    margin-top: clamp(32px, 3.9vw, 75px);
}

.hero-image,
.hero-image-videos {
    position: absolute;
    top: clamp(80px, 10vw, 150px);
    margin-right: clamp(40px, 13vw, 250px);
    z-index: 1;
    pointer-events: none;
}

    .hero-image img,
    .hero-image-videos img {
        width: clamp(320px, 39.4vw, 757px);
        display: block;
    }

@media (min-width: 1280px) {
    .hero-image-videos,
    .hero-image {
        right: 0;
    }
}

.botao-voltar-home,
.botao-area-associado {
    position: relative;
    z-index: 10;
}

.botao-quero-saber-mais,
.botao-voltar-home {
    color: #ffffff;
    padding: 2px clamp(16px, 2.1vw, 40px);
    border-radius: 29px;
    font-family: "Poppins";
    font-size: clamp(16px, 1.5vw, 29px);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    background-image: linear-gradient(135deg, #0a83d0 0%, #0a83d0 22%, #25b4d8 99%, #25b4d8 100%);
    white-space: nowrap;
    filter: drop-shadow(6.997px 3.878px 13.5px rgba(0,0,0,0.29));
}

.botao-area-associado {
    display: inline-flex;
    padding: 2px clamp(16px, 2.1vw, 40px);
    border-radius: 29px;
    color: #ffffff;
    font-family: "Poppins", sans-serif;
    font-size: clamp(16px, 1.5vw, 29px);
    font-weight: 600;
    align-items: center;
    text-decoration: none;
    background-image: linear-gradient(135deg, #0c9205 0%, #0c9205 24%, #34bf58 99%, #34bf58 100%);
    transition: all 0.3s ease;
    white-space: nowrap;
}

.hero-curve {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 200px;
}

@media (min-width: 769px) {
    .hero-curve-mobile,
    .hero-image-mobile,
    .hero-image-mobile-videos {
        display: none;
    }
}

@media (max-width: 768px) {

    .hero-section {
        display: flex;
        flex-direction: column;
        padding-bottom: 130px;
        padding-top: 40px;
        padding-left: 20px;
    }

    .hero-content {
        display: flex;
        flex-direction: column;
    }

    .hero-section {
        overflow: visible; /* 🔥 ESSENCIAL */
    }

    .header-brand {
        order: 1; /* 🔥 primeiro */
    }

    .hero-image,
    .hero-image-videos {
        display: none;
    }


    .hero-image-mobile,
    .hero-image-mobile-videos {
        position: absolute;
        z-index: 1;
        pointer-events: none;
        position: relative;
        order: 2;
        display: flex;
        justify-content: center;
        margin-left: -60px;
        transform: translateY(10px); /* 🔥 substitui margin-top */
    }

    .hero-image-mobile-videos {
        margin-top: clamp(10px, 3vw, 20px);
        margin-left: 0;
    }

    .hero-text {
        order: 3; /* 🔥 por último */
        transform: translateY(30px);
    }

    .hero-content-wrapper {
        padding: 0 20px;
    }

    .hero-title {
        font-size: 27px;
        white-space: normal;
        text-align: start;
        margin: 0;
    }

    .hero-description {
        text-align: start;
    }

    .hero-content {
        max-width: 100%;
        padding-top: 0;
    }

    .hero-description {
        width: 100%;
    }

    .hero-actions {
        align-items: start;
        flex-direction: column;
    }

    .botao-assine-ja,
    .botao-saiba-mais {
        padding: 4px 35px;
        border: 2px solid #2bb3d6;
        border-radius: 20px;
        font-size: 15px;
        font-weight: 600;
    }

    .hero-curve {
        display: none
    }

    .hero-curve-mobile {
        position: absolute;
        bottom: -1px;
        left: 0;
        width: 130%;
        height: 70px;
    }
}

/* =========================
   SECTION GESTÃO
========================= */

.video-description {
    font-size: clamp(20px, 1.7vw, 33px);
    letter-spacing: 0px;
    line-height: clamp(28px, 2.2vw, 42px);
    color: #424242;
    font-weight: 400;
}

.gestao-section {
    display: flex;
    justify-content: center;
    padding-bottom: clamp(80px, 10.4vw, 200px);
    background-color: #eceff0;
}

.titulo-secao-video {
    font-size: clamp(28px, 3.02vw, 58px);
    line-height: 63px;
    color: #004b65;
    font-weight: 600;
    margin-bottom: clamp(20px, 2.6vw, 50px);
}

.logo-descricao-gestao {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-top: clamp(30px, 4.1vw, 78px);
}

    .logo-descricao-gestao img {
        width: clamp(80px, 8.1vw, 155px);
    }

    .logo-descricao-gestao span {
        font-size: clamp(18px, 1.6vw, 30px);
        line-height: 38px;
        color: #004b65;
        font-weight: 700;
    }

    .logo-descricao-gestao p {
        font-size: clamp(18px, 1.6vw, 30px);
        line-height: clamp(26px, 2vw, 38px);
        color: #424242;
        font-weight: 400;
        margin-left: 34px;
    }

.video-wrapper {
    width: 100%;
    height: 100%;
}

    /* iframe ocupa tudo */
    .video-wrapper iframe {
        width: 100%;
        height: 100%;
        border: 0;
    }

.gestao-layout {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.gestao-left {
    flex: 1;
    /*max-width: 600px;*/
}

.gestao-right {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    /*margin-top: clamp(40px, 4.8vw, 93px);*/
}

.gestao-card {
    width: clamp(300px, 40.7vw, 781px);
    aspect-ratio: 16 / 9;
    background: #ffffff;
    border-radius: 30px;
    overflow: hidden;
}

@media (max-width: 768px) {
    .gestao-layout {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .video-description {
        font-size: 18px;
    }

    .logo-descricao-gestao {
        margin-top: 50px;
        margin-bottom: 10px;
    }

        .logo-descricao-gestao img {
            width: 90px;
        }

        .logo-descricao-gestao p {
            margin-left: 15px;
            line-height: 1.1;
            font-size: 16px;
        }

    .gestao-right {
        margin-top: 60px;
    }

    .gestao-card {
        width: 360px;
        border-radius: 20px;
    }
}

/* =========================
    VÍDEOS
==========================*/
.videos-section {
    background: #ffffff;
    padding-top: 80px;
    padding-bottom: 100px;
}

.tabs {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: clamp(24px, 6.5vw, 50px);
}

.tab {
    padding: 4px 25px;
    border-radius: 26px;
    border: 1px solid #00aacc;
    background: transparent;
    cursor: pointer;
    font-size: 14px;
    color: #192478;
    transition: all 0.3s ease;
}

    .tab:hover {
        background-image: linear-gradient(135deg, #25b3d7 0%, #0b83cf 24%, #25b3d7 95%, #25b3d7 98%, #25b3d7 100%);
        color: #ffffff;
        transform: translateY(-2px);
    }

    .tab.active {
        background-image: linear-gradient(135deg, #25b3d7 0%, #0b83cf 24%, #25b3d7 95%, #25b3d7 98%, #25b3d7 100%);
        color: #ffffff;
    }

.cards-videos-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 1.25vw, 24px);
}

.card-video {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    overflow: hidden;
    background: #00aacc;
}

    .card-video iframe {
        width: 100%;
        height: 100%;
        border: 0;
        display: block;
    }

.card-videos-item {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: clamp(10px, 1vw, 16px);
}

    .card-videos-item h1 {
        margin-top: clamp(6px, 0.5vw, 10px);
        font-size: clamp(16px, 1.3vw, 25px);
        line-height: 1.3;
        color: #004b65;
        font-weight: 700;
    }

.card-videos p {
    color: #424242;
}

@media (max-width: 768px) {
    .cards-videos-grid {
        grid-template-columns: 1fr;
    }

    .tab {
        padding: 4px 20px;
        border-radius: 26px;
        border: 1px solid #00aacc;
        background: transparent;
        font-size: 12px;
    }

    .tabs {
        row-gap: clamp(6px, 1.3vw, 10px);
        column-gap: clamp(2px, 0.5vw, 4px);
    }

    .tab-dicas {
        font-size: 0; 
    }

        .tab-dicas::after {
            content: "Funcionalidades";
            font-size: 12px; 
        }
}


/* container central */
.cards-container {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding-left: clamp(40px, 11.6vw, 224px);
    padding-right: clamp(40px, 9.2vw, 177px);
}

/* =========================
   GRID
========================= */

.titulo-secao {
    font-size: clamp(28px, 3.02vw, 58px);
    line-height: 63px;
    color: #004b65;
    font-weight: 600;
    margin-bottom: clamp(40px, 5.1vw, 98px);
}

.cards-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(16px, 2vw, 40px);
    justify-items: center;
}

/* =========================
   ITEM (card + descrição)
========================= */

.card-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(10px, 1vw, 16px);
}

/* =========================
   CARD
========================= */

.card {
    width: clamp(220px, 16.5vw, 317px);
    height: clamp(220px, 16.5vw, 317px);
    border-radius: 20px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
    position: relative;
}

    /* hover */
    .card:hover {
        transform: translateY(-6px);
        box-shadow: 0 18px 40px rgba(0,0,0,0.15);
    }

    /* overlay opcional */
    .card::after {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(0,0,0,0.15);
        opacity: 0;
        transition: 0.3s;
    }

    .card:hover::after {
        opacity: 1;
    }

    /* =========================
   IMAGEM (100% DO CARD)
========================= */

    .card img {
        width: 100%;
        height: 100%;
        object-fit: cover; /* 🔥 cobre todo o card */
        display: block;
    }

/* =========================
   DESCRIÇÃO
========================= */

.card-description {
    text-align: start;
    max-width: 320px;
    font-size: clamp(14px, 1.04vw, 20px);
    color: #424242;
    font-weight: 400;
}

/* =========================
   RESPONSIVO
========================= */

/* tablet */
@media (max-width: 1024px) {
    .cards-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* mobile */
@media (max-width: 768px) {
    .cards-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .card {
        width: 150px;
        height: auto;
        aspect-ratio: 1 / 1;
    }
}

/* =========================
   SECTION VENDAS
========================= */

.vendas-section {
    display: flex;
    justify-content: center;
    padding-top: clamp(60px, 7.8vw, 150px);
    padding-bottom: clamp(80px, 10.4vw, 200px);
}

.titulo-secao-vendas {
    font-size: clamp(28px, 3.02vw, 58px);
    line-height: 63px;
    color: #feffff;
    font-weight: 600;
    margin-bottom: clamp(40px, 5.1vw, 98px);
}

.card-description-vendas {
    text-align: start;
    max-width: 320px;
    font-size: clamp(14px, 1.04vw, 20px);
    color: #fefefe;
    font-weight: 400;
}





/* =========================
   SECTION TECNOLOGIA
========================= */
.secao-dupla {
    width: 100%;
    display: flex;
    justify-content: center;
    background: #eceff0;
}

/* container padrão 1920 */
.secao-container {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
}

/* =========================
   GRID PRINCIPAL
========================= */

.secao-grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    /*align-items: stretch;*/
}

/* =========================
   COLUNA ESQUERDA
========================= */

.col-esquerda {
    background: #eceff0;
    padding: 150px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 0 auto;
}

    .col-esquerda h2 {
        font-size: clamp(28px, 3vw, 58px);
        color: #004b65;
        margin-bottom: clamp(40px, 3vw, 70px);
        font-weight: 600;
    }

/* =========================
   COLUNA DIREITA
========================= */

.col-direita {
    background: linear-gradient(135deg, #1d7fd3, #1a8ccf);
    padding: 150px;
    border-top-left-radius: 40px;
    border-bottom-left-radius: 40px;
    display: flex;
    flex-direction: column;
    align-items: center; /* 🔥 mesma referência dos cards */
}

    .col-direita h2 {
        font-size: clamp(28px, 3vw, 58px);
        font-weight: 600;
        color: #ffffff;
        margin-bottom: clamp(40px, 3vw, 70px);
        max-width: 670px; /* ajuste fino */
    }

/* =========================
   CARDS
========================= */

.cards-duo {
    display: flex;
    gap: clamp(60px, 6vw, 150px);
    width: fit-content;
}

/* card base */
.card-mini {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 260px;
}

/* box visual */
.card-box {
    width: clamp(120px, 8vw, 160px);
    height: clamp(120px, 8vw, 160px);
    border-radius: 20px;
    background: linear-gradient(135deg, #3aa7e3, #8fd3f4);
    margin: 0 auto;
}

/* texto */
.card-mini p {
    font-size: clamp(14px, 1.04vw, 20px);
    line-height: 1.4;
    color: #424242;
    max-width: 320px;
}

/* texto branco na direita */
.col-direita .card-mini p {
    color: #ffffff;
}

/* =========================
   RESPONSIVO
========================= */

@media (max-width: 1024px) {
    .secao-grid {
        grid-template-columns: 1fr;
    }

    .col-direita {
        border-radius: 30px;
        margin-top: 20px;
    }

    .cards-duo {
        flex-direction: column;
    }
}

@media (max-width: 768px) {
    .card-box {
        width: 100%;
        max-width: 140px;
        height: 140px;
    }

    .col-esquerda {
        margin: 0;
        padding: clamp(40px, 8vw, 80px);
        align-items: flex-start;
        max-width: 150px;
    }

    .cards-duo {
        flex-direction: row; /* 🔥 mantém lado a lado */
        justify-content: flex-start;
        gap: 20px;
        width: 100%;
    }

    .col-direita {
        background: linear-gradient(135deg, #1d7fd3, #1a8ccf);
        padding: 50px;
        border-top-left-radius: 40px;
        border-bottom-left-radius: 40px;
        display: flex;
        flex-direction: column;
        align-items: start; /* 🔥 mesma referência dos cards */
        margin-bottom: -42px
    }
}


/* =========================
  SOLUÇÕES PING
========================= */

.botao-saiba-mais:hover {
    background-image: linear-gradient(135deg, #0a83d0 0%, #0a83d0 22%, #25b4d8 99%, #25b4d8 100%);
    color: #ffffff;
}

svg {
    width: 100%;
    height: 100%;
}

.section-sobre {
    width: 100%;
    background-color: #eceff0;
    position: relative;
    z-index: 3;
    margin-top: -10px;
    padding-top: 40px;
    padding-bottom: clamp(20px, 6vw, 120px);
}

    .section-sobre h1 {
        color: #004b65;
        font-weight: 600;
    }

.lista-solucoes {
    border-radius: 30px;
    background-color: #ffffff;
}

.section-solucoes-ping {
    width: 100%;
    background: linear-gradient(rgba(0, 75, 101, 0.361), rgba(0, 75, 101, 0.361)), url("../img/bg-vantagens-ping.png");
    background-repeat: no-repeat;
    background-size: cover;
    padding-bottom: 100px;
    /* 🔥 ESSENCIAL */
}

.solucoes-shell {
    max-width: 1920px;
    margin: 0 auto;
    padding-top: clamp(60px, 7.8vw, 150px);
}

.solucoes-titulo {
    font-size: clamp(28px, 3vw, 58px);
    line-height: 1.1;
    color: #ffffff;
    font-weight: 500;
    text-align: center;
}

/* =========================
   CONTAINER DOS CARDS
========================= */
.solucoes-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 🔥 fluido */
    max-width: 1600px; /* 🔥 controla abertura */
    margin: clamp(32px, 4.17vw, 80px) auto;
    gap: clamp(20px, 2vw, 40px); /* 🔥 responsivo */
}

@media (max-width: 1480px) {
    .section-solucoes-ping {
        padding-left: clamp(20px, 5.2vw, 100px);
        padding-right: clamp(20px, 5.2vw, 100px);
    }
}

.card-solucao-azul img {
    width: clamp(40px, 3.2vw, 62px);
    max-width: 62px;
    display: block;
    margin: 0 auto; /* 🔥 centraliza horizontal */
}

.texto-azul {
    color: #0a83d0;
    font-weight: 600;
}


/* =========================
   BASE DOS CARDS
========================= */
.card-solucao-wrap-azul {
    position: relative;
    overflow: visible;
    width: 100%;
    border-radius: clamp(16px, 1.3vw, 25px);
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center; /* 🔥 resolve centralização */
}

.card-solucao-azul {
    padding-top: clamp(24px, 2.6vw, 50px);
    width: clamp(280px, 26.7vw, 514px);
    max-width: 514px;
    height: clamp(180px, 14.8vw, 285px);
    border-radius: clamp(16px, 1.3vw, 25px);
    background: white;
    text-align: center;
    position: relative;
    display: flex;
    flex-direction: column;
    /*justify-content: space-between;*/
    justify-content: center; /* 🔥 evita deformação */
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    overflow: hidden;
}

    .card-solucao-azul::before {
        content: "";
        position: absolute;
        top: -90px;
        left: -10px;
        width: 120px;
        height: 120px;
        transform: rotate(45deg) scale(0);
        transform-origin: top left;
        transition: all 0.3s ease;
        z-index: 1;
    }

    .card-solucao-azul::before {
        background: linear-gradient(135deg, #0a83d0, #25b4d8);
    }

    /* =========================
   HOVER (efeito premium)
========================= */

    .card-solucao-azul:hover::before {
        transform: rotate(45deg) scale(1);
    }

    .card-solucao-azul:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
    }


    /* =========================
   TEXTOS
========================= */
    .card-solucao-azul p {
        font-size: clamp(16px, 1.4vw, 27px);
        margin-top: clamp(10px, 1.04vw, 20px);
        margin-bottom: clamp(24px, 2.6vw, 50px);
        color: #424242;
        font-weight: 400;
        font-family: "Poppins";
        line-height: 1.1;
    }

.botao-quero-saber-mais {
    display: block; /* 🔥 permite centralizar */
    margin: clamp(40px, 4vw, 80px) auto 0; /* 🔥 top / horizontal / bottom */

    width: fit-content;
}

@media (min-width: 769px) {
    .br-mobile {
        display: none;
    }
}

@media (max-width: 768px) {

    .section-solucoes-ping {
        padding-bottom: 40px;
        padding-top: 30px;
    }

    .section-solucoes-ping {
        background-size: 350%;
        background-position: center top;
    }

    .solucoes-shell {
        display: flex;
        flex-direction: column;
        align-items: center; /* 🔥 centraliza tudo */
        text-align: center;
    }


    .solucoes-cards h3 {
        font-size: 15px;
        margin-top: 10px;
    }

    .solucoes-titulo,
    .solucoes-descricao {
        text-align: center;
        width: 100%;
    }

    .solucoes-descricao {
        padding-bottom: 40px;
        font-size: 60px;
    }

    .br-desktop {
        display: none;
    }

    .solucoes-cards {
        grid-template-columns: repeat(1, 1fr);
        /*gap: 10px;*/
        row-gap: 50px; /* 🔥 controla vertical */
    }

    .card-solucao-azul p {
        font-size: 13px;
        margin-top: 15px;
        margin-bottom: 15px;
    }

    .card-solucao-wrap-azul {
        width: 100%;
        max-width: 514px;
        margin-top: -30px;
    }

    .card-solucao-azul::before {
        top: -80px;
        left: -10px;
        width: 110px;
        height: 110px;
    }

    .botao-quero-saber-mais {
        margin-top: -5px;
    }
}

.solucoes-descricao {
    margin-top: clamp(10px, 1.2vw, 16px);
    font-size: clamp(15px, 1.7vw, 33px);
    line-height: 1.35;
    color: #ffffff;
    text-align: center;
}

.solucoes-cards h3 {
    font-size: clamp(20px, 1.8vw, 34px);
    font-weight: 600;
    font-family: "Poppins";
    text-align: center;
    line-height: 1.1;
    margin-top: 10px;
}

/* =========================
 FOOTER
========================= */

.footer-section {
    font-family: "Poppins";
    color: #efefef;
    background-image: linear-gradient(0deg, #00323d 0%, #004b65 100%);
}

/* =========================
 WRAPPER
========================= */

.footer-wrapper {
    max-width: 1920px;
    margin: 0 auto;
    padding-left: clamp(20px, 6vw, 228px);
    padding-right: clamp(20px, 5vw, 228px);
    padding-top: clamp(20px, 3vw, 50px);
}

/* =========================
 LOGO
========================= */

.footer-col {
    display: flex;
    justify-content: center; /* 🔥 centraliza horizontal */
}

.footer-logo {
    display: flex;
    justify-content: center;
}

    .footer-logo img {
        width: clamp(180px, 18vw, 287px);
        max-width: 287px;
    }

/* =========================
 FOOTER BOTTOM
========================= */

.footer-bottom {
    padding-bottom: clamp(20px, 4vw, 60px);
    text-align: center;
    margin-top: clamp(20px, 3vw, 40px);
}

    .footer-bottom p {
        font-size: clamp(14px, 1.2vw, 25px);
    }
