@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");

/* Reset and general configs */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {

    --defaultColorFont: #000;
    --ligthDefaultColorFont: #D9D9D9;
    --mainBackgroundColor: #474D2B;
    --secondBackgroundColor: #DFDBB9;
    --mainBackgroundColorLight: #F4EDE9;
    --whatsappColor:#25d366;

    --verde-escuro: #2A5A44;
    --verde-claro: #6B8E6B;
    --bege: #F8F4E9;
    --marrom: #8B6B4A;
    --cinza: #5A5A5A;

    --overlayColor: rgba(0, 0, 0, 0.5);

    --buttonsLight: #FCA91D;

    --detailsTerracota: #700000;

    --boxShadowDefault: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);


}

@font-face {
    font-family: "Libre Bodoni";
    src: url("../fonts/static/") format("opentype");

}

html {
    /* 16px × 62.5% = 10px */
    font-size: 62.5%;
    /* 1rem = 10px */
    font-family: "Libre Bodoni",serif;
}

body {
    display: grid;
    grid-template-rows: auto 1fr auto;
    /* Cabeçalho, conteúdo e rodapé */
    min-height: 100vh;
    font-size: 1.6rem;
    background-color: var(--bege);
    color: var(--cinza);
}

header{
    background: var(--bege);
}
footer {
    background: var(--mainBackgroundColor);
    color: var(--ligthDefaultColorFont);
    text-align: center;
}

header,
footer {
    display: grid;
    align-items: start;
    justify-content: stretch;
    width: 100%;
    height: 100vh;
}

footer {
    grid-template-rows: 1fr auto;
    align-items: end;
    justify-content: center;
    gap: 10rem;
    padding: 5rem 5rem 0 5rem;
    height: auto;
}

main {
    flex: 1;
    /* Permite que o conteúdo principal ocupe o espaço restante */
    justify-content: center;
    align-items: center;
    background-color: var(--mainBackgroundColorLight);
}

/* COMEÇO WHATSAPP */
.whatsFloating {
    position: fixed;
    bottom: 20px;
    right: 20px; 
    background: #25D366; 
    height: 60px; 
    width: 60px; 
    border-radius: 50%; 
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); 
    z-index: 1000; 
    transition: transform 0.3s ease, box-shadow 0.3s ease; 
    color: white; 
    font-size: 30px; 
    animation: fadeIn 6s ease-in forwards
}

.whatsFloating:hover {
    transform: scale(1.1); 
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3); 
}

.whatsFloating i {
    line-height: 0;
}

/* FIM WHATSAPP */

/* Generics stlys */
.buttonFake {
    padding: 1.4rem 3.2rem;
    transition: all 0.3s ease;
    border-radius: 2px;
    display: inline-block;
    transition: all 0.3s ease;
    cursor: pointer;
    letter-spacing: 1px;
    background-color: transparent;
    color: var(--verde-escuro);
    border: 1px solid var(--verde-escuro);
    animation: fadeIn 1s ease-in forwards
}

.divider {
    width: 120px;
    height: 2px;
    background: linear-gradient(to right, var(--bege), var(--verde-claro), var(--bege));
    margin: 4rem auto;
}

.hidde {
    display: none;
}

.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--overlayColor);
    z-index: 2000;
}

.titleStyle{
    font-size: 1.6rem;
    font-weight: 200;
    letter-spacing: 1.5rem;
    text-transform: uppercase;
    color: var(--mainBackgroundColor);
}

.overflowHidden {
    overflow: hidden;
}

.animateOnScroll {
    opacity: 0;  
    transition: opacity 1s;
}

.animateOnScroll.visible {
    animation: fadeIn 1s forwards, float 2s infinite; 
}

.animateOnScrollTranslate{
    transform: translateY(20px);
    transition: transform 1s;;
}

.animateOnScrollElementSlideUp {
    opacity: 0; 
    transform: translateY(100%); /* Começa abaixo da tela */
    transition: opacity 1s ease-out, transform 1s ease-out; /* Animação de transição */
}

.animateOnScrollElementSlideUp.visible {
    animation: fadeIn 1s ease-out forwards, 
               float 2s infinite, 
               slideUp 1s ease-out forwards; /* Animação combinada */
}

/* IMAGENS SCROLL */
.gridProducts img.hidden-image {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
  }
  
  .gridProducts img.visible {
    opacity: 1;
    transform: translateY(0);
  }

/* KeyFrames */
@keyframes fadeIn{
    from{
        opacity:0;
    }
    to{
        opacity:1;
    }
}

@keyframes float {
    0% {
        transform: translatey(0px);
    }
    50% {
        transform: translatey(-20px);
    }
    100% {
        transform: translatey(0px);
    }
}

@keyframes slideInFromLeft {
    from {
        transform: translateX(-100%);
        opacity: 0; 
    }
    to {
        transform: translateX(0); 
        opacity: 1; 
    }
}

/* Direita para Esquerda */
@keyframes slideInFromRight {
    from {
        transform: translateX(100%); 
        opacity: 0; 
    }
    to {
        transform: translateX(0); 
        opacity: 1; 
    }
}

@keyframes slideUp {
    from {
        transform: translateY(100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}



/* Responsividade */
@media (max-width: 768px) {
    body {
        font-size: 1.4rem;
    }

    header,
    footer {
        padding: 1.5rem;
    }

    header {
        height: auto;
        flex-direction: column-reverse;
    }

    main {
        flex-direction: column;
        padding: 1rem;
    }

    .buttonFake {
        padding: 0.8rem;
        font-size: 1.8rem;
    }

}

@media (max-width: 480px) {
    body {
        font-size: 1.2rem;
    }

    header,
    footer {
        padding: 1rem;
    }

    main {
        padding: 0.5rem;
    }

    .buttonFake {
        padding: 0.6rem;
        font-size: 1.6rem;
    }
}

/* Responsividade para telas 4K (Ultra HD) */
@media (min-width: 2560px) {

    header,
    footer {
        padding: 0 40rem;
    }
}

@media (min-width: 3840px) {

    header,
    footer {
        padding: 0 50rem;
    }
}