*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html{
    scroll-behavior: smooth;
}
:root{
    --verde: #2f9f22;
    --verde-claro: #3eab32;
    --amarelo: #ffde05;
    --laranja : #b75c1b;
    --branco : #f5fbe8;
    --preto: #2c2c2c;
}
/*Animações*/

@keyframes pulsar{
    0%{
        transform: scale(1);
        background-color: #2f9f22;
    }
    10%{
        transform: scale(1.1);
        background-color: #3eab32;
    }
    20%{
        transform: scale(1);
        background-color: #2f9f22;
    }
    30%{
        transform: scale(1.1);
        background-color: #3eab32;
    }
    40%{
        transform: scale(1);
        background-color: #2f9f22;
    }
    50%{
        transform: scale(1);
        background-color: #2f9f22;
    }
    100%{
        transform: scale(1);
        background-color: #2f9f22;
    }
}

/*Começo*/

body{
    margin: 0;
    font-family: 'Poppins', sans-serif;
    background-color: var(--branco);
}
.contato-wpp{
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 9999;
}
.contato-wpp > a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: #2f9f22;
    color: var(--branco);
    font-size: 40px;
    text-decoration: none;
    animation: pulsar 2s infinite ease-in-out;
}

.button{
    padding: 10px 60px;
    border-radius: 40px;
    border: none;
    position: relative;
    cursor: pointer;
    overflow: hidden;
    text-decoration: none;
}
.button > span{
    font-family: 'Poppins';
    position: relative;
}
.button::before{
    content: "";
    width: 0px;
    height: 0px;
    position: absolute;
    top: var(--eixoY);
    left: var(--eixoX);
    border-radius: 50%;
    transform: translate(0%, -80%);
    transition: all 0.5s ease;
}
.button:hover::before{
    width: 800px;
    height: 250px;
    transition: all 0.5s ease;
}

/*Sobre*/

.sobre {
    background: var(--laranja);
    color: var(--branco);
    padding: 50px 20px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: center;
    align-items: center;
}
.sobre .txt{
    margin-left: 20px;
    margin-right: 20px;
    text-align: start;
}
.sobre .txt h2 {
    font-size: 60px;
    margin-bottom: 20px;
}
.sobre .txt p {
    margin-bottom: 20px;
    font-size: 18px;
    line-height: 1.6;
    text-align: justify;
}
.sobre .img{
    width: 90%;
    height: auto;
    margin-left: 50px   ;
    object-fit: cover;
    object-position: center;
    border: 2px solid var(--branco);
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.sobre .img img{
    width: 100%;
    height: 100%;
    border-radius: 15px;
    object-fit: cover;
    object-position: center;
}

/*Primeira parte*/

.hero {
    width: 100%;
    height: auto;
    display: flex;
    position: relative;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}
.hero > img {
    content: url(/images/fundo.png);
    object-fit: cover;
    object-position: bottom;
    width: 100%;
    height: 100vh;
    filter: brightness(0.7);
}
.hero .info {
    width: 100%;
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    top: 45%;
    left: 23%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: var(--branco);
}
.hero .info >img{
    width: 600px;
    height: 280px;
    object-fit: cover;
    object-position: bottom;
}
.hero p {
    font-size: 25px;
    margin-bottom: 50px;
    font-weight: 400;
    transform: translateX(2%);
}

.btn1 {
    background-color: transparent;
    border: 2px solid var(--laranja);
    color: var(--branco);
}
.btn1 span > i{
    font-size: 20px;
    z-index: 500;
    margin-right: 10px;
}
.btn1::before{
    background-color: var(--laranja);
}

/*Segunda parte*/

.produtos {
    padding: 60px 20px;
    text-align: center;
}
.produtos h2 {
    margin-bottom: 40px;
    font-size: 70px;
    color: var(--laranja);
}
.grid-produtos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
}
.produto {
    background: var(--branco);
    border-radius: 10px;
    padding: 20px;
    width: 450px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.212);
    transition: 0.3s ease;
}
.produto .img{
    position: relative;
    width: 100%;
    height: 350px;
    overflow: hidden;
}
.produto .img img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 3px solid var(--laranja);
    border-radius: 15px;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity 0.5s ease;
}
.produto .img img.active {
    opacity: 1;
}
.produto .img button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.663);
    color: var(--laranja);
    border: none;
    padding: 5px 10px;
    cursor: pointer;
    border-radius: 50%;
    font-size: 20px;
    transition: 0.3s all;
    z-index: 2;
}

.produto .img button:hover {
    transform: scale(1.1) translateY(-50%);
}

.produto .img button.prev {
    left: 10px;
}

.produto .img button.next {
    right: 10px;
}
.produto h3 {
    text-align: start;
    color: var(--laranja);
    font-size: 25px;
}
.produto h4{
    text-align: start;
    color: var(--laranja);
    font-size: 18px;
    font-weight: 500;
    line-height: 10px;
    margin-bottom: 20px;
}
.produto p{
    text-align: start;
    color: var(--preto);
    font-size: 15px;
}
.produto .estrela{
    color: #fdd301;
    font-size: 25px;
    text-align: start;
    margin-bottom: 40px;
}
.produto a {
    padding: 10px 40px;
    border-radius: 10px;
    font-size: 15px;
    border: none;
    text-decoration: none;
    background-color: var(--verde);
    color: var(--branco);
    transition: 0.5s cubic-bezier(0.215, 0.610, 0.355, 1);
}
.produto .btn2:hover{
    padding: 11px 41px;
    font-size: 16px;
}

/*Contato*/

.contato {
    background: var(--laranja);
    color: var(--branco);
    padding: 50px 20px;
    text-align: center;
}
.contato h2 {
    font-size: 50px;
}
.contato p {
    margin-bottom: 20px;
}
.contato .btn3 {
    padding: 7px 40px;
    border-radius: 10px;
    font-size: 15px;
    margin-right: 10px;
    border: none;
    text-decoration: none;
    background-color: transparent;
    border: 2px solid var(--preto);
    color: var(--branco);
    transition: .4s ease-in-out;
}
.contato .btn3:hover{
    background-color: var(--preto);
}
.contato .btn3 span > i{
    font-size: 20px;
    z-index: 500;
    margin-right: 10px;
}

/*footer*/

footer {
    padding: 20px;
    text-align: center;
    font-size:15px;
    background: var(--preto);
    color: var(--branco);
}
footer p a{
    text-decoration: none;
    color: var(--laranja);
    transition: .4s ease-in-out;
}
footer p a:hover{
    text-decoration: underline;
    transition: .4s ease-in-out;
    font-size: 16px;
}
footer p a > i{
    font-size: 20px;
    transition: .4s ease-in-out;
}
footer p a > i:hover{
    color: var(--branco);
    transition: .4s ease-in-out;
}