/*
 * Copyright 2025 Marek Kobida
 * Last Updated: 01.09.2025
 */

:root {
  --HeaderMenu-z-index: 16;

  --HeaderMenuLeft-background-color: var(--body-background-color);
  --HeaderMenuLeft-color: var(--body-color);

  --HeaderMenuRight-background-color: hsl(
    from var(--HeaderMenuLeft-color) h s l / 0.75
  );
}

.HeaderMenu {
  --border-color: hsl(from var(--HeaderMenuLeft-color) h s l / 0.25);

  inset: 0;
  position: fixed;
  transition-duration: 0.5s;
  transition-property: opacity;
  transition-timing-function: linear;
  z-index: var(--HeaderMenu-z-index);

  &.HeaderMenu\(false\) {
    pointer-events: none;
  }

  &.HeaderMenu\(true\) {
    pointer-events: all;
  }

  .HeaderMenuLeft {
    background-color: var(--HeaderMenuLeft-background-color);
    color: var(--HeaderMenuLeft-color);
    flex-grow: 1;
    overflow-x: hidden;
    position: relative;

    @media (min-width: 640px) {
      flex-basis: 640px;
      flex-grow: 0;
    }

    .HeaderMenuPage {
      inset: 0;
      position: absolute;
      transition-duration: 0.5s;
      transition-property: opacity, transform;
      transition-timing-function: linear, ease;

      &.HeaderMenuPage\(false\) {
        transform: translateX(2rem); /* 8 */

        .HeaderMenuLink {
          opacity: 0;
          transition-delay: 0s;
        }
      }

      &.HeaderMenuPage\(true\) {
        transform: translateX(0);
        z-index: 1; /* KĽÚČOVÉ */

        .HeaderMenuLink {
          opacity: 1;
          transition-delay: calc(var(--i) * 16.667ms);
        }
      }

      .HeaderMenuLink {
        transition-duration: 0.5s;
        transition-property: opacity;
        transition-timing-function: linear;

        &.HeaderMenuLink\(true\) {
          color: hsl(45, 50%, 50%);
        }
      }
    }

    input {
      background-color: transparent;
      border: 0;
      border-radius: 0.5rem;
    }
  }

  .HeaderMenuRight {
    background-color: var(--HeaderMenuRight-background-color);

    @media (min-width: 640px) {
      flex-grow: 1;
    }
  }
}
