
/* 1. Fonts */
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@700&family=Open+Sans:wght@400;600&display=swap');

html {
  scroll-behavior: smooth; /* Glides to the section instead of snapping */
  scroll-padding-top: 90px; /* Invisible bumper for the fixed menu */
}

:root {
  /* 2. Color Palette */
  --bg-warm-white: #FAF9F6;
  --text-charcoal: #2D3436;
  --accent-mint:   #A8E6CF;
  --accent-peach:  #FFB7B2;
  --text-muted:    #7F8C8D;
}

/* 3. Base Page Styling */
body {
  font-family: 'Open Sans', sans-serif;
  background-color: var(--bg-warm-white);
  color: var(--text-charcoal);
  line-height: 1.6;
  margin: 0;
  padding: 0;
  padding-top: 60px; /* Pushes the page content down so it doesn't hide under the fixed menu */
}

h1, h2, h3 {
  font-family: 'Nunito', sans-serif;
  color: var(--text-charcoal);
}

/* 4. Navigation & Headers */
nav {
  background-color: var(--accent-mint);
  padding: 15px 20px;
  display: flex;
  justify-content: space-around; 
  align-items: center;
  box-shadow: 0 4px 6px rgba(0,0,0,0.05);
  
  /* The bulletproof lock to keep it at the top */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%; /* Spans the entire width of the screen */
  z-index: 1000; /* Ensures the menu stays on top of images and text */
  box-sizing: border-box; /* Ensures padding doesn't break the width */
}

nav a {
  text-decoration: none;
  color: var(--text-charcoal);
  font-weight: 600;
  transition: color 0.3s ease;
}

nav a:hover {
  color: var(--accent-peach);
}

/* 5. Buttons & Interactive Elements */
button, .submit-btn, .back-to-top {
  background-color: var(--accent-peach);
  color: var(--text-charcoal);
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  border: none;
  padding: 10px 20px;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

button:hover, .submit-btn:hover, .back-to-top:hover {
  background-color: #ff9e99; /* Slightly darker peach on hover */
}

/* 6. Alternating Layout (Zig-Zag) */
.info-block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  margin: 60px auto;
  padding: 20px;
  max-width: 1000px; /* Keeps the content from stretching too far on big screens */
}

/* Flips the layout for alternating rows */
.info-block.reverse {
  flex-direction: row-reverse;
}

.text-container, .image-container {
  flex: 1; 
}

/* 7. Images & Animations */
.image-container img {
  width: 100%;
  border-radius: 8px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.image-container img:hover {
  transform: scale(1.03); /* Subtle 3% zoom */
  box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.1);
}

.photo-credit {
  color: var(--text-muted);
  font-size: 0.85em;
  font-style: italic;
  text-align: center;
  margin-top: 8px;
}

/* 8. Mobile Responsiveness */
@media (max-width: 768px) {
  nav {
    flex-direction: column; /* Stacks nav links on phones */
    gap: 10px;
  }
  
  .info-block, 
  .info-block.reverse {
    flex-direction: column; /* Overrides the side-by-side layout */
    text-align: center;
    gap: 20px;
    padding: 10px;
  }

  h1 { font-size: 1.8em; }
  h2 { font-size: 1.5em; }
}

/* 9. Tables (Restaurant Page) */
table {
  width: 100%;
  border-collapse: collapse;
  margin: 30px 0;
  background-color: white;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

th, td {
  padding: 15px;
  text-align: left;
  border-bottom: 1px solid #eeeeee;
}

th {
  background-color: var(--accent-mint);
  color: var(--text-charcoal);
  font-family: 'Nunito', sans-serif;
}

tr:hover {
  background-color: #f9fdfb; /* Very soft mint hover effect */
}