/* Fixed header, no vertical padding, height 64px */
.site-header {
  position: fixed; inset-inline: 0; top: 0; height: 64px; z-index: 1000;
  background: var(--ffp-bg); border-bottom: 1px solid var(--ffp-border);
}
.drawer-open .site-header { z-index: 99999; }
body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }

.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; max-width: var(--ffp-container); margin-inline: auto; padding-inline: 16px; }
.site-branding .site-title { font-weight: 700; color: var(--ffp-fg); }
.site-nav .menu { display: flex; gap: 0; margin: 0; padding: 0; list-style: none; }

/* Hide desktop nav from 1024px and below */
@media (max-width: 1024px) {
  .site-nav .menu { display: none; }
}

/* 2-column layout (flex) */
.l-two-col { display: flex; gap: var(--ffp-gap); align-items: flex-start; }
.l-two-col .content { flex: 1 1 auto; min-width: 0; order: 1; width: 100%; }
.l-two-col .sidebar { flex: 0 0 320px; position: sticky; top: calc(var(--ffp-header-height) + 24px); width: 100%; align-self: flex-start; order: 2; }
@media (max-width: 1024px) {
  .l-two-col { flex-direction: column; }
  .l-two-col .sidebar { position: static; flex: 0 0 auto; }
}

/* Prevent margin-collapsing issues pushing siblings */
.entry-wrap { display: flow-root; }

/* Sidebar spacing when stacked outside two-col */
.container > .sidebar { margin-top: 24px; }
.l-two-col > .sidebar { margin-top: 0; }


