/* General Reset */
html,
body {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  scroll-behavior: smooth;
  font-family: "Newsreader", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-size: 17px;
  font-style: normal;
}

/* Header Styles */
header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: transparent; /* Matches body gradient */
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow */
  z-index: 1; /* Ensures header stays above content */
  background: linear-gradient(135deg, #a4d1f0, #115596, #114577);
  /* padding: 0 12rem; */

  .logo {
    margin-left: 6rem;
  }

  nav {
    margin-right: 12rem;
  }
}

main {
  width: 900px;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: auto;

  section {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    border-radius: 8px;
    box-shadow: 1px 2px 3px 4px rgba(12, 12, 12, 0.2);
    padding: 2rem;
    margin: 2rem;

    ul {
      line-height: 2;
      padding: 0;
    }

    img {
      height: 360px;
    }
  }

  #section-0,
  #section-2,
  #section-4,
  #kontakt {
    display: flex;
    flex-direction: column;
  }

  #section-0 {
    h2 {
      margin: 0;
      padding: 0;
    }
  }

  #section-4 {
    div {
      display: grid;
      gap: 10px;
      grid-template-columns: repeat(3, 1fr);
    }
    img {
      width: 300px;
      height: 250px;
    }

    h2 {
      margin: 0;
      margin-bottom: 1.5rem;
    }
  }
}

img {
  border-radius: 8px;
}

header:hover {
  transform: scale(1.02); /* Subtle scaling effect */
}

/* Logo */
.logo img {
  width: 80px;
  height: auto;
  border-radius: 50%;
  transition: transform 0.3s ease;
}

.logo img:hover {
  transform: rotate(360deg);
}

/* Navigation */
nav ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}

nav ul li {
  margin: 0 15px;
  position: relative;
}

nav ul li a {
  text-decoration: none;
  color: white;
  font-size: 16px;
  text-transform: uppercase;
  transition: color 0.3s ease, font-size 0.3s ease;
}

nav ul li a:hover {
  color: #a4d1f0;
  font-size: 18px;
}

nav ul li::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: #a4d1f0;
  transition: width 0.3s ease;
}

nav ul li:hover::after {
  width: 100%;
}

/* Carousel Wrapper */
.carousel {
  width: 80%;
  height: 500px; /* Set height for the carousel */
  margin: 20px auto;
  overflow: hidden;
  position: relative;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);

  .centered {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, -50%);
    font-size: 22px;
    font-weight: 800;
    margin-bottom: -25px;
    line-height: 1.5;
    color: white;
    text-align: center;
    text-transform: uppercase;
    z-index: 1000;
  }
}

/* Carousel Track */
.carousel-track {
  display: flex;
  height: 100%; /* Match the height of the carousel wrapper */
  transition: transform 0.5s ease-in-out;
}

/* Carousel Slide */
.carousel-slide {
  min-width: 100%;
  height: 100%; /* Ensure slides fit the carousel height */
}

.carousel-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Navigation Buttons */
.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}

.carousel-btn:hover {
  background: #115596;
}

.carousel-btn.left {
  left: 10px;
}

.carousel-btn.right {
  right: 10px;
}

/* Dots */
.carousel-dots {
  display: flex;
  justify-content: center;
  margin-top: 10px;
}

.carousel-dot {
  width: 10px;
  height: 10px;
  margin: 0 5px;
  border-radius: 50%;
  background: #115596;
  cursor: pointer;
  transition: background 0.3s ease;
}

.carousel-dot.active {
  background: #a4d1f0;
}

footer {
  text-align: right;
  padding: 5rem 2rem 0 0;
}

@media (max-width: 575.98px) {
  /* Styles for devices less than 576px */

  header {
    display: flex;
    flex-direction: column;
    align-items: center;

    .logo,
    nav {
      margin: 0;
    }

    .logo {
      padding-top: 10px;
    }

    nav ul li a {
      font-size: 12px;
    }
  }

  main {
    width: 400px;
    align-items: center;

    section {
      max-width: 300px;
      display: flex;
      flex-direction: column;

      h2 {
        text-align: center;
      }

      img {
        width: 200px;
        height: auto;
      }

      ul {
        padding-left: 2rem;
      }
    }

    #section-2 {
      text-align: center;
    }

    #section-4 {
      div {
        display: flex;
        flex-direction: column;
      }
    }
  }

  footer {
    text-align: center;
    padding: 0;
  }
}
