// Define a fixed height for the navigation and apply that as padding-top on the body
// so that when it becomes sticky, the content doesn't jump.
$nav-height: 60px; // Adjust as needed

// Use an absolute path to the extension’s public folder to avoid rewriting of URLs by the build process.
// Ensure this path is correct for your TYPO3 installation.
// Typically: /typo3conf/ext/<extension_key>/Resources/Public/Images/...

body > header {
  width: 100%;
  line-height: $nav-height;
  position: sticky;
  top: 0;
  z-index: 1000;
}

.main-nav {
  background: url('../Images/background.jpg') repeat;

  .container {
    display: flex;
    align-items: center;
    margin: 0 auto;
    height: 100%;
    padding: 0 1rem;
  }

  .nav-logo {
    img {
      display: block;
      max-height: 50px;
      height: auto;
      width: auto;
    }
  }

  .nav-toggle {
    background: none;
    border: none;
    cursor: pointer;
    display: none; // hidden by default on desktop
    position: relative;
    width: 30px;
    height: 30px;

    .nav-toggle-icon {
      width: 100%;
      height: 2px;
      background: $primary-color;
      display: block;
      position: relative;
      @include transition(all, 0.3s);

      &::before,
      &::after {
        content: '';
        width: 100%;
        height: 2px;
        background: $primary-color;
        position: absolute;
        left: 0;
        @include transition(all, 0.3s);
      }

      &::before {
        top: -8px;
      }

      &::after {
        top: 8px;
      }
    }

    &.active .nav-toggle-icon {
      background: transparent;

      &::before {
        transform: rotate(45deg) translate(5px, 5px);
      }

      &::after {
        transform: rotate(-45deg) translate(5px, -5px);
      }
    }
  }

  .nav-links {
    display: flex;
    list-style: none;
    align-items: center;
    margin: auto;

    font-family: 'Hajime Sans', sans-serif;
    font-size: 1.75rem;

    a {
        font-weight: 400;
    }
  }

  .nav-item {
    margin: 0 1rem;

    .nav-link {
      text-decoration: none;
      color: $primary-color;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      font-size: 1rem;
      @include transition(color);

      &:hover {
        color: $brand-color;
      }
    }
  }

  @media (max-width: $breakpoint-lg) {
    .nav-toggle {
      display: block;
      margin-left: auto; // move toggle to the right on mobile
    }

    .nav-links {
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      flex-direction: column;
      max-height: 0;
      overflow: hidden;
      background: #fff; // Add white background for mobile dropdown
      @include transition(max-height, 0.4s);

      .nav-item {
        margin: 0;
        padding: 1rem;
        border-top: 1px solid rgba(0,0,0,0.1);

        &:first-child {
          border-top: none;
        }

        .nav-link {
          display: block;
        }
      }
    }

    &.open .nav-links {
      max-height: 500px; // Adjust to fit all items
    }
  }
}
