body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  margin: 0;
  padding: 0;
  padding-top: 100px;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background-color: #333;
  color: white;
  padding: 15px 0;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.naglowek {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px;
  max-width: 1300px;
  margin: 0 auto;
  gap: 20px;
}


.logo img {
  max-height: 80px;
}

nav ul {
  list-style: none;
  display: flex;
  gap: 20px; /* było 30px – zmniejszamy odstęp */
  padding: 0;
  margin: 0;
  flex-wrap: nowrap; /* zapobiega łamaniu w nową linię */
}


nav ul li {
  font-size: 18px;
  font-weight: bold;
  position: relative;
}

nav ul li a {
  color: white;
  text-decoration: none;
  padding: 5px 0;
  position: relative;
}

nav ul li a::after {
  content: "";
  display: block;
  width: 0;
  height: 2px;
  background-color: red;
  position: absolute;
  left: 0;
  bottom: -3px;
  transition: width 0.3s ease-in-out;
}

nav ul li a:hover::after {
  width: 100%;
}



.menu {
  flex-grow: 1;
}

.kontakt a {
  color: white;
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
  border: 2px solid red;
  padding: 5px 15px;
  border-radius: 5px;
  transition: background-color 0.3s, color 0.3s;
}

.kontakt a:hover {
  background-color: red;
  color: white;
}


.hamburger {
  display: none;
  font-size: 28px;
  color: white;
  background: none;
  border: none;
  cursor: pointer;
  
}
@media (max-width: 1024px) {
  .menu {
    display: none;
    flex-direction: column;
    background-color: #333;
    position: absolute;
    top: 100%;
    left: auto;       /* anulujemy left:0 */
    right: 10px;      /* odstęp 10px od prawej krawędzi */
    width: 250px;     /* szerokość menu */
    padding: 20px;
      max-height: 300px; /* lub inna wysokość */
  overflow-y: auto;
   
  }

  .menu.active {
    display: flex;
  }
}

@media (max-width: 1024px) {
  nav ul li {
    margin-bottom: 5px; /* usuwamy odstępy z każdego linka, jeśli były */
  }

  .kontakt {
    margin-top: 20px; /* odstęp pod przyciskiem kontakt */
  }
  
}



/* Dropdown - domyślnie ukryte */
.dropdown-menu {
  display: none;
  flex-direction: column;
  background-color: #333;
  padding: 10px;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  z-index: 1000;
}

/* Desktop - pokaz menu przy hover */
@media (min-width: 1025px) {
  .dropdown:hover > .dropdown-menu {
    display: flex;
  }
}

/* Mobile - pokaz menu gdy dropdown ma klasę open */
@media (max-width: 1024px) {
  .dropdown.open > .dropdown-menu {
    display: flex;
  }
}


.dropdown-menu .tile {
  padding: 8px 15px;
  color: white;
  text-decoration: none;
  white-space: nowrap;  /* <-- to dodaj */
}


.dropdown-menu .tile:hover {
  background-color: red;
  text-decoration: none;
}

/* Domyślnie ukrywamy strzałki */
.arrow-toggle {
  display: none;
  background: none;
  color: white;
  border: none;
  font-size: 16px;
  margin-left: 8px;
  cursor: pointer;
  transition: transform 0.3s ease;
  transform-origin: center;
}

/* W mobilnej wersji pokazujemy strzałki */
@media (max-width: 1024px) {
  .arrow-toggle {
    display: inline-block;
  }
}



.kontakt-link {
  display: inline-block;
  padding: 10px 20px;
  border: 2px solid red;
  color: red;
  text-decoration: none;
  font-weight: bold;
  border-radius: 5px;
  transition: background-color 0.3s, color 0.3s;
}

.kontakt-link:hover {
  background-color: red;
  color: white;
}


/* MOBILE */
@media (max-width: 1024px) {
  .hamburger {
    display: block;
  }

  .menu {
    display: none;
    flex-direction: column;
    background-color: #333;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    padding: 20px;
  }

  .menu.active {
    display: flex;
  }

  nav ul {
    flex-direction: column;
    gap: 10px;
  }

  .dropdown-menu {
    position: static;
    display: none;
  }

  .dropdown.open .dropdown-menu {
    display: flex;
  }

  .arrow-toggle {
    display: inline;
  }

  .dropdown-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
