/* Reset and base */
body, html {
  height: 100%;
  margin: 0;
  padding: 0;
  font-family: 'PT Serif', serif;
  background: #FFF7F2;
  color: #452B12;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

/* Container for vertical centering */
    .container {
      height: 100vh;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      padding: 0 2rem;
    }
/* Typography */
h1 {
  font-family: 'Marcellus', serif;
  font-weight: 700;
  font-size: 6.4vw;
  margin: 0 0 0.8rem 0;
  user-select: none;
}
h2, h3 {
  font-family: 'Marcellus', serif;
  margin: 1.5rem 0 0.75rem 0;
  color: #6a3f0a;
}

.usp {
  font-size: 1.1rem;
  font-weight: 500;
  text-transform: uppercase;
  margin-bottom: 1.8rem;
  color: #BA7B43;
  letter-spacing: 0.35em;
}

.hours {
  font-family: 'PT Serif', serif;
  font-weight: 700;
  font-size: 1.45rem;
  color: #8C6029;
  margin-bottom: 2.5rem;
  user-select: none;
}

/* Navigation Style */
    nav {
      position: sticky;
      top: 0;
      background: #432606;
      padding: 1rem 3vw;
      display: flex;
      justify-content: center;
      gap: 3.5rem;
      box-shadow: 0 6px 14px rgba(0, 0, 0, 0.2);
      user-select: none;
      z-index: 10;
      font-family: 'Marcellus', serif;
    }

    nav a {
      color: #F3DEC1;
      text-decoration: none;
      font-size: 1.2rem;
      transition: color 0.3s ease;
      letter-spacing: 0.1em;
    }

    nav a:hover,
    nav a.active {
      color: #BA7B43;
    }

/* Header Social Links */
.header-social a {
  color: #F3DEC1;
  
  transition: color 0.3s ease;
}
.header-social a:hover {
  color: #7e5200;
}

/* Buttons */
.cta-button, a.button-primary {
  font-family: 'Marcellus', serif;
  background-color: #492905;
  color: #FAE9D4;
  font-size: 1.8rem;
  padding: 1.2rem 4.5rem;
  border-radius: 6px;
  border: 2.5px solid #BA7B43;
  cursor: pointer;
  transition: background-color 0.25s ease, color 0.25s ease;
  text-decoration: none;
  display: inline-block;
  user-select: none;
}
.cta-button:hover, a.button-primary:hover,
.cta-button:focus, a.button-primary:focus {
  background-color: #BA7B43;
  color: #452B12;
  outline: none;
}

/* Footer */
footer {
  font-family: 'PT Serif', serif;
  text-align: center;
  padding: 1.5rem 2rem 2rem 2rem;
  font-size: 1rem;
  background: #432606;
  color: #EBD8B7;
  user-select: none;
}
footer a {
  color: #BA7B43;
  text-decoration: none;
  font-weight: 600;
}
footer a:hover {
  text-decoration: underline;
}

/* Menu styles */
.menu-container {
  max-width: 920px;
  margin: 2rem auto 4rem auto;
  background: #fffdfa;
  border-radius: 18px;
  box-shadow: 0 2px 18px #89381808;
  padding: 32px 4vw 44px 4vw;
}
.menu-title {
  text-align: center;
  font-family: 'Marcellus', serif;
  color: #452B12;
  margin: 0 0 10px 0;
}
.menu-desc {
  text-align: center;
  font-size: 1.1em;
  color: #be7039;
  margin-bottom: 28px;
}
.menu-group {
  margin-top: 36px;
}
.menu-group-title {
  font-family: 'Marcellus', serif;
  color: #452B12;
  font-size: 1.32em;
  margin-bottom: 13px;
  border-bottom: 2.5px solid #ffe3b4;
  padding-bottom: 2px;
}
.menu-list {
  display: flex;
  flex-wrap: wrap;
  gap: 26px;
  justify-content: flex-start;
}
.menu-item {
  background: #fff;
  border-radius: 10px;
  border: 1.3px solid #ffe3b4;
  flex: 1 1 230px;
  max-width: 250px;
  min-width: 215px;
  box-shadow: 0 2px 14px #f8bb262e;
  margin-bottom: 12px;
  padding: 17px 17px 8px 17px;
  transition: 0.12s;
}
.menu-item:hover {
  box-shadow: 0 6px 25px #f8bb263b;
  border-color: #f6bc3f;
}
.menu-item-header {
  display: flex;
  justify-content: space-between;
}
.menu-item-title {
  font-family: 'Marcellus', serif;
  font-size: 1.07em;
  color: #452B12;
}
.menu-item-price {
  color: #BA7B43;
  font-weight: bold;
  font-size: 1.01em;
}
.menu-item-desc {
  margin: 6px 0 0 0;
  font-size: .97em;
  color: #482312;
}
hr {
  border: none;
  border-bottom: 1.4px solid #f3e6dc;
  margin: 38px auto 26px auto;
}

/* Responsive */
@media (max-width: 600px) {
  .menu-list {
    flex-direction: column;
    align-items: stretch;
  }
  .menu-item {
    max-width: 100%;
  }
  header {
    flex-direction: column;
  
  }

  /* Responsive */
  

      h1 {
        font-size: 10vw;
      }

      nav {
        gap: 1rem;
      }
      nav a{
        font-size: medium;

      }

      .usp {
        font-size: 0.9rem;
        letter-spacing: 0.25em;
      }

      .hours {
        font-size: 1.2rem;
      }

      .cta-button {
        font-size: 1.4rem;
        padding: 1rem 3rem;
      }
    
}
