/* =========================================================
   Divine Foods, LLC. — Shared Header
   Styles for the nav injected by js/header.js. Kept in its own
   file alongside header.js so the header can be configured in
   one place. Depends on the color/type tokens defined in
   style.css (--df-*, --font-*) — load style.css first.
   ========================================================= */

.site-nav {
  position: sticky;
  top: 0;
  z-index: 60;
  background: rgba(255, 255, 255, 0.98);
  border-bottom: 1px solid var(--df-cream);
}
.site-nav .container { display: flex; align-items: center; justify-content: space-between; padding-top: 12px; padding-bottom: 12px; }
.brand img { height: 54px; width: auto; display: block; }
.nav-links { display: flex; align-items: center; gap: 2rem; }
.nav-links a:not(.btn) {
  font-weight: 700;
  font-size: 0.96rem;
  color: var(--df-espresso);
  position: relative;
  padding: 6px 2px;
}
.nav-links a:not(.btn)::after {
  content: "";
  position: absolute;
  left: 0; right: 100%;
  bottom: 0;
  height: 2px;
  background: var(--df-cranberry);
  transition: right 0.22s ease;
}
.nav-links a:not(.btn):hover::after,
.nav-links a.active::after { right: 0; }
.nav-links a.active { color: var(--df-cranberry); }
.nav-toggle {
  display: none;
  background: none;
  border: 2px solid var(--df-espresso);
  border-radius: 10px;
  padding: 8px 10px;
  color: var(--df-espresso);
  min-width: 44px;
  min-height: 44px;
}
@media (max-width: 900px) {
  .nav-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .nav-links {
    position: fixed;
    inset: 76px 0 0 0;
    background: var(--df-white);
    flex-direction: column;
    align-items: flex-start;
    padding: 28px 24px;
    gap: 1.5rem;
    transform: translateX(100%);
    transition: transform 0.28s ease;
    overflow-y: auto;
  }
  .nav-links.is-open { transform: translateX(0); }
  .nav-links a:not(.btn) { font-size: 1.15rem; }
  .brand img { height: 44px; }
}
