    html {
      scroll-behavior: smooth;
      scroll-snap-type: y mandatory;
      height: 100%;
      overflow-y: scroll;
    }

    body {
      margin: 0;
      font-family: sans-serif;
    }

    nav {
      position: fixed;
      top: 20px;
      right: 20px;
      background: rgba(0, 0, 0, 0.7);
      padding: 0.5em 1em;
      border-radius: 8px;
      z-index: 1000;
    }

    nav a {
      color: white;
      text-decoration: none;
      margin-left: 1em;
      font-weight: bold;
      transition: color 0.3s;
    }

    nav a.active {
      color: #ffcc00;
    }

    section {
      height: 100vh;
      scroll-snap-align: start;
      display: flex;
      justify-content: center;
      align-items: center;
      color: white;
      text-align: center;
      background-size: cover;
      background-position: center;
      position: relative;
    }

    .carousel-section {
      position: relative;
      height: 100vh;
      overflow: hidden;
    }

    .carousel {
      height: 100%;
      width: 100%;
      position: relative;
    }

    .slide {
      position: absolute;
      top: 0; left: 0;
      height: 100%;
      width: 100%;
      background-size: cover;
      background-position: center;
      opacity: 0;
      transition: opacity 1s ease-in-out;
    }

    .slide.active {
      opacity: 1;
      z-index: 1;
    }

    .overlay-text {
        background: rgba(0, 0, 0, 0.5); /* tmavosivý polopriehľadný podklad */
    position: absolute;
    z-index: 10;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 800px;
    text-align: center;
    color: white;
    text-shadow: 2px 2px 5px rgba(0,0,0,0.7);
    }

    .section2 {
      background: #2e2e2e;
      flex-direction: column;
    }

    h2, p {
      text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.7);
    }

    .overlay-text h1 {
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    margin: 0 0 0.4em;
    }
    
    .map-fullwidth {
    width: 100vw;               /* celá šírka okna */
    max-width: 100%;
    margin-left: calc(-50vw + 50%);
    height: 400px;              /* alebo viac, napr. 500px */
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    overflow: hidden;
    border-radius: 0;           /* nastav na 10px ak chceš zaoblenie */
    }

    .map-fullwidth iframe {
    width: 100%;
    height: 100%;
    border: 0;
    }

    .contact-info {
  text-align: left;
  max-width: 500px;
  margin: 0 auto;
}

.contact-info i {
  margin-right: 0.6em;
  color: #ffcc00;
  width: 1.2em;
}

.contact-info p {
  margin: 1em 0;
  font-size: 1em;
  display: flex;
  align-items: flex-start;
}

.contact-info span {
  line-height: 1.4;
}
