/*========================================
    RESET
========================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:#fafafa;
    color:#222;
    line-height:1.7;
    overflow-x:hidden;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
    color:inherit;
}

ul{
    list-style:none;
}

.container{
    width:min(1180px,90%);
    margin:auto;
}

section{
    padding:100px 0;
}

/*========================================
    VARIABLES
========================================*/

:root{

    --primary:#3B2417;
    --accent:#C28B37;
    --white:#ffffff;
    --light:#f8f8f8;
    --dark:#111111;

    --shadow:0 18px 40px rgba(0,0,0,.12);

    --transition:.35s ease;

}

/*========================================
    HEADER
========================================*/

header{

    position:fixed;
    top:0;
    left:0;
    width:100%;

    background:rgba(255,255,255,.95);
    backdrop-filter:blur(14px);

    z-index:1000;

    box-shadow:0 3px 12px rgba(0,0,0,.05);

}

nav{

    height:80px;

    display:flex;
    justify-content:space-between;
    align-items:center;

}

.logo{

    font-size:1.8rem;
    font-weight:700;
    color:var(--primary);

}

.logo span{

    color:var(--accent);

}

.nav-links{

    display:flex;
    gap:35px;

}

.nav-links a{

    font-weight:500;
    transition:var(--transition);

}

.nav-links a:hover{

    color:var(--accent);

}

.nav-links .active{

color:var(--accent);

font-weight:600;

}

/*========================================
    BUTTONS
========================================*/

.btn{

    display:inline-block;

    padding:15px 34px;

    border-radius:40px;

    background:var(--accent);

    color:#fff;

    transition:var(--transition);

    font-weight:500;

}

.btn:hover{

    transform:translateY(-4px);

    box-shadow:var(--shadow);

}

.btn-outline{

    display:inline-block;

    padding:15px 34px;

    border-radius:40px;

    border:2px solid #fff;

    color:#fff;

    transition:var(--transition);

}

.btn-outline:hover{

    background:#fff;
    color:#222;

}

/*========================================
    HERO
========================================*/

.hero{

    min-height:100vh;

    display:flex;
    align-items:center;

    background:
    linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),
    url("assets/hero.jpg");

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;

    color:#fff;

    text-align:center;

}

.hero-content{

    width:100%;

}

.hero-text{

    max-width:760px;
    margin:auto;

}

.hero-tag{

    display:inline-block;

    color:var(--accent);

    letter-spacing:3px;

    text-transform:uppercase;

    font-size:.9rem;

    font-weight:600;

    margin-bottom:25px;

}

.hero h1{

    font-size:5rem;

    line-height:1.1;

    margin-bottom:25px;

}

.hero p{

    font-size:1.2rem;

    max-width:650px;

    margin:0 auto 45px;

}

.hero-buttons{

    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;

}

/*========================================
    SECTION TITLES
========================================*/

.section-title{

    text-align:center;
    margin-bottom:70px;

}

.section-title span{

    color:var(--accent);

    letter-spacing:2px;

    text-transform:uppercase;

    font-weight:600;

}

.section-title h2{

    font-size:2.8rem;

    margin:15px 0;

}

.section-title p{

    color:#666;

    max-width:650px;

    margin:auto;

}

/*========================================
    ABOUT
========================================*/

.about-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:70px;

    align-items:center;

}

.about img{

    border-radius:18px;

    box-shadow:var(--shadow);

}

.about h3{

    font-size:2rem;

    margin-bottom:20px;

    color:var(--primary);

}

.about p{

    color:#666;

    margin-bottom:20px;

}

/*========================================
    FEATURED DISHES
========================================*/

.food-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:30px;

}

.food-card{

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    box-shadow:var(--shadow);

    transition:var(--transition);

}

.food-card:hover{

    transform:translateY(-8px);

}

.food-card img{

    height:240px;

    object-fit:cover;

}

.food-content{

    padding:25px;

}

.food-content h3{

    margin-bottom:10px;

}

.food-content p{

    color:#666;

}

/*========================================
    MENU
========================================*/

.menu{

    background:var(--light);

}

.menu-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:40px;

}

.menu-box{

    background:#fff;

    padding:35px;

    border-radius:18px;

    box-shadow:var(--shadow);

}

.menu-box h3{

    color:var(--primary);

    margin-bottom:25px;

}

.menu-box li{

    display:flex;

    justify-content:space-between;

    padding:14px 0;

    border-bottom:1px solid #eee;

}

/*========================================
    GALLERY
========================================*/

.gallery-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:20px;

}

.gallery-grid img{

    height:260px;

    object-fit:cover;

    border-radius:16px;

    transition:var(--transition);

}

.gallery-grid img:hover{

    transform:scale(1.05);

}

/*========================================
    CONTACT
========================================*/

.contact{

    background:var(--primary);

    color:#fff;

}

.contact-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:70px;

}

.contact-info h3{

    font-size:2rem;

    margin-bottom:25px;

}

.contact-info p{

    margin-bottom:18px;

}

iframe{

    width:100%;
    height:450px;

    border:none;

    border-radius:18px;

    box-shadow:var(--shadow);

}

/*========================================
    FOOTER
========================================*/

footer{

    background:#111;

    color:#bbb;

    text-align:center;

    padding:40px 0;

}

footer span{

    color:var(--accent);

}

.portfolio-credit{
    margin-top:20px;
    font-size:.9rem;
    color:#888;
}

.portfolio-credit a{
    color:var(--accent);
}

.social-links{

display:flex;

justify-content:center;

gap:25px;

margin:25px 0;

}

.social-links a{

transition:.3s;

}

.social-links a:hover{

color:var(--accent);

}

/*========================================
    WHATSAPP
========================================*/

.whatsapp{

    position:fixed;

    bottom:25px;
    right:25px;

    width:65px;
    height:65px;

    border-radius:50%;

    background:#25D366;

    display:flex;
    justify-content:center;
    align-items:center;

    color:#fff;

    font-size:2rem;

    box-shadow:var(--shadow);

    z-index:1000;

    transition:var(--transition);

}

.whatsapp:hover{

    transform:scale(1.08);

}

.social-links{

    display:flex;

    justify-content:center;

    gap:25px;

    margin:25px 0;

}

.social-links a{

    transition:.3s;

    color:#fff;

}

.social-links a:hover{

    color:var(--accent);

}

/*========================================
    SCROLL REVEAL
========================================*/

.reveal{

    opacity:0;

    transform:translateY(50px);

    transition:1s;

}

.reveal.active{

    opacity:1;

    transform:translateY(0);

}

/*========================================
    TABLET
========================================*/

@media(max-width:900px){

    nav{

        height:75px;

    }

    .nav-links{

        display:none;

    }

    .hero{

        padding:140px 0 80px;

    }

    .hero h1{

        font-size:3.2rem;

    }

    .hero p{

        font-size:1rem;

    }

    .about-grid,
    .menu-grid,
    .contact-grid{

        grid-template-columns:1fr;

    }

    section{

        padding:80px 0;

    }

}

/*========================================
    MOBILE
========================================*/

@media(max-width:600px){

    .hero{

        padding:120px 20px 70px;

    }

    .hero h1{

        font-size:2.5rem;

    }

    .hero-buttons{

        flex-direction:column;
        align-items:center;

    }

    .section-title h2{

        font-size:2rem;

    }

    .logo{

        font-size:1.5rem;

    }

    .food-card img{

        height:220px;

    }

    .gallery-grid img{

        height:220px;

    }

}