@import url("https://fonts.googleapis.com/css2?family=Fira+Mono:wght@400;500;700&family=Stick+No+Bills:wght@800&display=swap");

@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css");

:root {
  --yellow: rgb(255, 195, 61);
}

* {
  font-family: "Fira Mono", "Courier New", monospace;
  font-style: normal;
}

html {
  scroll-behavior: smooth;
}

h2 {
  font-size: 2.2rem;
  margin-bottom: 2.4rem;
  font-weight: normal;
  line-height: 130%;
}

h3 {
  font-size: 1.3rem;
  margin-bottom: 1.3rem;
}

h4 {
  font-size: 1rem;
  margin-bottom: 1.3rem;
}

h5 {
  font-size: 1rem;
  margin-bottom: 0.3rem;
  color: var(--yellow);
}

p:last-child {
  margin-bottom: 0;
}

/* Hamburger start */
.navbar-toggler {
  border: none;
  width: 30px;
  height: 24px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: none !important; /* zruší focus ring */
}

/* Hamburger čáry */
.navbar-toggler span,
.navbar-toggler span::before,
.navbar-toggler span::after {
  display: block;
  position: absolute;
  width: 100%;
  height: 3px;
  background-color: var(--yellow);
  border-radius: 2px;
  transition: transform 0.4s ease, opacity 0.4s ease;
}

.navbar-toggler span {
  top: 50%;
  transform: translateY(-50%);
}

.navbar-toggler span::before {
  content: "";
  top: -10px;
}

.navbar-toggler span::after {
  content: "";
  top: 10px;
}

/* Po otevření menu → křížek */
.navbar-toggler:not(.collapsed) span {
  background-color: transparent; /* střední čára zmizí */
}

.navbar-toggler:not(.collapsed) span::before {
  transform: rotate(45deg) translate(5px, 4px);
}

.navbar-toggler:not(.collapsed) span::after {
  transform: rotate(-45deg) translate(10px, -10px);
}

#nav {
  position: fixed;
  display: flex;
  justify-content: space-evenly;
  z-index: 50;
  transition: top 0.5s;
  background-color: rgba(0, 0, 0, 0.5);
}

nav {
  transition: all 0.2s ease;
}

#mynavbar a {
  text-align: center;
  color: black;
}

.but {
  border-radius: 0;
  font-size: 1rem;
}

.but:hover {
  background-color: rgb(255, 195, 61, 0.75) !important;
}

.jumbotron {
  position: relative;
}

.centering {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: -50px;
}

.bg-video {
  position: relative;
  height: 100vh;
  width: 100vw;
  overflow: hidden;
  justify-content: center;
  align-items: center;
}

.bg-video video {
  position: absolute;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}

.hero-img {
  display: none;
}

.logo1 {
  width: 17%;
}

.soc {
  margin-top: 3rem;
}

#back-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  display: none;
  z-index: 100;
}

.custom-icon {
  font-size: 3rem;
  color: rgb(255, 195, 61) !important;
}

.custom-icon::before {
  color: black; /* tím obarvíme vnitřní šipku */
}

.bounce {
  position: absolute;
  bottom: 30px;
  right: 30px;
  width: 100%;
  display: inline-block;
  animation: bounce 2s infinite;
}

@keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-15px);
  }
  60% {
    transform: translateY(-7px);
  }
}

.yellow_bg {
  background-color: var(--yellow);
}

.yellow {
  color: var(--yellow);
}

.opac {
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  border: 2px solid #fff;
}

.opac_leva {
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  border: 2px solid #fff;
  margin-right: 12.5%;
  max-width: 25%;
}

.opac_prava {
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  border: 2px solid #fff;
  max-width: 80%;
  float: right;
}

.ycard {
  position: relative;
}

.bi-arrow-right.sipka {
  font-size: x-large;
  -webkit-text-stroke: 1px;
  float: right;
  position: absolute;
  bottom: 10px;
  right: 8%;
}

.logo2 {
  display: none;
}

.headline {
  font-family: "Stick No Bills", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
  color: #fff;
  font-size: 6rem;
  text-align: center;
  line-height: 100%;
  margin-bottom: 2rem;
}

.pointer {
  cursor: pointer;
}

.cenik_karta {
  border: 2px solid var(--yellow);
  color: #fff;
  padding: 1.25rem;
  background-color: #000;
}

.slider-track {
  transition: transform 0.45s ease;
}
.slide {
  flex: 0 0 auto;
}
.dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
}
.dot.active {
  background: #000;
}

.gallery-track {
  transition: transform 0.45s ease;
}
.gallery-slide {
  flex: 0 0 auto;
  cursor: pointer;
}
.gallery-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--yellow);
  cursor: pointer;
}
.gallery-dot.active {
  background: #fff;
}
#galleryLightbox img {
  max-height: 90vh;
}

#galleryLightbox {
  opacity: 0;
  transition: opacity 0.4s ease;
}
#galleryLightbox.show {
  display: flex !important;
  opacity: 1;
}

.img-multi {
  width: 150px !important;
}

.muscle_back {
  background-image: url(images/svaly2.png);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
}

.muscle_back2 {
  background-image: url(images/svaly_zena_back_final.png);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: contain;
}

.kontakt_dole {
  max-width: 80%;
}

.ratio_4-3 {
  --bs-aspect-ratio: calc(4 / 3 * 100%); /* výška/výška *100% */
}

.bannery img {
  max-width: 17%;
  margin-right: 2rem;
}

.bannery img:last-child {
  margin-right: 0;
}

#treneri,
#novinky {
  background-image: url(images/trojuhelnik.jpg);
  background-position: bottom;
  background-size: 100%;
  background-repeat: no-repeat;
}

#treneri {
  padding-bottom: 5rem;
}

@media (max-width: 1399.98px) {
  .muscle_back2 {
    background-size: 30%;
  }
}

@media (max-width: 1199.98px) {
}

@media (max-width: 992.4px) {
  h2 {
    font-size: 1.55rem;
    margin-bottom: 1.3rem;
    font-weight: normal;
  }
  .logo1 {
    display: none;
  }

  .logo2 {
    display: block;
  }

  .opac_leva {
    background-color: rgba(0, 0, 0, 0.5);
    color: #fff;
    border: 2px solid #fff;
    margin-right: 0%;
    max-width: 33%;
  }

  .opac_prava {
    background-color: rgba(0, 0, 0, 0.5);
    color: #fff;
    border: 2px solid #fff;
    max-width: 65%;
  }

  .headline {
    font-size: 4rem;
    line-height: 100%;
  }
  .cenik_karta {
    border: 2px solid var(--yellow);
    color: #fff;
    padding: 0.5rem;
  }

  .app-foto {
    max-width: 100%;
  }

  .kontakt_dole {
    max-width: 100%;
  }
}

@media (max-width: 767.98px) {
  .navbar-nav {
    position: absolute;
    z-index: 200;
    width: 100%;
  }

  .soc {
    display: block;
    position: absolute;
    z-index: 100;
    right: 15px;
    top: -3rem;
  }

  .opac_leva {
    background-color: rgba(0, 0, 0, 0.5);
    color: #fff;
    border: 2px solid #fff;
    margin-right: 5%;
    max-width: 100%;
    flex: none;
  }

  .opac_prava {
    background-color: rgba(0, 0, 0, 0.5);
    color: #fff;
    border: 2px solid #fff;
    max-width: 100%;
    flex: none;
  }

  .bi-arrow-right.sipka {
    font-size: x-large;
    float: right;
    position: absolute;
    bottom: 20%;
    right: 8%;
  }

  .ycard h2 {
    margin-bottom: 0;
  }
  .headline {
    font-size: 2.5rem;
    line-height: 120%;
  }

  .img-multi {
    width: 100px !important;
  }

  .bannery img {
    max-width: 33%;
    margin-right: 2rem;
    margin-bottom: 2rem;
  }
  .bannery img:last-child {
    margin-bottom: 0;
  }
  #treneri {
    padding-bottom: 3.5rem;
  }

  .bg-video video {
    display: none;
  }

  .hero-img {
    display: block;
    background-image: url("images/hero.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
  }
}

@media (max-width: 575.98px) {
  h2 {
    font-size: 1.4rem;
    margin-bottom: 1.4rem;
    font-weight: normal;
    line-height: 130%;
  }

  h3 {
    font-size: 1.1rem;
    margin-bottom: 1.3rem;
  }

  p {
    font-size: 15px;
  }
  .app-foto {
    max-width: 40%;
  }

  .muscle_back2,
  .muscle_back {
    background-image: none;
  }

  .trener-img {
    display: none;
  }

  #treneri {
    padding-bottom: 2rem;
  }

  .logo2 {
    display: none;
  }

  h2.smaller {
    font-size: 1.1rem;
  }

  .opac_leva,
  .opac_prava {
    border: 1px solid #fff;
  }

  .bi-arrow-right.sipka {
    font-size: x-large;
    float: right;
    position: absolute;
    bottom: 15%;
    right: 8%;
  }

  .bounce {
    display: none;
  }

  .centering {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 0px;
  }

  .headline {
    font-family: "Stick No Bills", sans-serif;
    font-optical-sizing: auto;
    font-weight: 800;
    font-style: normal;
    color: #fff;
    font-size: 1.55rem;
    text-align: center;
    line-height: 100%;
    margin-bottom: 2rem;
  }

  .kontakt_dole p {
    font-size: 14px;
  }
  .modal p,
  .modal ul li {
    font-size: 13px;
    line-height: 1.1rem;
  }
}
