@import url('https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400&family=Open+Sans:wght@300;400;500&family=Poppins:wght@100;200;300;400;500&display=swap');

:root {
    --cor-fundo: #F7F2E8;
    --preto: #1A1A1A;
    --vermelho-escuro: #3C0E0E;
}

* {
    font-family: 'Poppins', sans-serif;
    margin: 0;
    padding: 0;    
    box-sizing: border-box;
}

body{
    margin-left: 12rem;
    margin-right: 8rem;
    background-color: var(--cor-fundo);
}

header {
    width: 100%;
    height: 25vh;    
    display: flex;
    align-items: center;
    justify-content: space-between;    
}

.menu {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 1;
}

.menu nav ul {
    list-style: none;
    display: flex;    
    align-items: center;
    justify-content: flex-start;
}

.menu nav ul li {
    margin-right: 2.5vw; //aspaçamento lateral
}

.menu nav ul li a {
    text-decoration: none;   
    font-weight: 500;
}

.sd-1 a {
    color: var(--preto); 
    font-size: 1.5rem;
    transition: color 0.8s ease;
}

.sd-1 a:hover {
    color: #F1C6C3;
}

.sd-2 a {
    color: var(--vermelho-escuro); 
    font-size: 1.2rem;
    transition: color 0.3s ease;
}

.sd-2 a:hover {
    color: #F1C6C3;  
}

.nav-2 a {
    color: var(--vermelho-escuro); 
    font-size: 1.2rem;    
}

.nav-2 a:hover {
    color:#F1C6C3;  
}

.nav-2 input {
    display: inline-block;
    padding: .55rem 1.8rem;
    border-radius: 10rem;        
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-color: var(--vermelho-escuro); 
    color: white; 
    border: none;    
    cursor: pointer;    
    font-size: 1.2rem;
}

.container {
    display: flex;
    align-items: center;
    justify-content: space-between;   
}

.text-container {
    position: relative;
    flex: 1;
    padding-right: 20px;
}

.text-container p{
    max-width: 50%;
}

.text-container h3, .text-container h1, .text-container p {
    color: var(--vermelho-escuro);   
}

.text-container h3{
    font-size: 1.5rem;    
    margin-bottom: 0.5rem;
    font-weight: bold;
}

.text-container h1{
    font-size: 5rem;        
    font-weight: bold;
}

.image-container {
    flex: 1;
}

.image-container img {
    position: absolute;
    width: 40%;
    margin-top: -30rem;
    margin-left: -13rem;
    height: auto;
}

.coffee{
    text-align: center;
    color: var(--vermelho-escuro);
}

.coffee h1{           
    font-size: 3rem;
    font-weight: bold;
}

.coffee p{          
    font-weight: 500; 
    margin-top: 20px;
}

.coffee a{
    display: inline-block;    
    margin-top: 35px;    
    text-decoration: none;
    color: var(--vermelho-escuro);
    font-size: 1.1rem;
    font-weight: bold;
}

.coffee hr{
    margin-left: auto;
    margin-right: auto;
    width: 9%;
    height: 1.7px;
    background-color: var(--vermelho-escuro);
    border: none;
}

.cards {
    margin-top: 50px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px; 
}

.card{
    position: relative;
    width: 323px;
    height: 468px;   
    border-radius: 20px;
    overflow: hidden;
    color: white;
    text-align: center;
}

.card-1{
    background: linear-gradient(to right, #C78481, #F6C6C4);
}

.card-2{
    background: linear-gradient(to bottom, #F8F7F7, #9C7770);    
}

.card-3{
    background: linear-gradient(to right, #571E1B, #161414);
}

.card input{
    display: inline-block;
    padding: .55rem 5.8rem;
    border-radius: 10rem;       
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-color: white; 
    color: #000; 
    border: none;    
    cursor: pointer;    
    font-size: 1rem;
    font-weight: bold;
    margin-top: 2rem;    
}

.croissants{
    display: flex;  
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    width: 100%;
    height: 70vh;   
    padding-top: 10rem;  
    padding-bottom: 10rem;
    color: var(--vermelho-escuro);
}

.croissants img{
    width: 80%;
    height: auto;
    align-items: right;    
}

.c-text h1{
    font-size: 3rem;
    font-weight: bold;
    flex: 1;
}

.c-text hr{    
    width: 9%;
    height: 1px;
    background-color: var(--vermelho-escuro);
    border: none;
}

.c-text h2{
    padding-top: 10px;
}

.c-text p{
    padding-top: 10px;
}

.c-text a{
    color: var(--vermelho-escuro);
    font-weight: bold;
    text-decoration: none;
    font-size: 1rem;
}

.c-text input{
    background-color: #fff;
    color: #F9C4C4;
    border-radius: 20px;
    border: none;
    padding: 10px 20px;
    font-size: 1rem;
    font-weight: 500;
}

.coffee-pink{
    display: flex;
    align-items: center;
    justify-content: space-between; 
    margin: 0 auto;
    width: 75%;
    height: 40vh;    
    background: linear-gradient(to right top, #541511, #F3C7C4);
    border-radius: 40px;      
}

.cp-img{
    display: flex;
    align-items: left;
    margin-bottom: 5rem;
}

.cp-img img{
    width: 150%;
    height: auto;
}

.cf-text{
    flex-grow: 1;
    color: white;
    text-align: right;     
    margin-right: 3rem;  
}

.cf-text h1{
    font-size: 3rem;
    font-weight: bold;
}

.cf-text p{
    padding-top: 10px;
}

.cf-text input{
    display: inline-block;
    padding: .70rem 7rem;
    border-radius: 10rem;       
    position: relative;
    box-shadow: 2px 8px 16px rgba(0, 0, 0, 0.4);
    overflow: hidden;
    z-index: 1;
    background-color: white; 
    color: #000; 
    border: none;    
    cursor: pointer;    
    font-size: 1rem;
    font-weight: bold;
    margin-top: 3rem    
}

.about{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;   
    margin: 0 auto;
    width: 70%;
    height: 30vh;
    color: var(--vermelho-escuro);
    padding-top:18rem;
    padding-bottom: 15rem;
}

.about-text-1 h1{
    font-size: 2rem;
    font-weight: 800;
}

.about-text-1 h2{
    font-size: 1.2rem;
    font-weight: 500;
}

.about-text-1{
    //flex: 1;
    padding-right: 20px;
    align-items: left;
    width: 35%;
    margin-right: 7.5%;
    height: auto;
}

.about-text-2{
    width: 40%;
    margin-left: 7.5%;
}

.about-text-2 h3{
    font-size: 1rem;
    font-weight: 800;
}

.enjoy{
    display: flex;
    align-items: center;
    justify-content: space-between; 
    margin: 0 auto;
    width: 85%;
    height: 55vh; 
    color: white;
    padding-top: 10rem;        
    box-sizing: border-box; 
    position: relative;  
}

.booking{   
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 70%;
    height: 100%; 
    box-sizing: border-box; 
    border-top-left-radius: 40px;
    border-bottom-left-radius: 40px;
    position: absolute;    
    left: 0;
    background: linear-gradient(to bottom, #91655F, #F3C7C4);
    color: white;
    padding-left:3rem;        
}

.booking img{   
    padding-bottom: 5rem;       
}

.booking hr{    
    width: 20%;
    height: 1px;
    background-color: white;
    border: none;
    margin: 10px 0;   
}

.booking h1{
    font-size: 4rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 3px; 
}   

.booking h3{    
    font-size: 1rem;
    font-weight: 400;       
}

.booking p{
    font-size: 0.8rem;
    font-weight: 400; 
    margin: 10px 0;
}

.booking a{
    display: inline-block;
    color: var(--vermelho-escuro);
    font-weight: bold;
    text-decoration: none;
    font-size: 1rem;
    margin-top: 20px;
}

.where{            
    width: 30%;
    height: 100%; 
    border-top-right-radius: 40px;
    border-bottom-right-radius: 40px;    
    position: absolute;    
    right: 0;
    background: linear-gradient(to bottom, #8F423D, #FFF);
    color: white;    
    padding-top: 1.5rem;
    text-align: center;  
    z-index: -1;  
}

.where hr{    
    display: inline-block;
    align-items: center;
    width: 75%;
    height: 1px;
    background-color: white;
    border: none;
    margin: 20px 0;   
}

.where p{
    font-size: 0.85rem;
    font-weight: 400; 
    margin: 5px 0;
    text-align: left;
    padding-left: 2.5rem;
}

.where h4{
    font-size: 0.9rem;
    font-weight: 400; 
    margin: 20px 0;    
    margin-left: 15px; 
}

where i{    
    color: #fff;
}

.map{
    display: flex;
    align-items: center;
    margin-left: 2.5rem;
}

.hr{  
    padding-top: 10rem;
}

.hr hr{
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    height: 1.2px;
    background-color: #ddd;
    border: none;
}

footer {
    width: 100%;   
    letter-spacing: 1px;
}

.footer{   
    text-decoration: none;
    padding-top: 3rem;
    padding-bottom: 3rem;        
    display: grid;
    grid-template-columns: repeat(3, 1fr);  
    justify-content: center;
    align-items: center;
}

.footer ul {
    list-style: none;    
}

.footer ul li {
    margin-right: 2.5vw;
    margin-bottom: 0.5rem;
    color: var(--vermelho-escuro);
}

.footer ul li a {
    text-decoration: none;    
    color: var(--vermelho-escuro);
}

.footer h3{
    font-size: 1.rem; 
    color: var(--preto);
}

.footer ul li i{    
    color: var(--vermelho-escuro);     
}

.mobile-menu{
    display: none;
}

.hamburguer-img{
    display: none;
}

.mobile-menu .nav-bar{
    position: absolute;
    right: 2rem;
    padding-top: 2rem;
    top: 60px;
    width: 300px;    
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(15px);
    border-radius: 10px;
    overflow: hidden;
}

.mobile-menu li{
    padding: 0.7 rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hamburguer {
    position: fixed; 
    right: 0; 
}

.nav-3 ul {
    display: flex;
    justify-content: space-between;
}

.nav-3 {
    margin-right: auto;
}

.nav-3 ul li a {
    color: var(--vermelho-escuro); 
    font-size: 1.2rem;
}

.nav-3 input {
    display: inline-block;
    padding: .55rem 1.8rem;
    border-radius: 10rem;        
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-color: var(--vermelho-escuro); 
    color: white; 
    border: none;    
    cursor: pointer;    
    font-size: 1.2rem;
}

.nav-bar {
    display: none;
}

.show-nav-bar {
    display: block;
}

.nav-3 .sd-1 a {
    color: var(--preto); 
    font-size: 1.5rem;
}

.mobile-menu nav ul {
    list-style: none;
    display: flex;    
    align-items: center;
    justify-content: flex-start;
}

.mobile-menu nav ul li {
    margin-right: 2.5vw; //aspaçamento lateral
}

.mobile-menu nav ul li a {
    text-decoration: none;   
    font-weight: 500;
}

.capuccino img{
    padding-top: 1.5rem;
}

.image-container-mobile{
    display: none;
}

.hidden{
    opacity: 0;
    filter: blur(15px);
    transform: translateX(-100%);
    transition: all 2s;
}

.show{
    opacity: 1;
    filter: blur(0px);
    transform: translateX(0%);
    transition: all 2s;
}

.cards :nth-child(2){
    transition-delay: 400ms;
}

.cards :nth-child(3){
    transition-delay: 700ms;
}