/* ===== HEADER – štít proti šípkam v menu ===== */
.header .nav *::before,
.header .nav *::after { content: none !important; }
.header__top { z-index: 10000 !important; }

/* ===== TIMELINE – čistý layout od stredu (override) ===== */

/* žiadny modrý pás na li */
.timeline ul li {
  width: 100% !important;
  background: none !important;
  position: relative;
  list-style: none;
  margin: 0;
  padding-top: 50px;
}

/* stredová čiara cez UL */
.timeline ul {
  position: relative !important;
  margin: 0;
  padding: 50px 0;
}
.timeline ul::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 6px;
  transform: translateX(-50%);
  background-color: #a3caf0;
}

/* kruh na osi */
.timeline ul li::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #a3caf0 !important; /* nie inherit */
  z-index: 1;
  transition: 0.5s ease-in-out;
}

/* bublina */
.timeline ul li > div {
  position: relative !important;
  bottom: 0;
  width: 400px;
  padding: 15px;
  border-radius: 10px;
  background: rgb(32,96,246);
  color: #fff;
  font-family: "Gabarito", sans-serif;

  /* zruš staré posuny/animácie */
  left: auto !important;
  right: auto !important;
  transform: none !important;

  opacity: 0;
  visibility: hidden;
  transition: all .5s ease-in-out;
}

/* šípka bubliny */
.timeline ul li > div::before {
  content: "";
  position: absolute;
  bottom: 7px;
  width: 0; height: 0;
  border-style: solid;
}

/* PRAVÁ strana (odd) */
.timeline ul li:nth-child(odd) > div {
  left: calc(50% + 45px) !important;
}
.timeline ul li:nth-child(odd) > div::before {
  left: -15px;
  border-width: 8px 16px 8px 0;
  border-color: transparent rgb(32,96,246) transparent transparent;
}

/* ĽAVÁ strana (even) */
.timeline ul li:nth-child(even) > div {
  left: calc(50% - 45px) !important;
  transform: translateX(-100%) !important;
}
.timeline ul li:nth-child(even) > div::before {
  right: -15px;
  border-width: 8px 0 8px 16px;
  border-color: transparent transparent transparent rgb(32,96,246);
}

/* aktivácia pri .in-view (necháme tvoje správanie) */
.timeline ul li.in-view > div {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
.timeline ul li.in-view::after {
  background: rgba(32,96,246,.9) !important;
}

/* responzívne šírky bublín */
@media (max-width: 1265px) {
  .timeline ul li > div { width: 250px; }
}
@media (max-width: 800px) {
  .timeline ul li { margin-left: 20px; }
  .timeline ul li > div { width: calc(100vw - 105px); }

  /* na mobile všetko doprava (jednoduchšie čítanie) */
  .timeline ul li:nth-child(even) > div {
    left: calc(50% + 45px) !important;
    transform: none !important;
  }
  .timeline ul li:nth-child(even) > div::before {
    left: -15px; right: auto;
    border-width: 8px 16px 8px 0;
    border-color: transparent rgb(32,96,246) transparent transparent;
  }
}
/* vpravo – liché (odd) */
.timeline ul li:nth-child(odd) > div {
  left: calc(50% + 45px) !important;
  transform: none !important;
}

/* vľavo – párne (even) */
.timeline ul li:nth-child(even) > div {
  left: calc(50% - 45px) !important;
  transform: translateX(-100%) !important;
}

/* šípky ostávajú správne */
.timeline ul li:nth-child(odd) > div::before {
  left: -15px;
  border-width: 8px 16px 8px 0;
  border-color: transparent rgb(32,96,246) transparent transparent;
}
.timeline ul li:nth-child(even) > div::before {
  right: -15px;
  border-width: 8px 0 8px 16px;
  border-color: transparent transparent transparent rgb(32,96,246);
}
/* Header štít – nech do menu nič nepretečie */
.header .nav *::before,
.header .nav *::after { content: none !important; }
.header__top { z-index: 10000 !important; }

/* Timeline – čisté rozloženie od stredu */
.timeline ul {
  position: relative;
  margin: 0;
  padding: 50px 0;
}
.timeline ul::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0; bottom: 0;
  width: 6px;
  transform: translateX(-50%);
  background-color: #a3caf0;
}
.timeline ul li {
  width: 100% !important;
  background: none !important;
  position: relative;
  list-style: none;
  margin: 0;
  padding-top: 50px;
}
.timeline ul li::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 30px; height: 30px;
  border-radius: 50%;
  background: #a3caf0 !important;
  z-index: 1;
}

/* Bublina */
.timeline ul li > div {
  position: relative !important;
  bottom: 0;
  width: 400px;
  padding: 15px;
  border-radius: 10px;
  background: rgb(32,96,246);
  color: #fff;
  left: auto !important; right: auto !important; /* zruší staré posuny */
}

/* Vpravo (odd) */
.timeline ul li:nth-child(odd) > div {
  left: calc(50% + 45px) !important;
}
.timeline ul li:nth-child(odd) > div::before {
  content: "";
  position: absolute;
  bottom: 7px; left: -15px;
  border-style: solid;
  border-width: 8px 16px 8px 0;
  border-color: transparent rgb(32,96,246) transparent transparent;
}

/* Vľavo (even) */
.timeline ul li:nth-child(even) > div {
  left: calc(50% - 45px) !important;
  transform: translateX(-100%) !important;
}
.timeline ul li:nth-child(even) > div::before {
  content: "";
  position: absolute;
  bottom: 7px; right: -15px;
  border-style: solid;
  border-width: 8px 0 8px 16px;
  border-color: transparent transparent transparent rgb(32,96,246);
}

/* Responsívne šírky bublín */
@media (max-width: 1265px) {
  .timeline ul li > div { width: 250px; }
}
@media (max-width: 800px) {
  .timeline ul li { margin-left: 20px; }
  .timeline ul li > div { width: calc(100vw - 105px); }
  /* na mobile všetko doprava */
  .timeline ul li:nth-child(even) > div {
    left: calc(50% + 45px) !important;
    transform: none !important;
  }
  .timeline ul li:nth-child(even) > div::before {
    left: -15px; right: auto;
    border-width: 8px 16px 8px 0;
    border-color: transparent rgb(32,96,246) transparent transparent;
  }
}
/* === MOBILE OVERRIDE – musí byť úplne posledný === */
@media (max-width: 800px) {
  /* všetky párne bubliny presuň doprava od osi */
  .timeline ul li:nth-child(even) > div {
    left: calc(50% + 45px) !important;
    transform: none !important;
  }
  .timeline ul li:nth-child(even) > div::before {
    left: -15px !important;
    right: auto !important;
    border-width: 8px 16px 8px 0 !important;
    border-color: transparent rgb(32,96,246) transparent transparent !important;
  }
}
/* Mobil – upravíme stredovú čiaru a bubliny */
@media (max-width: 800px) {
  .timeline ul::before {
    left: 10% !important; /* Posun čiaru doľava, aby bubliny neboli v strede */
  }

  .timeline ul li:nth-child(odd) > div {
    left: calc(50% + 45px) !important; /* pravé bubliny */
    transform: none !important;
  }

  .timeline ul li:nth-child(even) > div {
    left: calc(50% - 45px) !important; /* ľavé bubliny */
    transform: translateX(-100%) !important;
  }
}
/* === Mobilné zobrazenie – opravíme pozíciu bublín === */
@media (max-width: 800px) {
  /* Presuňme čiaru a bubliny tak, aby sa neprekrývali */
  .timeline ul::before {
    left: 20px !important; /* Posunutie stredovej čiary doľava */
    width: 6px !important; /* zachovanie šírky */
  }

  /* Bubliny vľavo (even) - zachovanie naľavo, aby neprekryli stredovú čiaru */
  .timeline ul li:nth-child(even) > div {
    left: 10px !important; /* Zabezpeč, že sa zobrazia na ľavej strane */
    transform: none !important; /* Zruš translate */
  }

  /* Bubliny vpravo (odd) - presunuté na pravú stranu */
  .timeline ul li:nth-child(odd) > div {
    left: calc(100% - 400px) !important; /* Bubliny sa presunú do pravej časti obrazovky */
    transform: none !important;
  }
}
/* === Mobil – presuneme bubliny na lepšie miesto === */
@media (max-width: 800px) {
  /* Ľavá strana bublín (even) – mierne posunuté viac vpravo */
  .timeline ul li:nth-child(even) > div {
    left: calc(10% + 45px) !important; /* Posúvame bubliny ďalej od okraja */
    transform: none !important;
  }

  /* Bubliny vpravo (odd) ostanú pri svojej pozícii */
  .timeline ul li:nth-child(odd) > div {
    left: calc(100% - 400px) !important;
    transform: none !important;
  }
}
/* === Úprava pre mobil – bubliny nebudú pri okraji === */
@media (max-width: 800px) {
  /* Ľavé bubliny (even) – posunuté od okraja a dobre centrované */
  .timeline ul li:nth-child(even) > div {
    left: calc(20% + 45px) !important;  /* Posúvame bubliny vľavo trochu ďalej od okraja */
    transform: none !important;
  }

  /* Pravé bubliny (odd) – sú správne na pravej strane */
  .timeline ul li:nth-child(odd) > div {
    left: calc(100% - 400px) !important;  /* Bubliny sa presúvajú na pravú stranu */
    transform: none !important;
  }
}
/* === Úprava pre mobil – bubliny nebudú pri okraji === */
@media (max-width: 800px) {
  /* Ľavé bubliny (even) – posunuté od okraja a dobre centrované */
  .timeline ul li:nth-child(even) > div {
    left: calc(20% + 45px) !important;  /* Posúvame bubliny vľavo trochu ďalej od okraja */
    transform: none !important;
  }

  /* Pravé bubliny (odd) – sú správne na pravej strane */
  .timeline ul li:nth-child(odd) > div {
    left: calc(100% - 400px) !important;  /* Bubliny sa presúvajú na pravú stranu */
    transform: none !important;
  }
}
/* === Úprava pre mobil – bubliny nebudú pri okraji === */
@media (max-width: 800px) {
  /* Ľavé bubliny (even) – posunuté od okraja a dobre centrované */
  .timeline ul li:nth-child(even) > div {
    left: calc(20% + 45px) !important;  /* Posúvame bubliny vľavo trochu ďalej od okraja */
    transform: none !important;
  }

  /* Pravé bubliny (odd) – sú správne na pravej strane */
  .timeline ul li:nth-child(odd) > div {
    left: calc(100% - 400px) !important;  /* Bubliny sa presúvajú na pravú stranu */
    transform: none !important;
  }
}
/* === Mobilné zobrazenie – bubliny už nie sú pri okraji === */
@media (max-width: 800px) {
  /* Posun čiaru o viac na okraj */
  .timeline ul::before {
    left: 10% !important; /* Posunutie stredovej čiary doľava, aby neprekážala bublinám */
  }

  /* Ľavé bubliny (even) posúvame viac od okraja */
  .timeline ul li:nth-child(even) > div {
    left: calc(10% + 30px) !important; /* Presúvame bubliny od okraja viac do stredu */
    transform: none !important;
  }

  /* Pravé bubliny (odd) – posúvame bubliny na pravú stranu */
  .timeline ul li:nth-child(odd) > div {
    left: calc(90% - 400px) !important; /* Presúvame bubliny viac do stredu */
    transform: none !important;
  }
}

/* ===== MENU FIX (vložiť do /styles/override.css) ===== */
#menu {
  display: none !important;
  transform: translateX(100%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: transform 0.25s ease, opacity 0.25s ease;
  z-index: 12000 !important;
}

/* zobraz menu keď má triedu .open */
#menu.open {
  display: block !important;
  transform: translateX(0) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* na desktop nech zostane skryté (pokud chceš inak, uprav) */
@media (min-width: 769px) {
  #menu { display: none !important; }
}


/* --- FIX 1: menu musí byť nad hlavičkou --- */
#menu { z-index: 20000 !important; }

/* --- FIX 2: viditeľné položky v bočnom menu --- */
#menu .aside__nav .nav__link {
  color: #000 !important;      /* čierny text na bielom pozadí */
  display: block;
  padding: 12px 0;
  font-size: 18px;
}

/* --- FIX 3: podmenu v sidebare nech nie je skryté --- */
#menu .nav__item--sub-menu {
  opacity: 1 !important;
  max-height: none !important;
  position: static !important;
  overflow: visible !important;
}
