/* |--↓-↓-↓ Start Header ↓-↓-↓--| */
header {
  padding: 20px;
  background-color: var(--color-light-teal);
  border-bottom: 3px solid var(--color-mid-green);
  width: 100%;
}

.header-container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 1400px;
  margin: 0 auto;
  position: relative;
  width: 100%;
  gap: 20px; /* Adds space between columns */
}

/* Left column - Logo */
.header-left {
  flex: 0 0 150px; /* Fixed width for logo */
  position: relative;
  z-index: 1;
}

/* Center column - Business name and navigation */
.header-center {
  flex: 1;
  min-width: 0; /* Prevents flex item from overflowing */
  max-width: 800px;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Right column - Shopping cart */
.header-right {
  flex: 0 0 150px; /* Fixed width for shopping cart */
  display: flex;
  justify-content: flex-end;
  position: relative;
  z-index: 1;
}

/* Logo styles */
header .logo {
  width: 100%;
  max-width: 180px;
  height: auto;
}

header .logo img {
  display: block;
  width: 100%;
  height: auto;
  margin-left: 50px;
  filter: drop-shadow(0 0 2px var(--color-soft-golden)) drop-shadow(0 0 0px var(--color-dark-green));
}

/* Business name and navigation container */
.business-name-container {
  width: 100%;
  text-align: center;
  margin-bottom: 15px;
}

.nav-container {
  width: 100%;
}

/* Shopping cart button */
#shopping-cart {
  position: static;
  padding: 15px;
  border-radius: 10px;
  background-color: var(--color-destin-sand);
  color: var(--color-dark-green);
  cursor: pointer;
  z-index: 5;
  transition: all 0.3s ease;
  box-shadow: var(--shadow-strong);
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
}

.business-name {
  font-family: 'Georgia', serif;
  display: block;
  font-size: 3.6rem;
  color: var(--color-dark-green); /* Dark green for the title */
  margin: 10px 0;
  text-align: center;
  text-shadow: var(--text-outline-business);
}

header p.tagline {
  font-family: 'Arial', sans-serif;
  font-size: 1.4rem;
  color: var(--color-mid-green); /* Pale green for the tagline */
  margin: 0;
  text-align: center;
}

.menu-toggle {
  display: none;
}

@media (max-width: 780px) {
  /* --- Main Header Container --- */
  header {
    flex-direction: column;
    padding: 10px;
  }

  .header-main {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }

  .logo-and-title {
    display: flex;
    align-items: center;
    gap: 15px;
  }

  /* --- Logo --- */
  header .logo {
    position: static;
    width: 100px; /* Smaller logo for compact header */
  }

  header .logo img {
    width: 100%;
  }

  /* --- Business Name --- */
  .business-name {
    font-size: 1.8rem; /* Smaller name for mobile */
    margin: 0;
  }

  /* --- Header Icons --- */
  .header-icons {
    display: flex;
    align-items: center;
    gap: 15px;
  }

  #shopping-cart {
    position: static;
    padding: 0;
    background: none;
    box-shadow: none;
    font-size: 1.5rem;
  }

  .menu-toggle {
    display: block;
    background: none;
    border: none;
    color: var(--color-dark-green);
    cursor: pointer;
  }
  
  /* --- Compact Navigation Menu --- */
  nav {
    display: none;
    width: 100%;
    margin-top: 10px;
    background-color: var(--color-destin-sand);
    border-radius: 5px;
    box-shadow: var(--shadow-subtle);
  }

  nav.is-open {
    display: block;
  }

  nav ul {
    flex-direction: column;
    padding: 5px 0; /* Reduced vertical padding */
  }

  nav ul li a {
    padding: 10px 0; /* Reduced padding for each link */
    font-size: 1rem;  /* Smaller font size for links */
    text-align: center;
    border: none;
  }

  nav ul li a.current-page {
    background: none;
    text-decoration: underline;
  }
}

nav {
  margin-top: 20px;
  background-color: var(--color-destin-sand);
  padding: 10px 20px;
  border-radius: 5px;
  width: 100%;
  box-shadow: var(--shadow-subtle);
}

#shopping-cart {
  position: absolute;
  top: 100px;
  right: 100px;
  padding: 20px;
  border-radius: 10px;
  background-color: var(--color-destin-sand);
  color: var(--color-dark-green); 
  cursor: pointer;
  z-index: 5;
  transition: background-color 0.3s ease, color 0.3s ease;
  box-shadow: var(--shadow-strong);
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
}

#shopping-cart:hover {
  background-color: var(--color-dark-green);
  color: var(--color-mid-green);
  border: solid var(--color-destin-sand); 
  box-shadow: var(--shadow-medium);
}

nav ul {
  display: flex;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0;
}

nav ul {
  gap: 40px;
}

nav ul li {
  margin: 0 20px;
  border-radius: 5px;
}

.current-page {
  font-size: 1.4em;
  font-weight: bold;
  color: var(--color-dark-green);
  background-color: var(--color-mid-green);
  border: none;
  text-decoration: underline;
  white-space: wrap;
  text-align: center;
  box-shadow: var(--shadow-strong);
}

.community-link {
  font-size: 0.9em;
}

nav ul li a {
  font-family: 'Arial', sans-serif;
  font-size: 1rem;
  font-weight: bold;
  color: var(--color-dark-green); 
  text-decoration: underline;
  padding: 8px 15px;
  border-radius: 10px;
  transition: background-color 0.3s ease, color 0.3s ease;
}

nav ul li a:hover {
  background-color: var(--color-destin-sand);
  color: var(--color-dark-green);
  border: solid .5px var(--color-dark-green);
  padding: 7px 14px;
  box-shadow: var(--shadow-medium);
}