/* Váriáveis e Configurações Base */
:root {
    --font-primary: 'Montserrat', sans-serif;

    /* Cores VW Oficiais / Aproximadas do Layout */
    --vw-blue: #11375E;
    /* Azul escuro corporativo */
    --vw-light-blue: #55b6ef;
    /* Azul claro dos subtextos */
    --vw-yellow: #FFEC00;
    /* Amarelo CTA / Destaques */
    --vw-yellow-hover: #e6c800;
    --vw-dark-bar: #07193d;
    /* Fundo da barra escura (47 unidades) */
    --vw-dark-bar-border: #133878;

    /* Gradiente da barra de benefícios */
    --vw-benefits-gradient: linear-gradient(90deg, #2C5496 0%, #0E1E3D 100%);

    --vw-color-white: #fff;
}

body {
    font-family: var(--font-primary);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: var(--vw-blue);
}



.border-vw-yellow {
    border-color: var(--vw-yellow) !important;
}

.container {
    max-width: 1214px !important;
}

.fw-extrabold {
    font-weight: 800;
}

.title-32 {
    font-size: 32px;
    line-height: 33px;
}

.title-24 {
    font-size: 24px;
    line-height: 30px;
}

.title-20 {
    font-size: 20px;
    line-height: 26px;
}

.title-42 {

    font-size: 42px;
    line-height: 1.1;
    letter-spacing: -0.5px;
}

.title-48 {
    font-size: 48px;
    line-height: 48px;
    letter-spacing: -0.5px;
}

p {
    font-size: 18px;
    font-weight: 400;

}

.text-vw-yellow {
    color: var(--vw-yellow);
}

.bg-vw-yellow {
    background-color: var(--vw-yellow);
}

.text-vw-blue {
    color: var(--vw-blue);
}

.bg-vw-blue {
    background-color: var(--vw-blue);
}

/* Utilitários Typography (Clean Code) */
.fs-10 {
    font-size: 10px;
}

.fs-13 {
    font-size: 13px;
}

.fs-14 {
    font-size: 14px;
}

.fs-16 {
    font-size: 16px;
}

.fs-18 {
    font-size: 18px;
}

.fs-30 {
    font-size: 30px;
}

.txt-800 {
    max-width: 800px;
}

.txt-900 {
    max-width: 900px;
}

.lh-12 {
    line-height: 1.2;
}

/* Tipografia Responsiva Mobile (max-width: 767.98px) */
@media (max-width: 767.98px) {
    p {
        font-size: 15px;
    }

    .title-48 {
        font-size: 32px;
        line-height: 36px;
    }

    .title-32 {
        font-size: 26px;
        line-height: 30px;
    }

    .title-24 {
        font-size: 20px;
        line-height: 26px;
    }

    .title-20 {
        font-size: 18px;
        line-height: 24px;
    }

    .fs-30 {
        font-size: 22px;
    }

    .fs-18 {
        font-size: 15px;
    }

    .fs-16 {
        font-size: 14px;
    }

    .fs-14 {
        font-size: 12px;
    }


}

.icon-vantagem {
    width: 48px;
    object-fit: contain;
}

.car-wrapper-120 {
    top: 0;
    left: 0;
    pointer-events: none;
}


.min-h-280 {
    min-height: 280px;
}

@media (min-width: 992px) {
    .img-bleed-left {
        position: absolute;
        top: 0;
        right: 0;
        width: 50vw;
        height: 100%;
        border-radius: 0 16px 16px 0 !important;
    }
}

.button-1 {
    background-color: var(--vw-yellow);
    color: var(--vw-blue);
    font-weight: bold;
    font-size: 32px;
    line-height: 30px;
    padding: 15px;
}



.button-1:hover {
    background-color: var(--vw-yellow-hover);
    color: var(--vw-blue);
}

.button-2 {
    background-color: var(--vw-yellow);
    color: var(--vw-blue);
    font-weight: bold;
    font-size: 20px;
    line-height: 30px;
    padding: 15px;
    border-radius: 8px;
}

.button-2:hover {
    background-color: var(--vw-yellow-hover);
    color: var(--vw-blue);
}

.bg-vw-blue {
    border-radius: 8px;
}

.bg-vw-blue:hover {
    background-color: var(--vw-dark-bar);
    color: var(--vw-yellow);
}

.header-topo {
    height: 81px;
}

/* Hero Section */
.hero-section {

    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;
    /* min-height: 1036px; */
    width: 100%;
    position: relative;
    /* aspect-ratio: 1440 / 1036; */
    padding-bottom: 30px;
    aspect-ratio: auto;

}


.hero-section .row-1 .title-logo {
    font-size: 32px;
    font-weight: bold;
    color: var(--vw-blue);
    display: block;
}

.hero-section .row-1 .text-logo {
    padding: 8px;
    background-color: var(--vw-yellow);
    border-radius: 7px;
    width: fit-content;
    margin: 0 auto;
}

.hero-section .row-1 .text-logo * {
    font-size: 20px;
    color: var(--vw-blue);
    font-weight: bold;
    margin: 0;
}

/* Barra de Benefícios Escura */
.hero-section .benefits-bar {
    background: var(--vw-benefits-gradient);
}

/* .hero-section .container-bottom {
    margin-top: 29%;
} */

/* Contador Regressivo */
.hero-section .timer-box {
    background-color: var(--vw-blue);
    border-radius: 9px;
    width: 389px;
}

.bg-vw-yellow {
    background-color: var(--vw-yellow);
}

.hero-section .timer-wrapper {
    min-width: 310px;
    border-radius: 6px;

}

.hero-section .timer-number {
    font-size: 20px;
    font-weight: bold;
    color: var(--vw-blue);
}

.hero-section .timer-label {
    font-size: 12px;
    font-weight: 400;
    color: var(--vw-blue);
}

.hero-section .mochila-right {
    right: 0;
    top: -171px;
    position: absolute;
}

/* Sessão 2: Ofertas e Lojas */
.sec-offers {
    background-color: var(--vw-blue);
    background-image: url('../images/sessao-2-bg.jpg');
    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;
    position: relative;
    aspect-ratio: auto;
    /* Optional: adicione uma textura sutil ou min-height se necessário */
}

.sec-offers .title-offers {
    font-size: 2.2rem;
    letter-spacing: -0.5px;
}

.sec-offers .car-card {
    border-radius: 8px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.sec-offers .imgs-car {
    max-width: 137%;
    height: auto;
}

.sec-offers .car-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2) !important;
}

.sec-offers .car-img-box {
    background-color: #fff;
    min-height: 180px;
}

.sec-offers .subtitle-stores {
    font-size: 1.15rem;
}

.sec-offers .store-card {
    border-radius: 8px;
    transition: transform 0.3s ease;
}

.sec-offers .store-card:hover {
    transform: translateY(-5px);
}

.sec-offers .store-img {
    height: 118px;
    object-position: center;
}

.sec-offers .store-title {
    font-size: 1.1rem;
    line-height: 1.2;
}

.sec-offers .store-address {
    font-size: 0.85rem;
}



@media (max-width: 991.98px) {}

/* Sessão 3: Vantagens e Ideal Para */
.sec-vantagens {
    /* bg-collor original: linear-gradient(180deg, #11375E 0%, #0a2139 100%) etc... */
    background: linear-gradient(180deg, #2C5496 0%, #11375E);
    position: relative;
    overflow-x: hidden;

}

.desc-vantagens {
    line-height: 1.6 !important;
}



.img-car-vantagens {
    right: -141px;
    top: 119%;
    transform: translateY(-50%);
    max-width: 500px;
    width: 50%;
    z-index: 1;
}

.mt-ideal {
    margin-top: 6rem !important;
}

.ideal-item {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ideal-item:hover {
    transform: translateX(5px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
}

.ideal-text {
    font-size: 1.05rem;
    line-height: 1.4;
}

/* Responsividade Sessão 3 */
@media (max-width: 991.98px) {
    .img-car-vantagens {
        position: relative !important;
        right: 0;
        top: 0;
        transform: none;
        width: 100%;
        max-width: 100%;
        margin-top: 2rem;
    }

    .mt-ideal {
        margin-top: 4rem !important;
    }

    .ideal-text {
        font-size: 0.95rem;
    }
}

/* Sessão 5: Brinde Exclusivo */
.sec-brinde {
    background-image: url('../images/bg-sessao-6.jpg');
    background-size: cover;
    background-position: center left;
    background-repeat: no-repeat;
    position: relative;
    aspect-ratio: auto;
}


.sec-brinde .bg-vw-blue:hover {
    background-color: var(--vw-dark-bar);
    color: var(--vw-yellow);
}

.mochila-wrapper {
    width: 100%;
    max-width: 400px;
    height: 400px;
}

.circle-huge {
    width: 380px;
    height: 380px;
    top: 50%;
    left: 45%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.circle-medium {
    width: 120px;
    height: 120px;
    top: 5%;
    left: 0;
    z-index: 1;
}

.circle-small {
    width: 50px;
    height: 50px;
    top: 45%;
    left: -5%;
    z-index: 1;
}

@media (max-width: 991.98px) {
    .mochila-wrapper {
        height: 300px;
    }

    .circle-huge {
        width: 280px;
        height: 280px;
        left: 50%;
    }

    .circle-medium {
        width: 90px;
        height: 90px;
        top: 0;
        left: 0;
    }

    .circle-small {
        width: 40px;
        height: 40px;
        top: 35%;
        left: 0;
    }
}

/* Sessão 6: Formulário */
.bg-vw-gray {
    background-color: #D1D3D4;
}

.form-vw-container {
    background-color: #ffffff;
    border-radius: 8px;
    padding: 40px;
    max-width: 600px;
    margin: 0 auto;
    position: relative;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.form-vw-input {
    background-color: #D1D3D4;
    border: none;
    border-radius: 4px;
    padding: 15px 16px;
    color: var(--vw-blue);
    width: 100%;
    font-size: 16px;
}

.form-vw-input::placeholder {
    color: #7A7A7A;
}

.form-vw-input:focus {
    background-color: #C0C2C3;
    outline: none;
    box-shadow: 0 0 0 2px var(--vw-blue);
}

.form-vw-radio-group {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.form-vw-radio {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--vw-blue);
    font-weight: 700;
    cursor: pointer;
    font-size: 14px;
}

.form-vw-radio input[type="radio"] {
    width: 16px;
    height: 16px;
    accent-color: var(--vw-blue);
}

.btn-form-overlap {
    margin-top: -30px;
    position: relative;
    z-index: 3;
}

.text-form-disclaimer {
    font-size: 11px;
    color: var(--vw-blue);
    line-height: 1.4;
    max-width: 600px;
    margin: 0 auto;
}

/* Sessão 7: VIP WhatsApp */
.sec-vip {
    background-image: url('../images/sessao-8-bg.jpg');
    background-size: cover;
    background-position: center left;
    background-repeat: no-repeat;
    overflow: hidden;
}

.fs-24 {
    font-size: 24px;
}

.icon-crown {
    max-width: 120px;
    height: auto;
    object-fit: contain;
}

.img-whatsapp-3d {
    max-width: 450px;
    filter: drop-shadow(0px 20px 30px rgba(0, 0, 0, 0.5));
    transition: transform 0.3s ease;
}

.img-whatsapp-3d:hover {
    transform: scale(1.05);
}

/* Linhas divisórias médias na barra escura */
@media (min-width: 1024px) {
    .hero-section {
        background-image: url('../images/bg-sec-1.jpg');
    }

    .min-h-120 {
        min-height: 120px;
    }

    .img-whatsapp-3d {
        margin-left: -171px;
    }

    .row-car-vantagens {
        margin-top: 72px;

    }
}

@media (max-width: 991.98px) {
    .border-desktop-only {
        border-left: none !important;
        padding-left: 0 !important;
    }

    .img-whatsapp-3d {
        max-width: 100%;
        margin-top: 2rem;
    }
}

#ultima-chance {
    background: linear-gradient(180deg, #2C5496 0%, #11375E);
}

/* Sessão 8: Última Chance */
.text-72h {
    font-size: 130px;
    line-height: 0.9;
    font-style: italic;
    letter-spacing: -4px;
}

.caixa-72h {
    padding-bottom: 15% !important;
}

.img-carros-72h {
    margin-top: -15%;
    max-width: 90%;
    z-index: 2;
}



@media (max-width: 991.98px) {
    .text-72h {
        font-size: 80px;
        letter-spacing: -2px;
    }

    .img-carros-72h {
        max-width: 100%;
    }
}

@media (max-width: 767.98px) {
    .text-72h {
        font-size: 60px;
    }

    .caixa-72h {
        padding-bottom: 25% !important;
    }

    .img-carros-72h {
        margin-top: -25%;
    }
}

/* Animação CTA Pulse */
@keyframes pulse-vw {
    0% {
        transform: scale(1);
        /* box-shadow: 0 0 0 0 rgba(255, 236, 0, 0.7); */
    }

    70% {
        transform: scale(1.05);
        /* box-shadow: 0 0 0 15px rgba(255, 236, 0, 0); */
    }

    100% {
        transform: scale(1);
        /* box-shadow: 0 0 0 0 rgba(255, 236, 0, 0); */
    }
}

.pulse-vw {
    animation: pulse-vw 2s infinite;
}

.button-1.pulse-vw,
.button-2.pulse-vw {
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.button-1.pulse-vw:hover,
.button-2.pulse-vw:hover {
    animation: none;
    transform: scale(1.08);
    /* Aumenta um pouco mais ao focar */
}

/* Otimização de Imagens e Layout para Mobile Extremo (até 375px e 320px) */
@media (max-width: 1023px) {

    /* Escurecer a imagem de fundo no Hero para favorecer leitura dos Textos no Mobile */
    .hero-section {
        background-image: linear-gradient(rgb(178 178 178 / 92%), rgb(87 87 87 / 92%)), url(../images/bg-sec-1.jpg);
    }

    .hero-section .benefits-bar {
        width: 90% !important;
        margin: auto;
        border-radius: 9px;
        margin-bottom: 26px;
    }

    .hero-section .benefits-bar span {
        font-size: 14px;
    }

    .hero-section .mochila-right {
        position: relative !important;
        right: auto;
        top: auto;
    }

    .hero-section .timer-box {
        width: 100% !important;
    }

    .hero-section .timer-wrapper {
        min-width: 100% !important;
    }


    .row-gap-5 {
        row-gap: 1rem !important;
    }

    .imgs-car {
        max-width: 106% !important;

        /* Evita estouro lateral em telas minúsculas */
    }

    .circle-huge {
        width: 220px !important;
        height: 220px !important;
    }

    .circle-medium {
        width: 70px !important;
        height: 70px;
    }

    .img-whatsapp-3d {
        max-width: 250px !important;
        margin: 0 auto;
    }

    .icon-crown {
        max-width: 80px !important;
    }

    .hero-section .row-1 .title-logo {
        font-size: 20px;
    }

    .hero-section .row-1 .text-logo * {
        font-size: 15px;
        line-height: 18px;

    }

    .text-72h {
        font-size: 44px;
        /* Garante que 72 HORAS caiba em 320px sem scroll horizontal */
        letter-spacing: -2px;
    }

    .img-carros-72h {
        margin-top: -20%;
    }

    .caixa-72h {
        padding-bottom: 20% !important;
    }

    .title-48 {
        font-size: 25px;

        /* Título principal mais compacto */
        line-height: 32px;
    }


    .title-32 {
        font-size: 23px;
        line-height: 30px;
    }

    .title-42 {
        font-size: 25px;
        line-height: 32px;
    }

    .title-48 br,
    .title-42 br {
        display: none;
    }

    .fs-24 {

        font-size: 20px;

    }

    .fs-5 {
        font-size: 1rem !important;
    }

    .fs-30 {
        font-size: 17px;
    }

    .mochila-large {
        max-width: 74% !important;

    }

    .img-hero-logo {
        max-width: 80%;
        margin: 0 auto;
        display: block;
    }

    .btn {
        font-size: 15px !important;

        line-height: 18px;

        padding: 10px 15px !important;
    }

    .button-1 {
        font-size: 15px !important;

        line-height: 18px;

        padding: 10px 15px !important;
    }

    .button-2 {
        font-size: 15px !important;

        line-height: 18px;

        padding: 10px 15px !important;
    }
}