/* ==========================================================
   L'ART — HEADER / NAVIGATIE

   Dit bestand ondersteunt zowel de file-based header als een
   header die eerder via de WordPress Site Editor is opgeslagen.
   Daarom zijn de belangrijkste regels NIET afhankelijk van
   .lart-header-* classes.
========================================================== */

.site-header,
header.wp-block-template-part {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: var(--lart-background) !important;
  box-shadow: 0 8px 24px rgba(38, 39, 39, 0.05);
}

.admin-bar .site-header,
.admin-bar header.wp-block-template-part {
  top: 32px !important;
}

/* Verwijder de content-width beperking van Ona binnen de header.
   Hierdoor kan het logo daadwerkelijk verder naar links staan. */
.site-header > .wp-block-group,
header.wp-block-template-part > .wp-block-group,
.site-header > .wp-block-group > .wp-block-group,
header.wp-block-template-part > .wp-block-group > .wp-block-group,
.site-header > .wp-block-group > .wp-block-columns,
header.wp-block-template-part > .wp-block-group > .wp-block-columns {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.site-header .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
header.wp-block-template-part .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none !important;
}

.site-header .wp-block-columns,
header.wp-block-template-part .wp-block-columns,
.site-header .wp-block-group,
header.wp-block-template-part .wp-block-group {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* File-based header. */
.lart-header-shell {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--lart-background) !important;
}

.lart-header-inner {
  width: 100% !important;
  max-width: none !important;
  min-height: 86px;
  margin: 0 !important;
  padding: 0.65rem 34px !important;
  display: grid !important;
  grid-template-columns: 150px minmax(0, 1fr) auto;
  align-items: center !important;
  gap: clamp(1.5rem, 2.5vw, 3rem);
}

/* ----------------------------------------------------------
   LOGO
---------------------------------------------------------- */

.site-header .wp-block-site-logo,
header.wp-block-template-part .wp-block-site-logo {
  justify-self: start !important;
  margin-left: 3 !important;
  margin-right: 0 !important;
}

.site-header .wp-block-site-logo img,
header.wp-block-template-part .wp-block-site-logo img {
  display: block !important;
  width: auto !important;
  max-width: 118px !important;
  max-height: 68px !important;
  object-fit: contain !important;
}

/* Als de opgeslagen header van WordPress nog een gecentreerde
   content-container gebruikt, trekken we alleen het logo visueel
   verder naar links op desktop. */
@media (min-width: 901px) {
  .site-header .wp-block-site-logo,
  header.wp-block-template-part .wp-block-site-logo {
    transform: translateX(-34px);
  }
}

/* ----------------------------------------------------------
   NAVIGATIE
---------------------------------------------------------- */

.site-header .wp-block-navigation,
header.wp-block-template-part .wp-block-navigation {
  background: transparent !important;
}

.site-header .wp-block-navigation__container,
header.wp-block-template-part .wp-block-navigation__container {
  column-gap: clamp(1rem, 2vw, 2rem) !important;
  row-gap: 0.5rem !important;
}

.site-header .wp-block-navigation-item,
header.wp-block-template-part .wp-block-navigation-item {
  margin: 0 !important;
}

.site-header .wp-block-navigation-item__content,
.site-header .wp-block-navigation-item__label,
header.wp-block-template-part .wp-block-navigation-item__content,
header.wp-block-template-part .wp-block-navigation-item__label {
  color: var(--lart-green) !important;
  font-family: var(--lart-font) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
}

.site-header .wp-block-navigation-item__content:hover,
header.wp-block-template-part .wp-block-navigation-item__content:hover {
  color: var(--lart-olive) !important;
}

.site-header .wp-block-navigation__submenu-icon,
.site-header .wp-block-navigation-submenu__toggle,
header.wp-block-template-part .wp-block-navigation__submenu-icon,
header.wp-block-template-part .wp-block-navigation-submenu__toggle {
  background: transparent !important;
  color: var(--lart-green) !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.site-header .wp-block-navigation__submenu-container,
header.wp-block-template-part .wp-block-navigation__submenu-container {
  min-width: 230px !important;
  padding: 0.5rem 0 !important;
  background: var(--lart-sand) !important;
  border: 0 !important;
  box-shadow: var(--shadow) !important;
}

.site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
header.wp-block-template-part .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  padding: 0.7rem 1rem !important;
  color: var(--lart-green) !important;
  font-size: 13px !important;
}

/* ----------------------------------------------------------
   SOCIAL ICONS

   Dit is bewust generiek. De actieve header op de voorkant is
   eerder in de Site Editor opgeslagen en bevat niet altijd de
   class .lart-header-socials.
---------------------------------------------------------- */

.site-header .wp-block-social-links,
header.wp-block-template-part .wp-block-social-links {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.site-header .wp-block-social-links .wp-social-link,
header.wp-block-template-part .wp-block-social-links .wp-social-link {
  display: grid !important;
  place-items: center !important;
  flex: 0 0 45px !important;
  width: 45px !important;
  height: 45px !important;
  min-width: 45px !important;
  min-height: 45px !important;
  max-width: 45px !important;
  max-height: 45px !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  background: var(--lart-green) !important;
  color: var(--lart-background) !important;
  line-height: 0 !important;
}

.site-header .wp-block-social-links .wp-social-link > a.wp-block-social-link-anchor,
header.wp-block-template-part .wp-block-social-links .wp-social-link > a.wp-block-social-link-anchor {
  display: grid !important;
  place-items: center !important;
  box-sizing: border-box !important;
  width: 45px !important;
  height: 45px !important;
  min-width: 45px !important;
  min-height: 45px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: inherit !important;
  line-height: 0 !important;
}

.site-header .wp-block-social-links .wp-social-link svg,
header.wp-block-template-part .wp-block-social-links .wp-social-link svg {
  display: block !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  max-width: 28px !important;
  max-height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  fill: currentColor !important;
  transform: none !important;
}

/* WordPress mobiele overlay. */
.wp-block-navigation__responsive-container.is-menu-open {
  position: fixed !important;

  top: 76px !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;

  /* Iets breder dan een half scherm */
  width: 90vw !important;
  max-width: 500px !important;

  height: calc(100dvh - 76px) !important;

  margin: 0 !important;

  padding:
    28px
    22px
    30px !important;

  box-sizing: border-box !important;

  background: var(--lart-background) !important;
  color: var(--lart-green) !important;

  box-shadow:
    -12px 10px 35px rgba(38, 39, 39, 0.12) !important;

  overflow-x: hidden !important;
  overflow-y: auto !important;

  z-index: 100000 !important;
}

@media (max-width: 1150px) {
  .lart-header-inner {
    grid-template-columns: 125px minmax(0, 1fr) auto;
    gap: 1.25rem;
    padding-inline: 24px !important;
  }

  .site-header .wp-block-navigation__container,
  header.wp-block-template-part .wp-block-navigation__container {
    column-gap: 1.35rem !important;
  }

  .site-header .wp-block-social-links,
  header.wp-block-template-part .wp-block-social-links {
    gap: 8px !important;
  }

  .site-header .wp-block-social-links .wp-social-link,
  .site-header .wp-block-social-links .wp-social-link > a.wp-block-social-link-anchor,
  header.wp-block-template-part .wp-block-social-links .wp-social-link,
  header.wp-block-template-part .wp-block-social-links .wp-social-link > a.wp-block-social-link-anchor {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
    flex-basis: 48px !important;
  }

  .site-header .wp-block-social-links .wp-social-link svg,
  header.wp-block-template-part .wp-block-social-links .wp-social-link svg {
    width: 29px !important;
    height: 29px !important;
    min-width: 29px !important;
    min-height: 29px !important;
    max-width: 29px !important;
    max-height: 29px !important;
  }
}

@media (max-width: 900px) {
  .lart-header-inner {
    min-height: 76px;
    grid-template-columns: 1fr auto;
    padding-inline: 1rem !important;
  }

  .site-header .wp-block-site-logo,
  header.wp-block-template-part .wp-block-site-logo {
    transform: none !important;
  }

  .site-header .wp-block-site-logo img,
  header.wp-block-template-part .wp-block-site-logo img {
    max-width: 100px !important;
    max-height: 58px !important;
  }

  .site-header .wp-block-social-links,
  header.wp-block-template-part .wp-block-social-links {
    display: none !important;
  }
}

@media (max-width: 782px) {
  .admin-bar .site-header,
  .admin-bar header.wp-block-template-part {
    top: 46px !important;
  }
}
/* ==========================================================
   L'ART — MOBILE HEADER + NAVIGATIE
========================================================== */

@media (max-width: 781px) {

  /* ========================================================
     HEADER
  ======================================================== */

  .site-header,
  header.wp-block-template-part {
    position: sticky !important;
    top: 0 !important;
    z-index: 99999 !important;

    width: 100% !important;
    height: 76px !important;
    min-height: 76px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: var(--lart-background) !important;

    overflow: visible !important;
  }


  /* ========================================================
     HEADER RIJ
  ======================================================== */

  .lart-header-mobile-row,
  .lart-header-inner {
    position: relative !important;

    width: 100% !important;
    max-width: none !important;

    height: 76px !important;
    min-height: 76px !important;

    margin: 0 !important;
    padding: 8px 14px !important;

    display: flex !important;
    align-items: center !important;

    gap: 7px !important;

    box-sizing: border-box !important;
  }


  /* ========================================================
   LOGO — HARD LINKSBOVEN
======================================================== */

.site-header .wp-block-site-logo,
header.wp-block-template-part .wp-block-site-logo,
.lart-header-mobile-row .wp-block-site-logo {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;

  position: absolute !important;

  top: 50% !important;
  left: 14px !important;
  right: auto !important;

  width: 88px !important;

  margin: 0 !important;
  padding: 0 !important;

  transform: translateY(-50%) !important;

  z-index: 100 !important;
}

.site-header .wp-block-site-logo img,
header.wp-block-template-part .wp-block-site-logo img,
.lart-header-mobile-row .wp-block-site-logo img {
  display: block !important;

  width: 88px !important;
  max-width: 88px !important;

  height: auto !important;
  max-height: 52px !important;

  margin: 0 !important;

  object-fit: contain !important;
}


  /* ========================================================
     SOCIALS — RECHTS VAN LOGO
  ======================================================== */

  .site-header .wp-block-social-links,
  header.wp-block-template-part .wp-block-social-links,
  .lart-header-mobile-row .wp-block-social-links {
    order: 2 !important;

    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;

    flex: 0 0 auto !important;
    flex-wrap: nowrap !important;

    align-items: center !important;
    justify-content: flex-end !important;

    gap: 5px !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  /* GROENE RONDJES */

  .site-header .wp-block-social-links .wp-social-link,
  header.wp-block-template-part .wp-block-social-links .wp-social-link {
    position: relative !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 38px !important;

    width: 38px !important;
    height: 38px !important;

    min-width: 38px !important;
    min-height: 38px !important;

    max-width: 38px !important;
    max-height: 38px !important;

    margin: 0 !important;
    padding: 0 !important;

    border-radius: 50% !important;

    background: var(--lart-green) !important;
    color: #EFEFEF !important;

    overflow: hidden !important;
  }


  /* LINK IN RONDJE */

  .site-header
  .wp-block-social-links
  .wp-social-link
  > a.wp-block-social-link-anchor,

  header.wp-block-template-part
  .wp-block-social-links
  .wp-social-link
  > a.wp-block-social-link-anchor {
    position: relative !important;

    display: block !important;

    width: 38px !important;
    height: 38px !important;

    min-width: 38px !important;
    min-height: 38px !important;

    margin: 0 !important;
    padding: 0 !important;

    border-radius: 50% !important;

    line-height: 0 !important;
  }


  /* ICOON EXACT CENTREREN */

  .site-header .wp-block-social-links .wp-social-link svg,
  header.wp-block-template-part .wp-block-social-links .wp-social-link svg {
    position: absolute !important;

    top: 50% !important;
    left: 50% !important;

    display: block !important;

    width: 23px !important;
    height: 23px !important;

    min-width: 23px !important;
    min-height: 23px !important;

    max-width: 23px !important;
    max-height: 23px !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: translate(-50%, -50%) !important;

    fill: currentColor !important;
  }


  /* ========================================================
     NAVIGATIE — ALTIJD LAATSTE
  ======================================================== */

  .site-header .wp-block-navigation,
  header.wp-block-template-part .wp-block-navigation {
    order: 3 !important;

    position: static !important;

    flex: 0 0 42px !important;

    width: 42px !important;
    min-width: 42px !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  /* ========================================================
     HAMBURGER
  ======================================================== */

  .site-header .wp-block-navigation__responsive-container-open,
  header.wp-block-template-part
  .wp-block-navigation__responsive-container-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 42px !important;
    height: 42px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    color: var(--lart-green) !important;

    border: 0 !important;
  }

  .wp-block-navigation__responsive-container-open svg {
    width: 28px !important;
    height: 28px !important;
  }


  /* ========================================================
     HAMBURGER VERBERGEN WANNEER WORDPRESS MENU OPEN IS
  ======================================================== */

  html.has-modal-open
  .wp-block-navigation__responsive-container-open,

  body.has-modal-open
  .wp-block-navigation__responsive-container-open {
    visibility: hidden !important;
    opacity: 0 !important;

    pointer-events: none !important;
  }


  /* ========================================================
     UITGEKLAPT MENU
  ======================================================== */

  .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;

    top: 76px !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;

    width: 72vw !important;
    max-width: 340px !important;
    min-width: 280px !important;

    height: calc(100dvh - 76px) !important;
    min-height: 0 !important;

    margin: 0 !important;

    padding:
      30px
      24px
      35px !important;

    box-sizing: border-box !important;

    background: var(--lart-background) !important;
    color: var(--lart-green) !important;

    box-shadow:
      -12px 10px 35px rgba(38, 39, 39, 0.12) !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;

    z-index: 100000 !important;
  }


  /* ========================================================
     KRUIS — PRECIES OP PLEK VAN HAMBURGER
  ======================================================== */

  .wp-block-navigation__responsive-container-close {
    position: fixed !important;

    top: 17px !important;
    right: 14px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 42px !important;
    height: 42px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: var(--lart-background) !important;
    color: var(--lart-green) !important;

    border: 0 !important;

    z-index: 100010 !important;
  }

  .wp-block-navigation__responsive-container-close svg {
    display: block !important;

    width: 27px !important;
    height: 27px !important;

    margin: 0 !important;
  }


  /* ========================================================
     MENU CONTENT
  ======================================================== */

  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container {
    display: flex !important;
    flex-direction: column !important;

    align-items: stretch !important;
    justify-content: flex-start !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 0 !important;

    text-align: left !important;
  }


  /* ========================================================
     NORMALE MENU ITEMS
  ======================================================== */

  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    align-items: flex-start !important;
    justify-content: flex-start !important;

    text-align: left !important;

    box-sizing: border-box !important;
  }


  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content {
    display: block !important;

    width: auto !important;
    max-width: 100% !important;

    margin: 0 !important;

    padding: 9px 0 !important;

    color: var(--lart-green) !important;

    font-family: var(--lart-font) !important;
    font-size: 15px !important;
    font-weight: 600 !important;

    line-height: 1.3 !important;

    text-align: left !important;

    white-space: nowrap !important;

    overflow: visible !important;
    text-overflow: unset !important;
  }


  /* ========================================================
     ITEMS MET SUBMENU
  ======================================================== */

  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-submenu {
    display: grid !important;

    grid-template-columns:
      minmax(0, 1fr)
      30px !important;

    align-items: center !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-submenu
  > .wp-block-navigation-item__content {
    grid-column: 1 !important;

    width: auto !important;
    min-width: 0 !important;

    text-align: left !important;
  }


  /* ========================================================
     SUBMENU PIJLTJE
  ======================================================== */

  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-submenu__toggle {
    grid-column: 2 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 30px !important;
    height: 30px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    color: var(--lart-green) !important;

    border: 0 !important;

    cursor: pointer !important;
  }


  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-submenu__toggle svg {
    width: 11px !important;
    height: 11px !important;

    transition: transform 0.2s ease;
  }


  /* Pijltje draaien als submenu openstaat */

  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-submenu__toggle[aria-expanded="true"]
  svg {
    transform: rotate(180deg) !important;
  }


  /* ========================================================
     SUBMENU STANDAARD DICHT
  ======================================================== */

  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-submenu
  > .wp-block-navigation__submenu-container {
    grid-column: 1 / -1 !important;

    display: none !important;

    position: static !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;

    padding:
      2px
      0
      9px
      14px !important;

    background: transparent !important;

    border: 0 !important;
    box-shadow: none !important;

    visibility: visible !important;
    opacity: 1 !important;
  }


  /* ========================================================
     SUBMENU OPEN NA KLIK
  ======================================================== */

  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-submenu__toggle[aria-expanded="true"]
  ~ .wp-block-navigation__submenu-container {
    display: flex !important;

    flex-direction: column !important;

    align-items: flex-start !important;
  }


  /* ========================================================
     SUBMENU TEKST
  ======================================================== */

  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__submenu-container
  .wp-block-navigation-item__content {
    width: 100% !important;

    padding: 6px 0 !important;

    font-size: 13px !important;
    font-weight: 500 !important;

    line-height: 1.35 !important;

    text-align: left !important;

    white-space: normal !important;
  }
}