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

body { font-family: 'Poppins', sans-serif; background-color: #000; color: #fff; line-height: 1.6; }

.container-res { max-width: 1100px; margin: 0 auto; padding: 0 20px; }

/* Hero Section */
.hero-restaurante {
    height: 80vh;
    background: url('https://images.unsplash.com/photo-1514362545857-3bc16c4c7d1b?q=80&w=1350') center/cover no-repeat;
    display: flex; align-items: center; justify-content: center; text-align: center;
}

.overlay-dark {
    background: rgba(0,0,0,0.85); width: 100%; height: 100%;
    display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 20px;
}

.top-tag { color: #c5a059; font-weight: 600; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 15px; font-size: 0.8rem; }

h1 { font-family: 'Playfair Display', serif; font-size: 4rem; margin-bottom: 15px; }
.gold { color: #c5a059; }

.hero-restaurante p { max-width: 500px; font-weight: 300; color: #ccc; margin-bottom: 35px; font-size: 1.1rem; }

.btn-wa-restaurante {
    background-color: #25d366; color: #fff; text-decoration: none; padding: 18px 40px;
    border-radius: 50px; font-weight: 700; font-size: 1rem; transition: 0.3s;
    display: flex; align-items: center; gap: 10px;
}

.btn-wa-restaurante:hover { background-color: #128c7e; transform: scale(1.05); }

/* Grid de Pratos */
.menu-destaque { padding: 100px 0; background-color: #0a0a0a; text-align: center; }
.menu-destaque h2 { font-family: 'Playfair Display', serif; font-size: 2.5rem; color: #c5a059; margin-bottom: 50px; }

.grid-cardapio { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 40px; }

.item-prato { background: #111; padding: 20px; border-radius: 15px; border-bottom: 4px solid #c5a059; transition: 0.4s; }
.item-prato:hover { transform: translateY(-10px); }

.img-wrapper { height: 250px; border-radius: 10px; overflow: hidden; margin-bottom: 20px; }
.img-wrapper img { width: 100%; height: 100%; object-fit: cover; }

.item-prato h3 { margin-bottom: 10px; color: #fff; }
.item-prato p { font-size: 0.9rem; color: #888; }

/* Info Entrega */
.info-entrega { padding: 80px 20px; display: flex; justify-content: center; }
.caixa-info { background: #c5a059; color: #000; padding: 40px; border-radius: 20px; display: flex; gap: 60px; text-align: center; }
.info-col i { font-size: 2.5rem; margin-bottom: 15px; }
.info-col h4 { text-transform: uppercase; font-weight: 700; }

.footer-res { padding: 40px; text-align: center; border-top: 1px solid #222; font-size: 0.8rem; color: #555; }

@media (max-width: 768px) {
    h1 { font-size: 2.5rem; }
    .caixa-info { flex-direction: column; gap: 30px; }
}