/**
 * 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);
}

/* ─────────────────────────────────────────────────────────────
 * Mega-menyn överlappade headern för INLOGGADE
 * ─────────────────────────────────────────────────────────────
 *
 * Tailwind Plus Elements positionerar <el-popover anchor="bottom"> med
 * inline-stilar och position:absolute. Floating UI räknar knappens underkant
 * i VIEWPORT-koordinater, men position:absolute mäter från DOKUMENTET.
 *
 * WordPress admin-bar är position:fixed och ingår därför inte i
 * dokumentflödet. För inloggade skiljer sig koordinatsystemen med exakt
 * admin-barens höjd, och panelen hamnade 32px för högt – mitt i headern.
 *
 * Uppmätt (inloggad, 1374px bred):
 *   header:  top 52  -> bottom 117
 *   popover: top 84                 <- 33px för högt
 *
 * Utloggad finns ingen admin-bar, ingen offset, och menyn låg rätt. Det är
 * därför felet bara syntes inloggat (och inte i inkognito).
 *
 * Vi skjuter ner panelen med admin-barens höjd via --anchor-gap, som
 * biblioteket redan adderar i sin calc() för anchor="bottom":
 *   top: calc(84px + var(--anchor-gap, 0px))
 *
 * 32px på desktop, 46px under 783px (WP:s egen brytpunkt för admin-baren).
 */
body.admin-bar el-popover[id^="desktop-menu-"] {
  --anchor-gap: 32px;
}
@media screen and (max-width: 782px) {
  body.admin-bar el-popover[id^="desktop-menu-"] {
    --anchor-gap: 46px;
  }
}

/* ─────────────────────────────────────────────────────────────
 * Produktgalleriets pilar – centrera ikonen i knappen
 * ─────────────────────────────────────────────────────────────
 *
 * WooCommerce ger ikonerna asymmetrisk padding, vilket gör att de hamnar
 * snett i den 40x40px stora knappen:
 *
 *   .wc-block-next-previous-buttons__icon--left  { padding: 2px 2px 0 0 }
 *   .wc-block-next-previous-buttons__icon--right { padding: 2px 0 0 2px }
 *
 * padding-top: 2px trycker ikonen nedåt, och 2px pa ena sidan i sidled - sa
 * pilarna ar ocentrerade bade vertikalt och horisontellt.
 *
 * Vi nollar paddingen och centrerar med flex i stallet. Selektorerna anvander
 * inte :where() (till skillnad fran WooCommerce) och vinner darfor pa
 * specificitet utan !important.
 */
.wc-block-next-previous-buttons__button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.wc-block-next-previous-buttons__icon,
.wc-block-next-previous-buttons__icon--left,
.wc-block-next-previous-buttons__icon--right {
  padding: 0;
  display: block;
}
