/* ==== HEADER – slim on desktop ==== */
.site-header {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 8px 32px !important;
  max-height: 55px !important;
  background: #fff !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  position: relative;
  top: -20px; /* Slim desktop lift */
  z-index: 1000;
}

/* ==== Unified breakpoint: banner grows + menu wraps ==== */
@media (max-width: 1335px) {
  .site-header {
    max-height: none !important;
    height: auto !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    top: 0; /* Reset lift for smaller screens */
  }
  .primary-navigation ul {
    display: flex !important;
    flex-wrap: wrap !important;
  }
  .primary-navigation ul li {
    flex: 1 0 auto;
    min-width: 120px;
  }
}

/* ==== Safari/Firefox fix between 1040–1320px ==== */
@media (max-width: 1320px) and (min-width: 1040px) {
  .site-header {
    max-height: none !important;
    height: auto !important;
    padding: 16px 32px !important;
    align-items: center !important;
    background: #fff !important;
  }
}

/* ==== LOGO ==== */
.site-branding,
.site-logo,
.custom-logo-link {
  display: flex !important;
  align-items: center !important;
  height: 100%;
  margin-right: 20px !important;
}

.custom-logo-link img,
.site-logo img {
  max-height: none !important;
  height: auto !important;
  width: auto !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  top: -8px; /* Lift logo slightly for desktop */
}

/* ==== MENU ==== */
.primary-navigation ul {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.primary-navigation ul li {
  display: flex !important;
  align-items: center !important;
}

.primary-navigation ul li a {
  display: flex !important;
  align-items: center !important;
  padding: 3px 12px !important;
  line-height: 1.1 !important;
  height: auto !important;
  vertical-align: middle !important;
  text-decoration: none !important;
  color: #010261 !important;
  background: transparent !important;
  font: inherit !important;
  font-weight: normal !important;
  border: none !important;
}

.primary-navigation ul li a:hover,
.primary-navigation ul li a:focus {
  text-decoration: underline dotted !important;
  text-underline-offset: 3px;
  color: #010261 !important;
}

/* ==== "Order Now" button ==== */
.menu-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 0 0 10px !important;
  height: auto !important;
  min-height: 0 !important;
}

.menu-button a,
#menu-item-526 a {
  background-color: #010261 !important;
  color: #fff !important;
  padding: 3px 14px !important;
  border: 2px solid #d18633 !important;
  border-radius: 4px !important;
  font: inherit !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  transition: background-color 0.3s, border-color 0.3s, color 0.3s !important;
}

.menu-button a:hover,
#menu-item-526 a:hover {
  background-color: #fff !important;
  border-color: #010261 !important;
  color: #010261 !important;
}

/* ==== DESKTOP EXTRA ==== */
@media (min-width: 1025px) {
  .primary-navigation ul li a {
    line-height: 1 !important;
    height: auto !important;
    vertical-align: middle !important;
  }
  .menu-button {
    margin-left: 10px !important;
  }
}

/* ==== MOBILE ALIGNMENT ==== */
@media (max-width: 496px) {
  .site-header {
    align-items: center !important;
  }
  .site-header button,
  .site-header .menu-toggle {
    padding-top: 12px !important;
    margin-top: 0 !important;
    box-sizing: border-box !important;
  }
  .custom-logo-link img,
  .site-logo img {
    top: 0 !important; /* reset desktop lift */
  }
}
/* Responsive buffer for first page/post H1 titles */
.site-main .entry-title {
  margin-top: 3rem !important;
}

@media (max-width: 1024px) {
  .site-main .entry-title { margin-top: 2rem !important; }
}

@media (max-width: 600px) {
  .site-main .entry-title { margin-top: 1.5rem !important; }
}

/* Responsive buffer for blog roll archive title */
.archive-title,
.page-title {
  margin-top: 3rem;
}

@media (max-width: 1024px) {
  .archive-title,
  .page-title { margin-top: 2rem; }
}

@media (max-width: 600px) {
  .archive-title,
  .page-title { margin-top: 1.5rem; }
}

