/**
 * Header 1024px-breakpoint (samma som henrikssonscykel).
 * Klassnamn: brainforest-mobile-trigger, brainforest-desktop-mega, brainforest-mobile-dialog.
 */

/* Header – sidopadding på x-axeln så innehållet kommer lite in från kanterna */
.brainforest-header {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  box-sizing: border-box;
}
@media (min-width: 640px) {
  .brainforest-header {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
@media (min-width: 1024px) {
  .brainforest-header {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/* Inre nav: max 1700px, slutar växa där; annars 100% inom padding */
.brainforest-header nav.max-w-360 {
  max-width: min(100%, 1700px);
}

/* Logo – centrerad med absolut positionering */
.brainforest-site-logo {
  flex: 0 0 auto;
  flex-shrink: 0;
}
/* Begränsa logga-höjd oavsett om den renderas via wp:site-logo eller patterns/header.php */
.brainforest-header .brainforest-site-logo img {
  height: 2rem !important;
  width: auto !important;
  max-width: none !important;
}
@media (min-width: 640px) {
  .brainforest-header .brainforest-site-logo img {
    height: 2.375rem !important;
  }
}
/* Header-bar: logga centrerad, menyer vid sidorna */
.brainforest-header-bar {
  position: relative;
  justify-content: space-between;
}
.brainforest-header-bar > .brainforest-site-logo {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.brainforest-header-bar > .brainforest-desktop-mega {
  flex: 1 1 0%;
  min-width: 0;
}
.brainforest-header-bar > .brainforest-header-right {
  flex: 1 1 0%;
  justify-content: flex-end;
}

/* Höger grupp: hamburger + konto + varukorg + support – luft mellan konto och kundvagn */
.brainforest-header-right {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-shrink: 0;
}
.brainforest-header-right .wp-block-woocommerce-customer-account {
  margin-left: 0.5rem;
}
.brainforest-header-right .flow-root {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

/* Under 1024px: visa hamburger (vänster), dölj desktop-meny; logga centrerad */
@media (max-width: 1023px) {
  .brainforest-header-bar > .brainforest-mobile-trigger {
    display: flex !important;
    flex: 1 1 0%;
    justify-content: flex-start;
  }
  .brainforest-desktop-mega,
  .brainforest-desktop-nav {
    display: none !important;
  }
  .brainforest-header-right {
    gap: 0.375rem;
    flex: 1 1 0%;
    justify-content: flex-end;
  }
  .brainforest-header-right .wp-block-woocommerce-customer-account {
    margin-left: 0.15rem;
  }
  .brainforest-header-right .flow-root {
    margin-left: 0.15rem;
    margin-right: 0.15rem;
  }
}

/* Från 1024px: dölj hamburger och mobil-dialog, visa desktop mega + Butik/E-handel + Support */
@media (min-width: 1024px) {
  .brainforest-mobile-trigger {
    display: none !important;
  }
  .brainforest-desktop-mega {
    display: flex !important;
    flex: 1 1 0%;
    align-self: stretch;
    align-items: center;
    justify-content: flex-start;
  }
  .brainforest-desktop-nav {
    display: flex !important;
    align-items: center;
  }
  .brainforest-mobile-dialog {
    display: none !important;
  }
}

/* Mobilmeny: panel fyller höjden, endast nav scrollar – Support alltid längst ner */
.brainforest-mobile-panel {
  display: flex;
  flex-direction: column;
  height: 100%;
  max-height: 100dvh;
  overflow: hidden;
}
.brainforest-mobile-nav {
  flex: 1 1 0;
  min-height: 0;
  overflow-y: auto;
}
.brainforest-mobile-footer {
  flex-shrink: 0;
  margin-top: auto;
  border: none;
}

/* Mobilmeny: listor och länkar synliga */
.mobile-nav .mobile-nav-main,
.mobile-nav .mobile-nav-secondary,
.mobile-nav .mobile-nav-sub {
  display: block;
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.mobile-nav .mobile-nav-main li,
.mobile-nav .mobile-nav-secondary li,
.mobile-nav .mobile-nav-sub li {
  margin-bottom: 0.25rem;
}
.mobile-nav .mobile-nav-main a,
.mobile-nav .mobile-nav-secondary a,
.mobile-nav .mobile-nav-sub a {
  display: block;
  padding: 0.5rem 0;
  color: oklch(0.262 0.022 285.752);
  text-decoration: none;
}
.mobile-nav .mobile-nav-main a:hover,
.mobile-nav .mobile-nav-secondary a:hover,
.mobile-nav .mobile-nav-sub a:hover {
  color: oklch(0.129 0.042 264.695);
}
.mobile-nav-section-title {
  font-size: 1rem;
  font-weight: 600;
  margin-top: 1.25rem;
  margin-bottom: 0.5rem;
  color: #111827;
}
.mobile-nav .mobile-nav-section-title:first-of-type {
  margin-top: 0.75rem;
}

/* Under 600px: dölj sök-ikonen i header-baren – sök finns i hamburgermenyn */
@media (max-width: 599px) {
  .brainforest-header-right .brainforest-search {
    display: none;
  }
}

/* Sökfält överst i mobilmenyn */
.mobile-nav .brainforest-mobile-search {
  margin: 0.25rem 0 0.75rem;
}
.mobile-nav .brainforest-mobile-search-field {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0 0.875rem;
  border: 1px solid #e4e4e7;
  border-radius: 0.75rem;
  background: #fafafa;
  transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}
.mobile-nav .brainforest-mobile-search-field:focus-within {
  border-color: #a1a1aa;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.mobile-nav .brainforest-mobile-search-field svg {
  flex-shrink: 0;
  color: #a1a1aa;
}
.mobile-nav .brainforest-mobile-search-input {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 0.75rem 0;
  font-size: 1rem;
  color: #18181b;
  -webkit-appearance: none;
  appearance: none;
}
.mobile-nav .brainforest-mobile-search-input::placeholder {
  color: #a1a1aa;
}
.mobile-nav .brainforest-mobile-search-input:focus {
  outline: none;
  box-shadow: none;
}

/* Accordion: rad med länk + toggle-pil */
.mobile-nav .mobile-nav-accordion-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.mobile-nav .mobile-nav-accordion-row > a,
.mobile-nav .mobile-nav-accordion-row > .mobile-nav-accordion-label {
  flex: 1 1 auto;
  display: block;
  padding: 0.5rem 0;
  color: oklch(0.262 0.022 285.752);
  text-decoration: none;
}
.mobile-nav .mobile-nav-accordion-toggle {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: oklch(0.442 0.017 285.786);
  cursor: pointer;
}
.mobile-nav .mobile-nav-accordion-toggle svg {
  transition: transform 0.2s ease;
}
.mobile-nav .mobile-nav-accordion-toggle[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

/* Kollapsad/expanderad panel: indragen undermeny */
.mobile-nav .mobile-nav-accordion-panel {
  list-style: none;
  margin: 0 0 0.25rem;
  padding-left: 0.875rem;
  border-left: 1px solid #e4e4e7;
}
.mobile-nav .mobile-nav-accordion-panel[hidden] {
  display: none;
}
.mobile-nav .mobile-nav-accordion-panel a {
  display: block;
  padding: 0.4rem 0;
  color: oklch(0.442 0.017 285.786);
  text-decoration: none;
}
.mobile-nav .mobile-nav-accordion-panel a:hover {
  color: oklch(0.129 0.042 264.695);
}
