.nav-toggle {
  display: none;
  border: 2px solid var(--menu-btn-border, var(--brand, #b48c5a));
  color: var(--menu-btn-text, var(--brand, #b48c5a));
  background: var(--menu-btn-bg, #fff);
  min-width: 64px;
  height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  font-weight: 700;
  cursor: pointer;
  font-family: 'Cairo', Arial, sans-serif;
  z-index: 1101;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
  font-size: 14px;
}

/* Non-index pages layout: brand on its own row, then menu/search/cart on one row */
.page-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  justify-content: space-between;
}

.page-header .brand {
  width: 100%;
  display: flex;
  justify-content: center;
  order: 1;
}

.page-header .nav-toggle {
  order: 2;
  min-width: 64px;
  height: 40px;
  padding: 0 14px;
  font-size: 14px;
}

.page-header .global-search {
  order: 5;
  flex: 1 1 100%;
  max-width: 100%;
  width: 100%;
  margin: 6px 0 0;
  padding: 0;
}

.page-header .cart-float {
  order: 4;
  min-width: 64px;
  height: 40px;
  padding: 0 14px;
  font-size: 14px;
}

@media (max-width: 600px) {
  .page-header {
    gap: 8px 10px;
  }

  .page-header .global-search {
    flex: 1 1 100%;
    max-width: 100%;
    margin-top: 6px;
  }
}

.page-nav a.active,
header nav a.active {
  color: var(--menu-link-active, var(--brand, #b48c5a));
}

.page-nav a,
header nav a {
  color: var(--menu-link-color, #6d6d6d);
  text-decoration: none;
  font-weight: 700;
  font-family: 'Cairo', Arial, sans-serif;
}

.nav-toggle:active,
.nav-toggle:focus {
  outline: none;
  background: var(--menu-btn-focus-bg, var(--brand, #b48c5a));
  color: var(--menu-btn-focus-text, #fff);
}

.nav-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  display: none;
  z-index: 1000;
  pointer-events: auto;
}

.nav-overlay.show {
  display: block;
  pointer-events: auto;
}

@media (max-width: 900px) {
  header,
  .page-header {
    position: sticky;
    z-index: 1103;
  }

  .nav-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    position: absolute;
    top: 8px;
    right: 16px;
  }

  .page-header .nav-toggle {
    position: static;
    margin-inline: 0;
    align-self: center;
  }

  .page-header .cart-float {
    position: relative;
    margin-inline: 0;
    align-self: center;
  }

  header nav,
  .page-header .page-nav {
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    width: min(82vw, 320px);
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: var(--menu-drawer-bg, #fff);
    border-left: 1px solid var(--menu-drawer-border, #ead9c7);
    padding: 18px 16px;
    text-align: right;
    align-items: flex-end;
    justify-content: flex-start;
    padding-top: 20px;
    box-shadow: -6px 0 18px var(--menu-drawer-shadow, rgba(180, 140, 90, 0.18));
    transform: translateX(100%);
    transition: transform 0.25s ease;
    z-index: 1104;
    pointer-events: auto;
  }

  header nav.open,
  .page-header .page-nav.open {
    transform: translateX(0);
  }

  .nav-overlay {
    z-index: 1000;
  }
}

@media (max-width: 900px) {
  body { 
    --install-banner-height: 0px;
  }
  .install-banner {
    height: auto;
  }
  .nav-toggle {
    top: calc(8px + var(--install-banner-height));
  }
  .cart-float.top-left {
    top: calc(8px + var(--install-banner-height));
  }
}

@media (max-width: 600px) {
  .nav-toggle {
    min-width: 58px;
    height: 36px;
    padding: 0 12px;
    top: 6px;
    right: 12px;
  }
}
