:root {
    --black: #0b0b0b;
    --dark: #111;
    --red: #c62828;
    --gold: #f2b705;
    --cream: #f5ebd7;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    background: radial-gradient(circle at top, #1a1a1a, #000);
    color: var(--cream);
    line-height: 1.6;
}

/* ================= HERO ================= */

.hero {
    min-height: 100vh;
    background:
        linear-gradient(to bottom, rgba(0,0,0,0.85), rgba(0,0,0,0.95)),
        url("images/bg-grill.jpg") center/cover no-repeat;
    text-align: center;
    padding: 80px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.logo {
    max-width: 240px;
    margin: 0 auto 30px;
    filter: drop-shadow(0 10px 30px rgba(0,0,0,.8));
}

.hero h1 {
    font-family: 'Bebas Neue', cursive;
    font-size: 64px;
    color: var(--gold);
    letter-spacing: 4px;
    text-shadow: 0 0 20px rgba(242,183,5,.4);
}

.hero p {
    font-size: 20px;
    max-width: 700px;
    margin: 20px auto;
    opacity: .9;
}

/* ================= BUTTONS ================= */

.buttons {
    margin-top: 40px;
}

.btn {
    padding: 14px 34px;
    text-decoration: none;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    border-radius: 50px;
    transition: all .3s ease;
    display: inline-block;
}

.primary {
    background: linear-gradient(135deg, #d32f2f, #9a1f1f);
    color: white;
    box-shadow: 0 10px 30px rgba(198,40,40,.4);
}

.primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(198,40,40,.6);
}

.secondary {
    border: 2px solid var(--gold);
    color: var(--gold);
    margin-left: 15px;
}

.secondary:hover {
    background: var(--gold);
    color: black;
}

/* ================= SECTIONS ================= */

section {
    padding: 100px 20px;
    text-align: center;
}

h2 {
    font-family: 'Bebas Neue', cursive;
    font-size: 48px;
    color: var(--gold);
    letter-spacing: 3px;
    margin-bottom: 30px;
}

.intro p {
    max-width: 800px;
    margin: auto;
    font-size: 18px;
}

/* ================= MENU ================= */

.menu {
    background: linear-gradient(to bottom, #111, #000);
}

.menu-item {
    max-width: 600px;
    margin: 40px auto;
    padding: 25px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px;
    background: linear-gradient(145deg, #0f0f0f, #141414);
    box-shadow: 0 10px 30px rgba(0,0,0,.6);
}

.menu-item h3 {
    color: var(--gold);
    margin-bottom: 10px;
    font-size: 26px;
}

/* ================= EVENTS ================= */

.events {
    background:
        linear-gradient(to bottom, rgba(0,0,0,.85), rgba(0,0,0,.95)),
        url("images/bg-night.jpg") center/cover no-repeat;
}

.events ul {
    list-style: none;
    padding: 0;
    max-width: 500px;
    margin: 40px auto 0;
}

.events li {
    margin: 15px 0;
    font-size: 18px;
}

/* ================= CONTACT ================= */

.contact {
    background: #0a0a0a;
}

.contact p {
    font-size: 18px;
}

/* ================= FOOTER ================= */

footer {
    background: black;
    padding: 30px;
    font-size: 14px;
    color: #aaa;
}
