/* =========================================================================
   Mobile Menu Styles
   ========================================================================= */

@media screen and (max-width: 1356px) {
  header .kolmeks-header .kolmeks-header__inner {
    padding: 12px 0px !important;
    flex-wrap: wrap !important;
    width: 100%;
    align-content: center;
    gap: 0.5rem;
  }

  header .kolmeks-header .kolmeks-header__inner > .wp-block-group:not(.kolmeks-header__actions) {
    width: 100%;
    justify-content: space-between;
    align-items: center;
  }

  header .kolmeks-header .kolmeks-header__logo a.custom-logo-link > img.custom-logo {
    height: 44px !important;
    width: auto !important;
  }

  header .kolmeks-header .kolmeks-header__inner .kolmeks-header__menu-toggle {
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
  }

  header
    .kolmeks-header
    .kolmeks-header__inner
    .kolmeks-header__menu-toggle
    .kolmeks-header__menu-toggle__open {
    display: block;
  }

  header
    .kolmeks-header
    .kolmeks-header__inner
    .kolmeks-header__menu-toggle
    .kolmeks-header__menu-toggle__close {
    display: none;
  }

  header .kolmeks-mobile-menu_nav {
    display: flex !important;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 8px !important;
    padding: 0 !important;
  }

  header .kolmeks-header .kolmeks-header__actions {
    display: none !important;
    /* width: 100%;
    justify-content: flex-end !important; */
  }

  .wp-block-navigation__responsive-container
    .wp-block-navigation__responsive-container-content
    ul.kolmeks-header__nav {
    width: 90% !important;
    gap: 10px !important;
    padding: 12px !important;
  }

  .wp-block-navigation__responsive-container
    .wp-block-navigation__responsive-container-content
    ul.kolmeks-header__nav
    li.wp-block-navigation-item {
    width: 100%;
  }

  .wp-block-navigation__responsive-container
    .wp-block-navigation__responsive-container-content
    ul.kolmeks-header__nav
    li.wp-block-navigation-item
    a.wp-block-navigation-item__content {
    width: 100%;
    padding: 12px 20px !important;
    border-radius: 40px !important;
  }

  /* Näytä hamburger */
  .wp-block-navigation__responsive-container-open {
    display: flex;
    align-items: center;
  }

  /* Piilota desktop menu */
  .kolmeks-header__nav .wp-block-navigation__container {
    display: none;
  }

  /* Overlay container (kun menu avataan) */
  .wp-block-navigation__responsive-container {
    background-color: var(--wp--preset--color--base, #fff);
  }

  /* Menu list mobiilissa */
  .wp-block-navigation__responsive-container-content {
    display: flex;
  }
}

/* Default: hide the toggle button on desktop */
.kolmeks-header__menu-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: #002855;
}

.kolmeks-header__menu-toggle__close {
  display: none;
}

/* Show the toggle and hide the desktop nav on small screens */
@media (max-width: 1024px) {
  .kolmeks-header__menu-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .kolmeks-header__nav {
    display: none !important;
  }
}

/* Swap open ↔ close icons when the menu is open */
body.kolmeks-mobile-menu--open
  .kolmeks-header
  .kolmeks-header__inner
  .kolmeks-header__menu-toggle
  .kolmeks-header__menu-toggle__open {
  display: none;
}

body.kolmeks-mobile-menu--open
  .kolmeks-header
  .kolmeks-header__inner
  .kolmeks-header__menu-toggle
  .kolmeks-header__menu-toggle__close {
  display: block;
}

/* Keep the header on top of the overlay so the toggle remains clickable */
.kolmeks-header {
  position: relative;
  z-index: 9001;
}

/* Prevent body scroll when menu is open */
body.kolmeks-mobile-menu--open {
  overflow: hidden;
}

/* ── Overlay panel ────────────────────────────────────────────────────────── */

.kolmeks-mobile-menu {
  position: fixed;
  top: var(--kolmeks-header-height, 64px);
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ffffff;
  z-index: 9000;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 12px;
  box-sizing: border-box;
}
.kolmeks-mobile-menu * {
  box-sizing: border-box;
}

/* Respect the hidden attribute */
.kolmeks-mobile-menu[hidden] {
  display: none;
}

/* ── List ─────────────────────────────────────────────────────────────────── */

.kolmeks-mobile-menu__list,
.kolmeks-mobile-menu__submenu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.kolmeks-mobile-menu__item {
  border-bottom: 1px solid #e5e7eb;
}

.kolmeks-mobile-menu__separator {
  border-bottom: 2px solid #002855;
  margin: 8px 0;
}

/* ── Links ────────────────────────────────────────────────────────────────── */

.kolmeks-mobile-menu__link {
  display: block;
  padding: 14px 0;
  color: #002855;
  text-decoration: none;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.4;
}

.kolmeks-mobile-menu__link:hover,
.kolmeks-mobile-menu__link:focus-visible {
  color: #0150a7;
  outline: none;
}

/* ── Group header (link + chevron side-by-side) ───────────────────────────── */

.kolmeks-mobile-menu__group-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.kolmeks-mobile-menu__group-header .kolmeks-mobile-menu__link {
  flex: 1;
}

/* ── Submenu chevron button ───────────────────────────────────────────────── */

.kolmeks-mobile-menu__submenu-toggle,
.kolmeks-mobile-menu__group-toggle {
  background: none;
  border: none;
  cursor: pointer;
  color: #002855;
  /* Inherit header font so it matches link text */
  font: inherit;
  font-weight: 500;
  font-size: 1rem;
  padding: 14px 0;
  display: flex;
  align-items: center;
  gap: 8px;
  text-align: left;
  width: 100%;
}

/* Standalone chevron (no sibling link) */
.kolmeks-mobile-menu__group-toggle svg {
  margin-left: auto;
  flex-shrink: 0;
}

/* Chevron-only button beside the link */
.kolmeks-mobile-menu__submenu-toggle {
  width: auto;
  flex-shrink: 0;
  padding: 14px 4px 14px 12px;
}

/* Rotate chevron when expanded */
.kolmeks-mobile-menu__submenu-toggle svg,
.kolmeks-mobile-menu__group-toggle svg {
  transition: transform 0.2s ease;
}

.kolmeks-mobile-menu__submenu-toggle[aria-expanded="true"] svg,
.kolmeks-mobile-menu__group-toggle[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

/* ── Submenu ──────────────────────────────────────────────────────────────── */

.kolmeks-mobile-menu__submenu[hidden] {
  display: none;
}

.kolmeks-mobile-menu__submenu {
  padding: 0 0 8px 16px;
}

.kolmeks-mobile-menu__submenu .kolmeks-mobile-menu__item {
  border-bottom: 1px solid #f0f0f0;
}

.kolmeks-mobile-menu__submenu .kolmeks-mobile-menu__link {
  font-weight: 400;
  font-size: 20px;
  padding: 10px 0;
}

.kolmeks-header__actions-mobile {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 8px;
}

.kolmeks-mobile-menu nav.kolmeks-mobile-menu_nav {
  width: 100%;
  max-width: 100%;
}

.kolmeks-mobile-menu nav.kolmeks-mobile-menu_nav ul.wp-block-navigation__container {
  display: flex !important;
  width: 100%;
  max-width: 100%;
  flex-direction: column;
  gap: 8px;
}

nav.kolmeks-mobile-menu_nav ul.wp-block-navigation__container > li.wp-block-navigation-item {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  border-radius: 32px;
  background-color: var(--wp--preset--color--aqua-blue);
  color: var(--wp--preset--color--white);
  padding: 0;
}

/* Pill styling on the direct link / toggle only */
nav.kolmeks-mobile-menu_nav
  ul.wp-block-navigation__container
  > li.wp-block-navigation-item
  > a.wp-block-navigation-item__content,
nav.kolmeks-mobile-menu_nav
  ul.wp-block-navigation__container
  > li.wp-block-navigation-item
  > button.wp-block-navigation-submenu__toggle {
  background: none;
  border-radius: 0;
  padding: 12px 24px;
  color: inherit;
}

nav.kolmeks-mobile-menu_nav
  ul.wp-block-navigation__container
  > li.wp-block-navigation-item
  > a.wp-block-navigation-item__content {
  flex: 1;
  min-width: 0;
  display: block;
}

nav.kolmeks-mobile-menu_nav
  ul.wp-block-navigation__container
  > li.wp-block-navigation-item
  > button.wp-block-navigation-submenu__toggle {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
}

/* Hide the separate WP submenu icon — chevron is added via ::after on the button */
nav.kolmeks-mobile-menu_nav
  ul.wp-block-navigation__container
  > li.wp-block-navigation-item
  > span.wp-block-navigation__submenu-icon {
  display: none;
}

/* Chevron via ::after */
nav.kolmeks-mobile-menu_nav
  ul.wp-block-navigation__container
  > li.wp-block-navigation-item
  > button.wp-block-navigation-submenu__toggle::after {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.2s ease;
  margin-left: 12px;
}

nav.kolmeks-mobile-menu_nav
  ul.wp-block-navigation__container
  > li.wp-block-navigation-item
  > button.wp-block-navigation-submenu__toggle[aria-expanded="true"]::after {
  transform: rotate(-135deg);
}

nav.kolmeks-mobile-menu_nav ul.wp-block-navigation__container > li.bg-aqua-blue {
  background-color: var(--wp--preset--color--aqua-blue);
  color: var(--wp--preset--color--white);
}

nav.kolmeks-mobile-menu_nav ul.wp-block-navigation__container > li.bg-pine-blue {
  background-color: var(--wp--preset--color--pine-blue);
  color: var(--wp--preset--color--white);
}

nav.kolmeks-mobile-menu_nav ul.wp-block-navigation__container > li.bg-white {
  background-color: var(--wp--preset--color--white);
  color: var(--wp--preset--color--midnight-blue);
}

/* Top-level nav item labels */
.kolmeks-mobile-menu_nav
  ul.wp-block-navigation__container
  > li
  > .wp-block-navigation-item__content,
.kolmeks-mobile-menu_nav
  ul.wp-block-navigation__container
  > li
  > .wp-block-navigation-submenu__toggle {
  font-size: 20px;
}

/* Submenu (inner) link labels */
.kolmeks-mobile-menu_nav
  .wp-block-navigation__submenu-container
  .wp-block-navigation-item__content {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}

/* Override WP default position:absolute so submenus open inline */
.kolmeks-mobile-menu_nav .wp-block-navigation__submenu-container {
  position: static;
  flex-basis: 100%;
  width: 100%;
  min-width: 0;
  box-shadow: none;
  background-color: transparent;
  padding: 8px 0 0 0;
}

#kolmeks-mobile-menu .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
  position: static;
  flex-basis: 100%;
  width: 100%;
  padding: 0 18px;
  background: transparent;
  border: none;
  gap: 4px;
}

#kolmeks-mobile-menu
  .wp-block-navigation
  .has-child
  .wp-block-navigation__submenu-container
  > li.wp-block-navigation-item:last-child {
  padding-bottom: 24px;
}

#kolmeks-mobile-menu
  .wp-block-navigation
  .has-child
  .wp-block-navigation__submenu-container
  .wp-block-navigation-item__content {
  padding: 0px;
}

li.bg-aqua-blue .wp-block-navigation-item__label,
li.bg-pine-blue .wp-block-navigation-item__label {
  color: var(--wp--preset--color--white);
}

li.bg-white .wp-block-navigation-item__label {
  color: var(--wp--preset--color--midnight-blue);
}

#kolmeks-mobile-menu .submenu-title {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}

#kolmeks-mobile-menu .submenu-title::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: var(--wp--preset--color--white);
  display: block;
  margin-bottom: 16px;
}

#kolmeks-mobile-menu .bg-white .submenu-title::before {
  background-color: var(--wp--preset--color--midnight-blue);
}

#kolmeks-mobile-menu .submenu-title .wp-block-navigation-item__content {
  font-size: 16px !important;
  font-weight: 600;
}

#kolmeks-mobile-menu ul.wp-block-navigation__submenu-container > li {
  padding: 6px;
}

#kolmeks-mobile-menu ul.wp-block-navigation__submenu-container > li.current-menu-item {
  background-color: #0150a7 !important;
}
