/* laravel/public/css/web.css */

/* ===== Pomocné ===== */
.jen-ctecka {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
[hidden] { display: none !important; }

/* ===== Menu – desktop (≥ 1025 px) ===== */
@media (min-width: 1025px) {
  .menu__hlavni .menu__seznam {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    justify-content: flex-end;
  }

  .menu__hlavni .menu__polozka { position: relative; }

  .menu__hlavni .menu__odkaz {
    display: flex;
    align-items: center;
    position: relative;
    line-height: 20px;
    padding: 40px 20px;
    white-space: nowrap;
    text-decoration: none;
  }

  .menu__hlavni .menu__seznam > li > .menu__odkaz::before,
  .menu__hlavni .menu__seznam > li > .menu__odkaz::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 5px;
    background: #000;
    opacity: 0;
    transition: opacity .3s;
  }
  .menu__hlavni .menu__seznam > li > .menu__odkaz::before { top: 0; }
  .menu__hlavni .menu__seznam > li > .menu__odkaz::after { bottom: 0; }
  .menu__hlavni .menu__seznam > li > .menu__odkaz:hover::before,
  .menu__hlavni .menu__seznam > li > .menu__odkaz:hover::after,
  .menu__hlavni .menu__seznam > li > .menu__odkaz:focus::before,
  .menu__hlavni .menu__seznam > li > .menu__odkaz:focus::after,
  .menu__hlavni .menu__seznam > li > .menu__odkaz.menu__odkaz--aktivni::before,
  .menu__hlavni .menu__seznam > li > .menu__odkaz.menu__odkaz--aktivni::after {
    opacity: 1;
  }

  /* šipky podmenu (.menu__sipka) stylují pravidla převedená do zaklad.css */

  .menu__hlavni .menu__podmenu {
    position: absolute;
    display: none;
    min-width: 220px;
    list-style: none;
    margin: 0;
    padding: 0;
    background: #f2f2f2;
    z-index: 9999;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .08);
  }
  .menu__hlavni .menu__polozka > .menu__podmenu { top: 100%; left: 0; }
  .menu__hlavni .menu__podmenu .menu__polozka > .menu__podmenu { top: 0; left: 100%; }
  .menu__hlavni .menu__polozka:hover > .menu__podmenu,
  .menu__hlavni .menu__polozka.je-otevreno > .menu__podmenu { display: block; }

  .menu__hlavni .menu__pododkaz {
    display: flex;
    align-items: center;
    padding: 13px 20px;
    font-size: 15px;
    color: #000;
    line-height: 1.3;
    white-space: nowrap;
    text-decoration: none;
  }
  .menu__hlavni .menu__pododkaz:hover,
  .menu__hlavni .menu__pododkaz.menu__odkaz--aktivni {
    color: #CE0000;
    background: #ededed;
  }

  .menu__prepinac { display: none; }
  .prvek--menu .menu__rozbalovaci.menu__obal { display: none; }
}

/* ===== Menu – tablet + mobil (≤ 1024 px) ===== */
@media (max-width: 1024px) {
  header.sekce { position: relative; }
  .prvek--menu { position: static; }
  .prvek--menu .prvek__obsah {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }

  .menu__hlavni { display: none; }

  .menu__prepinac {
    display: flex;
    margin-left: auto;
    width: 38px;
    height: 38px;
    padding: 6.25px;
    font-size: 25px;
    background: transparent;
    border: 0;
    color: #000;
    cursor: pointer;
    align-items: center;
    justify-content: center;
  }
  .menu__prepinac .menu__ikona-zavrit { display: none; }
  .menu__prepinac .menu__ikona-otevrit { display: inline-flex; }
  .menu__prepinac.je-aktivni .menu__ikona-otevrit { display: none; }
  .menu__prepinac.je-aktivni .menu__ikona-zavrit { display: inline-flex; }

  .prvek--menu > .prvek__obsah > nav.menu__rozbalovaci {
    position: absolute;
    left: 0;
    width: 100vw;
    top: 100%;
    z-index: 9998;
    background: #f2f2f2;
    display: none;
  }
  .prvek--menu > .prvek__obsah > nav.menu__rozbalovaci.je-otevreno { display: block; }

  .prvek--menu nav.menu__rozbalovaci ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .prvek--menu nav.menu__rozbalovaci .menu__odkaz,
  .prvek--menu nav.menu__rozbalovaci .menu__pododkaz {
    display: flex;
    align-items: center;
    padding: 10px 20px;
    line-height: 20px;
    font-size: 15px;
    color: #000;
    text-decoration: none;
  }
  .prvek--menu nav.menu__rozbalovaci .menu__odkaz:hover,
  .prvek--menu nav.menu__rozbalovaci .menu__odkaz.menu__odkaz--aktivni,
  .prvek--menu nav.menu__rozbalovaci .menu__pododkaz:hover,
  .prvek--menu nav.menu__rozbalovaci .menu__pododkaz.menu__odkaz--aktivni {
    color: #CE0000;
    background: #ededed;
  }

  .prvek--menu nav.menu__rozbalovaci .menu__podmenu {
    display: none;
    position: static;
    background: transparent;
  }
  .prvek--menu nav.menu__rozbalovaci li.je-otevreno > .menu__podmenu { display: block; }
  .prvek--menu nav.menu__rozbalovaci .menu__podmenu .menu__odkaz,
  .prvek--menu nav.menu__rozbalovaci .menu__podmenu .menu__pododkaz { padding-left: 40px; }
  .prvek--menu nav.menu__rozbalovaci .menu__podmenu .menu__podmenu .menu__odkaz,
  .prvek--menu nav.menu__rozbalovaci .menu__podmenu .menu__podmenu .menu__pododkaz { padding-left: 60px; }

  .prvek--menu nav.menu__rozbalovaci .menu__sipka { margin-left: auto; }
  .prvek--menu nav.menu__rozbalovaci li.je-otevreno > a .menu__sipka { transform: rotate(180deg); }
}

/* ===== Karusel galerie ===== */
.prvek--galerie .karusel {
  position: relative;
  overflow: hidden;
  height: 230px;
  padding-bottom: 30px;
  box-sizing: border-box;
}
.prvek--galerie .karusel__pas {
  display: flex;
  height: 200px;
  transition: transform 500ms;
}
.prvek--galerie .karusel__snimek {
  height: 200px;
  flex-shrink: 0;
}
.prvek--galerie .karusel__obrazek {
  height: 100%;
  background-size: cover;
  background-position: 50%;
  background-repeat: no-repeat;
}
.prvek--galerie .karusel__snimek a {
  display: block;
  height: 100%;
}
.prvek--galerie .karusel__sipka {
  position: absolute;
  top: 90px;
  font-size: 20px;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(237, 237, 237, .9);
  cursor: pointer;
  z-index: 2;
}
.prvek--galerie .karusel__sipka--zpet { left: 10px; }
.prvek--galerie .karusel__sipka--dal { right: 10px; }
.prvek--galerie .karusel__body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 5px;
  height: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
}
.prvek--galerie .karusel__bod {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #000;
  opacity: .2;
  cursor: pointer;
}
.prvek--galerie .karusel__bod--aktivni { opacity: 1; }

/* ===== Slider (úvodní stránka) ===== */
.prvek--slider .slider__obal {
  position: relative;
  overflow: hidden;
  height: 400px;
}
.prvek--slider .slider {
  position: relative;
  height: 100%;
}
.prvek--slider .karusel__snimek {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity .5s;
}
.prvek--slider .karusel__snimek.je-aktivni {
  opacity: 1;
  z-index: 1;
}
/* odcházející snímek zůstává pod novým plně vidět (Swiper fade bez crossFade) */
.prvek--slider .karusel__snimek.je-predchozi {
  opacity: 1;
  z-index: 0;
  transition: none;
}
.prvek--slider .karusel__snimek.je-predchozi .slider__pozadi {
  animation: kenburns 20s linear forwards;
  animation-play-state: paused;
}
.prvek--slider .slider__pozadi {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: 50%;
  background-repeat: no-repeat;
}
.prvek--slider .karusel__snimek.je-aktivni .slider__pozadi {
  animation: kenburns 20s linear forwards; /* jako Elementor: .elementor-ken-burns--active 20s */
}
@keyframes kenburns {
  from { transform: scale(1); }
  to { transform: scale(1.3); }
}

/* ===== Lightbox ===== */
.lightbox {
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(0, 0, 0, .87);
  display: none;
  align-items: center;
  justify-content: center;
}
.lightbox.je-otevreno { display: flex; }
.lightbox__obrazek {
  max-width: 90vw;
  max-height: 85vh;
  box-shadow: 0 0 30px rgba(0, 0, 0, .3);
}
.lightbox__zavrit,
.lightbox__zpet,
.lightbox__dal {
  position: absolute;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, .9);
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
}
.lightbox__zavrit { top: 20px; right: 20px; }
.lightbox__zpet { left: 20px; top: 50%; transform: translateY(-50%); }
.lightbox__dal { right: 20px; top: 50%; transform: translateY(-50%); }

/* Hvězdičky hodnocení v patičce: místo fontu eicons (Elementor) hvězda z Font Awesome 5 */
.hodnoceni{font-family:"Font Awesome 5 Free";font-weight:900}
.hodnoceni i:before{content:"\f005"}

/* Prázdný sloupec nemá vnitřní okraj (Elementor dával padding jen .elementor-element-populated);
   jinak na mobilu každý prázdný sloupec přidá 20 px mezery. */
.rada>.sloupec>.sloupec__obsah:not(:has(*)){padding:0}

/* Telefon (intl-tel-input) jako WPForms v originálu: obal přes celou šířku, místo pro vlajku vlevo */
div.formular-container-full .formular-form .iti--allow-dropdown{width:100%}
.formular-container .formular-form .iti--allow-dropdown input[type=tel]{padding-left:52px !important;padding-right:6px;margin-left:0}
