/* barva menu */
.navbar {
  background-color: #f9f9f9;
}

/* odstraneni prepinace ve vypisu souboru */
.files-toggler {
  display: none;
}

/* obarveni kontaktniho formulare */
.user-form {
  background-color: #ecf6ff;
  box-shadow: none;
}

/* zuzeni a zarovnani sekce pro galerii */
.gallery {
  max-width: 50rem;
  margin: auto;
}

/* zuzeni a zarovnani sekce pro soubory */
.table-files {
  max-width: 50rem;
  margin: auto;
}

/* Zrušíme omezení rodičovských obalů pro sekci s mapou */
.section-map {
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  width: 100vw !important;
  box-sizing: border-box !important;
}

/* Vnitřní obal s mapou bezpečně uzamkneme na střed na 50rem */
.section-map .map-inner {
  max-width: 50rem !important;
  width: 100% !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

/* zuzeni a zarovnani sekce pro vlastní patičku */
.section-3-col-bottom-text {
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
}

.carousel-caption {
  top: 5% !important;   /* Vzdálenost od horního okraje */
  bottom: auto !important; /* Zrušíme výchozí spodní ukotvení Bootstrapu */
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%); /* Zajišťuje horizontální centrování */
  width: 90%;
  max-width: 800px;
  padding: 20px;
  text-align: center;
}

/* Nadpis */
.carousel-caption h1 {
  font-size: 3.8rem;
  font-weight: 700;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.9), 0px 0px 20px rgba(0, 0, 0, 0.6);
  margin-top: 0; /* Odstraní případnou horní mezeru */
}

/* Odstavec */
.carousel-caption p {
  color: #ffffff;
  font-size: 1.25rem;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.9), 0px 0px 10px rgba(0, 0, 0, 0.7);
}

/* --- Responzivita (Mobilní telefony do 767px) --- */
@media screen and (max-width: 767px) {
  .carousel-caption {
    top: 2% !important; /* Na mobilu ještě o kousek výše */
  }

  .carousel-caption h1 {
    font-size: 1.8rem;
  }

  .carousel-caption p {
    display: none; /* Schováme na mobilech */
  }
}

/* --- Tabletový režim (768px až 1024px) --- */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .carousel-caption {
    top: 5% !important;
  }

  .carousel-caption h1 {
    font-size: 2.5rem;
  }

  .carousel-caption p {
    display: block !important; /* Zobrazíme na tabletech */
    font-size: 1.1rem;
  }
}

#rotujiciNadpis{
  font-size: 22px;
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-out{
  opacity:0;
  transform: translateY(10px);
}

.fade-in{
  opacity:1;
  transform: translateY(0);
}






/* Animace - pouze plynulé zvětšování (zoom) ve vlastním motivu (bez fullscreenu) */
@keyframes anim {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.25); /* Hodnotu zvětšení můžete upravit dle potřeby */
  }
}

/* Ořez přetékajícího zvětšeného obrázku uvnitř boxu */
.motive:not(.fullscreen) > .section-carousel .carousel-item {
  overflow: hidden;
  position: relative;
}

/* Aplikace animace na obrázek */
.motive:not(.fullscreen) > .section-carousel .carousel-item img {
  width: 100%;
  height: auto;
  display: block;
  transform-origin: center center; /* Zoom probíhá rovnoměrně od středu */

  -webkit-animation: anim 60s linear infinite alternate;
  animation: anim 60s linear infinite alternate;

  will-change: transform;
}