/* ==================================================
   HEADER LAYOUT (DYNAMIC)
   Controlled by Customizer body classes
   ================================================== */

/* --------------------------------
   Header width control
-------------------------------- */

.site-header {
  width: 100%;
  min-height: var(--header-min-height, 80px);
}

/* Boxed header */
.header-width-boxed .site-header .container {
  width: auto;
  max-width: var(--container-width);
  margin-inline: auto;
}

/* Full-width header content */
.header-width-full .site-header .container {
  width: 100%;
  max-width: none;
}


/* --------------------------------
   Base header structure
-------------------------------- */

.site-header .container,
.site-header .header-inner {
  min-height: inherit;
  display: flex;
  align-items: center;
}

.header-inner {
  width: 100%;
  display: flex;
  gap: var(--space-lg);
  align-items: center;
}


/* --------------------------------
   Layout: Columns (default)
-------------------------------- */

.header-layout-columns .header-inner {
  flex-direction: row;
}

/* Column widths (CSS variables from Customizer) */
.header-layout-columns .header-branding {
  flex: 0 0 var(--header-branding-width, 50%);
  display: flex;
  align-items: center;
}

.header-layout-columns .header-menu {
  flex: 0 0 var(--header-menu-width, 50%);
  display: flex;
  align-items: center;
}


/* --------------------------------
   Layout: Rows
-------------------------------- */

.header-layout-rows .header-inner {
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.header-layout-rows .header-branding,
.header-layout-rows .header-menu {
  width: 100%;
  justify-content: center;
}


/* --------------------------------
   Logo alignment
-------------------------------- */

.header-logo-align-left .header-branding {
  justify-content: flex-start;
  text-align: left;
}

.header-logo-align-center .header-branding {
  justify-content: center;
  text-align: center;
}

.header-logo-align-right .header-branding {
  justify-content: flex-end;
  text-align: right;
}


/* --------------------------------
   Navigation alignment
-------------------------------- */

.header-nav-align-left .header-menu {
  justify-content: flex-start;
}

.header-nav-align-center .header-menu {
  justify-content: center;
}

.header-nav-align-right .header-menu {
  justify-content: flex-end;
}


/* --------------------------------
   Mobile behavior
-------------------------------- */

@media (max-width: 768px) {

  /* Respect selected layout */
  .header-layout-columns .header-inner {
    flex-direction: column;
    align-items: center;
  }

  .header-branding,
  .header-menu {
    width: 100%;
    justify-content: center;
  }
}
