:root {
    --default-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft Yahei UI", "Microsoft Yahei", "Source Han Sans CN", sans-serif;
}

.main-container {
    overflow: hidden;
}
#page-wrapper {
    /*transition: transform 0.6s ease, opacity 0.6s ease;*/
    transition: transform 0.6s ease-in, opacity 0.6s ease-in;
}
#div-fundo {
    position: relative;
    width: 100% !important;
    height: 1024px;
    margin: 0 auto;
    background: #fcfcfc;
    overflow: hidden;
    background-size: cover !important;
    background: url(../../img/en/porta6-sample-carolinsaupe-l21-dl-3@2x.png) no-repeat center;
}
.page-exit {
    transform: translateY(100%);
    opacity: 0;
}
    .main-container,
    .main-container * {
        box-sizing: border-box;
    }

input,
select,
textarea,
button {
    outline: 0;
}

.main-container-index {
    position: relative;
    width: 100% !important;
    height: 1024px;
    margin: 0 auto;
    background-color: transparent !important;
    overflow: hidden;
    background-size: cover !important;
    background: url(../../img/en/porta6-sample-carolinsaupe-l21-dl-3@2x.png) no-repeat center;
}

.gato-falling {
    position: relative;
    width: 261.758px;
    height: 335.295px;
    float: right;
    top: -17px;
    right: 120px;
    z-index: 6;
}

    /* imagem normal */
    .gato-falling::before {
        content: "";
        position: absolute;
        inset: 0;
        background: url(../../img/en/gato-falling.png) no-repeat center;
        background-size: cover;
        opacity: 1;
        transition: opacity 1.5s ease-in-out;
    }

    /* imagem hover */
    .gato-falling::after {
        content: "";
        position: absolute;
        inset: 0;
        background: url(../../img/en/gatoolhosfechados.png) no-repeat center;
        background-size: cover;
        opacity: 0;
        transition: opacity 1.5s ease-in-out;
    }

    /* hover */
    .gato-falling:hover::before {
        opacity: 0;
    }

    .gato-falling:hover::after {
        opacity: 1;
    }



.porta-sample-carolinsaupe {
    position: absolute;
    width: 1442px;
    height: 1024px;
    top: 0;
    left: -1px;
    background: url(../../img/en/8b60d9c1-4bf5-493b-9736-a9f180db17d7.png) no-repeat center;
    background-size: cover;
}

.rectangle {
    /* position: absolute;
    width: 1441px;
    height: 982px;
    top: 42px;
    left: 50%;
    font-size: 0px;
    background: #FFD101;
    transform: translate(-50.03%, 0);
    z-index: 1;*/
    position: absolute;
    width: 100%;
    height: 100vw;
    top: 42px;
    /* left: 50%; */
    font-size: 0px;
    background: #FFD101;
    /* transform: translate(-50.03%, 0); */
    z-index: 1;
}

.bem-vindo {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 52px;
    margin: 334.647px 0 0 0;
    color: #000000;
    font-family: "Montserrat";
    font-size: 64px;
    font-weight: 600;
    line-height: 52px;
    text-align: center;
    white-space: nowrap;
    z-index: 2;
}

.tem-idade-legal {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 80px;
    margin: 71px 0 0 0px;
    color: #000000;
    font-family: "Montserrat";
    font-size: 37px;
    font-weight: 400;
    line-height: 45.103px;
    text-align: center;
    z-index: 5;
}

.flex-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    width: 100%;
    height: 45px;
    margin: 20px 0 0 0px;
    z-index: 12;
}


.sim {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    position: absolute;
    width: 100%;
    height: 45.45%;
    top: 25%;
    /* left: 9.47%; */
    color: #000000;
    font-family: Montserrat, var(--default-font-family);
    font-size: 19px;
    font-weight: 600;
    line-height: 20px;
    text-align: center;
    white-space: nowrap;
    z-index: 13;
}

.simclick {
    flex-shrink: 0;
    position: relative;
    width: 95px;
    height: 44px;
    border: 1px solid #000000;
    z-index: 9;
}

    .simclick:hover {
        color: white !important;
        background-color: var(--color-black) !important;
    }

        .simclick:hover,
        .simclick:hover span {
            color: white !important;
            background-color: var(--color-black) !important;
        }

.rectangle-2 {
    flex-shrink: 0;
    position: relative;
    width: 95px;
    height: 44px;
    border: 1px solid #000000;
    z-index: 12;
}

.not {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    position: absolute;
    width: 100%;
    height: 45.45%;
    top: 25%;
    /* left: 9.47%; */
    color: #000000;
    font-family: Montserrat, var(--default-font-family);
    font-size: 19px;
    font-weight: 600;
    line-height: 20px;
    text-align: center;
    white-space: nowrap;
    z-index: 13;
}


/*MOBILE*/
/* Media Query para Mobile */
@media (max-width: 768px) {

    #div-fundo,
    .main-container-index {
        height: 100vh; /* Ocupa a altura total do ecrã do telemóvel */
        background-size: cover;
    }

    .rectangle {
        width: 100%;
        height: 100%;
        top: 30px;
        left: 0;
        position: absolute;
    }

    /* Ajuste do Gato (proporcional ao ecrã) */
    .gato-falling {
        width: 150px; /* Reduzido para não ocupar o ecrã todo */
        height: auto;
        aspect-ratio: 261 / 335;
        right: 20px; /* Margem menor na lateral */
        top: 0;
    }

    /* Ajuste dos Textos */
    .bem-vindo {
        margin-top: 25vh; /* Posiciona o texto mais ao centro verticalmente */
        font-size: 40px; /* Texto menor para mobile */
        line-height: 1.2;
        padding: 0 20px;
        white-space: normal; /* Permite quebra de linha se necessário */
    }

    .tem-idade-legal {
        margin-top: 20px;
        font-size: 20px; /* Texto menor */
        line-height: 1.3;
        height: auto;
        padding: 0 30px;
    }

    /* Ajuste dos Botões */
    .flex-row {
        flex-direction: row; /* Mantém lado a lado, ou use 'column' se preferir um sobre o outro */
        justify-content: center;
        gap: 20px; /* Espaço entre os botões */
        margin-top: 30px;
    }
    .flex-row-botoes-mob {
        padding-top: 3rem;
    }

    .simclick,
    .rectangle-2 {
        width: 80px; /* 120x50   Botões ligeiramente maiores para facilitar o toque (UX) */
        height: 30px;
        flex-shrink: 0;
    }

    .sim, .not {
        font-size: 15px;
        position: relative; /* Ajustado de absolute para alinhar melhor no centro do botão */
        top: 0;
        display: flex;
        align-items: center;
        height: 100%;
    }

    /* Remove imagens de fundo muito grandes que saem do ecrã */
    .porta-sample-carolinsaupe {
        width: 100%;
        background-size: contain;
    }
}


